mirror of
https://github.com/morluto/rea
synced 2026-10-25 22:08:11 -04:00
c2858d2aa0
Add opt-in Go build summaries and selected retained metadata pages while preserving complete Evidence and source identity. Validated with 258 focused tests, full static/docs checks, real CLI/SDK workflows and native metadata oracles. CI baseline remediation assertions reproduce on unmodified main; fail-fast cancels two other shards. Owner authorized bypass with those coverage limits recorded in PR #5524. Fixes #5499.
35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
import type { EvidenceMcpServer } from "./EvidenceMcpServer.js";
|
|
import type { EvidenceLookup } from "../application/EvidenceInputResolver.js";
|
|
import type { GoBinaryService } from "../application/go/GoBinaryService.js";
|
|
import type { EvidenceWriter } from "../application/investigation/InvestigationRecordPort.js";
|
|
import { toolContract } from "../contracts/toolContracts.js";
|
|
import type { Logger } from "pino";
|
|
import type { WithAdmittedAnalysis } from "./analysisAdmission.js";
|
|
import { createEvidenceToolHandler } from "./contractToolHandler.js";
|
|
import { toolRegistrationOptions } from "./toolRegistrationOptions.js";
|
|
|
|
/** Bind the exact Go contract to its shared workflow and owning session Evidence ledger. */
|
|
export const registerGoTools = (
|
|
server: EvidenceMcpServer,
|
|
service: GoBinaryService,
|
|
logger: Logger,
|
|
recordEvidence?: EvidenceWriter["recordEvidence"],
|
|
withAdmittedAnalysis?: WithAdmittedAnalysis,
|
|
evidenceById?: EvidenceLookup,
|
|
): void => {
|
|
const contract = toolContract("inspect_go_binary");
|
|
const handler = createEvidenceToolHandler(
|
|
server,
|
|
(input, options) =>
|
|
service.inspect(input, options, { recordEvidence, evidenceById }),
|
|
logger,
|
|
recordEvidence,
|
|
withAdmittedAnalysis,
|
|
);
|
|
server.registerTool(
|
|
contract.name,
|
|
toolRegistrationOptions(contract),
|
|
handler(contract),
|
|
);
|
|
};
|