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
package/dist/src/api.d.ts CHANGED
@@ -1,58 +1,18 @@
1
+ import type { ContinueCueLineRunOptions, StartCueLineRunOptions } from "./api-contracts.js";
1
2
  import type { BrowserAdapter } from "./browser/browser-adapter.js";
2
- import { createCodexIabAdapter, type CodexIabAdapterOptions } from "./browser/codex-iab/chatgpt-client.js";
3
+ import { createCodexIabAdapter } from "./browser/codex-iab/chatgpt-client.js";
3
4
  import { type CueLineResult } from "./core/controller-loop.js";
4
5
  import { type CueLineRunStatusSummary } from "./core/run-status.js";
5
- import { type CueLineRunState } from "./core/state-machine.js";
6
+ import type { CueLineRunState } from "./core/state-machine.js";
6
7
  import type { RoutingConfig } from "./router/types.js";
7
- export interface CueLineRuntimeOptions {
8
- browser?: BrowserAdapter;
9
- browserOptions?: Omit<CodexIabAdapterOptions, "conversationUrl">;
10
- conversationUrl?: string;
11
- routingConfig?: RoutingConfig;
12
- routingConfigPath?: string;
13
- home?: string;
14
- cwd?: string;
15
- environment?: NodeJS.ProcessEnv;
16
- defaultTimeoutMs?: number;
17
- maxRounds?: number;
18
- maxRepairAttempts?: number;
19
- now?: () => Date;
20
- signal?: AbortSignal;
21
- cancellationPollIntervalMs?: number;
22
- runTimeoutMs?: number;
23
- }
24
- export interface StartCueLineRunOptions extends CueLineRuntimeOptions {
25
- request: string;
26
- runId?: string;
27
- }
28
- export interface ContinueCueLineRunOptions extends CueLineRuntimeOptions {
29
- runId: string;
30
- reconcileRequestId?: string;
31
- abandonOtherPendingTurns?: boolean;
32
- }
33
- export interface CueLineRunCancellationResult {
34
- runId: string;
35
- outcome: "requested" | "cancelled" | "already_terminal";
36
- affectedJobs: number;
37
- }
38
- export interface CueLineJobCancellationResult {
39
- runId: string;
40
- jobId: string;
41
- outcome: "requested" | "ambiguous" | "already_terminal";
42
- }
43
8
  export declare function defaultRoutingConfigPath(): string;
44
9
  export declare function routingConfigPath(environment?: NodeJS.ProcessEnv, explicitPath?: string): string;
45
- export declare function loadCueLineRunState(runId: string, options?: Pick<CueLineRuntimeOptions, "home" | "environment">): Promise<CueLineRunState>;
46
- export declare function loadCueLineRunStatus(runId: string, options?: Pick<CueLineRuntimeOptions, "home" | "environment" | "now">): Promise<CueLineRunStatusSummary>;
47
- export declare function cancelCueLineRun(runId: string, options?: Pick<CueLineRuntimeOptions, "home" | "environment" | "now"> & {
48
- reason?: string;
49
- }): Promise<CueLineRunCancellationResult>;
50
- export declare function cancelCueLineJob(runId: string, jobId: string, options?: Pick<CueLineRuntimeOptions, "home" | "environment" | "now"> & {
51
- reason?: string;
52
- }): Promise<CueLineJobCancellationResult>;
53
10
  export declare function startCueLineRun(options: StartCueLineRunOptions): Promise<CueLineResult>;
54
11
  export declare function runCueLine(options: StartCueLineRunOptions): Promise<CueLineResult>;
55
12
  export declare function continueCueLineRun(options: ContinueCueLineRunOptions): Promise<CueLineResult>;
13
+ export { confirmManualControllerSubmission, submitCueLineCallerJobResult, } from "./api-controller-handoff.js";
14
+ export { cancelCueLineJob, cancelCueLineRun, loadCueLineRunState, loadCueLineRunStatus, reconcileCueLineRuntime, takeoverCueLineRuntime, } from "./api-runtime-lifecycle.js";
56
15
  export { createCodexIabAdapter };
57
16
  export { CUELINE_VERSION } from "./version.js";
17
+ export type { ContinueCueLineRunOptions, CueLineCallerJobResultInput, CueLineCallerJobSubmissionResult, CueLineJobCancellationResult, CueLineRunCancellationResult, CueLineRuntimeOptions, CueLineRuntimeReconciliationResult, CueLineRuntimeTakeoverResult, ManualControllerSubmissionConfirmation, StartCueLineRunOptions, } from "./api-contracts.js";
58
18
  export type { BrowserAdapter, CueLineResult, CueLineRunState, CueLineRunStatusSummary, RoutingConfig, };
package/dist/src/api.js CHANGED
@@ -1,23 +1,23 @@
1
1
  import { fileURLToPath } from "node:url";
2
- import { createCodexIabAdapter, } from "./browser/codex-iab/chatgpt-client.js";
3
- import { continueControllerLoop, runControllerLoop, } from "./core/controller-loop.js";
2
+ import { confirmManualControllerSubmission } from "./api-controller-handoff.js";
3
+ import { isTerminalRun, reconcileCueLineRuntime, terminalResult, } from "./api-runtime-lifecycle.js";
4
+ import { createCodexIabAdapter } from "./browser/codex-iab/chatgpt-client.js";
5
+ import { continueControllerLoop, createControllerRun, runControllerLoop, } from "./core/controller-loop.js";
4
6
  import { CueLineError } from "./core/errors.js";
7
+ import { loadPersistedRunState, loadPersistedRunStore, } from "./core/persisted-run.js";
5
8
  import { runtimeCwd, runtimeEnvironment } from "./core/runtime.js";
6
- import { acceptedControllerCommandEvidence, assertRunCanContinue, summarizeCueLineRunState, } from "./core/run-status.js";
7
- import { initialRunState, reduceRunState, } from "./core/state-machine.js";
9
+ import { assertRunCanContinue, } from "./core/run-status.js";
8
10
  import { JobStatusStore } from "./jobs/status.js";
9
11
  import { JobSupervisor } from "./jobs/supervisor.js";
10
12
  import { executableAvailability } from "./router/availability.js";
11
13
  import { loadRoutingConfig } from "./router/config-loader.js";
12
14
  import { materializeRunnerSpec } from "./router/materialize.js";
13
- import { resolveRoute } from "./router/resolver.js";
15
+ import { resolveRoute, validateRouteReference } from "./router/resolver.js";
14
16
  import { ProcessRunner } from "./runners/process-runner.js";
15
17
  import { RunnerRegistry } from "./runners/registry.js";
16
- import { readCancellationObservation, requestJobCancellation, requestRunCancellation, } from "./state/cancellation.js";
17
- import { readEvents } from "./state/event-log.js";
18
- import { defaultCueLineHome, runPaths } from "./state/paths.js";
19
- import { readRuntimeLease } from "./state/runtime-lease.js";
20
- import { RunStore } from "./state/store.js";
18
+ import { readCancellationObservation } from "./state/cancellation.js";
19
+ import { defaultCueLineHome } from "./state/paths.js";
20
+ import { readRuntimeLease, retireDeadRuntimeLease, RuntimeLease, } from "./state/runtime-lease.js";
21
21
  function assertNotNested(environment) {
22
22
  if (environment.CUELINE_DEPTH !== undefined) {
23
23
  throw new CueLineError("NESTED_ROUTING_REJECTED", "nested CueLine routing is not allowed");
@@ -29,120 +29,14 @@ export function defaultRoutingConfigPath() {
29
29
  export function routingConfigPath(environment = runtimeEnvironment(), explicitPath) {
30
30
  return explicitPath ?? environment.CUELINE_CONFIG ?? defaultRoutingConfigPath();
31
31
  }
32
- async function persistedRunStore(home, runId) {
33
- const store = await RunStore.load({
34
- home,
35
- runId,
36
- initialState: initialRunState(runId, ""),
37
- reducer: reduceRunState,
38
- });
39
- const state = store.state;
40
- if (state.request === "") {
41
- throw new CueLineError("RUN_NOT_FOUND", `No persisted CueLine run '${runId}' was found.`);
42
- }
43
- return store;
44
- }
45
- async function persistedRunState(home, runId) {
46
- return (await persistedRunStore(home, runId)).state;
47
- }
48
- function terminalResult(state) {
49
- if (state.status !== "complete" &&
50
- state.status !== "blocked" &&
51
- state.status !== "cancelled") {
52
- throw new CueLineError("RUN_NOT_TERMINAL", "CueLine result requested before a terminal state.");
53
- }
54
- return {
55
- runId: state.runId,
56
- status: state.status,
57
- ...(state.finalDeliveryText === null ? {} : { finalDeliveryText: state.finalDeliveryText }),
58
- ...(state.conversationUrl === null ? {} : { conversationUrl: state.conversationUrl }),
59
- ...(state.cancelledReason === null ? {} : { cancelledReason: state.cancelledReason }),
60
- state,
61
- };
62
- }
63
- export async function loadCueLineRunState(runId, options = {}) {
64
- const environment = options.environment ?? runtimeEnvironment();
65
- return persistedRunState(options.home ?? defaultCueLineHome(environment), runId);
66
- }
67
- export async function loadCueLineRunStatus(runId, options = {}) {
68
- const environment = options.environment ?? runtimeEnvironment();
69
- const home = options.home ?? defaultCueLineHome(environment);
70
- const store = await persistedRunStore(home, runId);
71
- const runtime = await readRuntimeLease(home, runId, {
72
- ...(options.now === undefined ? {} : { now: options.now }),
73
- });
74
- const cancellation = await readCancellationObservation(home, runId);
75
- const acceptedCommand = acceptedControllerCommandEvidence(await readEvents(runPaths(home, runId).events));
76
- return summarizeCueLineRunState(store.state, store.lastSequence, runtime, cancellation, acceptedCommand);
77
- }
78
- function isTerminalRun(state) {
79
- return (state.status === "complete" || state.status === "blocked" || state.status === "cancelled");
80
- }
81
- export async function cancelCueLineRun(runId, options = {}) {
82
- const environment = options.environment ?? runtimeEnvironment();
83
- const home = options.home ?? defaultCueLineHome(environment);
84
- const store = await persistedRunStore(home, runId);
85
- if (isTerminalRun(store.state)) {
86
- return { runId, outcome: "already_terminal", affectedJobs: 0 };
87
- }
88
- const reason = options.reason ?? "operator requested cancellation";
89
- await requestRunCancellation(home, runId, reason, options.now);
90
- const runtime = await readRuntimeLease(home, runId, {
91
- ...(options.now === undefined ? {} : { now: options.now }),
92
- });
93
- if (runtime.ownership === "active" ||
94
- runtime.ownership === "stale" ||
95
- runtime.ownership === "invalid") {
96
- return { runId, outcome: "requested", affectedJobs: 0 };
32
+ function normalizedConversationUrl(value) {
33
+ try {
34
+ const parsed = new URL(value);
35
+ return `${parsed.origin}${parsed.pathname}`;
97
36
  }
98
- const active = Object.values(store.state.jobs).filter((job) => job.status === "pending" || job.status === "running");
99
- for (const job of active) {
100
- await store.append("job_status", {
101
- job_id: job.jobId,
102
- status: "ambiguous",
103
- error: "Run cancelled without a verifiable active runtime; process outcome is unknown.",
104
- });
105
- }
106
- await store.append("run_cancelled", { reason });
107
- await store.snapshot();
108
- return { runId, outcome: "cancelled", affectedJobs: active.length };
109
- }
110
- export async function cancelCueLineJob(runId, jobId, options = {}) {
111
- const environment = options.environment ?? runtimeEnvironment();
112
- const home = options.home ?? defaultCueLineHome(environment);
113
- const store = await persistedRunStore(home, runId);
114
- const job = store.state.jobs[jobId];
115
- if (job === undefined) {
116
- throw new CueLineError("JOB_NOT_FOUND", `No job '${jobId}' exists in run '${runId}'.`);
117
- }
118
- if (isTerminalRun(store.state) ||
119
- (job.status !== "pending" && job.status !== "running")) {
120
- return { runId, jobId, outcome: "already_terminal" };
121
- }
122
- const reason = options.reason ?? "operator requested job cancellation";
123
- await requestJobCancellation(home, runId, jobId, reason, options.now);
124
- const runtime = await readRuntimeLease(home, runId, {
125
- ...(options.now === undefined ? {} : { now: options.now }),
126
- });
127
- if (runtime.ownership === "active" ||
128
- runtime.ownership === "stale" ||
129
- runtime.ownership === "invalid") {
130
- return { runId, jobId, outcome: "requested" };
131
- }
132
- await store.append("job_status", {
133
- job_id: jobId,
134
- status: "ambiguous",
135
- error: "Job cancelled without a verifiable active runtime; process outcome is unknown.",
136
- });
137
- if (store.state.status === "running") {
138
- await store.append("run_failed", {
139
- code: "JOB_CANCELLED_WITHOUT_ACTIVE_RUNTIME",
140
- message: `Job '${jobId}' was marked ambiguous because no active owner could confirm termination.`,
141
- stage: "job_cancellation",
142
- });
37
+ catch {
38
+ return value;
143
39
  }
144
- await store.snapshot();
145
- return { runId, jobId, outcome: "ambiguous" };
146
40
  }
147
41
  async function resolvedRoutingConfig(options, environment) {
148
42
  return (options.routingConfig ??
@@ -159,7 +53,13 @@ function registryFor(config) {
159
53
  }
160
54
  return new RunnerRegistry([...executables].map((executable) => ({ id: executable, executable })));
161
55
  }
162
- function routingInstruction(config, availability) {
56
+ function routingInstruction(config, availability, executor) {
57
+ if (executor === "caller") {
58
+ const lanes = Object.entries(config.lanes)
59
+ .filter(([, lane]) => lane.enabled)
60
+ .map(([name]) => name);
61
+ return `Caller execution lanes: ${lanes.join(", ")}. Use only a listed lane with mode advise. The current Codex executes each task after handoff; do not select runner or runner_id.`;
62
+ }
163
63
  const lanes = Object.entries(config.lanes)
164
64
  .filter(([, lane]) => lane.enabled)
165
65
  .map(([name, lane]) => {
@@ -170,7 +70,7 @@ function routingInstruction(config, availability) {
170
70
  });
171
71
  return `Available routing lanes: ${lanes.join("; ")}. Use only a listed lane. Select an optional candidate with the field runner; never use runner_id or place a runner ID in lane.`;
172
72
  }
173
- async function prepareRuntime(options, persistedConversationUrl) {
73
+ async function prepareRuntime(options, persistedConversationUrl, persistedExecutor) {
174
74
  const environment = options.environment ?? runtimeEnvironment();
175
75
  const home = options.home ?? defaultCueLineHome(environment);
176
76
  const cwd = options.cwd ?? runtimeCwd();
@@ -190,6 +90,9 @@ async function prepareRuntime(options, persistedConversationUrl) {
190
90
  return {
191
91
  browser,
192
92
  jobSupervisor,
93
+ validateJobSpec(job) {
94
+ validateRouteReference(job.lane, config, job.runner);
95
+ },
193
96
  resolveRunnerSpec(jobId, job) {
194
97
  const route = resolveRoute(job.lane, config, availability, job.runner);
195
98
  return materializeRunnerSpec(jobId, job, route, {
@@ -199,18 +102,33 @@ async function prepareRuntime(options, persistedConversationUrl) {
199
102
  : { timeoutMs: options.defaultTimeoutMs }),
200
103
  });
201
104
  },
202
- controllerInstructions: [routingInstruction(config, availability)],
105
+ controllerInstructions: [
106
+ routingInstruction(config, availability, persistedExecutor ?? options.executor ?? "caller"),
107
+ ],
203
108
  ...(conversationUrl === undefined ? {} : { conversationUrl }),
204
109
  home,
205
110
  };
206
111
  }
207
112
  export async function startCueLineRun(options) {
113
+ assertNotNested(options.environment ?? runtimeEnvironment());
114
+ return createControllerRun({
115
+ request: options.request,
116
+ ...(options.runId === undefined ? {} : { runId: options.runId }),
117
+ home: options.home ?? defaultCueLineHome(options.environment ?? runtimeEnvironment()),
118
+ executor: options.executor ?? "caller",
119
+ ...(options.maxRounds === undefined ? {} : { maxRounds: options.maxRounds }),
120
+ ...(options.now === undefined ? {} : { now: options.now }),
121
+ });
122
+ }
123
+ export async function runCueLine(options) {
208
124
  assertNotNested(options.environment ?? runtimeEnvironment());
209
125
  const runtime = await prepareRuntime(options);
210
126
  return runControllerLoop({
211
127
  request: options.request,
212
128
  ...(options.runId === undefined ? {} : { runId: options.runId }),
213
129
  ...runtime,
130
+ executor: options.executor ?? "caller",
131
+ returnAfterControllerSubmission: (options.executor ?? "caller") === "caller",
214
132
  ...(options.maxRounds === undefined ? {} : { maxRounds: options.maxRounds }),
215
133
  ...(options.maxRepairAttempts === undefined
216
134
  ? {}
@@ -221,26 +139,92 @@ export async function startCueLineRun(options) {
221
139
  ? {}
222
140
  : { cancellationPollIntervalMs: options.cancellationPollIntervalMs }),
223
141
  ...(options.runTimeoutMs === undefined ? {} : { runTimeoutMs: options.runTimeoutMs }),
142
+ ...(options.maxConcurrency === undefined
143
+ ? {}
144
+ : { maxConcurrency: options.maxConcurrency }),
145
+ ...(options.laneConcurrency === undefined
146
+ ? {}
147
+ : { laneConcurrency: options.laneConcurrency }),
224
148
  });
225
149
  }
226
- export async function runCueLine(options) {
227
- return startCueLineRun(options);
228
- }
229
150
  export async function continueCueLineRun(options) {
230
151
  const environment = options.environment ?? runtimeEnvironment();
231
152
  const home = options.home ?? defaultCueLineHome(environment);
232
- const state = await persistedRunState(home, options.runId);
153
+ if (options.manualSendConfirmed === true) {
154
+ if (options.reconcileRequestId === undefined) {
155
+ throw new CueLineError("CONTROLLER_RECONCILIATION_REQUEST_REQUIRED", "manualSendConfirmed requires the exact reconcileRequestId.");
156
+ }
157
+ await confirmManualControllerSubmission(options.runId, {
158
+ home,
159
+ requestId: options.reconcileRequestId,
160
+ ...(options.conversationUrl === undefined
161
+ ? {}
162
+ : { conversationUrl: options.conversationUrl }),
163
+ });
164
+ }
165
+ let state = await loadPersistedRunState(home, options.runId);
166
+ if (options.conversationUrl !== undefined &&
167
+ state.conversationUrl !== null &&
168
+ normalizedConversationUrl(options.conversationUrl) !==
169
+ normalizedConversationUrl(state.conversationUrl)) {
170
+ throw new CueLineError("CONTROLLER_RECONCILIATION_CONVERSATION_MISMATCH", `Run '${options.runId}' is already bound to a different ChatGPT conversation.`);
171
+ }
233
172
  if (isTerminalRun(state)) {
234
173
  return terminalResult(state);
235
174
  }
236
- assertRunCanContinue(state, await readRuntimeLease(home, options.runId, {
175
+ let runtime = await readRuntimeLease(home, options.runId, {
237
176
  ...(options.now === undefined ? {} : { now: options.now }),
238
- }), await readCancellationObservation(home, options.runId));
177
+ });
178
+ if ((runtime.ownership === "active" || runtime.ownership === "stale") &&
179
+ runtime.ownerId !== undefined &&
180
+ (await retireDeadRuntimeLease(home, options.runId, runtime.ownerId))) {
181
+ const recoveryLease = await RuntimeLease.claim({
182
+ home,
183
+ runId: options.runId,
184
+ ...(options.now === undefined ? {} : { now: options.now }),
185
+ });
186
+ try {
187
+ const recoveryStore = await loadPersistedRunStore(home, options.runId);
188
+ recoveryStore.bindRuntimeOwner(recoveryLease.ownerId);
189
+ await recoveryStore.append("runtime_dead_owner_retired", {
190
+ owner_id: runtime.ownerId,
191
+ previous_ownership: runtime.ownership,
192
+ });
193
+ await recoveryStore.snapshot();
194
+ state = recoveryStore.state;
195
+ }
196
+ finally {
197
+ await recoveryLease.release();
198
+ }
199
+ runtime = await readRuntimeLease(home, options.runId, {
200
+ ...(options.now === undefined ? {} : { now: options.now }),
201
+ });
202
+ }
203
+ const hasActiveJobs = Object.values(state.jobs).some((job) => job.status === "pending" || job.status === "running");
204
+ if (state.executor === "process" && runtime.ownership !== "active" && hasActiveJobs) {
205
+ const reconciled = await reconcileCueLineRuntime(options.runId, {
206
+ home,
207
+ ...(options.now === undefined ? {} : { now: options.now }),
208
+ });
209
+ if (reconciled.outcome === "processes_alive") {
210
+ throw new CueLineError("RUNTIME_WORKERS_STILL_ALIVE", `Run '${options.runId}' has ownerless worker processes still alive; refusing takeover.`, { details: { job_ids: reconciled.survivingJobs } });
211
+ }
212
+ state = await loadPersistedRunState(home, options.runId);
213
+ runtime = await readRuntimeLease(home, options.runId, {
214
+ ...(options.now === undefined ? {} : { now: options.now }),
215
+ });
216
+ }
217
+ assertRunCanContinue(state, runtime, await readCancellationObservation(home, options.runId));
239
218
  assertNotNested(environment);
240
- const runtime = await prepareRuntime(options, state.conversationUrl ?? undefined);
219
+ if (options.executor !== undefined && options.executor !== state.executor) {
220
+ throw new CueLineError("RUN_EXECUTOR_MISMATCH", `Run '${options.runId}' uses executor '${state.executor}', not '${options.executor}'.`);
221
+ }
222
+ const preparedRuntime = await prepareRuntime(options, state.conversationUrl ?? undefined, state.executor);
241
223
  return continueControllerLoop({
242
224
  runId: options.runId,
243
- ...runtime,
225
+ ...preparedRuntime,
226
+ executor: state.executor,
227
+ returnAfterControllerSubmission: state.executor === "caller",
244
228
  ...(options.reconcileRequestId === undefined
245
229
  ? {}
246
230
  : { reconcileRequestId: options.reconcileRequestId }),
@@ -257,8 +241,16 @@ export async function continueCueLineRun(options) {
257
241
  ? {}
258
242
  : { cancellationPollIntervalMs: options.cancellationPollIntervalMs }),
259
243
  ...(options.runTimeoutMs === undefined ? {} : { runTimeoutMs: options.runTimeoutMs }),
244
+ ...(options.maxConcurrency === undefined
245
+ ? {}
246
+ : { maxConcurrency: options.maxConcurrency }),
247
+ ...(options.laneConcurrency === undefined
248
+ ? {}
249
+ : { laneConcurrency: options.laneConcurrency }),
260
250
  });
261
251
  }
252
+ export { confirmManualControllerSubmission, submitCueLineCallerJobResult, } from "./api-controller-handoff.js";
253
+ export { cancelCueLineJob, cancelCueLineRun, loadCueLineRunState, loadCueLineRunStatus, reconcileCueLineRuntime, takeoverCueLineRuntime, } from "./api-runtime-lifecycle.js";
262
254
  export { createCodexIabAdapter };
263
255
  export { CUELINE_VERSION } from "./version.js";
264
256
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,9 @@ export interface BrowserTurnInput {
4
4
  requestId: string;
5
5
  prompt: string;
6
6
  repairAttempt?: number;
7
+ manualSendConfirmed?: boolean;
8
+ attachmentPromptExpected?: boolean;
9
+ baselineAssistantMessageCount?: number;
7
10
  signal?: AbortSignal;
8
11
  }
9
12
  export interface ControllerTurn {
@@ -18,9 +21,11 @@ export interface ControllerModelEvidence {
18
21
  responseModelSlug: string;
19
22
  source: "composer_and_response";
20
23
  }
21
- export type ControllerSubmissionState = "possibly_sent" | "submitted";
24
+ export type ControllerSubmissionState = "submitting" | "possibly_sent" | "submitted";
25
+ export type ComposerPromptState = "inline_ready" | "attachment_ready";
22
26
  export interface BrowserTurnCheckpoint {
23
27
  submissionState: ControllerSubmissionState;
28
+ composerPromptState: ComposerPromptState;
24
29
  conversationUrl?: string;
25
30
  selectedModelLabel: string;
26
31
  baselineAssistantMessageCount: number;
@@ -29,6 +34,10 @@ export interface BrowserTurnHooks {
29
34
  onCheckpoint?: (checkpoint: BrowserTurnCheckpoint) => Promise<void>;
30
35
  }
31
36
  export interface BrowserAdapter {
37
+ /** Submit durably and return after the submitted checkpoint, without waiting for Pro. */
38
+ submitTurn?(input: BrowserTurnInput, hooks?: BrowserTurnHooks): Promise<void>;
39
+ /** Observe the exact submitted turn once; undefined means Pro is not finished yet. */
40
+ observeTurn?(input: BrowserTurnInput): Promise<ControllerTurn | undefined>;
32
41
  sendTurn(input: BrowserTurnInput, hooks?: BrowserTurnHooks): Promise<ControllerTurn>;
33
42
  recoverTurn?(input: BrowserTurnInput): Promise<ControllerTurn>;
34
43
  }
@@ -1,4 +1,7 @@
1
+ import type { ComposerPromptState } from "../browser-adapter.js";
1
2
  export interface PageChatState {
3
+ /** URL captured in the same DOM evaluation as the response evidence. */
4
+ pageUrl: string;
2
5
  isAnswering: boolean;
3
6
  assistantText: string;
4
7
  assistantMessageCount: number;
@@ -6,6 +9,12 @@ export interface PageChatState {
6
9
  lastUserText: string | null;
7
10
  lastMessageRole: "assistant" | "user" | null;
8
11
  }
12
+ export interface PageComposerState {
13
+ state: ComposerPromptState | "empty";
14
+ inlineTextLength: number;
15
+ attachmentCount: number;
16
+ sendButtonEnabled: boolean;
17
+ }
9
18
  export interface IabLocator {
10
19
  count(): Promise<number>;
11
20
  fill(value: string, options?: Record<string, unknown>): Promise<void>;
@@ -72,4 +81,5 @@ declare global {
72
81
  }
73
82
  export declare function resolveIabBrowser(requested?: IabBrowser): Promise<IabBrowser>;
74
83
  export declare function readPageChatState(tab: IabTab): Promise<PageChatState>;
84
+ export declare function readPageComposerState(tab: IabTab, expectedPrompt: string, sendButtonNames: readonly string[]): Promise<PageComposerState>;
75
85
  export {};
@@ -48,6 +48,7 @@ export async function readPageChatState(tab) {
48
48
  const lastRole = messages.at(-1)?.getAttribute("data-message-author-role");
49
49
  const lastMessageRole = lastRole === "assistant" || lastRole === "user" ? lastRole : null;
50
50
  return {
51
+ pageUrl: window.location.href,
51
52
  isAnswering,
52
53
  assistantText,
53
54
  assistantMessageCount: assistantMessages.length,
@@ -57,4 +58,52 @@ export async function readPageChatState(tab) {
57
58
  };
58
59
  });
59
60
  }
61
+ export async function readPageComposerState(tab, expectedPrompt, sendButtonNames) {
62
+ return tab.playwright.evaluate(({ composerProbe: _composerProbe, expectedPrompt, sendButtonNames }) => {
63
+ const normalize = (value) => String(value ?? "")
64
+ .replace(/\u00a0/g, " ")
65
+ .replace(/\r\n/g, "\n")
66
+ .trim();
67
+ const composer = document.querySelector('#prompt-textarea[contenteditable="true"]');
68
+ const inlineText = normalize(composer && "innerText" in composer
69
+ ? composer.innerText
70
+ : composer?.textContent);
71
+ const expected = normalize(expectedPrompt);
72
+ const root = composer?.closest("form") ?? composer?.parentElement?.parentElement ?? document;
73
+ const attachmentElements = new Set();
74
+ for (const element of Array.from(root.querySelectorAll('[data-testid="file-upload-preview"], [data-testid*="attachment"][data-testid*="preview"], [data-testid*="file"][data-testid*="preview"], [class*="attachment"][class*="pill"], [class*="file"][class*="pill"], button[aria-label]'))) {
75
+ const label = normalize(element.getAttribute("aria-label"));
76
+ const testId = normalize(element.getAttribute("data-testid"));
77
+ const classes = normalize(element.getAttribute("class"));
78
+ const isAttachment = /(?:remove|delete).*(?:file|attachment)|(?:file|attachment).*(?:remove|delete)|移除.*(?:檔案|附件)|刪除.*(?:檔案|附件)/i.test(label) ||
79
+ /(?:file-upload-preview|attachment.*preview|file.*preview)/i.test(testId) ||
80
+ /(?:attachment|file).*(?:pill|chip)|(?:pill|chip).*(?:attachment|file)/i.test(classes);
81
+ if (isAttachment)
82
+ attachmentElements.add(element);
83
+ }
84
+ const sendButtonEnabled = Array.from(root.querySelectorAll("button")).some((element) => {
85
+ const button = element;
86
+ const label = normalize(button.getAttribute("aria-label") ?? button.innerText ?? button.textContent);
87
+ return (sendButtonNames.includes(label) &&
88
+ !button.disabled &&
89
+ button.getAttribute("aria-disabled") !== "true");
90
+ });
91
+ const attachmentCount = attachmentElements.size;
92
+ const state = inlineText !== "" && inlineText === expected
93
+ ? "inline_ready"
94
+ : attachmentCount > 0
95
+ ? "attachment_ready"
96
+ : "empty";
97
+ return {
98
+ state,
99
+ inlineTextLength: inlineText.length,
100
+ attachmentCount,
101
+ sendButtonEnabled,
102
+ };
103
+ }, {
104
+ composerProbe: true,
105
+ expectedPrompt,
106
+ sendButtonNames: [...sendButtonNames],
107
+ });
108
+ }
60
109
  //# sourceMappingURL=bootstrap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../../src/browser/codex-iab/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../../src/browser/codex-iab/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAmFpD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAAsB;IAC5D,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;QACnB,MAAM,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC;QACvC,OAAO,UAAU,CAAC,GAAG,CAAC;IACxB,CAAC;IACD,IAAI,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;QAChC,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC;QACzB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,YAAY,CACpB,qBAAqB,EACrB,6IAA6I,CAC9I,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW;IACjD,OAAO,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1C,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;iBAClE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,GAAG,CAAC;iBACT,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;iBACpB,IAAI,EAAE,CAAC;YACV,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,2CAA2C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACrF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CACvC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,KAAK,WAAW,CAC9E,CAAC;QACF,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAClC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,KAAK,MAAM,CACzE,CAAC;QACF,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,WAAW,GACf,IAAI,KAAK,SAAS,IAAI,WAAW,IAAI,IAAI;YACvC,CAAC,CAAC,MAAM,CAAE,IAAyC,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;YACxF,CAAC,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,WAAW;aAC9B,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;aACvB,IAAI,EAAE,CAAC;QACV,MAAM,kBAAkB,GAAG,IAAI,EAAE,YAAY,CAAC,yBAAyB,CAAC,IAAI,IAAI,CAAC;QACjF,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,mBAAmB,GACvB,QAAQ,KAAK,SAAS,IAAI,WAAW,IAAI,QAAQ;YAC/C,CAAC,CAAC,MAAM,CACH,QAA6C,CAAC,SAAS;gBACtD,QAAQ,CAAC,WAAW;gBACpB,EAAE,CACL;YACH,CAAC,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE,CAAC;QAClC,MAAM,YAAY,GAChB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrF,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,0BAA0B,CAAC,CAAC;QAC3E,MAAM,eAAe,GACnB,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;YAC7B,WAAW;YACX,aAAa;YACb,qBAAqB,EAAE,iBAAiB,CAAC,MAAM;YAC/C,kBAAkB;YAClB,YAAY;YACZ,eAAe;SAChB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAW,EACX,cAAsB,EACtB,eAAkC;IAElC,OAAO,GAAG,CAAC,UAAU,CAAC,QAAQ,CAC5B,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE,EAAE;QACrE,MAAM,SAAS,GAAG,CAAC,KAAc,EAAU,EAAE,CAC3C,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;aAChB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;aACvB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;aACtB,IAAI,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;QACpF,MAAM,UAAU,GAAG,SAAS,CAC1B,QAAQ,IAAI,WAAW,IAAI,QAAQ;YACjC,CAAC,CAAE,QAAwB,CAAC,SAAS;YACrC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAC1B,CAAC;QACF,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,QAAQ,EAAE,aAAa,EAAE,aAAa,IAAI,QAAQ,CAAC;QAC7F,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAW,CAAC;QAC9C,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAC9B,IAAI,CAAC,gBAAgB,CACnB,mOAAmO,CACpO,CACF,EAAE,CAAC;YACF,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YACzD,MAAM,YAAY,GAChB,4GAA4G,CAAC,IAAI,CAC/G,KAAK,CACN;gBACD,4DAA4D,CAAC,IAAI,CAAC,MAAM,CAAC;gBACzE,wEAAwE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzF,IAAI,YAAY;gBAAE,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACrF,MAAM,MAAM,GAAG,OAA4B,CAAC;YAC5C,MAAM,KAAK,GAAG,SAAS,CACrB,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,CAC5E,CAAC;YACF,OAAO,CACL,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC/B,CAAC,MAAM,CAAC,QAAQ;gBAChB,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM,CAChD,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC;QAChD,MAAM,KAAK,GACT,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,QAAQ;YAC1C,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,eAAe,GAAG,CAAC;gBACnB,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,OAAO,CAAC;QAChB,OAAO;YACL,KAAK;YACL,gBAAgB,EAAE,UAAU,CAAC,MAAM;YACnC,eAAe;YACf,iBAAiB;SAClB,CAAC;IACJ,CAAC,EACD;QACE,aAAa,EAAE,IAAI;QACnB,cAAc;QACd,eAAe,EAAE,CAAC,GAAG,eAAe,CAAC;KACtC,CACF,CAAC;AACJ,CAAC"}