@ccdd/project 3.3.1 → 4.0.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.
- package/README.md +9 -12
- package/dist/monitor-ui/assets/GraphView-CaxsIXtN.js +27 -0
- package/dist/monitor-ui/assets/ValidationView-BMqI2XQ5.css +1 -0
- package/dist/monitor-ui/assets/ValidationView-CGW6-Ljw.js +1 -0
- package/dist/monitor-ui/assets/{elk-api-D5d3gWoP.js → elk-api-DIQ2_nge.js} +1 -1
- package/dist/monitor-ui/assets/{elk.bundled-0eaKiuBP.js → elk.bundled-BRtnLd_M.js} +1 -1
- package/dist/monitor-ui/assets/{index-DDwx11D7.css → index-D0yfhUlt.css} +1 -1
- package/dist/monitor-ui/assets/index-LyUbXn5P.js +7 -0
- package/dist/monitor-ui/index.html +2 -2
- package/dist/scripts/prepare-demo.js +25 -44
- package/dist/scripts/prepare-demo.js.map +1 -1
- package/dist/src/artifact-scope.d.ts +6 -0
- package/dist/src/artifact-scope.js +27 -0
- package/dist/src/artifact-scope.js.map +1 -0
- package/dist/src/artifacts/index.d.ts +7 -155
- package/dist/src/artifacts/index.js +0 -354
- package/dist/src/artifacts/index.js.map +1 -1
- package/dist/src/artifacts/instruction.d.ts +6 -9
- package/dist/src/artifacts/instruction.js +28 -36
- package/dist/src/artifacts/instruction.js.map +1 -1
- package/dist/src/artifacts/mcp-server.js +5 -6
- package/dist/src/artifacts/mcp-server.js.map +1 -1
- package/dist/src/artifacts/scope.d.ts +12 -0
- package/dist/src/artifacts/scope.js +34 -0
- package/dist/src/artifacts/scope.js.map +1 -0
- package/dist/src/artifacts/tool-check.d.ts +2 -6
- package/dist/src/artifacts/tool-check.js +14 -18
- package/dist/src/artifacts/tool-check.js.map +1 -1
- package/dist/src/artifacts/types.d.ts +3 -37
- package/dist/src/artifacts/types.js +5 -89
- package/dist/src/artifacts/types.js.map +1 -1
- package/dist/src/broker/config.d.ts +5 -6
- package/dist/src/broker/config.js +183 -130
- package/dist/src/broker/config.js.map +1 -1
- package/dist/src/broker/graph.d.ts +14 -21
- package/dist/src/broker/graph.js +68 -70
- package/dist/src/broker/graph.js.map +1 -1
- package/dist/src/broker/index.d.ts +6 -28
- package/dist/src/broker/index.js +35 -221
- package/dist/src/broker/index.js.map +1 -1
- package/dist/src/cli.d.ts +1 -21
- package/dist/src/cli.js +2 -329
- package/dist/src/cli.js.map +1 -1
- package/dist/src/contracts.d.ts +12 -15
- package/dist/src/definitions.d.ts +33 -23
- package/dist/src/diagnostics-cli.d.ts +9 -0
- package/dist/src/diagnostics-cli.js +94 -0
- package/dist/src/diagnostics-cli.js.map +1 -0
- package/dist/src/doctor/index.d.ts +2 -4
- package/dist/src/doctor/index.js +17 -63
- package/dist/src/doctor/index.js.map +1 -1
- package/dist/src/executors/auth.d.ts +1 -1
- package/dist/src/executors/auth.js +2 -2
- package/dist/src/executors/auth.js.map +1 -1
- package/dist/src/executors/human-preparation.js +2 -10
- package/dist/src/executors/human-preparation.js.map +1 -1
- package/dist/src/executors/index.js +30 -29
- package/dist/src/executors/index.js.map +1 -1
- package/dist/src/executors/pi.js +2 -3
- package/dist/src/executors/pi.js.map +1 -1
- package/dist/src/executors/process.js +9 -0
- package/dist/src/executors/process.js.map +1 -1
- package/dist/src/monitor/actions.js +3 -3
- package/dist/src/monitor/actions.js.map +1 -1
- package/dist/src/monitor/server.js +12 -95
- package/dist/src/monitor/server.js.map +1 -1
- package/dist/src/monitor/store.js +6 -42
- package/dist/src/monitor/store.js.map +1 -1
- package/dist/src/monitor/types.d.ts +3 -13
- package/dist/src/monitor/ui/critic-presentation.js +1 -1
- package/dist/src/monitor/ui/critic-presentation.js.map +1 -1
- package/dist/src/monitor/ui/graph-layout.d.ts +0 -1
- package/dist/src/monitor/ui/graph-layout.js +1 -23
- package/dist/src/monitor/ui/graph-layout.js.map +1 -1
- package/dist/src/monitor/ui/tool-input.d.ts +1 -1
- package/dist/src/monitor/ui/tool-input.js +2 -3
- package/dist/src/monitor/ui/tool-input.js.map +1 -1
- package/dist/src/project/cli.js +18 -30
- package/dist/src/project/cli.js.map +1 -1
- package/dist/src/project/graph.js +2 -2
- package/dist/src/project/graph.js.map +1 -1
- package/dist/src/project/identity.js +83 -56
- package/dist/src/project/identity.js.map +1 -1
- package/dist/src/project/index.d.ts +0 -3
- package/dist/src/project/index.js +2 -6
- package/dist/src/project/index.js.map +1 -1
- package/dist/src/project/query.d.ts +2 -1
- package/dist/src/project/query.js +49 -74
- package/dist/src/project/query.js.map +1 -1
- package/dist/src/project/store.js +2 -2
- package/dist/src/project/store.js.map +1 -1
- package/dist/src/project/types.d.ts +4 -4
- package/dist/src/requester/index.d.ts +2 -9
- package/dist/src/requester/index.js +17 -96
- package/dist/src/requester/index.js.map +1 -1
- package/dist/src/sdk.d.ts +3 -8
- package/dist/src/sdk.js +2 -3
- package/dist/src/sdk.js.map +1 -1
- package/dist/src/tools/contracts.d.ts +34 -78
- package/dist/src/tools/diagnostics.js +1 -2
- package/dist/src/tools/diagnostics.js.map +1 -1
- package/dist/src/tools/environment.d.ts +1 -0
- package/dist/src/tools/environment.js +7 -11
- package/dist/src/tools/environment.js.map +1 -1
- package/dist/src/tools/manifest.d.ts +0 -1
- package/dist/src/tools/manifest.js +1 -25
- package/dist/src/tools/manifest.js.map +1 -1
- package/dist/src/tools/runner.d.ts +10 -14
- package/dist/src/tools/runner.js +144 -118
- package/dist/src/tools/runner.js.map +1 -1
- package/dist/src/tools/schema.js +1 -1
- package/dist/src/tools/schema.js.map +1 -1
- package/dist/src/workspaces/index.d.ts +5 -12
- package/dist/src/workspaces/index.js +33 -217
- package/dist/src/workspaces/index.js.map +1 -1
- package/package.json +38 -10
- package/dist/monitor-ui/assets/GraphView-BSZlEAs3.js +0 -27
- package/dist/monitor-ui/assets/ValidationView-DaEF78J-.js +0 -1
- package/dist/monitor-ui/assets/ValidationView-p5r8lX18.css +0 -1
- package/dist/monitor-ui/assets/index-BQlWbkpH.js +0 -8
- package/dist/src/artifacts/data.d.ts +0 -5
- package/dist/src/artifacts/data.js +0 -100
- package/dist/src/artifacts/data.js.map +0 -1
- package/dist/src/artifacts/groups.d.ts +0 -13
- package/dist/src/artifacts/groups.js +0 -93
- package/dist/src/artifacts/groups.js.map +0 -1
- package/dist/src/artifacts/human.d.ts +0 -38
- package/dist/src/artifacts/human.js +0 -156
- package/dist/src/artifacts/human.js.map +0 -1
- package/dist/src/artifacts/sources.d.ts +0 -11
- package/dist/src/artifacts/sources.js +0 -106
- package/dist/src/artifacts/sources.js.map +0 -1
- package/dist/src/review/cli.d.ts +0 -8
- package/dist/src/review/cli.js +0 -136
- package/dist/src/review/cli.js.map +0 -1
- package/dist/src/review/client.d.ts +0 -30
- package/dist/src/review/client.js +0 -193
- package/dist/src/review/client.js.map +0 -1
- package/dist/src/review/server.d.ts +0 -11
- package/dist/src/review/server.js +0 -249
- package/dist/src/review/server.js.map +0 -1
- package/dist/src/review/types.d.ts +0 -10
- package/dist/src/review/types.js +0 -17
- package/dist/src/review/types.js.map +0 -1
- package/dist/src/tools/host.d.ts +0 -7
- package/dist/src/tools/host.js +0 -98
- package/dist/src/tools/host.js.map +0 -1
- package/dist/src/tools/runtime-host.d.ts +0 -1
- package/dist/src/tools/runtime-host.js +0 -212
- package/dist/src/tools/runtime-host.js.map +0 -1
- package/dist/src/workspaces/transfer.d.ts +0 -52
- package/dist/src/workspaces/transfer.js +0 -372
- package/dist/src/workspaces/transfer.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
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'
|
|
12
|
+
artifactKind?: 'file' | 'directory' | 'any';
|
|
13
13
|
timeoutMs?: number;
|
|
14
|
-
/**
|
|
14
|
+
/** Workspace-relative runtime material whose content affects this tool. */
|
|
15
15
|
executionPaths?: string[];
|
|
16
16
|
}
|
|
17
|
-
export interface
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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';
|
|
@@ -50,52 +51,25 @@ export interface ToolResult {
|
|
|
50
51
|
detail?: string;
|
|
51
52
|
};
|
|
52
53
|
}
|
|
53
|
-
|
|
54
|
-
export interface DataToolContext {
|
|
54
|
+
export interface ScriptToolContext {
|
|
55
55
|
artifactId: string;
|
|
56
|
+
artifactPath: string;
|
|
56
57
|
outputDir: string;
|
|
57
58
|
tmpDir: string;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
resolveExecutionPath(path: string): Promise<string>;
|
|
59
|
+
/** Canonical paths and logical connections for this review's allowed scope. */
|
|
60
|
+
scope: ArtifactScope;
|
|
61
61
|
}
|
|
62
|
-
export interface
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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;
|
|
62
|
+
export interface ScriptToolRequest {
|
|
63
|
+
version: 1;
|
|
64
|
+
context: ScriptToolContext;
|
|
65
|
+
args: Record<string, unknown>;
|
|
72
66
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
67
|
+
/** Convenience interface for script authors. Project never imports these functions. */
|
|
68
|
+
export interface ToolContext extends ScriptToolContext {
|
|
69
|
+
artifactDirectory: boolean;
|
|
76
70
|
signal: AbortSignal;
|
|
77
|
-
|
|
78
|
-
|
|
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;
|
|
71
|
+
resolvePath(path?: string): Promise<string>;
|
|
72
|
+
resolveExecutionPath?(path: string): Promise<string>;
|
|
99
73
|
}
|
|
100
74
|
export interface ToolDefinition<Args = Record<string, unknown>, Context = ToolContext> {
|
|
101
75
|
metadata: ToolMetadata;
|
|
@@ -108,48 +82,31 @@ export interface ToolDefinition<Args = Record<string, unknown>, Context = ToolCo
|
|
|
108
82
|
message: string;
|
|
109
83
|
}>;
|
|
110
84
|
}
|
|
111
|
-
export interface ArtifactToolsConfig {
|
|
112
|
-
agentTools?: Record<string, ToolDefinition<any, any>>;
|
|
113
|
-
humanTools?: Record<string, ToolDefinition<any, any>>;
|
|
114
|
-
}
|
|
115
85
|
export interface EnvironmentRequirement {
|
|
116
86
|
description: string;
|
|
117
|
-
/** Project-relative Node script; a zero exit status confirms readiness. */
|
|
118
87
|
script: string;
|
|
119
88
|
timeoutMs?: number;
|
|
120
|
-
/** Additional project files or directories used by the check. */
|
|
121
89
|
inputs?: string[];
|
|
122
90
|
}
|
|
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
91
|
export interface ConfigManifest {
|
|
132
|
-
version:
|
|
92
|
+
version: 2;
|
|
133
93
|
configHash: string;
|
|
134
|
-
|
|
94
|
+
artifacts: Record<string, ArtifactDefinition>;
|
|
95
|
+
declarations: {
|
|
135
96
|
path: string;
|
|
136
97
|
hash: string;
|
|
137
98
|
}[];
|
|
138
|
-
|
|
139
|
-
agentTools: Record<string, ToolMetadata>;
|
|
140
|
-
humanTools: Record<string, ToolMetadata>;
|
|
141
|
-
}>;
|
|
142
|
-
envRequirements?: Record<string, EnvironmentRequirement>;
|
|
143
|
-
environmentInputs?: {
|
|
99
|
+
executionInputs?: {
|
|
144
100
|
path: string;
|
|
145
101
|
hash: string;
|
|
146
102
|
}[];
|
|
147
|
-
|
|
103
|
+
envRequirements?: Record<string, EnvironmentRequirement>;
|
|
104
|
+
environmentInputs?: {
|
|
148
105
|
path: string;
|
|
149
106
|
hash: string;
|
|
150
107
|
}[];
|
|
151
|
-
sources?: Record<string, ArtifactSourceMetadata>;
|
|
152
108
|
}
|
|
109
|
+
export type { ArtifactManifest };
|
|
153
110
|
type Properties<S> = S extends {
|
|
154
111
|
properties: infer P;
|
|
155
112
|
} ? P : {};
|
|
@@ -176,4 +133,3 @@ export type InferSchema<S> = S extends {
|
|
|
176
133
|
} & {
|
|
177
134
|
[K in keyof Properties<S> as K extends RequiredKeys<S> ? never : K]?: InferSchema<Properties<S>[K]>;
|
|
178
135
|
} : 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.',
|
|
@@ -66,7 +65,7 @@ export function safeToolFailure(error, aborted = false) {
|
|
|
66
65
|
}
|
|
67
66
|
export function toolFailureStage(error, fallback) {
|
|
68
67
|
const code = safeToolFailure(error).code;
|
|
69
|
-
if (code === 'WORKSPACE_CHANGED'
|
|
68
|
+
if (code === 'WORKSPACE_CHANGED')
|
|
70
69
|
return 'input-integrity';
|
|
71
70
|
if (error instanceof ToolResultError || code === 'ARTIFACT_TOOL_RESULT_INVALID')
|
|
72
71
|
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,
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/tools/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 {
|
|
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 =
|
|
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
|
|
99
|
-
|
|
100
|
-
|
|
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":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,
|
|
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
|
-
|
|
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,
|
|
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 {
|
|
2
|
-
import type {
|
|
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
|
|
10
|
+
metadata: ToolMetadata;
|
|
11
11
|
annotations?: Record<string, boolean>;
|
|
12
12
|
}
|
|
13
13
|
export interface ReviewToolCheck {
|
|
@@ -20,9 +20,9 @@ export interface ReviewToolCheck {
|
|
|
20
20
|
export interface ReviewToolRegistry {
|
|
21
21
|
tools: ReviewToolDefinition[];
|
|
22
22
|
toolCalls: ReviewToolCall[];
|
|
23
|
-
outputDir
|
|
23
|
+
outputDir: string;
|
|
24
24
|
validateArguments(name: string, args: unknown): Record<string, unknown>;
|
|
25
|
-
call(name: string, args?: unknown): Promise<
|
|
25
|
+
call(name: string, args?: unknown): Promise<ToolResult>;
|
|
26
26
|
preflight(options?: {
|
|
27
27
|
toolName?: string;
|
|
28
28
|
}): Promise<ReviewToolCheck[]>;
|
|
@@ -31,20 +31,16 @@ export interface ReviewToolRegistry {
|
|
|
31
31
|
export interface ReviewToolsOptions {
|
|
32
32
|
worktreePath: string;
|
|
33
33
|
artifacts: readonly ArtifactReference[];
|
|
34
|
-
|
|
35
|
-
configManifest?: ConfigManifest;
|
|
34
|
+
configManifest: ConfigManifest;
|
|
36
35
|
audience: 'agent' | 'human';
|
|
37
36
|
runDir?: string;
|
|
38
37
|
signal?: AbortSignal;
|
|
39
38
|
criticId?: string;
|
|
40
|
-
artifactGroups?: readonly ArtifactGroupReference[];
|
|
41
39
|
onCall?: (call: ReviewToolCall) => void | Promise<void>;
|
|
42
40
|
}
|
|
43
|
-
export declare function describeReviewTools({ artifacts, configManifest, audience }:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
audience: 'agent' | 'human';
|
|
47
|
-
}): ReviewToolDefinition[];
|
|
41
|
+
export declare function describeReviewTools({ artifacts, configManifest, audience }: Pick<ReviewToolsOptions, 'artifacts' | 'configManifest' | 'audience'>): ReviewToolDefinition[];
|
|
42
|
+
/** Validate the existing ancestor before creating any output directories. */
|
|
43
|
+
export declare function externalDirectory(root: string, directory: string): Promise<string>;
|
|
48
44
|
export declare function toToolContent(result: unknown): Promise<Array<{
|
|
49
45
|
type: 'text';
|
|
50
46
|
text: string;
|