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
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
import { compareCueLineRuns, createCueLineRunHandoff, diagnoseCueLineRun, listCueLineRuns, loadCueLineRunGraph, loadCueLineRunTimeline, loadCueLineRunStatusAt, verifyCueLineRun, waitForCueLineRunChange, } from "../api.js";
|
|
2
|
+
import { CueLineError } from "../core/errors.js";
|
|
3
|
+
import { renderCueLineRunHandoffMarkdown } from "../observation/run-handoff.js";
|
|
4
|
+
import { CUELINE_VERSION } from "../version.js";
|
|
5
|
+
async function runsCommand(json, environment, io) {
|
|
6
|
+
const runs = await listCueLineRuns({ environment });
|
|
7
|
+
if (json) {
|
|
8
|
+
io.stdout(JSON.stringify(runs, null, 2));
|
|
9
|
+
}
|
|
10
|
+
else if (runs.length === 0) {
|
|
11
|
+
io.stdout("No runs.");
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
for (const run of runs) {
|
|
15
|
+
if (!run.readable) {
|
|
16
|
+
io.stdout(`${run.runId}\tunreadable\t${run.errorCode}`);
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
io.stdout(`${run.runId}\t${run.status}\t${run.executor}\t${run.phase}\t${run.safeNextAction}\tround=${run.round}\tpending=${run.pendingTurns}\tactive_jobs=${run.activeJobs}\truntime=${run.runtimeOwnership}\tsequence=${run.lastEventSequence}\tupdated=${run.lastEventAt}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return runs.some((run) => !run.readable) ? 1 : 0;
|
|
23
|
+
}
|
|
24
|
+
async function runVerifyCommand(runId, json, environment, io) {
|
|
25
|
+
const report = await verifyCueLineRun(runId, { environment });
|
|
26
|
+
if (json) {
|
|
27
|
+
io.stdout(JSON.stringify(report, null, 2));
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
io.stdout(`run\t${report.runId}`);
|
|
31
|
+
io.stdout(`outcome\t${report.outcome}`);
|
|
32
|
+
io.stdout(`marker\t${report.marker}`);
|
|
33
|
+
io.stdout(report.eventLog.readable
|
|
34
|
+
? `events\treadable\ttotal=${report.eventLog.totalEvents}\tauthoritative=${report.eventLog.authoritativeEvents}\tlast_sequence=${report.eventLog.lastSequence}`
|
|
35
|
+
: "events\tunreadable");
|
|
36
|
+
io.stdout(`snapshot\t${report.snapshot}`);
|
|
37
|
+
io.stdout(`runtime\t${report.runtimeOwnership}`);
|
|
38
|
+
for (const item of report.findings) {
|
|
39
|
+
io.stdout(`finding\t${item.severity}\t${item.code}\t${item.surface}\t${item.message}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return report.outcome === "verified" ? 0 : 1;
|
|
43
|
+
}
|
|
44
|
+
async function runDoctorCommand(runId, json, environment, io) {
|
|
45
|
+
const diagnosis = await diagnoseCueLineRun(runId, { environment });
|
|
46
|
+
if (json) {
|
|
47
|
+
io.stdout(JSON.stringify({ version: CUELINE_VERSION, ...diagnosis }, null, 2));
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
io.stdout(`run\t${diagnosis.runId}`);
|
|
51
|
+
io.stdout(`version\t${CUELINE_VERSION}`);
|
|
52
|
+
io.stdout(`outcome\t${diagnosis.outcome}`);
|
|
53
|
+
io.stdout(`phase\t${diagnosis.phase}`);
|
|
54
|
+
io.stdout(`sequence\t${diagnosis.eventSequence}`);
|
|
55
|
+
io.stdout(`summary\t${diagnosis.summary}`);
|
|
56
|
+
io.stdout(`next\t${diagnosis.nextAction}`);
|
|
57
|
+
for (const finding of diagnosis.findings) {
|
|
58
|
+
io.stdout(`finding\t${finding.severity}\t${finding.code}\t${finding.message}\taction=${finding.action}\tevidence=${JSON.stringify(finding.evidence)}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return diagnosis.outcome === "blocked" ? 1 : 0;
|
|
62
|
+
}
|
|
63
|
+
async function runWatchCommand(runId, afterSequence, timeoutMs, json, environment, io) {
|
|
64
|
+
const observation = await waitForCueLineRunChange(runId, {
|
|
65
|
+
environment,
|
|
66
|
+
afterSequence,
|
|
67
|
+
...(timeoutMs === undefined ? {} : { timeoutMs }),
|
|
68
|
+
});
|
|
69
|
+
if (json) {
|
|
70
|
+
io.stdout(JSON.stringify({ version: CUELINE_VERSION, ...observation }, null, 2));
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
io.stdout(`run\t${observation.status.runId}`);
|
|
74
|
+
io.stdout(`version\t${CUELINE_VERSION}`);
|
|
75
|
+
io.stdout(`outcome\t${observation.outcome}`);
|
|
76
|
+
io.stdout(`sequence\t${observation.previousSequence}->${observation.currentSequence}`);
|
|
77
|
+
io.stdout(`elapsed_ms\t${observation.elapsedMs}`);
|
|
78
|
+
io.stdout(`phase\t${observation.status.phase}`);
|
|
79
|
+
io.stdout(`next\t${observation.status.safeNextAction}`);
|
|
80
|
+
}
|
|
81
|
+
return 0;
|
|
82
|
+
}
|
|
83
|
+
async function runHandoffCommand(runId, includeContent, maxContentChars, jsonOutput, environment, io) {
|
|
84
|
+
const packet = await createCueLineRunHandoff(runId, {
|
|
85
|
+
environment,
|
|
86
|
+
...(includeContent ? { includeContent: true } : {}),
|
|
87
|
+
...(maxContentChars === undefined ? {} : { maxContentChars }),
|
|
88
|
+
});
|
|
89
|
+
io.stdout(jsonOutput ? JSON.stringify(packet, null, 2) : renderCueLineRunHandoffMarkdown(packet));
|
|
90
|
+
return 0;
|
|
91
|
+
}
|
|
92
|
+
async function runTimelineCommand(runId, afterSequence, limit, json, environment, io) {
|
|
93
|
+
const timeline = await loadCueLineRunTimeline(runId, {
|
|
94
|
+
environment,
|
|
95
|
+
afterSequence,
|
|
96
|
+
limit,
|
|
97
|
+
});
|
|
98
|
+
if (json) {
|
|
99
|
+
io.stdout(JSON.stringify({ version: CUELINE_VERSION, ...timeline }, null, 2));
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
io.stdout(`run\t${timeline.runId}`);
|
|
103
|
+
io.stdout(`version\t${CUELINE_VERSION}`);
|
|
104
|
+
io.stdout(`events\treturned=${timeline.returnedEvents}\ttotal=${timeline.totalEvents}\tlatest=${timeline.latestSequence}\thas_more=${timeline.hasMore ? "yes" : "no"}\tnext_after=${timeline.nextAfterSequence}`);
|
|
105
|
+
for (const entry of timeline.entries) {
|
|
106
|
+
io.stdout(`event\t${entry.sequence}\t${entry.timestamp ?? "invalid_timestamp"}\t${entry.category}\t${entry.type}\t${entry.summary}\tattributes=${JSON.stringify(entry.attributes)}\tpayload_sha256=${entry.payloadHash}\towner=${entry.ownerFingerprint ?? "-"}`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return 0;
|
|
110
|
+
}
|
|
111
|
+
async function runGraphCommand(runId, afterSequence, limit, json, environment, io) {
|
|
112
|
+
const graph = await loadCueLineRunGraph(runId, {
|
|
113
|
+
environment,
|
|
114
|
+
afterSequence,
|
|
115
|
+
limit,
|
|
116
|
+
});
|
|
117
|
+
io.stdout(json ? JSON.stringify({ version: CUELINE_VERSION, ...graph }, null, 2) : graph.mermaid);
|
|
118
|
+
return 0;
|
|
119
|
+
}
|
|
120
|
+
async function runStatusAtCommand(runId, sequence, json, environment, io) {
|
|
121
|
+
const historical = await loadCueLineRunStatusAt(runId, { environment, sequence });
|
|
122
|
+
if (json) {
|
|
123
|
+
io.stdout(JSON.stringify({ version: CUELINE_VERSION, ...historical }, null, 2));
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
io.stdout(`run\t${historical.runId}`);
|
|
127
|
+
io.stdout(`version\t${CUELINE_VERSION}`);
|
|
128
|
+
io.stdout(`sequence\t${historical.requestedSequence}/${historical.latestSequence}\tauthoritative_applied=${historical.authoritativeEventsApplied}`);
|
|
129
|
+
io.stdout(`event\t${historical.asOf.type}\t${historical.asOf.timestamp}`);
|
|
130
|
+
io.stdout(`state\t${historical.state.status}\texecutor=${historical.state.executor}\tround=${historical.state.round}/${historical.state.maxRounds}`);
|
|
131
|
+
io.stdout(`controller\tpending=${historical.state.pendingControllerTurns}\tabandoned=${historical.state.abandonedControllerTurns}\taccepted=${historical.state.acceptedCommands}`);
|
|
132
|
+
io.stdout(`jobs\ttotal=${historical.state.jobs.total}\tcounts=${JSON.stringify(historical.state.jobs.counts)}`);
|
|
133
|
+
}
|
|
134
|
+
return 0;
|
|
135
|
+
}
|
|
136
|
+
async function runDiffCommand(leftRunId, rightRunId, json, environment, io) {
|
|
137
|
+
const comparison = await compareCueLineRuns(leftRunId, rightRunId, { environment });
|
|
138
|
+
if (json) {
|
|
139
|
+
io.stdout(JSON.stringify({ version: CUELINE_VERSION, ...comparison }, null, 2));
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
io.stdout(`left\t${comparison.left.runId}`);
|
|
143
|
+
io.stdout(`right\t${comparison.right.runId}`);
|
|
144
|
+
io.stdout(`equivalent\t${comparison.equivalent ? "yes" : "no"}`);
|
|
145
|
+
for (const change of comparison.changes) {
|
|
146
|
+
io.stdout(`change\t${change.field}\t${JSON.stringify(change.left)}\t${JSON.stringify(change.right)}`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return 0;
|
|
150
|
+
}
|
|
151
|
+
export async function handleObservationCommand(args, environment, io) {
|
|
152
|
+
if (args[0] === "runs" &&
|
|
153
|
+
(args.length === 1 || (args.length === 2 && args[1] === "--json"))) {
|
|
154
|
+
return runsCommand(args[1] === "--json", environment, io);
|
|
155
|
+
}
|
|
156
|
+
if (args[0] === "run" &&
|
|
157
|
+
args[1] === "verify" &&
|
|
158
|
+
typeof args[2] === "string" &&
|
|
159
|
+
(args.length === 3 || (args.length === 4 && args[3] === "--json"))) {
|
|
160
|
+
return runVerifyCommand(args[2], args[3] === "--json", environment, io);
|
|
161
|
+
}
|
|
162
|
+
if (args[0] === "run" &&
|
|
163
|
+
args[1] === "doctor" &&
|
|
164
|
+
typeof args[2] === "string" &&
|
|
165
|
+
(args.length === 3 || (args.length === 4 && args[3] === "--json"))) {
|
|
166
|
+
return runDoctorCommand(args[2], args[3] === "--json", environment, io);
|
|
167
|
+
}
|
|
168
|
+
if (args[0] === "run" && args[1] === "status-at" && typeof args[2] === "string") {
|
|
169
|
+
let sequence;
|
|
170
|
+
let json = false;
|
|
171
|
+
let valid = true;
|
|
172
|
+
for (let index = 3; index < args.length; index += 1) {
|
|
173
|
+
const argument = args[index];
|
|
174
|
+
if (argument === "--sequence" &&
|
|
175
|
+
sequence === undefined &&
|
|
176
|
+
typeof args[index + 1] === "string") {
|
|
177
|
+
sequence = Number(args[index + 1]);
|
|
178
|
+
index += 1;
|
|
179
|
+
}
|
|
180
|
+
else if (argument === "--json" && !json) {
|
|
181
|
+
json = true;
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
valid = false;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
if (!valid || sequence === undefined || !Number.isSafeInteger(sequence) || sequence < 1) {
|
|
188
|
+
throw new CueLineError("CLI_ARGUMENTS_INVALID", "usage: cueline run status-at <run-id> --sequence <positive-integer> [--json]");
|
|
189
|
+
}
|
|
190
|
+
return runStatusAtCommand(args[2], sequence, json, environment, io);
|
|
191
|
+
}
|
|
192
|
+
if (args[0] === "run" &&
|
|
193
|
+
args[1] === "diff" &&
|
|
194
|
+
typeof args[2] === "string" &&
|
|
195
|
+
typeof args[3] === "string" &&
|
|
196
|
+
(args.length === 4 || (args.length === 5 && args[4] === "--json"))) {
|
|
197
|
+
return runDiffCommand(args[2], args[3], args[4] === "--json", environment, io);
|
|
198
|
+
}
|
|
199
|
+
if (args[0] === "run" && args[1] === "watch" && typeof args[2] === "string") {
|
|
200
|
+
let afterSequence;
|
|
201
|
+
let timeoutMs;
|
|
202
|
+
let json = false;
|
|
203
|
+
let valid = true;
|
|
204
|
+
for (let index = 3; index < args.length; index += 1) {
|
|
205
|
+
const argument = args[index];
|
|
206
|
+
if (argument === "--after" &&
|
|
207
|
+
afterSequence === undefined &&
|
|
208
|
+
typeof args[index + 1] === "string") {
|
|
209
|
+
afterSequence = Number(args[index + 1]);
|
|
210
|
+
index += 1;
|
|
211
|
+
}
|
|
212
|
+
else if (argument === "--timeout-ms" &&
|
|
213
|
+
timeoutMs === undefined &&
|
|
214
|
+
typeof args[index + 1] === "string") {
|
|
215
|
+
timeoutMs = Number(args[index + 1]);
|
|
216
|
+
index += 1;
|
|
217
|
+
}
|
|
218
|
+
else if (argument === "--json" && !json) {
|
|
219
|
+
json = true;
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
valid = false;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
if (!valid ||
|
|
226
|
+
afterSequence === undefined ||
|
|
227
|
+
!Number.isSafeInteger(afterSequence) ||
|
|
228
|
+
afterSequence < 0 ||
|
|
229
|
+
(timeoutMs !== undefined &&
|
|
230
|
+
(!Number.isSafeInteger(timeoutMs) || timeoutMs < 0 || timeoutMs > 30_000))) {
|
|
231
|
+
throw new CueLineError("CLI_ARGUMENTS_INVALID", "usage: cueline run watch <run-id> --after <sequence> [--timeout-ms <0..30000>] [--json]");
|
|
232
|
+
}
|
|
233
|
+
return runWatchCommand(args[2], afterSequence, timeoutMs, json, environment, io);
|
|
234
|
+
}
|
|
235
|
+
if (args[0] === "run" && args[1] === "handoff" && typeof args[2] === "string") {
|
|
236
|
+
let includeContent = false;
|
|
237
|
+
let maxContentChars;
|
|
238
|
+
let json = false;
|
|
239
|
+
let valid = true;
|
|
240
|
+
for (let index = 3; index < args.length; index += 1) {
|
|
241
|
+
const argument = args[index];
|
|
242
|
+
if (argument === "--include-content" && !includeContent) {
|
|
243
|
+
includeContent = true;
|
|
244
|
+
}
|
|
245
|
+
else if (argument === "--max-content-chars" &&
|
|
246
|
+
maxContentChars === undefined &&
|
|
247
|
+
typeof args[index + 1] === "string") {
|
|
248
|
+
maxContentChars = Number(args[index + 1]);
|
|
249
|
+
index += 1;
|
|
250
|
+
}
|
|
251
|
+
else if (argument === "--json" && !json) {
|
|
252
|
+
json = true;
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
valid = false;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
if (!valid ||
|
|
259
|
+
(maxContentChars !== undefined && !includeContent) ||
|
|
260
|
+
(maxContentChars !== undefined &&
|
|
261
|
+
(!Number.isSafeInteger(maxContentChars) ||
|
|
262
|
+
maxContentChars < 16 ||
|
|
263
|
+
maxContentChars > 10_000))) {
|
|
264
|
+
throw new CueLineError("CLI_ARGUMENTS_INVALID", "usage: cueline run handoff <run-id> [--include-content] [--max-content-chars <16..10000>] [--json]");
|
|
265
|
+
}
|
|
266
|
+
return runHandoffCommand(args[2], includeContent, maxContentChars, json, environment, io);
|
|
267
|
+
}
|
|
268
|
+
if (args[0] === "run" && args[1] === "timeline" && typeof args[2] === "string") {
|
|
269
|
+
let afterSequence = 0;
|
|
270
|
+
let limit = 100;
|
|
271
|
+
let afterProvided = false;
|
|
272
|
+
let limitProvided = false;
|
|
273
|
+
let json = false;
|
|
274
|
+
let valid = true;
|
|
275
|
+
for (let index = 3; index < args.length; index += 1) {
|
|
276
|
+
const argument = args[index];
|
|
277
|
+
if (argument === "--after" &&
|
|
278
|
+
!afterProvided &&
|
|
279
|
+
typeof args[index + 1] === "string") {
|
|
280
|
+
afterSequence = Number(args[index + 1]);
|
|
281
|
+
afterProvided = true;
|
|
282
|
+
index += 1;
|
|
283
|
+
}
|
|
284
|
+
else if (argument === "--limit" &&
|
|
285
|
+
!limitProvided &&
|
|
286
|
+
typeof args[index + 1] === "string") {
|
|
287
|
+
limit = Number(args[index + 1]);
|
|
288
|
+
limitProvided = true;
|
|
289
|
+
index += 1;
|
|
290
|
+
}
|
|
291
|
+
else if (argument === "--json" && !json) {
|
|
292
|
+
json = true;
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
valid = false;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
if (!valid ||
|
|
299
|
+
!Number.isSafeInteger(afterSequence) ||
|
|
300
|
+
afterSequence < 0 ||
|
|
301
|
+
!Number.isSafeInteger(limit) ||
|
|
302
|
+
limit < 1 ||
|
|
303
|
+
limit > 1_000) {
|
|
304
|
+
throw new CueLineError("CLI_ARGUMENTS_INVALID", "usage: cueline run timeline <run-id> [--after <sequence>] [--limit <1..1000>] [--json]");
|
|
305
|
+
}
|
|
306
|
+
return runTimelineCommand(args[2], afterSequence, limit, json, environment, io);
|
|
307
|
+
}
|
|
308
|
+
if (args[0] === "run" && args[1] === "graph" && typeof args[2] === "string") {
|
|
309
|
+
let afterSequence = 0;
|
|
310
|
+
let limit = 100;
|
|
311
|
+
let afterProvided = false;
|
|
312
|
+
let limitProvided = false;
|
|
313
|
+
let json = false;
|
|
314
|
+
let valid = true;
|
|
315
|
+
for (let index = 3; index < args.length; index += 1) {
|
|
316
|
+
const argument = args[index];
|
|
317
|
+
if (argument === "--after" &&
|
|
318
|
+
!afterProvided &&
|
|
319
|
+
typeof args[index + 1] === "string") {
|
|
320
|
+
afterSequence = Number(args[index + 1]);
|
|
321
|
+
afterProvided = true;
|
|
322
|
+
index += 1;
|
|
323
|
+
}
|
|
324
|
+
else if (argument === "--limit" &&
|
|
325
|
+
!limitProvided &&
|
|
326
|
+
typeof args[index + 1] === "string") {
|
|
327
|
+
limit = Number(args[index + 1]);
|
|
328
|
+
limitProvided = true;
|
|
329
|
+
index += 1;
|
|
330
|
+
}
|
|
331
|
+
else if (argument === "--json" && !json) {
|
|
332
|
+
json = true;
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
valid = false;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
if (!valid ||
|
|
339
|
+
!Number.isSafeInteger(afterSequence) ||
|
|
340
|
+
afterSequence < 0 ||
|
|
341
|
+
!Number.isSafeInteger(limit) ||
|
|
342
|
+
limit < 1 ||
|
|
343
|
+
limit > 200) {
|
|
344
|
+
throw new CueLineError("CLI_ARGUMENTS_INVALID", "usage: cueline run graph <run-id> [--after <sequence>] [--limit <1..200>] [--json]");
|
|
345
|
+
}
|
|
346
|
+
return runGraphCommand(args[2], afterSequence, limit, json, environment, io);
|
|
347
|
+
}
|
|
348
|
+
return undefined;
|
|
349
|
+
}
|
|
350
|
+
//# sourceMappingURL=observation-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observation-commands.js","sourceRoot":"","sources":["../../../src/cli/observation-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { CueLineRunStatusSummary } from "../core/run-status.js";
|
|
2
|
+
/**
|
|
3
|
+
* Build the metadata-only CLI view explicitly instead of deleting known
|
|
4
|
+
* sensitive fields. New fields added to the internal status summary therefore
|
|
5
|
+
* remain private until they are deliberately reviewed for CLI exposure.
|
|
6
|
+
*/
|
|
7
|
+
export declare function safeCueLineRunStatus(status: CueLineRunStatusSummary): {
|
|
8
|
+
runId: string;
|
|
9
|
+
status: import("../core/state-machine.js").CueLineRunStatus;
|
|
10
|
+
executor: import("../core/state-machine.js").CueLineExecutor;
|
|
11
|
+
allowProcessExecution: boolean;
|
|
12
|
+
phase: import("../core/run-status.js").CueLineRunPhase;
|
|
13
|
+
round: number;
|
|
14
|
+
maxRounds: number;
|
|
15
|
+
lastEventSequence: number;
|
|
16
|
+
runtime: {
|
|
17
|
+
ownership: import("../state/runtime-lease.js").RuntimeOwnership;
|
|
18
|
+
heartbeatAt?: string;
|
|
19
|
+
ageMs?: number;
|
|
20
|
+
pid?: string;
|
|
21
|
+
};
|
|
22
|
+
cancellation: {
|
|
23
|
+
runRequested: boolean;
|
|
24
|
+
jobRequests: string[];
|
|
25
|
+
};
|
|
26
|
+
controller: {
|
|
27
|
+
pendingTurns: number;
|
|
28
|
+
acceptedCommands: number;
|
|
29
|
+
responseAccepted: boolean;
|
|
30
|
+
lastAcceptedAction: "blocked" | "complete" | "dispatch" | "inspect" | "wait" | null;
|
|
31
|
+
lastAcceptedRequestId: string | null;
|
|
32
|
+
lastAcceptedJobKeys: string[];
|
|
33
|
+
reconciliation?: {
|
|
34
|
+
requiredReason: string | null;
|
|
35
|
+
operatorConfirmation: "not_sent_confirmed" | "manual_send_confirmed" | null;
|
|
36
|
+
abandonedRequestId: string | null;
|
|
37
|
+
retryRequestId: string | null;
|
|
38
|
+
promptHash: string | null;
|
|
39
|
+
resendBlockedReason: string | null;
|
|
40
|
+
};
|
|
41
|
+
archive?: {
|
|
42
|
+
enabled: boolean;
|
|
43
|
+
status: import("../core/state-machine.js").ControllerConversationArchiveStatus;
|
|
44
|
+
code: string | null;
|
|
45
|
+
proof: "conversation_url_changed" | null;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
jobs: {
|
|
49
|
+
total: number;
|
|
50
|
+
counts: {
|
|
51
|
+
pending: number;
|
|
52
|
+
running: number;
|
|
53
|
+
succeeded: number;
|
|
54
|
+
failed: number;
|
|
55
|
+
timed_out: number;
|
|
56
|
+
cancelled: number;
|
|
57
|
+
ambiguous: number;
|
|
58
|
+
orphaned: number;
|
|
59
|
+
};
|
|
60
|
+
items: {
|
|
61
|
+
jobId: string;
|
|
62
|
+
jobKey: string;
|
|
63
|
+
required: boolean;
|
|
64
|
+
lane: string;
|
|
65
|
+
mode: string;
|
|
66
|
+
status: "ambiguous" | "cancelled" | "failed" | "orphaned" | "pending" | "running" | "succeeded" | "timed_out";
|
|
67
|
+
persistedStatus: "ambiguous" | "cancelled" | "failed" | "pending" | "running" | "succeeded" | "timed_out";
|
|
68
|
+
workClaim?: {
|
|
69
|
+
claimed: boolean;
|
|
70
|
+
claimedAt?: string;
|
|
71
|
+
heartbeatAt?: string;
|
|
72
|
+
expiresAt?: string;
|
|
73
|
+
startedAt?: string | null;
|
|
74
|
+
};
|
|
75
|
+
execution?: {
|
|
76
|
+
runnerId?: string;
|
|
77
|
+
pid?: number;
|
|
78
|
+
model?: string;
|
|
79
|
+
provider?: string;
|
|
80
|
+
phase?: string;
|
|
81
|
+
lastProgressAt?: string;
|
|
82
|
+
};
|
|
83
|
+
}[];
|
|
84
|
+
};
|
|
85
|
+
continueAllowed: boolean;
|
|
86
|
+
safeNextAction: import("../core/run-status.js").CueLineSafeNextAction;
|
|
87
|
+
};
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
function present(value) {
|
|
2
|
+
return value !== undefined;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Build the metadata-only CLI view explicitly instead of deleting known
|
|
6
|
+
* sensitive fields. New fields added to the internal status summary therefore
|
|
7
|
+
* remain private until they are deliberately reviewed for CLI exposure.
|
|
8
|
+
*/
|
|
9
|
+
export function safeCueLineRunStatus(status) {
|
|
10
|
+
return {
|
|
11
|
+
runId: status.runId,
|
|
12
|
+
status: status.status,
|
|
13
|
+
executor: status.executor,
|
|
14
|
+
allowProcessExecution: status.allowProcessExecution,
|
|
15
|
+
phase: status.phase,
|
|
16
|
+
round: status.round,
|
|
17
|
+
maxRounds: status.maxRounds,
|
|
18
|
+
lastEventSequence: status.lastEventSequence,
|
|
19
|
+
runtime: {
|
|
20
|
+
ownership: status.runtime.ownership,
|
|
21
|
+
...(present(status.runtime.heartbeatAt)
|
|
22
|
+
? { heartbeatAt: status.runtime.heartbeatAt }
|
|
23
|
+
: {}),
|
|
24
|
+
...(present(status.runtime.ageMs) ? { ageMs: status.runtime.ageMs } : {}),
|
|
25
|
+
...(present(status.runtime.pid) ? { pid: status.runtime.pid } : {}),
|
|
26
|
+
},
|
|
27
|
+
cancellation: {
|
|
28
|
+
runRequested: status.cancellation.runRequested,
|
|
29
|
+
jobRequests: [...status.cancellation.jobRequests],
|
|
30
|
+
},
|
|
31
|
+
controller: {
|
|
32
|
+
pendingTurns: status.controller.pendingTurns,
|
|
33
|
+
acceptedCommands: status.controller.acceptedCommands,
|
|
34
|
+
responseAccepted: status.controller.responseAccepted,
|
|
35
|
+
lastAcceptedAction: status.controller.lastAcceptedAction,
|
|
36
|
+
lastAcceptedRequestId: status.controller.lastAcceptedRequestId,
|
|
37
|
+
lastAcceptedJobKeys: [...status.controller.lastAcceptedJobKeys],
|
|
38
|
+
...(status.controller.reconciliation === undefined ||
|
|
39
|
+
(status.controller.reconciliation.requiredReason === null &&
|
|
40
|
+
status.controller.reconciliation.operatorConfirmation === null &&
|
|
41
|
+
status.controller.reconciliation.abandonedRequestId === null &&
|
|
42
|
+
status.controller.reconciliation.retryRequestId === null &&
|
|
43
|
+
status.controller.reconciliation.promptHash === null &&
|
|
44
|
+
status.controller.reconciliation.resendBlockedReason === null)
|
|
45
|
+
? {}
|
|
46
|
+
: { reconciliation: { ...status.controller.reconciliation } }),
|
|
47
|
+
...(status.controller.archive.enabled
|
|
48
|
+
? {
|
|
49
|
+
archive: {
|
|
50
|
+
enabled: true,
|
|
51
|
+
status: status.controller.archive.status,
|
|
52
|
+
code: status.controller.archive.code,
|
|
53
|
+
proof: status.controller.archive.proof,
|
|
54
|
+
},
|
|
55
|
+
}
|
|
56
|
+
: {}),
|
|
57
|
+
},
|
|
58
|
+
jobs: {
|
|
59
|
+
total: status.jobs.total,
|
|
60
|
+
counts: {
|
|
61
|
+
pending: status.jobs.counts.pending,
|
|
62
|
+
running: status.jobs.counts.running,
|
|
63
|
+
succeeded: status.jobs.counts.succeeded,
|
|
64
|
+
failed: status.jobs.counts.failed,
|
|
65
|
+
timed_out: status.jobs.counts.timed_out,
|
|
66
|
+
cancelled: status.jobs.counts.cancelled,
|
|
67
|
+
ambiguous: status.jobs.counts.ambiguous,
|
|
68
|
+
orphaned: status.jobs.counts.orphaned,
|
|
69
|
+
},
|
|
70
|
+
items: status.jobs.items.map((job) => ({
|
|
71
|
+
jobId: job.jobId,
|
|
72
|
+
jobKey: job.jobKey,
|
|
73
|
+
required: job.required,
|
|
74
|
+
lane: job.lane,
|
|
75
|
+
mode: job.mode,
|
|
76
|
+
status: job.status,
|
|
77
|
+
persistedStatus: job.persistedStatus,
|
|
78
|
+
...(job.workClaim === undefined
|
|
79
|
+
? {}
|
|
80
|
+
: {
|
|
81
|
+
workClaim: {
|
|
82
|
+
claimed: job.workClaim.claimed,
|
|
83
|
+
...(present(job.workClaim.claimedAt)
|
|
84
|
+
? { claimedAt: job.workClaim.claimedAt }
|
|
85
|
+
: {}),
|
|
86
|
+
...(present(job.workClaim.heartbeatAt)
|
|
87
|
+
? { heartbeatAt: job.workClaim.heartbeatAt }
|
|
88
|
+
: {}),
|
|
89
|
+
...(present(job.workClaim.expiresAt)
|
|
90
|
+
? { expiresAt: job.workClaim.expiresAt }
|
|
91
|
+
: {}),
|
|
92
|
+
...(present(job.workClaim.startedAt)
|
|
93
|
+
? { startedAt: job.workClaim.startedAt }
|
|
94
|
+
: {}),
|
|
95
|
+
},
|
|
96
|
+
}),
|
|
97
|
+
...(job.execution === undefined
|
|
98
|
+
? {}
|
|
99
|
+
: {
|
|
100
|
+
execution: {
|
|
101
|
+
...(present(job.execution.runnerId)
|
|
102
|
+
? { runnerId: job.execution.runnerId }
|
|
103
|
+
: {}),
|
|
104
|
+
...(present(job.execution.pid) ? { pid: job.execution.pid } : {}),
|
|
105
|
+
...(present(job.execution.model) ? { model: job.execution.model } : {}),
|
|
106
|
+
...(present(job.execution.provider)
|
|
107
|
+
? { provider: job.execution.provider }
|
|
108
|
+
: {}),
|
|
109
|
+
...(present(job.execution.phase) ? { phase: job.execution.phase } : {}),
|
|
110
|
+
...(present(job.execution.lastProgressAt)
|
|
111
|
+
? { lastProgressAt: job.execution.lastProgressAt }
|
|
112
|
+
: {}),
|
|
113
|
+
},
|
|
114
|
+
}),
|
|
115
|
+
})),
|
|
116
|
+
},
|
|
117
|
+
continueAllowed: status.continueAllowed,
|
|
118
|
+
safeNextAction: status.safeNextAction,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=run-status-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-status-view.js","sourceRoot":"","sources":["../../../src/cli/run-status-view.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@ import { type JobStatus } from "../jobs/status.js";
|
|
|
2
2
|
import type { ControllerCommand } from "../protocol/types.js";
|
|
3
3
|
import { RunStore } from "../state/store.js";
|
|
4
4
|
import type { ControllerRuntimeOptions } from "./controller-types.js";
|
|
5
|
-
import type
|
|
5
|
+
import { type CueLineRunState } from "./state-machine.js";
|
|
6
6
|
export declare function statusPayload(status: JobStatus): Record<string, unknown>;
|
|
7
|
-
export declare function validateCommandBeforeAcceptance(store: RunStore<CueLineRunState>, command: ControllerCommand, options: ControllerRuntimeOptions): void;
|
|
7
|
+
export declare function validateCommandBeforeAcceptance(store: RunStore<CueLineRunState>, command: ControllerCommand, options: ControllerRuntimeOptions, evidenceJobs?: import("../protocol/types.js").JobObservation[]): void;
|
|
8
8
|
export type CommandExecutionOutcome = "continue" | "terminal" | "awaiting_controller" | "awaiting_caller";
|
|
9
9
|
export declare function executeAcceptedCommand(store: RunStore<CueLineRunState>, command: ControllerCommand, commandDigest: string, options: ControllerRuntimeOptions, resumePendingExecution?: boolean): Promise<CommandExecutionOutcome>;
|