@relayflows/sdk 2.0.30 → 2.0.31
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/dist/agent-artifacts.d.ts.map +1 -1
- package/dist/agent-artifacts.js +2 -9
- package/dist/agent-artifacts.js.map +1 -1
- package/dist/agent-cwd.d.ts +69 -0
- package/dist/agent-cwd.d.ts.map +1 -0
- package/dist/agent-cwd.js +140 -0
- package/dist/agent-cwd.js.map +1 -0
- package/dist/artifact-scan-policy.d.ts +35 -0
- package/dist/artifact-scan-policy.d.ts.map +1 -0
- package/dist/artifact-scan-policy.js +49 -0
- package/dist/artifact-scan-policy.js.map +1 -0
- package/dist/authored-completion-record.d.ts +35 -0
- package/dist/authored-completion-record.d.ts.map +1 -0
- package/dist/authored-completion-record.js +92 -0
- package/dist/authored-completion-record.js.map +1 -0
- package/dist/authored-completion.d.ts +99 -0
- package/dist/authored-completion.d.ts.map +1 -0
- package/dist/authored-completion.js +184 -0
- package/dist/authored-completion.js.map +1 -0
- package/dist/authored-flow-error.d.ts +13 -1
- package/dist/authored-flow-error.d.ts.map +1 -1
- package/dist/authored-flow-error.js +12 -0
- package/dist/authored-flow-error.js.map +1 -1
- package/dist/authored-flow-executor.d.ts +7 -30
- package/dist/authored-flow-executor.d.ts.map +1 -1
- package/dist/authored-flow-executor.js +54 -47
- package/dist/authored-flow-executor.js.map +1 -1
- package/dist/authored-human.d.ts.map +1 -1
- package/dist/authored-human.js +1 -3
- package/dist/authored-human.js.map +1 -1
- package/dist/authored-node-entry.js +4 -1
- package/dist/authored-node-entry.js.map +1 -1
- package/dist/authored-node-runner.d.ts +9 -1
- package/dist/authored-node-runner.d.ts.map +1 -1
- package/dist/authored-node-runner.js +92 -17
- package/dist/authored-node-runner.js.map +1 -1
- package/dist/authored-root.d.ts +5 -0
- package/dist/authored-root.d.ts.map +1 -1
- package/dist/authored-root.js +20 -2
- package/dist/authored-root.js.map +1 -1
- package/dist/authored-step-output.d.ts +35 -10
- package/dist/authored-step-output.d.ts.map +1 -1
- package/dist/authored-step-output.js +108 -40
- package/dist/authored-step-output.js.map +1 -1
- package/dist/authored-verdict.d.ts +28 -0
- package/dist/authored-verdict.d.ts.map +1 -0
- package/dist/authored-verdict.js +79 -0
- package/dist/authored-verdict.js.map +1 -0
- package/dist/authored-worker-step.d.ts +5 -2
- package/dist/authored-worker-step.d.ts.map +1 -1
- package/dist/authored-worker-step.js +48 -11
- package/dist/authored-worker-step.js.map +1 -1
- package/dist/cli/check-worker-surface.d.ts +27 -0
- package/dist/cli/check-worker-surface.d.ts.map +1 -0
- package/dist/cli/check-worker-surface.js +63 -0
- package/dist/cli/check-worker-surface.js.map +1 -0
- package/dist/cli/check.d.ts +19 -2
- package/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js +12 -4
- package/dist/cli/check.js.map +1 -1
- package/dist/cli/cloud-format.d.ts +9 -0
- package/dist/cli/cloud-format.d.ts.map +1 -0
- package/dist/cli/cloud-format.js +77 -0
- package/dist/cli/cloud-format.js.map +1 -0
- package/dist/cli/cloud-live.d.ts +39 -0
- package/dist/cli/cloud-live.d.ts.map +1 -0
- package/dist/cli/cloud-live.js +325 -0
- package/dist/cli/cloud-live.js.map +1 -0
- package/dist/cli/cloud-read.d.ts +3 -7
- package/dist/cli/cloud-read.d.ts.map +1 -1
- package/dist/cli/cloud-read.js +14 -266
- package/dist/cli/cloud-read.js.map +1 -1
- package/dist/cli/cloud-refusal.d.ts +39 -0
- package/dist/cli/cloud-refusal.d.ts.map +1 -0
- package/dist/cli/cloud-refusal.js +95 -0
- package/dist/cli/cloud-refusal.js.map +1 -0
- package/dist/cli/cloud-status-view.d.ts +7 -0
- package/dist/cli/cloud-status-view.d.ts.map +1 -0
- package/dist/cli/cloud-status-view.js +214 -0
- package/dist/cli/cloud-status-view.js.map +1 -0
- package/dist/cli/direct-run.d.ts.map +1 -1
- package/dist/cli/direct-run.js +16 -2
- package/dist/cli/direct-run.js.map +1 -1
- package/dist/cli/hn-monitor.d.ts +0 -13
- package/dist/cli/hn-monitor.d.ts.map +1 -1
- package/dist/cli/hn-monitor.js +2 -1
- package/dist/cli/hn-monitor.js.map +1 -1
- package/dist/cli/local-agent-remedy.d.ts +80 -0
- package/dist/cli/local-agent-remedy.d.ts.map +1 -0
- package/dist/cli/local-agent-remedy.js +116 -0
- package/dist/cli/local-agent-remedy.js.map +1 -0
- package/dist/cli/observer-session.d.ts +41 -0
- package/dist/cli/observer-session.d.ts.map +1 -0
- package/dist/cli/observer-session.js +78 -0
- package/dist/cli/observer-session.js.map +1 -0
- package/dist/cli/run.d.ts +30 -2
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +186 -24
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/status.d.ts +9 -0
- package/dist/cli/status.d.ts.map +1 -1
- package/dist/cli/status.js +31 -2
- package/dist/cli/status.js.map +1 -1
- package/dist/cli/step-evidence.d.ts +90 -0
- package/dist/cli/step-evidence.d.ts.map +1 -0
- package/dist/cli/step-evidence.js +259 -0
- package/dist/cli/step-evidence.js.map +1 -0
- package/dist/cli/step-failure.d.ts +14 -4
- package/dist/cli/step-failure.d.ts.map +1 -1
- package/dist/cli/step-failure.js +41 -76
- package/dist/cli/step-failure.js.map +1 -1
- package/dist/cli-commands.d.ts +6 -0
- package/dist/cli-commands.d.ts.map +1 -1
- package/dist/cli-commands.js +2 -0
- package/dist/cli-commands.js.map +1 -1
- package/dist/cli.d.ts +10 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +53 -42
- package/dist/cli.js.map +1 -1
- package/dist/cloud-read.d.ts +15 -0
- package/dist/cloud-read.d.ts.map +1 -1
- package/dist/cloud-read.js +20 -1
- package/dist/cloud-read.js.map +1 -1
- package/dist/cloud-run-record.d.ts +27 -0
- package/dist/cloud-run-record.d.ts.map +1 -0
- package/dist/cloud-run-record.js +56 -0
- package/dist/cloud-run-record.js.map +1 -0
- package/dist/cloud-run.d.ts +2 -9
- package/dist/cloud-run.d.ts.map +1 -1
- package/dist/cloud-run.js +3 -20
- package/dist/cloud-run.js.map +1 -1
- package/dist/communication/local.d.ts.map +1 -1
- package/dist/communication/local.js +2 -1
- package/dist/communication/local.js.map +1 -1
- package/dist/communication/worker.d.ts +1 -1
- package/dist/communication/worker.d.ts.map +1 -1
- package/dist/communication/worker.js +13 -5
- package/dist/communication/worker.js.map +1 -1
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +28 -6
- package/dist/compile.js.map +1 -1
- package/dist/direct-input.d.ts.map +1 -1
- package/dist/direct-input.js +21 -1
- package/dist/direct-input.js.map +1 -1
- package/dist/failure-kinds.d.ts +96 -6
- package/dist/failure-kinds.d.ts.map +1 -1
- package/dist/failure-kinds.js +29 -2
- package/dist/failure-kinds.js.map +1 -1
- package/dist/flow-requirements.d.ts.map +1 -1
- package/dist/flow-requirements.js +24 -9
- package/dist/flow-requirements.js.map +1 -1
- package/dist/gate-contract.d.ts +7 -0
- package/dist/gate-contract.d.ts.map +1 -1
- package/dist/gate-contract.js +6 -1
- package/dist/gate-contract.js.map +1 -1
- package/dist/helper-preflight.d.ts.map +1 -1
- package/dist/helper-preflight.js +10 -3
- package/dist/helper-preflight.js.map +1 -1
- package/dist/helper-reference.d.ts +25 -0
- package/dist/helper-reference.d.ts.map +1 -0
- package/dist/helper-reference.js +129 -0
- package/dist/helper-reference.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/journal-client.d.ts +3 -1
- package/dist/journal-client.d.ts.map +1 -1
- package/dist/journal-client.js +17 -2
- package/dist/journal-client.js.map +1 -1
- package/dist/journal-projection.d.ts +16 -0
- package/dist/journal-projection.d.ts.map +1 -0
- package/dist/journal-projection.js +108 -0
- package/dist/journal-projection.js.map +1 -0
- package/dist/llm-worker.js +1 -1
- package/dist/llm-worker.js.map +1 -1
- package/dist/local-agent.d.ts +1 -1
- package/dist/local-agent.d.ts.map +1 -1
- package/dist/local-agent.js +4 -3
- package/dist/local-agent.js.map +1 -1
- package/dist/named-gate-lowering.js +35 -5
- package/dist/named-gate-lowering.js.map +1 -1
- package/dist/named-gate-preflight.d.ts +27 -0
- package/dist/named-gate-preflight.d.ts.map +1 -0
- package/dist/named-gate-preflight.js +47 -0
- package/dist/named-gate-preflight.js.map +1 -0
- package/dist/named-gates.d.ts +1 -1
- package/dist/named-gates.d.ts.map +1 -1
- package/dist/named-gates.js +3 -0
- package/dist/named-gates.js.map +1 -1
- package/dist/observer-link.d.ts +7 -0
- package/dist/observer-link.d.ts.map +1 -1
- package/dist/observer-link.js +3 -1
- package/dist/observer-link.js.map +1 -1
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +7 -0
- package/dist/preflight.js.map +1 -1
- package/dist/protocol.d.ts +2 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/redact.d.ts +42 -0
- package/dist/redact.d.ts.map +1 -1
- package/dist/redact.js +128 -0
- package/dist/redact.js.map +1 -1
- package/dist/run-projection.d.ts +83 -0
- package/dist/run-projection.d.ts.map +1 -0
- package/dist/run-projection.js +199 -0
- package/dist/run-projection.js.map +1 -0
- package/dist/shell-word.d.ts +19 -0
- package/dist/shell-word.d.ts.map +1 -0
- package/dist/shell-word.js +23 -0
- package/dist/shell-word.js.map +1 -0
- package/dist/spec.d.ts +52 -3
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js.map +1 -1
- package/dist/step-fields.d.ts +1 -1
- package/dist/step-fields.js +1 -1
- package/dist/step-fields.js.map +1 -1
- package/dist/steps-green.d.ts +27 -0
- package/dist/steps-green.d.ts.map +1 -0
- package/dist/steps-green.js +164 -0
- package/dist/steps-green.js.map +1 -0
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +39 -8
- package/dist/validate.js.map +1 -1
- package/dist/worker-lease.d.ts +8 -1
- package/dist/worker-lease.d.ts.map +1 -1
- package/dist/worker-lease.js +34 -4
- package/dist/worker-lease.js.map +1 -1
- package/dist/worker.d.ts +8 -0
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +17 -9
- package/dist/worker.js.map +1 -1
- package/package.json +3 -7
- package/src/agent-artifacts.ts +2 -10
- package/src/agent-cwd.ts +139 -0
- package/src/artifact-scan-policy.ts +51 -0
- package/src/authored-completion-record.ts +119 -0
- package/src/authored-completion.ts +203 -0
- package/src/authored-flow-error.ts +13 -1
- package/src/authored-flow-executor.ts +91 -58
- package/src/authored-human.ts +1 -4
- package/src/authored-node-entry.ts +4 -1
- package/src/authored-node-runner.ts +96 -22
- package/src/authored-root.ts +20 -2
- package/src/authored-step-output.ts +139 -42
- package/src/authored-verdict.ts +87 -0
- package/src/authored-worker-step.ts +60 -12
- package/src/cli/check-worker-surface.ts +66 -0
- package/src/cli/check.ts +35 -4
- package/src/cli/cloud-format.ts +82 -0
- package/src/cli/cloud-live.ts +366 -0
- package/src/cli/cloud-read.ts +13 -282
- package/src/cli/cloud-refusal.ts +113 -0
- package/src/cli/cloud-status-view.ts +213 -0
- package/src/cli/direct-run.ts +19 -2
- package/src/cli/hn-monitor.ts +2 -1
- package/src/cli/local-agent-remedy.ts +160 -0
- package/src/cli/observer-session.ts +107 -0
- package/src/cli/run.ts +233 -28
- package/src/cli/status.ts +59 -3
- package/src/cli/step-evidence.ts +310 -0
- package/src/cli/step-failure.ts +57 -81
- package/src/cli-commands.ts +2 -0
- package/src/cli.ts +64 -44
- package/src/cloud-read.ts +25 -1
- package/src/cloud-run-record.ts +64 -0
- package/src/cloud-run.ts +5 -24
- package/src/communication/local.ts +2 -1
- package/src/communication/worker.ts +13 -5
- package/src/compile.ts +28 -6
- package/src/direct-input.ts +22 -1
- package/src/failure-kinds.ts +104 -2
- package/src/flow-requirements.ts +24 -9
- package/src/gate-contract.ts +13 -1
- package/src/helper-preflight.ts +10 -3
- package/src/helper-reference.ts +130 -0
- package/src/index.ts +2 -0
- package/src/journal-client.ts +19 -2
- package/src/journal-projection.ts +106 -0
- package/src/llm-worker.ts +1 -1
- package/src/local-agent.ts +4 -2
- package/src/named-gate-lowering.ts +35 -5
- package/src/named-gate-preflight.ts +47 -0
- package/src/named-gates.ts +3 -0
- package/src/observer-link.ts +10 -1
- package/src/preflight.ts +7 -0
- package/src/protocol.ts +2 -0
- package/src/redact.ts +111 -0
- package/src/run-projection.ts +247 -0
- package/src/shell-word.ts +24 -0
- package/src/spec.ts +54 -3
- package/src/step-fields.ts +1 -1
- package/src/steps-green.ts +168 -0
- package/src/validate.ts +35 -8
- package/src/worker-lease.ts +35 -5
- package/src/worker.ts +27 -11
|
@@ -3,19 +3,23 @@ import { AuthoredFlowExecutionError } from './authored-flow-error.js';
|
|
|
3
3
|
import { inspectionHint, renderInspection, renderStepEvidence, stepFailureDetails } from './cli/step-failure.js';
|
|
4
4
|
import { alsoRecord, recordAuthoredChild } from './authored-step-index.js';
|
|
5
5
|
/**
|
|
6
|
-
* Shared by every `f.*` verb that lowers to
|
|
7
|
-
*
|
|
6
|
+
* Shared by every `f.*` verb that lowers to its own kernel run: find the
|
|
7
|
+
* operation's `step.completed` entry, record it, and refuse anything but a
|
|
8
8
|
* clean success before handing the raw `output` back for verb-specific
|
|
9
9
|
* extraction (a plain string for `f.run`, an `AgentResult` for `f.agent`).
|
|
10
10
|
*
|
|
11
|
-
* Callers are responsible for having already
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
11
|
+
* Callers are responsible for having already waited for the run to reach a
|
|
12
|
+
* terminal state — `f.run`'s caller relies on `runStart`'s own immediate
|
|
13
|
+
* response (the kernel drives a deterministic step to completion inline, no
|
|
14
|
+
* race); `f.agent`'s caller relies on `classifyOutcome` (cli/run.ts) having
|
|
15
|
+
* already polled to one. Given that, a single read from the start of this
|
|
16
|
+
* run's small journal is enough, and no polling happens here.
|
|
17
|
+
*
|
|
18
|
+
* What is NOT delegated to the caller is the run's verdict. A child spec has
|
|
19
|
+
* more than one step whenever the author declared a `.gate()`, and that gate
|
|
20
|
+
* step runs after the producer, so the producer's own `success` is not the
|
|
21
|
+
* run's. Both are checked here, and the run-level check is what makes a failed
|
|
22
|
+
* gate reject the authored operation.
|
|
19
23
|
*
|
|
20
24
|
* A non-success completion used to throw `journal step "run-1" completed with
|
|
21
25
|
* retries_exhausted` and stop there, discarding the evidence it was holding:
|
|
@@ -37,50 +41,100 @@ export async function readCompletedStepOutput(journal, runId, stepId, journalSte
|
|
|
37
41
|
const edges = context.stepEdges?.(stepId);
|
|
38
42
|
journalSteps.push(Object.freeze({ id: stepId, runId, completionReason: reason, ...edges }));
|
|
39
43
|
if (reason !== 'success') {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
message += renderStepEvidence(details);
|
|
52
|
-
// Appended whatever inspection found — including nothing. A failure shape
|
|
53
|
-
// this reader does not recognise must still end with somewhere to go.
|
|
54
|
-
const where = inspectionHint(runId, details?.stepId ?? stepId, context.dataDir);
|
|
55
|
-
message += renderInspection(where);
|
|
56
|
-
message += await alsoRecord(journal, context.rootRunId, {
|
|
57
|
-
step: stepId, runId, state: 'completed', completionReason: reason,
|
|
58
|
-
...(details?.stepId === undefined ? {} : { kernelStep: details.stepId }),
|
|
59
|
-
...edges,
|
|
60
|
-
});
|
|
61
|
-
throw new AuthoredFlowExecutionError('step_failed', message, reason, runId, { ...details, ...where });
|
|
44
|
+
throw await stepFailure(journal, runId, stepId, reason, context, edges, `journal step "${stepId}" completed with ${reason}`);
|
|
45
|
+
}
|
|
46
|
+
// An authored operation does not always lower to ONE kernel step. A declared
|
|
47
|
+
// `.gate()` becomes its own barrier step that runs AFTER the producer
|
|
48
|
+
// (`lowerNamedGates`), so the producer's own success is not the run's
|
|
49
|
+
// verdict. Reading only the producer's entry let a failed gate resolve as
|
|
50
|
+
// though the command had passed — the `|| true` invisibility this module's
|
|
51
|
+
// recording policy exists to remove, reappearing one layer up.
|
|
52
|
+
const runReason = entries.map(runCompletionReason).find((value) => value !== undefined);
|
|
53
|
+
if (runReason !== undefined && runReason !== 'success') {
|
|
54
|
+
throw await stepFailure(journal, runId, stepId, runReason, context, edges, `journal run for step "${stepId}" completed with ${runReason}`);
|
|
62
55
|
}
|
|
63
56
|
await recordAuthoredChild(journal, context.rootRunId, {
|
|
64
57
|
step: stepId, runId, state: 'completed', completionReason: reason, ...edges,
|
|
65
58
|
});
|
|
66
59
|
return completed.payload.output;
|
|
67
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* The one `step_failed` grammar both the step-level and the run-level refusal
|
|
63
|
+
* report through: inspect the journal for the step that actually failed, render
|
|
64
|
+
* its evidence, name where to look, and index the child before throwing.
|
|
65
|
+
*/
|
|
66
|
+
async function stepFailure(journal, runId, stepId, reason, context, edges, header) {
|
|
67
|
+
let message = header;
|
|
68
|
+
let details;
|
|
69
|
+
try {
|
|
70
|
+
details = await stepFailureDetails(journal, runId);
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
// Inspection must not erase the already known step failure; the two
|
|
74
|
+
// failures stay separately visible, as in classifyOutcome.
|
|
75
|
+
message += ` Could not inspect the failed step: ${errorMessage(error)}`;
|
|
76
|
+
}
|
|
77
|
+
if (details !== undefined)
|
|
78
|
+
message += renderStepEvidence(details);
|
|
79
|
+
// Appended whatever inspection found — including nothing. A failure shape
|
|
80
|
+
// this reader does not recognise must still end with somewhere to go.
|
|
81
|
+
const where = inspectionHint(runId, details?.stepId ?? stepId, context.dataDir);
|
|
82
|
+
message += renderInspection(where);
|
|
83
|
+
message += await alsoRecord(journal, context.rootRunId, {
|
|
84
|
+
step: stepId, runId, state: 'completed', completionReason: reason,
|
|
85
|
+
...(details?.stepId === undefined ? {} : { kernelStep: details.stepId }),
|
|
86
|
+
...edges,
|
|
87
|
+
});
|
|
88
|
+
return new AuthoredFlowExecutionError('step_failed', message, reason, runId, { ...details, ...where });
|
|
89
|
+
}
|
|
68
90
|
export async function readSuccessfulOutput(journal, outcome, stepId, journalSteps, context = {}) {
|
|
69
91
|
const output = await readCompletedStepOutput(journal, outcome.run_id, stepId, journalSteps, context)
|
|
70
|
-
.catch(
|
|
92
|
+
.catch(relabelCommandTimeout(stepId));
|
|
93
|
+
if (!isRecord(output) || typeof output['stdout_tail'] !== 'string') {
|
|
94
|
+
throw protocolViolation(outcome.run_id, `step "${stepId}" has no string stdout_tail`);
|
|
95
|
+
}
|
|
96
|
+
return output['stdout_tail'];
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* The read side of `onNonZero: 'record'`.
|
|
100
|
+
*
|
|
101
|
+
* A recorded red exit is a SUCCESSFUL step, so this takes the same path as
|
|
102
|
+
* `readSuccessfulOutput` and every field comes from the journaled envelope —
|
|
103
|
+
* nothing is re-run and nothing is re-measured. What still throws is what the
|
|
104
|
+
* policy never covered: a timeout, a signal, a step that never ran, or a
|
|
105
|
+
* declared content or schema gate that failed. The `-1` the executor writes
|
|
106
|
+
* for "no exit status" is refused rather than handed back as a plausible
|
|
107
|
+
* code, mirroring the kernel's own rule, so a malformed envelope can never
|
|
108
|
+
* reach an author's `if (!result.ok)` as a real verdict.
|
|
109
|
+
*/
|
|
110
|
+
export async function readRecordedOutcome(journal, outcome, stepId, journalSteps, context = {}) {
|
|
111
|
+
const envelope = await readCompletedStepOutput(journal, outcome.run_id, stepId, journalSteps, context)
|
|
112
|
+
.catch(relabelCommandTimeout(stepId));
|
|
113
|
+
const exitCode = isRecord(envelope) ? envelope['exit_code'] : undefined;
|
|
114
|
+
if (!isRecord(envelope) || typeof envelope['stdout_tail'] !== 'string'
|
|
115
|
+
|| typeof envelope['stderr_tail'] !== 'string'
|
|
116
|
+
|| typeof exitCode !== 'number' || !Number.isInteger(exitCode) || exitCode < 0) {
|
|
117
|
+
throw protocolViolation(outcome.run_id, `step "${stepId}" recorded no {exit_code, stdout_tail, stderr_tail} to report`);
|
|
118
|
+
}
|
|
119
|
+
const stdout = envelope['stdout_tail'];
|
|
120
|
+
const stderr = envelope['stderr_tail'];
|
|
121
|
+
return {
|
|
122
|
+
ok: exitCode === 0, exitCode, stdout, stderr,
|
|
123
|
+
// Concatenated, not interleaved: the two tails were captured separately,
|
|
124
|
+
// so joining them is a reading convenience and is documented as one.
|
|
125
|
+
output: stdout !== '' && stderr !== '' ? `${stdout}\n${stderr}` : stdout + stderr,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/** A timeout is still a failed command; re-labelling it must not delete its evidence. */
|
|
129
|
+
function relabelCommandTimeout(stepId) {
|
|
130
|
+
return (error) => {
|
|
71
131
|
if (error instanceof AuthoredFlowExecutionError
|
|
72
132
|
&& (error.completionReason === 'timeout' || error.completionReason === 'lease_expired')) {
|
|
73
|
-
// A timeout is still a failed command, and the evidence extracted for
|
|
74
|
-
// it is the same evidence. Re-labelling the error must not delete it.
|
|
75
133
|
throw new AuthoredFlowExecutionError('lease_exceeded', `f.run step "${stepId}" exceeded its command timeout.`
|
|
76
134
|
+ ` ${error.message.slice(`${error.code}: `.length)}`, error.completionReason, error.runId, error.details);
|
|
77
135
|
}
|
|
78
136
|
throw error;
|
|
79
|
-
}
|
|
80
|
-
if (!isRecord(output) || typeof output['stdout_tail'] !== 'string') {
|
|
81
|
-
throw protocolViolation(outcome.run_id, `step "${stepId}" has no string stdout_tail`);
|
|
82
|
-
}
|
|
83
|
-
return output['stdout_tail'];
|
|
137
|
+
};
|
|
84
138
|
}
|
|
85
139
|
function isStepCompleted(value, stepId) {
|
|
86
140
|
if (!isRecord(value) || value['entry_type'] !== 'step.completed' || value['step_id'] !== stepId) {
|
|
@@ -91,6 +145,20 @@ function isStepCompleted(value, stepId) {
|
|
|
91
145
|
&& isSurfaceCompletionReason(payload['completionReason'])
|
|
92
146
|
&& 'output' in payload;
|
|
93
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* The run's own terminal reason, when this entry is the one carrying it.
|
|
150
|
+
*
|
|
151
|
+
* Anything else — including a `run.completed` whose payload this reader does
|
|
152
|
+
* not recognise — yields `undefined` and leaves the step-level verdict
|
|
153
|
+
* untouched, so an unfamiliar journal shape cannot invent a failure.
|
|
154
|
+
*/
|
|
155
|
+
function runCompletionReason(entry) {
|
|
156
|
+
if (!isRecord(entry) || entry['entry_type'] !== 'run.completed')
|
|
157
|
+
return undefined;
|
|
158
|
+
const payload = entry['payload'];
|
|
159
|
+
const reason = isRecord(payload) ? payload['completionReason'] : undefined;
|
|
160
|
+
return isSurfaceRunCompletionReason(reason) ? reason : undefined;
|
|
161
|
+
}
|
|
94
162
|
export function isSurfaceCompletionReason(value) {
|
|
95
163
|
return typeof value === 'string'
|
|
96
164
|
&& COMPLETION_REASONS.includes(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authored-step-output.js","sourceRoot":"","sources":["../src/authored-step-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,uBAAuB,EAA6B,MAAM,qBAAqB,CAAC;AACrI,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAKtE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACjH,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAA0B,MAAM,0BAA0B,CAAC;AAgBnG
|
|
1
|
+
{"version":3,"file":"authored-step-output.js","sourceRoot":"","sources":["../src/authored-step-output.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type LoweredCompletionReason } from './authored-completion.js';
|
|
2
|
+
import type { JournalEvent } from './journal-reader.js';
|
|
3
|
+
/** The `instruction` discriminator `authored-root.ts` writes into the root step. */
|
|
4
|
+
export declare const AUTHORED_ROOT_KIND = "relayflows.authored-root.v1";
|
|
5
|
+
export interface AuthoredVerdict {
|
|
6
|
+
readonly reason: LoweredCompletionReason;
|
|
7
|
+
/** Absent when the body called `done()` with one argument, as most do. */
|
|
8
|
+
readonly detail?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The verdict an authored root attested, or `null` when this journal holds none.
|
|
12
|
+
*
|
|
13
|
+
* `null` is the answer for an ordinary run, for an authored run still in
|
|
14
|
+
* flight, and for one whose root output is malformed. The last of those
|
|
15
|
+
* matters: an ordinary flow may name a step `authored-root`, and a worker may
|
|
16
|
+
* journal anything into a step's output, so the step id alone attests nothing.
|
|
17
|
+
* A verdict is reported only when the run's own spec declares the authored
|
|
18
|
+
* root — carrying {@link AUTHORED_ROOT_KIND} metadata — and the root's last
|
|
19
|
+
* `step.completed` is a terminal kernel `success` whose output is a complete,
|
|
20
|
+
* in-bounds authored result. A retry or park completion is not terminal and a
|
|
21
|
+
* later attempt may still change the answer, so neither is promoted.
|
|
22
|
+
*
|
|
23
|
+
* This is a projection for a read-only view, so a malformed record yields no
|
|
24
|
+
* verdict rather than an error: refusing to render a whole status because one
|
|
25
|
+
* output field is the wrong type would replace the answer with a worse one.
|
|
26
|
+
*/
|
|
27
|
+
export declare function authoredVerdictOf(events: readonly JournalEvent[]): AuthoredVerdict | null;
|
|
28
|
+
//# sourceMappingURL=authored-verdict.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authored-verdict.d.ts","sourceRoot":"","sources":["../src/authored-verdict.ts"],"names":[],"mappings":"AAcA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,oFAAoF;AACpF,eAAO,MAAM,kBAAkB,gCAAgC,CAAC;AAEhE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,eAAe,GAAG,IAAI,CAoBzF"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// Project an authored flow's own verdict out of its root journal.
|
|
2
|
+
//
|
|
3
|
+
// `foldRunState` answers what the KERNEL recorded: the root step succeeded, so
|
|
4
|
+
// the run completed with `success`. That is true and must stay printed. It is
|
|
5
|
+
// also not what a reader asking "why did this fail?" needs when the body
|
|
6
|
+
// declared `step_failed` — a verdict the kernel's vocabulary cannot express on
|
|
7
|
+
// a step that succeeded, so it travels as output on the root's own
|
|
8
|
+
// `step.completed`.
|
|
9
|
+
//
|
|
10
|
+
// This is a separate, narrow projection rather than a branch inside the fold:
|
|
11
|
+
// the fold is generic over every run and has no business knowing what an
|
|
12
|
+
// authored root is, and the executor this vocabulary comes from must not
|
|
13
|
+
// become a dependency of `flows status`.
|
|
14
|
+
import { isDurableCompletionDetail, isLoweredCompletion, } from './authored-completion.js';
|
|
15
|
+
/** The `instruction` discriminator `authored-root.ts` writes into the root step. */
|
|
16
|
+
export const AUTHORED_ROOT_KIND = 'relayflows.authored-root.v1';
|
|
17
|
+
/**
|
|
18
|
+
* The verdict an authored root attested, or `null` when this journal holds none.
|
|
19
|
+
*
|
|
20
|
+
* `null` is the answer for an ordinary run, for an authored run still in
|
|
21
|
+
* flight, and for one whose root output is malformed. The last of those
|
|
22
|
+
* matters: an ordinary flow may name a step `authored-root`, and a worker may
|
|
23
|
+
* journal anything into a step's output, so the step id alone attests nothing.
|
|
24
|
+
* A verdict is reported only when the run's own spec declares the authored
|
|
25
|
+
* root — carrying {@link AUTHORED_ROOT_KIND} metadata — and the root's last
|
|
26
|
+
* `step.completed` is a terminal kernel `success` whose output is a complete,
|
|
27
|
+
* in-bounds authored result. A retry or park completion is not terminal and a
|
|
28
|
+
* later attempt may still change the answer, so neither is promoted.
|
|
29
|
+
*
|
|
30
|
+
* This is a projection for a read-only view, so a malformed record yields no
|
|
31
|
+
* verdict rather than an error: refusing to render a whole status because one
|
|
32
|
+
* output field is the wrong type would replace the answer with a worse one.
|
|
33
|
+
*/
|
|
34
|
+
export function authoredVerdictOf(events) {
|
|
35
|
+
const spawned = events[0];
|
|
36
|
+
if (spawned === undefined || spawned.entry_type !== 'run.spawned')
|
|
37
|
+
return null;
|
|
38
|
+
if (!declaresAuthoredRoot(spawned))
|
|
39
|
+
return null;
|
|
40
|
+
const completed = [...events].reverse().find((event) => event.entry_type === 'step.completed' && event.step_id === 'authored-root');
|
|
41
|
+
const payload = record(completed?.payload);
|
|
42
|
+
if (payload === null || payload['completionReason'] !== 'success')
|
|
43
|
+
return null;
|
|
44
|
+
const disposition = payload['disposition'];
|
|
45
|
+
if (disposition !== undefined && disposition !== 'step_done')
|
|
46
|
+
return null;
|
|
47
|
+
const output = record(payload['output']);
|
|
48
|
+
if (output === null || typeof output['name'] !== 'string')
|
|
49
|
+
return null;
|
|
50
|
+
const reason = output['completionReason'];
|
|
51
|
+
if (!isLoweredCompletion(reason))
|
|
52
|
+
return null;
|
|
53
|
+
const detail = output['completionDetail'];
|
|
54
|
+
if (detail !== undefined && !isDurableCompletionDetail(detail))
|
|
55
|
+
return null;
|
|
56
|
+
return Object.freeze({ reason, ...(detail === undefined ? {} : { detail }) });
|
|
57
|
+
}
|
|
58
|
+
function declaresAuthoredRoot(spawned) {
|
|
59
|
+
const spec = record(record(spawned.payload)?.['spec']);
|
|
60
|
+
const steps = spec?.['steps'];
|
|
61
|
+
if (!Array.isArray(steps))
|
|
62
|
+
return false;
|
|
63
|
+
const step = record(steps[0]);
|
|
64
|
+
if (step === null || step['id'] !== 'authored-root')
|
|
65
|
+
return false;
|
|
66
|
+
if (typeof step['instruction'] !== 'string')
|
|
67
|
+
return false;
|
|
68
|
+
try {
|
|
69
|
+
return record(JSON.parse(step['instruction']))?.['kind'] === AUTHORED_ROOT_KIND;
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
function record(value) {
|
|
76
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value)
|
|
77
|
+
? value : null;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=authored-verdict.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authored-verdict.js","sourceRoot":"","sources":["../src/authored-verdict.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import type { AuthoredBudget } from './authored-budget.js';
|
|
|
2
2
|
import type { AgentOptions, AgentResult, LlmOptions, NamedGate } from '@relayflows/surface';
|
|
3
3
|
import { type RunLifecycleOptions } from './cli/run.js';
|
|
4
4
|
import type { JournalClient } from './journal-client.js';
|
|
5
|
-
import { type AuthoredStepContext } from './authored-step-output.js';
|
|
5
|
+
import { type AuthoredStepContext, type RecordedRunOutcome } from './authored-step-output.js';
|
|
6
6
|
import type { AuthoredFlowJournalStep } from './authored-flow-executor.js';
|
|
7
7
|
/** Agent and LLM calls share the exact declarative preflight and lease wait. */
|
|
8
8
|
export declare function authoredWorkerRunner(definition: {
|
|
@@ -21,5 +21,8 @@ export declare function authoredWorkerRunner(definition: {
|
|
|
21
21
|
* the worker runner builds; a failed `f.run` and a failed `f.agent` now report
|
|
22
22
|
* through one grammar.
|
|
23
23
|
*/
|
|
24
|
-
export declare function authoredDeterministicRunner(name: string, journal: JournalClient, journalSteps: AuthoredFlowJournalStep[], budget: AuthoredBudget, context?: AuthoredStepContext):
|
|
24
|
+
export declare function authoredDeterministicRunner(name: string, journal: JournalClient, journalSteps: AuthoredFlowJournalStep[], budget: AuthoredBudget, context?: AuthoredStepContext): {
|
|
25
|
+
(id: string, command: string, terminal?: boolean, leaseMs?: number, verification?: NamedGate): Promise<string>;
|
|
26
|
+
recording(id: string, command: string, leaseMs?: number, verification?: NamedGate): Promise<RecordedRunOutcome>;
|
|
27
|
+
};
|
|
25
28
|
//# sourceMappingURL=authored-worker-step.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authored-worker-step.d.ts","sourceRoot":"","sources":["../src/authored-worker-step.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG5F,OAAO,EAAmB,KAAK,mBAAmB,EAAkB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"authored-worker-step.d.ts","sourceRoot":"","sources":["../src/authored-worker-step.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG5F,OAAO,EAAmB,KAAK,mBAAmB,EAAkB,MAAM,cAAc,CAAC;AAIzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAiG,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC7L,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAS3E,gFAAgF;AAChF,wBAAgB,oBAAoB,CAClC,UAAU,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EACtE,YAAY,EAAE,uBAAuB,EAAE,EAAE,WAAW,EAAE,mBAAmB,EACzE,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,OAAO,EAC1E,SAAS,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,mBAAmB,CAAC,WAAW,CAAC;IAkHvF,mFAAmF;iBACtE,OAAO,GAAG,IAAI;cAIX,MAAM,WAAW,YAAY,iBAAiB,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;YAqFhF,MAAM,UAAU,MAAM,YAAY,UAAU,iBAAiB,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;EAmB1G;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,cAAc,EACrG,OAAO,GAAE,mBAAwB;SAgCX,MAAM,WAAW,MAAM,gCAA8B,MAAM,iBAAiB,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;kBAInG,MAAM,WAAW,MAAM,YAAY,MAAM,iBAAiB,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC;EAI5H"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isAbsolute, relative, sep } from 'node:path';
|
|
2
2
|
import { parseBudget } from './budget.js';
|
|
3
3
|
import { compileSpec, toKernelSpec } from './compile.js';
|
|
4
4
|
import { checkAuthoredFlow } from './cli/check.js';
|
|
5
5
|
import { classifyOutcome } from './cli/run.js';
|
|
6
6
|
import { AuthoredFlowExecutionError } from './authored-flow-error.js';
|
|
7
|
+
import { agentCwdDeclarationError, agentCwdTransportError } from './agent-cwd.js';
|
|
7
8
|
import { SPEC_SCHEMA_VERSION } from './spec.js';
|
|
8
|
-
import { isSurfaceCompletionReason, readCompletedStepOutput, readSuccessfulOutput } from './authored-step-output.js';
|
|
9
|
+
import { isSurfaceCompletionReason, readCompletedStepOutput, readRecordedOutcome, readSuccessfulOutput } from './authored-step-output.js';
|
|
9
10
|
import { snapshotJsonValue } from './json-value.js';
|
|
10
11
|
import { authoredChildAdmissionKey } from './authored-admission.js';
|
|
11
12
|
import { alsoRecord, recordAuthoredChild } from './authored-step-index.js';
|
|
@@ -58,10 +59,18 @@ export function authoredWorkerRunner(definition, journal, flowPath, journalSteps
|
|
|
58
59
|
const execution = await classifyOutcome(journal, 'run', outcome, report, '', waitOptions);
|
|
59
60
|
if (execution.exitCode === 3) {
|
|
60
61
|
const parked = execution.report.parkedStep;
|
|
61
|
-
|
|
62
|
+
const error = new AuthoredFlowExecutionError(step.type === 'llm' ? 'llm_parked' : 'agent_parked', execution.report.diagnostics.at(-1)?.message
|
|
62
63
|
?? `flow "${definition.name}" step "${id}" parked`
|
|
63
64
|
+ (parked !== undefined ? ` (${parked.type})` : '')
|
|
64
65
|
+ ': no worker is attached to run it.', undefined, outcome.run_id);
|
|
66
|
+
// Both `agent_parked` and `llm_parked` cover two unrelated situations —
|
|
67
|
+
// nothing attached to run the step, and the kernel's `needs_human`
|
|
68
|
+
// recovery wait after a worker attempt failed — and only the first is
|
|
69
|
+
// fixed by attaching a worker. The child's classification already knows
|
|
70
|
+
// which; carry it so the CLI boundary can name a remedy without
|
|
71
|
+
// re-deriving one from this message's wording.
|
|
72
|
+
error.parkCause = execution.report.parkCause;
|
|
73
|
+
throw error;
|
|
65
74
|
}
|
|
66
75
|
if (execution.exitCode !== 0) {
|
|
67
76
|
// `execution.report.completionReason` is the RUN's reason (normally
|
|
@@ -121,12 +130,30 @@ export function authoredWorkerRunner(definition, journal, flowPath, journalSteps
|
|
|
121
130
|
if (options.model !== undefined && typeof options.model !== 'string') {
|
|
122
131
|
throw new AuthoredFlowExecutionError('agent_cli_unresolved', `f.agent options.model must be a string when set (got ${typeof options.model}).`);
|
|
123
132
|
}
|
|
124
|
-
|
|
125
|
-
|
|
133
|
+
// The same lexical rule the kernel and `flows check` apply, raised here
|
|
134
|
+
// so an authored body is refused before a run exists rather than at
|
|
135
|
+
// dispatch. Whether the directory is there is the worker's question.
|
|
136
|
+
// An absolute cwd is honored when it names a directory inside the run
|
|
137
|
+
// root — it lowers to the same relative declaration — and refused when
|
|
138
|
+
// it escapes, because a declaration this contract cannot contain is
|
|
139
|
+
// worse than none.
|
|
140
|
+
const declaredCwd = options.cwd === undefined || !isAbsolute(options.cwd) ? options.cwd
|
|
141
|
+
: relative(process.cwd(), options.cwd) || undefined;
|
|
142
|
+
if (options.cwd !== undefined && isAbsolute(options.cwd) && declaredCwd !== undefined
|
|
143
|
+
&& (declaredCwd === '..' || declaredCwd.startsWith(`..${sep}`) || isAbsolute(declaredCwd))) {
|
|
144
|
+
throw new AuthoredFlowExecutionError('agent_cli_unresolved', `f.agent options.cwd must name a directory inside the run root ${JSON.stringify(process.cwd())} (got ${JSON.stringify(options.cwd)}).`);
|
|
145
|
+
}
|
|
146
|
+
const cwdProblem = declaredCwd === undefined ? undefined : agentCwdDeclarationError(declaredCwd);
|
|
147
|
+
if (cwdProblem !== undefined) {
|
|
148
|
+
throw new AuthoredFlowExecutionError('agent_cli_unresolved', `f.agent options.cwd: ${cwdProblem}.`);
|
|
126
149
|
}
|
|
127
150
|
if (options.transport !== undefined && options.transport !== 'direct' && options.transport !== 'relay') {
|
|
128
151
|
throw new AuthoredFlowExecutionError('agent_cli_unresolved', `f.agent options.transport must be 'direct' or 'relay' (got ${JSON.stringify(options.transport)}).`);
|
|
129
152
|
}
|
|
153
|
+
const cwdTransport = agentCwdTransportError(declaredCwd, options.transport);
|
|
154
|
+
if (cwdTransport !== undefined) {
|
|
155
|
+
throw new AuthoredFlowExecutionError('agent_cli_unresolved', `f.agent options.${cwdTransport}.`);
|
|
156
|
+
}
|
|
130
157
|
const permissions = options.permissions;
|
|
131
158
|
const permissionsSnapshot = permissions === undefined ? undefined
|
|
132
159
|
: snapshotJsonValue(permissions, 'f.agent options.permissions');
|
|
@@ -137,8 +164,7 @@ export function authoredWorkerRunner(definition, journal, flowPath, journalSteps
|
|
|
137
164
|
...(options.workspace === undefined ? {} : { surfaces: { workspace: [{ surface: options.workspace }] } }),
|
|
138
165
|
...(options.cli === undefined ? {} : { cli: options.cli }),
|
|
139
166
|
...(options.model === undefined ? {} : { model: options.model }),
|
|
140
|
-
|
|
141
|
-
...(options.cwd === undefined ? {} : { cwd: resolve(options.cwd) }),
|
|
167
|
+
...(declaredCwd === undefined ? {} : { cwd: declaredCwd }),
|
|
142
168
|
...(options.transport === undefined ? {} : { transport: options.transport }),
|
|
143
169
|
...(verification === undefined ? {} : { verification }),
|
|
144
170
|
});
|
|
@@ -184,13 +210,18 @@ export function authoredWorkerRunner(definition, journal, flowPath, journalSteps
|
|
|
184
210
|
*/
|
|
185
211
|
export function authoredDeterministicRunner(name, journal, journalSteps, budget, context = {}) {
|
|
186
212
|
const rootRunId = context.rootRunId;
|
|
187
|
-
|
|
213
|
+
// One lowering, two readers. `record` changes what the child run's verdict
|
|
214
|
+
// MEANS, so the reader changes with it; everything before the read — spec,
|
|
215
|
+
// admission key, budget, child index — is deliberately shared, because a
|
|
216
|
+
// recorded red command is still an ordinary child run.
|
|
217
|
+
function lower(id, command, terminal, leaseMs, verification, onNonZero, read) {
|
|
188
218
|
const spec = toKernelSpec(compileSpec({
|
|
189
219
|
version: SPEC_SCHEMA_VERSION,
|
|
190
220
|
name: `${name}/${id}`,
|
|
191
221
|
steps: [{
|
|
192
222
|
id, type: 'deterministic', command,
|
|
193
223
|
...(leaseMs === undefined ? {} : { lease_ms: leaseMs }),
|
|
224
|
+
...(onNonZero === undefined ? {} : { onNonZero }),
|
|
194
225
|
...(verification === undefined ? {} : { verification }),
|
|
195
226
|
}],
|
|
196
227
|
}));
|
|
@@ -199,12 +230,16 @@ export function authoredDeterministicRunner(name, journal, journalSteps, budget,
|
|
|
199
230
|
await recordAuthoredChild(journal, rootRunId, {
|
|
200
231
|
step: id, runId: outcome.run_id, state: 'admitted', ...context.stepEdges?.(id),
|
|
201
232
|
});
|
|
202
|
-
return
|
|
233
|
+
return read(outcome);
|
|
203
234
|
};
|
|
204
235
|
if (terminal)
|
|
205
|
-
return
|
|
236
|
+
return journal.runStart(spec, undefined, admissionKey).then(consume);
|
|
206
237
|
return budget.execute(journal, spec, consume, admissionKey);
|
|
207
|
-
}
|
|
238
|
+
}
|
|
239
|
+
const lowerRun = (id, command, terminal = false, leaseMs, verification) => lower(id, command, terminal, leaseMs, verification, undefined, outcome => readSuccessfulOutput(journal, outcome, id, journalSteps, context));
|
|
240
|
+
/** `f.run(..., { onNonZero: 'record' })`: the exit code is the result, not a throw. */
|
|
241
|
+
lowerRun.recording = (id, command, leaseMs, verification) => lower(id, command, false, leaseMs, verification, 'record', outcome => readRecordedOutcome(journal, outcome, id, journalSteps, context));
|
|
242
|
+
return lowerRun;
|
|
208
243
|
}
|
|
209
244
|
/**
|
|
210
245
|
* Lift the step-shaped fields off a run diagnostic.
|
|
@@ -233,6 +268,8 @@ function stepDetails(diagnostic) {
|
|
|
233
268
|
...(found.stderrTail === undefined ? {} : { stderrTail: found.stderrTail }),
|
|
234
269
|
...(found.detail === undefined ? {} : { detail: found.detail }),
|
|
235
270
|
...(found.transcriptPath === undefined ? {} : { transcriptPath: found.transcriptPath }),
|
|
271
|
+
...(found.attempts === undefined ? {} : { attempts: found.attempts }),
|
|
272
|
+
...(found.attemptEvidence === undefined ? {} : { attemptEvidence: found.attemptEvidence }),
|
|
236
273
|
...(found.hint === undefined ? {} : { hint: found.hint }),
|
|
237
274
|
...(found.journalPath === undefined ? {} : { journalPath: found.journalPath }),
|
|
238
275
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authored-worker-step.js","sourceRoot":"","sources":["../src/authored-worker-step.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"authored-worker-step.js","sourceRoot":"","sources":["../src/authored-worker-step.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { FlowSpec } from '../spec.js';
|
|
2
|
+
import type { CheckWarningDiagnostic } from './check.js';
|
|
3
|
+
/**
|
|
4
|
+
* `agent` steps need a worker attached for step type `agent`, and nothing in a
|
|
5
|
+
* spec says whether one will be. `flows run` attaches the SDK's `AgentWorker`
|
|
6
|
+
* only under `--local-agent` (`cli/run.ts`); with no worker the run parks at
|
|
7
|
+
* the first agent step with `no worker is attached for step type "agent"`.
|
|
8
|
+
* `flows check` already walks these steps to print its `REQUIRES` line, so the
|
|
9
|
+
* fact is in hand — this spends it.
|
|
10
|
+
*
|
|
11
|
+
* Warning, never a refusal, and worded as a requirement rather than a
|
|
12
|
+
* prediction: worker attachment is *unknown* here, not absent. A worker can be
|
|
13
|
+
* attached out of band (an SDK `AgentWorker` against the same daemon, Cloud's
|
|
14
|
+
* workers for a hosted run), and `flows check` is daemon-free by construction,
|
|
15
|
+
* so it cannot see one either way.
|
|
16
|
+
*
|
|
17
|
+
* Scoped to `agent` steps. `--local-agent` attaches no `llm` worker on the
|
|
18
|
+
* YAML path, so naming it for `llm` steps would be false; those steps are not
|
|
19
|
+
* counted and not mentioned.
|
|
20
|
+
*
|
|
21
|
+
* Blind spot, shared with `permissions_unenforced`: an authored `.flow.ts`
|
|
22
|
+
* flow is checked through `checkMcpHeader`, which preflights a synthetic
|
|
23
|
+
* one-step header spec without executing the body. There are no compiled
|
|
24
|
+
* `agent` steps to count, so this diagnostic is silent for `.flow.ts`.
|
|
25
|
+
*/
|
|
26
|
+
export declare function agentWorkerDiagnostics(authoring: FlowSpec): CheckWarningDiagnostic[];
|
|
27
|
+
//# sourceMappingURL=check-worker-surface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-worker-surface.d.ts","sourceRoot":"","sources":["../../src/cli/check-worker-surface.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAKzD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,QAAQ,GAAG,sBAAsB,EAAE,CAIpF"}
|