cueline 0.1.6 → 0.1.7
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.
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/CHANGELOG.md +27 -0
- package/README.ja.md +29 -7
- package/README.ko.md +29 -7
- package/README.md +78 -11
- package/README.zh-CN.md +29 -7
- package/README.zh-TW.md +36 -8
- package/config/routing.schema.json +3 -0
- package/dist/src/api-caller-work.js +58 -14
- package/dist/src/api-caller-work.js.map +1 -1
- package/dist/src/api-contracts.d.ts +49 -0
- package/dist/src/api-controller-handoff.js +30 -38
- package/dist/src/api-controller-handoff.js.map +1 -1
- package/dist/src/api-run-verification.d.ts +3 -0
- package/dist/src/api-run-verification.js +174 -0
- package/dist/src/api-run-verification.js.map +1 -0
- package/dist/src/api-runtime-lifecycle.d.ts +6 -1
- package/dist/src/api-runtime-lifecycle.js +97 -8
- package/dist/src/api-runtime-lifecycle.js.map +1 -1
- package/dist/src/api.d.ts +17 -3
- package/dist/src/api.js +105 -38
- package/dist/src/api.js.map +1 -1
- package/dist/src/browser/browser-adapter.d.ts +15 -0
- package/dist/src/browser/codex-iab/bootstrap.d.ts +20 -0
- package/dist/src/browser/codex-iab/bootstrap.js +173 -9
- package/dist/src/browser/codex-iab/bootstrap.js.map +1 -1
- package/dist/src/browser/codex-iab/chatgpt-client.d.ts +3 -0
- package/dist/src/browser/codex-iab/chatgpt-client.js +115 -57
- package/dist/src/browser/codex-iab/chatgpt-client.js.map +1 -1
- package/dist/src/browser/codex-iab/probe.d.ts +36 -0
- package/dist/src/browser/codex-iab/probe.js +217 -0
- package/dist/src/browser/codex-iab/probe.js.map +1 -0
- package/dist/src/browser/codex-iab/recovery-evidence.d.ts +1 -1
- package/dist/src/browser/codex-iab/recovery-evidence.js +7 -10
- package/dist/src/browser/codex-iab/recovery-evidence.js.map +1 -1
- package/dist/src/browser/codex-iab/selectors.d.ts +1 -0
- package/dist/src/browser/codex-iab/selectors.js +1 -0
- package/dist/src/browser/codex-iab/selectors.js.map +1 -1
- package/dist/src/browser/codex-iab/send-button.d.ts +5 -0
- package/dist/src/browser/codex-iab/send-button.js +62 -0
- package/dist/src/browser/codex-iab/send-button.js.map +1 -0
- package/dist/src/browser/codex-iab/submission-url.js +6 -15
- package/dist/src/browser/codex-iab/submission-url.js.map +1 -1
- package/dist/src/browser/codex-iab/tab-discovery.js +45 -12
- package/dist/src/browser/codex-iab/tab-discovery.js.map +1 -1
- package/dist/src/browser/codex-iab/timing-options.d.ts +1 -0
- package/dist/src/browser/codex-iab/timing-options.js +5 -0
- package/dist/src/browser/codex-iab/timing-options.js.map +1 -0
- package/dist/src/cli/health-commands.d.ts +2 -0
- package/dist/src/cli/health-commands.js +191 -0
- package/dist/src/cli/health-commands.js.map +1 -0
- package/dist/src/cli/io.d.ts +4 -0
- package/dist/src/cli/io.js +2 -0
- package/dist/src/cli/io.js.map +1 -0
- package/dist/src/cli/main.d.ts +1 -5
- package/dist/src/cli/main.js +159 -77
- package/dist/src/cli/main.js.map +1 -1
- package/dist/src/cli/observation-commands.d.ts +2 -0
- package/dist/src/cli/observation-commands.js +239 -0
- package/dist/src/cli/observation-commands.js.map +1 -0
- package/dist/src/cli/run-status-view.d.ts +79 -0
- package/dist/src/cli/run-status-view.js +112 -0
- package/dist/src/cli/run-status-view.js.map +1 -0
- package/dist/src/core/controller-command-execution.d.ts +2 -2
- package/dist/src/core/controller-command-execution.js +82 -16
- package/dist/src/core/controller-command-execution.js.map +1 -1
- package/dist/src/core/controller-conversation-archive.d.ts +11 -0
- package/dist/src/core/controller-conversation-archive.js +109 -0
- package/dist/src/core/controller-conversation-archive.js.map +1 -0
- package/dist/src/core/controller-loop.d.ts +7 -1
- package/dist/src/core/controller-loop.js +114 -23
- package/dist/src/core/controller-loop.js.map +1 -1
- package/dist/src/core/controller-turn.d.ts +14 -2
- package/dist/src/core/controller-turn.js +109 -40
- package/dist/src/core/controller-turn.js.map +1 -1
- package/dist/src/core/controller-types.d.ts +2 -0
- package/dist/src/core/conversation-url.d.ts +3 -0
- package/dist/src/core/conversation-url.js +34 -0
- package/dist/src/core/conversation-url.js.map +1 -0
- package/dist/src/core/run-status.d.ts +9 -2
- package/dist/src/core/run-status.js +38 -25
- package/dist/src/core/run-status.js.map +1 -1
- package/dist/src/core/state-machine.d.ts +21 -1
- package/dist/src/core/state-machine.js +138 -13
- package/dist/src/core/state-machine.js.map +1 -1
- package/dist/src/core/timing.d.ts +9 -0
- package/dist/src/core/timing.js +22 -0
- package/dist/src/core/timing.js.map +1 -0
- package/dist/src/diagnostics/run-doctor.d.ts +22 -0
- package/dist/src/diagnostics/run-doctor.js +197 -0
- package/dist/src/diagnostics/run-doctor.js.map +1 -0
- package/dist/src/jobs/status.d.ts +5 -2
- package/dist/src/jobs/status.js +172 -12
- package/dist/src/jobs/status.js.map +1 -1
- package/dist/src/jobs/supervisor.js +57 -8
- package/dist/src/jobs/supervisor.js.map +1 -1
- package/dist/src/observation/run-handoff.d.ts +86 -0
- package/dist/src/observation/run-handoff.js +309 -0
- package/dist/src/observation/run-handoff.js.map +1 -0
- package/dist/src/observation/run-timeline.d.ts +32 -0
- package/dist/src/observation/run-timeline.js +278 -0
- package/dist/src/observation/run-timeline.js.map +1 -0
- package/dist/src/observation/run-watch.d.ts +15 -0
- package/dist/src/observation/run-watch.js +82 -0
- package/dist/src/observation/run-watch.js.map +1 -0
- package/dist/src/protocol/limits.d.ts +3 -0
- package/dist/src/protocol/limits.js +4 -0
- package/dist/src/protocol/limits.js.map +1 -0
- package/dist/src/protocol/lint-command.d.ts +24 -0
- package/dist/src/protocol/lint-command.js +210 -0
- package/dist/src/protocol/lint-command.js.map +1 -0
- package/dist/src/protocol/parse-command.js +4 -0
- package/dist/src/protocol/parse-command.js.map +1 -1
- package/dist/src/protocol/types.d.ts +12 -0
- package/dist/src/protocol/validate-command.js +76 -3
- package/dist/src/protocol/validate-command.js.map +1 -1
- package/dist/src/router/config-loader.js +23 -2
- package/dist/src/router/config-loader.js.map +1 -1
- package/dist/src/router/resolver.js +8 -3
- package/dist/src/router/resolver.js.map +1 -1
- package/dist/src/runners/process-runner.js +55 -12
- package/dist/src/runners/process-runner.js.map +1 -1
- package/dist/src/runners/runner-adapter.d.ts +2 -0
- package/dist/src/runners/runner-adapter.js.map +1 -1
- package/dist/src/state/atomic-write.d.ts +6 -0
- package/dist/src/state/atomic-write.js +43 -2
- package/dist/src/state/atomic-write.js.map +1 -1
- package/dist/src/state/cancellation.js +38 -4
- package/dist/src/state/cancellation.js.map +1 -1
- package/dist/src/state/event-log.js +5 -4
- package/dist/src/state/event-log.js.map +1 -1
- package/dist/src/state/private-directory.d.ts +5 -0
- package/dist/src/state/private-directory.js +37 -0
- package/dist/src/state/private-directory.js.map +1 -0
- package/dist/src/state/runtime-lease.js +19 -39
- package/dist/src/state/runtime-lease.js.map +1 -1
- package/dist/src/state/runtime-record-validation.d.ts +6 -0
- package/dist/src/state/runtime-record-validation.js +44 -0
- package/dist/src/state/runtime-record-validation.js.map +1 -0
- package/dist/src/state/runtime-retirement.js +58 -18
- package/dist/src/state/runtime-retirement.js.map +1 -1
- package/dist/src/state/runtime-takeover-intent.js +2 -2
- package/dist/src/state/runtime-takeover-intent.js.map +1 -1
- package/dist/src/state/store.d.ts +1 -0
- package/dist/src/state/store.js +12 -6
- package/dist/src/state/store.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/docs/architecture.md +4 -4
- package/docs/compatibility.md +1 -1
- package/docs/controller-protocol.md +38 -7
- package/docs/experiments/protocol-lint.md +40 -0
- package/docs/experiments/run-doctor.md +39 -0
- package/docs/experiments/run-handoff.md +39 -0
- package/docs/experiments/run-timeline.md +35 -0
- package/docs/experiments/run-watch.md +31 -0
- package/docs/runner-contract.md +4 -3
- package/docs/state-and-recovery.md +15 -5
- package/package.json +1 -1
- package/schemas/controller-command.schema.json +89 -4
- package/skills/cueline/SKILL.md +13 -7
package/dist/src/api.js
CHANGED
|
@@ -1,17 +1,23 @@
|
|
|
1
|
+
import path from "node:path";
|
|
1
2
|
import { fileURLToPath } from "node:url";
|
|
2
3
|
import { confirmManualControllerSubmission } from "./api-controller-handoff.js";
|
|
4
|
+
import { verifyCueLineRun } from "./api-run-verification.js";
|
|
3
5
|
import { claimCueLineCallerJob, heartbeatCueLineCallerJob, reconcileExpiredCallerWorkClaims, releaseCueLineCallerJob, startCueLineCallerJob, } from "./api-caller-work.js";
|
|
4
6
|
import { isTerminalRun, reconcileCueLineRuntime, terminalResult, } from "./api-runtime-lifecycle.js";
|
|
5
7
|
import { createCodexIabAdapter } from "./browser/codex-iab/chatgpt-client.js";
|
|
6
|
-
import {
|
|
8
|
+
import { probeCodexIab } from "./browser/codex-iab/probe.js";
|
|
9
|
+
import { continueControllerLoop, createControllerRun, runControllerLoop, validateControllerRuntimeOptions, } from "./core/controller-loop.js";
|
|
10
|
+
import { controllerConversationArchiveNeedsRecovery } from "./core/controller-conversation-archive.js";
|
|
11
|
+
import { sameChatGptConversationUrl } from "./core/conversation-url.js";
|
|
7
12
|
import { CueLineError } from "./core/errors.js";
|
|
8
13
|
import { loadPersistedRunState, loadPersistedRunStore, } from "./core/persisted-run.js";
|
|
9
14
|
import { runtimeCwd, runtimeEnvironment } from "./core/runtime.js";
|
|
15
|
+
import { validatedTimerDelay } from "./core/timing.js";
|
|
10
16
|
import { assertRunCanContinue, isSafeStaleCallerObservationRecovery, } from "./core/run-status.js";
|
|
11
17
|
import { JobStatusStore } from "./jobs/status.js";
|
|
12
18
|
import { JobSupervisor } from "./jobs/supervisor.js";
|
|
13
19
|
import { executableAvailability } from "./router/availability.js";
|
|
14
|
-
import { loadRoutingConfig } from "./router/config-loader.js";
|
|
20
|
+
import { loadRoutingConfig, parseRoutingConfig } from "./router/config-loader.js";
|
|
15
21
|
import { materializeRunnerSpec } from "./router/materialize.js";
|
|
16
22
|
import { resolveRoute, validateRouteReference } from "./router/resolver.js";
|
|
17
23
|
import { ProcessRunner } from "./runners/process-runner.js";
|
|
@@ -30,18 +36,10 @@ export function defaultRoutingConfigPath() {
|
|
|
30
36
|
export function routingConfigPath(environment = runtimeEnvironment(), explicitPath) {
|
|
31
37
|
return explicitPath ?? environment.CUELINE_CONFIG ?? defaultRoutingConfigPath();
|
|
32
38
|
}
|
|
33
|
-
function normalizedConversationUrl(value) {
|
|
34
|
-
try {
|
|
35
|
-
const parsed = new URL(value);
|
|
36
|
-
return `${parsed.origin}${parsed.pathname}`;
|
|
37
|
-
}
|
|
38
|
-
catch {
|
|
39
|
-
return value;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
39
|
async function resolvedRoutingConfig(options, environment) {
|
|
43
|
-
return
|
|
44
|
-
|
|
40
|
+
return options.routingConfig === undefined
|
|
41
|
+
? loadRoutingConfig(routingConfigPath(environment, options.routingConfigPath))
|
|
42
|
+
: parseRoutingConfig(options.routingConfig);
|
|
45
43
|
}
|
|
46
44
|
function registryFor(config) {
|
|
47
45
|
const executables = new Set();
|
|
@@ -69,12 +67,13 @@ function routingInstruction(config, availability, executor) {
|
|
|
69
67
|
.map((candidate) => candidate.id);
|
|
70
68
|
return `${name} [${candidates.length > 0 ? candidates.join(", ") : "unavailable"}]`;
|
|
71
69
|
});
|
|
72
|
-
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.`;
|
|
70
|
+
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. If you provide workdir, it must be an absolute path; omit it to use the workspace bound by the local runtime.`;
|
|
73
71
|
}
|
|
74
72
|
async function prepareRuntime(options, persistedConversationUrl, persistedExecutor) {
|
|
75
73
|
const environment = options.environment ?? runtimeEnvironment();
|
|
76
74
|
const home = options.home ?? defaultCueLineHome(environment);
|
|
77
|
-
const cwd = options.cwd ?? runtimeCwd();
|
|
75
|
+
const cwd = path.resolve(options.cwd ?? runtimeCwd());
|
|
76
|
+
const executor = persistedExecutor ?? options.executor ?? "caller";
|
|
78
77
|
const config = await resolvedRoutingConfig(options, environment);
|
|
79
78
|
const availability = executableAvailability(environment, cwd);
|
|
80
79
|
const registry = registryFor(config);
|
|
@@ -93,9 +92,18 @@ async function prepareRuntime(options, persistedConversationUrl, persistedExecut
|
|
|
93
92
|
jobSupervisor,
|
|
94
93
|
validateJobSpec(job) {
|
|
95
94
|
validateRouteReference(job.lane, config, job.runner);
|
|
95
|
+
if (executor === "process") {
|
|
96
|
+
if (job.workdir !== undefined && !path.isAbsolute(job.workdir)) {
|
|
97
|
+
throw new CueLineError("PROCESS_WORKDIR_ABSOLUTE_REQUIRED", "Process jobs must use an absolute workdir; omit workdir to bind the run's current workspace.");
|
|
98
|
+
}
|
|
99
|
+
job.workdir = path.resolve(job.workdir ?? cwd);
|
|
100
|
+
}
|
|
96
101
|
},
|
|
97
102
|
resolveRunnerSpec(jobId, job) {
|
|
98
|
-
const
|
|
103
|
+
const jobAvailability = job.workdir === undefined || job.workdir === cwd
|
|
104
|
+
? availability
|
|
105
|
+
: executableAvailability(environment, job.workdir);
|
|
106
|
+
const route = resolveRoute(job.lane, config, jobAvailability, job.runner);
|
|
99
107
|
return materializeRunnerSpec(jobId, job, route, {
|
|
100
108
|
cwd,
|
|
101
109
|
...(options.defaultTimeoutMs === undefined
|
|
@@ -104,12 +112,20 @@ async function prepareRuntime(options, persistedConversationUrl, persistedExecut
|
|
|
104
112
|
});
|
|
105
113
|
},
|
|
106
114
|
controllerInstructions: [
|
|
107
|
-
routingInstruction(config, availability,
|
|
115
|
+
routingInstruction(config, availability, executor),
|
|
108
116
|
],
|
|
109
117
|
...(conversationUrl === undefined ? {} : { conversationUrl }),
|
|
110
118
|
home,
|
|
111
119
|
};
|
|
112
120
|
}
|
|
121
|
+
function validateDefaultProcessTimeout(options) {
|
|
122
|
+
if (options.defaultTimeoutMs === undefined)
|
|
123
|
+
return;
|
|
124
|
+
validatedTimerDelay(options.defaultTimeoutMs, {
|
|
125
|
+
code: "PROCESS_TIMEOUT_INVALID",
|
|
126
|
+
name: "defaultTimeoutMs",
|
|
127
|
+
});
|
|
128
|
+
}
|
|
113
129
|
export async function startCueLineRun(options) {
|
|
114
130
|
assertNotNested(options.environment ?? runtimeEnvironment());
|
|
115
131
|
return createControllerRun({
|
|
@@ -121,11 +137,18 @@ export async function startCueLineRun(options) {
|
|
|
121
137
|
? {}
|
|
122
138
|
: { allowProcessExecution: options.allowProcessExecution }),
|
|
123
139
|
...(options.maxRounds === undefined ? {} : { maxRounds: options.maxRounds }),
|
|
140
|
+
...(options.archiveControllerConversationOnComplete === undefined
|
|
141
|
+
? {}
|
|
142
|
+
: {
|
|
143
|
+
archiveControllerConversationOnComplete: options.archiveControllerConversationOnComplete,
|
|
144
|
+
}),
|
|
124
145
|
...(options.now === undefined ? {} : { now: options.now }),
|
|
125
146
|
});
|
|
126
147
|
}
|
|
127
148
|
export async function runCueLine(options) {
|
|
128
149
|
assertNotNested(options.environment ?? runtimeEnvironment());
|
|
150
|
+
validateControllerRuntimeOptions(options);
|
|
151
|
+
validateDefaultProcessTimeout(options);
|
|
129
152
|
const runtime = await prepareRuntime(options);
|
|
130
153
|
return runControllerLoop({
|
|
131
154
|
request: options.request,
|
|
@@ -135,6 +158,11 @@ export async function runCueLine(options) {
|
|
|
135
158
|
...(options.allowProcessExecution === undefined
|
|
136
159
|
? {}
|
|
137
160
|
: { allowProcessExecution: options.allowProcessExecution }),
|
|
161
|
+
...(options.archiveControllerConversationOnComplete === undefined
|
|
162
|
+
? {}
|
|
163
|
+
: {
|
|
164
|
+
archiveControllerConversationOnComplete: options.archiveControllerConversationOnComplete,
|
|
165
|
+
}),
|
|
138
166
|
returnAfterControllerSubmission: (options.executor ?? "caller") === "caller",
|
|
139
167
|
...(options.maxRounds === undefined ? {} : { maxRounds: options.maxRounds }),
|
|
140
168
|
...(options.maxRepairAttempts === undefined
|
|
@@ -157,9 +185,40 @@ export async function runCueLine(options) {
|
|
|
157
185
|
export async function continueCueLineRun(options) {
|
|
158
186
|
const environment = options.environment ?? runtimeEnvironment();
|
|
159
187
|
const home = options.home ?? defaultCueLineHome(environment);
|
|
188
|
+
if (options.manualSendConfirmed === true && options.reconcileRequestId === undefined) {
|
|
189
|
+
throw new CueLineError("CONTROLLER_RECONCILIATION_REQUEST_REQUIRED", "manualSendConfirmed requires the exact reconcileRequestId.");
|
|
190
|
+
}
|
|
191
|
+
let state = await loadPersistedRunState(home, options.runId);
|
|
192
|
+
if (options.archiveControllerConversationOnComplete !== undefined &&
|
|
193
|
+
options.archiveControllerConversationOnComplete !==
|
|
194
|
+
(state.controllerConversationArchive?.enabled ?? false)) {
|
|
195
|
+
throw new CueLineError("CONTROLLER_CONVERSATION_ARCHIVE_POLICY_MISMATCH", `Run '${options.runId}' has a different durable controller conversation archive policy.`);
|
|
196
|
+
}
|
|
197
|
+
if (options.conversationUrl !== undefined &&
|
|
198
|
+
state.conversationUrl !== null &&
|
|
199
|
+
!sameChatGptConversationUrl(options.conversationUrl, state.conversationUrl)) {
|
|
200
|
+
throw new CueLineError("CONTROLLER_RECONCILIATION_CONVERSATION_MISMATCH", `Run '${options.runId}' is already bound to a different ChatGPT conversation.`);
|
|
201
|
+
}
|
|
202
|
+
let recoverControllerArchive = controllerConversationArchiveNeedsRecovery(state);
|
|
203
|
+
if (isTerminalRun(state) &&
|
|
204
|
+
!recoverControllerArchive &&
|
|
205
|
+
options.manualSendConfirmed !== true) {
|
|
206
|
+
return terminalResult(state);
|
|
207
|
+
}
|
|
208
|
+
let preparedRuntime;
|
|
160
209
|
if (options.manualSendConfirmed === true) {
|
|
161
|
-
|
|
162
|
-
|
|
210
|
+
assertNotNested(environment);
|
|
211
|
+
validateControllerRuntimeOptions(options);
|
|
212
|
+
validateDefaultProcessTimeout(options);
|
|
213
|
+
if (options.executor !== undefined && options.executor !== state.executor) {
|
|
214
|
+
throw new CueLineError("RUN_EXECUTOR_MISMATCH", `Run '${options.runId}' uses executor '${state.executor}', not '${options.executor}'.`);
|
|
215
|
+
}
|
|
216
|
+
if (state.executor === "process" &&
|
|
217
|
+
(!state.allowProcessExecution || options.allowProcessExecution !== true)) {
|
|
218
|
+
throw new CueLineError("PROCESS_EXECUTION_NOT_AUTHORIZED", "Continuing a process run requires allowProcessExecution=true in addition to its persisted authorization.");
|
|
219
|
+
}
|
|
220
|
+
if (!isTerminalRun(state)) {
|
|
221
|
+
preparedRuntime = await prepareRuntime(options, state.conversationUrl ?? undefined, state.executor);
|
|
163
222
|
}
|
|
164
223
|
await confirmManualControllerSubmission(options.runId, {
|
|
165
224
|
home,
|
|
@@ -168,15 +227,10 @@ export async function continueCueLineRun(options) {
|
|
|
168
227
|
? {}
|
|
169
228
|
: { conversationUrl: options.conversationUrl }),
|
|
170
229
|
});
|
|
230
|
+
state = await loadPersistedRunState(home, options.runId);
|
|
231
|
+
recoverControllerArchive = controllerConversationArchiveNeedsRecovery(state);
|
|
171
232
|
}
|
|
172
|
-
|
|
173
|
-
if (options.conversationUrl !== undefined &&
|
|
174
|
-
state.conversationUrl !== null &&
|
|
175
|
-
normalizedConversationUrl(options.conversationUrl) !==
|
|
176
|
-
normalizedConversationUrl(state.conversationUrl)) {
|
|
177
|
-
throw new CueLineError("CONTROLLER_RECONCILIATION_CONVERSATION_MISMATCH", `Run '${options.runId}' is already bound to a different ChatGPT conversation.`);
|
|
178
|
-
}
|
|
179
|
-
if (isTerminalRun(state)) {
|
|
233
|
+
if (isTerminalRun(state) && !recoverControllerArchive) {
|
|
180
234
|
return terminalResult(state);
|
|
181
235
|
}
|
|
182
236
|
let runtime = await readRuntimeLease(home, options.runId, {
|
|
@@ -235,23 +289,30 @@ export async function continueCueLineRun(options) {
|
|
|
235
289
|
});
|
|
236
290
|
}
|
|
237
291
|
const cancellation = await readCancellationObservation(home, options.runId);
|
|
238
|
-
if (!
|
|
292
|
+
if (!recoverControllerArchive &&
|
|
293
|
+
!isSafeStaleCallerObservationRecovery(state, runtime, cancellation)) {
|
|
239
294
|
assertRunCanContinue(state, runtime, cancellation);
|
|
240
295
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
(!
|
|
247
|
-
|
|
296
|
+
if (preparedRuntime === undefined) {
|
|
297
|
+
assertNotNested(environment);
|
|
298
|
+
if (options.executor !== undefined && options.executor !== state.executor) {
|
|
299
|
+
throw new CueLineError("RUN_EXECUTOR_MISMATCH", `Run '${options.runId}' uses executor '${state.executor}', not '${options.executor}'.`);
|
|
300
|
+
}
|
|
301
|
+
if (!recoverControllerArchive &&
|
|
302
|
+
state.executor === "process" &&
|
|
303
|
+
(!state.allowProcessExecution || options.allowProcessExecution !== true)) {
|
|
304
|
+
throw new CueLineError("PROCESS_EXECUTION_NOT_AUTHORIZED", "Continuing a process run requires allowProcessExecution=true in addition to its persisted authorization.");
|
|
305
|
+
}
|
|
306
|
+
validateControllerRuntimeOptions(options);
|
|
307
|
+
validateDefaultProcessTimeout(options);
|
|
308
|
+
preparedRuntime = await prepareRuntime(options, state.conversationUrl ?? undefined, state.executor);
|
|
248
309
|
}
|
|
249
|
-
const preparedRuntime = await prepareRuntime(options, state.conversationUrl ?? undefined, state.executor);
|
|
250
310
|
return continueControllerLoop({
|
|
251
311
|
runId: options.runId,
|
|
252
312
|
...preparedRuntime,
|
|
253
313
|
executor: state.executor,
|
|
254
314
|
...(state.executor === "process" ? { allowProcessExecution: true } : {}),
|
|
315
|
+
archiveControllerConversationOnComplete: state.controllerConversationArchive?.enabled === true,
|
|
255
316
|
returnAfterControllerSubmission: state.executor === "caller",
|
|
256
317
|
...(options.reconcileRequestId === undefined
|
|
257
318
|
? {}
|
|
@@ -279,7 +340,13 @@ export async function continueCueLineRun(options) {
|
|
|
279
340
|
}
|
|
280
341
|
export { confirmManualControllerSubmission, submitCueLineCallerJobResult, } from "./api-controller-handoff.js";
|
|
281
342
|
export { claimCueLineCallerJob, heartbeatCueLineCallerJob, releaseCueLineCallerJob, startCueLineCallerJob, };
|
|
282
|
-
export { cancelCueLineJob, cancelCueLineRun, loadCueLineRunState, loadCueLineRunStatus, reconcileCueLineRuntime, takeoverCueLineRuntime, } from "./api-runtime-lifecycle.js";
|
|
283
|
-
export {
|
|
343
|
+
export { cancelCueLineJob, cancelCueLineRun, listCueLineRuns, loadCueLineRunState, loadCueLineRunStatus, reconcileCueLineRuntime, takeoverCueLineRuntime, } from "./api-runtime-lifecycle.js";
|
|
344
|
+
export { diagnoseCueLineRun, diagnoseCueLineRunStatus, } from "./diagnostics/run-doctor.js";
|
|
345
|
+
export { verifyCueLineRun };
|
|
346
|
+
export { createCodexIabAdapter, probeCodexIab };
|
|
347
|
+
export { waitForCueLineRunChange } from "./observation/run-watch.js";
|
|
348
|
+
export { lintControllerCommandText } from "./protocol/lint-command.js";
|
|
349
|
+
export { buildCueLineRunHandoff, createCueLineRunHandoff, renderCueLineRunHandoffMarkdown, } from "./observation/run-handoff.js";
|
|
350
|
+
export { buildCueLineRunTimeline, loadCueLineRunTimeline, } from "./observation/run-timeline.js";
|
|
284
351
|
export { CUELINE_VERSION } from "./version.js";
|
|
285
352
|
//# sourceMappingURL=api.js.map
|
package/dist/src/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAOzC,OAAO,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,cAAc,GACf,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAElB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EACL,oBAAoB,EACpB,oCAAoC,GAErC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAelC,SAAS,eAAe,CAAC,WAA8B;IACrD,IAAI,WAAW,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,IAAI,YAAY,CAAC,yBAAyB,EAAE,uCAAuC,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,mCAAmC,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,WAAW,GAAsB,kBAAkB,EAAE,EACrD,YAAqB;IAErB,OAAO,YAAY,IAAI,WAAW,CAAC,cAAc,IAAI,wBAAwB,EAAE,CAAC;AAClF,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAa;IAC9C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,OAA8B,EAC9B,WAA8B;IAE9B,OAAO,CACL,OAAO,CAAC,aAAa;QACrB,CAAC,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CACrF,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAAqB;IACxC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK,IAAI,UAAU,KAAK,SAAS;gBAAE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IACD,OAAO,IAAI,cAAc,CACvB,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAqB,EACrB,YAAuD,EACvD,QAA8B;IAE9B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;aACvC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,2BAA2B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0hBAA0hB,CAAC;IAC/kB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;SACvC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;aAC/B,MAAM,CACL,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,OAAO,KAAK,KAAK,IAAI,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAC3E;aACA,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACpC,OAAO,GAAG,IAAI,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC;IACtF,CAAC,CAAC,CAAC;IACL,OAAO,4BAA4B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iIAAiI,CAAC;AACvL,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,OAA8B,EAC9B,wBAAiC,EACjC,iBAAwC;IAExC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,sBAAsB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE;QAC9C,WAAW,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC;KACtC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,wBAAwB,CAAC;IAC5E,MAAM,OAAO,GACX,OAAO,CAAC,OAAO;QACf,qBAAqB,CAAC;YACpB,GAAG,OAAO,CAAC,cAAc;YACzB,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;SAC9D,CAAC,CAAC;IAEL,OAAO;QACL,OAAO;QACP,aAAa;QACb,eAAe,CAAC,GAAG;YACjB,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,iBAAiB,CAAC,KAAK,EAAE,GAAG;YAC1B,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACvE,OAAO,qBAAqB,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;gBAC9C,GAAG;gBACH,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;oBACxC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;aAC7C,CAAC,CAAC;QACL,CAAC;QACD,sBAAsB,EAAE;YACtB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,iBAAiB,IAAI,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC;SAC5F;QACD,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;QAC7D,IAAI;KACL,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA+B;IAE/B,eAAe,CAAC,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC,CAAC;IAC7D,OAAO,mBAAmB,CAAC;QACzB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAChE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;QACrF,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ;QACtC,GAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS;YAC7C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC7D,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5E,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAC3D,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA+B;IAC9D,eAAe,CAAC,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,iBAAiB,CAAC;QACvB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAChE,GAAG,OAAO;QACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ;QACtC,GAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS;YAC7C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC7D,+BAA+B,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,QAAQ;QAC5E,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5E,GAAG,CAAC,OAAO,CAAC,iBAAiB,KAAK,SAAS;YACzC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACrD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,0BAA0B,KAAK,SAAS;YAClD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,0BAA0B,EAAE,OAAO,CAAC,0BAA0B,EAAE,CAAC;QACvE,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;QACrF,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;QAC/C,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS;YACvC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;KAClD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAkC;IAElC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YAC7C,MAAM,IAAI,YAAY,CACpB,4CAA4C,EAC5C,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QACD,MAAM,iCAAiC,CAAC,OAAO,CAAC,KAAK,EAAE;YACrD,IAAI;YACJ,SAAS,EAAE,OAAO,CAAC,kBAAkB;YACrC,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS;gBACvC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;SAClD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7D,IACE,OAAO,CAAC,eAAe,KAAK,SAAS;QACrC,KAAK,CAAC,eAAe,KAAK,IAAI;QAC9B,yBAAyB,CAAC,OAAO,CAAC,eAAe,CAAC;YAChD,yBAAyB,CAAC,KAAK,CAAC,eAAe,CAAC,EAClD,CAAC;QACD,MAAM,IAAI,YAAY,CACpB,iDAAiD,EACjD,QAAQ,OAAO,CAAC,KAAK,yDAAyD,CAC/E,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE;QACxD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAC3D,CAAC,CAAC;IACH,IACE,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC;QACjE,OAAO,CAAC,OAAO,KAAK,SAAS;QAC7B,CAAC,MAAM,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,EACpE,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;YAC7C,IAAI;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACvE,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,aAAa,CAAC,MAAM,CAAC,4BAA4B,EAAE;gBACvD,QAAQ,EAAE,OAAO,CAAC,OAAO;gBACzB,kBAAkB,EAAE,OAAO,CAAC,SAAS;aACtC,CAAC,CAAC;YACH,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC/B,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;QAC9B,CAAC;gBAAS,CAAC;YACT,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE;YACpD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,MAAM,mBAAmB,GACvB,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAC3B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAC5B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAC9D,CAAC;IACJ,IACE,mBAAmB;QACnB,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,CAAC,EACrE,CAAC;QACD,MAAM,gCAAgC,CAAC,OAAO,CAAC,KAAK,EAAE;YACpD,IAAI;YACJ,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;QACH,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE;YACpD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAClD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAC9D,CAAC;IACF,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,aAAa,EAAE,CAAC;QACpF,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAE;YAC9D,IAAI;YACJ,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;QACH,IAAI,UAAU,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;YAC7C,MAAM,IAAI,YAAY,CACpB,6BAA6B,EAC7B,QAAQ,OAAO,CAAC,KAAK,kEAAkE,EACvF,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,aAAa,EAAE,EAAE,CACnD,CAAC;QACJ,CAAC;QACD,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE;YACpD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,2BAA2B,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5E,IAAI,CAAC,oCAAoC,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;QACxE,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IACD,eAAe,CAAC,WAAW,CAAC,CAAC;IAC7B,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1E,MAAM,IAAI,YAAY,CACpB,uBAAuB,EACvB,QAAQ,OAAO,CAAC,KAAK,oBAAoB,KAAK,CAAC,QAAQ,WAAW,OAAO,CAAC,QAAQ,IAAI,CACvF,CAAC;IACJ,CAAC;IACD,IACE,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC5B,CAAC,CAAC,KAAK,CAAC,qBAAqB,IAAI,OAAO,CAAC,qBAAqB,KAAK,IAAI,CAAC,EACxE,CAAC;QACD,MAAM,IAAI,YAAY,CACpB,kCAAkC,EAClC,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,cAAc,CAC1C,OAAO,EACP,KAAK,CAAC,eAAe,IAAI,SAAS,EAClC,KAAK,CAAC,QAAQ,CACf,CAAC;IACF,OAAO,sBAAsB,CAAC;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,GAAG,eAAe;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,+BAA+B,EAAE,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAC5D,GAAG,CAAC,OAAO,CAAC,kBAAkB,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC;QACvD,GAAG,CAAC,OAAO,CAAC,wBAAwB,KAAK,SAAS;YAChD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,wBAAwB,EAAE,OAAO,CAAC,wBAAwB,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5E,GAAG,CAAC,OAAO,CAAC,iBAAiB,KAAK,SAAS;YACzC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACrD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,0BAA0B,KAAK,SAAS;YAClD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,0BAA0B,EAAE,OAAO,CAAC,0BAA0B,EAAE,CAAC;QACvE,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;QACrF,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;QAC/C,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS;YACvC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;KAClD,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EACL,iCAAiC,EACjC,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,GACtB,CAAC;AACF,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,19 @@ export interface BrowserTurnCheckpoint {
|
|
|
33
33
|
export interface BrowserTurnHooks {
|
|
34
34
|
onCheckpoint?: (checkpoint: BrowserTurnCheckpoint) => Promise<void>;
|
|
35
35
|
}
|
|
36
|
+
export interface BrowserConversationArchiveInput {
|
|
37
|
+
conversationUrl: string;
|
|
38
|
+
signal?: AbortSignal;
|
|
39
|
+
}
|
|
40
|
+
export interface BrowserConversationArchiveEvidence {
|
|
41
|
+
conversationUrl: string;
|
|
42
|
+
proof: "conversation_url_changed";
|
|
43
|
+
postActionUrl: string;
|
|
44
|
+
}
|
|
45
|
+
export interface BrowserConversationArchiveHooks {
|
|
46
|
+
/** Durable write-ahead checkpoint that must finish before the one Archive click. */
|
|
47
|
+
onBeforeArchiveClick?: () => Promise<void>;
|
|
48
|
+
}
|
|
36
49
|
export interface BrowserAdapter {
|
|
37
50
|
/**
|
|
38
51
|
* Declares that `controller_turn_requested` is durably recorded before any
|
|
@@ -45,4 +58,6 @@ export interface BrowserAdapter {
|
|
|
45
58
|
observeTurn?(input: BrowserTurnInput): Promise<ControllerTurn | undefined>;
|
|
46
59
|
sendTurn(input: BrowserTurnInput, hooks?: BrowserTurnHooks): Promise<ControllerTurn>;
|
|
47
60
|
recoverTurn?(input: BrowserTurnInput): Promise<ControllerTurn>;
|
|
61
|
+
/** Archive one exact completed controller conversation. Implementations must never retry the archive click. */
|
|
62
|
+
archiveConversation?(input: BrowserConversationArchiveInput, hooks?: BrowserConversationArchiveHooks): Promise<BrowserConversationArchiveEvidence>;
|
|
48
63
|
}
|
|
@@ -15,6 +15,19 @@ export interface PageComposerState {
|
|
|
15
15
|
attachmentCount: number;
|
|
16
16
|
sendButtonEnabled: boolean;
|
|
17
17
|
}
|
|
18
|
+
export interface PageProbeState {
|
|
19
|
+
pageUrl: string;
|
|
20
|
+
isAnswering: boolean;
|
|
21
|
+
assistantMessageCount: number;
|
|
22
|
+
lastMessageRole: "assistant" | "user" | null;
|
|
23
|
+
assistantModelSlug: string | null;
|
|
24
|
+
selectedModelLabel: string | null;
|
|
25
|
+
modelLabelCount: number;
|
|
26
|
+
composerState: "missing" | "empty" | "inline_present" | "attachment_ready";
|
|
27
|
+
inlineTextLength: number;
|
|
28
|
+
attachmentCount: number;
|
|
29
|
+
sendButtonState: "missing" | "disabled" | "enabled" | "ambiguous";
|
|
30
|
+
}
|
|
18
31
|
export interface IabLocator {
|
|
19
32
|
count(): Promise<number>;
|
|
20
33
|
fill(value: string, options?: Record<string, unknown>): Promise<void>;
|
|
@@ -25,6 +38,8 @@ export interface IabLocator {
|
|
|
25
38
|
state: "visible";
|
|
26
39
|
timeoutMs: number;
|
|
27
40
|
}): Promise<void>;
|
|
41
|
+
isVisible?(): Promise<boolean>;
|
|
42
|
+
isEnabled?(): Promise<boolean>;
|
|
28
43
|
}
|
|
29
44
|
export interface IabPlaywright {
|
|
30
45
|
getByRole(role: string, query: {
|
|
@@ -83,4 +98,9 @@ declare global {
|
|
|
83
98
|
export declare function resolveIabBrowser(requested?: IabBrowser): Promise<IabBrowser>;
|
|
84
99
|
export declare function readPageChatState(tab: IabTab): Promise<PageChatState>;
|
|
85
100
|
export declare function readPageComposerState(tab: IabTab, expectedPrompt: string, sendButtonNames: readonly string[]): Promise<PageComposerState>;
|
|
101
|
+
/**
|
|
102
|
+
* Read a redacted diagnostic snapshot. This evaluator intentionally returns no
|
|
103
|
+
* prompt text, message text, attachment names, cookies, or storage values.
|
|
104
|
+
*/
|
|
105
|
+
export declare function readPageProbeState(tab: IabTab): Promise<PageProbeState>;
|
|
86
106
|
export {};
|
|
@@ -25,12 +25,12 @@ export async function readPageChatState(tab) {
|
|
|
25
25
|
return tab.playwright.evaluate(() => {
|
|
26
26
|
const buttons = Array.from(document.querySelectorAll("button"));
|
|
27
27
|
const isAnswering = buttons.some((button) => {
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
.join(" ")
|
|
28
|
+
const ariaLabel = button.getAttribute("aria-label")?.trim();
|
|
29
|
+
const label = (ariaLabel || button.textContent || "")
|
|
31
30
|
.replace(/\s+/g, " ")
|
|
32
31
|
.trim();
|
|
33
|
-
if (!/stop/i.test(label) ||
|
|
32
|
+
if (!/(stop|停止|中止|중지|정지)/i.test(label) ||
|
|
33
|
+
!/(answer|generat|respond|response|stream|thinking|回答|回覆|作答|生成|產生|思考|応答|생성|답변|응답)/i.test(label)) {
|
|
34
34
|
return false;
|
|
35
35
|
}
|
|
36
36
|
if (button.disabled ||
|
|
@@ -102,8 +102,8 @@ export async function readPageComposerState(tab, expectedPrompt, sendButtonNames
|
|
|
102
102
|
const normalize = (value) => String(value ?? "")
|
|
103
103
|
.replace(/\u00a0/g, " ")
|
|
104
104
|
.replace(/\r\n?/g, "\n")
|
|
105
|
-
.replace(/[ \t]
|
|
106
|
-
.replace(/\n
|
|
105
|
+
.replace(/[ \t]+\n/g, "\n")
|
|
106
|
+
.replace(/\n(?:[ \t]*\n)+/g, "\n")
|
|
107
107
|
.trim();
|
|
108
108
|
const composer = document.querySelector('#prompt-textarea[contenteditable="true"]');
|
|
109
109
|
const inlineText = normalize(composer && "innerText" in composer
|
|
@@ -125,9 +125,46 @@ export async function readPageComposerState(tab, expectedPrompt, sendButtonNames
|
|
|
125
125
|
const sendButtonEnabled = Array.from(root.querySelectorAll("button")).some((element) => {
|
|
126
126
|
const button = element;
|
|
127
127
|
const label = normalize(button.getAttribute("aria-label") ?? button.innerText ?? button.textContent);
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
128
|
+
const hiddenAncestor = typeof button.closest === "function" &&
|
|
129
|
+
button.closest('[hidden], [aria-hidden="true"], [inert]') !== null;
|
|
130
|
+
if (!sendButtonNames.includes(label) ||
|
|
131
|
+
button.disabled ||
|
|
132
|
+
button.hidden ||
|
|
133
|
+
button.getAttribute("aria-disabled") === "true" ||
|
|
134
|
+
button.getAttribute("aria-hidden") === "true" ||
|
|
135
|
+
hiddenAncestor) {
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
const checkVisibility = button.checkVisibility;
|
|
139
|
+
if (typeof checkVisibility === "function") {
|
|
140
|
+
try {
|
|
141
|
+
if (!checkVisibility.call(button, {
|
|
142
|
+
checkOpacity: true,
|
|
143
|
+
checkVisibilityCSS: true,
|
|
144
|
+
})) {
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
// Explicit style and geometry checks below remain the fallback.
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (typeof getComputedStyle === "function") {
|
|
153
|
+
const style = getComputedStyle(button);
|
|
154
|
+
if (style.display === "none" ||
|
|
155
|
+
style.visibility === "hidden" ||
|
|
156
|
+
style.visibility === "collapse" ||
|
|
157
|
+
style.pointerEvents === "none" ||
|
|
158
|
+
Number(style.opacity) === 0) {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
if (typeof button.getBoundingClientRect === "function") {
|
|
163
|
+
const bounds = button.getBoundingClientRect();
|
|
164
|
+
if (bounds.width <= 0 || bounds.height <= 0)
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
return typeof button.getClientRects !== "function" || button.getClientRects().length > 0;
|
|
131
168
|
});
|
|
132
169
|
const attachmentCount = attachmentElements.size;
|
|
133
170
|
const state = inlineText !== "" && inlineText === expected
|
|
@@ -147,4 +184,131 @@ export async function readPageComposerState(tab, expectedPrompt, sendButtonNames
|
|
|
147
184
|
sendButtonNames: [...sendButtonNames],
|
|
148
185
|
});
|
|
149
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* Read a redacted diagnostic snapshot. This evaluator intentionally returns no
|
|
189
|
+
* prompt text, message text, attachment names, cookies, or storage values.
|
|
190
|
+
*/
|
|
191
|
+
export async function readPageProbeState(tab) {
|
|
192
|
+
return tab.playwright.evaluate(({ diagnosticProbe: _diagnosticProbe }) => {
|
|
193
|
+
const normalize = (value) => String(value ?? "")
|
|
194
|
+
.replace(/\u00a0/g, " ")
|
|
195
|
+
.replace(/\r\n?/g, "\n")
|
|
196
|
+
.replace(/[ \t]+\n/g, "\n")
|
|
197
|
+
.replace(/\n(?:[ \t]*\n)+/g, "\n")
|
|
198
|
+
.trim();
|
|
199
|
+
const isVisible = (element) => {
|
|
200
|
+
const htmlElement = element;
|
|
201
|
+
if (htmlElement.hidden ||
|
|
202
|
+
element.getAttribute("aria-hidden") === "true" ||
|
|
203
|
+
element.closest('[hidden], [aria-hidden="true"], [inert]') !== null) {
|
|
204
|
+
return false;
|
|
205
|
+
}
|
|
206
|
+
if (typeof htmlElement.checkVisibility === "function") {
|
|
207
|
+
try {
|
|
208
|
+
if (!htmlElement.checkVisibility({
|
|
209
|
+
checkOpacity: true,
|
|
210
|
+
checkVisibilityCSS: true,
|
|
211
|
+
})) {
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
catch {
|
|
216
|
+
// Fall through to explicit style and geometry checks.
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
const style = getComputedStyle(element);
|
|
220
|
+
if (style.display === "none" ||
|
|
221
|
+
style.visibility === "hidden" ||
|
|
222
|
+
style.visibility === "collapse" ||
|
|
223
|
+
style.pointerEvents === "none" ||
|
|
224
|
+
Number(style.opacity) === 0) {
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
const bounds = element.getBoundingClientRect();
|
|
228
|
+
return bounds.width > 0 && bounds.height > 0 && element.getClientRects().length > 0;
|
|
229
|
+
};
|
|
230
|
+
const buttons = Array.from(document.querySelectorAll("button"));
|
|
231
|
+
const isAnswering = buttons.some((element) => {
|
|
232
|
+
const button = element;
|
|
233
|
+
const ariaLabel = normalize(button.getAttribute("aria-label"));
|
|
234
|
+
const label = ariaLabel || normalize(button.textContent);
|
|
235
|
+
return (/(stop|停止|中止|중지|정지)/i.test(label) &&
|
|
236
|
+
/(answer|generat|respond|response|stream|thinking|回答|回覆|作答|生成|產生|思考|応答|생성|답변|응답)/i.test(label) &&
|
|
237
|
+
!button.disabled &&
|
|
238
|
+
button.getAttribute("aria-disabled") !== "true" &&
|
|
239
|
+
isVisible(button));
|
|
240
|
+
});
|
|
241
|
+
const messages = Array.from(document.querySelectorAll("[data-message-author-role]"));
|
|
242
|
+
const assistantMessages = messages.filter((message) => message.getAttribute("data-message-author-role") === "assistant");
|
|
243
|
+
const lastRole = messages.at(-1)?.getAttribute("data-message-author-role");
|
|
244
|
+
const lastMessageRole = lastRole === "assistant" || lastRole === "user" ? lastRole : null;
|
|
245
|
+
const assistantModelSlug = assistantMessages.at(-1)?.getAttribute("data-message-model-slug") ?? null;
|
|
246
|
+
const knownModel = /^(?:Instant(?:\s+\d+(?:\.\d+)*)?|Medium|High|Extra High|Thinking|Auto|Pro(?:\s+(?:Standard|Extended))?)$/i;
|
|
247
|
+
const modelLabels = Array.from(document.querySelectorAll("button.__composer-pill"))
|
|
248
|
+
.filter(isVisible)
|
|
249
|
+
.map((element) => normalize(element.getAttribute("aria-label") ??
|
|
250
|
+
element.innerText ??
|
|
251
|
+
element.textContent))
|
|
252
|
+
.filter((label) => knownModel.test(label));
|
|
253
|
+
const selectedModelLabel = modelLabels.length === 1 ? modelLabels[0] : null;
|
|
254
|
+
const composer = document.querySelector('#prompt-textarea[contenteditable="true"]');
|
|
255
|
+
const inlineText = normalize(composer && "innerText" in composer
|
|
256
|
+
? composer.innerText
|
|
257
|
+
: composer?.textContent);
|
|
258
|
+
const root = composer?.closest("form") ?? composer?.parentElement?.parentElement ?? document;
|
|
259
|
+
const attachmentElements = new Set();
|
|
260
|
+
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]'))) {
|
|
261
|
+
const label = normalize(element.getAttribute("aria-label"));
|
|
262
|
+
const testId = normalize(element.getAttribute("data-testid"));
|
|
263
|
+
const classes = normalize(element.getAttribute("class"));
|
|
264
|
+
if (/(?:remove|delete).*(?:file|attachment)|(?:file|attachment).*(?:remove|delete)|移除.*(?:檔案|附件)|刪除.*(?:檔案|附件)/i.test(label) ||
|
|
265
|
+
/(?:file-upload-preview|attachment.*preview|file.*preview)/i.test(testId) ||
|
|
266
|
+
/(?:attachment|file).*(?:pill|chip)|(?:pill|chip).*(?:attachment|file)/i.test(classes)) {
|
|
267
|
+
attachmentElements.add(element);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
const attachmentCount = attachmentElements.size;
|
|
271
|
+
const composerState = composer === null
|
|
272
|
+
? "missing"
|
|
273
|
+
: attachmentCount > 0
|
|
274
|
+
? "attachment_ready"
|
|
275
|
+
: inlineText.length > 0
|
|
276
|
+
? "inline_present"
|
|
277
|
+
: "empty";
|
|
278
|
+
const sendButtonNames = new Set([
|
|
279
|
+
"Send prompt",
|
|
280
|
+
"Send message",
|
|
281
|
+
"傳送提示",
|
|
282
|
+
"傳送訊息",
|
|
283
|
+
"送出提示",
|
|
284
|
+
"送出訊息",
|
|
285
|
+
]);
|
|
286
|
+
const sendButtons = Array.from(root.querySelectorAll("button")).filter((element) => {
|
|
287
|
+
const label = normalize(element.getAttribute("aria-label") ??
|
|
288
|
+
element.innerText ??
|
|
289
|
+
element.textContent);
|
|
290
|
+
return sendButtonNames.has(label) && isVisible(element);
|
|
291
|
+
});
|
|
292
|
+
const sendButtonState = sendButtons.length === 0
|
|
293
|
+
? "missing"
|
|
294
|
+
: sendButtons.length > 1
|
|
295
|
+
? "ambiguous"
|
|
296
|
+
: sendButtons[0].disabled || sendButtons[0].getAttribute("aria-disabled") === "true"
|
|
297
|
+
? "disabled"
|
|
298
|
+
: "enabled";
|
|
299
|
+
return {
|
|
300
|
+
pageUrl: window.location.href,
|
|
301
|
+
isAnswering,
|
|
302
|
+
assistantMessageCount: assistantMessages.length,
|
|
303
|
+
lastMessageRole,
|
|
304
|
+
assistantModelSlug,
|
|
305
|
+
selectedModelLabel,
|
|
306
|
+
modelLabelCount: modelLabels.length,
|
|
307
|
+
composerState,
|
|
308
|
+
inlineTextLength: inlineText.length,
|
|
309
|
+
attachmentCount,
|
|
310
|
+
sendButtonState,
|
|
311
|
+
};
|
|
312
|
+
}, { diagnosticProbe: true });
|
|
313
|
+
}
|
|
150
314
|
//# sourceMappingURL=bootstrap.js.map
|