cueline 0.1.3 → 0.1.4

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 (106) hide show
  1. package/.claude-plugin/plugin.json +2 -2
  2. package/.codex-plugin/plugin.json +3 -3
  3. package/CHANGELOG.md +21 -0
  4. package/README.ja.md +57 -22
  5. package/README.ko.md +57 -22
  6. package/README.md +62 -24
  7. package/README.zh-CN.md +57 -22
  8. package/README.zh-TW.md +60 -23
  9. package/dist/src/api-contracts.d.ts +77 -0
  10. package/dist/src/api-contracts.js +2 -0
  11. package/dist/src/api-contracts.js.map +1 -0
  12. package/dist/src/api-controller-handoff.d.ts +6 -0
  13. package/dist/src/api-controller-handoff.js +253 -0
  14. package/dist/src/api-controller-handoff.js.map +1 -0
  15. package/dist/src/api-runtime-lifecycle.d.ts +22 -0
  16. package/dist/src/api-runtime-lifecycle.js +568 -0
  17. package/dist/src/api-runtime-lifecycle.js.map +1 -0
  18. package/dist/src/api.d.ts +6 -46
  19. package/dist/src/api.js +125 -133
  20. package/dist/src/api.js.map +1 -1
  21. package/dist/src/browser/browser-adapter.d.ts +10 -1
  22. package/dist/src/browser/codex-iab/bootstrap.d.ts +10 -0
  23. package/dist/src/browser/codex-iab/bootstrap.js +49 -0
  24. package/dist/src/browser/codex-iab/bootstrap.js.map +1 -1
  25. package/dist/src/browser/codex-iab/chatgpt-client.js +236 -107
  26. package/dist/src/browser/codex-iab/chatgpt-client.js.map +1 -1
  27. package/dist/src/browser/codex-iab/recovery-evidence.d.ts +6 -0
  28. package/dist/src/browser/codex-iab/recovery-evidence.js +37 -0
  29. package/dist/src/browser/codex-iab/recovery-evidence.js.map +1 -0
  30. package/dist/src/browser/codex-iab/submission-url.d.ts +2 -0
  31. package/dist/src/browser/codex-iab/submission-url.js +53 -0
  32. package/dist/src/browser/codex-iab/submission-url.js.map +1 -0
  33. package/dist/src/cli/main.js +188 -45
  34. package/dist/src/cli/main.js.map +1 -1
  35. package/dist/src/core/controller-abort.d.ts +1 -0
  36. package/dist/src/core/controller-abort.js +11 -0
  37. package/dist/src/core/controller-abort.js.map +1 -0
  38. package/dist/src/core/controller-command-execution.d.ts +9 -0
  39. package/dist/src/core/controller-command-execution.js +299 -0
  40. package/dist/src/core/controller-command-execution.js.map +1 -0
  41. package/dist/src/core/controller-loop.d.ts +3 -43
  42. package/dist/src/core/controller-loop.js +260 -331
  43. package/dist/src/core/controller-loop.js.map +1 -1
  44. package/dist/src/core/controller-turn.d.ts +16 -0
  45. package/dist/src/core/controller-turn.js +309 -0
  46. package/dist/src/core/controller-turn.js.map +1 -0
  47. package/dist/src/core/controller-types.d.ts +58 -0
  48. package/dist/src/core/controller-types.js +2 -0
  49. package/dist/src/core/controller-types.js.map +1 -0
  50. package/dist/src/core/persisted-run.d.ts +4 -0
  51. package/dist/src/core/persisted-run.js +19 -0
  52. package/dist/src/core/persisted-run.js.map +1 -0
  53. package/dist/src/core/process-liveness.d.ts +2 -0
  54. package/dist/src/core/process-liveness.js +44 -0
  55. package/dist/src/core/process-liveness.js.map +1 -0
  56. package/dist/src/core/run-status.d.ts +5 -2
  57. package/dist/src/core/run-status.js +65 -10
  58. package/dist/src/core/run-status.js.map +1 -1
  59. package/dist/src/core/state-machine.d.ts +15 -3
  60. package/dist/src/core/state-machine.js +148 -15
  61. package/dist/src/core/state-machine.js.map +1 -1
  62. package/dist/src/jobs/status.d.ts +1 -1
  63. package/dist/src/jobs/supervisor.js +3 -1
  64. package/dist/src/jobs/supervisor.js.map +1 -1
  65. package/dist/src/router/resolver.d.ts +2 -1
  66. package/dist/src/router/resolver.js +31 -19
  67. package/dist/src/router/resolver.js.map +1 -1
  68. package/dist/src/runners/process-runner.js +59 -6
  69. package/dist/src/runners/process-runner.js.map +1 -1
  70. package/dist/src/state/atomic-write.js +17 -2
  71. package/dist/src/state/atomic-write.js.map +1 -1
  72. package/dist/src/state/cancellation.d.ts +1 -1
  73. package/dist/src/state/cancellation.js +10 -2
  74. package/dist/src/state/cancellation.js.map +1 -1
  75. package/dist/src/state/event-log.d.ts +17 -1
  76. package/dist/src/state/event-log.js +328 -18
  77. package/dist/src/state/event-log.js.map +1 -1
  78. package/dist/src/state/paths.d.ts +1 -0
  79. package/dist/src/state/paths.js +1 -0
  80. package/dist/src/state/paths.js.map +1 -1
  81. package/dist/src/state/runtime-lease.d.ts +25 -0
  82. package/dist/src/state/runtime-lease.js +607 -59
  83. package/dist/src/state/runtime-lease.js.map +1 -1
  84. package/dist/src/state/runtime-retirement.d.ts +16 -0
  85. package/dist/src/state/runtime-retirement.js +95 -0
  86. package/dist/src/state/runtime-retirement.js.map +1 -0
  87. package/dist/src/state/runtime-takeover-intent.d.ts +1 -0
  88. package/dist/src/state/runtime-takeover-intent.js +18 -0
  89. package/dist/src/state/runtime-takeover-intent.js.map +1 -0
  90. package/dist/src/state/store.d.ts +12 -1
  91. package/dist/src/state/store.js +246 -40
  92. package/dist/src/state/store.js.map +1 -1
  93. package/dist/src/version.d.ts +1 -1
  94. package/dist/src/version.js +1 -1
  95. package/docs/architecture.md +16 -11
  96. package/docs/assets/cueline-loop-en.svg +11 -10
  97. package/docs/assets/cueline-loop-ja.svg +11 -10
  98. package/docs/assets/cueline-loop-ko.svg +11 -10
  99. package/docs/assets/cueline-loop-zh-CN.svg +11 -10
  100. package/docs/assets/cueline-loop-zh-TW.svg +11 -10
  101. package/docs/compatibility.md +15 -9
  102. package/docs/controller-protocol.md +7 -5
  103. package/docs/runner-contract.md +19 -5
  104. package/docs/state-and-recovery.md +49 -21
  105. package/package.json +2 -2
  106. package/skills/cueline/SKILL.md +65 -17
@@ -0,0 +1,53 @@
1
+ import { CueLineError } from "../../core/errors.js";
2
+ const CAPTURE_TIMEOUT_MS = 5_000;
3
+ function isConversationUrl(url) {
4
+ return /^https:\/\/chatgpt\.com\/c\/[A-Za-z0-9-]+/.test(url);
5
+ }
6
+ function normalizedConversationUrl(url) {
7
+ try {
8
+ const parsed = new URL(url);
9
+ return `${parsed.origin}${parsed.pathname}`;
10
+ }
11
+ catch {
12
+ return url;
13
+ }
14
+ }
15
+ function wait(milliseconds, signal) {
16
+ return new Promise((resolve, reject) => {
17
+ if (signal?.aborted === true) {
18
+ reject(signal.reason ?? new CueLineError("RUN_CANCELLED", "Run cancelled."));
19
+ return;
20
+ }
21
+ const onAbort = () => {
22
+ clearTimeout(timer);
23
+ reject(signal?.reason ?? new CueLineError("RUN_CANCELLED", "Run cancelled."));
24
+ };
25
+ const timer = setTimeout(() => {
26
+ signal?.removeEventListener("abort", onAbort);
27
+ resolve();
28
+ }, milliseconds);
29
+ signal?.addEventListener("abort", onAbort, { once: true });
30
+ });
31
+ }
32
+ export async function captureConversationUrlAfterSubmit(tab, knownUrl, timeoutMs, pollIntervalMs, signal) {
33
+ const expectedUrl = knownUrl !== undefined && isConversationUrl(knownUrl) ? knownUrl : undefined;
34
+ const deadline = Date.now() + Math.min(timeoutMs, CAPTURE_TIMEOUT_MS);
35
+ do {
36
+ const currentUrl = (await tab.url().catch(() => "")) ?? "";
37
+ if (isConversationUrl(currentUrl)) {
38
+ if (expectedUrl !== undefined &&
39
+ normalizedConversationUrl(currentUrl) !== normalizedConversationUrl(expectedUrl)) {
40
+ throw new CueLineError("CONTROLLER_RECONCILIATION_CONVERSATION_MISMATCH", "ChatGPT navigated to a different conversation after the single send click. Refusing to bind either conversation or click again.", {
41
+ details: {
42
+ expected_conversation_url: expectedUrl,
43
+ observed_conversation_url: currentUrl,
44
+ },
45
+ });
46
+ }
47
+ return expectedUrl ?? currentUrl;
48
+ }
49
+ await wait(Math.min(pollIntervalMs, 100), signal);
50
+ } while (Date.now() < deadline);
51
+ throw new CueLineError("CONTROLLER_CONVERSATION_URL_UNAVAILABLE", "ChatGPT accepted the single send click but did not expose an exact conversation URL in time. Refusing to return an unrecoverable controller wait or click again.");
52
+ }
53
+ //# sourceMappingURL=submission-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submission-url.js","sourceRoot":"","sources":["../../../../src/browser/codex-iab/submission-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAEjC,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,2CAA2C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAW;IAC5C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,IAAI,CAAC,YAAoB,EAAE,MAAoB;IACtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,YAAY,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,YAAY,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,YAAY,CAAC,CAAC;QACjB,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,GAAW,EACX,QAA4B,EAC5B,SAAiB,EACjB,cAAsB,EACtB,MAAoB;IAEpB,MAAM,WAAW,GACf,QAAQ,KAAK,SAAS,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IACtE,GAAG,CAAC;QACF,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,IACE,WAAW,KAAK,SAAS;gBACzB,yBAAyB,CAAC,UAAU,CAAC,KAAK,yBAAyB,CAAC,WAAW,CAAC,EAChF,CAAC;gBACD,MAAM,IAAI,YAAY,CACpB,iDAAiD,EACjD,iIAAiI,EACjI;oBACE,OAAO,EAAE;wBACP,yBAAyB,EAAE,WAAW;wBACtC,yBAAyB,EAAE,UAAU;qBACtC;iBACF,CACF,CAAC;YACJ,CAAC;YACD,OAAO,WAAW,IAAI,UAAU,CAAC;QACnC,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE;IAChC,MAAM,IAAI,YAAY,CACpB,yCAAyC,EACzC,kKAAkK,CACnK,CAAC;AACJ,CAAC"}
@@ -3,14 +3,14 @@ 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, loadCueLineRunStatus, routingConfigPath, } from "../api.js";
6
+ import { cancelCueLineJob, cancelCueLineRun, confirmManualControllerSubmission, loadCueLineRunStatus, reconcileCueLineRuntime, routingConfigPath, takeoverCueLineRuntime, } from "../api.js";
7
7
  import { CueLineError } from "../core/errors.js";
8
8
  import { executableAvailability } from "../router/availability.js";
9
9
  import { loadRoutingConfig } from "../router/config-loader.js";
10
10
  import { resolveRoute } from "../router/resolver.js";
11
11
  import { defaultCueLineHome } from "../state/paths.js";
12
12
  import { readRuntimeLease } from "../state/runtime-lease.js";
13
- import { readEvents } from "../state/event-log.js";
13
+ import { readAuthoritativeRunEvents } from "../state/store.js";
14
14
  import { CUELINE_VERSION } from "../version.js";
15
15
  import { installSkill, uninstallSkill } from "./skill-links.js";
16
16
  const processIo = {
@@ -18,7 +18,7 @@ const processIo = {
18
18
  stderr: (line) => process.stderr.write(`${line}\n`),
19
19
  };
20
20
  function usage() {
21
- return "usage: cueline <install|uninstall|doctor|routing|jobs|run status|run cancel|run stop|job cancel|api path|config path|help|version>";
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>";
22
22
  }
23
23
  function help() {
24
24
  return [
@@ -29,10 +29,13 @@ function help() {
29
29
  "commands:",
30
30
  " install link the bundled skill into Codex",
31
31
  " uninstall remove only the skill link owned by this package",
32
- " doctor report Node, routing config, state home, and usable lanes",
32
+ " doctor report Node, caller readiness, state home, and process lanes",
33
33
  " routing list every lane and the candidate that would be selected",
34
34
  " jobs list persisted local jobs with run, key, lane, mode, and PID",
35
35
  " run status summarize one persisted run for safe cross-session handoff",
36
+ " run reconcile confirm one manually sent controller turn; never resends it",
37
+ " run takeover explicitly retire one exact stale runtime owner",
38
+ " run reconcile-runtime settle dead ownerless workers from persisted evidence",
36
39
  " run cancel request safe cancellation; ownerless work becomes ambiguous",
37
40
  " run stop alias for `run cancel`",
38
41
  " job cancel request cancellation for one job in one run",
@@ -41,6 +44,24 @@ function help() {
41
44
  " help print this text",
42
45
  " version print the CueLine version",
43
46
  "",
47
+ "command syntax:",
48
+ " cueline install",
49
+ " cueline uninstall",
50
+ " cueline doctor",
51
+ " cueline routing",
52
+ " cueline jobs [--json]",
53
+ " cueline run status <run-id> [--json]",
54
+ " cueline run reconcile <run-id> --request-id <request-id> --manual-send-confirmed [--json]",
55
+ " cueline run takeover <run-id> [--json]",
56
+ " cueline run reconcile-runtime <run-id> [--json]",
57
+ " cueline run cancel <run-id> [--json]",
58
+ " cueline run stop <run-id> [--json]",
59
+ " cueline job cancel <run-id> <job-id> [--json]",
60
+ " cueline api path",
61
+ " cueline config path",
62
+ " cueline help",
63
+ " cueline version",
64
+ "",
44
65
  "flags:",
45
66
  " -h, --help same as `cueline help`",
46
67
  " -v, --version same as `cueline version`",
@@ -54,8 +75,14 @@ function help() {
54
75
  " 1 the command ran but the surface is degraded or unreadable",
55
76
  " 2 the arguments were not understood",
56
77
  "",
57
- "These commands only diagnose the local installation. A live run is driven",
58
- "through the imported API inside Codex, where the built-in Browser lives.",
78
+ "state effects:",
79
+ " Read-only: doctor, routing, jobs, run status, api path, config path, help, version.",
80
+ " Local setup: install and uninstall change only the package-owned skill link.",
81
+ " Durable state writes: run reconcile, takeover, reconcile-runtime, cancel/stop,",
82
+ " and job cancel append evidence or change local run/job state.",
83
+ "",
84
+ "No CLI command drives the browser. A live run is driven through the imported API",
85
+ "inside Codex, where the built-in Browser lives.",
59
86
  ].join("\n");
60
87
  }
61
88
  function errorMessage(error) {
@@ -83,7 +110,7 @@ async function routingCommand(environment, io) {
83
110
  }
84
111
  return available > 0 ? 0 : 1;
85
112
  }
86
- async function readLegacyJobMetadata(home) {
113
+ async function readRunJobMetadata(home) {
87
114
  const metadata = new Map();
88
115
  let entries;
89
116
  try {
@@ -97,33 +124,59 @@ async function readLegacyJobMetadata(home) {
97
124
  for (const entry of entries) {
98
125
  if (!entry.isDirectory())
99
126
  continue;
100
- const events = await readEvents(path.join(home, "runs", entry.name, "events.jsonl"));
127
+ const events = await readAuthoritativeRunEvents(home, entry.name);
101
128
  for (const event of events) {
102
- if (event.type !== "job_registered" ||
103
- typeof event.payload !== "object" ||
129
+ if (typeof event.payload !== "object" ||
104
130
  event.payload === null ||
105
- Array.isArray(event.payload)) {
131
+ Array.isArray(event.payload))
106
132
  continue;
133
+ const payload = event.payload;
134
+ if (event.type === "job_registered") {
135
+ const job = payload.job;
136
+ if (typeof job !== "object" || job === null || Array.isArray(job))
137
+ continue;
138
+ const record = job;
139
+ const spec = typeof record.spec === "object" && record.spec !== null && !Array.isArray(record.spec)
140
+ ? record.spec
141
+ : {};
142
+ if (typeof record.jobId !== "string" ||
143
+ typeof record.jobKey !== "string" ||
144
+ typeof spec.lane !== "string" ||
145
+ typeof spec.task !== "string" ||
146
+ (spec.mode !== "advise" && spec.mode !== "work"))
147
+ continue;
148
+ metadata.set(record.jobId, {
149
+ jobId: record.jobId,
150
+ runId: entry.name,
151
+ jobKey: record.jobKey,
152
+ lane: spec.lane,
153
+ mode: spec.mode,
154
+ task: spec.task,
155
+ execution: "foreground",
156
+ status: "pending",
157
+ startedAt: event.timestamp,
158
+ });
107
159
  }
108
- const job = event.payload.job;
109
- if (typeof job !== "object" || job === null || Array.isArray(job))
110
- continue;
111
- const record = job;
112
- const spec = typeof record.spec === "object" && record.spec !== null && !Array.isArray(record.spec)
113
- ? record.spec
114
- : {};
115
- if (typeof record.jobId !== "string" ||
116
- typeof record.jobKey !== "string" ||
117
- typeof spec.lane !== "string" ||
118
- (spec.mode !== "advise" && spec.mode !== "work")) {
119
- continue;
160
+ else if (event.type === "job_status" && typeof payload.job_id === "string") {
161
+ const existing = metadata.get(payload.job_id);
162
+ const status = payload.status;
163
+ if (existing === undefined ||
164
+ (status !== "pending" &&
165
+ status !== "running" &&
166
+ status !== "succeeded" &&
167
+ status !== "failed" &&
168
+ status !== "timed_out" &&
169
+ status !== "cancelled" &&
170
+ status !== "ambiguous"))
171
+ continue;
172
+ metadata.set(payload.job_id, {
173
+ ...existing,
174
+ status,
175
+ ...(status === "pending" || status === "running"
176
+ ? {}
177
+ : { finishedAt: event.timestamp }),
178
+ });
120
179
  }
121
- metadata.set(record.jobId, {
122
- runId: entry.name,
123
- jobKey: record.jobKey,
124
- lane: spec.lane,
125
- mode: spec.mode,
126
- });
127
180
  }
128
181
  }
129
182
  return metadata;
@@ -136,8 +189,9 @@ async function readJobs(home) {
136
189
  }
137
190
  catch (error) {
138
191
  if (error.code === "ENOENT")
139
- return [];
140
- throw error;
192
+ names = [];
193
+ else
194
+ throw error;
141
195
  }
142
196
  const statuses = [];
143
197
  for (const name of names.filter((candidate) => candidate.endsWith(".json")).sort()) {
@@ -150,13 +204,31 @@ async function readJobs(home) {
150
204
  });
151
205
  }
152
206
  }
153
- const legacyMetadata = await readLegacyJobMetadata(home);
207
+ const runMetadata = await readRunJobMetadata(home);
208
+ const persistedById = new Map(statuses.map((status) => [status.jobId, status]));
209
+ for (const [jobId, metadata] of runMetadata) {
210
+ if (!persistedById.has(jobId))
211
+ statuses.push(metadata);
212
+ }
154
213
  const ownership = new Map();
155
214
  const listed = [];
156
215
  for (const persisted of statuses) {
157
- const status = { ...legacyMetadata.get(persisted.jobId), ...persisted };
158
- let observedStatus = status.status;
159
- if (status.status === "running") {
216
+ const authoritative = runMetadata.get(persisted.jobId);
217
+ const conflict = authoritative !== undefined && authoritative.status !== persisted.status;
218
+ const status = conflict
219
+ ? {
220
+ ...Object.fromEntries(Object.entries(persisted).filter(([key]) => key !== "result" && key !== "error" && key !== "finishedAt")),
221
+ ...authoritative,
222
+ execution: persisted.execution,
223
+ startedAt: persisted.startedAt,
224
+ }
225
+ : {
226
+ ...authoritative,
227
+ ...persisted,
228
+ status: authoritative?.status ?? persisted.status,
229
+ };
230
+ let observedStatus = conflict ? "conflict" : status.status;
231
+ if (!conflict && status.status === "running") {
160
232
  if (status.runId === undefined) {
161
233
  observedStatus = "unverified";
162
234
  }
@@ -169,7 +241,11 @@ async function readJobs(home) {
169
241
  observedStatus = runtime.ownership === "active" ? "running" : "orphaned";
170
242
  }
171
243
  }
172
- listed.push({ ...status, observedStatus });
244
+ listed.push({
245
+ ...status,
246
+ ...(conflict ? { persistedStatus: persisted.status } : {}),
247
+ observedStatus,
248
+ });
173
249
  }
174
250
  return listed.sort((left, right) => left.startedAt.localeCompare(right.startedAt));
175
251
  }
@@ -184,7 +260,7 @@ async function jobsCommand(json, environment, io) {
184
260
  return 0;
185
261
  }
186
262
  for (const job of jobs) {
187
- 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}`);
263
+ 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}\ttask=${JSON.stringify(job.task ?? "")}`);
188
264
  }
189
265
  return 0;
190
266
  }
@@ -203,6 +279,7 @@ async function runStatusCommand(runId, json, environment, io) {
203
279
  io.stdout(`run\t${status.runId}`);
204
280
  io.stdout(`version\t${CUELINE_VERSION}`);
205
281
  io.stdout(`status\t${status.status}`);
282
+ io.stdout(`executor\t${status.executor}`);
206
283
  io.stdout(`phase\t${status.phase}`);
207
284
  io.stdout(`runtime\t${status.runtime.ownership}${status.runtime.heartbeatAt === undefined
208
285
  ? ""
@@ -211,7 +288,7 @@ async function runStatusCommand(runId, json, environment, io) {
211
288
  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}`);
212
289
  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}`);
213
290
  for (const job of status.jobs.items) {
214
- io.stdout(`job\t${job.jobId}\t${job.jobKey}\t${job.status}\t${job.mode}\t${job.lane}\trequired=${job.required}\tpersisted=${job.persistedStatus}`);
291
+ io.stdout(`job\t${job.jobId}\t${job.jobKey}\t${job.status}\t${job.mode}\t${job.lane}\trequired=${job.required}\tpersisted=${job.persistedStatus}\ttask=${JSON.stringify(job.task)}`);
215
292
  }
216
293
  io.stdout(`cancellation\trun=${status.cancellation.runRequested ? "requested" : "none"}\tjobs=${status.cancellation.jobRequests.length}`);
217
294
  io.stdout(`continue\t${status.continueAllowed ? "allowed" : "forbidden"}`);
@@ -225,26 +302,30 @@ async function doctorCommand(environment, io) {
225
302
  const nodeOk = major >= 22;
226
303
  const config = await loadRoutingConfig(configPath);
227
304
  const availability = executableAvailability(environment);
228
- let availableLanes = 0;
305
+ let callerLanes = 0;
306
+ let processAvailableLanes = 0;
229
307
  for (const [lane, laneConfig] of Object.entries(config.lanes)) {
230
308
  if (!laneConfig.enabled)
231
309
  continue;
310
+ callerLanes += 1;
232
311
  try {
233
312
  resolveRoute(lane, config, availability);
234
- availableLanes += 1;
313
+ processAvailableLanes += 1;
235
314
  }
236
315
  catch {
237
316
  // Doctor reports the aggregate below; `cueline routing` shows lane details.
238
317
  }
239
318
  }
240
- const ok = nodeOk && availableLanes > 0;
319
+ const callerReady = nodeOk && callerLanes > 0;
241
320
  io.stdout(`CueLine ${CUELINE_VERSION}`);
242
- io.stdout(`status\t${ok ? "ok" : "degraded"}`);
321
+ io.stdout(`status\t${callerReady ? "ok" : "degraded"}`);
243
322
  io.stdout(`node\t${process.versions.node}\t${nodeOk ? "ok" : "requires >=22"}`);
244
323
  io.stdout(`config\t${configPath}\tvalid`);
245
324
  io.stdout(`home\t${home}`);
246
- io.stdout(`available_lanes\t${availableLanes}`);
247
- return ok ? 0 : 1;
325
+ io.stdout(`caller_ready\t${callerReady ? "yes" : "no"}`);
326
+ io.stdout(`caller_lanes\t${callerLanes}`);
327
+ io.stdout(`process_available_lanes\t${processAvailableLanes}`);
328
+ return callerReady ? 0 : 1;
248
329
  }
249
330
  export async function main(args = process.argv.slice(2), environment = process.env, io = processIo) {
250
331
  try {
@@ -283,6 +364,68 @@ export async function main(args = process.argv.slice(2), environment = process.e
283
364
  (args.length === 1 || (args.length === 2 && args[1] === "--json"))) {
284
365
  return jobsCommand(args[1] === "--json", environment, io);
285
366
  }
367
+ if (args[0] === "run" &&
368
+ args[1] === "takeover" &&
369
+ typeof args[2] === "string" &&
370
+ (args.length === 3 || (args.length === 4 && args[3] === "--json"))) {
371
+ const result = await takeoverCueLineRuntime(args[2], { environment });
372
+ if (args[3] === "--json")
373
+ io.stdout(JSON.stringify(result, null, 2));
374
+ else {
375
+ io.stdout(`${result.runId}\t${result.outcome}\tnext=${result.next}${result.previousOwnerId === undefined
376
+ ? ""
377
+ : `\tprevious_owner=${result.previousOwnerId}`}`);
378
+ }
379
+ return 0;
380
+ }
381
+ if (args[0] === "run" &&
382
+ args[1] === "reconcile-runtime" &&
383
+ typeof args[2] === "string" &&
384
+ (args.length === 3 || (args.length === 4 && args[3] === "--json"))) {
385
+ const result = await reconcileCueLineRuntime(args[2], { environment });
386
+ if (args[3] === "--json")
387
+ io.stdout(JSON.stringify(result, null, 2));
388
+ else {
389
+ io.stdout(`${result.runId}\t${result.outcome}\taffected_jobs=${result.affectedJobs}\tsurviving_jobs=${result.survivingJobs.length}`);
390
+ }
391
+ return result.outcome === "owner_alive" || result.outcome === "processes_alive" ? 1 : 0;
392
+ }
393
+ if (args[0] === "run" &&
394
+ args[1] === "reconcile" &&
395
+ typeof args[2] === "string") {
396
+ let requestId;
397
+ let manualConfirmed = false;
398
+ let json = false;
399
+ let valid = true;
400
+ for (let index = 3; index < args.length; index += 1) {
401
+ const argument = args[index];
402
+ if (argument === "--request-id" && typeof args[index + 1] === "string") {
403
+ requestId = args[index + 1];
404
+ index += 1;
405
+ }
406
+ else if (argument === "--manual-send-confirmed") {
407
+ manualConfirmed = true;
408
+ }
409
+ else if (argument === "--json") {
410
+ json = true;
411
+ }
412
+ else {
413
+ valid = false;
414
+ }
415
+ }
416
+ if (!valid || !requestId || !manualConfirmed) {
417
+ throw new CueLineError("CLI_ARGUMENTS_INVALID", "usage: cueline run reconcile <run-id> --request-id <request-id> --manual-send-confirmed [--json]");
418
+ }
419
+ const result = await confirmManualControllerSubmission(args[2], {
420
+ environment,
421
+ requestId,
422
+ });
423
+ if (json)
424
+ io.stdout(JSON.stringify(result, null, 2));
425
+ else
426
+ io.stdout(`${result.runId}\t${result.requestId}\t${result.outcome}\tno_resend`);
427
+ return 0;
428
+ }
286
429
  if (args[0] === "run" &&
287
430
  args[1] === "status" &&
288
431
  typeof args[2] === "string" &&
@@ -328,7 +471,7 @@ export async function main(args = process.argv.slice(2), environment = process.e
328
471
  }
329
472
  catch (error) {
330
473
  io.stderr(`CueLine: ${errorMessage(error)}`);
331
- return 1;
474
+ return error instanceof CueLineError && error.code === "CLI_ARGUMENTS_INVALID" ? 2 : 1;
332
475
  }
333
476
  }
334
477
  if (process.argv[1] !== undefined &&
@@ -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 @@
1
+ export declare function throwIfCancelled(signal: AbortSignal | undefined): void;
@@ -0,0 +1,11 @@
1
+ import { CueLineError } from "./errors.js";
2
+ export function throwIfCancelled(signal) {
3
+ if (signal?.aborted !== true)
4
+ return;
5
+ if (signal.reason instanceof CueLineError)
6
+ throw signal.reason;
7
+ throw new CueLineError("RUN_CANCELLED", "CueLine run cancellation was requested.", {
8
+ cause: signal.reason,
9
+ });
10
+ }
11
+ //# sourceMappingURL=controller-abort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller-abort.js","sourceRoot":"","sources":["../../../src/core/controller-abort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,UAAU,gBAAgB,CAAC,MAA+B;IAC9D,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI;QAAE,OAAO;IACrC,IAAI,MAAM,CAAC,MAAM,YAAY,YAAY;QAAE,MAAM,MAAM,CAAC,MAAM,CAAC;IAC/D,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,yCAAyC,EAAE;QACjF,KAAK,EAAE,MAAM,CAAC,MAAM;KACrB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type JobStatus } from "../jobs/status.js";
2
+ import type { ControllerCommand } from "../protocol/types.js";
3
+ import { RunStore } from "../state/store.js";
4
+ import type { ControllerRuntimeOptions } from "./controller-types.js";
5
+ import type { CueLineRunState } from "./state-machine.js";
6
+ export declare function statusPayload(status: JobStatus): Record<string, unknown>;
7
+ export declare function validateCommandBeforeAcceptance(store: RunStore<CueLineRunState>, command: ControllerCommand, options: ControllerRuntimeOptions): void;
8
+ export type CommandExecutionOutcome = "continue" | "terminal" | "awaiting_controller" | "awaiting_caller";
9
+ export declare function executeAcceptedCommand(store: RunStore<CueLineRunState>, command: ControllerCommand, commandDigest: string, options: ControllerRuntimeOptions, resumePendingExecution?: boolean): Promise<CommandExecutionOutcome>;