clinkx 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/CHANGELOG.md +39 -1
  2. package/README.md +210 -177
  3. package/clinkx-workflows/dist/architecture-comparison/admission.d.ts +5 -0
  4. package/clinkx-workflows/dist/architecture-comparison/admission.js +50 -0
  5. package/clinkx-workflows/dist/architecture-comparison/admission.js.map +1 -0
  6. package/clinkx-workflows/dist/architecture-comparison/contract.d.ts +995 -0
  7. package/clinkx-workflows/dist/architecture-comparison/contract.js +149 -0
  8. package/clinkx-workflows/dist/architecture-comparison/contract.js.map +1 -0
  9. package/clinkx-workflows/dist/architecture-comparison/runtime.d.ts +29 -0
  10. package/clinkx-workflows/dist/architecture-comparison/runtime.js +387 -0
  11. package/clinkx-workflows/dist/architecture-comparison/runtime.js.map +1 -0
  12. package/clinkx-workflows/dist/contained-file.js +1 -1
  13. package/clinkx-workflows/dist/contained-file.js.map +1 -1
  14. package/clinkx-workflows/dist/council-execution-policy.d.ts +4 -2
  15. package/clinkx-workflows/dist/council-execution-policy.js +5 -1
  16. package/clinkx-workflows/dist/council-execution-policy.js.map +1 -1
  17. package/clinkx-workflows/dist/dashboard/activity-contract.d.ts +72 -72
  18. package/clinkx-workflows/dist/dashboard/contracts.d.ts +1564 -122
  19. package/clinkx-workflows/dist/dashboard/contracts.js +4 -0
  20. package/clinkx-workflows/dist/dashboard/contracts.js.map +1 -1
  21. package/clinkx-workflows/dist/dashboard/progress-report-contract.d.ts +12 -12
  22. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.d.ts +8 -8
  23. package/clinkx-workflows/dist/dashboard/scanner.d.ts +3 -0
  24. package/clinkx-workflows/dist/dashboard/scanner.js +27 -0
  25. package/clinkx-workflows/dist/dashboard/scanner.js.map +1 -1
  26. package/clinkx-workflows/dist/dashboard/session-log-contract.d.ts +48 -48
  27. package/clinkx-workflows/dist/dashboard/session-log-redaction.d.ts +2 -0
  28. package/clinkx-workflows/dist/dashboard/session-log-redaction.js +4 -0
  29. package/clinkx-workflows/dist/dashboard/session-log-redaction.js.map +1 -1
  30. package/clinkx-workflows/dist/dashboard/verified-repair-contract.d.ts +191 -0
  31. package/clinkx-workflows/dist/dashboard/verified-repair-contract.js +28 -0
  32. package/clinkx-workflows/dist/dashboard/verified-repair-contract.js.map +1 -0
  33. package/clinkx-workflows/dist/dashboard-ui/assets/index-BdpmbPps.js +115 -0
  34. package/clinkx-workflows/dist/dashboard-ui/assets/style-Im5i1iAs.css +1 -0
  35. package/clinkx-workflows/dist/dashboard-ui/index.html +2 -2
  36. package/clinkx-workflows/dist/engine.d.ts +6 -0
  37. package/clinkx-workflows/dist/engine.js +78 -7
  38. package/clinkx-workflows/dist/engine.js.map +1 -1
  39. package/clinkx-workflows/dist/index.d.ts +3 -0
  40. package/clinkx-workflows/dist/index.js +3 -2
  41. package/clinkx-workflows/dist/index.js.map +1 -1
  42. package/clinkx-workflows/dist/reducers/index.d.ts +9 -1
  43. package/clinkx-workflows/dist/reducers/index.js +22 -0
  44. package/clinkx-workflows/dist/reducers/index.js.map +1 -1
  45. package/clinkx-workflows/dist/state.js +17 -7
  46. package/clinkx-workflows/dist/state.js.map +1 -1
  47. package/clinkx-workflows/dist/validators/architecture-comparison.d.ts +2 -0
  48. package/clinkx-workflows/dist/validators/architecture-comparison.js +12 -0
  49. package/clinkx-workflows/dist/validators/architecture-comparison.js.map +1 -0
  50. package/clinkx-workflows/dist/validators/index.js +4 -0
  51. package/clinkx-workflows/dist/validators/index.js.map +1 -1
  52. package/clinkx-workflows/dist/validators/verified-repair.d.ts +2 -0
  53. package/clinkx-workflows/dist/validators/verified-repair.js +12 -0
  54. package/clinkx-workflows/dist/validators/verified-repair.js.map +1 -0
  55. package/clinkx-workflows/dist/verification-proof.d.ts +254 -0
  56. package/clinkx-workflows/dist/verification-proof.js +195 -0
  57. package/clinkx-workflows/dist/verification-proof.js.map +1 -0
  58. package/clinkx-workflows/dist/verified-repair/admission.d.ts +72 -0
  59. package/clinkx-workflows/dist/verified-repair/admission.js +63 -0
  60. package/clinkx-workflows/dist/verified-repair/admission.js.map +1 -0
  61. package/clinkx-workflows/dist/verified-repair/contract.d.ts +1910 -0
  62. package/clinkx-workflows/dist/verified-repair/contract.js +127 -0
  63. package/clinkx-workflows/dist/verified-repair/contract.js.map +1 -0
  64. package/clinkx-workflows/dist/verified-repair/host.d.ts +32 -0
  65. package/clinkx-workflows/dist/verified-repair/host.js +2 -0
  66. package/clinkx-workflows/dist/verified-repair/host.js.map +1 -0
  67. package/clinkx-workflows/dist/verified-repair/prompts.d.ts +12 -0
  68. package/clinkx-workflows/dist/verified-repair/prompts.js +58 -0
  69. package/clinkx-workflows/dist/verified-repair/prompts.js.map +1 -0
  70. package/clinkx-workflows/dist/verified-repair/result.d.ts +16 -0
  71. package/clinkx-workflows/dist/verified-repair/result.js +102 -0
  72. package/clinkx-workflows/dist/verified-repair/result.js.map +1 -0
  73. package/clinkx-workflows/dist/verified-repair/runtime.d.ts +28 -0
  74. package/clinkx-workflows/dist/verified-repair/runtime.js +186 -0
  75. package/clinkx-workflows/dist/verified-repair/runtime.js.map +1 -0
  76. package/clinkx-workflows/dist/workflow-tools.d.ts +3 -0
  77. package/clinkx-workflows/dist/workflow-tools.js +148 -14
  78. package/clinkx-workflows/dist/workflow-tools.js.map +1 -1
  79. package/clinkx-workflows/dist/workflow-verification-contract.d.ts +539 -0
  80. package/clinkx-workflows/dist/workflow-verification-contract.js +52 -0
  81. package/clinkx-workflows/dist/workflow-verification-contract.js.map +1 -0
  82. package/clinkx-workflows/dist/workflow-verification.d.ts +15 -0
  83. package/clinkx-workflows/dist/workflow-verification.js +218 -0
  84. package/clinkx-workflows/dist/workflow-verification.js.map +1 -0
  85. package/clinkx-workflows/templates/architecture-comparison/candidate.txt +29 -0
  86. package/clinkx-workflows/templates/architecture-comparison/judge.txt +31 -0
  87. package/clinkx-workflows/templates/verified-repair/investigate.txt +20 -0
  88. package/clinkx-workflows/templates/verified-repair/repair.txt +11 -0
  89. package/clinkx-workflows/templates/verified-repair/review.txt +18 -0
  90. package/clinkx-workflows/workflows/architecture-comparison.yaml +133 -0
  91. package/clinkx-workflows/workflows/verified-repair.yaml +104 -0
  92. package/dist/allowed-roots.js +4 -1
  93. package/dist/allowed-roots.js.map +1 -1
  94. package/dist/codex/app-server-client.d.ts +1 -0
  95. package/dist/codex/app-server-client.js +3 -2
  96. package/dist/codex/app-server-client.js.map +1 -1
  97. package/dist/context-builder/diagnostics.d.ts +1 -0
  98. package/dist/context-builder/diagnostics.js +1 -1
  99. package/dist/context-builder/diagnostics.js.map +1 -1
  100. package/dist/context-builder/discovery.d.ts +18 -1
  101. package/dist/context-builder/discovery.js +69 -1
  102. package/dist/context-builder/discovery.js.map +1 -1
  103. package/dist/context-builder/handler.js +8 -1
  104. package/dist/context-builder/handler.js.map +1 -1
  105. package/dist/context-builder/lifecycle-contract.d.ts +24 -24
  106. package/dist/context-builder/refine-handler.js +16 -1
  107. package/dist/context-builder/refine-handler.js.map +1 -1
  108. package/dist/context-builder/secrets.d.ts +11 -0
  109. package/dist/context-builder/secrets.js +81 -1
  110. package/dist/context-builder/secrets.js.map +1 -1
  111. package/dist/context-builder/versions.d.ts +5 -2
  112. package/dist/context-builder/versions.js +5 -2
  113. package/dist/context-builder/versions.js.map +1 -1
  114. package/dist/dashboard-cli.js +10 -3
  115. package/dist/dashboard-cli.js.map +1 -1
  116. package/dist/dashboard-gateway/main.js +8 -3
  117. package/dist/dashboard-gateway/main.js.map +1 -1
  118. package/dist/index.d.ts +2 -0
  119. package/dist/index.js +8 -2
  120. package/dist/index.js.map +1 -1
  121. package/dist/project-verification/contract.d.ts +537 -0
  122. package/dist/project-verification/contract.js +40 -0
  123. package/dist/project-verification/contract.js.map +1 -0
  124. package/dist/project-verification/files.d.ts +23 -0
  125. package/dist/project-verification/files.js +80 -0
  126. package/dist/project-verification/files.js.map +1 -0
  127. package/dist/project-verification/process.d.ts +7 -0
  128. package/dist/project-verification/process.js +115 -0
  129. package/dist/project-verification/process.js.map +1 -0
  130. package/dist/project-verification/runner.d.ts +35 -0
  131. package/dist/project-verification/runner.js +185 -0
  132. package/dist/project-verification/runner.js.map +1 -0
  133. package/dist/project-verification/service.d.ts +37 -0
  134. package/dist/project-verification/service.js +151 -0
  135. package/dist/project-verification/service.js.map +1 -0
  136. package/dist/provider-doctor.d.ts +22 -0
  137. package/dist/provider-doctor.js +22 -0
  138. package/dist/provider-doctor.js.map +1 -0
  139. package/dist/server.js +29 -1
  140. package/dist/server.js.map +1 -1
  141. package/dist/verification-tools.d.ts +90 -0
  142. package/dist/verification-tools.js +120 -0
  143. package/dist/verification-tools.js.map +1 -0
  144. package/dist/verified-repair/files.d.ts +22 -0
  145. package/dist/verified-repair/files.js +114 -0
  146. package/dist/verified-repair/files.js.map +1 -0
  147. package/dist/verified-repair/host.d.ts +14 -0
  148. package/dist/verified-repair/host.js +612 -0
  149. package/dist/verified-repair/host.js.map +1 -0
  150. package/docs/configuration.md +493 -0
  151. package/docs/engineering-recipes.md +415 -0
  152. package/docs/security.md +293 -0
  153. package/docs/verification/README.md +59 -0
  154. package/docs/verification/dashboard-real-disk.md +436 -0
  155. package/docs/verification/project-checks.example.json +14 -0
  156. package/docs/verification/project-checks.md +444 -0
  157. package/docs/verification/workflow-handoff.md +113 -0
  158. package/package.json +13 -6
  159. package/scripts/provider-doctor-core.mjs +364 -0
  160. package/scripts/provider-doctor-probe.mjs +34 -0
  161. package/clinkx-workflows/dist/dashboard-ui/assets/index-JPHQVtn9.js +0 -106
  162. package/clinkx-workflows/dist/dashboard-ui/assets/style-DOMHk-j6.css +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-doctor.js","sourceRoot":"","sources":["../src/provider-doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA2BpE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAyB,EAAE,MAAmB;IACpF,IAAI,MAAM,CAAC,OAAO;QAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;IAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;WACtH,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5C,MAAM,IAAI,kBAAkB,CAAC,0DAA0D,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,GAAG,CAAC,qCAAqC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAiB,CAAC;IAChH,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;QAClD,IAAI,KAAK,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3C,MAAM,IAAI,kBAAkB,CAAC,sKAAsK,CAAC,CAAC;QACvM,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
package/dist/server.js CHANGED
@@ -2,6 +2,9 @@ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
2
  import { CallToolRequestSchema, ListToolsRequestSchema, McpError, ErrorCode, } from "@modelcontextprotocol/sdk/types.js";
3
3
  import { clinkJsonSchema } from "./schema.js";
4
4
  import { handleClink } from "./handler.js";
5
+ import { getVerificationToolDefinitions, VerificationTools, VERIFICATION_TOOL_NAMES } from "./verification-tools.js";
6
+ import { ProjectVerificationService } from "./project-verification/service.js";
7
+ import { NativeVerifiedRepairHost } from "./verified-repair/host.js";
5
8
  import { PROGRESS_REPORT_TOOL_NAMES, getProgressReportToolDefinitions, handleProgressReportToolCall, } from "./progress-report/tools.js";
6
9
  import { handleToolError, CancellationError, ConfigError, InvalidParamsError } from "./errors.js";
7
10
  import { logger } from "./logger.js";
@@ -80,7 +83,8 @@ export function createServer(options = {}) {
80
83
  "as subprocesses and returns their output. Use the clink tool to delegate tasks " +
81
84
  "to any configured CLI. Multiple clink calls can run in parallel for independent tasks. " +
82
85
  "Use context_builder to create persisted context bundles before delegation. " +
83
- "Use run_workflow/resume_workflow/list_workflows for multi-stage workflow orchestration.",
86
+ "Use run_workflow/resume_workflow/list_workflows for multi-stage workflow orchestration. " +
87
+ "Use provider_doctor to check provider readiness and verification_run/verification_inspect for reviewed project checks and retained evidence.",
84
88
  });
85
89
  const activity = options.activity;
86
90
  const sharedStateDir = getStateDir();
@@ -251,7 +255,9 @@ export function createServer(options = {}) {
251
255
  }
252
256
  const overrideRegistry = workflowRegistry ?? standardRegistry;
253
257
  const builtinRostersDir = join(dirname(fileURLToPath(import.meta.url)), "..", "conf", "rosters");
258
+ const verificationService = new ProjectVerificationService();
254
259
  const workflowOptions = {
260
+ verifiedRepairHost: new NativeVerifiedRepairHost(verificationService),
255
261
  ...(overrideRegistry == null
256
262
  ? {}
257
263
  : {
@@ -326,6 +332,17 @@ export function createServer(options = {}) {
326
332
  queueDepth: Math.min(getMaxParallel(), getChildMaxConcurrent()),
327
333
  childMaxConcurrent: getChildMaxConcurrent(),
328
334
  });
335
+ const verificationTools = new VerificationTools(verificationService);
336
+ const close = server.close.bind(server);
337
+ server.close = async () => {
338
+ await verificationTools.shutdown();
339
+ await close();
340
+ };
341
+ server.onclose = () => {
342
+ void verificationTools.shutdown().catch(() => {
343
+ logger.error("verification cleanup failed after transport closed");
344
+ });
345
+ };
329
346
  // tools/list — advertise clink + context_builder + workflow tools
330
347
  server.setRequestHandler(ListToolsRequestSchema, () => withTrackedHandler(activity, async () => {
331
348
  const schema = clinkJsonSchema();
@@ -397,6 +414,7 @@ export function createServer(options = {}) {
397
414
  clinkTool,
398
415
  contextBuilderTool,
399
416
  refineContextRunTool,
417
+ ...getVerificationToolDefinitions(),
400
418
  ...getProgressReportToolDefinitions(),
401
419
  ...agentTools,
402
420
  ...elarisTools,
@@ -407,6 +425,16 @@ export function createServer(options = {}) {
407
425
  // tools/call — unified dispatch for clink + workflow tools
408
426
  server.setRequestHandler(CallToolRequestSchema, (request, extra) => withTrackedHandler(activity, async () => {
409
427
  const { name, arguments: args } = request.params;
428
+ if (VERIFICATION_TOOL_NAMES.has(name)) {
429
+ try {
430
+ return await verificationTools.handle(name, args ?? {}, extra.signal);
431
+ }
432
+ catch (error) {
433
+ if (error instanceof CancellationError)
434
+ throw error;
435
+ return handleToolError(error);
436
+ }
437
+ }
410
438
  const progressToken = extractProgressToken(request.params);
411
439
  // Dispatch async Codex app-server tools. The handler also enforces the
412
440
  // CLINKX_APP_SERVER_ENABLED master switch so explicit disabled calls fail
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
+ import { z } from "zod";
3
+ import { ProjectVerificationService } from "./project-verification/service.js";
4
+ export { latchVerificationAdmissionForShutdown, shutdownVerificationTools } from "./project-verification/service.js";
5
+ export declare const ProviderDoctorInput: z.ZodObject<{
6
+ probes: z.ZodDefault<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
7
+ }, "strict", z.ZodTypeAny, {
8
+ probes: string[];
9
+ }, {
10
+ probes?: string[] | undefined;
11
+ }>;
12
+ export declare const VerificationRunInput: z.ZodObject<{
13
+ project: z.ZodEffects<z.ZodString, string, string>;
14
+ manifest: z.ZodEffects<z.ZodString, string, string>;
15
+ evidence: z.ZodEffects<z.ZodString, string, string>;
16
+ }, "strict", z.ZodTypeAny, {
17
+ project: string;
18
+ manifest: string;
19
+ evidence: string;
20
+ }, {
21
+ project: string;
22
+ manifest: string;
23
+ evidence: string;
24
+ }>;
25
+ export declare const VerificationInspectInput: z.ZodObject<{
26
+ expectations_sha256: z.ZodString;
27
+ project: z.ZodEffects<z.ZodString, string, string>;
28
+ manifest: z.ZodEffects<z.ZodString, string, string>;
29
+ evidence: z.ZodEffects<z.ZodString, string, string>;
30
+ }, "strict", z.ZodTypeAny, {
31
+ project: string;
32
+ manifest: string;
33
+ expectations_sha256: string;
34
+ evidence: string;
35
+ }, {
36
+ project: string;
37
+ manifest: string;
38
+ expectations_sha256: string;
39
+ evidence: string;
40
+ }>;
41
+ export declare const WorkflowVerificationAttachInput: z.ZodObject<{
42
+ expectations_sha256: z.ZodString;
43
+ project: z.ZodEffects<z.ZodString, string, string>;
44
+ manifest: z.ZodEffects<z.ZodString, string, string>;
45
+ evidence: z.ZodEffects<z.ZodString, string, string>;
46
+ } & {
47
+ schema_version: z.ZodLiteral<"clinkx-workflow-verification-v1">;
48
+ run_id: z.ZodString;
49
+ request_id: z.ZodString;
50
+ }, "strict", z.ZodTypeAny, {
51
+ run_id: string;
52
+ project: string;
53
+ manifest: string;
54
+ expectations_sha256: string;
55
+ schema_version: "clinkx-workflow-verification-v1";
56
+ evidence: string;
57
+ request_id: string;
58
+ }, {
59
+ run_id: string;
60
+ project: string;
61
+ manifest: string;
62
+ expectations_sha256: string;
63
+ schema_version: "clinkx-workflow-verification-v1";
64
+ evidence: string;
65
+ request_id: string;
66
+ }>;
67
+ export declare const VERIFICATION_TOOL_NAMES: ReadonlySet<string>;
68
+ export declare function getVerificationToolDefinitions(): {
69
+ name: string;
70
+ description: string;
71
+ inputSchema: import("zod-to-json-schema").JsonSchema7Type & {
72
+ $schema?: string | undefined;
73
+ definitions?: {
74
+ [key: string]: import("zod-to-json-schema").JsonSchema7Type;
75
+ } | undefined;
76
+ };
77
+ annotations: {
78
+ readOnlyHint: boolean;
79
+ destructiveHint: boolean;
80
+ idempotentHint: boolean;
81
+ openWorldHint: boolean;
82
+ };
83
+ }[];
84
+ export declare class VerificationTools {
85
+ private readonly service;
86
+ constructor(service?: ProjectVerificationService);
87
+ latch(): void;
88
+ shutdown(): Promise<void>;
89
+ handle(name: string, args: unknown, signal?: AbortSignal): Promise<CallToolResult>;
90
+ }
@@ -0,0 +1,120 @@
1
+ import { isAbsolute } from "node:path";
2
+ import { z } from "zod";
3
+ import { zodToJsonSchema } from "zod-to-json-schema";
4
+ import { CancellationError, ExecutionError, InvalidParamsError } from "./errors.js";
5
+ import { runProviderDoctor } from "./provider-doctor.js";
6
+ import { RelativeFile } from "./project-verification/contract.js";
7
+ import { ProjectVerificationService } from "./project-verification/service.js";
8
+ import { WORKFLOW_VERIFICATION_VERSION } from "../clinkx-workflows/dist/workflow-verification.js";
9
+ export { latchVerificationAdmissionForShutdown, shutdownVerificationTools } from "./project-verification/service.js";
10
+ const AbsolutePath = z.string().min(1).max(4096)
11
+ .refine((value) => isAbsolute(value) && !value.includes("\0"), "must be an absolute path without NUL");
12
+ const ProjectInput = {
13
+ project: AbsolutePath.describe("Existing project directory within a configured source allowed root."),
14
+ manifest: RelativeFile.describe("Reviewed JSON manifest relative to the project; commands run with your account permissions."),
15
+ evidence: AbsolutePath.describe("Evidence directory within an allowed I/O root, outside the project and ClinkX installation. Run requires a new directory with an existing parent."),
16
+ };
17
+ export const ProviderDoctorInput = z.object({
18
+ probes: z.array(z.string().min(1).max(128)).max(8)
19
+ .refine((values) => new Set(values).size === values.length, "probe names must be unique")
20
+ .default([]).describe("Optional adapter names for real authentication calls, which spend provider tokens. Omit for configuration and executable checks only."),
21
+ }).strict();
22
+ export const VerificationRunInput = z.object(ProjectInput).strict();
23
+ export const VerificationInspectInput = z.object({
24
+ ...ProjectInput,
25
+ expectations_sha256: z.string().regex(/^[a-f0-9]{64}$/)
26
+ .describe("Original digest from verification_run, retained separately by the evidence owner."),
27
+ }).strict();
28
+ export const WorkflowVerificationAttachInput = VerificationInspectInput.extend({
29
+ schema_version: z.literal(WORKFLOW_VERIFICATION_VERSION),
30
+ run_id: z.string().regex(/^[A-Za-z0-9_-]{1,64}$/),
31
+ request_id: z.string().uuid().describe("Fresh UUID for this inspection; identical replay preserves the original record, conflicting reuse fails."),
32
+ }).strict();
33
+ export const VERIFICATION_TOOL_NAMES = new Set([
34
+ "provider_doctor", "verification_run", "verification_inspect", "workflow_verification_attach",
35
+ ]);
36
+ export function getVerificationToolDefinitions() {
37
+ return [
38
+ {
39
+ name: "provider_doctor",
40
+ description: "Check configured ClinkX provider configuration, executables, and workflow startup readiness. Authentication is not tested unless probes explicitly names adapters; each probe makes a real paid-provider call. Returns sanitized adapter results and a ready/blocked verdict. Does not install or authenticate providers.",
41
+ inputSchema: zodToJsonSchema(ProviderDoctorInput, { $refStrategy: "none" }),
42
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true },
43
+ },
44
+ {
45
+ name: "verification_run",
46
+ description: "Run a reviewed project-owned verification manifest on macOS/Linux and retain private, bounded evidence. Commands execute with your account permissions, without an implicit shell or sandbox. Requires an authorized source project and a new evidence directory in an authorized I/O root outside the project/installation. Returns coverage and expectations_sha256; retain that digest separately for verification_inspect. A complete result establishes only the declared checks, not acceptance or publication authority. One doctor/run/inspect operation per server at a time; busy calls fail rather than queue.",
47
+ inputSchema: zodToJsonSchema(VerificationRunInput, { $refStrategy: "none" }),
48
+ annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false, openWorldHint: true },
49
+ },
50
+ {
51
+ name: "verification_inspect",
52
+ description: "Inspect retained project-check evidence using the original owner-held expectations_sha256, without executing project commands. Recompute coverage from raw records and digests; cached summaries cannot establish success. Requires authorized project/evidence roots. Declared input or selected verifier identity changes make prior evidence inapplicable. Failed, missing, or tampered evidence is an error result.",
53
+ inputSchema: zodToJsonSchema(VerificationInspectInput, { $refStrategy: "none" }),
54
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
55
+ },
56
+ {
57
+ name: "workflow_verification_attach",
58
+ description: "Re-inspect retained project verification evidence using the ORIGINAL independently retained expectations_sha256 and append a versioned inspection to an existing workflow run. Uses the same authorized project/evidence roots and shared doctor/run/inspect operation slot. Retains pin history, failed/missing/inapplicable checks and run snapshot identity. Workflow/dashboard views show historical inspected-at coverage, never current verification or owner acceptance. No captures are exposed. History is bounded to 16 inspections per run.",
59
+ inputSchema: zodToJsonSchema(WorkflowVerificationAttachInput, { $refStrategy: "none" }),
60
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false },
61
+ },
62
+ ];
63
+ }
64
+ function parse(schema, args) {
65
+ const result = schema.safeParse(args ?? {});
66
+ if (!result.success)
67
+ throw new InvalidParamsError("Invalid verification tool arguments; use the advertised tool schema.");
68
+ return result.data;
69
+ }
70
+ const MAX_RESPONSE_CHARS = 200_000;
71
+ export class VerificationTools {
72
+ service;
73
+ constructor(service = new ProjectVerificationService()) {
74
+ this.service = service;
75
+ }
76
+ latch() { this.service.latch(); }
77
+ shutdown() { return this.service.shutdown(); }
78
+ async handle(name, args, signal) {
79
+ this.service.assertAdmission(signal);
80
+ if (!VERIFICATION_TOOL_NAMES.has(name))
81
+ throw new InvalidParamsError("Unknown verification tool.");
82
+ const attachment = name === "workflow_verification_attach" ? parse(WorkflowVerificationAttachInput, args) : undefined;
83
+ const input = name === "provider_doctor" ? parse(ProviderDoctorInput, args)
84
+ : name === "verification_run" ? parse(VerificationRunInput, args)
85
+ : attachment ?? parse(VerificationInspectInput, args);
86
+ return this.service.operation(async (native) => {
87
+ try {
88
+ let payload;
89
+ if ("probes" in input) {
90
+ payload = await runProviderDoctor(input.probes, native.signal);
91
+ }
92
+ else if (attachment !== undefined) {
93
+ payload = await native.attach(input, { runId: attachment.run_id,
94
+ requestId: attachment.request_id, pin: attachment.expectations_sha256 });
95
+ }
96
+ else {
97
+ payload = "expectations_sha256" in input ? native.inspect(input, input.expectations_sha256)
98
+ : await native.run(input);
99
+ }
100
+ if (native.signal.aborted)
101
+ throw new CancellationError();
102
+ const isError = "verdict" in payload ? payload.verdict !== "ready" : payload.status !== "complete";
103
+ const text = JSON.stringify(payload);
104
+ if (text.length > MAX_RESPONSE_CHARS)
105
+ throw new ExecutionError("Verification response exceeds 200,000 characters; reduce the configured adapter inventory or required check scope.");
106
+ return { content: [{ type: "text", text }], structuredContent: { ...payload }, isError };
107
+ }
108
+ catch (error) {
109
+ if (native.signal.aborted || error instanceof CancellationError)
110
+ throw new CancellationError();
111
+ if (error instanceof InvalidParamsError || error instanceof ExecutionError)
112
+ throw error;
113
+ if (name === "workflow_verification_attach")
114
+ throw new ExecutionError("Workflow verification attachment failed: preserve the original pin and history; check the retained run snapshots/start identity, a fresh request_id for changed inspection facts, history bounds, and concurrent attachment writers. Private captures were not exposed.");
115
+ throw new ExecutionError("Verification control failed: check the reviewed manifest, available commands, POSIX prerequisites, and fresh evidence directory. Raw captures remain private.");
116
+ }
117
+ }, signal);
118
+ }
119
+ }
120
+ //# sourceMappingURL=verification-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-tools.js","sourceRoot":"","sources":["../src/verification-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { renameSync } from "node:fs";
2
+ export interface CapturedFile {
3
+ path: string;
4
+ bytes: Buffer;
5
+ sha256: string;
6
+ mode: number;
7
+ }
8
+ export declare function authorizedDirectory(path: string, source: boolean): string;
9
+ export declare function assertSeparated(project: string, evidence: string, copyParent: string): void;
10
+ export declare function captureFiles(project: string, paths: readonly string[]): CapturedFile[];
11
+ export declare function text(bytes: Buffer): string;
12
+ export declare function assertCurrent(project: string, expected: ReadonlyMap<string, string>, modes?: ReadonlyMap<string, number>): void;
13
+ /** Read-only reconciliation of an admitted batch. It never authorizes replay. */
14
+ export declare function reconcileAppliedPaths<T extends {
15
+ path: string;
16
+ original_sha256: string;
17
+ replacement_sha256: string;
18
+ }>(project: string, admitted: readonly T[]): Array<T & {
19
+ status: "original" | "replacement" | "unknown";
20
+ }>;
21
+ export declare function writeReplacement(project: string, path: string, bytes: Buffer, mode: number, expected: string, signal?: AbortSignal, rename?: typeof renameSync): void;
22
+ export declare function materialize(root: string, files: readonly CapturedFile[], replacements: ReadonlyMap<string, Buffer>): void;
@@ -0,0 +1,114 @@
1
+ import { constants, closeSync, fchmodSync, fstatSync, fsyncSync, lstatSync, mkdirSync, openSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
2
+ import { dirname, isAbsolute, join, relative, resolve } from "node:path";
3
+ import { randomUUID } from "node:crypto";
4
+ import { isPathWithinAllowedRoots, parseAllowedRootsEnv } from "../allowed-roots.js";
5
+ import { inside, PACKAGE_ROOT, readBounded, safePath, sha } from "../project-verification/files.js";
6
+ export function authorizedDirectory(path, source) {
7
+ if (!isAbsolute(path))
8
+ throw new Error("repair directories must be absolute");
9
+ const target = resolve(path);
10
+ safePath("/", relative("/", target), true);
11
+ const roots = parseAllowedRootsEnv({ includeArtifactOnly: !source, rejectBroadRoots: true });
12
+ if (!isPathWithinAllowedRoots(target, roots))
13
+ throw new Error(source
14
+ ? "repair project and copy parent require an authorized source root"
15
+ : "repair evidence requires an authorized I/O root");
16
+ return target;
17
+ }
18
+ export function assertSeparated(project, evidence, copyParent) {
19
+ const overlaps = (a, b) => inside(a, b) || inside(b, a);
20
+ if (overlaps(project, evidence) || overlaps(project, copyParent) || overlaps(evidence, copyParent)
21
+ || overlaps(PACKAGE_ROOT, evidence) || overlaps(PACKAGE_ROOT, copyParent)) {
22
+ throw new Error("repair project, evidence and copy parent must be separate; evidence/copy must be outside the installation");
23
+ }
24
+ }
25
+ export function captureFiles(project, paths) {
26
+ let total = 0;
27
+ return paths.map((path) => {
28
+ const bytes = readBounded(project, path);
29
+ total += bytes.length;
30
+ if (total > 64 * 1024 * 1024)
31
+ throw new Error("repair captured inputs exceed 64 MiB");
32
+ const mode = lstatSync(safePath(project, path)).mode & 0o7777;
33
+ return { path, bytes, sha256: sha(bytes), mode };
34
+ });
35
+ }
36
+ export function text(bytes) {
37
+ const value = new TextDecoder("utf-8", { fatal: true }).decode(bytes);
38
+ if (value.includes("\0") || !Buffer.from(value, "utf8").equals(bytes))
39
+ throw new Error("repair writable files must be regular UTF-8 text");
40
+ return value;
41
+ }
42
+ export function assertCurrent(project, expected, modes) {
43
+ for (const [path, digest] of expected) {
44
+ if (sha(readBounded(project, path)) !== digest)
45
+ throw new Error(`declared input drift: ${path}`);
46
+ if (modes?.has(path) && (lstatSync(safePath(project, path)).mode & 0o7777) !== modes.get(path))
47
+ throw new Error(`declared input mode drift: ${path}`);
48
+ }
49
+ }
50
+ /** Read-only reconciliation of an admitted batch. It never authorizes replay. */
51
+ export function reconcileAppliedPaths(project, admitted) {
52
+ return admitted.map((entry) => {
53
+ let actual;
54
+ try {
55
+ actual = sha(readBounded(project, entry.path, 64 * 1024));
56
+ }
57
+ catch { /* Missing, oversized or unsafe current bytes stay unknown. */ }
58
+ return { ...entry, status: actual === entry.replacement_sha256 ? "replacement" : actual === entry.original_sha256 ? "original" : "unknown" };
59
+ });
60
+ }
61
+ export function writeReplacement(project, path, bytes, mode, expected, signal, rename = renameSync) {
62
+ signal?.throwIfAborted();
63
+ const target = safePath(project, path);
64
+ if (sha(readBounded(project, path)) !== expected)
65
+ throw new Error(`declared input drift before rename: ${path}`);
66
+ if ((lstatSync(target).mode & 0o7777) !== mode)
67
+ throw new Error(`declared input mode drift before rename: ${path}`);
68
+ const temporary = join(dirname(target), `.clinkx-repair-${randomUUID()}.tmp`);
69
+ const fd = openSync(temporary, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL | constants.O_NOFOLLOW, mode);
70
+ let renamed = false;
71
+ try {
72
+ writeFileSync(fd, bytes);
73
+ fchmodSync(fd, mode);
74
+ fsyncSync(fd);
75
+ if (!fstatSync(fd).isFile())
76
+ throw new Error("repair temporary is not regular");
77
+ signal?.throwIfAborted();
78
+ if (sha(readBounded(project, path)) !== expected)
79
+ throw new Error(`declared input drift before rename: ${path}`);
80
+ if ((lstatSync(target).mode & 0o7777) !== mode)
81
+ throw new Error(`declared input mode drift before rename: ${path}`);
82
+ rename(temporary, target);
83
+ renamed = true;
84
+ }
85
+ finally {
86
+ closeSync(fd);
87
+ if (!renamed) {
88
+ try {
89
+ unlinkSync(temporary);
90
+ }
91
+ catch (error) {
92
+ if (error.code !== "ENOENT")
93
+ throw error;
94
+ }
95
+ }
96
+ }
97
+ }
98
+ export function materialize(root, files, replacements) {
99
+ for (const file of files) {
100
+ const target = resolve(root, file.path);
101
+ if (!inside(root, target))
102
+ throw new Error("copy path escapes private root");
103
+ mkdirSync(dirname(target), { recursive: true, mode: 0o700 });
104
+ const fd = openSync(target, "wx", file.mode);
105
+ try {
106
+ writeFileSync(fd, replacements.get(file.path) ?? file.bytes);
107
+ fchmodSync(fd, file.mode);
108
+ }
109
+ finally {
110
+ closeSync(fd);
111
+ }
112
+ }
113
+ }
114
+ //# sourceMappingURL=files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/verified-repair/files.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { renameSync } from "node:fs";
2
+ import type { PreparedVerifiedRepair, PrepareVerifiedRepairOptions, VerifiedRepairHost } from "../../clinkx-workflows/dist/verified-repair/host.js";
3
+ import { type RepairRecord } from "../../clinkx-workflows/dist/verified-repair/contract.js";
4
+ import { ProjectVerificationService } from "../project-verification/service.js";
5
+ export declare class NativeVerifiedRepairHost implements VerifiedRepairHost {
6
+ private readonly service;
7
+ private readonly rename;
8
+ constructor(service: ProjectVerificationService, rename?: typeof renameSync);
9
+ prepare(options: PrepareVerifiedRepairOptions): Promise<PreparedVerifiedRepair>;
10
+ readInterruptedRun(options: {
11
+ runId: string;
12
+ runDir: string;
13
+ }): Promise<RepairRecord | undefined>;
14
+ }