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
@@ -3,22 +3,24 @@ import { readdir, readFile } from "node:fs/promises";
3
3
  import { realpathSync } from "node:fs";
4
4
  import path from "node:path";
5
5
  import { fileURLToPath, pathToFileURL } from "node:url";
6
- import { cancelCueLineJob, cancelCueLineRun, confirmManualControllerSubmission, loadCueLineRunStatus, reconcileCueLineRuntime, routingConfigPath, takeoverCueLineRuntime, } from "../api.js";
6
+ import { cancelCueLineJob, cancelCueLineRun, confirmControllerTurnNotSent, confirmManualControllerSubmission, loadCueLineRunStatus, lintControllerCommandText, reconcileCueLineRuntime, routingConfigPath, takeoverCueLineRuntime, } from "../api.js";
7
7
  import { CueLineError } from "../core/errors.js";
8
- import { executableAvailability } from "../router/availability.js";
8
+ import { JobStatusStore } from "../jobs/status.js";
9
9
  import { loadRoutingConfig } from "../router/config-loader.js";
10
- import { resolveRoute } from "../router/resolver.js";
11
10
  import { defaultCueLineHome } from "../state/paths.js";
12
11
  import { readRuntimeLease } from "../state/runtime-lease.js";
13
12
  import { readAuthoritativeRunEvents } from "../state/store.js";
14
13
  import { CUELINE_VERSION } from "../version.js";
14
+ import { handleHealthCommand } from "./health-commands.js";
15
+ import { handleObservationCommand } from "./observation-commands.js";
16
+ import { safeCueLineRunStatus } from "./run-status-view.js";
15
17
  import { installSkill, uninstallSkill } from "./skill-links.js";
16
18
  const processIo = {
17
19
  stdout: (line) => process.stdout.write(`${line}\n`),
18
20
  stderr: (line) => process.stderr.write(`${line}\n`),
19
21
  };
20
22
  function usage() {
21
- return "usage: cueline <install|uninstall|doctor|routing|jobs|run status|run reconcile|run takeover|run reconcile-runtime|run cancel|run stop|job cancel|api path|config path|help|version>";
23
+ return "usage: cueline <install|uninstall|doctor|routing|routing explain|jobs|runs|protocol lint|run status|run status-at|run diff|run doctor|run watch|run handoff|run timeline|run graph|run verify|run reconcile|run takeover|run reconcile-runtime|run cancel|run stop|job cancel|api path|config path|help|version>";
22
24
  }
23
25
  function help() {
24
26
  return [
@@ -31,8 +33,19 @@ function help() {
31
33
  " uninstall remove only the skill link owned by this package",
32
34
  " doctor report Node, caller readiness, state home, and process lanes",
33
35
  " routing list every lane and the candidate that would be selected",
36
+ " routing explain explain candidate selection without exposing runner arguments",
34
37
  " jobs list persisted local jobs with run, key, lane, mode, and PID",
35
- " run status summarize one persisted run for safe cross-session handoff",
38
+ " protocol lint validate a Pro control envelope offline and explain corrections",
39
+ " runs list safe summaries of every persisted run",
40
+ " run status metadata-only summary for safe cross-session handoff",
41
+ " run status-at reconstruct sanitized run state at one event sequence",
42
+ " run diff compare two sanitized run summaries field by field",
43
+ " run doctor explain why a run is waiting or blocked and name the safe next action",
44
+ " run watch wait briefly for a newer durable event without owning the run",
45
+ " run handoff emit a restart packet with exact paths and safe next action",
46
+ " run timeline show a sanitized, cursor-paginated audit timeline",
47
+ " run graph render a bounded Mermaid graph from sanitized timeline entries",
48
+ " run verify verify durable run evidence without returning its content",
36
49
  " run reconcile confirm one manually sent controller turn; never resends it",
37
50
  " run takeover explicitly retire one exact stale runtime owner",
38
51
  " run reconcile-runtime settle dead ownerless workers from persisted evidence",
@@ -47,11 +60,23 @@ function help() {
47
60
  "command syntax:",
48
61
  " cueline install",
49
62
  " cueline uninstall",
50
- " cueline doctor",
51
- " cueline routing",
63
+ " cueline doctor [--json]",
64
+ " cueline routing [--json]",
65
+ " cueline routing explain [lane] [--json]",
52
66
  " cueline jobs [--json]",
67
+ " cueline protocol lint <file> --run-id <id> --round <n> --request-id <id> [--json]",
68
+ " cueline runs [--json]",
53
69
  " cueline run status <run-id> [--json]",
70
+ " cueline run status-at <run-id> --sequence <positive-integer> [--json]",
71
+ " cueline run diff <left-run-id> <right-run-id> [--json]",
72
+ " cueline run doctor <run-id> [--json]",
73
+ " cueline run watch <run-id> --after <sequence> [--timeout-ms <0..30000>] [--json]",
74
+ " cueline run handoff <run-id> [--include-content] [--max-content-chars <16..10000>] [--json]",
75
+ " cueline run timeline <run-id> [--after <sequence>] [--limit <1..1000>] [--json]",
76
+ " cueline run graph <run-id> [--after <sequence>] [--limit <1..200>] [--json]",
77
+ " cueline run verify <run-id> [--json]",
54
78
  " cueline run reconcile <run-id> --request-id <request-id> --manual-send-confirmed [--conversation-url <url>] [--json]",
79
+ " cueline run reconcile <run-id> --request-id <request-id> --not-sent-confirmed [--conversation-url <url>] [--json]",
55
80
  " cueline run takeover <run-id> [--json]",
56
81
  " cueline run reconcile-runtime <run-id> [--json]",
57
82
  " cueline run cancel <run-id> [--json]",
@@ -76,7 +101,7 @@ function help() {
76
101
  " 2 the arguments were not understood",
77
102
  "",
78
103
  "state effects:",
79
- " Read-only: doctor, routing, jobs, run status, api path, config path, help, version.",
104
+ " Read-only: doctor, routing, routing explain, jobs, runs, protocol lint, run status, run status-at, run diff, run doctor, run watch, run handoff, run timeline, run graph, run verify, api path, config path, help, version.",
80
105
  " Local setup: install and uninstall change only the package-owned skill link.",
81
106
  " Durable state writes: run reconcile, takeover, reconcile-runtime, cancel/stop,",
82
107
  " and job cancel append evidence or change local run/job state.",
@@ -90,25 +115,26 @@ function errorMessage(error) {
90
115
  return `${error.code}: ${error.message}`;
91
116
  return error instanceof Error ? error.message : String(error);
92
117
  }
93
- async function routingCommand(environment, io) {
94
- const config = await loadRoutingConfig(routingConfigPath(environment));
95
- const availability = executableAvailability(environment);
96
- let available = 0;
97
- for (const [lane, laneConfig] of Object.entries(config.lanes)) {
98
- if (!laneConfig.enabled) {
99
- io.stdout(`${lane}\t-\tdisabled`);
100
- continue;
101
- }
102
- try {
103
- const route = resolveRoute(lane, config, availability);
104
- available += 1;
105
- io.stdout(`${lane}\t${route.candidate.id}\tavailable`);
106
- }
107
- catch (error) {
108
- io.stdout(`${lane}\t-\tunavailable (${errorMessage(error)})`);
109
- }
110
- }
111
- return available > 0 ? 0 : 1;
118
+ function jobStatusMetadata(status) {
119
+ return {
120
+ jobId: status.jobId,
121
+ ...(status.runId === undefined ? {} : { runId: status.runId }),
122
+ ...(status.jobKey === undefined ? {} : { jobKey: status.jobKey }),
123
+ ...(status.lane === undefined ? {} : { lane: status.lane }),
124
+ ...(status.mode === undefined ? {} : { mode: status.mode }),
125
+ ...(status.runnerId === undefined ? {} : { runnerId: status.runnerId }),
126
+ ...(status.model === undefined ? {} : { model: status.model }),
127
+ ...(status.provider === undefined ? {} : { provider: status.provider }),
128
+ ...(status.pid === undefined ? {} : { pid: status.pid }),
129
+ ...(status.phase === undefined ? {} : { phase: status.phase }),
130
+ ...(status.lastProgressAt === undefined
131
+ ? {}
132
+ : { lastProgressAt: status.lastProgressAt }),
133
+ execution: status.execution,
134
+ status: status.status,
135
+ startedAt: status.startedAt,
136
+ ...(status.finishedAt === undefined ? {} : { finishedAt: status.finishedAt }),
137
+ };
112
138
  }
113
139
  async function readRunJobMetadata(home) {
114
140
  const metadata = new Map();
@@ -151,7 +177,6 @@ async function readRunJobMetadata(home) {
151
177
  jobKey: record.jobKey,
152
178
  lane: spec.lane,
153
179
  mode: spec.mode,
154
- task: spec.task,
155
180
  execution: "foreground",
156
181
  status: "pending",
157
182
  startedAt: event.timestamp,
@@ -203,13 +228,23 @@ async function readJobs(home) {
203
228
  else
204
229
  throw error;
205
230
  }
231
+ const statusStore = new JobStatusStore(home);
206
232
  const statuses = [];
207
- for (const name of names.filter((candidate) => candidate.endsWith(".json")).sort()) {
233
+ const jobIds = new Set();
234
+ for (const name of names) {
235
+ if (name.endsWith(".json"))
236
+ jobIds.add(name.slice(0, -".json".length));
237
+ if (name.endsWith(".terminal"))
238
+ jobIds.add(name.slice(0, -".terminal".length));
239
+ }
240
+ for (const jobId of [...jobIds].sort()) {
208
241
  try {
209
- statuses.push(JSON.parse(await readFile(path.join(directory, name), "utf8")));
242
+ const status = await statusStore.read(jobId);
243
+ if (status !== undefined)
244
+ statuses.push(status);
210
245
  }
211
246
  catch (error) {
212
- throw new CueLineError("JOB_STATUS_INVALID", `unable to parse job status: ${name}`, {
247
+ throw new CueLineError("JOB_STATUS_INVALID", `unable to parse job status: ${jobId}`, {
213
248
  cause: error,
214
249
  });
215
250
  }
@@ -225,16 +260,22 @@ async function readJobs(home) {
225
260
  for (const persisted of statuses) {
226
261
  const authoritative = runMetadata.get(persisted.jobId);
227
262
  const conflict = authoritative !== undefined && authoritative.status !== persisted.status;
263
+ const persistedMetadata = jobStatusMetadata(persisted);
264
+ const { finishedAt: _persistedFinishedAt, ...activePersistedMetadata } = persistedMetadata;
228
265
  const status = conflict
229
266
  ? {
230
- ...Object.fromEntries(Object.entries(persisted).filter(([key]) => key !== "result" && key !== "error" && key !== "finishedAt")),
267
+ ...activePersistedMetadata,
231
268
  ...authoritative,
232
269
  execution: persisted.execution,
233
270
  startedAt: persisted.startedAt,
234
271
  }
235
272
  : {
273
+ ...(authoritative?.status === "pending" || authoritative?.status === "running"
274
+ ? activePersistedMetadata
275
+ : persistedMetadata),
236
276
  ...authoritative,
237
- ...persisted,
277
+ execution: persisted.execution,
278
+ startedAt: persisted.startedAt,
238
279
  status: authoritative?.status ?? persisted.status,
239
280
  };
240
281
  let observedStatus = conflict ? "conflict" : status.status;
@@ -252,7 +293,7 @@ async function readJobs(home) {
252
293
  }
253
294
  }
254
295
  listed.push({
255
- ...status,
296
+ ...jobStatusMetadata(status),
256
297
  ...(conflict ? { persistedStatus: persisted.status } : {}),
257
298
  observedStatus,
258
299
  });
@@ -270,14 +311,50 @@ async function jobsCommand(json, environment, io) {
270
311
  return 0;
271
312
  }
272
313
  for (const job of jobs) {
273
- io.stdout(`${job.jobId}\t${job.runId ?? "-"}\t${job.jobKey ?? "-"}\t${job.lane ?? "-"}\t${job.mode ?? "-"}\t${job.pid ?? "-"}\t${job.execution}\t${job.observedStatus}\t${job.startedAt}\trunner=${job.runnerId ?? "-"}\tmodel=${job.model ?? "-"}\tprovider=${job.provider ?? "-"}\tphase=${job.phase ?? "-"}\tprogress=${job.lastProgressAt ?? "-"}\ttask=${JSON.stringify(job.task ?? "")}`);
314
+ io.stdout(`${job.jobId}\t${job.runId ?? "-"}\t${job.jobKey ?? "-"}\t${job.lane ?? "-"}\t${job.mode ?? "-"}\t${job.pid ?? "-"}\t${job.execution}\t${job.observedStatus}\t${job.startedAt}\trunner=${job.runnerId ?? "-"}\tmodel=${job.model ?? "-"}\tprovider=${job.provider ?? "-"}\tphase=${job.phase ?? "-"}\tprogress=${job.lastProgressAt ?? "-"}`);
274
315
  }
275
316
  return 0;
276
317
  }
318
+ async function protocolLintCommand(file, expected, json, environment, io) {
319
+ const config = await loadRoutingConfig(routingConfigPath(environment));
320
+ const runnerLanes = Object.create(null);
321
+ for (const [lane, laneConfig] of Object.entries(config.lanes)) {
322
+ if (!laneConfig.enabled)
323
+ continue;
324
+ for (const candidate of laneConfig.candidates) {
325
+ if (candidate.enabled === false || runnerLanes[candidate.id] !== undefined)
326
+ continue;
327
+ runnerLanes[candidate.id] = lane;
328
+ }
329
+ }
330
+ const text = await readFile(file, "utf8");
331
+ const report = lintControllerCommandText(text, {
332
+ expected,
333
+ routing: {
334
+ lanes: Object.entries(config.lanes)
335
+ .filter(([, lane]) => lane.enabled)
336
+ .map(([lane]) => lane),
337
+ runnerLanes,
338
+ },
339
+ });
340
+ if (json) {
341
+ io.stdout(JSON.stringify({ version: CUELINE_VERSION, ...report }, null, 2));
342
+ }
343
+ else {
344
+ io.stdout(`valid\t${report.valid ? "yes" : "no"}`);
345
+ io.stdout(`format\t${report.format}`);
346
+ for (const issue of report.issues) {
347
+ io.stdout(`issue\t${issue.severity}\t${issue.code}\t${issue.path ?? "-"}\t${issue.message}\tsuggestion=${issue.suggestion ?? "-"}`);
348
+ }
349
+ if (report.command !== undefined)
350
+ io.stdout(`action\t${report.command.action}`);
351
+ }
352
+ return report.valid ? 0 : 1;
353
+ }
277
354
  async function runStatusCommand(runId, json, environment, io) {
278
355
  const status = await loadCueLineRunStatus(runId, { environment });
279
356
  if (json) {
280
- io.stdout(JSON.stringify({ version: CUELINE_VERSION, ...status }, null, 2));
357
+ io.stdout(JSON.stringify({ version: CUELINE_VERSION, ...safeCueLineRunStatus(status) }, null, 2));
281
358
  return 0;
282
359
  }
283
360
  const controller = status.controller.responseAccepted
@@ -297,47 +374,18 @@ async function runStatusCommand(runId, json, environment, io) {
297
374
  : `\theartbeat=${status.runtime.heartbeatAt}\tage_ms=${status.runtime.ageMs ?? "-"}`}`);
298
375
  io.stdout(`sequence\t${status.lastEventSequence}`);
299
376
  io.stdout(`controller\t${controller}\tpending=${status.controller.pendingTurns}\taccepted_commands=${status.controller.acceptedCommands}\tlast_action=${status.controller.lastAcceptedAction ?? "-"}\tlast_jobs=${status.controller.lastAcceptedJobKeys.length}`);
377
+ if (status.controller.archive.enabled) {
378
+ io.stdout(`controller_archive\tenabled=yes\tstatus=${status.controller.archive.status}\tcode=${status.controller.archive.code ?? "-"}\tproof=${status.controller.archive.proof ?? "-"}`);
379
+ }
300
380
  io.stdout(`jobs\ttotal=${status.jobs.total}\tpending=${counts.pending}\trunning=${counts.running}\tsucceeded=${counts.succeeded}\tfailed=${counts.failed}\ttimed_out=${counts.timed_out}\torphaned=${counts.orphaned}\tcancelled=${counts.cancelled}\tambiguous=${counts.ambiguous}`);
301
381
  for (const job of status.jobs.items) {
302
- io.stdout(`job\t${job.jobId}\t${job.jobKey}\t${job.status}\t${job.mode}\t${job.lane}\trequired=${job.required}\tpersisted=${job.persistedStatus}\trunner=${job.execution?.runnerId ?? "-"}\tpid=${job.execution?.pid ?? "-"}\tmodel=${job.execution?.model ?? "-"}\tprovider=${job.execution?.provider ?? "-"}\tphase=${job.execution?.phase ?? "-"}\tprogress=${job.execution?.lastProgressAt ?? "-"}\ttask=${JSON.stringify(job.task)}`);
382
+ io.stdout(`job\t${job.jobId}\t${job.jobKey}\t${job.status}\t${job.mode}\t${job.lane}\trequired=${job.required}\tpersisted=${job.persistedStatus}\trunner=${job.execution?.runnerId ?? "-"}\tpid=${job.execution?.pid ?? "-"}\tmodel=${job.execution?.model ?? "-"}\tprovider=${job.execution?.provider ?? "-"}\tphase=${job.execution?.phase ?? "-"}\tprogress=${job.execution?.lastProgressAt ?? "-"}`);
303
383
  }
304
384
  io.stdout(`cancellation\trun=${status.cancellation.runRequested ? "requested" : "none"}\tjobs=${status.cancellation.jobRequests.length}`);
305
385
  io.stdout(`continue\t${status.continueAllowed ? "allowed" : "forbidden"}`);
306
386
  io.stdout(`next\t${status.safeNextAction}`);
307
387
  return 0;
308
388
  }
309
- async function doctorCommand(environment, io) {
310
- const configPath = routingConfigPath(environment);
311
- const home = defaultCueLineHome(environment);
312
- const major = Number.parseInt(process.versions.node.split(".")[0] ?? "0", 10);
313
- const nodeOk = major >= 22;
314
- const config = await loadRoutingConfig(configPath);
315
- const availability = executableAvailability(environment);
316
- let callerLanes = 0;
317
- let processAvailableLanes = 0;
318
- for (const [lane, laneConfig] of Object.entries(config.lanes)) {
319
- if (!laneConfig.enabled)
320
- continue;
321
- callerLanes += 1;
322
- try {
323
- resolveRoute(lane, config, availability);
324
- processAvailableLanes += 1;
325
- }
326
- catch {
327
- // Doctor reports the aggregate below; `cueline routing` shows lane details.
328
- }
329
- }
330
- const callerReady = nodeOk && callerLanes > 0;
331
- io.stdout(`CueLine ${CUELINE_VERSION}`);
332
- io.stdout(`status\t${callerReady ? "ok" : "degraded"}`);
333
- io.stdout(`node\t${process.versions.node}\t${nodeOk ? "ok" : "requires >=22"}`);
334
- io.stdout(`config\t${configPath}\tvalid`);
335
- io.stdout(`home\t${home}`);
336
- io.stdout(`caller_ready\t${callerReady ? "yes" : "no"}`);
337
- io.stdout(`caller_lanes\t${callerLanes}`);
338
- io.stdout(`process_available_lanes\t${processAvailableLanes}`);
339
- return callerReady ? 0 : 1;
340
- }
341
389
  export async function main(args = process.argv.slice(2), environment = process.env, io = processIo) {
342
390
  try {
343
391
  if (args.length === 0) {
@@ -373,13 +421,59 @@ export async function main(args = process.argv.slice(2), environment = process.e
373
421
  io.stdout(await uninstallSkill(environment));
374
422
  return 0;
375
423
  }
376
- if (args[0] === "routing" && args.length === 1) {
377
- return routingCommand(environment, io);
378
- }
424
+ const healthResult = await handleHealthCommand(args, environment, io);
425
+ if (healthResult !== undefined)
426
+ return healthResult;
379
427
  if (args[0] === "jobs" &&
380
428
  (args.length === 1 || (args.length === 2 && args[1] === "--json"))) {
381
- return jobsCommand(args[1] === "--json", environment, io);
429
+ return await jobsCommand(args[1] === "--json", environment, io);
382
430
  }
431
+ if (args[0] === "protocol" &&
432
+ args[1] === "lint" &&
433
+ typeof args[2] === "string") {
434
+ let runId;
435
+ let round;
436
+ let requestId;
437
+ let json = false;
438
+ let valid = true;
439
+ for (let index = 3; index < args.length; index += 1) {
440
+ const argument = args[index];
441
+ if (argument === "--run-id" && runId === undefined && typeof args[index + 1] === "string") {
442
+ runId = args[index + 1];
443
+ index += 1;
444
+ }
445
+ else if (argument === "--round" &&
446
+ round === undefined &&
447
+ typeof args[index + 1] === "string") {
448
+ round = Number(args[index + 1]);
449
+ index += 1;
450
+ }
451
+ else if (argument === "--request-id" &&
452
+ requestId === undefined &&
453
+ typeof args[index + 1] === "string") {
454
+ requestId = args[index + 1];
455
+ index += 1;
456
+ }
457
+ else if (argument === "--json" && !json) {
458
+ json = true;
459
+ }
460
+ else {
461
+ valid = false;
462
+ }
463
+ }
464
+ if (!valid ||
465
+ !runId ||
466
+ !requestId ||
467
+ round === undefined ||
468
+ !Number.isSafeInteger(round) ||
469
+ round < 1) {
470
+ throw new CueLineError("CLI_ARGUMENTS_INVALID", "usage: cueline protocol lint <file> --run-id <id> --round <n> --request-id <id> [--json]");
471
+ }
472
+ return await protocolLintCommand(args[2], { runId, round, requestId }, json, environment, io);
473
+ }
474
+ const observationResult = await handleObservationCommand(args, environment, io);
475
+ if (observationResult !== undefined)
476
+ return observationResult;
383
477
  if (args[0] === "run" &&
384
478
  args[1] === "takeover" &&
385
479
  typeof args[2] === "string" &&
@@ -412,6 +506,7 @@ export async function main(args = process.argv.slice(2), environment = process.e
412
506
  let requestId;
413
507
  let conversationUrl;
414
508
  let manualConfirmed = false;
509
+ let notSentConfirmed = false;
415
510
  let json = false;
416
511
  let valid = true;
417
512
  for (let index = 3; index < args.length; index += 1) {
@@ -428,6 +523,9 @@ export async function main(args = process.argv.slice(2), environment = process.e
428
523
  else if (argument === "--manual-send-confirmed") {
429
524
  manualConfirmed = true;
430
525
  }
526
+ else if (argument === "--not-sent-confirmed") {
527
+ notSentConfirmed = true;
528
+ }
431
529
  else if (argument === "--json") {
432
530
  json = true;
433
531
  }
@@ -435,14 +533,22 @@ export async function main(args = process.argv.slice(2), environment = process.e
435
533
  valid = false;
436
534
  }
437
535
  }
438
- if (!valid || !requestId || !manualConfirmed) {
439
- throw new CueLineError("CLI_ARGUMENTS_INVALID", "usage: cueline run reconcile <run-id> --request-id <request-id> --manual-send-confirmed [--conversation-url <url>] [--json]");
536
+ if (!valid ||
537
+ !requestId ||
538
+ Number(manualConfirmed) + Number(notSentConfirmed) !== 1) {
539
+ throw new CueLineError("CLI_ARGUMENTS_INVALID", "usage: cueline run reconcile <run-id> --request-id <request-id> (--manual-send-confirmed | --not-sent-confirmed) [--conversation-url <url>] [--json]");
440
540
  }
441
- const result = await confirmManualControllerSubmission(args[2], {
442
- environment,
443
- requestId,
444
- ...(conversationUrl === undefined ? {} : { conversationUrl }),
445
- });
541
+ const result = notSentConfirmed
542
+ ? await confirmControllerTurnNotSent(args[2], {
543
+ environment,
544
+ requestId,
545
+ ...(conversationUrl === undefined ? {} : { conversationUrl }),
546
+ })
547
+ : await confirmManualControllerSubmission(args[2], {
548
+ environment,
549
+ requestId,
550
+ ...(conversationUrl === undefined ? {} : { conversationUrl }),
551
+ });
446
552
  if (json)
447
553
  io.stdout(JSON.stringify(result, null, 2));
448
554
  else
@@ -453,7 +559,7 @@ export async function main(args = process.argv.slice(2), environment = process.e
453
559
  args[1] === "status" &&
454
560
  typeof args[2] === "string" &&
455
561
  (args.length === 3 || (args.length === 4 && args[3] === "--json"))) {
456
- return runStatusCommand(args[2], args[3] === "--json", environment, io);
562
+ return await runStatusCommand(args[2], args[3] === "--json", environment, io);
457
563
  }
458
564
  if (args[0] === "run" &&
459
565
  (args[1] === "cancel" || args[1] === "stop") &&
@@ -484,9 +590,6 @@ export async function main(args = process.argv.slice(2), environment = process.e
484
590
  io.stdout(`${result.runId}\t${result.jobId}\t${result.outcome}`);
485
591
  return 0;
486
592
  }
487
- if (args[0] === "doctor" && args.length === 1) {
488
- return doctorCommand(environment, io);
489
- }
490
593
  io.stderr(`cueline: unrecognized command: ${args.join(" ")}`);
491
594
  io.stderr(usage());
492
595
  io.stderr("try `cueline help`");
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/cli/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/cli/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { CliIo } from "./io.js";
2
+ export declare function handleObservationCommand(args: readonly string[], environment: NodeJS.ProcessEnv, io: CliIo): Promise<number | undefined>;