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