cueline 0.1.2 → 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 (116) hide show
  1. package/.claude-plugin/plugin.json +2 -2
  2. package/.codex-plugin/plugin.json +3 -3
  3. package/CHANGELOG.md +38 -0
  4. package/README.ja.md +65 -21
  5. package/README.ko.md +65 -21
  6. package/README.md +70 -23
  7. package/README.zh-CN.md +65 -21
  8. package/README.zh-TW.md +68 -22
  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 +9 -27
  19. package/dist/src/api.js +138 -42
  20. package/dist/src/api.js.map +1 -1
  21. package/dist/src/browser/browser-adapter.d.ts +11 -1
  22. package/dist/src/browser/codex-iab/bootstrap.d.ts +16 -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 +346 -120
  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 +305 -20
  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 -37
  42. package/dist/src/core/controller-loop.js +386 -291
  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 +53 -0
  57. package/dist/src/core/run-status.js +224 -0
  58. package/dist/src/core/run-status.js.map +1 -0
  59. package/dist/src/core/state-machine.d.ts +17 -4
  60. package/dist/src/core/state-machine.js +170 -16
  61. package/dist/src/core/state-machine.js.map +1 -1
  62. package/dist/src/jobs/status.d.ts +7 -1
  63. package/dist/src/jobs/status.js.map +1 -1
  64. package/dist/src/jobs/supervisor.d.ts +2 -0
  65. package/dist/src/jobs/supervisor.js +47 -13
  66. package/dist/src/jobs/supervisor.js.map +1 -1
  67. package/dist/src/protocol/types.d.ts +1 -1
  68. package/dist/src/protocol/validate-command.js +18 -0
  69. package/dist/src/protocol/validate-command.js.map +1 -1
  70. package/dist/src/router/resolver.d.ts +2 -1
  71. package/dist/src/router/resolver.js +31 -13
  72. package/dist/src/router/resolver.js.map +1 -1
  73. package/dist/src/runners/process-runner.d.ts +2 -2
  74. package/dist/src/runners/process-runner.js +113 -9
  75. package/dist/src/runners/process-runner.js.map +1 -1
  76. package/dist/src/runners/runner-adapter.d.ts +9 -2
  77. package/dist/src/runners/runner-adapter.js.map +1 -1
  78. package/dist/src/state/atomic-write.js +17 -2
  79. package/dist/src/state/atomic-write.js.map +1 -1
  80. package/dist/src/state/cancellation.d.ts +42 -0
  81. package/dist/src/state/cancellation.js +168 -0
  82. package/dist/src/state/cancellation.js.map +1 -0
  83. package/dist/src/state/event-log.d.ts +17 -1
  84. package/dist/src/state/event-log.js +328 -18
  85. package/dist/src/state/event-log.js.map +1 -1
  86. package/dist/src/state/paths.d.ts +4 -0
  87. package/dist/src/state/paths.js +4 -0
  88. package/dist/src/state/paths.js.map +1 -1
  89. package/dist/src/state/runtime-lease.d.ts +53 -0
  90. package/dist/src/state/runtime-lease.js +727 -0
  91. package/dist/src/state/runtime-lease.js.map +1 -0
  92. package/dist/src/state/runtime-retirement.d.ts +16 -0
  93. package/dist/src/state/runtime-retirement.js +95 -0
  94. package/dist/src/state/runtime-retirement.js.map +1 -0
  95. package/dist/src/state/runtime-takeover-intent.d.ts +1 -0
  96. package/dist/src/state/runtime-takeover-intent.js +18 -0
  97. package/dist/src/state/runtime-takeover-intent.js.map +1 -0
  98. package/dist/src/state/store.d.ts +12 -1
  99. package/dist/src/state/store.js +246 -40
  100. package/dist/src/state/store.js.map +1 -1
  101. package/dist/src/version.d.ts +1 -1
  102. package/dist/src/version.js +1 -1
  103. package/docs/architecture.md +16 -11
  104. package/docs/assets/cueline-loop-en.svg +11 -10
  105. package/docs/assets/cueline-loop-ja.svg +11 -10
  106. package/docs/assets/cueline-loop-ko.svg +11 -10
  107. package/docs/assets/cueline-loop-zh-CN.svg +11 -10
  108. package/docs/assets/cueline-loop-zh-TW.svg +11 -10
  109. package/docs/compatibility.md +16 -8
  110. package/docs/controller-protocol.md +8 -4
  111. package/docs/runner-contract.md +26 -6
  112. package/docs/state-and-recovery.md +69 -16
  113. package/package.json +4 -3
  114. package/schemas/controller-observation.schema.json +1 -1
  115. package/scripts/validate-plugin.mjs +66 -0
  116. package/skills/cueline/SKILL.md +89 -13
@@ -1 +1 @@
1
- {"version":3,"file":"chatgpt-client.js","sourceRoot":"","sources":["../../../../src/browser/codex-iab/chatgpt-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatgpt-client.js","sourceRoot":"","sources":["../../../../src/browser/codex-iab/chatgpt-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ExpectedControllerIdentity } from "../../protocol/types.js";
2
+ export declare function normalizedConversationUrl(url: string): string;
3
+ export declare function isProLabel(label: string | null): label is string;
4
+ export declare function isProModelSlug(slug: string | null): slug is string;
5
+ export declare function normalizedMessageText(value: string | null): string;
6
+ export declare function hasExactControllerEnvelopeIdentity(text: string, expected: ExpectedControllerIdentity): boolean;
@@ -0,0 +1,37 @@
1
+ const CONTROL_ENVELOPE = /<CueLineControl>([\s\S]*?)<\/CueLineControl>/g;
2
+ export function normalizedConversationUrl(url) {
3
+ try {
4
+ const parsed = new URL(url);
5
+ return `${parsed.origin}${parsed.pathname}`;
6
+ }
7
+ catch {
8
+ return url;
9
+ }
10
+ }
11
+ export function isProLabel(label) {
12
+ return /^Pro(?:\s+(?:Standard|Extended))?$/i.test(label ?? "");
13
+ }
14
+ export function isProModelSlug(slug) {
15
+ return /^gpt-\d+(?:[.-]\d+)*-pro$/i.test(slug ?? "");
16
+ }
17
+ export function normalizedMessageText(value) {
18
+ return (value ?? "").replace(/\r\n/g, "\n").trim();
19
+ }
20
+ export function hasExactControllerEnvelopeIdentity(text, expected) {
21
+ let body;
22
+ for (const match of text.matchAll(CONTROL_ENVELOPE))
23
+ body = match[1];
24
+ if (body === undefined)
25
+ return false;
26
+ try {
27
+ const parsed = JSON.parse(body.trim());
28
+ return (parsed.protocol === "cueline/0.1" &&
29
+ parsed.run_id === expected.runId &&
30
+ parsed.round === expected.round &&
31
+ parsed.request_id === expected.requestId);
32
+ }
33
+ catch {
34
+ return false;
35
+ }
36
+ }
37
+ //# sourceMappingURL=recovery-evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery-evidence.js","sourceRoot":"","sources":["../../../../src/browser/codex-iab/recovery-evidence.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG,+CAA+C,CAAC;AAEzE,MAAM,UAAU,yBAAyB,CAAC,GAAW;IACnD,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,MAAM,UAAU,UAAU,CAAC,KAAoB;IAC7C,OAAO,qCAAqC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAmB;IAChD,OAAO,4BAA4B,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAoB;IACxD,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,IAAY,EACZ,QAAoC;IAEpC,IAAI,IAAwB,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAA4B,CAAC;QAClE,OAAO,CACL,MAAM,CAAC,QAAQ,KAAK,aAAa;YACjC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,KAAK;YAChC,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;YAC/B,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,SAAS,CACzC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { IabTab } from "./bootstrap.js";
2
+ export declare function captureConversationUrlAfterSubmit(tab: IabTab, knownUrl: string | undefined, timeoutMs: number, pollIntervalMs: number, signal?: AbortSignal): Promise<string>;
@@ -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,12 +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 { 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
+ import { readRuntimeLease } from "../state/runtime-lease.js";
13
+ import { readAuthoritativeRunEvents } from "../state/store.js";
12
14
  import { CUELINE_VERSION } from "../version.js";
13
15
  import { installSkill, uninstallSkill } from "./skill-links.js";
14
16
  const processIo = {
@@ -16,7 +18,7 @@ const processIo = {
16
18
  stderr: (line) => process.stderr.write(`${line}\n`),
17
19
  };
18
20
  function usage() {
19
- return "usage: cueline <install|uninstall|doctor|routing|jobs|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>";
20
22
  }
21
23
  function help() {
22
24
  return [
@@ -27,14 +29,39 @@ function help() {
27
29
  "commands:",
28
30
  " install link the bundled skill into Codex",
29
31
  " uninstall remove only the skill link owned by this package",
30
- " doctor report Node, routing config, state home, and usable lanes",
32
+ " doctor report Node, caller readiness, state home, and process lanes",
31
33
  " routing list every lane and the candidate that would be selected",
32
- " jobs list persisted local jobs, oldest first",
34
+ " jobs list persisted local jobs with run, key, lane, mode, and PID",
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",
39
+ " run cancel request safe cancellation; ownerless work becomes ambiguous",
40
+ " run stop alias for `run cancel`",
41
+ " job cancel request cancellation for one job in one run",
33
42
  " api path print the bundled API module path",
34
43
  " config path print the routing configuration file in effect",
35
44
  " help print this text",
36
45
  " version print the CueLine version",
37
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
+ "",
38
65
  "flags:",
39
66
  " -h, --help same as `cueline help`",
40
67
  " -v, --version same as `cueline version`",
@@ -48,8 +75,14 @@ function help() {
48
75
  " 1 the command ran but the surface is degraded or unreadable",
49
76
  " 2 the arguments were not understood",
50
77
  "",
51
- "These commands only diagnose the local installation. A live run is driven",
52
- "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.",
53
86
  ].join("\n");
54
87
  }
55
88
  function errorMessage(error) {
@@ -77,6 +110,77 @@ async function routingCommand(environment, io) {
77
110
  }
78
111
  return available > 0 ? 0 : 1;
79
112
  }
113
+ async function readRunJobMetadata(home) {
114
+ const metadata = new Map();
115
+ let entries;
116
+ try {
117
+ entries = await readdir(path.join(home, "runs"), { withFileTypes: true });
118
+ }
119
+ catch (error) {
120
+ if (error.code === "ENOENT")
121
+ return metadata;
122
+ throw error;
123
+ }
124
+ for (const entry of entries) {
125
+ if (!entry.isDirectory())
126
+ continue;
127
+ const events = await readAuthoritativeRunEvents(home, entry.name);
128
+ for (const event of events) {
129
+ if (typeof event.payload !== "object" ||
130
+ event.payload === null ||
131
+ Array.isArray(event.payload))
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
+ });
159
+ }
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
+ });
179
+ }
180
+ }
181
+ }
182
+ return metadata;
183
+ }
80
184
  async function readJobs(home) {
81
185
  const directory = path.join(home, "jobs");
82
186
  let names;
@@ -85,8 +189,9 @@ async function readJobs(home) {
85
189
  }
86
190
  catch (error) {
87
191
  if (error.code === "ENOENT")
88
- return [];
89
- throw error;
192
+ names = [];
193
+ else
194
+ throw error;
90
195
  }
91
196
  const statuses = [];
92
197
  for (const name of names.filter((candidate) => candidate.endsWith(".json")).sort()) {
@@ -99,19 +204,97 @@ async function readJobs(home) {
99
204
  });
100
205
  }
101
206
  }
102
- return statuses.sort((left, right) => left.startedAt.localeCompare(right.startedAt));
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
+ }
213
+ const ownership = new Map();
214
+ const listed = [];
215
+ for (const persisted of statuses) {
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") {
232
+ if (status.runId === undefined) {
233
+ observedStatus = "unverified";
234
+ }
235
+ else {
236
+ let runtime = ownership.get(status.runId);
237
+ if (runtime === undefined) {
238
+ runtime = await readRuntimeLease(home, status.runId);
239
+ ownership.set(status.runId, runtime);
240
+ }
241
+ observedStatus = runtime.ownership === "active" ? "running" : "orphaned";
242
+ }
243
+ }
244
+ listed.push({
245
+ ...status,
246
+ ...(conflict ? { persistedStatus: persisted.status } : {}),
247
+ observedStatus,
248
+ });
249
+ }
250
+ return listed.sort((left, right) => left.startedAt.localeCompare(right.startedAt));
103
251
  }
104
- async function jobsCommand(environment, io) {
252
+ async function jobsCommand(json, environment, io) {
105
253
  const jobs = await readJobs(defaultCueLineHome(environment));
254
+ if (json) {
255
+ io.stdout(JSON.stringify(jobs, null, 2));
256
+ return 0;
257
+ }
106
258
  if (jobs.length === 0) {
107
259
  io.stdout("No jobs.");
108
260
  return 0;
109
261
  }
110
262
  for (const job of jobs) {
111
- io.stdout(`${job.jobId}\t${job.execution}\t${job.status}\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 ?? "")}`);
112
264
  }
113
265
  return 0;
114
266
  }
267
+ async function runStatusCommand(runId, json, environment, io) {
268
+ const status = await loadCueLineRunStatus(runId, { environment });
269
+ if (json) {
270
+ io.stdout(JSON.stringify({ version: CUELINE_VERSION, ...status }, null, 2));
271
+ return 0;
272
+ }
273
+ const controller = status.controller.responseAccepted
274
+ ? "response_accepted"
275
+ : status.controller.pendingTurns > 0
276
+ ? "response_pending"
277
+ : "no_response_accepted";
278
+ const counts = status.jobs.counts;
279
+ io.stdout(`run\t${status.runId}`);
280
+ io.stdout(`version\t${CUELINE_VERSION}`);
281
+ io.stdout(`status\t${status.status}`);
282
+ io.stdout(`executor\t${status.executor}`);
283
+ io.stdout(`phase\t${status.phase}`);
284
+ io.stdout(`runtime\t${status.runtime.ownership}${status.runtime.heartbeatAt === undefined
285
+ ? ""
286
+ : `\theartbeat=${status.runtime.heartbeatAt}\tage_ms=${status.runtime.ageMs ?? "-"}`}`);
287
+ io.stdout(`sequence\t${status.lastEventSequence}`);
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}`);
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}`);
290
+ for (const job of status.jobs.items) {
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)}`);
292
+ }
293
+ io.stdout(`cancellation\trun=${status.cancellation.runRequested ? "requested" : "none"}\tjobs=${status.cancellation.jobRequests.length}`);
294
+ io.stdout(`continue\t${status.continueAllowed ? "allowed" : "forbidden"}`);
295
+ io.stdout(`next\t${status.safeNextAction}`);
296
+ return 0;
297
+ }
115
298
  async function doctorCommand(environment, io) {
116
299
  const configPath = routingConfigPath(environment);
117
300
  const home = defaultCueLineHome(environment);
@@ -119,26 +302,30 @@ async function doctorCommand(environment, io) {
119
302
  const nodeOk = major >= 22;
120
303
  const config = await loadRoutingConfig(configPath);
121
304
  const availability = executableAvailability(environment);
122
- let availableLanes = 0;
305
+ let callerLanes = 0;
306
+ let processAvailableLanes = 0;
123
307
  for (const [lane, laneConfig] of Object.entries(config.lanes)) {
124
308
  if (!laneConfig.enabled)
125
309
  continue;
310
+ callerLanes += 1;
126
311
  try {
127
312
  resolveRoute(lane, config, availability);
128
- availableLanes += 1;
313
+ processAvailableLanes += 1;
129
314
  }
130
315
  catch {
131
316
  // Doctor reports the aggregate below; `cueline routing` shows lane details.
132
317
  }
133
318
  }
134
- const ok = nodeOk && availableLanes > 0;
319
+ const callerReady = nodeOk && callerLanes > 0;
135
320
  io.stdout(`CueLine ${CUELINE_VERSION}`);
136
- io.stdout(`status\t${ok ? "ok" : "degraded"}`);
321
+ io.stdout(`status\t${callerReady ? "ok" : "degraded"}`);
137
322
  io.stdout(`node\t${process.versions.node}\t${nodeOk ? "ok" : "requires >=22"}`);
138
323
  io.stdout(`config\t${configPath}\tvalid`);
139
324
  io.stdout(`home\t${home}`);
140
- io.stdout(`available_lanes\t${availableLanes}`);
141
- 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;
142
329
  }
143
330
  export async function main(args = process.argv.slice(2), environment = process.env, io = processIo) {
144
331
  try {
@@ -173,8 +360,106 @@ export async function main(args = process.argv.slice(2), environment = process.e
173
360
  if (args[0] === "routing" && args.length === 1) {
174
361
  return routingCommand(environment, io);
175
362
  }
176
- if (args[0] === "jobs" && args.length === 1) {
177
- return jobsCommand(environment, io);
363
+ if (args[0] === "jobs" &&
364
+ (args.length === 1 || (args.length === 2 && args[1] === "--json"))) {
365
+ return jobsCommand(args[1] === "--json", environment, io);
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
+ }
429
+ if (args[0] === "run" &&
430
+ args[1] === "status" &&
431
+ typeof args[2] === "string" &&
432
+ (args.length === 3 || (args.length === 4 && args[3] === "--json"))) {
433
+ return runStatusCommand(args[2], args[3] === "--json", environment, io);
434
+ }
435
+ if (args[0] === "run" &&
436
+ (args[1] === "cancel" || args[1] === "stop") &&
437
+ typeof args[2] === "string" &&
438
+ (args.length === 3 || (args.length === 4 && args[3] === "--json"))) {
439
+ const result = await cancelCueLineRun(args[2], {
440
+ environment,
441
+ reason: `operator requested ${args[1]} via CLI`,
442
+ });
443
+ if (args[3] === "--json")
444
+ io.stdout(JSON.stringify(result, null, 2));
445
+ else
446
+ io.stdout(`${result.runId}\t${result.outcome}\taffected_jobs=${result.affectedJobs}`);
447
+ return 0;
448
+ }
449
+ if (args[0] === "job" &&
450
+ args[1] === "cancel" &&
451
+ typeof args[2] === "string" &&
452
+ typeof args[3] === "string" &&
453
+ (args.length === 4 || (args.length === 5 && args[4] === "--json"))) {
454
+ const result = await cancelCueLineJob(args[2], args[3], {
455
+ environment,
456
+ reason: "operator requested job cancellation via CLI",
457
+ });
458
+ if (args[4] === "--json")
459
+ io.stdout(JSON.stringify(result, null, 2));
460
+ else
461
+ io.stdout(`${result.runId}\t${result.jobId}\t${result.outcome}`);
462
+ return 0;
178
463
  }
179
464
  if (args[0] === "doctor" && args.length === 1) {
180
465
  return doctorCommand(environment, io);
@@ -186,7 +471,7 @@ export async function main(args = process.argv.slice(2), environment = process.e
186
471
  }
187
472
  catch (error) {
188
473
  io.stderr(`CueLine: ${errorMessage(error)}`);
189
- return 1;
474
+ return error instanceof CueLineError && error.code === "CLI_ARGUMENTS_INVALID" ? 2 : 1;
190
475
  }
191
476
  }
192
477
  if (process.argv[1] !== undefined &&