@ccdd/project 4.3.0 → 5.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.
Files changed (84) hide show
  1. package/dist/monitor-ui/assets/{GraphView-6yzqBOLv.js → GraphView-BDrRFY2b.js} +3 -3
  2. package/dist/monitor-ui/assets/ValidationView-CznEpoWz.js +1 -0
  3. package/dist/monitor-ui/assets/ValidationView-DBRoun_B.css +1 -0
  4. package/dist/monitor-ui/assets/{elk-api-BwZQovT5.js → elk-api-BJkhNJwW.js} +1 -1
  5. package/dist/monitor-ui/assets/{elk.bundled-CQowIhI8.js → elk.bundled-uROSxMms.js} +1 -1
  6. package/dist/monitor-ui/assets/{index-D0yfhUlt.css → index-CRKnM9pk.css} +1 -1
  7. package/dist/monitor-ui/assets/index-CTW1fvAj.js +6 -0
  8. package/dist/monitor-ui/index.html +2 -2
  9. package/dist/src/artifacts/tool-check.js +1 -3
  10. package/dist/src/artifacts/tool-check.js.map +1 -1
  11. package/dist/src/broker/config.js +5 -1
  12. package/dist/src/broker/config.js.map +1 -1
  13. package/dist/src/broker/index.d.ts +44 -84
  14. package/dist/src/broker/index.js +175 -50
  15. package/dist/src/broker/index.js.map +1 -1
  16. package/dist/src/broker/polling.d.ts +11 -0
  17. package/dist/src/broker/polling.js +27 -0
  18. package/dist/src/broker/polling.js.map +1 -0
  19. package/dist/src/contracts.d.ts +4 -4
  20. package/dist/src/definitions.d.ts +3 -1
  21. package/dist/src/executors/index.js +6 -21
  22. package/dist/src/executors/index.js.map +1 -1
  23. package/dist/src/executors/pi.d.ts +3 -1
  24. package/dist/src/executors/pi.js +2 -0
  25. package/dist/src/executors/pi.js.map +1 -1
  26. package/dist/src/executors/telemetry.d.ts +2 -0
  27. package/dist/src/executors/telemetry.js +12 -0
  28. package/dist/src/executors/telemetry.js.map +1 -1
  29. package/dist/src/monitor/actions.d.ts +1 -1
  30. package/dist/src/monitor/actions.js +3 -3
  31. package/dist/src/monitor/actions.js.map +1 -1
  32. package/dist/src/monitor/server.js +10 -5
  33. package/dist/src/monitor/server.js.map +1 -1
  34. package/dist/src/monitor/store.js +10 -6
  35. package/dist/src/monitor/store.js.map +1 -1
  36. package/dist/src/monitor/types.d.ts +5 -7
  37. package/dist/src/project/cli.js +47 -24
  38. package/dist/src/project/cli.js.map +1 -1
  39. package/dist/src/project/identity.d.ts +6 -1
  40. package/dist/src/project/identity.js +42 -13
  41. package/dist/src/project/identity.js.map +1 -1
  42. package/dist/src/project/index.d.ts +21 -6
  43. package/dist/src/project/index.js +19 -8
  44. package/dist/src/project/index.js.map +1 -1
  45. package/dist/src/project/owner-identity.d.ts +0 -4
  46. package/dist/src/project/owner-identity.js +5 -3
  47. package/dist/src/project/owner-identity.js.map +1 -1
  48. package/dist/src/project/prune.d.ts +12 -0
  49. package/dist/src/project/prune.js +132 -0
  50. package/dist/src/project/prune.js.map +1 -0
  51. package/dist/src/project/query.js +9 -9
  52. package/dist/src/project/query.js.map +1 -1
  53. package/dist/src/project/store.d.ts +4 -3
  54. package/dist/src/project/store.js +12 -7
  55. package/dist/src/project/store.js.map +1 -1
  56. package/dist/src/project/types.d.ts +8 -6
  57. package/dist/src/requester/index.js +1 -1
  58. package/dist/src/requester/index.js.map +1 -1
  59. package/dist/src/response-schema.d.ts +13 -0
  60. package/dist/src/response-schema.js +33 -0
  61. package/dist/src/response-schema.js.map +1 -0
  62. package/dist/src/result-view.d.ts +72 -0
  63. package/dist/src/result-view.js +44 -0
  64. package/dist/src/result-view.js.map +1 -0
  65. package/dist/src/review/local-claim.d.ts +1 -1
  66. package/dist/src/review/local-claim.js.map +1 -1
  67. package/dist/src/review-result.d.ts +2 -1
  68. package/dist/src/review-result.js +9 -8
  69. package/dist/src/review-result.js.map +1 -1
  70. package/dist/src/state-format.d.ts +8 -0
  71. package/dist/src/state-format.js +18 -0
  72. package/dist/src/state-format.js.map +1 -0
  73. package/dist/src/tools/runner.d.ts +2 -0
  74. package/dist/src/tools/runner.js +41 -11
  75. package/dist/src/tools/runner.js.map +1 -1
  76. package/dist/src/worker-client.d.ts +3 -2
  77. package/dist/src/worker-client.js +7 -4
  78. package/dist/src/worker-client.js.map +1 -1
  79. package/dist/src/worker.js +1 -1
  80. package/dist/src/worker.js.map +1 -1
  81. package/package.json +2 -2
  82. package/dist/monitor-ui/assets/ValidationView-BMqI2XQ5.css +0 -1
  83. package/dist/monitor-ui/assets/ValidationView-BwHWjMUI.js +0 -1
  84. package/dist/monitor-ui/assets/index-CoJ9_gC3.js +0 -7
@@ -0,0 +1,72 @@
1
+ import type { ReviewRequest } from './contracts.js';
2
+ import type { RunView } from './broker/index.js';
3
+ import type { CriticValidation, ProjectPlan, ProjectQuery, ValidationEvidence } from './project/types.js';
4
+ export type ResultDetail = 'compact' | 'full';
5
+ export interface ResultOptions<D extends ResultDetail = 'compact'> {
6
+ detail?: D;
7
+ }
8
+ export type ResultView<D extends ResultDetail, Full, Compact> = D extends 'full' ? Full : Compact;
9
+ export interface ReviewReference {
10
+ runId: string;
11
+ requestId: string | null;
12
+ stateDir: string;
13
+ }
14
+ export interface RequesterResult {
15
+ verdict: 'GREEN' | 'RED';
16
+ reference: ReviewReference;
17
+ reusedFrom?: ReviewReference;
18
+ [field: string]: unknown;
19
+ }
20
+ export interface RequesterRequest {
21
+ id: string;
22
+ runId: string;
23
+ criticId: string;
24
+ target: string;
25
+ status: ReviewRequest['status'];
26
+ inputKey: string | null;
27
+ reference: ReviewReference;
28
+ result: RequesterResult | null;
29
+ error?: string | null;
30
+ errorCode?: string | null;
31
+ blockedReason?: string | null;
32
+ }
33
+ export interface ResultReference {
34
+ requestId: string;
35
+ }
36
+ export type RequesterCritic = Omit<CriticValidation, 'input' | 'result'> & {
37
+ inputKey: string;
38
+ result: ResultReference | null;
39
+ };
40
+ export type RequesterQuery = Omit<ProjectQuery, 'critics'> & {
41
+ critics: RequesterCritic[];
42
+ results: RequesterResult[];
43
+ };
44
+ export type RequesterPlan = Omit<ProjectPlan, 'critics' | 'items'> & {
45
+ critics: RequesterCritic[];
46
+ items: (RequesterCritic & {
47
+ action: ProjectPlan['items'][number]['action'];
48
+ })[];
49
+ results: RequesterResult[];
50
+ };
51
+ export interface RequesterRun {
52
+ id: string;
53
+ status: RunView['status'];
54
+ workspaceIntegrity: 'content' | 'metadata';
55
+ reference: ReviewReference;
56
+ results: RequesterResult[];
57
+ requests: (Omit<RequesterRequest, 'result'> & {
58
+ result: ResultReference | null;
59
+ })[];
60
+ validation?: Omit<RequesterPlan, 'results'>;
61
+ error?: string;
62
+ }
63
+ export declare const reviewReference: (stateDir: string, runId: string, requestId: string | null) => ReviewReference;
64
+ /** Whitelists deliberately keep new audit fields out of requester output. Never mutate stored evidence. */
65
+ export declare function requesterEvidence(evidence: ValidationEvidence, stateDir: string): RequesterResult;
66
+ export declare function requesterRequest(request: ReviewRequest, stateDir: string): RequesterRequest;
67
+ export declare function requesterQuery(query: ProjectQuery, stateDir: string): RequesterQuery;
68
+ export declare function requesterPlan(plan: ProjectPlan, stateDir: string): RequesterPlan;
69
+ export declare function requesterRun(run: Pick<RunView, 'id' | 'status' | 'workspace' | 'requests' | 'error'> & {
70
+ validation?: ProjectPlan;
71
+ }, stateDir: string): RequesterRun;
72
+ export declare function resultView<D extends ResultDetail, Full, Compact>(options: ResultOptions<D>, full: Full, compact: () => Compact): ResultView<D, Full, Compact>;
@@ -0,0 +1,44 @@
1
+ import { semanticResult } from './response-schema.js';
2
+ import { resolve } from 'node:path';
3
+ export const reviewReference = (stateDir, runId, requestId) => ({ runId, requestId, stateDir: resolve(stateDir) });
4
+ /** Whitelists deliberately keep new audit fields out of requester output. Never mutate stored evidence. */
5
+ export function requesterEvidence(evidence, stateDir) {
6
+ return { ...semanticResult(evidence.result), verdict: evidence.verdict,
7
+ reference: reviewReference(stateDir, evidence.runId, evidence.requestId) };
8
+ }
9
+ export function requesterRequest(request, stateDir) {
10
+ const reference = reviewReference(stateDir, request.runId, request.id), inputKey = request.validationInput?.key ?? null;
11
+ return { id: request.id, runId: request.runId, criticId: request.criticId, target: request.target, status: request.status,
12
+ inputKey, reference, error: request.error, errorCode: request.errorCode, blockedReason: request.blockedReason,
13
+ result: request.result ? { ...semanticResult(request.result), verdict: request.result.verdict, reference } : null };
14
+ }
15
+ function requesterCritic(critic) {
16
+ const { input, result, ...rest } = critic;
17
+ return { ...rest, inputKey: input.key, result: result ? { requestId: result.requestId } : null };
18
+ }
19
+ export function requesterQuery(query, stateDir) {
20
+ return { ...query, critics: query.critics.map(critic => requesterCritic(critic)),
21
+ results: uniqueResults(query.critics.flatMap(critic => critic.result ? [requesterEvidence(critic.result, stateDir)] : [])) };
22
+ }
23
+ export function requesterPlan(plan, stateDir) {
24
+ return { ...plan, ...requesterQuery(plan, stateDir), items: plan.items.map(critic => requesterCritic(critic)) };
25
+ }
26
+ export function requesterRun(run, stateDir) {
27
+ const requests = run.requests.map(request => requesterRequest(request, stateDir));
28
+ const plan = run.validation ? requesterPlan(run.validation, stateDir) : undefined;
29
+ const { results: validationResults = [], ...validation } = plan ?? {};
30
+ return { id: run.id, status: run.status, workspaceIntegrity: run.workspace?.integrity ?? 'content',
31
+ reference: reviewReference(stateDir, run.id, null), error: run.error,
32
+ results: uniqueResults([...requests.flatMap(request => request.result ? [request.result] : []), ...validationResults]).map(result => result.reference.runId === run.id ? result : { ...result, reusedFrom: result.reference }),
33
+ requests: requests.map(({ result, ...request }) => ({ ...request, result: result ? { requestId: request.id } : null })),
34
+ ...(plan ? { validation: validation } : {}) };
35
+ }
36
+ function uniqueResults(results) {
37
+ return [...new Map(results.map(result => [result.reference.requestId, result])).values()];
38
+ }
39
+ export function resultView(options, full, compact) {
40
+ if (options.detail !== undefined && options.detail !== 'compact' && options.detail !== 'full')
41
+ throw new Error('detail must be compact or full.');
42
+ return (options.detail === 'full' ? full : compact());
43
+ }
44
+ //# sourceMappingURL=result-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-view.js","sourceRoot":"","sources":["../../src/result-view.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Broker } from '../broker/index.js';
2
2
  /** Keep the local CLI alive long enough to release Try Claim and stop its checks. */
3
- export declare function claimHumanFromCli(broker: Broker, requestId: string, reviewerId: string, stderr: {
3
+ export declare function claimHumanFromCli(broker: Broker<'full'>, requestId: string, reviewerId: string, stderr: {
4
4
  write(value: string): unknown;
5
5
  }): Promise<import("../contracts.js").ReviewRequest>;
@@ -1 +1 @@
1
- {"version":3,"file":"local-claim.js","sourceRoot":"","sources":["../../../src/review/local-claim.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAc,EAAE,SAAiB,EAAE,UAAkB,EAAE,MAAyC;IACtI,OAAO,mBAAmB,CAAC,oCAAoC,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QAC9E,MAAM,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;QAC5F,OAAO,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"local-claim.js","sourceRoot":"","sources":["../../../src/review/local-claim.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAsB,EAAE,SAAiB,EAAE,UAAkB,EAAE,MAAyC;IAC9I,OAAO,mBAAmB,CAAC,oCAAoC,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QAC9E,MAAM,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;QAC5F,OAAO,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,6 @@
1
+ import { type ResponseSchemas } from './response-schema.js';
1
2
  import type { ReviewResult, ReviewToolCall } from './contracts.js';
2
3
  export declare function storedObservation(value: unknown, isError?: boolean): ReviewToolCall['observation'];
3
- export declare function normalizeReviewResult(value: unknown): ReviewResult;
4
+ export declare function normalizeReviewResult(value: unknown, schemas?: ResponseSchemas): ReviewResult;
4
5
  /** Cache immutable metadata normalization/serialization across final-response candidates. */
5
6
  export declare function createReviewResultSizeCheck(metadata: Pick<ReviewResult, 'provider' | 'model' | 'toolCalls'>): (value: unknown) => ReviewResult;
@@ -1,3 +1,4 @@
1
+ import { semanticResult, validateFinalResult } from './response-schema.js';
1
2
  const object = (value) => value !== null && typeof value === 'object' && !Array.isArray(value);
2
3
  const copy = (value) => JSON.parse(JSON.stringify(value));
3
4
  export function storedObservation(value, isError = false) {
@@ -18,11 +19,9 @@ export function storedObservation(value, isError = false) {
18
19
  return observation;
19
20
  }
20
21
  function measureReviewResult(value) {
21
- if (!object(value) || (value.verdict !== 'GREEN' && value.verdict !== 'RED') || typeof value.summary !== 'string' || !value.summary.trim() ||
22
- !Array.isArray(value.evidence) || value.evidence.some(item => typeof item !== 'string')) {
23
- throw new Error('Review result requires GREEN/RED verdict, a summary, and string evidence[].');
24
- }
25
- const result = { verdict: value.verdict, summary: value.summary.slice(0, 12_000), evidence: value.evidence.slice(0, 100).map(item => item.slice(0, 4000)) };
22
+ if (!object(value) || !['GREEN', 'RED'].includes(String(value.verdict)))
23
+ throw new Error('Review result requires a GREEN/RED verdict.');
24
+ const result = copy(semanticResult(value));
26
25
  for (const key of ['provider', 'model', 'stdout', 'stderr']) {
27
26
  const field = value[key];
28
27
  if (typeof field === 'string')
@@ -34,7 +33,7 @@ function measureReviewResult(value) {
34
33
  result[key] = field;
35
34
  }
36
35
  if (Array.isArray(value.toolCalls))
37
- result.toolCalls = value.toolCalls.slice(0, 100).filter((item) => object(item) && typeof item.name === 'string').map(item => {
36
+ result.toolCalls = value.toolCalls.filter((item) => object(item) && typeof item.name === 'string').map(item => {
38
37
  const call = { name: item.name, ...(item.arguments === undefined ? {} : { arguments: copy(item.arguments) }) };
39
38
  const observation = storedObservation(item.observation, item.isError === true);
40
39
  if (item.isError === true)
@@ -45,7 +44,9 @@ function measureReviewResult(value) {
45
44
  });
46
45
  return { result, length: JSON.stringify(result).length };
47
46
  }
48
- export function normalizeReviewResult(value) {
47
+ export function normalizeReviewResult(value, schemas) {
48
+ if (schemas)
49
+ validateFinalResult(object(value) ? semanticResult(value) : value, schemas);
49
50
  const measured = measureReviewResult(value);
50
51
  assertResultSize(measured.length);
51
52
  return measured.result;
@@ -56,7 +57,7 @@ function assertResultSize(length) {
56
57
  }
57
58
  /** Cache immutable metadata normalization/serialization across final-response candidates. */
58
59
  export function createReviewResultSizeCheck(metadata) {
59
- const placeholder = { verdict: 'GREEN', summary: '.', evidence: [] };
60
+ const placeholder = { verdict: 'GREEN' };
60
61
  // Measure without rejecting here: even an over-limit size must stay cached.
61
62
  const metadataSize = measureReviewResult({ ...placeholder, ...metadata }).length - JSON.stringify(placeholder).length;
62
63
  return (value) => {
@@ -1 +1 @@
1
- {"version":3,"file":"review-result.js","sourceRoot":"","sources":["../../src/review-result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review-result.js","sourceRoot":"","sources":["../../src/review-result.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { DatabaseSync } from 'node:sqlite';
2
+ export declare class StateFormatError extends Error {
3
+ constructor();
4
+ }
5
+ /** No legacy reads or migrations: all entry points use the same format gate. */
6
+ export declare function assertStateFormat(database: DatabaseSync): void;
7
+ /** Called inside the initialization transaction, before creating any tables. */
8
+ export declare function initializeStateFormat(database: DatabaseSync): void;
@@ -0,0 +1,18 @@
1
+ export class StateFormatError extends Error {
2
+ constructor() { super('This state directory was created by an earlier CCDD major or an unsupported format; use a new state directory.'); }
3
+ }
4
+ /** No legacy reads or migrations: all entry points use the same format gate. */
5
+ export function assertStateFormat(database) {
6
+ if (database.prepare('PRAGMA user_version').get()?.user_version !== 5)
7
+ throw new StateFormatError();
8
+ }
9
+ /** Called inside the initialization transaction, before creating any tables. */
10
+ export function initializeStateFormat(database) {
11
+ const version = database.prepare('PRAGMA user_version').get()?.user_version;
12
+ const existing = database.prepare("SELECT 1 FROM sqlite_master WHERE type='table' LIMIT 1").get();
13
+ if (version === 0 && !existing)
14
+ database.exec('PRAGMA user_version=5');
15
+ else
16
+ assertStateFormat(database);
17
+ }
18
+ //# sourceMappingURL=state-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-format.js","sourceRoot":"","sources":["../../src/state-format.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,gBAAgB,KAAK,CAAC,gHAAgH,CAAC,CAAC,CAAC,CAAC;CAC3I;AAED,gFAAgF;AAChF,MAAM,UAAU,iBAAiB,CAAC,QAAsB;IACtD,IAAI,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,EAAE,YAAY,KAAK,CAAC;QAAE,MAAM,IAAI,gBAAgB,EAAE,CAAC;AACtG,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,qBAAqB,CAAC,QAAsB;IAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC;IAC5E,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC,GAAG,EAAE,CAAC;IAClG,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;;QAClE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC"}
@@ -35,6 +35,8 @@ export interface ToolExecutionDiagnostic {
35
35
  startedAt: string;
36
36
  durationMs: number;
37
37
  outcome: 'success' | 'error';
38
+ contentBytes: number;
39
+ contentBytesByType: Record<'text' | 'json' | 'image' | 'launch', number>;
38
40
  }
39
41
  export interface ReviewToolsOptions {
40
42
  worktreePath: string;
@@ -1,5 +1,5 @@
1
1
  import { constants } from 'node:fs';
2
- import { access, lstat, mkdir, mkdtemp, readFile, realpath } from 'node:fs/promises';
2
+ import { access, lstat, mkdir, mkdtemp, readFile, realpath, rm } from 'node:fs/promises';
3
3
  import { tmpdir } from 'node:os';
4
4
  import { delimiter, dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';
5
5
  import { isDeepStrictEqual } from 'node:util';
@@ -11,6 +11,15 @@ import { metadata, object, jsonCopy, validateArguments } from './schema.js';
11
11
  import { matchesToolManifest } from './manifest.js';
12
12
  import { scopedPath, within } from './paths.js';
13
13
  import { safeToolFailure, ToolResultError } from './diagnostics.js';
14
+ /** Payload bytes, not transport framing: UTF-8 text/JSON, decoded images and launch JSON. */
15
+ function responseBytes(result) {
16
+ const contentBytesByType = { text: 0, json: 0, image: 0, launch: 0 };
17
+ for (const block of result?.content ?? []) {
18
+ contentBytesByType[block.type] += block.type === 'image' ? Buffer.from('data' in block ? block.data : '', 'base64').length
19
+ : Buffer.byteLength(block.type === 'text' ? block.text : JSON.stringify(block.type === 'json' ? block.data : { kind: 'launch', launched: block.launched }));
20
+ }
21
+ return { contentBytes: Object.values(contentBytesByType).reduce((sum, bytes) => sum + bytes, 0), contentBytesByType };
22
+ }
14
23
  export function describeReviewTools({ artifacts, configManifest, audience }) {
15
24
  if (configManifest.version !== 2 || !/^[a-f0-9]{64}$/.test(configManifest.configHash))
16
25
  throw new Error('Unsupported stored tool manifest.');
@@ -174,17 +183,38 @@ export async function createReviewTools(options) {
174
183
  throw mismatch();
175
184
  }
176
185
  const tools = describeReviewTools({ artifacts, configManifest, audience }), recorded = [];
177
- const base = await externalDirectory(root, options.runDir ?? await mkdtemp(join(tmpdir(), 'ccdd-tools-')));
178
- const outputDir = await mkdtemp(join(base, 'tool-output-'));
179
- const scope = Object.fromEntries(await Promise.all(artifacts.map(async (artifact) => [artifact.id, {
180
- path: await scopedPath(root, artifact.path), children: structuredClone(artifact.children), mounts: structuredClone(artifact.mounts),
181
- }])));
186
+ let ownedBase, outputDir;
187
+ let scope;
188
+ try {
189
+ if (options.runDir === undefined)
190
+ ownedBase = await mkdtemp(join(tmpdir(), 'ccdd-tools-'));
191
+ const base = await externalDirectory(root, options.runDir ?? ownedBase);
192
+ outputDir = await mkdtemp(join(base, 'tool-output-'));
193
+ scope = Object.fromEntries(await Promise.all(artifacts.map(async (artifact) => [artifact.id, {
194
+ path: await scopedPath(root, artifact.path), children: structuredClone(artifact.children), mounts: structuredClone(artifact.mounts),
195
+ }])));
196
+ signal?.throwIfAborted();
197
+ }
198
+ catch (error) {
199
+ if (ownedBase ?? outputDir)
200
+ await rm((ownedBase ?? outputDir), { recursive: true, force: true });
201
+ throw error;
202
+ }
182
203
  const controller = new AbortController(), active = new Set();
183
- const abort = () => controller.abort(signal?.reason);
204
+ let closed = false, closing;
205
+ const close = () => {
206
+ closed = true;
207
+ controller.abort(signal?.reason);
208
+ signal?.removeEventListener('abort', abort);
209
+ return closing ??= (async () => {
210
+ await Promise.allSettled([...active]);
211
+ await rm(ownedBase ?? outputDir, { recursive: true, force: true });
212
+ })();
213
+ };
214
+ const abort = () => { void close().catch(() => { }); };
184
215
  signal?.addEventListener('abort', abort, { once: true });
185
216
  if (signal?.aborted)
186
217
  abort();
187
- let closed = false;
188
218
  const find = (name) => { const tool = tools.find(value => value.name === name); if (!tool)
189
219
  throw new Error('Unknown registered Artifact tool.'); return tool; };
190
220
  const args = (name, value) => validateArguments(find(name).inputSchema, value);
@@ -221,7 +251,7 @@ export async function createReviewTools(options) {
221
251
  await onCall?.(structuredClone(call));
222
252
  return { result, call };
223
253
  };
224
- return { tools, get toolCalls() { return structuredClone(recorded); }, outputDir, validateArguments: args,
254
+ return { tools, get toolCalls() { return structuredClone(recorded); }, outputDir: outputDir, validateArguments: args,
225
255
  async call(name, value = {}) {
226
256
  if (closed)
227
257
  return Promise.reject(new Error('Artifact tool registry is closed.'));
@@ -229,7 +259,7 @@ export async function createReviewTools(options) {
229
259
  const startedAt = new Date().toISOString(), started = performance.now();
230
260
  const task = (async () => {
231
261
  const attempt = await invoke(tool, actual).then(value => ({ ok: true, ...value }), error => ({ ok: false, error: error }));
232
- const diagnostic = { name: tool.name, artifactId: tool.artifactId, operation: tool.operation, startedAt, durationMs: performance.now() - started, outcome: attempt.ok && !attempt.result.isError ? 'success' : 'error' };
262
+ const diagnostic = { name: tool.name, artifactId: tool.artifactId, operation: tool.operation, startedAt, durationMs: performance.now() - started, outcome: attempt.ok && !attempt.result.isError ? 'success' : 'error', ...responseBytes(attempt.ok ? attempt.result : undefined) };
233
263
  if (options.onExecution)
234
264
  await bestEffortDiagnostic(() => options.onExecution(diagnostic));
235
265
  if (!attempt.ok)
@@ -257,6 +287,6 @@ export async function createReviewTools(options) {
257
287
  }
258
288
  }));
259
289
  },
260
- async close() { closed = true; controller.abort(); signal?.removeEventListener('abort', abort); await Promise.allSettled([...active]); }, };
290
+ close, };
261
291
  }
262
292
  //# sourceMappingURL=runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/tools/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/tools/runner.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import type { PiOptions } from './executors/pi.js';
2
2
  import type { createBroker } from './broker/index.js';
3
- type Broker = ReturnType<typeof createBroker>;
3
+ type Broker = ReturnType<typeof createBroker<'full'>>;
4
4
  type Run = NonNullable<ReturnType<Broker['getRun']>>;
5
5
  export interface WorkerConfiguration {
6
6
  piOptions?: PiOptions;
7
7
  humanInbox: boolean;
8
+ maxConcurrentExecutors?: number;
8
9
  }
9
10
  export interface WorkerContext {
10
11
  repoPath: string;
@@ -14,7 +15,7 @@ export interface WorkerContext {
14
15
  export interface WorkerOptions extends WorkerContext, WorkerConfiguration {
15
16
  runId: string;
16
17
  }
17
- export declare function launchWorker({ runId, repoPath, repoId, stateDir, piOptions, humanInbox }: WorkerOptions): Promise<number | undefined>;
18
+ export declare function launchWorker({ runId, repoPath, repoId, stateDir, piOptions, humanInbox, maxConcurrentExecutors }: WorkerOptions): Promise<number | undefined>;
18
19
  /** The worker accepts only saved execution settings, never arbitrary spread-in identity fields. */
19
20
  export declare function readWorkerConfiguration(stateDir: string, runId: string): Promise<WorkerConfiguration>;
20
21
  /** CLI and explicit monitor completion share durable, detached successor startup. */
@@ -1,10 +1,11 @@
1
+ import { positiveConcurrency } from './project/identity.js';
1
2
  import { fork } from 'node:child_process';
2
3
  import { fileURLToPath } from 'node:url';
3
4
  import { mkdir, readFile, writeFile } from 'node:fs/promises';
4
5
  import { isAbsolute, join } from 'node:path';
5
6
  import { errorCode } from './executors/errors.js';
6
- export async function launchWorker({ runId, repoPath, repoId, stateDir, piOptions, humanInbox }) {
7
- const worker = fork(fileURLToPath(new URL('./worker.js', import.meta.url)), [JSON.stringify({ runId, repoPath, repoId, stateDir, piOptions, humanInbox })], {
7
+ export async function launchWorker({ runId, repoPath, repoId, stateDir, piOptions, humanInbox, maxConcurrentExecutors }) {
8
+ const worker = fork(fileURLToPath(new URL('./worker.js', import.meta.url)), [JSON.stringify({ runId, repoPath, repoId, stateDir, piOptions, humanInbox, maxConcurrentExecutors })], {
8
9
  detached: true, stdio: ['ignore', 'ignore', 'ignore', 'ipc'], execArgv: [],
9
10
  env: Object.fromEntries(Object.entries(process.env).filter(([key]) => key !== 'NODE_TEST_CONTEXT')),
10
11
  });
@@ -38,8 +39,10 @@ export async function readWorkerConfiguration(stateDir, runId) {
38
39
  if (!input || typeof input !== 'object' || Array.isArray(input))
39
40
  throw new Error('Invalid saved worker configuration.');
40
41
  const value = input;
41
- if (Object.keys(value).some(key => !['piOptions', 'humanInbox'].includes(key)) || typeof value.humanInbox !== 'boolean')
42
+ if (Object.keys(value).some(key => !['piOptions', 'humanInbox', 'maxConcurrentExecutors'].includes(key)) || typeof value.humanInbox !== 'boolean')
42
43
  throw new Error('Invalid saved worker configuration.');
44
+ if (value.maxConcurrentExecutors !== undefined)
45
+ positiveConcurrency(value.maxConcurrentExecutors, 'maxConcurrentExecutors');
43
46
  let piOptions;
44
47
  if (value.piOptions !== undefined) {
45
48
  if (!value.piOptions || typeof value.piOptions !== 'object' || Array.isArray(value.piOptions))
@@ -56,7 +59,7 @@ export async function readWorkerConfiguration(stateDir, runId) {
56
59
  }
57
60
  }
58
61
  }
59
- return { humanInbox: value.humanInbox, ...(piOptions ? { piOptions } : {}) };
62
+ return { humanInbox: value.humanInbox, ...(value.maxConcurrentExecutors !== undefined ? { maxConcurrentExecutors: value.maxConcurrentExecutors } : {}), ...(piOptions ? { piOptions } : {}) };
60
63
  }
61
64
  /** CLI and explicit monitor completion share durable, detached successor startup. */
62
65
  export async function ensureRunWorker({ broker, context, run, initialConfig }) {
@@ -1 +1 @@
1
- {"version":3,"file":"worker-client.js","sourceRoot":"","sources":["../../src/worker-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-client.js","sourceRoot":"","sources":["../../src/worker-client.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ const notify = (message) => {
27
27
  };
28
28
  let notified = false;
29
29
  try {
30
- broker = await createBroker({ ...context, executors });
30
+ broker = await createBroker({ detail: 'full', ...context, executors });
31
31
  await broker.run(runId, { signal: controller.signal, onStarted: () => { notified = true; notify({ type: 'ready', runId }); } });
32
32
  if (!notified)
33
33
  notify({ type: 'ready', runId });
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ccdd/project",
3
- "version": "4.3.0",
3
+ "version": "5.0.0",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -37,7 +37,7 @@
37
37
  "prepack": "npm run build"
38
38
  },
39
39
  "peerDependencies": {
40
- "@ccdd/core": ">=4.0.0 <5"
40
+ "@ccdd/core": ">=5.0.0 <6"
41
41
  },
42
42
  "dependencies": {
43
43
  "@earendil-works/pi-agent-core": "0.85.1",
@@ -1 +0,0 @@
1
- .validation-view[data-v-27261178]{background:#fff;border:1px solid #e4e7e6;border-radius:14px;padding:24px}.validation-heading[data-v-27261178]{justify-content:space-between;align-items:center;gap:20px;display:flex}h2[data-v-27261178]{margin:0 0 8px;font-size:19px}p[data-v-27261178]{line-height:1.65}.validation-heading p[data-v-27261178],.validation-empty[data-v-27261178]{color:#67716c}.inspect-button[data-v-27261178]{color:#fff;cursor:pointer;white-space:nowrap;background:#264d40;border:0;border-radius:8px;padding:11px 18px}.inspect-button[data-v-27261178]:disabled{opacity:.55;cursor:default}.validation-summary[data-v-27261178]{border-top:1px solid #e4e7e6;padding-top:16px}.validation-summary span[data-v-27261178]{color:#67716c;font-size:12px;display:block}.validation-counts[data-v-27261178]{font-size:13px}.validation-table-wrap[data-v-27261178]{overflow-x:auto}table[data-v-27261178]{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.validation-artifacts[data-v-27261178]{color:#67716c;padding-left:18px;font-size:12px;line-height:1.8}th[data-v-27261178],td[data-v-27261178]{vertical-align:top;border-bottom:1px solid #e8ecea;padding:15px 12px}thead th[data-v-27261178]{color:#67716c;font-size:12px}td p[data-v-27261178]{margin:6px 0}small[data-v-27261178]{color:#67716c;margin-top:7px;font-weight:400;display:block}.validation-status[data-v-27261178]{background:#f3efe3;border-radius:5px;padding:4px 7px;font-size:11px;display:inline-block}.validation-status.passed[data-v-27261178]{color:#246740;background:#e6f1e9}@media (max-width:650px){.validation-view[data-v-27261178]{padding:16px}.validation-heading[data-v-27261178]{flex-direction:column;align-items:flex-start}}
@@ -1 +0,0 @@
1
- import{A as e,B as t,N as n,X as r,a as i,b as a,f as o,h as s,it as c,j as l,l as u,m as d,n as f,nt as p,o as m,r as h,s as g,tt as _,v}from"./index-CoJ9_gC3.js";var y=[`aria-busy`],b={class:`validation-heading`},x=[`disabled`],S={key:0},C={key:1,class:`validation-empty`},w={key:2,class:`inline-error`,role:`alert`},T={class:`validation-summary`,role:`status`},E={class:`validation-counts`},D={class:`validation-artifacts`,"aria-label":`Artifact validation requirements`},O={key:0},k={class:`validation-table-wrap`},A={scope:`row`},j={key:0},M=[`onClick`],N=f(a({__name:`ValidationView`,props:{projectId:{},session:{}},emits:[`open-request`,`session-expired`],setup(a,{emit:f}){let N=a,P=f,F=r(null),I=r(!1),L=r(``),R,z=0;t(()=>N.projectId,()=>{z++,R?.abort(),F.value=null,I.value=!1,L.value=``}),e(()=>{z++,R?.abort()});async function B(){if(!N.projectId||!N.session||I.value)return;R=new AbortController;let e=++z;I.value=!0,L.value=``;try{let t=await m(`/api/projects/${encodeURIComponent(N.projectId)}/validation`,{body:{},csrfToken:N.session.csrfToken,signal:R.signal});e===z&&(F.value=t)}catch(t){if(e!==z)return;L.value=g(t),t instanceof i&&t.status===403&&P(`session-expired`)}finally{e===z&&(I.value=!1)}}let V={REUSE:`Reuse verdict`,EXECUTE:`Ready to review`,WAIT:`Execution not ready`,ACTIVE:`In progress`,FAILED:`Execution needs attention`};return(e,t)=>(l(),s(`section`,{class:`validation-view`,"aria-label":`Current input validation status`,"aria-busy":I.value},[o(`div`,b,[t[0]||=o(`div`,null,[o(`h2`,null,`Current input`),o(`p`,null,`Read the project's current configuration and files to determine the reviews needed.`)],-1),o(`button`,{type:`button`,class:`inspect-button`,disabled:!a.projectId||!a.session||I.value,onClick:B},c(I.value?`Inspecting input…`:`Inspect current input`),9,x)]),a.projectId?!F.value&&!L.value?(l(),s(`p`,C,`Select Inspect current input to see reusable verdicts and required reviews.`)):d(``,!0):(l(),s(`p`,S,`Select a project to inspect.`)),L.value?(l(),s(`p`,w,c(L.value),1)):d(``,!0),F.value?(l(),s(u,{key:3},[o(`p`,T,[o(`strong`,null,c(F.value.plan.satisfied?`PASS · All required reviews are satisfied.`:`More reviews are needed.`),1),o(`span`,null,`Observed at `+c(_(h)(F.value.observedAt))+` · Inspect again after editing files or completing reviews.`,1)]),o(`p`,E,`Reuse `+c(F.value.plan.counts.reuse)+` · Ready to review `+c(F.value.plan.counts.execute)+` · Execution not ready `+c(F.value.plan.counts.wait),1),o(`ul`,D,[(l(!0),s(u,null,n(F.value.plan.artifacts,e=>(l(),s(`li`,{key:e.id},[o(`strong`,null,c(e.id),1),v(` · `+c(e.status)+` · `+c(e.passed)+`/`+c(e.total)+` Critics passed`,1),e.status===`UNREVIEWED`&&!e.total?(l(),s(`span`,O,` · No Critics or explicit basis`)):d(``,!0)]))),128))]),o(`div`,k,[o(`table`,null,[t[1]||=o(`thead`,null,[o(`tr`,null,[o(`th`,{scope:`col`},`Critic / Target`),o(`th`,{scope:`col`},`Status`),o(`th`,{scope:`col`},`Next action and reason`)])],-1),o(`tbody`,null,[(l(!0),s(u,null,n(F.value.plan.items,e=>(l(),s(`tr`,{key:e.id},[o(`th`,A,[v(c(e.title),1),o(`small`,null,c(e.id)+` → `+c(e.target),1)]),o(`td`,null,[o(`span`,{class:p([`validation-status`,{passed:e.status===`PASS`}])},c(e.status),3)]),o(`td`,null,[o(`strong`,null,c(V[e.action]),1),o(`p`,null,c(e.reason),1),e.blockedBy.length?(l(),s(`p`,j,`Final validation still needs: `+c(e.blockedBy.join(`, `))+`. This does not delay this Critic's execution.`,1)):d(``,!0),e.result?(l(),s(`button`,{key:1,type:`button`,class:`text-button`,onClick:t=>P(`open-request`,{projectId:a.projectId,id:e.result.requestId})},`View recorded verdict · `+c(_(h)(e.result.completedAt)),9,M)):d(``,!0)])]))),128))])])])],64)):d(``,!0)],8,y))}}),[[`__scopeId`,`data-v-27261178`]]);export{N as default};