cueline 0.1.7 → 0.2.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 (75) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +23 -0
  4. package/README.ja.md +67 -42
  5. package/README.ko.md +67 -42
  6. package/README.md +45 -70
  7. package/README.zh-CN.md +67 -42
  8. package/README.zh-TW.md +57 -40
  9. package/dist/src/api-contracts.d.ts +7 -0
  10. package/dist/src/api-controller-handoff.d.ts +5 -1
  11. package/dist/src/api-controller-handoff.js +148 -0
  12. package/dist/src/api-controller-handoff.js.map +1 -1
  13. package/dist/src/api.d.ts +9 -1
  14. package/dist/src/api.js +6 -2
  15. package/dist/src/api.js.map +1 -1
  16. package/dist/src/browser/browser-adapter.d.ts +26 -0
  17. package/dist/src/browser/codex-iab/bootstrap.d.ts +1 -0
  18. package/dist/src/browser/codex-iab/bootstrap.js +1 -0
  19. package/dist/src/browser/codex-iab/bootstrap.js.map +1 -1
  20. package/dist/src/browser/codex-iab/chatgpt-client.js +107 -19
  21. package/dist/src/browser/codex-iab/chatgpt-client.js.map +1 -1
  22. package/dist/src/cli/health-commands.js +74 -0
  23. package/dist/src/cli/health-commands.js.map +1 -1
  24. package/dist/src/cli/main.js +31 -10
  25. package/dist/src/cli/main.js.map +1 -1
  26. package/dist/src/cli/observation-commands.js +112 -1
  27. package/dist/src/cli/observation-commands.js.map +1 -1
  28. package/dist/src/cli/run-status-view.d.ts +8 -0
  29. package/dist/src/cli/run-status-view.js +9 -0
  30. package/dist/src/cli/run-status-view.js.map +1 -1
  31. package/dist/src/core/controller-loop.js +23 -1
  32. package/dist/src/core/controller-loop.js.map +1 -1
  33. package/dist/src/core/controller-turn.d.ts +7 -1
  34. package/dist/src/core/controller-turn.js +73 -1
  35. package/dist/src/core/controller-turn.js.map +1 -1
  36. package/dist/src/core/run-status.d.ts +9 -1
  37. package/dist/src/core/run-status.js +26 -0
  38. package/dist/src/core/run-status.js.map +1 -1
  39. package/dist/src/core/state-machine.d.ts +15 -0
  40. package/dist/src/core/state-machine.js +104 -0
  41. package/dist/src/core/state-machine.js.map +1 -1
  42. package/dist/src/observation/run-diff.d.ts +39 -0
  43. package/dist/src/observation/run-diff.js +67 -0
  44. package/dist/src/observation/run-diff.js.map +1 -0
  45. package/dist/src/observation/run-graph.d.ts +17 -0
  46. package/dist/src/observation/run-graph.js +77 -0
  47. package/dist/src/observation/run-graph.js.map +1 -0
  48. package/dist/src/observation/run-status-at.d.ts +41 -0
  49. package/dist/src/observation/run-status-at.js +65 -0
  50. package/dist/src/observation/run-status-at.js.map +1 -0
  51. package/dist/src/observation/run-timeline.js +2 -1
  52. package/dist/src/observation/run-timeline.js.map +1 -1
  53. package/dist/src/router/explain.d.ts +28 -0
  54. package/dist/src/router/explain.js +86 -0
  55. package/dist/src/router/explain.js.map +1 -0
  56. package/dist/src/router/resolver.d.ts +2 -1
  57. package/dist/src/router/resolver.js +3 -3
  58. package/dist/src/router/resolver.js.map +1 -1
  59. package/dist/src/version.d.ts +1 -1
  60. package/dist/src/version.js +1 -1
  61. package/docs/assets/README.md +3 -1
  62. package/docs/assets/cueline-architecture-en.svg +63 -0
  63. package/docs/assets/cueline-architecture-ja.svg +63 -0
  64. package/docs/assets/cueline-architecture-ko.svg +63 -0
  65. package/docs/assets/cueline-architecture-zh-CN.svg +63 -0
  66. package/docs/assets/cueline-architecture-zh-TW.svg +63 -0
  67. package/docs/assets/cueline-states-en.svg +50 -0
  68. package/docs/assets/cueline-states-ja.svg +48 -0
  69. package/docs/assets/cueline-states-ko.svg +48 -0
  70. package/docs/assets/cueline-states-zh-CN.svg +48 -0
  71. package/docs/assets/cueline-states-zh-TW.svg +48 -0
  72. package/docs/controller-protocol.md +6 -0
  73. package/docs/multi-model-routing.md +256 -0
  74. package/docs/state-and-recovery.md +30 -0
  75. package/package.json +1 -1
@@ -95,6 +95,7 @@ export function initialRunState(runId, request, executor = "caller", maxRounds =
95
95
  controllerConversationArchive: initialControllerConversationArchive(archiveControllerConversationOnComplete),
96
96
  pendingControllerTurns: [],
97
97
  abandonedControllerTurns: [],
98
+ notSentRecovery: null,
98
99
  lastFailure: null,
99
100
  jobs: {},
100
101
  inspectionJobIds: [],
@@ -157,15 +158,29 @@ export function reduceRunState(state, event) {
157
158
  submissionState: "requested",
158
159
  conversationUrl: state.conversationUrl,
159
160
  selectedModelLabel: null,
161
+ baselineUserMessageCount: null,
160
162
  baselineAssistantMessageCount: null,
163
+ baselineLastUserMessageHash: null,
161
164
  composerPromptState: null,
162
165
  manualSendConfirmed: false,
166
+ retryOfRequestId: typeof payload.retry_of_request_id === "string"
167
+ ? payload.retry_of_request_id
168
+ : null,
163
169
  submissionCheckpointContract: payload.submission_checkpoint_contract === "write_ahead_v1"
164
170
  ? "write_ahead_v1"
165
171
  : null,
166
172
  },
167
173
  ],
168
174
  abandonedControllerTurns: (state.abandonedControllerTurns ?? []).filter((turn) => turn.requestId !== payload.request_id),
175
+ notSentRecovery: typeof payload.retry_of_request_id === "string" &&
176
+ state.notSentRecovery?.abandonedRequestId === payload.retry_of_request_id
177
+ ? {
178
+ ...state.notSentRecovery,
179
+ status: "retry_pending",
180
+ retryRequestId: payload.request_id,
181
+ conflictCode: null,
182
+ }
183
+ : state.notSentRecovery ?? null,
169
184
  };
170
185
  }
171
186
  if (event.type === "controller_conversation_bound" &&
@@ -209,9 +224,15 @@ export function reduceRunState(state, event) {
209
224
  selectedModelLabel: typeof payload.selected_model_label === "string"
210
225
  ? payload.selected_model_label
211
226
  : turn.selectedModelLabel,
227
+ baselineUserMessageCount: typeof payload.baseline_user_message_count === "number"
228
+ ? payload.baseline_user_message_count
229
+ : turn.baselineUserMessageCount,
212
230
  baselineAssistantMessageCount: typeof payload.baseline_assistant_message_count === "number"
213
231
  ? payload.baseline_assistant_message_count
214
232
  : turn.baselineAssistantMessageCount,
233
+ baselineLastUserMessageHash: typeof payload.baseline_last_user_message_hash === "string"
234
+ ? payload.baseline_last_user_message_hash
235
+ : turn.baselineLastUserMessageHash,
215
236
  composerPromptState: payload.composer_prompt_state === "inline_ready" ||
216
237
  payload.composer_prompt_state === "attachment_ready"
217
238
  ? payload.composer_prompt_state
@@ -245,6 +266,80 @@ export function reduceRunState(state, event) {
245
266
  ...(state.abandonedControllerTurns ?? []).filter((turn) => turn.requestId !== abandoned.requestId),
246
267
  abandoned,
247
268
  ],
269
+ notSentRecovery: abandoned?.retryOfRequestId !== undefined &&
270
+ abandoned.retryOfRequestId !== null &&
271
+ payload.reason === "definitely_not_sent_retry" &&
272
+ state.notSentRecovery?.abandonedRequestId === abandoned.retryOfRequestId
273
+ ? {
274
+ ...state.notSentRecovery,
275
+ status: "confirmed",
276
+ retryRequestId: null,
277
+ conflictCode: null,
278
+ }
279
+ : payload.reason === "operator_confirmed_not_sent" &&
280
+ abandoned !== undefined &&
281
+ typeof payload.prompt_hash === "string" &&
282
+ typeof payload.conversation_url === "string" &&
283
+ typeof payload.selected_model_label === "string"
284
+ ? {
285
+ abandonedRequestId: abandoned.requestId,
286
+ round: abandoned.round,
287
+ promptHash: payload.prompt_hash,
288
+ conversationUrl: payload.conversation_url,
289
+ baselineUserMessageCount: typeof payload.baseline_user_message_count === "number"
290
+ ? payload.baseline_user_message_count
291
+ : null,
292
+ selectedModelLabel: payload.selected_model_label,
293
+ status: "confirmed",
294
+ retryRequestId: null,
295
+ conflictCode: null,
296
+ }
297
+ : state.notSentRecovery ?? null,
298
+ };
299
+ }
300
+ if (event.type === "controller_turn_not_sent_confirmed" &&
301
+ typeof payload.request_id === "string" &&
302
+ typeof payload.round === "number" &&
303
+ typeof payload.prompt_hash === "string" &&
304
+ typeof payload.conversation_url === "string" &&
305
+ typeof payload.selected_model_label === "string") {
306
+ return {
307
+ ...state,
308
+ notSentRecovery: {
309
+ abandonedRequestId: payload.request_id,
310
+ round: payload.round,
311
+ promptHash: payload.prompt_hash,
312
+ conversationUrl: payload.conversation_url,
313
+ baselineUserMessageCount: typeof payload.baseline_user_message_count === "number"
314
+ ? payload.baseline_user_message_count
315
+ : null,
316
+ selectedModelLabel: payload.selected_model_label,
317
+ status: "confirmed",
318
+ retryRequestId: null,
319
+ conflictCode: null,
320
+ },
321
+ };
322
+ }
323
+ if (event.type === "controller_turn_retry_conflict" &&
324
+ typeof payload.code === "string") {
325
+ return {
326
+ ...state,
327
+ status: "failed",
328
+ notSentRecovery: state.notSentRecovery === undefined || state.notSentRecovery === null
329
+ ? state.notSentRecovery
330
+ : {
331
+ ...state.notSentRecovery,
332
+ status: "conflict",
333
+ conflictCode: payload.code,
334
+ },
335
+ lastFailure: {
336
+ code: payload.code,
337
+ requestId: typeof payload.request_id === "string" ? payload.request_id : null,
338
+ message: typeof payload.message === "string" ? payload.message : null,
339
+ stage: "not_sent_recovery",
340
+ submissionState: null,
341
+ conversationUrl: state.conversationUrl,
342
+ },
248
343
  };
249
344
  }
250
345
  if (event.type === "controller_turn_manual_submission_confirmed" &&
@@ -644,6 +739,15 @@ export function reduceRunState(state, event) {
644
739
  return {
645
740
  ...state,
646
741
  status: "failed",
742
+ notSentRecovery: payload.code === "CONTROLLER_NOT_SENT_CONFIRMATION_CONFLICT" &&
743
+ state.notSentRecovery !== undefined &&
744
+ state.notSentRecovery !== null
745
+ ? {
746
+ ...state.notSentRecovery,
747
+ status: "conflict",
748
+ conflictCode: "CONTROLLER_NOT_SENT_CONFIRMATION_CONFLICT",
749
+ }
750
+ : state.notSentRecovery,
647
751
  pendingControllerTurns: failedRequestId === undefined || failedSubmissionState === undefined
648
752
  ? state.pendingControllerTurns ?? []
649
753
  : (state.pendingControllerTurns ?? []).map((turn) => turn.requestId === failedRequestId
@@ -1 +1 @@
1
- {"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../../../src/core/state-machine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../../../src/core/state-machine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import type { CueLineRuntimeOptions } from "../api-contracts.js";
2
+ type DiffValue = string | number | boolean | null;
3
+ export interface CueLineRunDiffOptions extends Pick<CueLineRuntimeOptions, "environment" | "home" | "now"> {
4
+ }
5
+ export interface CueLineRunDiffProjection {
6
+ runId: string;
7
+ status: string;
8
+ executor: string;
9
+ allowProcessExecution: boolean;
10
+ phase: string;
11
+ round: number;
12
+ maxRounds: number;
13
+ lastEventSequence: number;
14
+ runtimeOwnership: string;
15
+ cancellationRequested: boolean;
16
+ pendingControllerTurns: number;
17
+ acceptedCommands: number;
18
+ archiveStatus: string;
19
+ jobs: {
20
+ total: number;
21
+ counts: Record<string, number>;
22
+ };
23
+ continueAllowed: boolean;
24
+ safeNextAction: string;
25
+ }
26
+ export interface CueLineRunDiffChange {
27
+ field: string;
28
+ left: DiffValue;
29
+ right: DiffValue;
30
+ }
31
+ export interface CueLineRunDiff {
32
+ schema: "cueline-run-diff/0.1";
33
+ equivalent: boolean;
34
+ left: CueLineRunDiffProjection;
35
+ right: CueLineRunDiffProjection;
36
+ changes: CueLineRunDiffChange[];
37
+ }
38
+ export declare function compareCueLineRuns(leftRunId: string, rightRunId: string, options?: CueLineRunDiffOptions): Promise<CueLineRunDiff>;
39
+ export {};
@@ -0,0 +1,67 @@
1
+ import { loadCueLineRunStatus } from "../api-runtime-lifecycle.js";
2
+ function project(status) {
3
+ return {
4
+ runId: status.runId,
5
+ status: status.status,
6
+ executor: status.executor,
7
+ allowProcessExecution: status.allowProcessExecution,
8
+ phase: status.phase,
9
+ round: status.round,
10
+ maxRounds: status.maxRounds,
11
+ lastEventSequence: status.lastEventSequence,
12
+ runtimeOwnership: status.runtime.ownership,
13
+ cancellationRequested: status.cancellation.runRequested,
14
+ pendingControllerTurns: status.controller.pendingTurns,
15
+ acceptedCommands: status.controller.acceptedCommands,
16
+ archiveStatus: status.controller.archive.status,
17
+ jobs: { total: status.jobs.total, counts: { ...status.jobs.counts } },
18
+ continueAllowed: status.continueAllowed,
19
+ safeNextAction: status.safeNextAction,
20
+ };
21
+ }
22
+ function flatten(value, prefix = "", output = new Map()) {
23
+ for (const key of Object.keys(value).sort()) {
24
+ const field = prefix === "" ? key : `${prefix}.${key}`;
25
+ const item = value[key];
26
+ if (typeof item === "object" && item !== null && !Array.isArray(item)) {
27
+ flatten(item, field, output);
28
+ }
29
+ else if (item === null ||
30
+ typeof item === "string" ||
31
+ typeof item === "number" ||
32
+ typeof item === "boolean") {
33
+ output.set(field, item);
34
+ }
35
+ }
36
+ return output;
37
+ }
38
+ export async function compareCueLineRuns(leftRunId, rightRunId, options = {}) {
39
+ const observedAt = new Date();
40
+ const now = options.now ?? (() => observedAt);
41
+ const [leftStatus, rightStatus] = await Promise.all([
42
+ loadCueLineRunStatus(leftRunId, { ...options, now }),
43
+ loadCueLineRunStatus(rightRunId, { ...options, now }),
44
+ ]);
45
+ const left = project(leftStatus);
46
+ const right = project(rightStatus);
47
+ const { runId: _leftRunId, ...leftComparable } = left;
48
+ const { runId: _rightRunId, ...rightComparable } = right;
49
+ const leftFields = flatten(leftComparable);
50
+ const rightFields = flatten(rightComparable);
51
+ const fields = [...new Set([...leftFields.keys(), ...rightFields.keys()])].sort();
52
+ const changes = fields.flatMap((field) => {
53
+ const leftValue = leftFields.get(field) ?? 0;
54
+ const rightValue = rightFields.get(field) ?? 0;
55
+ return Object.is(leftValue, rightValue)
56
+ ? []
57
+ : [{ field, left: leftValue, right: rightValue }];
58
+ });
59
+ return {
60
+ schema: "cueline-run-diff/0.1",
61
+ equivalent: changes.length === 0,
62
+ left,
63
+ right,
64
+ changes,
65
+ };
66
+ }
67
+ //# sourceMappingURL=run-diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-diff.js","sourceRoot":"","sources":["../../../src/observation/run-diff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type CueLineRunTimeline, type CueLineRunTimelineOptions } from "./run-timeline.js";
2
+ export interface CueLineRunGraphOptions extends CueLineRunTimelineOptions {
3
+ }
4
+ export interface CueLineRunGraph {
5
+ schema: "cueline-run-graph/0.1";
6
+ runId: string;
7
+ afterSequence: number;
8
+ limit: number;
9
+ totalEvents: number;
10
+ latestSequence: number;
11
+ returnedEvents: number;
12
+ hasMore: boolean;
13
+ nextAfterSequence: number;
14
+ mermaid: string;
15
+ }
16
+ export declare function buildCueLineRunGraph(timeline: CueLineRunTimeline): CueLineRunGraph;
17
+ export declare function loadCueLineRunGraph(runId: string, options?: CueLineRunGraphOptions): Promise<CueLineRunGraph>;
@@ -0,0 +1,77 @@
1
+ import { CueLineError } from "../core/errors.js";
2
+ import { loadCueLineRunTimeline, } from "./run-timeline.js";
3
+ const DEFAULT_LIMIT = 100;
4
+ const MAX_LIMIT = 200;
5
+ function label(value) {
6
+ return value
7
+ .replaceAll("&", "&amp;")
8
+ .replaceAll("<", "&lt;")
9
+ .replaceAll(">", "&gt;")
10
+ .replaceAll("\\", "\\\\")
11
+ .replaceAll('"', '\\"')
12
+ .replaceAll("\n", " ");
13
+ }
14
+ function causalKey(value) {
15
+ return typeof value === "string" && value !== "" ? value : undefined;
16
+ }
17
+ export function buildCueLineRunGraph(timeline) {
18
+ const lines = ["flowchart TD"];
19
+ if (timeline.entries.length === 0) {
20
+ lines.push(` empty["No events after sequence ${timeline.afterSequence}"]`);
21
+ }
22
+ else {
23
+ lines.push(` start["Run ${label(timeline.runId)}"]`);
24
+ const requestNodes = new Map();
25
+ const jobNodes = new Map();
26
+ for (const [index, entry] of timeline.entries.entries()) {
27
+ const node = `e${entry.sequence}`;
28
+ lines.push(` ${node}["#${entry.sequence} ${entry.category}<br/>${label(entry.summary)}"]`);
29
+ lines.push(` ${index === 0 ? "start" : `e${timeline.entries[index - 1].sequence}`} --> ${node}`);
30
+ const requestId = causalKey(entry.attributes.requestId);
31
+ if (requestId !== undefined) {
32
+ const previous = requestNodes.get(requestId);
33
+ if (previous !== undefined && previous !== node) {
34
+ lines.push(` ${previous} -. request .-> ${node}`);
35
+ }
36
+ requestNodes.set(requestId, node);
37
+ }
38
+ const jobId = causalKey(entry.attributes.jobId);
39
+ if (jobId !== undefined) {
40
+ const previous = jobNodes.get(jobId);
41
+ if (previous !== undefined && previous !== node) {
42
+ lines.push(` ${previous} -. job .-> ${node}`);
43
+ }
44
+ jobNodes.set(jobId, node);
45
+ }
46
+ lines.push(` class ${node} ${entry.category}`);
47
+ }
48
+ }
49
+ lines.push(" classDef run fill:#e8f0fe,stroke:#4c6ef5");
50
+ lines.push(" classDef controller fill:#f3e8ff,stroke:#8b5cf6");
51
+ lines.push(" classDef job fill:#e6fcf5,stroke:#0ca678");
52
+ lines.push(" classDef runtime fill:#fff3bf,stroke:#f08c00");
53
+ lines.push(" classDef caller_work fill:#e7f5ff,stroke:#1c7ed6");
54
+ lines.push(" classDef cancellation fill:#ffe3e3,stroke:#e03131");
55
+ lines.push(" classDef other fill:#f1f3f5,stroke:#868e96");
56
+ return {
57
+ schema: "cueline-run-graph/0.1",
58
+ runId: timeline.runId,
59
+ afterSequence: timeline.afterSequence,
60
+ limit: timeline.limit,
61
+ totalEvents: timeline.totalEvents,
62
+ latestSequence: timeline.latestSequence,
63
+ returnedEvents: timeline.returnedEvents,
64
+ hasMore: timeline.hasMore,
65
+ nextAfterSequence: timeline.nextAfterSequence,
66
+ mermaid: lines.join("\n"),
67
+ };
68
+ }
69
+ export async function loadCueLineRunGraph(runId, options = {}) {
70
+ const limit = options.limit ?? DEFAULT_LIMIT;
71
+ if (!Number.isSafeInteger(limit) || limit < 1 || limit > MAX_LIMIT) {
72
+ throw new CueLineError("RUN_GRAPH_LIMIT_INVALID", `Run graph limit must be a safe integer from 1 through ${MAX_LIMIT}.`);
73
+ }
74
+ const timeline = await loadCueLineRunTimeline(runId, { ...options, limit });
75
+ return buildCueLineRunGraph(timeline);
76
+ }
77
+ //# sourceMappingURL=run-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-graph.js","sourceRoot":"","sources":["../../../src/observation/run-graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { CueLineRuntimeOptions } from "../api-contracts.js";
2
+ export interface CueLineRunStatusAtOptions extends Pick<CueLineRuntimeOptions, "environment" | "home"> {
3
+ sequence: number;
4
+ }
5
+ export interface CueLineRunStatusAt {
6
+ schema: "cueline-status-at/0.1";
7
+ runId: string;
8
+ requestedSequence: number;
9
+ latestSequence: number;
10
+ latestAuthoritativeSequence: number;
11
+ totalEvents: number;
12
+ authoritativeEvents: number;
13
+ authoritativeEventsApplied: number;
14
+ ignoredNonAuthoritativeEventsThroughSequence: number;
15
+ asOf: {
16
+ type: string;
17
+ timestamp: string;
18
+ };
19
+ state: {
20
+ status: string;
21
+ executor: string;
22
+ allowProcessExecution: boolean;
23
+ round: number;
24
+ maxRounds: number;
25
+ conversationBound: boolean;
26
+ pendingControllerTurns: number;
27
+ abandonedControllerTurns: number;
28
+ acceptedCommands: number;
29
+ pendingCommandExecution: boolean;
30
+ jobs: {
31
+ total: number;
32
+ counts: Record<string, number>;
33
+ };
34
+ archiveStatus: string;
35
+ finalDeliveryAvailable: boolean;
36
+ blockedReasonAvailable: boolean;
37
+ cancelledReasonAvailable: boolean;
38
+ lastFailureCode: string | null;
39
+ };
40
+ }
41
+ export declare function loadCueLineRunStatusAt(runId: string, options: CueLineRunStatusAtOptions): Promise<CueLineRunStatusAt>;
@@ -0,0 +1,65 @@
1
+ import { CueLineError } from "../core/errors.js";
2
+ import { loadPersistedRunStore } from "../core/persisted-run.js";
3
+ import { initialRunState, reduceRunState } from "../core/state-machine.js";
4
+ import { readEvents } from "../state/event-log.js";
5
+ import { defaultCueLineHome, runPaths } from "../state/paths.js";
6
+ import { readAuthoritativeRunEvents } from "../state/store.js";
7
+ export async function loadCueLineRunStatusAt(runId, options) {
8
+ if (!Number.isSafeInteger(options.sequence) || options.sequence < 1) {
9
+ throw new CueLineError("RUN_STATUS_AT_SEQUENCE_INVALID", "Historical status requires a positive safe event sequence.");
10
+ }
11
+ const environment = options.environment ?? process.env;
12
+ const home = options.home ?? defaultCueLineHome(environment);
13
+ await loadPersistedRunStore(home, runId);
14
+ const [events, authoritativeEvents] = await Promise.all([
15
+ readEvents(runPaths(home, runId).events),
16
+ readAuthoritativeRunEvents(home, runId),
17
+ ]);
18
+ const latestSequence = events.at(-1)?.sequence ?? 0;
19
+ if (options.sequence > latestSequence) {
20
+ throw new CueLineError("RUN_STATUS_AT_SEQUENCE_AHEAD", `Run '${runId}' is at event ${latestSequence}, behind requested sequence ${options.sequence}.`);
21
+ }
22
+ const eventAt = events.find((event) => event.sequence === options.sequence);
23
+ if (eventAt === undefined) {
24
+ throw new CueLineError("RUN_STATUS_AT_SEQUENCE_MISSING", `Run '${runId}' has no durable event at sequence ${options.sequence}.`);
25
+ }
26
+ const applied = authoritativeEvents.filter((event) => event.sequence <= options.sequence);
27
+ let state = initialRunState(runId, "");
28
+ for (const event of applied)
29
+ state = reduceRunState(state, event);
30
+ const counts = {};
31
+ for (const job of Object.values(state.jobs)) {
32
+ counts[job.status] = (counts[job.status] ?? 0) + 1;
33
+ }
34
+ return {
35
+ schema: "cueline-status-at/0.1",
36
+ runId,
37
+ requestedSequence: options.sequence,
38
+ latestSequence,
39
+ latestAuthoritativeSequence: authoritativeEvents.at(-1)?.sequence ?? 0,
40
+ totalEvents: events.length,
41
+ authoritativeEvents: authoritativeEvents.length,
42
+ authoritativeEventsApplied: applied.length,
43
+ ignoredNonAuthoritativeEventsThroughSequence: events.filter((event) => event.sequence <= options.sequence).length - applied.length,
44
+ asOf: { type: eventAt.type, timestamp: eventAt.timestamp },
45
+ state: {
46
+ status: state.status,
47
+ executor: state.executor,
48
+ allowProcessExecution: state.allowProcessExecution,
49
+ round: state.round,
50
+ maxRounds: state.maxRounds,
51
+ conversationBound: state.conversationUrl !== null,
52
+ pendingControllerTurns: state.pendingControllerTurns.length,
53
+ abandonedControllerTurns: state.abandonedControllerTurns.length,
54
+ acceptedCommands: state.commandHashes.length,
55
+ pendingCommandExecution: state.pendingCommandExecution !== null,
56
+ jobs: { total: Object.keys(state.jobs).length, counts },
57
+ archiveStatus: state.controllerConversationArchive.status,
58
+ finalDeliveryAvailable: state.finalDeliveryText !== null,
59
+ blockedReasonAvailable: state.blockedReason !== null,
60
+ cancelledReasonAvailable: state.cancelledReason !== null,
61
+ lastFailureCode: state.lastFailure?.code ?? null,
62
+ },
63
+ };
64
+ }
65
+ //# sourceMappingURL=run-status-at.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-status-at.js","sourceRoot":"","sources":["../../../src/observation/run-status-at.ts"],"names":[],"mappings":"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"}
@@ -129,7 +129,8 @@ function attributesFor(payloadValue) {
129
129
  const job = safeRecord(payload.job);
130
130
  const command = safeRecord(payload.command);
131
131
  const attributes = {};
132
- const requestId = safePrefixedToken(payload.request_id, "msg_");
132
+ const requestId = safePrefixedToken(payload.request_id, "msg_") ??
133
+ safePrefixedToken(command.request_id, "msg_");
133
134
  const round = safeInteger(payload.round);
134
135
  const jobId = safePrefixedToken(payload.job_id, "job_") ?? safePrefixedToken(job.jobId, "job_");
135
136
  const jobKey = safeToken(payload.job_key) ?? safeToken(job.jobKey);