cueline 0.1.6 → 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 (188) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +50 -0
  4. package/README.ja.md +77 -30
  5. package/README.ko.md +77 -30
  6. package/README.md +71 -29
  7. package/README.zh-CN.md +77 -30
  8. package/README.zh-TW.md +74 -29
  9. package/config/routing.schema.json +3 -0
  10. package/dist/src/api-caller-work.js +58 -14
  11. package/dist/src/api-caller-work.js.map +1 -1
  12. package/dist/src/api-contracts.d.ts +56 -0
  13. package/dist/src/api-controller-handoff.d.ts +5 -1
  14. package/dist/src/api-controller-handoff.js +178 -38
  15. package/dist/src/api-controller-handoff.js.map +1 -1
  16. package/dist/src/api-run-verification.d.ts +3 -0
  17. package/dist/src/api-run-verification.js +174 -0
  18. package/dist/src/api-run-verification.js.map +1 -0
  19. package/dist/src/api-runtime-lifecycle.d.ts +6 -1
  20. package/dist/src/api-runtime-lifecycle.js +97 -8
  21. package/dist/src/api-runtime-lifecycle.js.map +1 -1
  22. package/dist/src/api.d.ts +26 -4
  23. package/dist/src/api.js +111 -40
  24. package/dist/src/api.js.map +1 -1
  25. package/dist/src/browser/browser-adapter.d.ts +41 -0
  26. package/dist/src/browser/codex-iab/bootstrap.d.ts +21 -0
  27. package/dist/src/browser/codex-iab/bootstrap.js +174 -9
  28. package/dist/src/browser/codex-iab/bootstrap.js.map +1 -1
  29. package/dist/src/browser/codex-iab/chatgpt-client.d.ts +3 -0
  30. package/dist/src/browser/codex-iab/chatgpt-client.js +216 -70
  31. package/dist/src/browser/codex-iab/chatgpt-client.js.map +1 -1
  32. package/dist/src/browser/codex-iab/probe.d.ts +36 -0
  33. package/dist/src/browser/codex-iab/probe.js +217 -0
  34. package/dist/src/browser/codex-iab/probe.js.map +1 -0
  35. package/dist/src/browser/codex-iab/recovery-evidence.d.ts +1 -1
  36. package/dist/src/browser/codex-iab/recovery-evidence.js +7 -10
  37. package/dist/src/browser/codex-iab/recovery-evidence.js.map +1 -1
  38. package/dist/src/browser/codex-iab/selectors.d.ts +1 -0
  39. package/dist/src/browser/codex-iab/selectors.js +1 -0
  40. package/dist/src/browser/codex-iab/selectors.js.map +1 -1
  41. package/dist/src/browser/codex-iab/send-button.d.ts +5 -0
  42. package/dist/src/browser/codex-iab/send-button.js +62 -0
  43. package/dist/src/browser/codex-iab/send-button.js.map +1 -0
  44. package/dist/src/browser/codex-iab/submission-url.js +6 -15
  45. package/dist/src/browser/codex-iab/submission-url.js.map +1 -1
  46. package/dist/src/browser/codex-iab/tab-discovery.js +45 -12
  47. package/dist/src/browser/codex-iab/tab-discovery.js.map +1 -1
  48. package/dist/src/browser/codex-iab/timing-options.d.ts +1 -0
  49. package/dist/src/browser/codex-iab/timing-options.js +5 -0
  50. package/dist/src/browser/codex-iab/timing-options.js.map +1 -0
  51. package/dist/src/cli/health-commands.d.ts +2 -0
  52. package/dist/src/cli/health-commands.js +265 -0
  53. package/dist/src/cli/health-commands.js.map +1 -0
  54. package/dist/src/cli/io.d.ts +4 -0
  55. package/dist/src/cli/io.js +2 -0
  56. package/dist/src/cli/io.js.map +1 -0
  57. package/dist/src/cli/main.d.ts +1 -5
  58. package/dist/src/cli/main.js +187 -84
  59. package/dist/src/cli/main.js.map +1 -1
  60. package/dist/src/cli/observation-commands.d.ts +2 -0
  61. package/dist/src/cli/observation-commands.js +350 -0
  62. package/dist/src/cli/observation-commands.js.map +1 -0
  63. package/dist/src/cli/run-status-view.d.ts +87 -0
  64. package/dist/src/cli/run-status-view.js +121 -0
  65. package/dist/src/cli/run-status-view.js.map +1 -0
  66. package/dist/src/core/controller-command-execution.d.ts +2 -2
  67. package/dist/src/core/controller-command-execution.js +82 -16
  68. package/dist/src/core/controller-command-execution.js.map +1 -1
  69. package/dist/src/core/controller-conversation-archive.d.ts +11 -0
  70. package/dist/src/core/controller-conversation-archive.js +109 -0
  71. package/dist/src/core/controller-conversation-archive.js.map +1 -0
  72. package/dist/src/core/controller-loop.d.ts +7 -1
  73. package/dist/src/core/controller-loop.js +136 -23
  74. package/dist/src/core/controller-loop.js.map +1 -1
  75. package/dist/src/core/controller-turn.d.ts +21 -3
  76. package/dist/src/core/controller-turn.js +182 -41
  77. package/dist/src/core/controller-turn.js.map +1 -1
  78. package/dist/src/core/controller-types.d.ts +2 -0
  79. package/dist/src/core/conversation-url.d.ts +3 -0
  80. package/dist/src/core/conversation-url.js +34 -0
  81. package/dist/src/core/conversation-url.js.map +1 -0
  82. package/dist/src/core/run-status.d.ts +17 -2
  83. package/dist/src/core/run-status.js +64 -25
  84. package/dist/src/core/run-status.js.map +1 -1
  85. package/dist/src/core/state-machine.d.ts +36 -1
  86. package/dist/src/core/state-machine.js +242 -13
  87. package/dist/src/core/state-machine.js.map +1 -1
  88. package/dist/src/core/timing.d.ts +9 -0
  89. package/dist/src/core/timing.js +22 -0
  90. package/dist/src/core/timing.js.map +1 -0
  91. package/dist/src/diagnostics/run-doctor.d.ts +22 -0
  92. package/dist/src/diagnostics/run-doctor.js +197 -0
  93. package/dist/src/diagnostics/run-doctor.js.map +1 -0
  94. package/dist/src/jobs/status.d.ts +5 -2
  95. package/dist/src/jobs/status.js +172 -12
  96. package/dist/src/jobs/status.js.map +1 -1
  97. package/dist/src/jobs/supervisor.js +57 -8
  98. package/dist/src/jobs/supervisor.js.map +1 -1
  99. package/dist/src/observation/run-diff.d.ts +39 -0
  100. package/dist/src/observation/run-diff.js +67 -0
  101. package/dist/src/observation/run-diff.js.map +1 -0
  102. package/dist/src/observation/run-graph.d.ts +17 -0
  103. package/dist/src/observation/run-graph.js +77 -0
  104. package/dist/src/observation/run-graph.js.map +1 -0
  105. package/dist/src/observation/run-handoff.d.ts +86 -0
  106. package/dist/src/observation/run-handoff.js +309 -0
  107. package/dist/src/observation/run-handoff.js.map +1 -0
  108. package/dist/src/observation/run-status-at.d.ts +41 -0
  109. package/dist/src/observation/run-status-at.js +65 -0
  110. package/dist/src/observation/run-status-at.js.map +1 -0
  111. package/dist/src/observation/run-timeline.d.ts +32 -0
  112. package/dist/src/observation/run-timeline.js +279 -0
  113. package/dist/src/observation/run-timeline.js.map +1 -0
  114. package/dist/src/observation/run-watch.d.ts +15 -0
  115. package/dist/src/observation/run-watch.js +82 -0
  116. package/dist/src/observation/run-watch.js.map +1 -0
  117. package/dist/src/protocol/limits.d.ts +3 -0
  118. package/dist/src/protocol/limits.js +4 -0
  119. package/dist/src/protocol/limits.js.map +1 -0
  120. package/dist/src/protocol/lint-command.d.ts +24 -0
  121. package/dist/src/protocol/lint-command.js +210 -0
  122. package/dist/src/protocol/lint-command.js.map +1 -0
  123. package/dist/src/protocol/parse-command.js +4 -0
  124. package/dist/src/protocol/parse-command.js.map +1 -1
  125. package/dist/src/protocol/types.d.ts +12 -0
  126. package/dist/src/protocol/validate-command.js +76 -3
  127. package/dist/src/protocol/validate-command.js.map +1 -1
  128. package/dist/src/router/config-loader.js +23 -2
  129. package/dist/src/router/config-loader.js.map +1 -1
  130. package/dist/src/router/explain.d.ts +28 -0
  131. package/dist/src/router/explain.js +86 -0
  132. package/dist/src/router/explain.js.map +1 -0
  133. package/dist/src/router/resolver.d.ts +2 -1
  134. package/dist/src/router/resolver.js +11 -6
  135. package/dist/src/router/resolver.js.map +1 -1
  136. package/dist/src/runners/process-runner.js +55 -12
  137. package/dist/src/runners/process-runner.js.map +1 -1
  138. package/dist/src/runners/runner-adapter.d.ts +2 -0
  139. package/dist/src/runners/runner-adapter.js.map +1 -1
  140. package/dist/src/state/atomic-write.d.ts +6 -0
  141. package/dist/src/state/atomic-write.js +43 -2
  142. package/dist/src/state/atomic-write.js.map +1 -1
  143. package/dist/src/state/cancellation.js +38 -4
  144. package/dist/src/state/cancellation.js.map +1 -1
  145. package/dist/src/state/event-log.js +5 -4
  146. package/dist/src/state/event-log.js.map +1 -1
  147. package/dist/src/state/private-directory.d.ts +5 -0
  148. package/dist/src/state/private-directory.js +37 -0
  149. package/dist/src/state/private-directory.js.map +1 -0
  150. package/dist/src/state/runtime-lease.js +19 -39
  151. package/dist/src/state/runtime-lease.js.map +1 -1
  152. package/dist/src/state/runtime-record-validation.d.ts +6 -0
  153. package/dist/src/state/runtime-record-validation.js +44 -0
  154. package/dist/src/state/runtime-record-validation.js.map +1 -0
  155. package/dist/src/state/runtime-retirement.js +58 -18
  156. package/dist/src/state/runtime-retirement.js.map +1 -1
  157. package/dist/src/state/runtime-takeover-intent.js +2 -2
  158. package/dist/src/state/runtime-takeover-intent.js.map +1 -1
  159. package/dist/src/state/store.d.ts +1 -0
  160. package/dist/src/state/store.js +12 -6
  161. package/dist/src/state/store.js.map +1 -1
  162. package/dist/src/version.d.ts +1 -1
  163. package/dist/src/version.js +1 -1
  164. package/docs/architecture.md +4 -4
  165. package/docs/assets/README.md +3 -1
  166. package/docs/assets/cueline-architecture-en.svg +63 -0
  167. package/docs/assets/cueline-architecture-ja.svg +63 -0
  168. package/docs/assets/cueline-architecture-ko.svg +63 -0
  169. package/docs/assets/cueline-architecture-zh-CN.svg +63 -0
  170. package/docs/assets/cueline-architecture-zh-TW.svg +63 -0
  171. package/docs/assets/cueline-states-en.svg +50 -0
  172. package/docs/assets/cueline-states-ja.svg +48 -0
  173. package/docs/assets/cueline-states-ko.svg +48 -0
  174. package/docs/assets/cueline-states-zh-CN.svg +48 -0
  175. package/docs/assets/cueline-states-zh-TW.svg +48 -0
  176. package/docs/compatibility.md +1 -1
  177. package/docs/controller-protocol.md +44 -7
  178. package/docs/experiments/protocol-lint.md +40 -0
  179. package/docs/experiments/run-doctor.md +39 -0
  180. package/docs/experiments/run-handoff.md +39 -0
  181. package/docs/experiments/run-timeline.md +35 -0
  182. package/docs/experiments/run-watch.md +31 -0
  183. package/docs/multi-model-routing.md +256 -0
  184. package/docs/runner-contract.md +4 -3
  185. package/docs/state-and-recovery.md +45 -5
  186. package/package.json +1 -1
  187. package/schemas/controller-command.schema.json +89 -4
  188. package/skills/cueline/SKILL.md +13 -7
@@ -1,3 +1,5 @@
1
+ import path from "node:path";
2
+ import { isExactChatGptConversationUrl, sameChatGptConversationUrl, } from "./conversation-url.js";
1
3
  import { jobSpecHash } from "./ids.js";
2
4
  export const DEFAULT_MAX_ROUNDS = 12;
3
5
  const STORED_JOB_STATUSES = new Set([
@@ -25,6 +27,23 @@ function validCallerId(value) {
25
27
  function validIsoTimestamp(value) {
26
28
  return typeof value === "string" && Number.isFinite(Date.parse(value));
27
29
  }
30
+ function validWorkdirIdentity(value) {
31
+ if (typeof value !== "object" || value === null || Array.isArray(value))
32
+ return false;
33
+ const record = value;
34
+ return (typeof record.resolvedPath === "string" &&
35
+ path.isAbsolute(record.resolvedPath) &&
36
+ typeof record.device === "string" &&
37
+ /^\d+$/.test(record.device) &&
38
+ typeof record.inode === "string" &&
39
+ /^\d+$/.test(record.inode));
40
+ }
41
+ function sameWorkdirIdentity(value, expected) {
42
+ return (validWorkdirIdentity(value) &&
43
+ value.resolvedPath === expected.resolvedPath &&
44
+ value.device === expected.device &&
45
+ value.inode === expected.inode);
46
+ }
28
47
  function validClaimWindow(heartbeatAt, expiresAt, ttlMs) {
29
48
  if (!validIsoTimestamp(heartbeatAt) ||
30
49
  !validIsoTimestamp(expiresAt) ||
@@ -41,25 +60,29 @@ function recordPayload(event) {
41
60
  }
42
61
  return event.payload;
43
62
  }
44
- function normalizedConversationUrl(value) {
45
- try {
46
- const parsed = new URL(value);
47
- return `${parsed.origin}${parsed.pathname}`;
48
- }
49
- catch {
50
- return value;
51
- }
52
- }
53
63
  function preserveCanonicalConversationUrl(canonical, candidate) {
54
- if (typeof candidate !== "string" || candidate === "")
64
+ if (!isExactChatGptConversationUrl(candidate))
55
65
  return canonical;
56
66
  if (canonical !== null &&
57
- normalizedConversationUrl(candidate) !== normalizedConversationUrl(canonical)) {
67
+ !sameChatGptConversationUrl(candidate, canonical)) {
58
68
  return canonical;
59
69
  }
60
70
  return canonical ?? candidate;
61
71
  }
62
- export function initialRunState(runId, request, executor = "caller", maxRounds = DEFAULT_MAX_ROUNDS, allowProcessExecution = false) {
72
+ function initialControllerConversationArchive(enabled) {
73
+ return {
74
+ enabled,
75
+ status: enabled ? "waiting_for_completion" : "disabled",
76
+ code: null,
77
+ message: null,
78
+ proof: null,
79
+ postActionUrl: null,
80
+ };
81
+ }
82
+ function controllerConversationArchive(state) {
83
+ return state.controllerConversationArchive ?? initialControllerConversationArchive(false);
84
+ }
85
+ export function initialRunState(runId, request, executor = "caller", maxRounds = DEFAULT_MAX_ROUNDS, allowProcessExecution = false, archiveControllerConversationOnComplete = false) {
63
86
  return {
64
87
  runId,
65
88
  request,
@@ -69,11 +92,15 @@ export function initialRunState(runId, request, executor = "caller", maxRounds =
69
92
  status: "running",
70
93
  round: 0,
71
94
  conversationUrl: null,
95
+ controllerConversationArchive: initialControllerConversationArchive(archiveControllerConversationOnComplete),
72
96
  pendingControllerTurns: [],
73
97
  abandonedControllerTurns: [],
98
+ notSentRecovery: null,
74
99
  lastFailure: null,
75
100
  jobs: {},
76
101
  inspectionJobIds: [],
102
+ inspectionEvidenceOffset: 0,
103
+ inspectionEvidenceHash: null,
77
104
  notices: [],
78
105
  commandHashes: [],
79
106
  pendingCommandExecution: null,
@@ -93,6 +120,7 @@ export function isControllerTurnProvenUnsent(state, turn) {
93
120
  export function reduceRunState(state, event) {
94
121
  const payload = recordPayload(event);
95
122
  if (event.type === "run_created" && typeof payload.request === "string") {
123
+ const archiveEnabled = payload.archive_controller_conversation_on_complete === true;
96
124
  return {
97
125
  ...state,
98
126
  request: payload.request,
@@ -105,6 +133,7 @@ export function reduceRunState(state, event) {
105
133
  payload.max_rounds >= 1
106
134
  ? payload.max_rounds
107
135
  : state.maxRounds ?? DEFAULT_MAX_ROUNDS,
136
+ controllerConversationArchive: initialControllerConversationArchive(archiveEnabled),
108
137
  };
109
138
  }
110
139
  if (event.type === "run_resumed") {
@@ -129,15 +158,29 @@ export function reduceRunState(state, event) {
129
158
  submissionState: "requested",
130
159
  conversationUrl: state.conversationUrl,
131
160
  selectedModelLabel: null,
161
+ baselineUserMessageCount: null,
132
162
  baselineAssistantMessageCount: null,
163
+ baselineLastUserMessageHash: null,
133
164
  composerPromptState: null,
134
165
  manualSendConfirmed: false,
166
+ retryOfRequestId: typeof payload.retry_of_request_id === "string"
167
+ ? payload.retry_of_request_id
168
+ : null,
135
169
  submissionCheckpointContract: payload.submission_checkpoint_contract === "write_ahead_v1"
136
170
  ? "write_ahead_v1"
137
171
  : null,
138
172
  },
139
173
  ],
140
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,
141
184
  };
142
185
  }
143
186
  if (event.type === "controller_conversation_bound" &&
@@ -181,9 +224,15 @@ export function reduceRunState(state, event) {
181
224
  selectedModelLabel: typeof payload.selected_model_label === "string"
182
225
  ? payload.selected_model_label
183
226
  : turn.selectedModelLabel,
227
+ baselineUserMessageCount: typeof payload.baseline_user_message_count === "number"
228
+ ? payload.baseline_user_message_count
229
+ : turn.baselineUserMessageCount,
184
230
  baselineAssistantMessageCount: typeof payload.baseline_assistant_message_count === "number"
185
231
  ? payload.baseline_assistant_message_count
186
232
  : turn.baselineAssistantMessageCount,
233
+ baselineLastUserMessageHash: typeof payload.baseline_last_user_message_hash === "string"
234
+ ? payload.baseline_last_user_message_hash
235
+ : turn.baselineLastUserMessageHash,
187
236
  composerPromptState: payload.composer_prompt_state === "inline_ready" ||
188
237
  payload.composer_prompt_state === "attachment_ready"
189
238
  ? payload.composer_prompt_state
@@ -217,6 +266,80 @@ export function reduceRunState(state, event) {
217
266
  ...(state.abandonedControllerTurns ?? []).filter((turn) => turn.requestId !== abandoned.requestId),
218
267
  abandoned,
219
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
+ },
220
343
  };
221
344
  }
222
345
  if (event.type === "controller_turn_manual_submission_confirmed" &&
@@ -253,9 +376,21 @@ export function reduceRunState(state, event) {
253
376
  ? command.job_ids.filter((value) => typeof value === "string")
254
377
  : Object.keys(state.jobs)
255
378
  : [];
379
+ const inspectionEvidenceOffset = command.action === "inspect" &&
380
+ Number.isSafeInteger(command.evidence_offset) &&
381
+ command.evidence_offset >= 0
382
+ ? command.evidence_offset
383
+ : 0;
384
+ const inspectionEvidenceHash = command.action === "inspect" &&
385
+ typeof command.evidence_hash === "string" &&
386
+ /^[0-9a-f]{64}$/.test(command.evidence_hash)
387
+ ? command.evidence_hash
388
+ : null;
256
389
  return {
257
390
  ...state,
258
391
  inspectionJobIds,
392
+ inspectionEvidenceOffset,
393
+ inspectionEvidenceHash,
259
394
  commandHashes: [...state.commandHashes, payload.command_hash],
260
395
  pendingCommandExecution: typeof payload.command === "object" &&
261
396
  payload.command !== null &&
@@ -309,6 +444,8 @@ export function reduceRunState(state, event) {
309
444
  record.taskHash !== jobSpecHash(existing.spec) ||
310
445
  typeof record.workdir !== "string" ||
311
446
  record.workdir !== existing.spec.workdir ||
447
+ (record.workdirIdentity !== undefined &&
448
+ !validWorkdirIdentity(record.workdirIdentity)) ||
312
449
  !Number.isSafeInteger(record.fencingToken) ||
313
450
  record.fencingToken !== (existing.callerWork?.nextFencingToken ?? 0) + 1 ||
314
451
  !validIsoTimestamp(record.claimedAt) ||
@@ -347,7 +484,10 @@ export function reduceRunState(state, event) {
347
484
  claim.fencingToken !== payload.fencing_token ||
348
485
  payload.caller_id !== claim.callerId ||
349
486
  (event.type === "caller_work_started" &&
350
- (payload.task_hash !== claim.taskHash || payload.workdir !== claim.workdir))) {
487
+ (payload.task_hash !== claim.taskHash ||
488
+ payload.workdir !== claim.workdir ||
489
+ (claim.workdirIdentity !== undefined &&
490
+ !sameWorkdirIdentity(payload.workdir_identity, claim.workdirIdentity))))) {
351
491
  return state;
352
492
  }
353
493
  const timestamp = event.type === "caller_work_started"
@@ -479,6 +619,7 @@ export function reduceRunState(state, event) {
479
619
  };
480
620
  }
481
621
  if (event.type === "run_completed" && typeof payload.final_delivery_text === "string") {
622
+ const archive = controllerConversationArchive(state);
482
623
  return {
483
624
  ...state,
484
625
  status: "complete",
@@ -486,6 +627,85 @@ export function reduceRunState(state, event) {
486
627
  abandonedControllerTurns: [],
487
628
  pendingCommandExecution: null,
488
629
  finalDeliveryText: payload.final_delivery_text,
630
+ controllerConversationArchive: archive.enabled && archive.status === "waiting_for_completion"
631
+ ? { ...archive, status: "pending" }
632
+ : archive,
633
+ };
634
+ }
635
+ if (event.type === "controller_conversation_archive_preflight_failed" &&
636
+ controllerConversationArchive(state).status === "pending" &&
637
+ typeof payload.code === "string" &&
638
+ typeof payload.message === "string") {
639
+ return {
640
+ ...state,
641
+ controllerConversationArchive: {
642
+ ...controllerConversationArchive(state),
643
+ code: payload.code,
644
+ message: payload.message,
645
+ },
646
+ };
647
+ }
648
+ if (event.type === "controller_conversation_archive_started" &&
649
+ state.status === "complete" &&
650
+ controllerConversationArchive(state).status === "pending" &&
651
+ typeof payload.conversation_url === "string" &&
652
+ state.conversationUrl !== null &&
653
+ sameChatGptConversationUrl(payload.conversation_url, state.conversationUrl)) {
654
+ return {
655
+ ...state,
656
+ controllerConversationArchive: {
657
+ ...controllerConversationArchive(state),
658
+ status: "started",
659
+ code: null,
660
+ message: null,
661
+ },
662
+ };
663
+ }
664
+ if (event.type === "controller_conversation_archived" &&
665
+ controllerConversationArchive(state).status === "started" &&
666
+ typeof payload.conversation_url === "string" &&
667
+ state.conversationUrl !== null &&
668
+ sameChatGptConversationUrl(payload.conversation_url, state.conversationUrl) &&
669
+ payload.proof === "conversation_url_changed" &&
670
+ typeof payload.post_action_url === "string" &&
671
+ payload.post_action_url.startsWith("https://chatgpt.com/") &&
672
+ !sameChatGptConversationUrl(payload.post_action_url, state.conversationUrl)) {
673
+ return {
674
+ ...state,
675
+ controllerConversationArchive: {
676
+ ...controllerConversationArchive(state),
677
+ status: "archived",
678
+ proof: "conversation_url_changed",
679
+ postActionUrl: payload.post_action_url,
680
+ },
681
+ };
682
+ }
683
+ if (event.type === "controller_conversation_archive_ambiguous" &&
684
+ controllerConversationArchive(state).status === "started" &&
685
+ typeof payload.code === "string" &&
686
+ typeof payload.message === "string") {
687
+ return {
688
+ ...state,
689
+ controllerConversationArchive: {
690
+ ...controllerConversationArchive(state),
691
+ status: "ambiguous",
692
+ code: payload.code,
693
+ message: payload.message,
694
+ },
695
+ };
696
+ }
697
+ if (event.type === "controller_conversation_archive_failed" &&
698
+ controllerConversationArchive(state).status === "pending" &&
699
+ typeof payload.code === "string" &&
700
+ typeof payload.message === "string") {
701
+ return {
702
+ ...state,
703
+ controllerConversationArchive: {
704
+ ...controllerConversationArchive(state),
705
+ status: "failed",
706
+ code: payload.code,
707
+ message: payload.message,
708
+ },
489
709
  };
490
710
  }
491
711
  if (event.type === "run_blocked" && typeof payload.reason === "string") {
@@ -519,6 +739,15 @@ export function reduceRunState(state, event) {
519
739
  return {
520
740
  ...state,
521
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,
522
751
  pendingControllerTurns: failedRequestId === undefined || failedSubmissionState === undefined
523
752
  ? state.pendingControllerTurns ?? []
524
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,9 @@
1
+ /** Largest delay Node can represent without reducing it to a near-immediate timer. */
2
+ export declare const MAX_TIMER_DELAY_MS = 2147483647;
3
+ export interface TimerDelayValidationOptions {
4
+ code: string;
5
+ name: string;
6
+ minimum?: 0 | 1;
7
+ }
8
+ export declare function validatedTimerDelay(value: number, options: TimerDelayValidationOptions): number;
9
+ export declare function validatedRuntimeHeartbeatInterval(value: number): number;
@@ -0,0 +1,22 @@
1
+ import { CueLineError } from "./errors.js";
2
+ /** Largest delay Node can represent without reducing it to a near-immediate timer. */
3
+ export const MAX_TIMER_DELAY_MS = 2_147_483_647;
4
+ export function validatedTimerDelay(value, options) {
5
+ const minimum = options.minimum ?? 1;
6
+ if (!Number.isSafeInteger(value) || value < minimum || value > MAX_TIMER_DELAY_MS) {
7
+ const range = minimum === 0
8
+ ? `an integer between 0 and ${MAX_TIMER_DELAY_MS}`
9
+ : `a positive integer no greater than ${MAX_TIMER_DELAY_MS}`;
10
+ throw new CueLineError(options.code, `${options.name} must be ${range}.`, {
11
+ details: { value, minimum, maximum: MAX_TIMER_DELAY_MS },
12
+ });
13
+ }
14
+ return value;
15
+ }
16
+ export function validatedRuntimeHeartbeatInterval(value) {
17
+ return validatedTimerDelay(value, {
18
+ code: "RUNTIME_HEARTBEAT_INTERVAL_INVALID",
19
+ name: "runtime heartbeat interval",
20
+ });
21
+ }
22
+ //# sourceMappingURL=timing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timing.js","sourceRoot":"","sources":["../../../src/core/timing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,sFAAsF;AACtF,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAQhD,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,OAAoC;IAEpC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,OAAO,IAAI,KAAK,GAAG,kBAAkB,EAAE,CAAC;QAClF,MAAM,KAAK,GACT,OAAO,KAAK,CAAC;YACX,CAAC,CAAC,4BAA4B,kBAAkB,EAAE;YAClD,CAAC,CAAC,sCAAsC,kBAAkB,EAAE,CAAC;QACjE,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,YAAY,KAAK,GAAG,EAAE;YACxE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE;SACzD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,KAAa;IAC7D,OAAO,mBAAmB,CAAC,KAAK,EAAE;QAChC,IAAI,EAAE,oCAAoC;QAC1C,IAAI,EAAE,4BAA4B;KACnC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { CueLineRuntimeOptions } from "../api-contracts.js";
2
+ import type { CueLineRunPhase, CueLineRunStatusSummary, CueLineSafeNextAction } from "../core/run-status.js";
3
+ export type CueLineDiagnosticSeverity = "info" | "warning" | "error";
4
+ export type CueLineRunDiagnosticOutcome = "healthy" | "action_required" | "blocked";
5
+ export interface CueLineRunDiagnosticFinding {
6
+ code: string;
7
+ severity: CueLineDiagnosticSeverity;
8
+ message: string;
9
+ action: string;
10
+ evidence: Record<string, string | number | boolean | null>;
11
+ }
12
+ export interface CueLineRunDiagnosis {
13
+ runId: string;
14
+ outcome: CueLineRunDiagnosticOutcome;
15
+ phase: CueLineRunPhase;
16
+ summary: string;
17
+ nextAction: CueLineSafeNextAction;
18
+ eventSequence: number;
19
+ findings: CueLineRunDiagnosticFinding[];
20
+ }
21
+ export declare function diagnoseCueLineRunStatus(status: CueLineRunStatusSummary): CueLineRunDiagnosis;
22
+ export declare function diagnoseCueLineRun(runId: string, options?: Pick<CueLineRuntimeOptions, "home" | "environment" | "now">): Promise<CueLineRunDiagnosis>;