@jmanuelcorral/openteam 0.19.0 → 0.21.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 (95) hide show
  1. package/README.es.md +10 -2
  2. package/README.md +9 -2
  3. package/dist/certificates/graph-release-certificate.json +2 -2
  4. package/dist/certificates/graph-shadow-certificate.json +2 -2
  5. package/dist/cli/consoleServe.d.ts +17 -0
  6. package/dist/cli/consoleServe.d.ts.map +1 -1
  7. package/dist/cli/graphOperator.d.ts +10 -1
  8. package/dist/cli/graphOperator.d.ts.map +1 -1
  9. package/dist/cli/lifecycleHistoryProvider.d.ts +21 -0
  10. package/dist/cli/lifecycleHistoryProvider.d.ts.map +1 -0
  11. package/dist/cli.d.ts +3 -1
  12. package/dist/cli.d.ts.map +1 -1
  13. package/dist/cli.js +6862 -798
  14. package/dist/config/errors.d.ts.map +1 -1
  15. package/dist/config/historyEndpoint.d.ts +3 -0
  16. package/dist/config/historyEndpoint.d.ts.map +1 -0
  17. package/dist/config/schema.d.ts +43 -1
  18. package/dist/config/schema.d.ts.map +1 -1
  19. package/dist/console/assets.d.ts +23 -2
  20. package/dist/console/assets.d.ts.map +1 -1
  21. package/dist/console/conversation.d.ts +75 -0
  22. package/dist/console/conversation.d.ts.map +1 -0
  23. package/dist/console/historyBoundary.d.ts +6 -0
  24. package/dist/console/historyBoundary.d.ts.map +1 -0
  25. package/dist/console/inspector.d.ts +3 -0
  26. package/dist/console/inspector.d.ts.map +1 -0
  27. package/dist/console/labels.d.ts +12 -0
  28. package/dist/console/labels.d.ts.map +1 -0
  29. package/dist/console/opencodeClient.d.ts.map +1 -1
  30. package/dist/console/refresh.d.ts +3 -0
  31. package/dist/console/refresh.d.ts.map +1 -0
  32. package/dist/console/render.d.ts +19 -0
  33. package/dist/console/render.d.ts.map +1 -1
  34. package/dist/console/rootAssociation.d.ts +7 -0
  35. package/dist/console/rootAssociation.d.ts.map +1 -0
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +2935 -265
  38. package/dist/lifecycle/contracts.d.ts +618 -0
  39. package/dist/lifecycle/contracts.d.ts.map +1 -0
  40. package/dist/lifecycle/historyReader.d.ts +11 -0
  41. package/dist/lifecycle/historyReader.d.ts.map +1 -0
  42. package/dist/lifecycle/historySourceError.d.ts +7 -0
  43. package/dist/lifecycle/historySourceError.d.ts.map +1 -0
  44. package/dist/lifecycle/project.d.ts +3 -0
  45. package/dist/lifecycle/project.d.ts.map +1 -0
  46. package/dist/lifecycle/root.d.ts +3 -0
  47. package/dist/lifecycle/root.d.ts.map +1 -0
  48. package/dist/lifecycle/runtimeRecorder.d.ts +6 -0
  49. package/dist/lifecycle/runtimeRecorder.d.ts.map +1 -0
  50. package/dist/lifecycle/schema.d.ts +487 -0
  51. package/dist/lifecycle/schema.d.ts.map +1 -0
  52. package/dist/messages/consoleDetail.d.ts +54 -0
  53. package/dist/messages/consoleDetail.d.ts.map +1 -0
  54. package/dist/messages/index.d.ts +1 -0
  55. package/dist/messages/index.d.ts.map +1 -1
  56. package/dist/messages/lifecycle.d.ts +95 -0
  57. package/dist/messages/lifecycle.d.ts.map +1 -0
  58. package/dist/messages/lifecycleRuntime.d.ts +4 -0
  59. package/dist/messages/lifecycleRuntime.d.ts.map +1 -0
  60. package/dist/messages/lifecycleStorage.d.ts +4 -0
  61. package/dist/messages/lifecycleStorage.d.ts.map +1 -0
  62. package/dist/messages/orchestration.d.ts +3 -0
  63. package/dist/messages/orchestration.d.ts.map +1 -1
  64. package/dist/orchestrator/coordinator.d.ts +11 -1
  65. package/dist/orchestrator/coordinator.d.ts.map +1 -1
  66. package/dist/orchestrator/graphIngress.d.ts +5 -0
  67. package/dist/orchestrator/graphIngress.d.ts.map +1 -1
  68. package/dist/orchestrator/graphRuntime.d.ts +13 -1
  69. package/dist/orchestrator/graphRuntime.d.ts.map +1 -1
  70. package/dist/orchestrator/subsessions.d.ts +3 -0
  71. package/dist/orchestrator/subsessions.d.ts.map +1 -1
  72. package/dist/plugin/orchestrateTool.d.ts +3 -0
  73. package/dist/plugin/orchestrateTool.d.ts.map +1 -1
  74. package/dist/storage/lifecycle/codec.d.ts +19 -0
  75. package/dist/storage/lifecycle/codec.d.ts.map +1 -0
  76. package/dist/storage/lifecycle/fsLifecycleJournal.d.ts +3 -0
  77. package/dist/storage/lifecycle/fsLifecycleJournal.d.ts.map +1 -0
  78. package/dist/storage/lifecycle/fsLifecycleSupport.d.ts +17 -0
  79. package/dist/storage/lifecycle/fsLifecycleSupport.d.ts.map +1 -0
  80. package/dist/storage/lifecycle/fsLifecycleWriterLivenessProbe.d.ts +3 -0
  81. package/dist/storage/lifecycle/fsLifecycleWriterLivenessProbe.d.ts.map +1 -0
  82. package/dist/web/configApi.d.ts +1 -1
  83. package/dist/web/configApi.d.ts.map +1 -1
  84. package/dist/web/console.d.ts.map +1 -1
  85. package/dist/web/conversationRoute.d.ts +16 -0
  86. package/dist/web/conversationRoute.d.ts.map +1 -0
  87. package/dist/web/graphRoute.d.ts +39 -1
  88. package/dist/web/graphRoute.d.ts.map +1 -1
  89. package/dist/web/server.d.ts +24 -0
  90. package/dist/web/server.d.ts.map +1 -1
  91. package/dist/web/start.d.ts +17 -0
  92. package/dist/web/start.d.ts.map +1 -1
  93. package/dist/web/watch.d.ts +17 -2
  94. package/dist/web/watch.d.ts.map +1 -1
  95. package/package.json +1 -1
@@ -0,0 +1,618 @@
1
+ import type { LocalRuntimeId } from "../local/types";
2
+ import type { ModelSelection } from "../router/types";
3
+ import type { GraphViewProjectionV1 } from "../telemetry/graphView";
4
+ export type LifecycleSchemaVersion = 1;
5
+ export type LifecycleRunSource = "plugin" | "cli";
6
+ export type LifecycleExecutionAuthority = "coordinator" | "graph";
7
+ export type LifecycleOperationKind = "coordinator" | "role" | "graph-node";
8
+ export type LifecycleRouteKind = "local" | "frontier";
9
+ export type LifecycleFailureClass = "routing-blocked" | "create-rejected" | "create-no-id" | "prompt-rejected" | "prompt-timeout" | "prompt-rate-limited" | "prompt-auth" | "prompt-content-filter" | "prompt-context-length" | "prompt-validation" | "prompt-connection" | "prompt-server" | "prompt-stop-unconfirmed" | "report-incomplete" | "report-not-durable" | "budget-exhausted" | "dependency-failed" | "cancelled" | "interrupted" | "unknown";
10
+ export type LifecycleFailure = {
11
+ readonly class: LifecycleFailureClass;
12
+ readonly statusCode?: number;
13
+ readonly retryable?: boolean;
14
+ };
15
+ export type LifecycleRootOperation = {
16
+ readonly operationID: string;
17
+ readonly taskID: string;
18
+ readonly kind: "coordinator" | "graph-node";
19
+ readonly roleID: string;
20
+ readonly agentID?: string;
21
+ readonly sessionID?: string;
22
+ };
23
+ export type LifecycleRunStartInput = {
24
+ readonly runID: string;
25
+ readonly source: LifecycleRunSource;
26
+ readonly executionAuthority: LifecycleExecutionAuthority;
27
+ readonly root: LifecycleRootOperation;
28
+ };
29
+ export type LifecycleRunMetadataV1 = LifecycleRunStartInput & {
30
+ readonly version: LifecycleSchemaVersion;
31
+ readonly createdAt: number;
32
+ };
33
+ export type LifecycleAttemptRef = {
34
+ readonly operationID: string;
35
+ readonly taskID: string;
36
+ readonly attemptID: string;
37
+ /** Zero-based and monotonically increasing within one operation. */
38
+ readonly attempt: number;
39
+ /**
40
+ * Zero-based index in the authorized model chain. A model-less graph effect
41
+ * uses 0 as bookkeeping only; it is not evidence that a model was selected.
42
+ */
43
+ readonly modelIndex: number;
44
+ /**
45
+ * Zero-based retry index for the selected model. A model-less graph effect
46
+ * uses its actual Graph retry index.
47
+ */
48
+ readonly retryIndex: number;
49
+ };
50
+ export type LifecycleSelectionCause = "initial" | "retry-incomplete" | "retry-transport" | "fallback-incomplete" | "fallback-transport";
51
+ export type LifecycleAttemptContinuation = "none" | "retry-same-model" | "fallback-next-model" | "retry-same-effect";
52
+ export type LifecycleAttemptOutcome = "succeeded" | "failed" | "cancelled" | "interrupted" | "unknown";
53
+ export type LifecycleOperationOutcome = LifecycleAttemptOutcome | "blocked";
54
+ export type LifecycleRunOutcome = "succeeded" | "failed" | "cancelled" | "interrupted" | "unknown";
55
+ export type LifecycleRunStartedEventBody = {
56
+ readonly type: "run.started";
57
+ readonly source: LifecycleRunSource;
58
+ readonly executionAuthority: LifecycleExecutionAuthority;
59
+ readonly root: LifecycleRootOperation;
60
+ };
61
+ export type LifecycleOperationQueuedEventBody = {
62
+ readonly type: "operation.queued";
63
+ readonly operationID: string;
64
+ readonly taskID: string;
65
+ readonly kind: Exclude<LifecycleOperationKind, "coordinator">;
66
+ readonly roleID: string;
67
+ readonly agentID?: string;
68
+ readonly parentOperationID: string;
69
+ /**
70
+ * Operation IDs that must succeed first. Hierarchy is represented only by
71
+ * parentOperationID and must never be inferred from this array.
72
+ */
73
+ readonly dependsOnOperationIDs: readonly string[];
74
+ };
75
+ export type LifecycleModelSelectedEventBody = LifecycleAttemptRef & {
76
+ readonly type: "attempt.model-selected";
77
+ readonly decisionID: string;
78
+ readonly model: ModelSelection;
79
+ readonly routeKind: LifecycleRouteKind;
80
+ readonly selectionCause: LifecycleSelectionCause;
81
+ readonly runtimeID?: LocalRuntimeId;
82
+ };
83
+ export type LifecycleAttemptQueuedEventBody = LifecycleAttemptRef & {
84
+ readonly type: "attempt.queued";
85
+ /**
86
+ * For a graph-node operation this may be the first attempt event. The
87
+ * projector then creates a model-less attempt. Role operations remain
88
+ * strict and require attempt.model-selected first.
89
+ */
90
+ readonly runtimeID?: LocalRuntimeId;
91
+ };
92
+ export type LifecycleAttemptStartedEventBody = LifecycleAttemptRef & {
93
+ readonly type: "attempt.started";
94
+ };
95
+ export type LifecycleSessionCreatedEventBody = LifecycleAttemptRef & {
96
+ readonly type: "session.created";
97
+ readonly sessionID: string;
98
+ readonly parentSessionID?: string;
99
+ };
100
+ export type LifecycleAttemptTerminalEventBody = LifecycleAttemptRef & {
101
+ readonly type: "attempt.terminal";
102
+ readonly outcome: LifecycleAttemptOutcome;
103
+ readonly continuation: LifecycleAttemptContinuation;
104
+ readonly sessionID?: string;
105
+ readonly failure?: LifecycleFailure;
106
+ };
107
+ export type LifecycleOperationTerminalEventBody = {
108
+ readonly type: "operation.terminal";
109
+ readonly operationID: string;
110
+ readonly taskID: string;
111
+ readonly outcome: LifecycleOperationOutcome;
112
+ readonly attemptCount: number;
113
+ readonly finalSessionID?: string;
114
+ readonly failure?: LifecycleFailure;
115
+ };
116
+ export type LifecycleRunTerminalEventBody = {
117
+ readonly type: "run.terminal";
118
+ readonly outcome: LifecycleRunOutcome;
119
+ readonly operationCount: number;
120
+ readonly failure?: LifecycleFailure;
121
+ };
122
+ export type LifecycleEventBodyV1 = LifecycleRunStartedEventBody | LifecycleOperationQueuedEventBody | LifecycleModelSelectedEventBody | LifecycleAttemptQueuedEventBody | LifecycleAttemptStartedEventBody | LifecycleSessionCreatedEventBody | LifecycleAttemptTerminalEventBody | LifecycleOperationTerminalEventBody | LifecycleRunTerminalEventBody;
123
+ export type LifecycleAppendEventV1 = Exclude<LifecycleEventBodyV1, LifecycleRunStartedEventBody>;
124
+ export type LifecycleEventEnvelopeV1 = {
125
+ readonly v: LifecycleSchemaVersion;
126
+ readonly seq: number;
127
+ readonly runID: string;
128
+ /** Unix epoch milliseconds supplied by the injected journal clock. */
129
+ readonly at: number;
130
+ };
131
+ export type LifecycleEventV1 = LifecycleEventEnvelopeV1 & LifecycleEventBodyV1;
132
+ export type LifecycleWriterHandle = {
133
+ readonly runID: string;
134
+ readonly writerToken: string;
135
+ };
136
+ /**
137
+ * Process identity is diagnostic/fencing context only. Liveness must never be
138
+ * inferred from processID alone because operating systems reuse PIDs.
139
+ */
140
+ export type LifecycleWriterIdentity = {
141
+ readonly processID: number;
142
+ readonly processInstanceID: string;
143
+ };
144
+ export type LifecycleWriterLeaseInput = {
145
+ readonly writer: LifecycleWriterIdentity;
146
+ readonly now: number;
147
+ readonly leaseDurationMs: number;
148
+ };
149
+ export type LifecycleWriterLeaseV1 = LifecycleWriterIdentity & {
150
+ readonly version: LifecycleSchemaVersion;
151
+ readonly runID: string;
152
+ readonly writerToken: string;
153
+ readonly acquiredAt: number;
154
+ readonly heartbeatAt: number;
155
+ readonly expiresAt: number;
156
+ };
157
+ export type LifecycleTakeoverExpectation = {
158
+ readonly kind: "absent";
159
+ } | {
160
+ readonly kind: "expired";
161
+ readonly writerToken: string;
162
+ readonly expiresAt: number;
163
+ };
164
+ export type LifecycleStartReceipt = {
165
+ readonly handle: LifecycleWriterHandle;
166
+ readonly metadata: LifecycleRunMetadataV1;
167
+ /** The durably committed run.started event at seq 0. */
168
+ readonly event: LifecycleEventV1 & LifecycleRunStartedEventBody;
169
+ readonly lease: LifecycleWriterLeaseV1;
170
+ readonly head: 1;
171
+ };
172
+ export type LifecycleAppendReceipt = {
173
+ readonly event: LifecycleEventV1;
174
+ /** Exclusive event count after the append. */
175
+ readonly head: number;
176
+ };
177
+ export type LifecycleHistoryIntegrity = "clean" | "partial-tail";
178
+ export type LoadedLifecycleRun = {
179
+ readonly metadata: LifecycleRunMetadataV1;
180
+ readonly events: readonly LifecycleEventV1[];
181
+ readonly head: number;
182
+ readonly integrity: LifecycleHistoryIntegrity;
183
+ };
184
+ /**
185
+ * Storage-only discovery result. The history reader adds legacy fidelity,
186
+ * recording state, and the separate current-writer activity overlay.
187
+ */
188
+ export type LifecycleStoredRunSummaryV1 = {
189
+ readonly metadata: LifecycleRunMetadataV1;
190
+ readonly updatedAt: number;
191
+ readonly terminalOutcome?: LifecycleRunOutcome;
192
+ readonly head: number;
193
+ readonly integrity: LifecycleHistoryIntegrity;
194
+ };
195
+ export type LifecycleStoreErrorCode = "already-exists" | "not-found" | "writer-conflict" | "sequence-mismatch" | "duplicate-event" | "corrupt" | "unavailable" | "active-run" | "terminal-run";
196
+ export type LifecycleStoreFailure = {
197
+ readonly code: LifecycleStoreErrorCode;
198
+ readonly recoverable: boolean;
199
+ readonly runID?: string;
200
+ readonly expectedHead?: number;
201
+ readonly actualHead?: number;
202
+ };
203
+ export type LifecycleStoreResult<T> = {
204
+ readonly ok: true;
205
+ readonly value: T;
206
+ } | {
207
+ readonly ok: false;
208
+ readonly error: LifecycleStoreFailure;
209
+ };
210
+ export type LifecycleRetentionPolicy = {
211
+ readonly maxTerminalRuns: number;
212
+ readonly maxAgeMs: number;
213
+ readonly maxBytes: number;
214
+ };
215
+ export type LifecycleRetentionResult = {
216
+ readonly deletedRunIDs: readonly string[];
217
+ readonly retainedTerminalRuns: number;
218
+ readonly retainedBytes: number;
219
+ };
220
+ export type LifecycleHeartbeatReceipt = {
221
+ readonly lease: LifecycleWriterLeaseV1;
222
+ };
223
+ /**
224
+ * Low-level durable journal. start atomically creates metadata, writer fencing,
225
+ * and the seq-0 run.started event with its `at` from the injected clock before
226
+ * returning.
227
+ */
228
+ export interface LifecycleJournal {
229
+ start(input: LifecycleRunStartInput, lease: LifecycleWriterLeaseInput): Promise<LifecycleStoreResult<LifecycleStartReceipt>>;
230
+ takeOver(runID: string, expected: LifecycleTakeoverExpectation, lease: LifecycleWriterLeaseInput): Promise<LifecycleStoreResult<LifecycleWriterHandle>>;
231
+ append(handle: LifecycleWriterHandle, event: LifecycleAppendEventV1, expectedHead: number): Promise<LifecycleStoreResult<LifecycleAppendReceipt>>;
232
+ heartbeat(handle: LifecycleWriterHandle, lease: Pick<LifecycleWriterLeaseInput, "now" | "leaseDurationMs">): Promise<LifecycleStoreResult<LifecycleHeartbeatReceipt>>;
233
+ release(handle: LifecycleWriterHandle): Promise<LifecycleStoreResult<undefined>>;
234
+ load(runID: string): Promise<LifecycleStoreResult<LoadedLifecycleRun>>;
235
+ list(): Promise<LifecycleStoreResult<readonly LifecycleStoredRunSummaryV1[]>>;
236
+ pruneTerminal(policy: LifecycleRetentionPolicy, now: number): Promise<LifecycleStoreResult<LifecycleRetentionResult>>;
237
+ }
238
+ export type LifecycleRecordingState = "healthy" | "degraded" | "unavailable";
239
+ export type LifecycleRecordingStatus = {
240
+ readonly runID: string;
241
+ readonly state: LifecycleRecordingState;
242
+ readonly lastCommittedHead: number;
243
+ readonly failure?: LifecycleStoreFailure;
244
+ };
245
+ export type LifecycleRecordResult = {
246
+ readonly ok: true;
247
+ readonly receipt: LifecycleAppendReceipt;
248
+ readonly status: LifecycleRecordingStatus;
249
+ } | {
250
+ readonly ok: false;
251
+ readonly status: LifecycleRecordingStatus;
252
+ };
253
+ export type LifecycleAttemptObservationPhase = "queued" | "started" | "terminal";
254
+ export type LifecycleAttemptObservationExpectation = {
255
+ /**
256
+ * `null` means authoritative progress proves an attempt exists but its
257
+ * identity cannot be verified. Continuation must fail closed.
258
+ */
259
+ readonly attemptID: string | null;
260
+ readonly minimumPhase: LifecycleAttemptObservationPhase;
261
+ };
262
+ /** Authoritative progress that must already exist in a lifecycle prefix. */
263
+ export type LifecycleOperationObservationExpectation = {
264
+ readonly operationID: string;
265
+ readonly operationQueuedRequired: boolean;
266
+ readonly operationTerminalRequired: boolean;
267
+ readonly attempts: readonly LifecycleAttemptObservationExpectation[];
268
+ };
269
+ export type LifecycleObservationVerificationOptions = {
270
+ /**
271
+ * Before appending a run terminal, every observed attempt and every non-root
272
+ * operation must already be terminal.
273
+ */
274
+ readonly requireCompleteObservedWork?: boolean;
275
+ };
276
+ /**
277
+ * Per-run serialized recorder injected into execution code. Sequence defines
278
+ * order; the journal assigns each event `at` from the injected factory clock.
279
+ * Producers supply event bodies only.
280
+ */
281
+ export interface LifecycleRunRecorder {
282
+ readonly runID: string;
283
+ append(event: LifecycleAppendEventV1): Promise<LifecycleRecordResult>;
284
+ status(): LifecycleRecordingStatus;
285
+ /**
286
+ * Refuses further observation when a lifecycle prefix is missing an
287
+ * operation or attempt phase already required by authoritative progress. It
288
+ * never reconstructs past events or changes execution.
289
+ */
290
+ verifyOperations(expectations: readonly LifecycleOperationObservationExpectation[], options?: LifecycleObservationVerificationOptions): Promise<LifecycleRecordingStatus>;
291
+ /**
292
+ * Stops heartbeats and removes owner state only when this recorder still
293
+ * holds the matching writer token. It never invents a terminal event.
294
+ */
295
+ release(): Promise<LifecycleRecordingStatus>;
296
+ }
297
+ export type LifecycleBeginResult = {
298
+ readonly ok: true;
299
+ readonly recorder: LifecycleRunRecorder;
300
+ readonly receipt: LifecycleStartReceipt;
301
+ readonly status: LifecycleRecordingStatus;
302
+ } | {
303
+ readonly ok: false;
304
+ readonly status: LifecycleRecordingStatus;
305
+ };
306
+ export type LifecycleContinueResult = {
307
+ readonly ok: true;
308
+ readonly recorder: LifecycleRunRecorder;
309
+ readonly status: LifecycleRecordingStatus;
310
+ } | {
311
+ readonly ok: false;
312
+ readonly status: LifecycleRecordingStatus;
313
+ };
314
+ export interface RuntimeLifecycleRecorder {
315
+ beginRun(input: LifecycleRunStartInput): Promise<LifecycleBeginResult>;
316
+ /**
317
+ * Reacquires writer ownership for an existing nonterminal journal. This
318
+ * continues observation only: it never resumes execution, edits prior
319
+ * events, appends after run.terminal, or creates missing history. Optional
320
+ * so the generic Graph bridge cannot gate existing coordinator recording.
321
+ */
322
+ continueRun?(runID: string): Promise<LifecycleContinueResult>;
323
+ }
324
+ export type LifecycleHeartbeatSchedule = {
325
+ stop(): void;
326
+ };
327
+ export interface LifecycleHeartbeatScheduler {
328
+ /**
329
+ * Invocations for one schedule do not overlap. The runtime recorder still
330
+ * serializes heartbeat and append journal mutations behind one queue.
331
+ */
332
+ start(intervalMs: number, heartbeat: () => Promise<void>): LifecycleHeartbeatSchedule;
333
+ }
334
+ export type CreateNodeLifecycleHeartbeatScheduler = () => LifecycleHeartbeatScheduler;
335
+ export type LifecycleRootResolutionOptions = {
336
+ readonly workspaceRoot: string;
337
+ readonly configuredRoot: string;
338
+ };
339
+ export type ResolveLifecycleRoot = (options: LifecycleRootResolutionOptions) => string;
340
+ export type LifecycleJournalFactoryOptions = {
341
+ readonly root: string;
342
+ /** Filesystem mutation-lock boundary; defaults to the durable local lock. */
343
+ readonly withMutationLock?: <T>(runDirectory: string, mutate: () => T) => T;
344
+ /**
345
+ * Optional injected clock for journal `at` stamps.
346
+ * I/O adapters may fall back to Date.now() when omitted.
347
+ */
348
+ readonly now?: () => number;
349
+ };
350
+ export type CreateFsLifecycleJournal = (options: LifecycleJournalFactoryOptions) => LifecycleJournal;
351
+ export type RuntimeLifecycleRecorderFactoryOptions = {
352
+ readonly journal: LifecycleJournal;
353
+ /** Required only when the produced recorder supports continueRun. */
354
+ readonly writerLiveness?: LifecycleWriterLivenessProbe;
355
+ readonly writer: LifecycleWriterIdentity;
356
+ readonly now: () => number;
357
+ readonly heartbeatScheduler: LifecycleHeartbeatScheduler;
358
+ readonly heartbeatIntervalMs: number;
359
+ readonly leaseDurationMs: number;
360
+ /** Best-effort maintenance after a committed terminal and owner release. */
361
+ readonly retention?: LifecycleRetentionPolicy;
362
+ };
363
+ export type CreateRuntimeLifecycleRecorder = (options: RuntimeLifecycleRecorderFactoryOptions) => RuntimeLifecycleRecorder;
364
+ export type LifecycleAttemptState = "selected" | "queued" | "running" | LifecycleAttemptOutcome;
365
+ export type LifecycleOperationState = "waiting" | "queued" | "running" | LifecycleOperationOutcome;
366
+ export type LifecycleObservedRunState = "pending" | "running" | LifecycleRunOutcome;
367
+ export type LifecycleAttemptViewV1 = LifecycleAttemptRef & {
368
+ readonly state: LifecycleAttemptState;
369
+ readonly decisionID?: string;
370
+ readonly model?: ModelSelection;
371
+ readonly routeKind?: LifecycleRouteKind;
372
+ readonly selectionCause?: LifecycleSelectionCause;
373
+ readonly runtimeID?: LocalRuntimeId;
374
+ readonly sessionID?: string;
375
+ readonly parentSessionID?: string;
376
+ readonly selectedAt?: number;
377
+ readonly queuedAt?: number;
378
+ readonly startedAt?: number;
379
+ readonly terminalAt?: number;
380
+ readonly outcome?: LifecycleAttemptOutcome;
381
+ readonly continuation?: LifecycleAttemptContinuation;
382
+ readonly failure?: LifecycleFailure;
383
+ };
384
+ export type LifecycleOperationViewV1 = {
385
+ readonly operationID: string;
386
+ readonly taskID: string;
387
+ readonly kind: LifecycleOperationKind;
388
+ readonly roleID: string;
389
+ readonly agentID?: string;
390
+ readonly state: LifecycleOperationState;
391
+ readonly parentOperationID?: string;
392
+ readonly dependsOnOperationIDs: readonly string[];
393
+ readonly attempts: readonly LifecycleAttemptViewV1[];
394
+ readonly queuedAt?: number;
395
+ readonly terminalAt?: number;
396
+ readonly outcome?: LifecycleOperationOutcome;
397
+ readonly failure?: LifecycleFailure;
398
+ };
399
+ export type LifecycleHierarchyEdgeV1 = {
400
+ readonly kind: "hierarchy";
401
+ readonly from: string;
402
+ readonly to: string;
403
+ };
404
+ export type LifecycleDependencyEdgeV1 = {
405
+ readonly kind: "dependency";
406
+ readonly from: string;
407
+ readonly to: string;
408
+ };
409
+ export type LifecycleTreeEdgeV1 = LifecycleHierarchyEdgeV1 | LifecycleDependencyEdgeV1;
410
+ export type LifecycleProjectionV1 = {
411
+ readonly version: LifecycleSchemaVersion;
412
+ readonly source: "lifecycle";
413
+ readonly runID: string;
414
+ readonly cursor: number;
415
+ readonly head: number;
416
+ /**
417
+ * State observed in this exact event prefix. Current-writer liveness is a
418
+ * separate overlay and must never rewrite a historical prefix.
419
+ */
420
+ readonly observedState: LifecycleObservedRunState;
421
+ readonly rootOperationID: string;
422
+ readonly operations: readonly LifecycleOperationViewV1[];
423
+ readonly edges: readonly LifecycleTreeEdgeV1[];
424
+ readonly timeline: readonly LifecycleEventV1[];
425
+ readonly lastEventAt: number | null;
426
+ };
427
+ export type ProjectLifecyclePrefix = (input: {
428
+ readonly metadata: LifecycleRunMetadataV1;
429
+ readonly events: readonly LifecycleEventV1[];
430
+ /** Exclusive event count. The projector folds events where seq < cursor. */
431
+ readonly cursor: number;
432
+ }) => LifecycleProjectionV1;
433
+ export type LifecycleWriterLiveness = {
434
+ readonly kind: "active";
435
+ readonly observedAt: number;
436
+ readonly lease: LifecycleWriterLeaseV1;
437
+ } | {
438
+ readonly kind: "expired";
439
+ readonly observedAt: number;
440
+ readonly lease: LifecycleWriterLeaseV1;
441
+ } | {
442
+ readonly kind: "absent";
443
+ readonly observedAt: number;
444
+ } | {
445
+ readonly kind: "unknown";
446
+ readonly observedAt: number;
447
+ readonly reason: "clock-regressed" | "owner-invalid" | "probe-unavailable";
448
+ readonly lease?: LifecycleWriterLeaseV1;
449
+ };
450
+ export interface LifecycleWriterLivenessProbe {
451
+ observe(runID: string): Promise<LifecycleWriterLiveness>;
452
+ }
453
+ export type LifecycleWriterLivenessProbeFactoryOptions = {
454
+ readonly root: string;
455
+ readonly now: () => number;
456
+ };
457
+ export type CreateFsLifecycleWriterLivenessProbe = (options: LifecycleWriterLivenessProbeFactoryOptions) => LifecycleWriterLivenessProbe;
458
+ /**
459
+ * Public liveness is deliberately token/PID-free. "writer-active" means a
460
+ * fresh renewable lease, not proof that an operation will eventually finish.
461
+ */
462
+ export type LifecycleSelectionActivityV1 = {
463
+ readonly kind: "writer-active";
464
+ readonly observedAt: number;
465
+ readonly heartbeatAt: number;
466
+ readonly expiresAt: number;
467
+ } | {
468
+ readonly kind: "writer-unknown";
469
+ readonly observedAt: number;
470
+ readonly reason: "owner-absent" | "lease-expired" | "clock-regressed" | "owner-invalid" | "probe-unavailable";
471
+ readonly heartbeatAt?: number;
472
+ readonly expiresAt?: number;
473
+ } | {
474
+ readonly kind: "terminal";
475
+ readonly observedAt: number;
476
+ } | {
477
+ readonly kind: "historical-prefix";
478
+ } | {
479
+ readonly kind: "legacy";
480
+ };
481
+ export type LifecycleHistoryFidelity = {
482
+ readonly kind: "complete";
483
+ } | {
484
+ readonly kind: "legacy-incomplete";
485
+ readonly reason: "pre-lifecycle-history";
486
+ readonly earliestReliableCursor: null;
487
+ };
488
+ export type LifecycleRunSummaryV1 = {
489
+ readonly version: LifecycleSchemaVersion;
490
+ readonly runID: string;
491
+ readonly source: "lifecycle" | "legacy-graph";
492
+ readonly executionAuthority: LifecycleExecutionAuthority;
493
+ readonly rootTaskID: string;
494
+ readonly rootSessionID?: string;
495
+ readonly startedAt: number | null;
496
+ readonly updatedAt: number | null;
497
+ readonly terminalOutcome?: LifecycleRunOutcome;
498
+ readonly head: number | null;
499
+ readonly fidelity: LifecycleHistoryFidelity;
500
+ readonly integrity: LifecycleHistoryIntegrity | "unknown";
501
+ readonly recordingState: LifecycleRecordingState;
502
+ readonly activity: LifecycleSelectionActivityV1;
503
+ };
504
+ export type LifecycleCompleteSelectionV1 = {
505
+ readonly runID: string;
506
+ readonly cursor: number;
507
+ readonly head: number;
508
+ /** True only when the request omitted cursor. */
509
+ readonly followLive: boolean;
510
+ readonly incomingEvents: number;
511
+ };
512
+ export type LifecycleLegacySelectionV1 = {
513
+ readonly runID: string;
514
+ readonly cursor: null;
515
+ readonly head: null;
516
+ readonly followLive: false;
517
+ readonly incomingEvents: 0;
518
+ };
519
+ export type LifecycleHistoryDisabledResponseV1 = {
520
+ readonly version: LifecycleSchemaVersion;
521
+ readonly kind: "disabled";
522
+ readonly reason: "graph-disabled" | "history-disabled";
523
+ };
524
+ export type LifecycleHistoryEmptyResponseV1 = {
525
+ readonly version: LifecycleSchemaVersion;
526
+ readonly kind: "empty";
527
+ readonly runs: readonly [];
528
+ };
529
+ export type LifecycleHistoryViewResponseV1 = {
530
+ readonly version: LifecycleSchemaVersion;
531
+ readonly kind: "view";
532
+ readonly runs: readonly LifecycleRunSummaryV1[];
533
+ readonly selection: LifecycleCompleteSelectionV1;
534
+ readonly history: {
535
+ readonly fidelity: "complete";
536
+ };
537
+ readonly projection: LifecycleProjectionV1;
538
+ readonly recording: LifecycleRecordingStatus;
539
+ readonly activity: LifecycleSelectionActivityV1;
540
+ };
541
+ export type LifecycleLegacyHistoryResponseV1 = {
542
+ readonly version: LifecycleSchemaVersion;
543
+ readonly kind: "legacy";
544
+ readonly runs: readonly LifecycleRunSummaryV1[];
545
+ readonly selection: LifecycleLegacySelectionV1;
546
+ readonly history: {
547
+ readonly fidelity: "legacy-incomplete";
548
+ readonly reason: "pre-lifecycle-history";
549
+ };
550
+ readonly projection: GraphViewProjectionV1;
551
+ };
552
+ export type LifecycleHistoryErrorCode = "invalid-cursor" | "run-not-found" | "cursor-ahead" | "history-incomplete" | "journal-corrupt" | "history-unavailable";
553
+ export type LifecycleHistoryErrorResponseV1 = {
554
+ readonly version: LifecycleSchemaVersion;
555
+ readonly kind: "error";
556
+ readonly error: {
557
+ readonly code: LifecycleHistoryErrorCode;
558
+ readonly runID?: string;
559
+ readonly cursor?: number;
560
+ readonly head?: number;
561
+ };
562
+ };
563
+ export type LifecycleHistoryResponseV1 = LifecycleHistoryDisabledResponseV1 | LifecycleHistoryEmptyResponseV1 | LifecycleHistoryViewResponseV1 | LifecycleLegacyHistoryResponseV1 | LifecycleHistoryErrorResponseV1;
564
+ export type LifecycleHistoryQuery = {
565
+ readonly runID?: string;
566
+ /**
567
+ * Exclusive event count. Omission follows live; an explicit value, including
568
+ * the current head, is a paused historical selection.
569
+ */
570
+ readonly cursor?: number;
571
+ };
572
+ export interface LifecycleHistoryReader {
573
+ read(query: LifecycleHistoryQuery): Promise<LifecycleHistoryResponseV1>;
574
+ }
575
+ export type LifecycleHistoryAvailability = "enabled" | "graph-disabled" | "history-disabled";
576
+ export interface LifecycleLegacyHistorySource {
577
+ list(): Promise<readonly LifecycleRunSummaryV1[]>;
578
+ read(runID: string): Promise<GraphViewProjectionV1 | undefined>;
579
+ }
580
+ export type LifecycleHistoryReaderFactoryOptions = {
581
+ readonly journal: Pick<LifecycleJournal, "load" | "list">;
582
+ readonly project: ProjectLifecyclePrefix;
583
+ readonly writerLiveness: LifecycleWriterLivenessProbe;
584
+ readonly availability: LifecycleHistoryAvailability;
585
+ readonly legacy?: LifecycleLegacyHistorySource;
586
+ };
587
+ export type CreateLifecycleHistoryReader = (options: LifecycleHistoryReaderFactoryOptions) => LifecycleHistoryReader;
588
+ export type LifecycleHistoryProviderDiagnostic = {
589
+ readonly code: "lifecycle-owner-invalid" | "lifecycle-liveness-probe-unavailable" | "lifecycle-journal-corrupt" | "lifecycle-legacy-journal-corrupt";
590
+ readonly runID?: string;
591
+ };
592
+ export type LifecycleHistoryProviderFactoryOptions = {
593
+ readonly lifecycleRoot: string;
594
+ readonly legacyGraphRoot: string;
595
+ readonly now: () => number;
596
+ readonly availability: LifecycleHistoryAvailability;
597
+ readonly onDiagnostic: (diagnostic: LifecycleHistoryProviderDiagnostic) => void;
598
+ };
599
+ export type CreateLifecycleHistoryProvider = (options: LifecycleHistoryProviderFactoryOptions) => LifecycleHistoryReader;
600
+ export type LifecycleAppendNoticeV1 = {
601
+ readonly version: LifecycleSchemaVersion;
602
+ readonly runID: string;
603
+ /** Exclusive event count after the observed append. */
604
+ readonly head: number;
605
+ };
606
+ /**
607
+ * The existing OpencodeSessionClient keeps its `{ data?, error? }` outer
608
+ * result. SDK adapters place this bounded value in `error` for top-level or
609
+ * nested assistant failures instead of changing every client method shape.
610
+ */
611
+ export type BoundedNormalizedSessionFailure = {
612
+ readonly kind: "normalized-session-failure";
613
+ readonly failureClass: Extract<LifecycleFailureClass, "create-rejected" | "create-no-id" | "prompt-rejected" | "prompt-timeout" | "prompt-rate-limited" | "prompt-auth" | "prompt-content-filter" | "prompt-context-length" | "prompt-validation" | "prompt-connection" | "prompt-server" | "unknown">;
614
+ /** Provider/policy retry eligibility, not overlap-safety. */
615
+ readonly retryable: boolean;
616
+ readonly statusCode?: number;
617
+ };
618
+ //# sourceMappingURL=contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/lifecycle/contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Lifecycle history reader: selects and projects lifecycle runs for the
3
+ * Console history endpoint. Pure — all I/O dependencies are injected.
4
+ *
5
+ * Ownership: Livingston (per ADR runtime-lifecycle-history.md)
6
+ */
7
+ import type { LifecycleHistoryReaderFactoryOptions } from "./contracts";
8
+ export type { CreateLifecycleHistoryReader, LifecycleHistoryReader, } from "./contracts";
9
+ import type { LifecycleHistoryReader } from "./contracts";
10
+ export declare function createLifecycleHistoryReader(options: LifecycleHistoryReaderFactoryOptions): LifecycleHistoryReader;
11
+ //# sourceMappingURL=historyReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"historyReader.d.ts","sourceRoot":"","sources":["../../src/lifecycle/historyReader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAQV,oCAAoC,EAYrC,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAqMrB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,oCAAoC,GAC5C,sBAAsB,CA6PxB"}