@ccdd/project 3.3.1 → 4.1.0

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 (156) hide show
  1. package/README.md +9 -12
  2. package/dist/monitor-ui/assets/GraphView-6yzqBOLv.js +27 -0
  3. package/dist/monitor-ui/assets/ValidationView-BMqI2XQ5.css +1 -0
  4. package/dist/monitor-ui/assets/ValidationView-BwHWjMUI.js +1 -0
  5. package/dist/monitor-ui/assets/{elk-api-D5d3gWoP.js → elk-api-BwZQovT5.js} +1 -1
  6. package/dist/monitor-ui/assets/{elk.bundled-0eaKiuBP.js → elk.bundled-CQowIhI8.js} +1 -1
  7. package/dist/monitor-ui/assets/index-CoJ9_gC3.js +7 -0
  8. package/dist/monitor-ui/assets/{index-DDwx11D7.css → index-D0yfhUlt.css} +1 -1
  9. package/dist/monitor-ui/index.html +2 -2
  10. package/dist/scripts/prepare-demo.js +25 -44
  11. package/dist/scripts/prepare-demo.js.map +1 -1
  12. package/dist/src/artifact-scope.d.ts +6 -0
  13. package/dist/src/artifact-scope.js +27 -0
  14. package/dist/src/artifact-scope.js.map +1 -0
  15. package/dist/src/artifacts/index.d.ts +7 -155
  16. package/dist/src/artifacts/index.js +0 -354
  17. package/dist/src/artifacts/index.js.map +1 -1
  18. package/dist/src/artifacts/instruction.d.ts +6 -9
  19. package/dist/src/artifacts/instruction.js +28 -36
  20. package/dist/src/artifacts/instruction.js.map +1 -1
  21. package/dist/src/artifacts/mcp-server.js +8 -9
  22. package/dist/src/artifacts/mcp-server.js.map +1 -1
  23. package/dist/src/artifacts/scope.d.ts +12 -0
  24. package/dist/src/artifacts/scope.js +34 -0
  25. package/dist/src/artifacts/scope.js.map +1 -0
  26. package/dist/src/artifacts/tool-check.d.ts +2 -6
  27. package/dist/src/artifacts/tool-check.js +16 -20
  28. package/dist/src/artifacts/tool-check.js.map +1 -1
  29. package/dist/src/artifacts/types.d.ts +3 -37
  30. package/dist/src/artifacts/types.js +5 -89
  31. package/dist/src/artifacts/types.js.map +1 -1
  32. package/dist/src/broker/config.d.ts +5 -6
  33. package/dist/src/broker/config.js +183 -130
  34. package/dist/src/broker/config.js.map +1 -1
  35. package/dist/src/broker/graph.d.ts +14 -21
  36. package/dist/src/broker/graph.js +68 -70
  37. package/dist/src/broker/graph.js.map +1 -1
  38. package/dist/src/broker/index.d.ts +6 -28
  39. package/dist/src/broker/index.js +84 -234
  40. package/dist/src/broker/index.js.map +1 -1
  41. package/dist/src/cli.d.ts +1 -21
  42. package/dist/src/cli.js +2 -329
  43. package/dist/src/cli.js.map +1 -1
  44. package/dist/src/contracts.d.ts +13 -15
  45. package/dist/src/definitions.d.ts +33 -23
  46. package/dist/src/diagnostics-cli.d.ts +9 -0
  47. package/dist/src/diagnostics-cli.js +94 -0
  48. package/dist/src/diagnostics-cli.js.map +1 -0
  49. package/dist/src/doctor/index.d.ts +2 -4
  50. package/dist/src/doctor/index.js +17 -63
  51. package/dist/src/doctor/index.js.map +1 -1
  52. package/dist/src/executors/auth.d.ts +1 -1
  53. package/dist/src/executors/auth.js +2 -2
  54. package/dist/src/executors/auth.js.map +1 -1
  55. package/dist/src/executors/human-preparation.js +2 -10
  56. package/dist/src/executors/human-preparation.js.map +1 -1
  57. package/dist/src/executors/index.js +30 -29
  58. package/dist/src/executors/index.js.map +1 -1
  59. package/dist/src/executors/pi.js +36 -4
  60. package/dist/src/executors/pi.js.map +1 -1
  61. package/dist/src/executors/process.js +19 -11
  62. package/dist/src/executors/process.js.map +1 -1
  63. package/dist/src/executors/telemetry.d.ts +4 -0
  64. package/dist/src/executors/telemetry.js +24 -0
  65. package/dist/src/executors/telemetry.js.map +1 -0
  66. package/dist/src/monitor/actions.js +3 -3
  67. package/dist/src/monitor/actions.js.map +1 -1
  68. package/dist/src/monitor/server.js +12 -95
  69. package/dist/src/monitor/server.js.map +1 -1
  70. package/dist/src/monitor/store.js +6 -42
  71. package/dist/src/monitor/store.js.map +1 -1
  72. package/dist/src/monitor/types.d.ts +3 -13
  73. package/dist/src/monitor/ui/critic-presentation.js +1 -1
  74. package/dist/src/monitor/ui/critic-presentation.js.map +1 -1
  75. package/dist/src/monitor/ui/graph-layout.d.ts +0 -1
  76. package/dist/src/monitor/ui/graph-layout.js +1 -23
  77. package/dist/src/monitor/ui/graph-layout.js.map +1 -1
  78. package/dist/src/monitor/ui/tool-input.d.ts +1 -1
  79. package/dist/src/monitor/ui/tool-input.js +2 -3
  80. package/dist/src/monitor/ui/tool-input.js.map +1 -1
  81. package/dist/src/project/cli.js +18 -30
  82. package/dist/src/project/cli.js.map +1 -1
  83. package/dist/src/project/graph.js +2 -2
  84. package/dist/src/project/graph.js.map +1 -1
  85. package/dist/src/project/identity.js +83 -56
  86. package/dist/src/project/identity.js.map +1 -1
  87. package/dist/src/project/index.d.ts +0 -3
  88. package/dist/src/project/index.js +2 -6
  89. package/dist/src/project/index.js.map +1 -1
  90. package/dist/src/project/query.d.ts +2 -1
  91. package/dist/src/project/query.js +49 -74
  92. package/dist/src/project/query.js.map +1 -1
  93. package/dist/src/project/store.js +3 -3
  94. package/dist/src/project/store.js.map +1 -1
  95. package/dist/src/project/types.d.ts +4 -4
  96. package/dist/src/requester/index.d.ts +2 -9
  97. package/dist/src/requester/index.js +17 -96
  98. package/dist/src/requester/index.js.map +1 -1
  99. package/dist/src/sdk.d.ts +3 -8
  100. package/dist/src/sdk.js +2 -3
  101. package/dist/src/sdk.js.map +1 -1
  102. package/dist/src/tools/contracts.d.ts +44 -80
  103. package/dist/src/tools/diagnostics.js +2 -2
  104. package/dist/src/tools/diagnostics.js.map +1 -1
  105. package/dist/src/tools/environment.d.ts +1 -0
  106. package/dist/src/tools/environment.js +7 -11
  107. package/dist/src/tools/environment.js.map +1 -1
  108. package/dist/src/tools/manifest.d.ts +0 -1
  109. package/dist/src/tools/manifest.js +1 -25
  110. package/dist/src/tools/manifest.js.map +1 -1
  111. package/dist/src/tools/runner.d.ts +19 -14
  112. package/dist/src/tools/runner.js +163 -118
  113. package/dist/src/tools/runner.js.map +1 -1
  114. package/dist/src/tools/schema.js +1 -1
  115. package/dist/src/tools/schema.js.map +1 -1
  116. package/dist/src/workspaces/index.d.ts +5 -12
  117. package/dist/src/workspaces/index.js +33 -217
  118. package/dist/src/workspaces/index.js.map +1 -1
  119. package/package.json +38 -10
  120. package/dist/monitor-ui/assets/GraphView-BSZlEAs3.js +0 -27
  121. package/dist/monitor-ui/assets/ValidationView-DaEF78J-.js +0 -1
  122. package/dist/monitor-ui/assets/ValidationView-p5r8lX18.css +0 -1
  123. package/dist/monitor-ui/assets/index-BQlWbkpH.js +0 -8
  124. package/dist/src/artifacts/data.d.ts +0 -5
  125. package/dist/src/artifacts/data.js +0 -100
  126. package/dist/src/artifacts/data.js.map +0 -1
  127. package/dist/src/artifacts/groups.d.ts +0 -13
  128. package/dist/src/artifacts/groups.js +0 -93
  129. package/dist/src/artifacts/groups.js.map +0 -1
  130. package/dist/src/artifacts/human.d.ts +0 -38
  131. package/dist/src/artifacts/human.js +0 -156
  132. package/dist/src/artifacts/human.js.map +0 -1
  133. package/dist/src/artifacts/sources.d.ts +0 -11
  134. package/dist/src/artifacts/sources.js +0 -106
  135. package/dist/src/artifacts/sources.js.map +0 -1
  136. package/dist/src/review/cli.d.ts +0 -8
  137. package/dist/src/review/cli.js +0 -136
  138. package/dist/src/review/cli.js.map +0 -1
  139. package/dist/src/review/client.d.ts +0 -30
  140. package/dist/src/review/client.js +0 -193
  141. package/dist/src/review/client.js.map +0 -1
  142. package/dist/src/review/server.d.ts +0 -11
  143. package/dist/src/review/server.js +0 -249
  144. package/dist/src/review/server.js.map +0 -1
  145. package/dist/src/review/types.d.ts +0 -10
  146. package/dist/src/review/types.js +0 -17
  147. package/dist/src/review/types.js.map +0 -1
  148. package/dist/src/tools/host.d.ts +0 -7
  149. package/dist/src/tools/host.js +0 -98
  150. package/dist/src/tools/host.js.map +0 -1
  151. package/dist/src/tools/runtime-host.d.ts +0 -1
  152. package/dist/src/tools/runtime-host.js +0 -212
  153. package/dist/src/tools/runtime-host.js.map +0 -1
  154. package/dist/src/workspaces/transfer.d.ts +0 -52
  155. package/dist/src/workspaces/transfer.js +0 -372
  156. package/dist/src/workspaces/transfer.js.map +0 -1
package/dist/src/sdk.d.ts CHANGED
@@ -1,15 +1,10 @@
1
- import type { ArtifactSourceDefinition, DataToolContext, Config, ConfigFactory, InferSchema, JsonSchema, ToolDefinition, ToolMetadata } from './tools/contracts.js';
1
+ import type { InferSchema, JsonSchema, ToolDefinition, ToolMetadata } from './tools/contracts.js';
2
2
  export type * from './tools/contracts.js';
3
3
  export type * from './definitions.js';
4
- export declare function defineConfig<T extends Config | ConfigFactory>(config: T): T;
4
+ export { resolveScopePath } from './artifact-scope.js';
5
+ /** An optional script-authoring helper, not a configuration registration API. */
5
6
  export declare function defineTool<const S extends JsonSchema>(tool: Omit<ToolDefinition<InferSchema<S>>, 'metadata'> & {
6
7
  metadata: Omit<ToolMetadata, 'inputSchema'> & {
7
8
  inputSchema: S;
8
9
  };
9
10
  }): ToolDefinition<InferSchema<S>>;
10
- export declare function defineDataTool<const S extends JsonSchema>(tool: Omit<ToolDefinition<InferSchema<S>, DataToolContext>, 'metadata'> & {
11
- metadata: Omit<ToolMetadata, 'inputSchema' | 'artifactKind'> & {
12
- inputSchema: S;
13
- };
14
- }): ToolDefinition<InferSchema<S>, DataToolContext>;
15
- export declare function defineArtifactSource(source: ArtifactSourceDefinition): ArtifactSourceDefinition;
package/dist/src/sdk.js CHANGED
@@ -1,5 +1,4 @@
1
- export function defineConfig(config) { return config; }
1
+ export { resolveScopePath } from './artifact-scope.js';
2
+ /** An optional script-authoring helper, not a configuration registration API. */
2
3
  export function defineTool(tool) { return tool; }
3
- export function defineDataTool(tool) { return { ...tool, metadata: { ...tool.metadata, artifactKind: 'data' } }; }
4
- export function defineArtifactSource(source) { return source; }
5
4
  //# sourceMappingURL=sdk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,YAAY,CAAmC,MAAS,IAAO,OAAO,MAAM,CAAC,CAAC,CAAC;AAC/F,MAAM,UAAU,UAAU,CAA6B,IAA6H,IAAoC,OAAO,IAAI,CAAC,CAAC,CAAC;AACtO,MAAM,UAAU,cAAc,CAA6B,IAA+J,IAAqD,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1V,MAAM,UAAU,oBAAoB,CAAC,MAAgC,IAA8B,OAAO,MAAM,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,iFAAiF;AACjF,MAAM,UAAU,UAAU,CAA6B,IAA6H,IAAoC,OAAO,IAAI,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ArtifactEntryDefinition, CriticDefinition } from '../definitions.js';
1
+ import type { ArtifactDefinition, ArtifactManifest, ArtifactScope } from '../definitions.js';
2
2
  export type JsonValue = null | boolean | number | string | JsonValue[] | {
3
3
  [key: string]: JsonValue;
4
4
  };
@@ -9,21 +9,22 @@ export interface ToolMetadata {
9
9
  inputSchema: JsonSchema;
10
10
  resultKinds: ToolResultKind[];
11
11
  observation: 'content' | 'none';
12
- artifactKind?: 'file' | 'directory' | 'any' | 'data';
12
+ artifactKind?: 'file' | 'directory' | 'any';
13
13
  timeoutMs?: number;
14
- /** Project-relative runtime files or directories whose bytes affect this tool. */
14
+ /** Workspace-relative runtime material whose content affects this tool. */
15
15
  executionPaths?: string[];
16
16
  }
17
- export interface ToolContext {
18
- artifactId: string;
19
- artifactPath: string;
20
- artifactDirectory: boolean;
21
- outputDir: string;
22
- tmpDir: string;
23
- signal: AbortSignal;
24
- resolvePath(path?: string): Promise<string>;
25
- /** Resolve only paths explicitly registered in metadata.executionPaths. */
26
- resolveExecutionPath?(path: string): Promise<string>;
17
+ export interface ScriptDefinition {
18
+ command: string;
19
+ args: string[];
20
+ }
21
+ export interface ScriptToolDefinition {
22
+ metadata: ToolMetadata;
23
+ script: ScriptDefinition;
24
+ }
25
+ export interface ArtifactViews {
26
+ agentTools?: Record<string, ScriptToolDefinition>;
27
+ humanTools?: Record<string, ScriptToolDefinition>;
27
28
  }
28
29
  export type ToolContent = {
29
30
  type: 'text';
@@ -43,59 +44,40 @@ export type ToolContent = {
43
44
  type: 'launch';
44
45
  launched: true;
45
46
  };
46
- export interface ToolResult {
47
+ export type ToolResult = {
47
48
  content: ToolContent[];
48
49
  observation?: {
49
50
  kind: 'content' | 'empty';
50
51
  detail?: string;
51
52
  };
52
- }
53
- /** Data tools receive only their bound, captured Artifact data. */
54
- export interface DataToolContext {
53
+ isError?: never;
54
+ } | {
55
+ isError: true;
56
+ content: [{
57
+ type: 'text';
58
+ text: string;
59
+ }];
60
+ observation?: never;
61
+ };
62
+ export interface ScriptToolContext {
55
63
  artifactId: string;
64
+ artifactPath: string;
56
65
  outputDir: string;
57
66
  tmpDir: string;
58
- signal: AbortSignal;
59
- readData(): JsonValue;
60
- resolveExecutionPath(path: string): Promise<string>;
67
+ /** Canonical paths and logical connections for this review's allowed scope. */
68
+ scope: ArtifactScope;
61
69
  }
62
- export interface ArtifactIdentityStrategy {
63
- kind: 'canonical-data' | 'immutable-revision' | 'custom';
64
- namespace: string;
65
- version: string;
66
- }
67
- export interface ArtifactSourceMetadata {
68
- identity: ArtifactIdentityStrategy;
69
- /** Queries may invoke only sources explicitly declaring read-only preparation. */
70
- preparation: 'read-only' | 'explicit';
71
- timeoutMs?: number;
70
+ export interface ScriptToolRequest {
71
+ version: 1;
72
+ context: ScriptToolContext;
73
+ args: Record<string, unknown>;
72
74
  }
73
- export interface ArtifactSourceContext {
74
- artifactId: string;
75
- params: JsonValue;
75
+ /** Convenience interface for script authors. Project never imports these functions. */
76
+ export interface ToolContext extends ScriptToolContext {
77
+ artifactDirectory: boolean;
76
78
  signal: AbortSignal;
77
- /** Resolve captured project files, never the mutable original copy source. */
78
- resolvePath(path: string): Promise<string>;
79
- }
80
- export interface ArtifactSourceResult {
81
- data: JsonValue;
82
- revision?: string;
83
- }
84
- export interface ArtifactSourceDefinition {
85
- metadata: ArtifactSourceMetadata;
86
- prepare(context: ArtifactSourceContext): ArtifactSourceResult | Promise<ArtifactSourceResult>;
87
- /** A custom identity asserts equivalence of the complete supplied data. */
88
- fingerprint?(data: JsonValue): string | Promise<string>;
89
- }
90
- export interface PreparedArtifactData {
91
- version: 1;
92
- identity: ArtifactIdentityStrategy & {
93
- fingerprint: string;
94
- };
95
- /** Integrity hash of the canonical data, independent of semantic equivalence. */
96
- contentHash: string;
97
- data: JsonValue;
98
- revision?: string;
79
+ resolvePath(path?: string): Promise<string>;
80
+ resolveExecutionPath?(path: string): Promise<string>;
99
81
  }
100
82
  export interface ToolDefinition<Args = Record<string, unknown>, Context = ToolContext> {
101
83
  metadata: ToolMetadata;
@@ -108,48 +90,31 @@ export interface ToolDefinition<Args = Record<string, unknown>, Context = ToolCo
108
90
  message: string;
109
91
  }>;
110
92
  }
111
- export interface ArtifactToolsConfig {
112
- agentTools?: Record<string, ToolDefinition<any, any>>;
113
- humanTools?: Record<string, ToolDefinition<any, any>>;
114
- }
115
93
  export interface EnvironmentRequirement {
116
94
  description: string;
117
- /** Project-relative Node script; a zero exit status confirms readiness. */
118
95
  script: string;
119
96
  timeoutMs?: number;
120
- /** Additional project files or directories used by the check. */
121
97
  inputs?: string[];
122
98
  }
123
- export interface Config {
124
- artifacts: Record<string, ArtifactEntryDefinition>;
125
- artifactTypes: Record<string, ArtifactToolsConfig>;
126
- critics: CriticDefinition[];
127
- envRequirements?: Record<string, EnvironmentRequirement>;
128
- artifactSources?: Record<string, ArtifactSourceDefinition>;
129
- }
130
- export type ConfigFactory = () => Config | Promise<Config>;
131
99
  export interface ConfigManifest {
132
- version: 1;
100
+ version: 2;
133
101
  configHash: string;
134
- modules: {
102
+ artifacts: Record<string, ArtifactDefinition>;
103
+ declarations: {
135
104
  path: string;
136
105
  hash: string;
137
106
  }[];
138
- types: Record<string, {
139
- agentTools: Record<string, ToolMetadata>;
140
- humanTools: Record<string, ToolMetadata>;
141
- }>;
142
- envRequirements?: Record<string, EnvironmentRequirement>;
143
- environmentInputs?: {
107
+ executionInputs?: {
144
108
  path: string;
145
109
  hash: string;
146
110
  }[];
147
- executionInputs?: {
111
+ envRequirements?: Record<string, EnvironmentRequirement>;
112
+ environmentInputs?: {
148
113
  path: string;
149
114
  hash: string;
150
115
  }[];
151
- sources?: Record<string, ArtifactSourceMetadata>;
152
116
  }
117
+ export type { ArtifactManifest };
153
118
  type Properties<S> = S extends {
154
119
  properties: infer P;
155
120
  } ? P : {};
@@ -176,4 +141,3 @@ export type InferSchema<S> = S extends {
176
141
  } & {
177
142
  [K in keyof Properties<S> as K extends RequiredKeys<S> ? never : K]?: InferSchema<Properties<S>[K]>;
178
143
  } : unknown;
179
- export {};
@@ -1,7 +1,6 @@
1
1
  const failures = {
2
2
  ABORTED: 'Artifact tool diagnosis was cancelled.',
3
3
  WORKSPACE_CHANGED: 'The workspace changed during Artifact tool diagnosis.',
4
- WORKSPACE_CACHE_TAMPERED: 'The workspace changed during Artifact tool diagnosis.',
5
4
  WORKSPACE_ARTIFACT_MISMATCH: 'Recorded Artifact tools do not match the snapshot configuration.',
6
5
  ARTIFACT_TOOLS_UNAVAILABLE: 'A Critic references an Artifact with no tools for its reviewer kind. Register the corresponding agentTools or humanTools.',
7
6
  HUMAN_TOOL_TIMEOUT: 'The registered Human tool exceeded its configured time limit.',
@@ -31,6 +30,7 @@ const resultMessages = new Set([
31
30
  'Tool declarations and results must contain only JSON values.',
32
31
  'Tool JSON exceeds the supported size.',
33
32
  'Invalid launcher result.',
33
+ 'Invalid author-controlled tool error.',
34
34
  'Unsupported image MIME type.',
35
35
  'Image is outside the tool output directory.',
36
36
  'Artifact path must be relative to its declared root.',
@@ -66,7 +66,7 @@ export function safeToolFailure(error, aborted = false) {
66
66
  }
67
67
  export function toolFailureStage(error, fallback) {
68
68
  const code = safeToolFailure(error).code;
69
- if (code === 'WORKSPACE_CHANGED' || code === 'WORKSPACE_CACHE_TAMPERED')
69
+ if (code === 'WORKSPACE_CHANGED')
70
70
  return 'input-integrity';
71
71
  if (error instanceof ToolResultError || code === 'ARTIFACT_TOOL_RESULT_INVALID')
72
72
  return 'normalize-result';
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/tools/diagnostics.ts"],"names":[],"mappings":"AAGA,MAAM,QAAQ,GAA2B;IACvC,OAAO,EAAE,wCAAwC;IACjD,iBAAiB,EAAE,uDAAuD;IAC1E,wBAAwB,EAAE,uDAAuD;IACjF,2BAA2B,EAAE,kEAAkE;IAC/F,0BAA0B,EAAE,2HAA2H;IACvJ,kBAAkB,EAAE,+DAA+D;IACnF,sBAAsB,EAAE,sDAAsD;IAC9E,iBAAiB,EAAE,wDAAwD;IAC3E,qBAAqB,EAAE,kEAAkE;IACzF,oBAAoB,EAAE,8HAA8H;IACpJ,4BAA4B,EAAE,wDAAwD;IACtF,8BAA8B,EAAE,yJAAyJ;IACzL,4BAA4B,EAAE,oDAAoD;IAClF,MAAM,EAAE,8CAA8C;IACtD,MAAM,EAAE,qDAAqD;IAC7D,KAAK,EAAE,+DAA+D;IACtE,OAAO,EAAE,+CAA+C;IACxD,MAAM,EAAE,sCAAsC;IAC9C,MAAM,EAAE,qDAAqD;IAC7D,GAAG,EAAE,6CAA6C;IAClD,SAAS,EAAE,iCAAiC;CAC7C,CAAC;AAEF,iFAAiF;AACjF,oFAAoF;AACpF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,kDAAkD;IAClD,2CAA2C;IAC3C,2BAA2B;IAC3B,oCAAoC;IACpC,8DAA8D;IAC9D,uCAAuC;IACvC,0BAA0B;IAC1B,8BAA8B;IAC9B,6CAA6C;IAC7C,sDAAsD;IACtD,sCAAsC;IACtC,0CAA0C;IAC1C,uCAAuC;IACvC,uDAAuD;IACvD,qBAAqB;IACrB,8CAA8C;IAC9C,8BAA8B;IAC9B,yDAAyD;CAC1D,CAAC,CAAC;AAEH,yFAAyF;AACzF,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,KAAc;QACxB,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7F,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAAC,KAAc,EAAE,OAAO,GAAG,KAAK;IAC7D,IAAI,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnE,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,KAAK,YAAY,KAAK,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,8BAA8B,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QACzI,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,IAAI,KAAK,4BAA4B,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,OAAO,EAAE,4DAA4D,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACnL,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACxG,OAAO,EAAE,IAAI,EAAE,4BAA4B,EAAE,OAAO,EAAE,gHAAgH,EAAE,CAAC;AAC3K,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc,EAAE,QAAgC;IAC/E,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;IACzC,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,0BAA0B;QAAE,OAAO,iBAAiB,CAAC;IAClG,IAAI,KAAK,YAAY,eAAe,IAAI,IAAI,KAAK,8BAA8B;QAAE,OAAO,kBAAkB,CAAC;IAC3G,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/tools/diagnostics.ts"],"names":[],"mappings":"AAGA,MAAM,QAAQ,GAA2B;IACvC,OAAO,EAAE,wCAAwC;IACjD,iBAAiB,EAAE,uDAAuD;IAC1E,2BAA2B,EAAE,kEAAkE;IAC/F,0BAA0B,EAAE,2HAA2H;IACvJ,kBAAkB,EAAE,+DAA+D;IACnF,sBAAsB,EAAE,sDAAsD;IAC9E,iBAAiB,EAAE,wDAAwD;IAC3E,qBAAqB,EAAE,kEAAkE;IACzF,oBAAoB,EAAE,8HAA8H;IACpJ,4BAA4B,EAAE,wDAAwD;IACtF,8BAA8B,EAAE,yJAAyJ;IACzL,4BAA4B,EAAE,oDAAoD;IAClF,MAAM,EAAE,8CAA8C;IACtD,MAAM,EAAE,qDAAqD;IAC7D,KAAK,EAAE,+DAA+D;IACtE,OAAO,EAAE,+CAA+C;IACxD,MAAM,EAAE,sCAAsC;IAC9C,MAAM,EAAE,qDAAqD;IAC7D,GAAG,EAAE,6CAA6C;IAClD,SAAS,EAAE,iCAAiC;CAC7C,CAAC;AAEF,iFAAiF;AACjF,oFAAoF;AACpF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,kDAAkD;IAClD,2CAA2C;IAC3C,2BAA2B;IAC3B,oCAAoC;IACpC,8DAA8D;IAC9D,uCAAuC;IACvC,0BAA0B;IAC1B,uCAAuC;IACvC,8BAA8B;IAC9B,6CAA6C;IAC7C,sDAAsD;IACtD,sCAAsC;IACtC,0CAA0C;IAC1C,uCAAuC;IACvC,uDAAuD;IACvD,qBAAqB;IACrB,8CAA8C;IAC9C,8BAA8B;IAC9B,yDAAyD;CAC1D,CAAC,CAAC;AAEH,yFAAyF;AACzF,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,KAAc;QACxB,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7F,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAAC,KAAc,EAAE,OAAO,GAAG,KAAK;IAC7D,IAAI,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnE,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,KAAK,YAAY,KAAK,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,8BAA8B,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QACzI,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,IAAI,KAAK,4BAA4B,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,OAAO,EAAE,4DAA4D,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACnL,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACxG,OAAO,EAAE,IAAI,EAAE,4BAA4B,EAAE,OAAO,EAAE,gHAAgH,EAAE,CAAC;AAC3K,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc,EAAE,QAAgC;IAC/E,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;IACzC,IAAI,IAAI,KAAK,mBAAmB;QAAE,OAAO,iBAAiB,CAAC;IAC3D,IAAI,KAAK,YAAY,eAAe,IAAI,IAAI,KAAK,8BAA8B;QAAE,OAAO,kBAAkB,CAAC;IAC3G,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -13,6 +13,7 @@ export interface EnvironmentCheckOptions {
13
13
  configManifest?: ConfigManifest;
14
14
  outputDir: string;
15
15
  signal?: AbortSignal;
16
+ artifactIds?: readonly string[];
16
17
  }
17
18
  /** Explicit Human claim preparation only. The caller owns workspace integrity checks and the Try Claim lease. */
18
19
  export declare function checkEnvironmentRequirements(options: EnvironmentCheckOptions): Promise<EnvironmentCheckResult>;
@@ -3,8 +3,7 @@ import { mkdir, realpath } from 'node:fs/promises';
3
3
  import { dirname, join, resolve } from 'node:path';
4
4
  import { fileURLToPath } from 'node:url';
5
5
  import { matchesToolManifest } from './manifest.js';
6
- import { openToolHost } from './host.js';
7
- import { environmentRequirements } from './schema.js';
6
+ import { readWorkspaceConfig } from '../broker/config.js';
8
7
  import { scopedPath, within } from './paths.js';
9
8
  async function outputDirectory(root, directory) {
10
9
  const target = resolve(directory);
@@ -92,19 +91,16 @@ export async function checkEnvironmentRequirements(options) {
92
91
  options.signal?.throwIfAborted();
93
92
  if (options.configManifest?.envRequirements === undefined)
94
93
  return { ok: true, checks: [] };
95
- const requirements = environmentRequirements(options.configManifest.envRequirements);
94
+ const requirements = options.configManifest.envRequirements;
96
95
  const root = await realpath(options.workspacePath);
97
96
  // Reconnect declarations from this exact snapshot before executing any stored script path.
98
- const host = await openToolHost(root, options.signal).catch(error => { options.signal?.throwIfAborted(); throw error; });
99
- try {
100
- if (!matchesToolManifest(host.config, options.configManifest))
101
- throw Object.assign(new Error('Recorded environment requirements do not match this snapshot configuration.'), { code: 'WORKSPACE_ARTIFACT_MISMATCH' });
102
- }
103
- finally {
104
- await host.close();
105
- }
97
+ const { config } = await readWorkspaceConfig(root, options.signal);
98
+ if (!matchesToolManifest(config, options.configManifest))
99
+ throw Object.assign(new Error('Recorded environment requirements do not match this snapshot configuration.'), { code: 'WORKSPACE_ARTIFACT_MISMATCH' });
106
100
  const base = await outputDirectory(root, options.outputDir), checks = [];
107
101
  for (const [id, requirement] of Object.entries(requirements)) {
102
+ if (options.artifactIds && !options.artifactIds.includes(id.split('/')[0]))
103
+ continue;
108
104
  options.signal?.throwIfAborted();
109
105
  const outputDir = await outputDirectory(root, join(base, id)), tmpDir = await outputDirectory(root, join(outputDir, '.tmp'));
110
106
  const result = await runCheck(root, await scopedPath(root, requirement.script), requirement, outputDir, tmpDir, options.signal);
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/tools/environment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/tools/environment.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
1
  import type { RepoConfig } from '../contracts.js';
2
2
  import type { ConfigManifest } from './contracts.js';
3
- /** Reconnect historical locale-ordered manifests only after proving the same input. */
4
3
  export declare function matchesToolManifest(config: RepoConfig, recorded: ConfigManifest): boolean;
@@ -1,29 +1,5 @@
1
- import { createHash } from 'node:crypto';
2
1
  import { isDeepStrictEqual } from 'node:util';
3
- /** Reconnect historical locale-ordered manifests only after proving the same input. */
4
2
  export function matchesToolManifest(config, recorded) {
5
- const current = config.configManifest;
6
- if (!current || !recorded || current.version !== 1 || recorded.version !== 1)
7
- return false;
8
- if (isDeepStrictEqual(current, recorded))
9
- return true;
10
- if (!Array.isArray(recorded.modules) || recorded.modules.some(entry => !entry || typeof entry.path !== 'string' || typeof entry.hash !== 'string'))
11
- return false;
12
- const ordered = (modules) => [...modules].sort((a, b) => a.path < b.path ? -1 : a.path > b.path ? 1 : 0);
13
- if (!isDeepStrictEqual(ordered(current.modules), ordered(recorded.modules)))
14
- return false;
15
- // Older v1 writers sorted modules with the publisher's locale. Preserve that
16
- // recorded order in the hash recipe, without trusting any recorded content hash
17
- // or discarding changes to configuration values, types, or declared inputs.
18
- const extensions = {
19
- ...(current.envRequirements === undefined ? {} : { envRequirements: current.envRequirements, environmentInputs: current.environmentInputs }),
20
- ...(current.executionInputs === undefined ? {} : { executionInputs: current.executionInputs }),
21
- ...(current.sources === undefined ? {} : { sources: current.sources }),
22
- };
23
- const configHash = createHash('sha256').update(JSON.stringify({
24
- values: { artifacts: config.artifacts, critics: config.critics },
25
- types: current.types, modules: recorded.modules, ...extensions,
26
- })).digest('hex');
27
- return isDeepStrictEqual({ ...current, modules: recorded.modules, configHash }, recorded);
3
+ return recorded?.version === 2 && isDeepStrictEqual(config.configManifest, recorded);
28
4
  }
29
5
  //# sourceMappingURL=manifest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/tools/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAI9C,uFAAuF;AACvF,MAAM,UAAU,mBAAmB,CAAC,MAAkB,EAAE,QAAwB;IAC9E,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;IACtC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3F,IAAI,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACjK,MAAM,OAAO,GAAG,CAAC,OAAkC,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpI,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1F,6EAA6E;IAC7E,gFAAgF;IAChF,4EAA4E;IAC5E,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC5I,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;QAC9F,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;KACvE,CAAC;IACF,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QAC5D,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;QAChE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,UAAU;KAC/D,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClB,OAAO,iBAAiB,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC5F,CAAC"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/tools/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAG9C,MAAM,UAAU,mBAAmB,CAAC,MAAkB,EAAE,QAAwB;IAC9E,OAAO,QAAQ,EAAE,OAAO,KAAK,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AACvF,CAAC"}
@@ -1,13 +1,13 @@
1
- import { type ArtifactReference } from '../artifacts/index.js';
2
- import type { ArtifactGroupReference, ReviewToolCall } from '../contracts.js';
3
- import type { ConfigManifest, JsonSchema, ToolMetadata } from './contracts.js';
1
+ import type { ArtifactReference } from '../artifacts/index.js';
2
+ import type { ReviewToolCall } from '../contracts.js';
3
+ import type { ConfigManifest, JsonSchema, ToolMetadata, ToolResult } from './contracts.js';
4
4
  export interface ReviewToolDefinition {
5
5
  artifactId: string;
6
6
  operation: string;
7
7
  name: string;
8
8
  description: string;
9
9
  inputSchema: JsonSchema;
10
- metadata?: ToolMetadata;
10
+ metadata: ToolMetadata;
11
11
  annotations?: Record<string, boolean>;
12
12
  }
13
13
  export interface ReviewToolCheck {
@@ -20,31 +20,36 @@ export interface ReviewToolCheck {
20
20
  export interface ReviewToolRegistry {
21
21
  tools: ReviewToolDefinition[];
22
22
  toolCalls: ReviewToolCall[];
23
- outputDir?: string;
23
+ outputDir: string;
24
24
  validateArguments(name: string, args: unknown): Record<string, unknown>;
25
- call(name: string, args?: unknown): Promise<any>;
25
+ call(name: string, args?: unknown): Promise<ToolResult>;
26
26
  preflight(options?: {
27
27
  toolName?: string;
28
28
  }): Promise<ReviewToolCheck[]>;
29
29
  close(): Promise<void>;
30
30
  }
31
+ export interface ToolExecutionDiagnostic {
32
+ name: string;
33
+ artifactId: string;
34
+ operation: string;
35
+ startedAt: string;
36
+ durationMs: number;
37
+ outcome: 'success' | 'error';
38
+ }
31
39
  export interface ReviewToolsOptions {
32
40
  worktreePath: string;
33
41
  artifacts: readonly ArtifactReference[];
34
- artifactTypes?: Readonly<Record<string, unknown>>;
35
- configManifest?: ConfigManifest;
42
+ configManifest: ConfigManifest;
36
43
  audience: 'agent' | 'human';
37
44
  runDir?: string;
38
45
  signal?: AbortSignal;
39
46
  criticId?: string;
40
- artifactGroups?: readonly ArtifactGroupReference[];
41
47
  onCall?: (call: ReviewToolCall) => void | Promise<void>;
48
+ onExecution?: (diagnostic: ToolExecutionDiagnostic) => void | Promise<void>;
42
49
  }
43
- export declare function describeReviewTools({ artifacts, configManifest, audience }: {
44
- artifacts: readonly ArtifactReference[];
45
- configManifest: ConfigManifest;
46
- audience: 'agent' | 'human';
47
- }): ReviewToolDefinition[];
50
+ export declare function describeReviewTools({ artifacts, configManifest, audience }: Pick<ReviewToolsOptions, 'artifacts' | 'configManifest' | 'audience'>): ReviewToolDefinition[];
51
+ /** Validate the existing ancestor before creating any output directories. */
52
+ export declare function externalDirectory(root: string, directory: string): Promise<string>;
48
53
  export declare function toToolContent(result: unknown): Promise<Array<{
49
54
  type: 'text';
50
55
  text: string;