specrails-core 6.5.0 → 6.6.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/dist/agent-runtime/capabilities.d.ts +2 -2
- package/dist/agent-runtime/cli.d.ts +4 -4
- package/dist/agent-runtime/compact/environment.d.ts +20 -2
- package/dist/agent-runtime/compact/environment.js +63 -4
- package/dist/agent-runtime/compact/step.d.ts +1 -1
- package/dist/agent-runtime/efficiency-summary.d.ts +1 -1
- package/dist/agent-runtime/efficiency-types.d.ts +1 -1
- package/dist/agent-runtime/engine/checkpoint/database.d.ts +15 -15
- package/dist/agent-runtime/engine/contracts.d.ts +2 -1
- package/dist/agent-runtime/engine/definition-types.d.ts +1 -1
- package/dist/agent-runtime/engine/efficiency-summary.d.ts +8 -8
- package/dist/agent-runtime/engine/fork.d.ts +1 -1
- package/dist/agent-runtime/engine/graph-description.d.ts +16 -16
- package/dist/agent-runtime/engine/implementation-compiler.d.ts +68 -68
- package/dist/agent-runtime/engine/piece-dependencies.js +4 -4
- package/dist/agent-runtime/engine/pieces/implementation-step.d.ts +1 -1
- package/dist/agent-runtime/engine/pieces/role-turn.js +10 -1
- package/dist/agent-runtime/engine/pieces/shared.d.ts +2 -2
- package/dist/agent-runtime/engine/pieces/verify.js +43 -8
- package/dist/agent-runtime/engine/run-status.d.ts +165 -165
- package/dist/agent-runtime/engine/runs.d.ts +168 -168
- package/dist/agent-runtime/engine/state.d.ts +16 -16
- package/dist/agent-runtime/evaluation.d.ts +3 -3
- package/dist/agent-runtime/executor-types.d.ts +10 -10
- package/dist/agent-runtime/graph/convergence.d.ts +2 -2
- package/dist/agent-runtime/graph/convergence.js +11 -0
- package/dist/agent-runtime/graph/nodes.js +35 -4
- package/dist/agent-runtime/graph/review-policy.d.ts +1 -1
- package/dist/agent-runtime/graph/state.d.ts +6 -2
- package/dist/agent-runtime/guardrails.d.ts +1 -1
- package/dist/agent-runtime/guardrails.js +4 -1
- package/dist/agent-runtime/index.d.ts +3 -2
- package/dist/agent-runtime/index.js +1 -0
- package/dist/agent-runtime/openai-executor.d.ts +9 -9
- package/dist/agent-runtime/openspec.d.ts +4 -4
- package/dist/agent-runtime/prompts.d.ts +6 -0
- package/dist/agent-runtime/prompts.js +32 -8
- package/dist/agent-runtime/recovery.d.ts +12 -12
- package/dist/agent-runtime/session/drivers/claude/argv.d.ts +2 -2
- package/dist/agent-runtime/verification-repair.d.ts +31 -2
- package/dist/agent-runtime/verification-repair.js +58 -3
- package/dist/installer/commands/init.d.ts +1 -1
- package/dist/installer/phases/install-config.js +10 -3
- package/dist/installer/util/paths.d.ts +25 -1
- package/dist/pipeline/pipeline-state.d.ts +42 -11
- package/dist/pipeline/pipeline-state.js +47 -8
- package/package.json +13 -11
- package/schemas/agent-runtime.schema.json +1 -1
|
@@ -37,76 +37,47 @@ export interface ResumeDefinitionOptions extends RunObservers {
|
|
|
37
37
|
context?: PipelineContext;
|
|
38
38
|
}
|
|
39
39
|
export declare function createRun(input: DefinitionRunInput & RunObservers): Promise<{
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
metrics: import("../efficiency-types.js").RuntimeEfficiency;
|
|
45
|
-
efficiencySummary: {
|
|
46
|
-
reservations: {
|
|
47
|
-
pendingInvocations: number;
|
|
48
|
-
knownTokens: number;
|
|
49
|
-
knownCostUsd: number;
|
|
50
|
-
tokensUnknown: boolean;
|
|
51
|
-
costUnknown: boolean;
|
|
52
|
-
};
|
|
53
|
-
schemaVersion: 1;
|
|
54
|
-
currentEvidenceIds: string[];
|
|
55
|
-
planHash: string | null;
|
|
56
|
-
candidateHash: string | null;
|
|
40
|
+
type: 'runtime-status';
|
|
41
|
+
engineVersion: number;
|
|
42
|
+
state: {
|
|
43
|
+
schemaVersion: 2;
|
|
57
44
|
runId: string;
|
|
45
|
+
traceId: string;
|
|
46
|
+
workflowId: string;
|
|
58
47
|
workflowVersion: string;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
complete: boolean;
|
|
78
|
-
promptBytes: number | null;
|
|
79
|
-
contextBytes: number | null;
|
|
80
|
-
handoffBytes: number | null;
|
|
81
|
-
fullContexts: number;
|
|
82
|
-
incrementalContexts: number;
|
|
48
|
+
workflowFingerprint: string;
|
|
49
|
+
inputFingerprint: string;
|
|
50
|
+
status: import("../workflow-types.js").WorkflowStatus;
|
|
51
|
+
createdAt: string;
|
|
52
|
+
updatedAt: string;
|
|
53
|
+
nextAttempt: number;
|
|
54
|
+
transitions: number;
|
|
55
|
+
executionCount: number;
|
|
56
|
+
history: import("../workflow-types.js").StepAttemptRecord[];
|
|
57
|
+
events: import("../workflow-types.js").WorkflowEvent[];
|
|
58
|
+
budget: import("./contracts.js").WorkflowBudget;
|
|
59
|
+
usage: {
|
|
60
|
+
costUsd: number | null;
|
|
61
|
+
inputTokens: number | null;
|
|
62
|
+
outputTokens: number | null;
|
|
63
|
+
knownCostUsd: number;
|
|
64
|
+
knownTokens: number;
|
|
65
|
+
durationMs: number;
|
|
83
66
|
};
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
effort: string | null;
|
|
90
|
-
reason: string | null;
|
|
91
|
-
}[];
|
|
92
|
-
escalationsTruncated: boolean;
|
|
93
|
-
checks: {
|
|
94
|
-
invalidated: number | null;
|
|
95
|
-
available: boolean;
|
|
96
|
-
complete: boolean;
|
|
97
|
-
executed: number | null;
|
|
98
|
-
reused: number | null;
|
|
99
|
-
notRun: number | null;
|
|
100
|
-
durationMs: number | null;
|
|
67
|
+
pendingApproval?: {
|
|
68
|
+
stepId: string;
|
|
69
|
+
requestedAt: string;
|
|
70
|
+
grantedAt?: string;
|
|
71
|
+
reason?: string;
|
|
101
72
|
};
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
73
|
+
pendingQuestion?: {
|
|
74
|
+
stepId: string;
|
|
75
|
+
requestedAt: string;
|
|
76
|
+
question: string;
|
|
77
|
+
answeredAt?: string;
|
|
78
|
+
answer?: string;
|
|
79
|
+
};
|
|
80
|
+
error?: string;
|
|
110
81
|
nextNodePath: string;
|
|
111
82
|
nextStep: string;
|
|
112
83
|
steps: {
|
|
@@ -117,7 +88,6 @@ export declare function createRun(input: DefinitionRunInput & RunObservers): Pro
|
|
|
117
88
|
};
|
|
118
89
|
};
|
|
119
90
|
scopes: {
|
|
120
|
-
output?: unknown;
|
|
121
91
|
nodePath: string;
|
|
122
92
|
scopeId: string;
|
|
123
93
|
branch: import("node:sqlite").SQLOutputValue;
|
|
@@ -125,6 +95,7 @@ export declare function createRun(input: DefinitionRunInput & RunObservers): Pro
|
|
|
125
95
|
status: string;
|
|
126
96
|
visits: number;
|
|
127
97
|
attemptId: string | null;
|
|
98
|
+
output?: unknown;
|
|
128
99
|
}[];
|
|
129
100
|
lease: {
|
|
130
101
|
owner: string;
|
|
@@ -137,7 +108,7 @@ export declare function createRun(input: DefinitionRunInput & RunObservers): Pro
|
|
|
137
108
|
scopeId: string;
|
|
138
109
|
attemptId: string;
|
|
139
110
|
status: string;
|
|
140
|
-
effect:
|
|
111
|
+
effect: 'write';
|
|
141
112
|
}[];
|
|
142
113
|
steering: {
|
|
143
114
|
receipts: import("./steering/inbox.js").SteeringReceipt[];
|
|
@@ -177,22 +148,11 @@ export declare function createRun(input: DefinitionRunInput & RunObservers): Pro
|
|
|
177
148
|
message: string;
|
|
178
149
|
};
|
|
179
150
|
}[];
|
|
180
|
-
|
|
151
|
+
} | {
|
|
181
152
|
runId: string;
|
|
182
153
|
traceId: string;
|
|
183
|
-
workflowId: string;
|
|
184
|
-
workflowVersion: string;
|
|
185
|
-
workflowFingerprint: string;
|
|
186
|
-
inputFingerprint: string;
|
|
187
154
|
status: import("../workflow-types.js").WorkflowStatus;
|
|
188
|
-
createdAt: string;
|
|
189
155
|
updatedAt: string;
|
|
190
|
-
nextAttempt: number;
|
|
191
|
-
transitions: number;
|
|
192
|
-
executionCount: number;
|
|
193
|
-
history: import("../workflow-types.js").StepAttemptRecord[];
|
|
194
|
-
events: import("../workflow-types.js").WorkflowEvent[];
|
|
195
|
-
budget: import("./contracts.js").WorkflowBudget;
|
|
196
156
|
usage: {
|
|
197
157
|
costUsd: number | null;
|
|
198
158
|
inputTokens: number | null;
|
|
@@ -206,16 +166,14 @@ export declare function createRun(input: DefinitionRunInput & RunObservers): Pro
|
|
|
206
166
|
requestedAt: string;
|
|
207
167
|
grantedAt?: string;
|
|
208
168
|
reason?: string;
|
|
209
|
-
};
|
|
169
|
+
} | undefined;
|
|
210
170
|
pendingQuestion?: {
|
|
211
171
|
stepId: string;
|
|
212
172
|
requestedAt: string;
|
|
213
173
|
question: string;
|
|
214
174
|
answeredAt?: string;
|
|
215
175
|
answer?: string;
|
|
216
|
-
};
|
|
217
|
-
error?: string;
|
|
218
|
-
} | {
|
|
176
|
+
} | undefined;
|
|
219
177
|
nextNodePath: string;
|
|
220
178
|
nextStep: string;
|
|
221
179
|
steps: {
|
|
@@ -226,7 +184,6 @@ export declare function createRun(input: DefinitionRunInput & RunObservers): Pro
|
|
|
226
184
|
};
|
|
227
185
|
};
|
|
228
186
|
scopes: {
|
|
229
|
-
output?: unknown;
|
|
230
187
|
nodePath: string;
|
|
231
188
|
scopeId: string;
|
|
232
189
|
branch: import("node:sqlite").SQLOutputValue;
|
|
@@ -234,6 +191,7 @@ export declare function createRun(input: DefinitionRunInput & RunObservers): Pro
|
|
|
234
191
|
status: string;
|
|
235
192
|
visits: number;
|
|
236
193
|
attemptId: string | null;
|
|
194
|
+
output?: unknown;
|
|
237
195
|
}[];
|
|
238
196
|
lease: {
|
|
239
197
|
owner: string;
|
|
@@ -246,7 +204,7 @@ export declare function createRun(input: DefinitionRunInput & RunObservers): Pro
|
|
|
246
204
|
scopeId: string;
|
|
247
205
|
attemptId: string;
|
|
248
206
|
status: string;
|
|
249
|
-
effect:
|
|
207
|
+
effect: 'write';
|
|
250
208
|
}[];
|
|
251
209
|
steering: {
|
|
252
210
|
receipts: import("./steering/inbox.js").SteeringReceipt[];
|
|
@@ -286,31 +244,6 @@ export declare function createRun(input: DefinitionRunInput & RunObservers): Pro
|
|
|
286
244
|
message: string;
|
|
287
245
|
};
|
|
288
246
|
}[];
|
|
289
|
-
pendingQuestion?: {
|
|
290
|
-
stepId: string;
|
|
291
|
-
requestedAt: string;
|
|
292
|
-
question: string;
|
|
293
|
-
answeredAt?: string;
|
|
294
|
-
answer?: string;
|
|
295
|
-
} | undefined;
|
|
296
|
-
pendingApproval?: {
|
|
297
|
-
stepId: string;
|
|
298
|
-
requestedAt: string;
|
|
299
|
-
grantedAt?: string;
|
|
300
|
-
reason?: string;
|
|
301
|
-
} | undefined;
|
|
302
|
-
runId: string;
|
|
303
|
-
traceId: string;
|
|
304
|
-
status: import("../workflow-types.js").WorkflowStatus;
|
|
305
|
-
updatedAt: string;
|
|
306
|
-
usage: {
|
|
307
|
-
costUsd: number | null;
|
|
308
|
-
inputTokens: number | null;
|
|
309
|
-
outputTokens: number | null;
|
|
310
|
-
knownCostUsd: number;
|
|
311
|
-
knownTokens: number;
|
|
312
|
-
durationMs: number;
|
|
313
|
-
};
|
|
314
247
|
};
|
|
315
248
|
workflow: {
|
|
316
249
|
id: string;
|
|
@@ -318,17 +251,9 @@ export declare function createRun(input: DefinitionRunInput & RunObservers): Pro
|
|
|
318
251
|
source: string;
|
|
319
252
|
};
|
|
320
253
|
completion: any;
|
|
321
|
-
|
|
322
|
-
export declare function resumeRun(directory: string, options?: ResumeDefinitionOptions): Promise<{
|
|
254
|
+
forkOf?: string | undefined;
|
|
323
255
|
metrics: import("../efficiency-types.js").RuntimeEfficiency;
|
|
324
256
|
efficiencySummary: {
|
|
325
|
-
reservations: {
|
|
326
|
-
pendingInvocations: number;
|
|
327
|
-
knownTokens: number;
|
|
328
|
-
knownCostUsd: number;
|
|
329
|
-
tokensUnknown: boolean;
|
|
330
|
-
costUnknown: boolean;
|
|
331
|
-
};
|
|
332
257
|
schemaVersion: 1;
|
|
333
258
|
currentEvidenceIds: string[];
|
|
334
259
|
planHash: string | null;
|
|
@@ -337,7 +262,7 @@ export declare function resumeRun(directory: string, options?: ResumeDefinitionO
|
|
|
337
262
|
workflowVersion: string;
|
|
338
263
|
technicalAcceptance: string;
|
|
339
264
|
archive: import("../../pipeline/pipeline-state.js").PhaseStatus;
|
|
340
|
-
delivery: "
|
|
265
|
+
delivery: "complete" | "pending" | "pending-host";
|
|
341
266
|
roles: {
|
|
342
267
|
role: string;
|
|
343
268
|
provider: string | null;
|
|
@@ -379,13 +304,63 @@ export declare function resumeRun(directory: string, options?: ResumeDefinitionO
|
|
|
379
304
|
durationMs: number | null;
|
|
380
305
|
};
|
|
381
306
|
metrics: import("../efficiency-types.js").RuntimeEfficiency;
|
|
307
|
+
reservations: {
|
|
308
|
+
pendingInvocations: number;
|
|
309
|
+
knownTokens: number;
|
|
310
|
+
knownCostUsd: number;
|
|
311
|
+
tokensUnknown: boolean;
|
|
312
|
+
costUnknown: boolean;
|
|
313
|
+
};
|
|
382
314
|
};
|
|
383
315
|
revision: number;
|
|
384
316
|
eventCursor: number;
|
|
385
|
-
|
|
386
|
-
|
|
317
|
+
error?: {
|
|
318
|
+
code: string;
|
|
319
|
+
message: string;
|
|
320
|
+
} | undefined;
|
|
321
|
+
}>;
|
|
322
|
+
export declare function resumeRun(directory: string, options?: ResumeDefinitionOptions): Promise<{
|
|
323
|
+
type: 'runtime-status';
|
|
387
324
|
engineVersion: number;
|
|
388
325
|
state: {
|
|
326
|
+
schemaVersion: 2;
|
|
327
|
+
runId: string;
|
|
328
|
+
traceId: string;
|
|
329
|
+
workflowId: string;
|
|
330
|
+
workflowVersion: string;
|
|
331
|
+
workflowFingerprint: string;
|
|
332
|
+
inputFingerprint: string;
|
|
333
|
+
status: import("../workflow-types.js").WorkflowStatus;
|
|
334
|
+
createdAt: string;
|
|
335
|
+
updatedAt: string;
|
|
336
|
+
nextAttempt: number;
|
|
337
|
+
transitions: number;
|
|
338
|
+
executionCount: number;
|
|
339
|
+
history: import("../workflow-types.js").StepAttemptRecord[];
|
|
340
|
+
events: import("../workflow-types.js").WorkflowEvent[];
|
|
341
|
+
budget: import("./contracts.js").WorkflowBudget;
|
|
342
|
+
usage: {
|
|
343
|
+
costUsd: number | null;
|
|
344
|
+
inputTokens: number | null;
|
|
345
|
+
outputTokens: number | null;
|
|
346
|
+
knownCostUsd: number;
|
|
347
|
+
knownTokens: number;
|
|
348
|
+
durationMs: number;
|
|
349
|
+
};
|
|
350
|
+
pendingApproval?: {
|
|
351
|
+
stepId: string;
|
|
352
|
+
requestedAt: string;
|
|
353
|
+
grantedAt?: string;
|
|
354
|
+
reason?: string;
|
|
355
|
+
};
|
|
356
|
+
pendingQuestion?: {
|
|
357
|
+
stepId: string;
|
|
358
|
+
requestedAt: string;
|
|
359
|
+
question: string;
|
|
360
|
+
answeredAt?: string;
|
|
361
|
+
answer?: string;
|
|
362
|
+
};
|
|
363
|
+
error?: string;
|
|
389
364
|
nextNodePath: string;
|
|
390
365
|
nextStep: string;
|
|
391
366
|
steps: {
|
|
@@ -396,7 +371,6 @@ export declare function resumeRun(directory: string, options?: ResumeDefinitionO
|
|
|
396
371
|
};
|
|
397
372
|
};
|
|
398
373
|
scopes: {
|
|
399
|
-
output?: unknown;
|
|
400
374
|
nodePath: string;
|
|
401
375
|
scopeId: string;
|
|
402
376
|
branch: import("node:sqlite").SQLOutputValue;
|
|
@@ -404,6 +378,7 @@ export declare function resumeRun(directory: string, options?: ResumeDefinitionO
|
|
|
404
378
|
status: string;
|
|
405
379
|
visits: number;
|
|
406
380
|
attemptId: string | null;
|
|
381
|
+
output?: unknown;
|
|
407
382
|
}[];
|
|
408
383
|
lease: {
|
|
409
384
|
owner: string;
|
|
@@ -416,7 +391,7 @@ export declare function resumeRun(directory: string, options?: ResumeDefinitionO
|
|
|
416
391
|
scopeId: string;
|
|
417
392
|
attemptId: string;
|
|
418
393
|
status: string;
|
|
419
|
-
effect:
|
|
394
|
+
effect: 'write';
|
|
420
395
|
}[];
|
|
421
396
|
steering: {
|
|
422
397
|
receipts: import("./steering/inbox.js").SteeringReceipt[];
|
|
@@ -456,22 +431,11 @@ export declare function resumeRun(directory: string, options?: ResumeDefinitionO
|
|
|
456
431
|
message: string;
|
|
457
432
|
};
|
|
458
433
|
}[];
|
|
459
|
-
|
|
434
|
+
} | {
|
|
460
435
|
runId: string;
|
|
461
436
|
traceId: string;
|
|
462
|
-
workflowId: string;
|
|
463
|
-
workflowVersion: string;
|
|
464
|
-
workflowFingerprint: string;
|
|
465
|
-
inputFingerprint: string;
|
|
466
437
|
status: import("../workflow-types.js").WorkflowStatus;
|
|
467
|
-
createdAt: string;
|
|
468
438
|
updatedAt: string;
|
|
469
|
-
nextAttempt: number;
|
|
470
|
-
transitions: number;
|
|
471
|
-
executionCount: number;
|
|
472
|
-
history: import("../workflow-types.js").StepAttemptRecord[];
|
|
473
|
-
events: import("../workflow-types.js").WorkflowEvent[];
|
|
474
|
-
budget: import("./contracts.js").WorkflowBudget;
|
|
475
439
|
usage: {
|
|
476
440
|
costUsd: number | null;
|
|
477
441
|
inputTokens: number | null;
|
|
@@ -485,16 +449,14 @@ export declare function resumeRun(directory: string, options?: ResumeDefinitionO
|
|
|
485
449
|
requestedAt: string;
|
|
486
450
|
grantedAt?: string;
|
|
487
451
|
reason?: string;
|
|
488
|
-
};
|
|
452
|
+
} | undefined;
|
|
489
453
|
pendingQuestion?: {
|
|
490
454
|
stepId: string;
|
|
491
455
|
requestedAt: string;
|
|
492
456
|
question: string;
|
|
493
457
|
answeredAt?: string;
|
|
494
458
|
answer?: string;
|
|
495
|
-
};
|
|
496
|
-
error?: string;
|
|
497
|
-
} | {
|
|
459
|
+
} | undefined;
|
|
498
460
|
nextNodePath: string;
|
|
499
461
|
nextStep: string;
|
|
500
462
|
steps: {
|
|
@@ -505,7 +467,6 @@ export declare function resumeRun(directory: string, options?: ResumeDefinitionO
|
|
|
505
467
|
};
|
|
506
468
|
};
|
|
507
469
|
scopes: {
|
|
508
|
-
output?: unknown;
|
|
509
470
|
nodePath: string;
|
|
510
471
|
scopeId: string;
|
|
511
472
|
branch: import("node:sqlite").SQLOutputValue;
|
|
@@ -513,6 +474,7 @@ export declare function resumeRun(directory: string, options?: ResumeDefinitionO
|
|
|
513
474
|
status: string;
|
|
514
475
|
visits: number;
|
|
515
476
|
attemptId: string | null;
|
|
477
|
+
output?: unknown;
|
|
516
478
|
}[];
|
|
517
479
|
lease: {
|
|
518
480
|
owner: string;
|
|
@@ -525,7 +487,7 @@ export declare function resumeRun(directory: string, options?: ResumeDefinitionO
|
|
|
525
487
|
scopeId: string;
|
|
526
488
|
attemptId: string;
|
|
527
489
|
status: string;
|
|
528
|
-
effect:
|
|
490
|
+
effect: 'write';
|
|
529
491
|
}[];
|
|
530
492
|
steering: {
|
|
531
493
|
receipts: import("./steering/inbox.js").SteeringReceipt[];
|
|
@@ -565,31 +527,6 @@ export declare function resumeRun(directory: string, options?: ResumeDefinitionO
|
|
|
565
527
|
message: string;
|
|
566
528
|
};
|
|
567
529
|
}[];
|
|
568
|
-
pendingQuestion?: {
|
|
569
|
-
stepId: string;
|
|
570
|
-
requestedAt: string;
|
|
571
|
-
question: string;
|
|
572
|
-
answeredAt?: string;
|
|
573
|
-
answer?: string;
|
|
574
|
-
} | undefined;
|
|
575
|
-
pendingApproval?: {
|
|
576
|
-
stepId: string;
|
|
577
|
-
requestedAt: string;
|
|
578
|
-
grantedAt?: string;
|
|
579
|
-
reason?: string;
|
|
580
|
-
} | undefined;
|
|
581
|
-
runId: string;
|
|
582
|
-
traceId: string;
|
|
583
|
-
status: import("../workflow-types.js").WorkflowStatus;
|
|
584
|
-
updatedAt: string;
|
|
585
|
-
usage: {
|
|
586
|
-
costUsd: number | null;
|
|
587
|
-
inputTokens: number | null;
|
|
588
|
-
outputTokens: number | null;
|
|
589
|
-
knownCostUsd: number;
|
|
590
|
-
knownTokens: number;
|
|
591
|
-
durationMs: number;
|
|
592
|
-
};
|
|
593
530
|
};
|
|
594
531
|
workflow: {
|
|
595
532
|
id: string;
|
|
@@ -597,6 +534,69 @@ export declare function resumeRun(directory: string, options?: ResumeDefinitionO
|
|
|
597
534
|
source: string;
|
|
598
535
|
};
|
|
599
536
|
completion: any;
|
|
537
|
+
forkOf?: string | undefined;
|
|
538
|
+
metrics: import("../efficiency-types.js").RuntimeEfficiency;
|
|
539
|
+
efficiencySummary: {
|
|
540
|
+
schemaVersion: 1;
|
|
541
|
+
currentEvidenceIds: string[];
|
|
542
|
+
planHash: string | null;
|
|
543
|
+
candidateHash: string | null;
|
|
544
|
+
runId: string;
|
|
545
|
+
workflowVersion: string;
|
|
546
|
+
technicalAcceptance: string;
|
|
547
|
+
archive: import("../../pipeline/pipeline-state.js").PhaseStatus;
|
|
548
|
+
delivery: "complete" | "pending" | "pending-host";
|
|
549
|
+
roles: {
|
|
550
|
+
role: string;
|
|
551
|
+
provider: string | null;
|
|
552
|
+
model: string | null;
|
|
553
|
+
effort: string | null;
|
|
554
|
+
observedModel: null;
|
|
555
|
+
observedEffort: null;
|
|
556
|
+
origin: string;
|
|
557
|
+
tier: "base" | "escalation";
|
|
558
|
+
}[];
|
|
559
|
+
invocations: {
|
|
560
|
+
byKind: {
|
|
561
|
+
[k: string]: number;
|
|
562
|
+
};
|
|
563
|
+
total: number;
|
|
564
|
+
complete: boolean;
|
|
565
|
+
promptBytes: number | null;
|
|
566
|
+
contextBytes: number | null;
|
|
567
|
+
handoffBytes: number | null;
|
|
568
|
+
fullContexts: number;
|
|
569
|
+
incrementalContexts: number;
|
|
570
|
+
};
|
|
571
|
+
escalations: {
|
|
572
|
+
role: string;
|
|
573
|
+
attemptId: string;
|
|
574
|
+
provider: string;
|
|
575
|
+
model: string | null;
|
|
576
|
+
effort: string | null;
|
|
577
|
+
reason: string | null;
|
|
578
|
+
}[];
|
|
579
|
+
escalationsTruncated: boolean;
|
|
580
|
+
checks: {
|
|
581
|
+
invalidated: number | null;
|
|
582
|
+
available: boolean;
|
|
583
|
+
complete: boolean;
|
|
584
|
+
executed: number | null;
|
|
585
|
+
reused: number | null;
|
|
586
|
+
notRun: number | null;
|
|
587
|
+
durationMs: number | null;
|
|
588
|
+
};
|
|
589
|
+
metrics: import("../efficiency-types.js").RuntimeEfficiency;
|
|
590
|
+
reservations: {
|
|
591
|
+
pendingInvocations: number;
|
|
592
|
+
knownTokens: number;
|
|
593
|
+
knownCostUsd: number;
|
|
594
|
+
tokensUnknown: boolean;
|
|
595
|
+
costUnknown: boolean;
|
|
596
|
+
};
|
|
597
|
+
};
|
|
598
|
+
revision: number;
|
|
599
|
+
eventCursor: number;
|
|
600
600
|
}>;
|
|
601
601
|
export declare function signalRun(directory: string, text: string, requestId?: string): Promise<import("./steering/inbox.js").SteeringMessage>;
|
|
602
602
|
export declare function cancelRun(directory: string, requestId?: string): Promise<{
|
|
@@ -14,48 +14,48 @@ export declare function mergeOrdered<T extends OrderedRecord>(previous: T[], upd
|
|
|
14
14
|
export declare function mergeHistory(previous: HistoryEntry[], update: HistoryEntry[], maxChars: number): HistoryEntry[];
|
|
15
15
|
/** Private commit markers reach each task's saver writes and expire after a superstep. */
|
|
16
16
|
export declare function definitionStateSchema(historyMaxChars?: number, scope?: ExecutionScope | null): import("@langchain/langgraph").AnnotationRoot<{
|
|
17
|
-
$outputs: import("@langchain/langgraph").BaseChannel<Record<string, JsonValue>,
|
|
18
|
-
$vars: import("@langchain/langgraph").BaseChannel<Record<string, JsonValue>,
|
|
17
|
+
$outputs: import("@langchain/langgraph").BaseChannel<Record<string, JsonValue>, import("@langchain/langgraph").OverwriteValue<Record<string, JsonValue>> | Record<string, JsonValue>, unknown>;
|
|
18
|
+
$vars: import("@langchain/langgraph").BaseChannel<Record<string, JsonValue>, import("@langchain/langgraph").OverwriteValue<Record<string, JsonValue>> | Record<string, JsonValue>, unknown>;
|
|
19
19
|
$history: import("@langchain/langgraph").BaseChannel<HistoryEntry[], HistoryEntry[] | import("@langchain/langgraph").OverwriteValue<HistoryEntry[]>, unknown>;
|
|
20
20
|
$sessions: import("@langchain/langgraph").BaseChannel<Record<string, {
|
|
21
21
|
sessionId: string;
|
|
22
22
|
identity: string;
|
|
23
|
-
}>, Record<string, {
|
|
23
|
+
}>, import("@langchain/langgraph").OverwriteValue<Record<string, {
|
|
24
24
|
sessionId: string;
|
|
25
25
|
identity: string;
|
|
26
|
-
}
|
|
26
|
+
}>> | Record<string, {
|
|
27
27
|
sessionId: string;
|
|
28
28
|
identity: string;
|
|
29
|
-
}
|
|
29
|
+
}>, unknown>;
|
|
30
30
|
$usage: import("@langchain/langgraph").BaseChannel<EngineUsage, EngineUsage | import("@langchain/langgraph").OverwriteValue<EngineUsage>, unknown>;
|
|
31
|
-
$attempts: import("@langchain/langgraph").BaseChannel<Record<string, number>,
|
|
31
|
+
$attempts: import("@langchain/langgraph").BaseChannel<Record<string, number>, import("@langchain/langgraph").OverwriteValue<Record<string, number>> | Record<string, number>, unknown>;
|
|
32
32
|
$consecutiveFailures: import("@langchain/langgraph").BaseChannel<{
|
|
33
33
|
revision: number;
|
|
34
34
|
count: number;
|
|
35
|
-
}, {
|
|
35
|
+
}, import("@langchain/langgraph").OverwriteValue<{
|
|
36
36
|
revision: number;
|
|
37
37
|
count: number;
|
|
38
|
-
} |
|
|
38
|
+
}> | {
|
|
39
39
|
revision: number;
|
|
40
40
|
count: number;
|
|
41
|
-
}
|
|
41
|
+
}, unknown>;
|
|
42
42
|
$candidate: import("@langchain/langgraph").BaseChannel<CandidateState | null, CandidateState | import("@langchain/langgraph").OverwriteValue<CandidateState | null> | null, unknown>;
|
|
43
|
-
$verified: import("@langchain/langgraph").BaseChannel<VerifiedState | null,
|
|
43
|
+
$verified: import("@langchain/langgraph").BaseChannel<VerifiedState | null, import("@langchain/langgraph").OverwriteValue<VerifiedState | null> | VerifiedState | null, unknown>;
|
|
44
44
|
$answers: import("@langchain/langgraph").BaseChannel<EngineAnswer[], EngineAnswer[] | import("@langchain/langgraph").OverwriteValue<EngineAnswer[]>, unknown>;
|
|
45
|
-
$branches: import("@langchain/langgraph").BaseChannel<Record<string, BranchState>,
|
|
46
|
-
$maps: import("@langchain/langgraph").BaseChannel<Record<string, import("./contracts.js").MapPlan>, Record<string, import("./contracts.js").MapPlan
|
|
45
|
+
$branches: import("@langchain/langgraph").BaseChannel<Record<string, BranchState>, import("@langchain/langgraph").OverwriteValue<Record<string, BranchState>> | Record<string, BranchState>, unknown>;
|
|
46
|
+
$maps: import("@langchain/langgraph").BaseChannel<Record<string, import("./contracts.js").MapPlan>, import("@langchain/langgraph").OverwriteValue<Record<string, import("./contracts.js").MapPlan>> | Record<string, import("./contracts.js").MapPlan>, unknown>;
|
|
47
47
|
$transitions: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
|
|
48
|
-
$lastOutcome: import("@langchain/langgraph").BaseChannel<Record<string, string>,
|
|
48
|
+
$lastOutcome: import("@langchain/langgraph").BaseChannel<Record<string, string>, import("@langchain/langgraph").OverwriteValue<Record<string, string>> | Record<string, string>, unknown>;
|
|
49
49
|
$item: import("@langchain/langgraph").BaseChannel<{
|
|
50
50
|
index: number;
|
|
51
51
|
value: JsonValue;
|
|
52
|
-
} | null, {
|
|
52
|
+
} | null, import("@langchain/langgraph").OverwriteValue<{
|
|
53
53
|
index: number;
|
|
54
54
|
value: JsonValue;
|
|
55
|
-
} |
|
|
55
|
+
} | null> | {
|
|
56
56
|
index: number;
|
|
57
57
|
value: JsonValue;
|
|
58
|
-
} | null
|
|
58
|
+
} | null, unknown>;
|
|
59
59
|
$scope: import("@langchain/langgraph").BaseChannel<ExecutionScope, ExecutionScope | import("@langchain/langgraph").OverwriteValue<ExecutionScope>, unknown>;
|
|
60
60
|
$exit: import("@langchain/langgraph").BaseChannel<import("./contracts.js").ComponentExit | null, import("./contracts.js").ComponentExit | import("@langchain/langgraph").OverwriteValue<import("./contracts.js").ComponentExit | null> | null, unknown>;
|
|
61
61
|
$commit: EphemeralValue<TerminalCommit>;
|
|
@@ -10,6 +10,9 @@ export interface EvaluationOptions {
|
|
|
10
10
|
repetitions?: number;
|
|
11
11
|
}
|
|
12
12
|
export declare function runEvaluation(options: EvaluationOptions): Promise<{
|
|
13
|
+
schemaVersion: number;
|
|
14
|
+
isDefinitionEvaluation: boolean;
|
|
15
|
+
definitionHash?: string | null | undefined;
|
|
13
16
|
acceptedCases: number;
|
|
14
17
|
allCasesAccepted: boolean;
|
|
15
18
|
experiment: string;
|
|
@@ -44,7 +47,4 @@ export declare function runEvaluation(options: EvaluationOptions): Promise<{
|
|
|
44
47
|
stopReason: string | null;
|
|
45
48
|
reportedSpendUsd: number;
|
|
46
49
|
observations: Record<string, unknown>[];
|
|
47
|
-
definitionHash?: string | null | undefined;
|
|
48
|
-
schemaVersion: number;
|
|
49
|
-
isDefinitionEvaluation: boolean;
|
|
50
50
|
}>;
|
|
@@ -3,7 +3,7 @@ import type { CacheTokenUsage } from './efficiency-types.js';
|
|
|
3
3
|
import type { GuardrailSettings } from './guardrails.js';
|
|
4
4
|
export declare const DEFAULT_AGENT_TIMEOUT_MS: number;
|
|
5
5
|
export declare const DEFAULT_AGENT_IDLE_TIMEOUT_MS: number;
|
|
6
|
-
export declare const BUILTIN_ROLES: readonly [
|
|
6
|
+
export declare const BUILTIN_ROLES: readonly ['architect', 'developer', 'reviewer'];
|
|
7
7
|
export type BuiltinAgentRole = typeof BUILTIN_ROLES[number];
|
|
8
8
|
export type AgentRole = string;
|
|
9
9
|
export type AgentAccess = 'read' | 'write';
|
|
@@ -13,19 +13,19 @@ export declare const ROLE_ID: RegExp;
|
|
|
13
13
|
export declare function isBuiltinRole(role: string): role is BuiltinAgentRole;
|
|
14
14
|
export declare const BUILTIN_ROLE_POLICY: {
|
|
15
15
|
readonly architect: {
|
|
16
|
-
readonly access:
|
|
17
|
-
readonly artifacts:
|
|
18
|
-
readonly openspecSkill:
|
|
16
|
+
readonly access: 'read';
|
|
17
|
+
readonly artifacts: 'all';
|
|
18
|
+
readonly openspecSkill: 'openspec-ff-change';
|
|
19
19
|
};
|
|
20
20
|
readonly developer: {
|
|
21
|
-
readonly access:
|
|
22
|
-
readonly artifacts:
|
|
23
|
-
readonly openspecSkill:
|
|
21
|
+
readonly access: 'write';
|
|
22
|
+
readonly artifacts: 'tasks-checkboxes';
|
|
23
|
+
readonly openspecSkill: 'openspec-apply-change';
|
|
24
24
|
};
|
|
25
25
|
readonly reviewer: {
|
|
26
|
-
readonly access:
|
|
27
|
-
readonly artifacts:
|
|
28
|
-
readonly openspecSkill:
|
|
26
|
+
readonly access: 'read';
|
|
27
|
+
readonly artifacts: 'none';
|
|
28
|
+
readonly openspecSkill: 'openspec-verify-change';
|
|
29
29
|
};
|
|
30
30
|
};
|
|
31
31
|
/** Who an observer sees acting: a pipeline role, or the FIXER stance the developer step takes on a correction round. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type VerificationReceipt } from '../../pipeline/pipeline-state.js';
|
|
2
2
|
import type { WorkflowState } from '../workflow-types.js';
|
|
3
3
|
/** One verify visit, as the convergence guard remembers it. */
|
|
4
4
|
export interface VerifyOutcome {
|
|
@@ -13,7 +13,7 @@ export interface VerifyOutcome {
|
|
|
13
13
|
/** Verify visits since the latest explicit resume: a human continuing a blocked run grants a fresh budget, as for attempts. */
|
|
14
14
|
export declare function outcomesSinceResume(history: readonly VerifyOutcome[], checkpoint: WorkflowState): VerifyOutcome[];
|
|
15
15
|
/** Identity and one-line description of a failed receipt (or of a host finding that failed a green receipt). */
|
|
16
|
-
export declare function describeFailure(receipt: Pick<VerificationReceipt, 'commands' | 'reason'>, roots: readonly string[], finding?: string): {
|
|
16
|
+
export declare function describeFailure(receipt: Pick<VerificationReceipt, 'commands' | 'reason' | 'selfMutation'>, roots: readonly string[], finding?: string): {
|
|
17
17
|
signature: string;
|
|
18
18
|
summary: string;
|
|
19
19
|
};
|