specrails-core 6.4.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.
Files changed (131) hide show
  1. package/dist/agent-runtime/capabilities.d.ts +2 -2
  2. package/dist/agent-runtime/capabilities.js +22 -5
  3. package/dist/agent-runtime/cli-executor.js +8 -3
  4. package/dist/agent-runtime/cli.d.ts +4 -4
  5. package/dist/agent-runtime/cli.js +50 -3
  6. package/dist/agent-runtime/compact/environment.d.ts +50 -4
  7. package/dist/agent-runtime/compact/environment.js +183 -6
  8. package/dist/agent-runtime/compact/step.d.ts +1 -1
  9. package/dist/agent-runtime/efficiency-summary.d.ts +1 -1
  10. package/dist/agent-runtime/efficiency-types.d.ts +1 -1
  11. package/dist/agent-runtime/engine/checkpoint/database.d.ts +15 -15
  12. package/dist/agent-runtime/engine/contracts.d.ts +2 -1
  13. package/dist/agent-runtime/engine/definition-types.d.ts +1 -1
  14. package/dist/agent-runtime/engine/efficiency-summary.d.ts +8 -8
  15. package/dist/agent-runtime/engine/fork.d.ts +1 -1
  16. package/dist/agent-runtime/engine/graph-description.d.ts +16 -16
  17. package/dist/agent-runtime/engine/implementation-compiler.d.ts +68 -68
  18. package/dist/agent-runtime/engine/piece-dependencies.js +4 -4
  19. package/dist/agent-runtime/engine/pieces/implementation-step.d.ts +1 -1
  20. package/dist/agent-runtime/engine/pieces/role-turn.d.ts +5 -0
  21. package/dist/agent-runtime/engine/pieces/role-turn.js +64 -22
  22. package/dist/agent-runtime/engine/pieces/shared.d.ts +2 -2
  23. package/dist/agent-runtime/engine/pieces/verify.js +46 -13
  24. package/dist/agent-runtime/engine/run-status.d.ts +165 -165
  25. package/dist/agent-runtime/engine/runs.d.ts +168 -168
  26. package/dist/agent-runtime/engine/state.d.ts +16 -16
  27. package/dist/agent-runtime/evaluation.d.ts +3 -3
  28. package/dist/agent-runtime/executor-types.d.ts +10 -10
  29. package/dist/agent-runtime/graph/convergence.d.ts +2 -2
  30. package/dist/agent-runtime/graph/convergence.js +11 -0
  31. package/dist/agent-runtime/graph/nodes.js +35 -4
  32. package/dist/agent-runtime/graph/review-policy.d.ts +1 -1
  33. package/dist/agent-runtime/graph/state.d.ts +6 -2
  34. package/dist/agent-runtime/guardrails.d.ts +1 -1
  35. package/dist/agent-runtime/guardrails.js +4 -1
  36. package/dist/agent-runtime/index.d.ts +3 -2
  37. package/dist/agent-runtime/index.js +1 -0
  38. package/dist/agent-runtime/openai-executor.d.ts +9 -9
  39. package/dist/agent-runtime/openspec.d.ts +4 -4
  40. package/dist/agent-runtime/prompts.d.ts +6 -0
  41. package/dist/agent-runtime/prompts.js +32 -8
  42. package/dist/agent-runtime/recovery.d.ts +12 -12
  43. package/dist/agent-runtime/session/application/active-session.d.ts +176 -0
  44. package/dist/agent-runtime/session/application/active-session.js +701 -0
  45. package/dist/agent-runtime/session/application/delegation.d.ts +73 -0
  46. package/dist/agent-runtime/session/application/delegation.js +171 -0
  47. package/dist/agent-runtime/session/application/output-buffer.d.ts +43 -0
  48. package/dist/agent-runtime/session/application/output-buffer.js +65 -0
  49. package/dist/agent-runtime/session/application/session-service.d.ts +121 -0
  50. package/dist/agent-runtime/session/application/session-service.js +256 -0
  51. package/dist/agent-runtime/session/application/timers.d.ts +15 -0
  52. package/dist/agent-runtime/session/application/timers.js +35 -0
  53. package/dist/agent-runtime/session/domain/descriptor.d.ts +6 -0
  54. package/dist/agent-runtime/session/domain/descriptor.js +32 -0
  55. package/dist/agent-runtime/session/domain/errors.d.ts +9 -0
  56. package/dist/agent-runtime/session/domain/errors.js +16 -0
  57. package/dist/agent-runtime/session/domain/events.d.ts +147 -0
  58. package/dist/agent-runtime/session/domain/events.js +24 -0
  59. package/dist/agent-runtime/session/domain/fingerprint.d.ts +2 -0
  60. package/dist/agent-runtime/session/domain/fingerprint.js +10 -0
  61. package/dist/agent-runtime/session/domain/interruption.d.ts +13 -0
  62. package/dist/agent-runtime/session/domain/interruption.js +39 -0
  63. package/dist/agent-runtime/session/domain/policy.d.ts +42 -0
  64. package/dist/agent-runtime/session/domain/policy.js +104 -0
  65. package/dist/agent-runtime/session/domain/snapshot.d.ts +100 -0
  66. package/dist/agent-runtime/session/domain/snapshot.js +234 -0
  67. package/dist/agent-runtime/session/domain/state-machines.d.ts +21 -0
  68. package/dist/agent-runtime/session/domain/state-machines.js +41 -0
  69. package/dist/agent-runtime/session/domain/types.d.ts +130 -0
  70. package/dist/agent-runtime/session/domain/types.js +15 -0
  71. package/dist/agent-runtime/session/domain/usage.d.ts +54 -0
  72. package/dist/agent-runtime/session/domain/usage.js +86 -0
  73. package/dist/agent-runtime/session/drivers/claude/argv.d.ts +19 -0
  74. package/dist/agent-runtime/session/drivers/claude/argv.js +67 -0
  75. package/dist/agent-runtime/session/drivers/claude/driver.d.ts +19 -0
  76. package/dist/agent-runtime/session/drivers/claude/driver.js +134 -0
  77. package/dist/agent-runtime/session/drivers/claude/translator.d.ts +40 -0
  78. package/dist/agent-runtime/session/drivers/claude/translator.js +247 -0
  79. package/dist/agent-runtime/session/drivers/codex/argv.d.ts +12 -0
  80. package/dist/agent-runtime/session/drivers/codex/argv.js +76 -0
  81. package/dist/agent-runtime/session/drivers/codex/driver.d.ts +19 -0
  82. package/dist/agent-runtime/session/drivers/codex/driver.js +193 -0
  83. package/dist/agent-runtime/session/drivers/codex/rpc.d.ts +28 -0
  84. package/dist/agent-runtime/session/drivers/codex/rpc.js +81 -0
  85. package/dist/agent-runtime/session/drivers/codex/translator.d.ts +53 -0
  86. package/dist/agent-runtime/session/drivers/codex/translator.js +267 -0
  87. package/dist/agent-runtime/session/drivers/common/process.d.ts +37 -0
  88. package/dist/agent-runtime/session/drivers/common/process.js +116 -0
  89. package/dist/agent-runtime/session/drivers/executor/driver.d.ts +22 -0
  90. package/dist/agent-runtime/session/drivers/executor/driver.js +163 -0
  91. package/dist/agent-runtime/session/drivers/registry.d.ts +32 -0
  92. package/dist/agent-runtime/session/drivers/registry.js +38 -0
  93. package/dist/agent-runtime/session/host/protocol.d.ts +18 -0
  94. package/dist/agent-runtime/session/host/protocol.js +88 -0
  95. package/dist/agent-runtime/session/host/server.d.ts +57 -0
  96. package/dist/agent-runtime/session/host/server.js +229 -0
  97. package/dist/agent-runtime/session/index.d.ts +45 -0
  98. package/dist/agent-runtime/session/index.js +74 -0
  99. package/dist/agent-runtime/session/journal/schema.d.ts +7 -0
  100. package/dist/agent-runtime/session/journal/schema.js +44 -0
  101. package/dist/agent-runtime/session/journal/sqlite-journal.d.ts +70 -0
  102. package/dist/agent-runtime/session/journal/sqlite-journal.js +279 -0
  103. package/dist/agent-runtime/session/ports.d.ts +192 -0
  104. package/dist/agent-runtime/session/ports.js +1 -0
  105. package/dist/agent-runtime/session/testing/driver-conformance.d.ts +21 -0
  106. package/dist/agent-runtime/session/testing/driver-conformance.js +97 -0
  107. package/dist/agent-runtime/session/testing/fake-clock.d.ts +20 -0
  108. package/dist/agent-runtime/session/testing/fake-clock.js +34 -0
  109. package/dist/agent-runtime/session/testing/fixture-replayer.d.ts +41 -0
  110. package/dist/agent-runtime/session/testing/fixture-replayer.js +172 -0
  111. package/dist/agent-runtime/session/testing/index.d.ts +9 -0
  112. package/dist/agent-runtime/session/testing/index.js +9 -0
  113. package/dist/agent-runtime/session/testing/memory-journal.d.ts +27 -0
  114. package/dist/agent-runtime/session/testing/memory-journal.js +70 -0
  115. package/dist/agent-runtime/session/testing/scripted-driver.d.ts +30 -0
  116. package/dist/agent-runtime/session/testing/scripted-driver.js +77 -0
  117. package/dist/agent-runtime/verification-proposals.d.ts +9 -0
  118. package/dist/agent-runtime/verification-proposals.js +69 -0
  119. package/dist/agent-runtime/verification-repair.d.ts +31 -2
  120. package/dist/agent-runtime/verification-repair.js +58 -3
  121. package/dist/installer/commands/init.d.ts +1 -1
  122. package/dist/installer/phases/install-config.js +10 -3
  123. package/dist/installer/util/paths.d.ts +25 -1
  124. package/dist/installer/util/registry.js +3 -3
  125. package/dist/pipeline/pipeline-state.d.ts +42 -11
  126. package/dist/pipeline/pipeline-state.js +47 -8
  127. package/dist/shared/specrails-home.d.ts +21 -0
  128. package/dist/shared/specrails-home.js +36 -0
  129. package/integration-contract.json +42 -1
  130. package/package.json +23 -11
  131. package/schemas/agent-runtime.schema.json +1 -1
@@ -3,72 +3,47 @@ import { RunLedger } from './checkpoint/ledger.js';
3
3
  /** An observer has no valid execution token; every attempted mutation remains fenced. */
4
4
  export declare function observeLedger(database: RunDatabase): RunLedger;
5
5
  export declare function projectRunStatus(ledger: RunLedger, compact?: boolean): {
6
- metrics: import("../efficiency-types.js").RuntimeEfficiency;
7
- efficiencySummary: {
8
- reservations: {
9
- pendingInvocations: number;
10
- knownTokens: number;
11
- knownCostUsd: number;
12
- tokensUnknown: boolean;
13
- costUnknown: boolean;
14
- };
15
- schemaVersion: 1;
16
- currentEvidenceIds: string[];
17
- planHash: string | null;
18
- candidateHash: string | null;
6
+ type: 'runtime-status';
7
+ engineVersion: number;
8
+ state: {
9
+ schemaVersion: 2;
19
10
  runId: string;
11
+ traceId: string;
12
+ workflowId: string;
20
13
  workflowVersion: string;
21
- technicalAcceptance: string;
22
- archive: import("../../pipeline/pipeline-state.js").PhaseStatus;
23
- delivery: "pending" | "complete" | "pending-host";
24
- roles: {
25
- role: string;
26
- provider: string | null;
27
- model: string | null;
28
- effort: string | null;
29
- observedModel: null;
30
- observedEffort: null;
31
- origin: string;
32
- tier: "base" | "escalation";
33
- }[];
34
- invocations: {
35
- byKind: {
36
- [k: string]: number;
37
- };
38
- total: number;
39
- complete: boolean;
40
- promptBytes: number | null;
41
- contextBytes: number | null;
42
- handoffBytes: number | null;
43
- fullContexts: number;
44
- incrementalContexts: number;
14
+ workflowFingerprint: string;
15
+ inputFingerprint: string;
16
+ status: import("../workflow-types.js").WorkflowStatus;
17
+ createdAt: string;
18
+ updatedAt: string;
19
+ nextAttempt: number;
20
+ transitions: number;
21
+ executionCount: number;
22
+ history: import("../workflow-types.js").StepAttemptRecord[];
23
+ events: import("../workflow-types.js").WorkflowEvent[];
24
+ budget: import("./contracts.js").WorkflowBudget;
25
+ usage: {
26
+ costUsd: number | null;
27
+ inputTokens: number | null;
28
+ outputTokens: number | null;
29
+ knownCostUsd: number;
30
+ knownTokens: number;
31
+ durationMs: number;
45
32
  };
46
- escalations: {
47
- role: string;
48
- attemptId: string;
49
- provider: string;
50
- model: string | null;
51
- effort: string | null;
52
- reason: string | null;
53
- }[];
54
- escalationsTruncated: boolean;
55
- checks: {
56
- invalidated: number | null;
57
- available: boolean;
58
- complete: boolean;
59
- executed: number | null;
60
- reused: number | null;
61
- notRun: number | null;
62
- durationMs: number | null;
33
+ pendingApproval?: {
34
+ stepId: string;
35
+ requestedAt: string;
36
+ grantedAt?: string;
37
+ reason?: string;
63
38
  };
64
- metrics: import("../efficiency-types.js").RuntimeEfficiency;
65
- };
66
- revision: number;
67
- eventCursor: number;
68
- forkOf?: string | undefined;
69
- type: "runtime-status";
70
- engineVersion: number;
71
- state: {
39
+ pendingQuestion?: {
40
+ stepId: string;
41
+ requestedAt: string;
42
+ question: string;
43
+ answeredAt?: string;
44
+ answer?: string;
45
+ };
46
+ error?: string;
72
47
  nextNodePath: string;
73
48
  nextStep: string;
74
49
  steps: {
@@ -79,7 +54,6 @@ export declare function projectRunStatus(ledger: RunLedger, compact?: boolean):
79
54
  };
80
55
  };
81
56
  scopes: {
82
- output?: unknown;
83
57
  nodePath: string;
84
58
  scopeId: string;
85
59
  branch: import("node:sqlite").SQLOutputValue;
@@ -87,6 +61,7 @@ export declare function projectRunStatus(ledger: RunLedger, compact?: boolean):
87
61
  status: string;
88
62
  visits: number;
89
63
  attemptId: string | null;
64
+ output?: unknown;
90
65
  }[];
91
66
  lease: {
92
67
  owner: string;
@@ -99,7 +74,7 @@ export declare function projectRunStatus(ledger: RunLedger, compact?: boolean):
99
74
  scopeId: string;
100
75
  attemptId: string;
101
76
  status: string;
102
- effect: "write";
77
+ effect: 'write';
103
78
  }[];
104
79
  steering: {
105
80
  receipts: import("./steering/inbox.js").SteeringReceipt[];
@@ -139,22 +114,11 @@ export declare function projectRunStatus(ledger: RunLedger, compact?: boolean):
139
114
  message: string;
140
115
  };
141
116
  }[];
142
- schemaVersion: 2;
117
+ } | {
143
118
  runId: string;
144
119
  traceId: string;
145
- workflowId: string;
146
- workflowVersion: string;
147
- workflowFingerprint: string;
148
- inputFingerprint: string;
149
120
  status: import("../workflow-types.js").WorkflowStatus;
150
- createdAt: string;
151
121
  updatedAt: string;
152
- nextAttempt: number;
153
- transitions: number;
154
- executionCount: number;
155
- history: import("../workflow-types.js").StepAttemptRecord[];
156
- events: import("../workflow-types.js").WorkflowEvent[];
157
- budget: import("./contracts.js").WorkflowBudget;
158
122
  usage: {
159
123
  costUsd: number | null;
160
124
  inputTokens: number | null;
@@ -168,16 +132,14 @@ export declare function projectRunStatus(ledger: RunLedger, compact?: boolean):
168
132
  requestedAt: string;
169
133
  grantedAt?: string;
170
134
  reason?: string;
171
- };
135
+ } | undefined;
172
136
  pendingQuestion?: {
173
137
  stepId: string;
174
138
  requestedAt: string;
175
139
  question: string;
176
140
  answeredAt?: string;
177
141
  answer?: string;
178
- };
179
- error?: string;
180
- } | {
142
+ } | undefined;
181
143
  nextNodePath: string;
182
144
  nextStep: string;
183
145
  steps: {
@@ -188,7 +150,6 @@ export declare function projectRunStatus(ledger: RunLedger, compact?: boolean):
188
150
  };
189
151
  };
190
152
  scopes: {
191
- output?: unknown;
192
153
  nodePath: string;
193
154
  scopeId: string;
194
155
  branch: import("node:sqlite").SQLOutputValue;
@@ -196,6 +157,7 @@ export declare function projectRunStatus(ledger: RunLedger, compact?: boolean):
196
157
  status: string;
197
158
  visits: number;
198
159
  attemptId: string | null;
160
+ output?: unknown;
199
161
  }[];
200
162
  lease: {
201
163
  owner: string;
@@ -208,7 +170,7 @@ export declare function projectRunStatus(ledger: RunLedger, compact?: boolean):
208
170
  scopeId: string;
209
171
  attemptId: string;
210
172
  status: string;
211
- effect: "write";
173
+ effect: 'write';
212
174
  }[];
213
175
  steering: {
214
176
  receipts: import("./steering/inbox.js").SteeringReceipt[];
@@ -248,31 +210,6 @@ export declare function projectRunStatus(ledger: RunLedger, compact?: boolean):
248
210
  message: string;
249
211
  };
250
212
  }[];
251
- pendingQuestion?: {
252
- stepId: string;
253
- requestedAt: string;
254
- question: string;
255
- answeredAt?: string;
256
- answer?: string;
257
- } | undefined;
258
- pendingApproval?: {
259
- stepId: string;
260
- requestedAt: string;
261
- grantedAt?: string;
262
- reason?: string;
263
- } | undefined;
264
- runId: string;
265
- traceId: string;
266
- status: import("../workflow-types.js").WorkflowStatus;
267
- updatedAt: string;
268
- usage: {
269
- costUsd: number | null;
270
- inputTokens: number | null;
271
- outputTokens: number | null;
272
- knownCostUsd: number;
273
- knownTokens: number;
274
- durationMs: number;
275
- };
276
213
  };
277
214
  workflow: {
278
215
  id: string;
@@ -280,18 +217,9 @@ export declare function projectRunStatus(ledger: RunLedger, compact?: boolean):
280
217
  source: string;
281
218
  };
282
219
  completion: any;
283
- };
284
- /** Status never fingerprints a repository, changes ACLs or acquires an execution lease. */
285
- export declare function statusRun(directory: string, compact?: boolean): Promise<{
220
+ forkOf?: string | undefined;
286
221
  metrics: import("../efficiency-types.js").RuntimeEfficiency;
287
222
  efficiencySummary: {
288
- reservations: {
289
- pendingInvocations: number;
290
- knownTokens: number;
291
- knownCostUsd: number;
292
- tokensUnknown: boolean;
293
- costUnknown: boolean;
294
- };
295
223
  schemaVersion: 1;
296
224
  currentEvidenceIds: string[];
297
225
  planHash: string | null;
@@ -300,7 +228,7 @@ export declare function statusRun(directory: string, compact?: boolean): Promise
300
228
  workflowVersion: string;
301
229
  technicalAcceptance: string;
302
230
  archive: import("../../pipeline/pipeline-state.js").PhaseStatus;
303
- delivery: "pending" | "complete" | "pending-host";
231
+ delivery: "complete" | "pending" | "pending-host";
304
232
  roles: {
305
233
  role: string;
306
234
  provider: string | null;
@@ -342,13 +270,60 @@ export declare function statusRun(directory: string, compact?: boolean): Promise
342
270
  durationMs: number | null;
343
271
  };
344
272
  metrics: import("../efficiency-types.js").RuntimeEfficiency;
273
+ reservations: {
274
+ pendingInvocations: number;
275
+ knownTokens: number;
276
+ knownCostUsd: number;
277
+ tokensUnknown: boolean;
278
+ costUnknown: boolean;
279
+ };
345
280
  };
346
281
  revision: number;
347
282
  eventCursor: number;
348
- forkOf?: string | undefined;
349
- type: "runtime-status";
283
+ };
284
+ /** Status never fingerprints a repository, changes ACLs or acquires an execution lease. */
285
+ export declare function statusRun(directory: string, compact?: boolean): Promise<{
286
+ type: 'runtime-status';
350
287
  engineVersion: number;
351
288
  state: {
289
+ schemaVersion: 2;
290
+ runId: string;
291
+ traceId: string;
292
+ workflowId: string;
293
+ workflowVersion: string;
294
+ workflowFingerprint: string;
295
+ inputFingerprint: string;
296
+ status: import("../workflow-types.js").WorkflowStatus;
297
+ createdAt: string;
298
+ updatedAt: string;
299
+ nextAttempt: number;
300
+ transitions: number;
301
+ executionCount: number;
302
+ history: import("../workflow-types.js").StepAttemptRecord[];
303
+ events: import("../workflow-types.js").WorkflowEvent[];
304
+ budget: import("./contracts.js").WorkflowBudget;
305
+ usage: {
306
+ costUsd: number | null;
307
+ inputTokens: number | null;
308
+ outputTokens: number | null;
309
+ knownCostUsd: number;
310
+ knownTokens: number;
311
+ durationMs: number;
312
+ };
313
+ pendingApproval?: {
314
+ stepId: string;
315
+ requestedAt: string;
316
+ grantedAt?: string;
317
+ reason?: string;
318
+ };
319
+ pendingQuestion?: {
320
+ stepId: string;
321
+ requestedAt: string;
322
+ question: string;
323
+ answeredAt?: string;
324
+ answer?: string;
325
+ };
326
+ error?: string;
352
327
  nextNodePath: string;
353
328
  nextStep: string;
354
329
  steps: {
@@ -359,7 +334,6 @@ export declare function statusRun(directory: string, compact?: boolean): Promise
359
334
  };
360
335
  };
361
336
  scopes: {
362
- output?: unknown;
363
337
  nodePath: string;
364
338
  scopeId: string;
365
339
  branch: import("node:sqlite").SQLOutputValue;
@@ -367,6 +341,7 @@ export declare function statusRun(directory: string, compact?: boolean): Promise
367
341
  status: string;
368
342
  visits: number;
369
343
  attemptId: string | null;
344
+ output?: unknown;
370
345
  }[];
371
346
  lease: {
372
347
  owner: string;
@@ -379,7 +354,7 @@ export declare function statusRun(directory: string, compact?: boolean): Promise
379
354
  scopeId: string;
380
355
  attemptId: string;
381
356
  status: string;
382
- effect: "write";
357
+ effect: 'write';
383
358
  }[];
384
359
  steering: {
385
360
  receipts: import("./steering/inbox.js").SteeringReceipt[];
@@ -419,22 +394,11 @@ export declare function statusRun(directory: string, compact?: boolean): Promise
419
394
  message: string;
420
395
  };
421
396
  }[];
422
- schemaVersion: 2;
397
+ } | {
423
398
  runId: string;
424
399
  traceId: string;
425
- workflowId: string;
426
- workflowVersion: string;
427
- workflowFingerprint: string;
428
- inputFingerprint: string;
429
400
  status: import("../workflow-types.js").WorkflowStatus;
430
- createdAt: string;
431
401
  updatedAt: string;
432
- nextAttempt: number;
433
- transitions: number;
434
- executionCount: number;
435
- history: import("../workflow-types.js").StepAttemptRecord[];
436
- events: import("../workflow-types.js").WorkflowEvent[];
437
- budget: import("./contracts.js").WorkflowBudget;
438
402
  usage: {
439
403
  costUsd: number | null;
440
404
  inputTokens: number | null;
@@ -448,16 +412,14 @@ export declare function statusRun(directory: string, compact?: boolean): Promise
448
412
  requestedAt: string;
449
413
  grantedAt?: string;
450
414
  reason?: string;
451
- };
415
+ } | undefined;
452
416
  pendingQuestion?: {
453
417
  stepId: string;
454
418
  requestedAt: string;
455
419
  question: string;
456
420
  answeredAt?: string;
457
421
  answer?: string;
458
- };
459
- error?: string;
460
- } | {
422
+ } | undefined;
461
423
  nextNodePath: string;
462
424
  nextStep: string;
463
425
  steps: {
@@ -468,7 +430,6 @@ export declare function statusRun(directory: string, compact?: boolean): Promise
468
430
  };
469
431
  };
470
432
  scopes: {
471
- output?: unknown;
472
433
  nodePath: string;
473
434
  scopeId: string;
474
435
  branch: import("node:sqlite").SQLOutputValue;
@@ -476,6 +437,7 @@ export declare function statusRun(directory: string, compact?: boolean): Promise
476
437
  status: string;
477
438
  visits: number;
478
439
  attemptId: string | null;
440
+ output?: unknown;
479
441
  }[];
480
442
  lease: {
481
443
  owner: string;
@@ -488,7 +450,7 @@ export declare function statusRun(directory: string, compact?: boolean): Promise
488
450
  scopeId: string;
489
451
  attemptId: string;
490
452
  status: string;
491
- effect: "write";
453
+ effect: 'write';
492
454
  }[];
493
455
  steering: {
494
456
  receipts: import("./steering/inbox.js").SteeringReceipt[];
@@ -528,31 +490,6 @@ export declare function statusRun(directory: string, compact?: boolean): Promise
528
490
  message: string;
529
491
  };
530
492
  }[];
531
- pendingQuestion?: {
532
- stepId: string;
533
- requestedAt: string;
534
- question: string;
535
- answeredAt?: string;
536
- answer?: string;
537
- } | undefined;
538
- pendingApproval?: {
539
- stepId: string;
540
- requestedAt: string;
541
- grantedAt?: string;
542
- reason?: string;
543
- } | undefined;
544
- runId: string;
545
- traceId: string;
546
- status: import("../workflow-types.js").WorkflowStatus;
547
- updatedAt: string;
548
- usage: {
549
- costUsd: number | null;
550
- inputTokens: number | null;
551
- outputTokens: number | null;
552
- knownCostUsd: number;
553
- knownTokens: number;
554
- durationMs: number;
555
- };
556
493
  };
557
494
  workflow: {
558
495
  id: string;
@@ -560,4 +497,67 @@ export declare function statusRun(directory: string, compact?: boolean): Promise
560
497
  source: string;
561
498
  };
562
499
  completion: any;
500
+ forkOf?: string | undefined;
501
+ metrics: import("../efficiency-types.js").RuntimeEfficiency;
502
+ efficiencySummary: {
503
+ schemaVersion: 1;
504
+ currentEvidenceIds: string[];
505
+ planHash: string | null;
506
+ candidateHash: string | null;
507
+ runId: string;
508
+ workflowVersion: string;
509
+ technicalAcceptance: string;
510
+ archive: import("../../pipeline/pipeline-state.js").PhaseStatus;
511
+ delivery: "complete" | "pending" | "pending-host";
512
+ roles: {
513
+ role: string;
514
+ provider: string | null;
515
+ model: string | null;
516
+ effort: string | null;
517
+ observedModel: null;
518
+ observedEffort: null;
519
+ origin: string;
520
+ tier: "base" | "escalation";
521
+ }[];
522
+ invocations: {
523
+ byKind: {
524
+ [k: string]: number;
525
+ };
526
+ total: number;
527
+ complete: boolean;
528
+ promptBytes: number | null;
529
+ contextBytes: number | null;
530
+ handoffBytes: number | null;
531
+ fullContexts: number;
532
+ incrementalContexts: number;
533
+ };
534
+ escalations: {
535
+ role: string;
536
+ attemptId: string;
537
+ provider: string;
538
+ model: string | null;
539
+ effort: string | null;
540
+ reason: string | null;
541
+ }[];
542
+ escalationsTruncated: boolean;
543
+ checks: {
544
+ invalidated: number | null;
545
+ available: boolean;
546
+ complete: boolean;
547
+ executed: number | null;
548
+ reused: number | null;
549
+ notRun: number | null;
550
+ durationMs: number | null;
551
+ };
552
+ metrics: import("../efficiency-types.js").RuntimeEfficiency;
553
+ reservations: {
554
+ pendingInvocations: number;
555
+ knownTokens: number;
556
+ knownCostUsd: number;
557
+ tokensUnknown: boolean;
558
+ costUnknown: boolean;
559
+ };
560
+ };
561
+ revision: number;
562
+ eventCursor: number;
563
563
  }>;