@tiangong-ai/cli 0.0.20 → 0.0.22
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/AGENTS.md +3 -2
- package/README.md +158 -13
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +11 -1
- package/dist/cli.js.map +1 -1
- package/dist/research/orchestration.js +166 -11
- package/dist/research/orchestration.js.map +1 -1
- package/dist/research/workspace/broker.js +407 -31
- package/dist/research/workspace/broker.js.map +1 -1
- package/dist/research/workspace/capabilities.js +65 -0
- package/dist/research/workspace/capabilities.js.map +1 -1
- package/dist/research/workspace/constants.d.ts +1 -1
- package/dist/research/workspace/constants.js +4 -0
- package/dist/research/workspace/constants.js.map +1 -1
- package/dist/research/workspace/evidence.d.ts +32 -0
- package/dist/research/workspace/evidence.js +235 -0
- package/dist/research/workspace/evidence.js.map +1 -0
- package/dist/research/workspace/executor.d.ts +11 -1
- package/dist/research/workspace/executor.js +678 -105
- package/dist/research/workspace/executor.js.map +1 -1
- package/dist/research/workspace/input-plan.d.ts +5 -0
- package/dist/research/workspace/input-plan.js +319 -0
- package/dist/research/workspace/input-plan.js.map +1 -0
- package/dist/research/workspace/journal.js +2 -1
- package/dist/research/workspace/journal.js.map +1 -1
- package/dist/research/workspace/preflight.d.ts +108 -0
- package/dist/research/workspace/preflight.js +261 -0
- package/dist/research/workspace/preflight.js.map +1 -0
- package/dist/research/workspace/projects.d.ts +5 -2
- package/dist/research/workspace/projects.js +290 -6
- package/dist/research/workspace/projects.js.map +1 -1
- package/dist/research/workspace/runtime.d.ts +5 -1
- package/dist/research/workspace/runtime.js +1314 -196
- package/dist/research/workspace/runtime.js.map +1 -1
- package/dist/research/workspace/sanitization.d.ts +5 -0
- package/dist/research/workspace/sanitization.js +72 -0
- package/dist/research/workspace/sanitization.js.map +1 -0
- package/dist/research/workspace/schemas.d.ts +17 -0
- package/dist/research/workspace/schemas.js +342 -0
- package/dist/research/workspace/schemas.js.map +1 -0
- package/dist/research/workspace/storage.js +4 -0
- package/dist/research/workspace/storage.js.map +1 -1
- package/dist/research/workspace/types.d.ts +160 -0
- package/dist/research/workspace/workspace.d.ts +14 -3
- package/dist/research/workspace/workspace.js +374 -12
- package/dist/research/workspace/workspace.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { type AgentExecutionRequest } from "./executor.js";
|
|
2
|
+
import type { RuntimeLock, WorkspaceConfig, WorkspaceDoctorResult, WorkspaceMarker, ResearchMode, ExecutionResult, WorkspaceDoctorAttestation } from "./types.js";
|
|
3
|
+
export declare function initializeResearchWorkspace(targetPath: string, name: string | undefined, mode?: ResearchMode): Promise<{
|
|
3
4
|
workspace: string;
|
|
4
5
|
workspaceId: string;
|
|
5
6
|
created: string[];
|
|
@@ -7,6 +8,16 @@ export declare function initializeResearchWorkspace(targetPath: string, name: st
|
|
|
7
8
|
export declare function requireResearchWorkspace(inputPath: string): Promise<string>;
|
|
8
9
|
export declare function loadWorkspaceMarker(root: string): Promise<WorkspaceMarker>;
|
|
9
10
|
export declare function loadWorkspaceConfig(root: string): Promise<WorkspaceConfig>;
|
|
10
|
-
export
|
|
11
|
+
export interface DoctorOptions {
|
|
12
|
+
agentSmoke?: boolean;
|
|
13
|
+
environment?: NodeJS.ProcessEnv;
|
|
14
|
+
executor?: (request: AgentExecutionRequest) => Promise<ExecutionResult>;
|
|
15
|
+
}
|
|
16
|
+
export declare function doctorResearchWorkspace(inputPath: string, options?: DoctorOptions): Promise<WorkspaceDoctorResult>;
|
|
17
|
+
export declare function verifyDoctorAttestation(root: string): Promise<{
|
|
18
|
+
status: "verified" | "missing" | "invalid" | "expired" | "drifted";
|
|
19
|
+
errors: string[];
|
|
20
|
+
attestation: WorkspaceDoctorAttestation | null;
|
|
21
|
+
}>;
|
|
11
22
|
export declare function withWorkspaceLock<T>(root: string, operation: string, callback: () => Promise<T>): Promise<T>;
|
|
12
23
|
export declare function requireCurrentRuntimeLock(root: string, knownMarker?: WorkspaceMarker): Promise<RuntimeLock>;
|
|
@@ -1,21 +1,44 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
|
-
import { lstat, mkdir, readFile, readdir, stat, writeFile } from "node:fs/promises";
|
|
3
|
-
import { basename, join } from "node:path";
|
|
2
|
+
import { lstat, mkdir, readFile, readdir, rm, stat, writeFile } from "node:fs/promises";
|
|
3
|
+
import { basename, isAbsolute, join } from "node:path";
|
|
4
4
|
import { CliError } from "../../errors.js";
|
|
5
5
|
import { declaredCredentialIds, verifyCapabilities } from "./capabilities.js";
|
|
6
6
|
import { packageVersion, RESEARCH_PACKAGE_NAME, RESEARCH_PROTOCOL_VERSION } from "./constants.js";
|
|
7
7
|
import { inspectResearchContext, isWorkspaceMarker } from "./context.js";
|
|
8
8
|
import { appendJournalEvent, verifyJournal } from "./journal.js";
|
|
9
|
-
import {
|
|
9
|
+
import { loadProjectEvidenceReceipts } from "./evidence.js";
|
|
10
|
+
import { executeAgent } from "./executor.js";
|
|
11
|
+
import { parseStructuredStageOutput, schemaForStage } from "./schemas.js";
|
|
12
|
+
import { acquireFileLock, canonicalJson, ensureDirectory, isObject, pathExists, readJsonFile, requireAbsolutePath, sha256File, sha256Text, workspacePaths, writeJsonAtomic, } from "./storage.js";
|
|
13
|
+
const DOCTOR_ATTESTATION_TTL_MS = 24 * 60 * 60 * 1000;
|
|
10
14
|
const DEFAULT_BUDGET = {
|
|
11
|
-
maxTokens:
|
|
15
|
+
maxTokens: 320_000,
|
|
12
16
|
maxCostUsd: 60,
|
|
13
17
|
maxWallSeconds: 72 * 60 * 60,
|
|
14
18
|
maxFilesPerPackage: 20,
|
|
15
19
|
maxBytesPerPackage: 20 * 1024 * 1024,
|
|
16
20
|
maxAttemptsPerPackage: 3,
|
|
21
|
+
confirmationCostUsd: 10,
|
|
22
|
+
packageMaxTokens: {
|
|
23
|
+
discover: 80_000,
|
|
24
|
+
analyze: 55_000,
|
|
25
|
+
synthesize: 60_000,
|
|
26
|
+
review: 120_000,
|
|
27
|
+
},
|
|
28
|
+
packageMaxWallSeconds: {
|
|
29
|
+
discover: 2 * 60 * 60,
|
|
30
|
+
analyze: 2 * 60 * 60,
|
|
31
|
+
synthesize: 60 * 60,
|
|
32
|
+
review: 60 * 60,
|
|
33
|
+
},
|
|
34
|
+
maxOutputTokens: 4_000,
|
|
35
|
+
maxRepairTokens: 4_000,
|
|
36
|
+
maxBrokerResponseBytes: 512 * 1024,
|
|
37
|
+
maxBrokerContextTokens: 12_000,
|
|
38
|
+
maxBrokerItems: 100,
|
|
39
|
+
maxInputContextTokens: 12_000,
|
|
17
40
|
};
|
|
18
|
-
export async function initializeResearchWorkspace(targetPath, name) {
|
|
41
|
+
export async function initializeResearchWorkspace(targetPath, name, mode = "smoke-test") {
|
|
19
42
|
const root = requireAbsolutePath(targetPath, "Workspace path");
|
|
20
43
|
await mkdir(root, { recursive: true, mode: 0o755 });
|
|
21
44
|
const selectedInfo = await lstat(root);
|
|
@@ -44,8 +67,15 @@ export async function initializeResearchWorkspace(targetPath, name) {
|
|
|
44
67
|
};
|
|
45
68
|
const config = {
|
|
46
69
|
schemaVersion: 1,
|
|
47
|
-
|
|
48
|
-
|
|
70
|
+
mode,
|
|
71
|
+
producer: {
|
|
72
|
+
agent: "codex",
|
|
73
|
+
binary: "codex",
|
|
74
|
+
model: null,
|
|
75
|
+
effort: "low",
|
|
76
|
+
verbosity: "low",
|
|
77
|
+
},
|
|
78
|
+
reviewer: { agent: "claude", binary: "claude", model: null, effort: "low" },
|
|
49
79
|
budget: { ...DEFAULT_BUDGET },
|
|
50
80
|
};
|
|
51
81
|
const runtimeLock = {
|
|
@@ -57,6 +87,8 @@ export async function initializeResearchWorkspace(targetPath, name) {
|
|
|
57
87
|
};
|
|
58
88
|
await ensureDirectory(paths.control);
|
|
59
89
|
await Promise.all([
|
|
90
|
+
ensureDirectory(paths.evidenceCache),
|
|
91
|
+
ensureDirectory(paths.evidenceObjects),
|
|
60
92
|
ensureDirectory(paths.projects),
|
|
61
93
|
ensureDirectory(paths.runtime),
|
|
62
94
|
ensureDirectory(paths.locks),
|
|
@@ -119,7 +151,7 @@ export async function loadWorkspaceConfig(root) {
|
|
|
119
151
|
}
|
|
120
152
|
return config;
|
|
121
153
|
}
|
|
122
|
-
export async function doctorResearchWorkspace(inputPath) {
|
|
154
|
+
export async function doctorResearchWorkspace(inputPath, options = {}) {
|
|
123
155
|
const workspace = await requireResearchWorkspace(inputPath);
|
|
124
156
|
const paths = workspacePaths(workspace);
|
|
125
157
|
const checks = [];
|
|
@@ -160,6 +192,14 @@ export async function doctorResearchWorkspace(inputPath) {
|
|
|
160
192
|
const projects = await readProjectStates(paths.projects);
|
|
161
193
|
return { value: projects, detail: `${projects.length} project(s)` };
|
|
162
194
|
});
|
|
195
|
+
await checked(checks, "evidence-store", async () => {
|
|
196
|
+
const projects = await readProjectStates(paths.projects);
|
|
197
|
+
let receipts = 0;
|
|
198
|
+
for (const project of projects) {
|
|
199
|
+
receipts += (await loadProjectEvidenceReceipts(workspace, project.id)).length;
|
|
200
|
+
}
|
|
201
|
+
return { value: receipts, detail: `${receipts} verified broker evidence receipt(s)` };
|
|
202
|
+
});
|
|
163
203
|
if (config && config.producer.agent === config.reviewer.agent) {
|
|
164
204
|
checks.push({
|
|
165
205
|
id: "independent-review-route",
|
|
@@ -174,12 +214,278 @@ export async function doctorResearchWorkspace(inputPath) {
|
|
|
174
214
|
detail: `${config.producer.agent} -> ${config.reviewer.agent}`,
|
|
175
215
|
});
|
|
176
216
|
}
|
|
217
|
+
if (config?.mode === "production-research" &&
|
|
218
|
+
(!config.producer.model || !config.reviewer.model)) {
|
|
219
|
+
checks.push({
|
|
220
|
+
id: "explicit-model-routes",
|
|
221
|
+
status: "fail",
|
|
222
|
+
detail: "Production research requires explicit producer and reviewer model IDs.",
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
else if (config) {
|
|
226
|
+
checks.push({
|
|
227
|
+
id: "explicit-model-routes",
|
|
228
|
+
status: config.mode === "production-research" ? "pass" : "warn",
|
|
229
|
+
detail: config.mode === "production-research"
|
|
230
|
+
? `${config.producer.model} -> ${config.reviewer.model}`
|
|
231
|
+
: "Smoke-test mode does not require pinned model IDs.",
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
if (config?.mode === "production-research" &&
|
|
235
|
+
(!config.producer.pricing || !config.reviewer.pricing)) {
|
|
236
|
+
checks.push({
|
|
237
|
+
id: "explicit-agent-pricing",
|
|
238
|
+
status: "fail",
|
|
239
|
+
detail: "Production research requires explicit input, cached-input, and output prices.",
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
else if (config) {
|
|
243
|
+
checks.push({
|
|
244
|
+
id: "explicit-agent-pricing",
|
|
245
|
+
status: config.mode === "production-research" ? "pass" : "warn",
|
|
246
|
+
detail: config.mode === "production-research"
|
|
247
|
+
? "Producer and reviewer pricing are configured."
|
|
248
|
+
: "Smoke-test mode permits zero/unknown price accounting.",
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
if (config) {
|
|
252
|
+
if (options.agentSmoke) {
|
|
253
|
+
const smokeResults = [];
|
|
254
|
+
for (const route of [config.producer, config.reviewer]) {
|
|
255
|
+
const result = await checked(checks, `agent-sandbox-smoke.${route.agent}`, async () => {
|
|
256
|
+
const value = await runAgentSmokeCheck(workspace, config, route, options.environment ?? process.env, options.executor ?? executeAgent);
|
|
257
|
+
return { value, detail: agentSmokeDetail(value) };
|
|
258
|
+
});
|
|
259
|
+
if (result)
|
|
260
|
+
smokeResults.push(result);
|
|
261
|
+
}
|
|
262
|
+
const smoke = smokeResults.length === 2
|
|
263
|
+
? {
|
|
264
|
+
runtimes: smokeResults
|
|
265
|
+
.map((result) => result.runtime)
|
|
266
|
+
.sort((left, right) => left.agent.localeCompare(right.agent)),
|
|
267
|
+
smokeUsage: smokeResults
|
|
268
|
+
.map((result) => result.usage)
|
|
269
|
+
.sort((left, right) => left.agent.localeCompare(right.agent)),
|
|
270
|
+
}
|
|
271
|
+
: undefined;
|
|
272
|
+
checks.push({
|
|
273
|
+
id: "agent-sandbox-smoke",
|
|
274
|
+
status: smoke ? "pass" : "fail",
|
|
275
|
+
detail: smoke
|
|
276
|
+
? "Both isolated producer and reviewer smoke checks passed."
|
|
277
|
+
: `${smokeResults.length}/2 isolated agent smoke checks passed.`,
|
|
278
|
+
});
|
|
279
|
+
if (smoke &&
|
|
280
|
+
config.mode === "production-research" &&
|
|
281
|
+
!checks.some((check) => check.status === "fail")) {
|
|
282
|
+
await checked(checks, "doctor-attestation", async () => {
|
|
283
|
+
const value = await persistDoctorAttestation(workspace, config, marker, smoke);
|
|
284
|
+
return {
|
|
285
|
+
value,
|
|
286
|
+
detail: `valid until ${value.expiresAt}; sha256=${value.attestationSha256.slice(0, 12)}`,
|
|
287
|
+
};
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
checks.push({
|
|
293
|
+
id: "agent-sandbox-smoke",
|
|
294
|
+
status: config.mode === "production-research" ? "fail" : "warn",
|
|
295
|
+
detail: "Producer/reviewer execution smoke was not run; rerun doctor with --agent-smoke before production research.",
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
}
|
|
177
299
|
return {
|
|
178
300
|
workspace,
|
|
179
301
|
status: checks.some((check) => check.status === "fail") ? "blocked" : "ready",
|
|
180
302
|
checks,
|
|
181
303
|
};
|
|
182
304
|
}
|
|
305
|
+
async function runAgentSmokeCheck(workspace, config, route, environment, executor) {
|
|
306
|
+
const smokeRoot = join(workspacePaths(workspace).runtime, `doctor-${route.agent}-${randomUUID()}`);
|
|
307
|
+
await ensureDirectory(smokeRoot);
|
|
308
|
+
try {
|
|
309
|
+
const projectRoot = join(smokeRoot, "project");
|
|
310
|
+
await ensureDirectory(projectRoot);
|
|
311
|
+
const result = await executor({
|
|
312
|
+
route,
|
|
313
|
+
prompt: 'Return exactly the JSON object {"ok":true}. This checks executable, authentication, structured output, and capsule sandbox readiness only.',
|
|
314
|
+
outputSchema: schemaForStage("doctor"),
|
|
315
|
+
requestId: randomUUID(),
|
|
316
|
+
purpose: "doctor",
|
|
317
|
+
capsuleRoot: smokeRoot,
|
|
318
|
+
projectRoot,
|
|
319
|
+
workspaceRoot: workspace,
|
|
320
|
+
timeoutSeconds: 120,
|
|
321
|
+
maxTurns: 2,
|
|
322
|
+
maxOutputTokens: 128,
|
|
323
|
+
maxCostUsd: Math.min(0.25, config.budget.maxCostUsd),
|
|
324
|
+
toolPolicy: "none",
|
|
325
|
+
environment,
|
|
326
|
+
brokerUrl: null,
|
|
327
|
+
});
|
|
328
|
+
if (result.exitCode !== 0) {
|
|
329
|
+
const diagnostic = [result.stderr.trim(), result.stdout.trim()]
|
|
330
|
+
.filter(Boolean)
|
|
331
|
+
.join("\n")
|
|
332
|
+
.slice(0, 2_000);
|
|
333
|
+
throw new Error(`${route.agent} smoke failed: ${diagnostic || `executor exited ${result.exitCode}`}`);
|
|
334
|
+
}
|
|
335
|
+
parseStructuredStageOutput("doctor", result.stdout);
|
|
336
|
+
if (!result.runtime) {
|
|
337
|
+
throw new Error(`${route.agent} smoke did not return a runtime fingerprint`);
|
|
338
|
+
}
|
|
339
|
+
return {
|
|
340
|
+
runtime: result.runtime,
|
|
341
|
+
usage: {
|
|
342
|
+
agent: route.agent,
|
|
343
|
+
tokens: result.tokens,
|
|
344
|
+
inputTokens: result.inputTokens,
|
|
345
|
+
cachedInputTokens: result.cachedInputTokens,
|
|
346
|
+
outputTokens: result.outputTokens,
|
|
347
|
+
costUsd: result.costUsd,
|
|
348
|
+
wallSeconds: result.wallSeconds,
|
|
349
|
+
telemetry: result.telemetry,
|
|
350
|
+
},
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
finally {
|
|
354
|
+
await rm(smokeRoot, { recursive: true, force: true });
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
function agentSmokeDetail(result) {
|
|
358
|
+
const usage = result.usage;
|
|
359
|
+
const detail = [
|
|
360
|
+
`${result.runtime.agent}@${result.runtime.binaryVersion}`,
|
|
361
|
+
`model=${result.runtime.model ?? "unknown"}`,
|
|
362
|
+
`effort=${result.runtime.effort ?? "unknown"}`,
|
|
363
|
+
`tokens=${usage.tokens}`,
|
|
364
|
+
`input=${usage.inputTokens}`,
|
|
365
|
+
`cached=${usage.cachedInputTokens}`,
|
|
366
|
+
`output=${usage.outputTokens}`,
|
|
367
|
+
`costUsd=${usage.costUsd}`,
|
|
368
|
+
`wallSeconds=${Math.round(usage.wallSeconds * 1000) / 1000}`,
|
|
369
|
+
];
|
|
370
|
+
if (usage.telemetry?.providerErrors.length) {
|
|
371
|
+
detail.push(`providerErrors=${JSON.stringify(usage.telemetry.providerErrors)}`);
|
|
372
|
+
}
|
|
373
|
+
return detail.join(" ");
|
|
374
|
+
}
|
|
375
|
+
async function persistDoctorAttestation(root, expectedConfig, marker, smoke) {
|
|
376
|
+
return withWorkspaceLock(root, "workspace.doctor.attest", async () => {
|
|
377
|
+
const paths = workspacePaths(root);
|
|
378
|
+
const config = await loadWorkspaceConfig(root);
|
|
379
|
+
if (canonicalJson(config) !== canonicalJson(expectedConfig)) {
|
|
380
|
+
throw new Error("workspace configuration changed during doctor smoke");
|
|
381
|
+
}
|
|
382
|
+
const capabilities = await verifyCapabilities(root);
|
|
383
|
+
if (capabilities.status !== "verified") {
|
|
384
|
+
throw new Error("capability lock changed during doctor smoke");
|
|
385
|
+
}
|
|
386
|
+
const checkedAt = new Date().toISOString();
|
|
387
|
+
const core = {
|
|
388
|
+
schemaVersion: 1,
|
|
389
|
+
workspaceId: marker.workspaceId,
|
|
390
|
+
checkedAt,
|
|
391
|
+
expiresAt: new Date(Date.parse(checkedAt) + DOCTOR_ATTESTATION_TTL_MS).toISOString(),
|
|
392
|
+
configSha256: sha256Text(canonicalJson(config)),
|
|
393
|
+
runtimeLockSha256: await sha256File(paths.runtimeLock),
|
|
394
|
+
capabilityDeclarationsSha256: await sha256File(paths.capabilityDeclarations),
|
|
395
|
+
capabilityLockSha256: await sha256File(paths.capabilityLock),
|
|
396
|
+
doctorSchemaSha256: sha256Text(canonicalJson(schemaForStage("doctor"))),
|
|
397
|
+
runtimes: smoke.runtimes,
|
|
398
|
+
smokeUsage: smoke.smokeUsage,
|
|
399
|
+
};
|
|
400
|
+
const value = {
|
|
401
|
+
...core,
|
|
402
|
+
attestationSha256: sha256Text(canonicalJson(core)),
|
|
403
|
+
};
|
|
404
|
+
await writeJsonAtomic(paths.doctorAttestation, value);
|
|
405
|
+
await appendJournalEvent(paths.journal, "workspace.doctor.attested", marker.workspaceId, {
|
|
406
|
+
attestationSha256: value.attestationSha256,
|
|
407
|
+
checkedAt: value.checkedAt,
|
|
408
|
+
expiresAt: value.expiresAt,
|
|
409
|
+
runtimes: value.runtimes,
|
|
410
|
+
smokeUsage: value.smokeUsage,
|
|
411
|
+
});
|
|
412
|
+
return value;
|
|
413
|
+
});
|
|
414
|
+
}
|
|
415
|
+
export async function verifyDoctorAttestation(root) {
|
|
416
|
+
const paths = workspacePaths(root);
|
|
417
|
+
const value = await readJsonFile(paths.doctorAttestation, "Doctor attestation").catch(() => null);
|
|
418
|
+
if (!isDoctorAttestation(value)) {
|
|
419
|
+
return {
|
|
420
|
+
status: value === null ? "missing" : "invalid",
|
|
421
|
+
errors: ["doctor attestation is missing or invalid"],
|
|
422
|
+
attestation: null,
|
|
423
|
+
};
|
|
424
|
+
}
|
|
425
|
+
const { attestationSha256, ...core } = value;
|
|
426
|
+
const errors = [];
|
|
427
|
+
if (sha256Text(canonicalJson(core)) !== attestationSha256)
|
|
428
|
+
errors.push("attestation hash mismatch");
|
|
429
|
+
const marker = await loadWorkspaceMarker(root);
|
|
430
|
+
const config = await loadWorkspaceConfig(root);
|
|
431
|
+
if (value.workspaceId !== marker.workspaceId)
|
|
432
|
+
errors.push("workspace ID drifted");
|
|
433
|
+
if (value.configSha256 !== sha256Text(canonicalJson(config)))
|
|
434
|
+
errors.push("workspace config drifted");
|
|
435
|
+
if (value.runtimeLockSha256 !== (await sha256File(paths.runtimeLock)))
|
|
436
|
+
errors.push("runtime lock drifted");
|
|
437
|
+
if (value.capabilityDeclarationsSha256 !== (await sha256File(paths.capabilityDeclarations))) {
|
|
438
|
+
errors.push("capability declarations drifted");
|
|
439
|
+
}
|
|
440
|
+
if (value.capabilityLockSha256 !== (await sha256File(paths.capabilityLock).catch(() => ""))) {
|
|
441
|
+
errors.push("capability lock drifted");
|
|
442
|
+
}
|
|
443
|
+
if (value.doctorSchemaSha256 !== sha256Text(canonicalJson(schemaForStage("doctor")))) {
|
|
444
|
+
errors.push("doctor schema drifted");
|
|
445
|
+
}
|
|
446
|
+
if (errors.length)
|
|
447
|
+
return { status: "drifted", errors, attestation: value };
|
|
448
|
+
if (Date.parse(value.expiresAt) <= Date.now()) {
|
|
449
|
+
return { status: "expired", errors: ["doctor attestation expired"], attestation: value };
|
|
450
|
+
}
|
|
451
|
+
return { status: "verified", errors: [], attestation: value };
|
|
452
|
+
}
|
|
453
|
+
function isDoctorAttestation(value) {
|
|
454
|
+
if (!isObject(value) || value.schemaVersion !== 1)
|
|
455
|
+
return false;
|
|
456
|
+
const hashFields = [
|
|
457
|
+
value.configSha256,
|
|
458
|
+
value.runtimeLockSha256,
|
|
459
|
+
value.capabilityDeclarationsSha256,
|
|
460
|
+
value.capabilityLockSha256,
|
|
461
|
+
value.doctorSchemaSha256,
|
|
462
|
+
value.attestationSha256,
|
|
463
|
+
];
|
|
464
|
+
if (typeof value.workspaceId !== "string" ||
|
|
465
|
+
typeof value.checkedAt !== "string" ||
|
|
466
|
+
!Number.isFinite(Date.parse(value.checkedAt)) ||
|
|
467
|
+
typeof value.expiresAt !== "string" ||
|
|
468
|
+
!Number.isFinite(Date.parse(value.expiresAt)) ||
|
|
469
|
+
hashFields.some((hash) => typeof hash !== "string" || !/^[0-9a-f]{64}$/.test(hash)) ||
|
|
470
|
+
!Array.isArray(value.runtimes) ||
|
|
471
|
+
value.runtimes.length !== 2 ||
|
|
472
|
+
!Array.isArray(value.smokeUsage) ||
|
|
473
|
+
value.smokeUsage.length !== 2) {
|
|
474
|
+
return false;
|
|
475
|
+
}
|
|
476
|
+
return value.runtimes.every((runtime) => isObject(runtime) &&
|
|
477
|
+
(runtime.agent === "codex" || runtime.agent === "claude") &&
|
|
478
|
+
(runtime.model === null || typeof runtime.model === "string") &&
|
|
479
|
+
typeof runtime.binarySha256 === "string" &&
|
|
480
|
+
/^[0-9a-f]{64}$/.test(runtime.binarySha256) &&
|
|
481
|
+
typeof runtime.wrapperSha256 === "string" &&
|
|
482
|
+
/^[0-9a-f]{64}$/.test(runtime.wrapperSha256) &&
|
|
483
|
+
typeof runtime.adapterSha256 === "string" &&
|
|
484
|
+
/^[0-9a-f]{64}$/.test(runtime.adapterSha256) &&
|
|
485
|
+
typeof runtime.binaryVersion === "string" &&
|
|
486
|
+
typeof runtime.platform === "string" &&
|
|
487
|
+
typeof runtime.architecture === "string");
|
|
488
|
+
}
|
|
183
489
|
export async function withWorkspaceLock(root, operation, callback) {
|
|
184
490
|
await requireCurrentRuntimeLock(root);
|
|
185
491
|
const paths = workspacePaths(root);
|
|
@@ -267,6 +573,8 @@ async function readProjectStates(projectsPath) {
|
|
|
267
573
|
function isWorkspaceConfig(value) {
|
|
268
574
|
if (!isObject(value) || value.schemaVersion !== 1)
|
|
269
575
|
return false;
|
|
576
|
+
if (value.mode !== "smoke-test" && value.mode !== "production-research")
|
|
577
|
+
return false;
|
|
270
578
|
if (!isAgentRoute(value.producer) || !isAgentRoute(value.reviewer))
|
|
271
579
|
return false;
|
|
272
580
|
const budget = value.budget;
|
|
@@ -276,14 +584,60 @@ function isWorkspaceConfig(value) {
|
|
|
276
584
|
positiveInteger(budget.maxWallSeconds) &&
|
|
277
585
|
positiveInteger(budget.maxFilesPerPackage) &&
|
|
278
586
|
positiveInteger(budget.maxBytesPerPackage) &&
|
|
279
|
-
positiveInteger(budget.maxAttemptsPerPackage)
|
|
587
|
+
positiveInteger(budget.maxAttemptsPerPackage) &&
|
|
588
|
+
positiveNumber(budget.confirmationCostUsd) &&
|
|
589
|
+
isObject(budget.packageMaxTokens) &&
|
|
590
|
+
positiveInteger(budget.packageMaxTokens.discover) &&
|
|
591
|
+
positiveInteger(budget.packageMaxTokens.analyze) &&
|
|
592
|
+
positiveInteger(budget.packageMaxTokens.synthesize) &&
|
|
593
|
+
positiveInteger(budget.packageMaxTokens.review) &&
|
|
594
|
+
isObject(budget.packageMaxWallSeconds) &&
|
|
595
|
+
positiveInteger(budget.packageMaxWallSeconds.discover) &&
|
|
596
|
+
positiveInteger(budget.packageMaxWallSeconds.analyze) &&
|
|
597
|
+
positiveInteger(budget.packageMaxWallSeconds.synthesize) &&
|
|
598
|
+
positiveInteger(budget.packageMaxWallSeconds.review) &&
|
|
599
|
+
positiveInteger(budget.maxOutputTokens) &&
|
|
600
|
+
positiveInteger(budget.maxRepairTokens) &&
|
|
601
|
+
budget.maxRepairTokens <= budget.maxOutputTokens &&
|
|
602
|
+
positiveInteger(budget.maxBrokerResponseBytes) &&
|
|
603
|
+
positiveInteger(budget.maxBrokerContextTokens) &&
|
|
604
|
+
budget.maxBrokerContextTokens >= 16 &&
|
|
605
|
+
positiveInteger(budget.maxBrokerItems) &&
|
|
606
|
+
positiveInteger(budget.maxInputContextTokens));
|
|
280
607
|
}
|
|
281
608
|
function isAgentRoute(value) {
|
|
282
|
-
|
|
609
|
+
if (!(isObject(value) &&
|
|
283
610
|
(value.agent === "codex" || value.agent === "claude") &&
|
|
284
611
|
typeof value.binary === "string" &&
|
|
285
612
|
value.binary.length > 0 &&
|
|
286
|
-
(value.
|
|
613
|
+
(value.wrapperTargetBinary === undefined ||
|
|
614
|
+
(typeof value.wrapperTargetBinary === "string" &&
|
|
615
|
+
isAbsolute(value.wrapperTargetBinary) &&
|
|
616
|
+
isAbsolute(value.binary) &&
|
|
617
|
+
value.wrapperTargetBinary !== value.binary)) &&
|
|
618
|
+
(value.model === null || (typeof value.model === "string" && value.model.length > 0)) &&
|
|
619
|
+
(value.pricing === undefined || isAgentPricing(value.pricing)))) {
|
|
620
|
+
return false;
|
|
621
|
+
}
|
|
622
|
+
const effort = value.effort;
|
|
623
|
+
if (effort !== undefined &&
|
|
624
|
+
!((value.agent === "codex" &&
|
|
625
|
+
["minimal", "low", "medium", "high", "xhigh"].includes(String(effort))) ||
|
|
626
|
+
(value.agent === "claude" &&
|
|
627
|
+
["low", "medium", "high", "xhigh", "max"].includes(String(effort))))) {
|
|
628
|
+
return false;
|
|
629
|
+
}
|
|
630
|
+
if (value.verbosity !== undefined &&
|
|
631
|
+
(value.agent !== "codex" || !["low", "medium", "high"].includes(String(value.verbosity)))) {
|
|
632
|
+
return false;
|
|
633
|
+
}
|
|
634
|
+
return true;
|
|
635
|
+
}
|
|
636
|
+
function isAgentPricing(value) {
|
|
637
|
+
return (isObject(value) &&
|
|
638
|
+
nonNegativeNumber(value.inputUsdPerMillionTokens) &&
|
|
639
|
+
nonNegativeNumber(value.cachedInputUsdPerMillionTokens) &&
|
|
640
|
+
nonNegativeNumber(value.outputUsdPerMillionTokens));
|
|
287
641
|
}
|
|
288
642
|
function isRuntimeLock(value) {
|
|
289
643
|
return (isObject(value) &&
|
|
@@ -298,10 +652,15 @@ function isProjectStateShape(value) {
|
|
|
298
652
|
value.schemaVersion === 1 &&
|
|
299
653
|
typeof value.id === "string" &&
|
|
300
654
|
typeof value.question === "string" &&
|
|
655
|
+
(value.budgetConfirmedAt === null || typeof value.budgetConfirmedAt === "string") &&
|
|
301
656
|
["ready", "running", "blocked", "complete"].includes(String(value.status)) &&
|
|
302
657
|
Array.isArray(value.inputs) &&
|
|
658
|
+
isObject(value.evidenceRequirements) &&
|
|
303
659
|
Array.isArray(value.packages) &&
|
|
304
|
-
isObject(value.usage)
|
|
660
|
+
isObject(value.usage) &&
|
|
661
|
+
typeof value.usage.inputTokens === "number" &&
|
|
662
|
+
typeof value.usage.cachedInputTokens === "number" &&
|
|
663
|
+
typeof value.usage.outputTokens === "number");
|
|
305
664
|
}
|
|
306
665
|
async function checked(checks, id, callback) {
|
|
307
666
|
try {
|
|
@@ -334,6 +693,9 @@ function positiveInteger(value) {
|
|
|
334
693
|
function positiveNumber(value) {
|
|
335
694
|
return typeof value === "number" && Number.isFinite(value) && value > 0;
|
|
336
695
|
}
|
|
696
|
+
function nonNegativeNumber(value) {
|
|
697
|
+
return typeof value === "number" && Number.isFinite(value) && value >= 0;
|
|
698
|
+
}
|
|
337
699
|
function isLogicalCredentialId(value) {
|
|
338
700
|
return /^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$/.test(value);
|
|
339
701
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/research/workspace/workspace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/research/workspace/workspace.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tiangong-ai/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.22",
|
|
4
4
|
"description": "Tiangong AI command-line interface.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@aws-sdk/client-s3": "^3.1056.0",
|
|
60
|
+
"ajv": "8.20.0",
|
|
60
61
|
"pdf-lib": "^1.17.1",
|
|
61
62
|
"sharp": "^0.34.5"
|
|
62
63
|
}
|