@relayflows/sdk 2.0.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/dist/authored-flow-error.d.ts +9 -0
- package/dist/authored-flow-error.d.ts.map +1 -0
- package/dist/authored-flow-error.js +13 -0
- package/dist/authored-flow-error.js.map +1 -0
- package/dist/authored-flow-executor.d.ts +28 -0
- package/dist/authored-flow-executor.d.ts.map +1 -0
- package/dist/authored-flow-executor.js +203 -0
- package/dist/authored-flow-executor.js.map +1 -0
- package/dist/authored-flow-lifecycle.d.ts +61 -0
- package/dist/authored-flow-lifecycle.d.ts.map +1 -0
- package/dist/authored-flow-lifecycle.js +284 -0
- package/dist/authored-flow-lifecycle.js.map +1 -0
- package/dist/authored-flow-loader.d.ts +7 -0
- package/dist/authored-flow-loader.d.ts.map +1 -0
- package/dist/authored-flow-loader.js +39 -0
- package/dist/authored-flow-loader.js.map +1 -0
- package/dist/authored-flow-operation.d.ts +43 -0
- package/dist/authored-flow-operation.d.ts.map +1 -0
- package/dist/authored-flow-operation.js +176 -0
- package/dist/authored-flow-operation.js.map +1 -0
- package/dist/authored-flow.d.ts +12 -0
- package/dist/authored-flow.d.ts.map +1 -0
- package/dist/authored-flow.js +13 -0
- package/dist/authored-flow.js.map +1 -0
- package/dist/authored-promise-graph.d.ts +67 -0
- package/dist/authored-promise-graph.d.ts.map +1 -0
- package/dist/authored-promise-graph.js +206 -0
- package/dist/authored-promise-graph.js.map +1 -0
- package/dist/backlog-picker.d.ts +55 -0
- package/dist/backlog-picker.d.ts.map +1 -0
- package/dist/backlog-picker.js +117 -0
- package/dist/backlog-picker.js.map +1 -0
- package/dist/canonical.d.ts +18 -0
- package/dist/canonical.d.ts.map +1 -0
- package/dist/canonical.js +55 -0
- package/dist/canonical.js.map +1 -0
- package/dist/cli/check.d.ts +30 -0
- package/dist/cli/check.d.ts.map +1 -0
- package/dist/cli/check.js +324 -0
- package/dist/cli/check.js.map +1 -0
- package/dist/cli/direct-run.d.ts +3 -0
- package/dist/cli/direct-run.d.ts.map +1 -0
- package/dist/cli/direct-run.js +69 -0
- package/dist/cli/direct-run.js.map +1 -0
- package/dist/cli/hn-monitor.d.ts +107 -0
- package/dist/cli/hn-monitor.d.ts.map +1 -0
- package/dist/cli/hn-monitor.js +220 -0
- package/dist/cli/hn-monitor.js.map +1 -0
- package/dist/cli/interruptible-sleep.d.ts +13 -0
- package/dist/cli/interruptible-sleep.d.ts.map +1 -0
- package/dist/cli/interruptible-sleep.js +31 -0
- package/dist/cli/interruptible-sleep.js.map +1 -0
- package/dist/cli/run.d.ts +54 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +316 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/cli/tick-runner.d.ts +151 -0
- package/dist/cli/tick-runner.d.ts.map +1 -0
- package/dist/cli/tick-runner.js +258 -0
- package/dist/cli/tick-runner.js.map +1 -0
- package/dist/cli-adapter.d.ts +29 -0
- package/dist/cli-adapter.d.ts.map +1 -0
- package/dist/cli-adapter.js +92 -0
- package/dist/cli-adapter.js.map +1 -0
- package/dist/cli-executable.d.ts +3 -0
- package/dist/cli-executable.d.ts.map +1 -0
- package/dist/cli-executable.js +10 -0
- package/dist/cli-executable.js.map +1 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +348 -0
- package/dist/cli.js.map +1 -0
- package/dist/compile.d.ts +42 -0
- package/dist/compile.d.ts.map +1 -0
- package/dist/compile.js +515 -0
- package/dist/compile.js.map +1 -0
- package/dist/demo-hn-monitor.d.ts +2 -0
- package/dist/demo-hn-monitor.d.ts.map +1 -0
- package/dist/demo-hn-monitor.js +118 -0
- package/dist/demo-hn-monitor.js.map +1 -0
- package/dist/dir-watcher-poller.d.ts +73 -0
- package/dist/dir-watcher-poller.d.ts.map +1 -0
- package/dist/dir-watcher-poller.js +80 -0
- package/dist/dir-watcher-poller.js.map +1 -0
- package/dist/direct-input.d.ts +10 -0
- package/dist/direct-input.d.ts.map +1 -0
- package/dist/direct-input.js +61 -0
- package/dist/direct-input.js.map +1 -0
- package/dist/failure-kinds.d.ts +25 -0
- package/dist/failure-kinds.d.ts.map +1 -0
- package/dist/failure-kinds.js +64 -0
- package/dist/failure-kinds.js.map +1 -0
- package/dist/gate-contract.d.ts +24 -0
- package/dist/gate-contract.d.ts.map +1 -0
- package/dist/gate-contract.js +50 -0
- package/dist/gate-contract.js.map +1 -0
- package/dist/hn-poller.d.ts +50 -0
- package/dist/hn-poller.d.ts.map +1 -0
- package/dist/hn-poller.js +79 -0
- package/dist/hn-poller.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/journal-client.d.ts +122 -0
- package/dist/journal-client.d.ts.map +1 -0
- package/dist/journal-client.js +277 -0
- package/dist/journal-client.js.map +1 -0
- package/dist/json-schema-bound.d.ts +7 -0
- package/dist/json-schema-bound.d.ts.map +1 -0
- package/dist/json-schema-bound.js +353 -0
- package/dist/json-schema-bound.js.map +1 -0
- package/dist/json-schema.d.ts +5 -0
- package/dist/json-schema.d.ts.map +1 -0
- package/dist/json-schema.js +72 -0
- package/dist/json-schema.js.map +1 -0
- package/dist/json-value.d.ts +6 -0
- package/dist/json-value.d.ts.map +1 -0
- package/dist/json-value.js +94 -0
- package/dist/json-value.js.map +1 -0
- package/dist/model-name.d.ts +7 -0
- package/dist/model-name.d.ts.map +1 -0
- package/dist/model-name.js +21 -0
- package/dist/model-name.js.map +1 -0
- package/dist/output-schema.d.ts +8 -0
- package/dist/output-schema.d.ts.map +1 -0
- package/dist/output-schema.js +28 -0
- package/dist/output-schema.js.map +1 -0
- package/dist/preflight.d.ts +80 -0
- package/dist/preflight.d.ts.map +1 -0
- package/dist/preflight.js +361 -0
- package/dist/preflight.js.map +1 -0
- package/dist/protocol.d.ts +359 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +15 -0
- package/dist/protocol.js.map +1 -0
- package/dist/spec.d.ts +294 -0
- package/dist/spec.d.ts.map +1 -0
- package/dist/spec.js +13 -0
- package/dist/spec.js.map +1 -0
- package/dist/step-dependencies.d.ts +2 -0
- package/dist/step-dependencies.d.ts.map +1 -0
- package/dist/step-dependencies.js +88 -0
- package/dist/step-dependencies.js.map +1 -0
- package/dist/step-fields.d.ts +17 -0
- package/dist/step-fields.d.ts.map +1 -0
- package/dist/step-fields.js +32 -0
- package/dist/step-fields.js.map +1 -0
- package/dist/tick-source.d.ts +205 -0
- package/dist/tick-source.d.ts.map +1 -0
- package/dist/tick-source.js +234 -0
- package/dist/tick-source.js.map +1 -0
- package/dist/unknown-keys.d.ts +7 -0
- package/dist/unknown-keys.d.ts.map +1 -0
- package/dist/unknown-keys.js +47 -0
- package/dist/unknown-keys.js.map +1 -0
- package/dist/validate.d.ts +7 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +458 -0
- package/dist/validate.js.map +1 -0
- package/dist/work-package-consumer.d.ts +33 -0
- package/dist/work-package-consumer.d.ts.map +1 -0
- package/dist/work-package-consumer.js +44 -0
- package/dist/work-package-consumer.js.map +1 -0
- package/dist/work-package-validator.d.ts +15 -0
- package/dist/work-package-validator.d.ts.map +1 -0
- package/dist/work-package-validator.js +72 -0
- package/dist/work-package-validator.js.map +1 -0
- package/dist/worker-cli.d.ts +16 -0
- package/dist/worker-cli.d.ts.map +1 -0
- package/dist/worker-cli.js +77 -0
- package/dist/worker-cli.js.map +1 -0
- package/dist/worker.d.ts +57 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +129 -0
- package/dist/worker.js.map +1 -0
- package/dist/wrapper-runtime.d.ts +10 -0
- package/dist/wrapper-runtime.d.ts.map +1 -0
- package/dist/wrapper-runtime.js +83 -0
- package/dist/wrapper-runtime.js.map +1 -0
- package/dist/wrapper-session.d.ts +16 -0
- package/dist/wrapper-session.d.ts.map +1 -0
- package/dist/wrapper-session.js +244 -0
- package/dist/wrapper-session.js.map +1 -0
- package/package.json +50 -0
- package/src/authored-flow-error.ts +31 -0
- package/src/authored-flow-executor.ts +365 -0
- package/src/authored-flow-lifecycle.ts +344 -0
- package/src/authored-flow-loader.ts +44 -0
- package/src/authored-flow-operation.ts +252 -0
- package/src/authored-flow.ts +21 -0
- package/src/authored-promise-graph.ts +196 -0
- package/src/backlog-picker.ts +153 -0
- package/src/canonical.ts +57 -0
- package/src/cli/check.ts +391 -0
- package/src/cli/direct-run.ts +86 -0
- package/src/cli/hn-monitor.ts +286 -0
- package/src/cli/interruptible-sleep.ts +27 -0
- package/src/cli/run.ts +439 -0
- package/src/cli/tick-runner.ts +378 -0
- package/src/cli-adapter.ts +115 -0
- package/src/cli-executable.ts +12 -0
- package/src/cli.ts +364 -0
- package/src/compile.ts +573 -0
- package/src/demo-hn-monitor.ts +132 -0
- package/src/dir-watcher-poller.ts +122 -0
- package/src/direct-input.ts +69 -0
- package/src/failure-kinds.ts +77 -0
- package/src/gate-contract.ts +72 -0
- package/src/hn-poller.ts +104 -0
- package/src/index.ts +195 -0
- package/src/journal-client.ts +379 -0
- package/src/json-schema-bound.ts +357 -0
- package/src/json-schema.ts +65 -0
- package/src/json-value.ts +110 -0
- package/src/model-name.ts +20 -0
- package/src/output-schema.ts +33 -0
- package/src/preflight.ts +482 -0
- package/src/protocol.ts +364 -0
- package/src/spec.ts +343 -0
- package/src/step-dependencies.ts +100 -0
- package/src/step-fields.ts +36 -0
- package/src/tick-source.ts +334 -0
- package/src/unknown-keys.ts +52 -0
- package/src/validate.ts +503 -0
- package/src/work-package-consumer.ts +73 -0
- package/src/work-package-validator.ts +90 -0
- package/src/worker-cli.ts +110 -0
- package/src/worker.ts +150 -0
- package/src/wrapper-runtime.ts +93 -0
- package/src/wrapper-session.ts +287 -0
package/dist/compile.js
ADDED
|
@@ -0,0 +1,515 @@
|
|
|
1
|
+
// The YAML -> spec compiler. Authoring surface in, the kernel's spec dialect
|
|
2
|
+
// out (RFC settled decision #5: the composable unit is the spec, not any
|
|
3
|
+
// language). Compilation is two mappings:
|
|
4
|
+
//
|
|
5
|
+
// compileYaml / compileSpec — parse + validate (fail-closed) + authoring
|
|
6
|
+
// defaults, staying in the authoring shape.
|
|
7
|
+
// toKernelSpec — authoring shape -> the ONE boundary dialect
|
|
8
|
+
// the kernel parses, journals, and hashes
|
|
9
|
+
// (snake_case, flat v0 verification, defaults
|
|
10
|
+
// materialized).
|
|
11
|
+
//
|
|
12
|
+
// `compileYamlToCanonicalJson` / `specHash` operate on the kernel dialect, so
|
|
13
|
+
// sha256(canonical JSON) equals the kernel's `spec_hash`. That claim is
|
|
14
|
+
// proven, not asserted: `tests/spec-parity.test.ts` and the kernel's
|
|
15
|
+
// `tests/spec_parity.rs` pin both sides to the same `testdata/` fixture.
|
|
16
|
+
import { parse as parseYaml } from 'yaml';
|
|
17
|
+
import { SPEC_SCHEMA_VERSION } from './spec.js';
|
|
18
|
+
import { canonicalize, specHash } from './canonical.js';
|
|
19
|
+
import { validateOutputDeclaration } from './output-schema.js';
|
|
20
|
+
import { validateSpec } from './validate.js';
|
|
21
|
+
import { snapshotJsonValue } from './json-value.js';
|
|
22
|
+
export class CompileError extends Error {
|
|
23
|
+
errors;
|
|
24
|
+
constructor(errors) {
|
|
25
|
+
super('spec compile failed:\n - ' + errors.join('\n - '));
|
|
26
|
+
this.name = 'CompileError';
|
|
27
|
+
this.errors = errors;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Compile a YAML string into a validated authoring `FlowSpec`.
|
|
32
|
+
* Throws `CompileError` on a YAML parse error or any validation failure.
|
|
33
|
+
*/
|
|
34
|
+
export function compileYaml(yaml) {
|
|
35
|
+
const parsed = parseYaml(yaml);
|
|
36
|
+
if (parsed === null || typeof parsed !== 'object') {
|
|
37
|
+
throw new CompileError(['YAML: expected a mapping at the top level']);
|
|
38
|
+
}
|
|
39
|
+
return compileSpec(parsed);
|
|
40
|
+
}
|
|
41
|
+
/** Kernel-dialect canonical JSON of `compileYaml` (sorted keys, no whitespace). */
|
|
42
|
+
export function compileYamlToCanonicalJson(yaml) {
|
|
43
|
+
return canonicalize(toKernelSpec(compileYaml(yaml)));
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Validate a parsed spec object and apply authoring defaults, returning a
|
|
47
|
+
* normalized `FlowSpec`. Throws `CompileError` on validation failure.
|
|
48
|
+
*/
|
|
49
|
+
export function compileSpec(spec) {
|
|
50
|
+
let snapshot;
|
|
51
|
+
try {
|
|
52
|
+
snapshot = snapshotJsonValue(spec, 'spec');
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
throw new CompileError([
|
|
56
|
+
error instanceof Error ? error.message : 'spec: expected JSON-compatible data',
|
|
57
|
+
]);
|
|
58
|
+
}
|
|
59
|
+
const validation = validateSpec(snapshot);
|
|
60
|
+
if (!validation.ok)
|
|
61
|
+
throw new CompileError(validation.errors);
|
|
62
|
+
const input = snapshot;
|
|
63
|
+
// Preserve named declarations and selectors through authoring normalization.
|
|
64
|
+
// They are resolved exactly once at the kernel boundary, after public
|
|
65
|
+
// preflight has validated every declaration with truthful provenance.
|
|
66
|
+
const steps = input.steps.map(compileStep);
|
|
67
|
+
const flow = {
|
|
68
|
+
version: input.version,
|
|
69
|
+
...(input.name !== undefined ? { name: input.name } : {}),
|
|
70
|
+
...(input.description !== undefined ? { description: input.description } : {}),
|
|
71
|
+
...(input.cli !== undefined ? { cli: input.cli } : {}),
|
|
72
|
+
...(input.agents !== undefined ? { agents: input.agents } : {}),
|
|
73
|
+
// The kernel omits an empty trigger list when serializing RunSpec. Normalize
|
|
74
|
+
// it here so the authoring shape and boundary shape retain one hashable form.
|
|
75
|
+
...(input.triggers?.length ? { triggers: input.triggers } : {}),
|
|
76
|
+
steps,
|
|
77
|
+
...(input.budget !== undefined ? { budget: input.budget } : {}),
|
|
78
|
+
};
|
|
79
|
+
return flow;
|
|
80
|
+
}
|
|
81
|
+
function compileStep(step) {
|
|
82
|
+
const maxIterations = step.maxIterations ?? 1;
|
|
83
|
+
const verification = typedOutputVerification(step);
|
|
84
|
+
const base = {
|
|
85
|
+
id: step.id,
|
|
86
|
+
type: step.type,
|
|
87
|
+
...(step.dependsOn !== undefined ? { dependsOn: step.dependsOn } : {}),
|
|
88
|
+
maxIterations,
|
|
89
|
+
};
|
|
90
|
+
switch (step.type) {
|
|
91
|
+
case 'deterministic': {
|
|
92
|
+
const s = step;
|
|
93
|
+
// A deterministic step with no verification gets the implicit exit_code
|
|
94
|
+
// gate. Read the SHARED `verification`, never `s.verification`: for this
|
|
95
|
+
// verb the two are equal today (typedOutputVerification returns
|
|
96
|
+
// `step.verification` unchanged, because `output` is not authorable on a
|
|
97
|
+
// deterministic step), but reading the shared binding is what keeps every
|
|
98
|
+
// branch of this switch on the lowered gate rather than the raw authored
|
|
99
|
+
// one. See ops/reviews/20260903-pr139-repair-0903.md §10, trap 2.
|
|
100
|
+
return {
|
|
101
|
+
...base,
|
|
102
|
+
type: 'deterministic',
|
|
103
|
+
command: s.command,
|
|
104
|
+
verification: verification ?? { type: 'exit_code' },
|
|
105
|
+
// #138: `timeoutMs` is deterministic-only — worker-backed verbs own
|
|
106
|
+
// their dispatch timeout. It must be spread HERE and nowhere in `base`.
|
|
107
|
+
...(s.timeoutMs !== undefined ? { timeoutMs: s.timeoutMs } : {}),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
case 'llm': {
|
|
111
|
+
const s = step;
|
|
112
|
+
return {
|
|
113
|
+
...base,
|
|
114
|
+
type: 'llm',
|
|
115
|
+
prompt: s.prompt,
|
|
116
|
+
// From the shared `verification` — which may have been lowered from an
|
|
117
|
+
// `output` declaration — never from `s.verification`, which would drop
|
|
118
|
+
// that lowering.
|
|
119
|
+
...(verification !== undefined ? { verification: outputGate(verification, s.id) } : {}),
|
|
120
|
+
...(s.model !== undefined ? { model: s.model } : {}),
|
|
121
|
+
...(s.cli !== undefined ? { cli: s.cli } : {}),
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
case 'agent': {
|
|
125
|
+
const s = step;
|
|
126
|
+
const recoveryMode = s.recoveryMode ?? 'reset';
|
|
127
|
+
return {
|
|
128
|
+
...base,
|
|
129
|
+
type: 'agent',
|
|
130
|
+
instruction: s.instruction,
|
|
131
|
+
...(verification !== undefined ? { verification: outputGate(verification, s.id) } : {}),
|
|
132
|
+
...(s.agent !== undefined ? { agent: s.agent } : {}),
|
|
133
|
+
...(s.cli !== undefined ? { cli: s.cli } : {}),
|
|
134
|
+
...(s.model !== undefined ? { model: s.model } : {}),
|
|
135
|
+
recoveryMode,
|
|
136
|
+
...(s.surfaces !== undefined ? { surfaces: s.surfaces } : {}),
|
|
137
|
+
...(s.permissions !== undefined ? { permissions: s.permissions } : {}),
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
default:
|
|
141
|
+
// validateSpec already gated this; unreachable.
|
|
142
|
+
throw new CompileError([`step "${step.id}": unknown type "${String(step.type)}"`]);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Narrow a gate to the ones an `llm`/`agent` step may carry. `validateSpec`
|
|
147
|
+
* already refuses `exit_code` off a deterministic step, so this is the
|
|
148
|
+
* fail-closed backstop for a runtime value cast past the authoring types.
|
|
149
|
+
*/
|
|
150
|
+
function outputGate(gate, stepId) {
|
|
151
|
+
if (gate.type === 'exit_code') {
|
|
152
|
+
throw new CompileError([
|
|
153
|
+
`step "${stepId}": exit_code is supported only on deterministic steps`,
|
|
154
|
+
]);
|
|
155
|
+
}
|
|
156
|
+
return gate;
|
|
157
|
+
}
|
|
158
|
+
function typedOutputVerification(step) {
|
|
159
|
+
if (step.type !== 'deterministic' && step.output !== undefined) {
|
|
160
|
+
const errors = validateOutputDeclaration(step, `step "${step.id}"`);
|
|
161
|
+
if (errors.length > 0)
|
|
162
|
+
throw new CompileError(errors);
|
|
163
|
+
return { type: 'json_schema', schema: step.output };
|
|
164
|
+
}
|
|
165
|
+
return step.verification;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Resolve declarative named-agent sugar at kernel lowering. Explicit step
|
|
169
|
+
* fields win independently, so an author may override
|
|
170
|
+
* only the CLI or only the model. The selector and declaration map never
|
|
171
|
+
* cross the journal boundary.
|
|
172
|
+
*/
|
|
173
|
+
function resolveNamedAgent(step, agents) {
|
|
174
|
+
if (step.type !== 'agent' || step.agent === undefined)
|
|
175
|
+
return step;
|
|
176
|
+
const declaration = agents !== undefined && Object.hasOwn(agents, step.agent)
|
|
177
|
+
? agents[step.agent]
|
|
178
|
+
: undefined;
|
|
179
|
+
if (declaration === undefined) {
|
|
180
|
+
throw new CompileError([
|
|
181
|
+
`step "${step.id}": unknown named agent "${step.agent}"`,
|
|
182
|
+
]);
|
|
183
|
+
}
|
|
184
|
+
return {
|
|
185
|
+
...step,
|
|
186
|
+
...(step.cli === undefined ? { cli: declaration.cli } : {}),
|
|
187
|
+
...(step.model === undefined ? { model: declaration.model } : {}),
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
// Kernel defaults, materialized at compile time so the emitted spec is
|
|
191
|
+
// byte-identical to the kernel's own serialization of it (spec.rs defaults).
|
|
192
|
+
const KERNEL_RETRY_DEFAULTS = {
|
|
193
|
+
initial_backoff_ms: 100,
|
|
194
|
+
max_backoff_ms: 60_000,
|
|
195
|
+
multiplier: 2,
|
|
196
|
+
jitter_percent: 20,
|
|
197
|
+
};
|
|
198
|
+
/**
|
|
199
|
+
* Map an authoring `FlowSpec` to the kernel spec dialect — the single shape at
|
|
200
|
+
* the SDK↔kernel boundary (`kernel/relayflowd-core/src/spec.rs`). Authoring
|
|
201
|
+
* sugar that the dialect cannot carry is a `CompileError`, never a silent drop.
|
|
202
|
+
*/
|
|
203
|
+
export function toKernelSpec(flow) {
|
|
204
|
+
// This public boundary is callable without compileSpec. Compile again so
|
|
205
|
+
// runtime casts are validated and all returned schema data is snapshotted.
|
|
206
|
+
const compiled = compileSpec(flow);
|
|
207
|
+
return {
|
|
208
|
+
version: compiled.version,
|
|
209
|
+
...(compiled.name !== undefined ? { name: compiled.name } : {}),
|
|
210
|
+
...(compiled.description !== undefined ? { description: compiled.description } : {}),
|
|
211
|
+
...(compiled.cli !== undefined ? { cli: compiled.cli } : {}),
|
|
212
|
+
// Both halves are load-bearing, and this hunk is trap 2's shape a second
|
|
213
|
+
// time. `compiled.*` is #139's snapshot guard: this boundary is callable
|
|
214
|
+
// without compileSpec, so it recompiles and reads the validated, snapshotted
|
|
215
|
+
// spec rather than the caller's raw object. `.map(toKernelTrigger)` is
|
|
216
|
+
// #151's LOWERING of authoring trigger keys into the kernel dialect --
|
|
217
|
+
// authoring sugar that becomes a different object at the boundary, exactly
|
|
218
|
+
// like `output:`. Taking either side of this conflict wholesale silently
|
|
219
|
+
// reverts the other, and `validateSpec` and `flows check` would both still
|
|
220
|
+
// look correct. See ops/reviews/20260903-pr139-repair-0903.md section 10.
|
|
221
|
+
...(compiled.triggers?.length ? { triggers: compiled.triggers.map(toKernelTrigger) } : {}),
|
|
222
|
+
steps: compiled.steps.map((step) => toKernelStep(resolveNamedAgent(step, compiled.agents))),
|
|
223
|
+
...(compiled.budget !== undefined
|
|
224
|
+
? {
|
|
225
|
+
budget: {
|
|
226
|
+
...(compiled.budget.maxTokensIn !== undefined ? { max_tokens_in: compiled.budget.maxTokensIn } : {}),
|
|
227
|
+
...(compiled.budget.maxTokensOut !== undefined ? { max_tokens_out: compiled.budget.maxTokensOut } : {}),
|
|
228
|
+
...(compiled.budget.maxDollars !== undefined ? { max_dollars: compiled.budget.maxDollars } : {}),
|
|
229
|
+
},
|
|
230
|
+
}
|
|
231
|
+
: {}),
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Map the kernel boundary dialect back to the normalized authoring shape.
|
|
236
|
+
* This is the inverse of `toKernelSpec` over specs this compiler emits.
|
|
237
|
+
* Kernel-only values with no authoring representation are refused.
|
|
238
|
+
*/
|
|
239
|
+
export function kernelToAuthoring(value) {
|
|
240
|
+
let snapshot;
|
|
241
|
+
try {
|
|
242
|
+
snapshot = snapshotJsonValue(value, 'spec');
|
|
243
|
+
}
|
|
244
|
+
catch (error) {
|
|
245
|
+
throw new CompileError([
|
|
246
|
+
error instanceof Error ? error.message : 'spec: expected JSON-compatible data',
|
|
247
|
+
]);
|
|
248
|
+
}
|
|
249
|
+
const root = requireKernelObject(snapshot, ['version', 'name', 'description', 'cli', 'triggers', 'steps', 'budget'], 'spec');
|
|
250
|
+
const steps = requireKernelArray(root['steps'], 'spec.steps')
|
|
251
|
+
.map((step, index) => kernelStepToAuthoring(step, `spec.steps[${index}]`));
|
|
252
|
+
const triggers = root['triggers'];
|
|
253
|
+
return {
|
|
254
|
+
...copyDefined(root, ['version', 'name', 'description', 'cli']),
|
|
255
|
+
...(triggers !== undefined
|
|
256
|
+
? {
|
|
257
|
+
triggers: requireKernelArray(triggers, 'spec.triggers')
|
|
258
|
+
.map((trigger, index) => kernelTriggerToAuthoring(trigger, `spec.triggers[${index}]`)),
|
|
259
|
+
}
|
|
260
|
+
: {}),
|
|
261
|
+
steps,
|
|
262
|
+
...(root['budget'] !== undefined
|
|
263
|
+
? { budget: kernelBudgetToAuthoring(root['budget'], 'spec.budget') }
|
|
264
|
+
: {}),
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Lower one authoring trigger into the kernel dialect.
|
|
269
|
+
*
|
|
270
|
+
* This mapping was missing entirely: `toKernelSpec` used to spread
|
|
271
|
+
* `flow.triggers` through untouched, so every event subscription reached the
|
|
272
|
+
* kernel in camelCase and `relayflowd` — whose `TriggerSpec` is
|
|
273
|
+
* `#[serde(deny_unknown_fields)]` over snake_case — refused the spec outright:
|
|
274
|
+
*
|
|
275
|
+
* malformed run spec: unknown field `dedupeKeyTemplate`, expected one of
|
|
276
|
+
* `id`, `executor`, `event_type`, `pattern`, `dedupe_key_template`,
|
|
277
|
+
* `stale_after_ms`
|
|
278
|
+
*
|
|
279
|
+
* The committed `testdata/*.spec.canonical.json` fixtures are snake_case and
|
|
280
|
+
* the kernel accepts them, which is why nothing noticed: no test compiled a
|
|
281
|
+
* triggered flow through this function and compared it to a fixture. Every
|
|
282
|
+
* triggered flow in `testdata/` was therefore unauthorable through the
|
|
283
|
+
* supported SDK path. `tests/spec-parity.test.ts` now pins the mapping.
|
|
284
|
+
*/
|
|
285
|
+
function toKernelTrigger(trigger) {
|
|
286
|
+
return {
|
|
287
|
+
id: trigger.id,
|
|
288
|
+
executor: trigger.executor,
|
|
289
|
+
...(trigger.eventType !== undefined ? { event_type: trigger.eventType } : {}),
|
|
290
|
+
...(trigger.pattern !== undefined ? { pattern: trigger.pattern } : {}),
|
|
291
|
+
...(trigger.dedupeKeyTemplate !== undefined
|
|
292
|
+
? { dedupe_key_template: trigger.dedupeKeyTemplate }
|
|
293
|
+
: {}),
|
|
294
|
+
...(trigger.staleAfterMs !== undefined ? { stale_after_ms: trigger.staleAfterMs } : {}),
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
/** Inverse of `toKernelTrigger`. Kernel-only keys are refused, never dropped. */
|
|
298
|
+
function kernelTriggerToAuthoring(value, at) {
|
|
299
|
+
const trigger = requireKernelObject(value, ['id', 'executor', 'event_type', 'pattern', 'dedupe_key_template', 'stale_after_ms'], at);
|
|
300
|
+
return {
|
|
301
|
+
id: trigger['id'],
|
|
302
|
+
executor: trigger['executor'],
|
|
303
|
+
...(trigger['event_type'] !== undefined ? { eventType: trigger['event_type'] } : {}),
|
|
304
|
+
...(trigger['pattern'] !== undefined ? { pattern: trigger['pattern'] } : {}),
|
|
305
|
+
...(trigger['dedupe_key_template'] !== undefined
|
|
306
|
+
? { dedupeKeyTemplate: trigger['dedupe_key_template'] }
|
|
307
|
+
: {}),
|
|
308
|
+
...(trigger['stale_after_ms'] !== undefined ? { staleAfterMs: trigger['stale_after_ms'] } : {}),
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
function kernelStepToAuthoring(value, at) {
|
|
312
|
+
const unionKeys = [
|
|
313
|
+
'id', 'type', 'depends_on', 'max_iterations', 'retry', 'verification',
|
|
314
|
+
'command', 'timeout_ms', 'prompt', 'model', 'cli', 'instruction',
|
|
315
|
+
'recovery_mode', 'surfaces', 'permissions',
|
|
316
|
+
];
|
|
317
|
+
const step = requireKernelObject(value, unionKeys, at);
|
|
318
|
+
const type = step['type'];
|
|
319
|
+
const commonKeys = ['id', 'type', 'depends_on', 'max_iterations', 'retry', 'verification'];
|
|
320
|
+
const typeKeys = type === 'deterministic'
|
|
321
|
+
? ['command', 'timeout_ms']
|
|
322
|
+
: type === 'llm'
|
|
323
|
+
? ['prompt', 'model', 'cli']
|
|
324
|
+
: type === 'agent'
|
|
325
|
+
? ['instruction', 'cli', 'model', 'recovery_mode', 'surfaces', 'permissions']
|
|
326
|
+
: [];
|
|
327
|
+
assertKernelKeys(step, [...commonKeys, ...typeKeys], at);
|
|
328
|
+
if (step['retry'] !== undefined)
|
|
329
|
+
validateKernelRetry(step['retry'], `${at}.retry`);
|
|
330
|
+
const dependsOn = step['depends_on'];
|
|
331
|
+
const common = {
|
|
332
|
+
id: step['id'],
|
|
333
|
+
type,
|
|
334
|
+
...(dependsOn !== undefined && (!Array.isArray(dependsOn) || dependsOn.length > 0)
|
|
335
|
+
? { dependsOn }
|
|
336
|
+
: {}),
|
|
337
|
+
...(step['max_iterations'] !== undefined ? { maxIterations: step['max_iterations'] } : {}),
|
|
338
|
+
...kernelVerificationToAuthoring(type, step['verification'], `${at}.verification`),
|
|
339
|
+
};
|
|
340
|
+
if (type === 'deterministic') {
|
|
341
|
+
return {
|
|
342
|
+
...common,
|
|
343
|
+
command: step['command'],
|
|
344
|
+
...(step['timeout_ms'] !== undefined ? { timeoutMs: step['timeout_ms'] } : {}),
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
if (type === 'llm') {
|
|
348
|
+
return { ...common, prompt: step['prompt'], ...copyDefined(step, ['model', 'cli']) };
|
|
349
|
+
}
|
|
350
|
+
if (type === 'agent') {
|
|
351
|
+
return {
|
|
352
|
+
...common,
|
|
353
|
+
instruction: step['instruction'],
|
|
354
|
+
...(step['recovery_mode'] !== undefined ? { recoveryMode: step['recovery_mode'] } : {}),
|
|
355
|
+
...copyDefined(step, ['cli', 'model', 'surfaces']),
|
|
356
|
+
...(step['permissions'] !== undefined
|
|
357
|
+
? { permissions: kernelPermissionsToAuthoring(step['permissions'], `${at}.permissions`) }
|
|
358
|
+
: {}),
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
return common;
|
|
362
|
+
}
|
|
363
|
+
function validateKernelRetry(value, at) {
|
|
364
|
+
const retry = requireKernelObject(value, [
|
|
365
|
+
'initial_backoff_ms', 'max_backoff_ms', 'multiplier', 'jitter_percent',
|
|
366
|
+
], at);
|
|
367
|
+
for (const [field, expected] of Object.entries(KERNEL_RETRY_DEFAULTS)) {
|
|
368
|
+
if (retry[field] !== expected) {
|
|
369
|
+
throw new CompileError([
|
|
370
|
+
`${at}.${field} must equal the authoring default ${expected}`,
|
|
371
|
+
]);
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
function kernelVerificationToAuthoring(type, value, at) {
|
|
376
|
+
if (value === undefined)
|
|
377
|
+
return {};
|
|
378
|
+
const verification = requireKernelObject(value, ['output_contains', 'json_schema'], at);
|
|
379
|
+
if (verification['output_contains'] !== undefined && verification['json_schema'] !== undefined) {
|
|
380
|
+
throw new CompileError([`${at} may not contain two gates in spec v0.1.0`]);
|
|
381
|
+
}
|
|
382
|
+
if (verification['output_contains'] !== undefined) {
|
|
383
|
+
return { verification: { type: 'output_contains', value: verification['output_contains'] } };
|
|
384
|
+
}
|
|
385
|
+
if (verification['json_schema'] !== undefined) {
|
|
386
|
+
return { verification: { type: 'json_schema', schema: verification['json_schema'] } };
|
|
387
|
+
}
|
|
388
|
+
return type === 'deterministic' ? { verification: { type: 'exit_code' } } : {};
|
|
389
|
+
}
|
|
390
|
+
function kernelBudgetToAuthoring(value, at) {
|
|
391
|
+
const budget = requireKernelObject(value, ['max_tokens_in', 'max_tokens_out', 'max_dollars'], at);
|
|
392
|
+
return {
|
|
393
|
+
...(budget['max_tokens_in'] !== undefined ? { maxTokensIn: budget['max_tokens_in'] } : {}),
|
|
394
|
+
...(budget['max_tokens_out'] !== undefined ? { maxTokensOut: budget['max_tokens_out'] } : {}),
|
|
395
|
+
...(budget['max_dollars'] !== undefined ? { maxDollars: budget['max_dollars'] } : {}),
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
function kernelPermissionsToAuthoring(value, at) {
|
|
399
|
+
const permissions = requireKernelObject(value, ['file_globs', 'network_allowlist', 'access_preset'], at);
|
|
400
|
+
return {
|
|
401
|
+
...(permissions['file_globs'] !== undefined ? { fileGlobs: permissions['file_globs'] } : {}),
|
|
402
|
+
...(permissions['network_allowlist'] !== undefined ? { networkAllowlist: permissions['network_allowlist'] } : {}),
|
|
403
|
+
...(permissions['access_preset'] !== undefined ? { accessPreset: permissions['access_preset'] } : {}),
|
|
404
|
+
};
|
|
405
|
+
}
|
|
406
|
+
function requireKernelObject(value, allowed, at) {
|
|
407
|
+
if (!isObject(value)) {
|
|
408
|
+
throw new CompileError([`${at}: expected an object`]);
|
|
409
|
+
}
|
|
410
|
+
assertKernelKeys(value, allowed, at);
|
|
411
|
+
return value;
|
|
412
|
+
}
|
|
413
|
+
function assertKernelKeys(value, allowed, at) {
|
|
414
|
+
const unknown = Object.keys(value).filter((key) => !allowed.includes(key));
|
|
415
|
+
if (unknown.length > 0) {
|
|
416
|
+
throw new CompileError([
|
|
417
|
+
`${at}: unknown ${unknown.length === 1 ? 'key' : 'keys'} ${unknown.map((key) => `"${key}"`).join(', ')} (expected one of ${allowed.join(' | ')})`,
|
|
418
|
+
]);
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
function requireKernelArray(value, at) {
|
|
422
|
+
if (!Array.isArray(value))
|
|
423
|
+
throw new CompileError([`${at}: expected an array`]);
|
|
424
|
+
return value;
|
|
425
|
+
}
|
|
426
|
+
function copyDefined(value, keys) {
|
|
427
|
+
return Object.fromEntries(keys.filter((key) => value[key] !== undefined).map((key) => [key, value[key]]));
|
|
428
|
+
}
|
|
429
|
+
function isObject(value) {
|
|
430
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
431
|
+
}
|
|
432
|
+
function toKernelStep(step) {
|
|
433
|
+
const common = {
|
|
434
|
+
id: step.id,
|
|
435
|
+
depends_on: step.dependsOn ?? [],
|
|
436
|
+
max_iterations: step.maxIterations ?? 1,
|
|
437
|
+
retry: { ...KERNEL_RETRY_DEFAULTS },
|
|
438
|
+
verification: toKernelVerification(step),
|
|
439
|
+
};
|
|
440
|
+
switch (step.type) {
|
|
441
|
+
case 'deterministic':
|
|
442
|
+
return {
|
|
443
|
+
...common,
|
|
444
|
+
type: 'deterministic',
|
|
445
|
+
command: step.command,
|
|
446
|
+
...(step.timeoutMs !== undefined ? { timeout_ms: step.timeoutMs } : {}),
|
|
447
|
+
};
|
|
448
|
+
case 'llm': {
|
|
449
|
+
return {
|
|
450
|
+
...common,
|
|
451
|
+
type: 'llm',
|
|
452
|
+
prompt: step.prompt,
|
|
453
|
+
...(step.model !== undefined ? { model: step.model } : {}),
|
|
454
|
+
...(step.cli !== undefined ? { cli: step.cli } : {}),
|
|
455
|
+
};
|
|
456
|
+
}
|
|
457
|
+
case 'agent': {
|
|
458
|
+
const out = {
|
|
459
|
+
...common,
|
|
460
|
+
type: 'agent',
|
|
461
|
+
instruction: step.instruction,
|
|
462
|
+
...(step.cli !== undefined ? { cli: step.cli } : {}),
|
|
463
|
+
...(step.model !== undefined ? { model: step.model } : {}),
|
|
464
|
+
recovery_mode: step.recoveryMode ?? 'reset',
|
|
465
|
+
};
|
|
466
|
+
const surfaces = {
|
|
467
|
+
...(step.surfaces?.workspace?.length ? { workspace: step.surfaces.workspace.map((w) => ({ surface: w.surface })) } : {}),
|
|
468
|
+
...(step.surfaces?.streams?.length ? { streams: step.surfaces.streams.map((s) => ({ stream: s.stream })) } : {}),
|
|
469
|
+
...(step.surfaces?.external?.length ? { external: step.surfaces.external } : {}),
|
|
470
|
+
};
|
|
471
|
+
if (Object.keys(surfaces).length > 0)
|
|
472
|
+
out.surfaces = surfaces;
|
|
473
|
+
if (step.permissions !== undefined) {
|
|
474
|
+
out.permissions = {
|
|
475
|
+
...(step.permissions.fileGlobs !== undefined ? { file_globs: step.permissions.fileGlobs } : {}),
|
|
476
|
+
...(step.permissions.networkAllowlist !== undefined ? { network_allowlist: step.permissions.networkAllowlist } : {}),
|
|
477
|
+
...(step.permissions.accessPreset !== undefined ? { access_preset: step.permissions.accessPreset } : {}),
|
|
478
|
+
};
|
|
479
|
+
}
|
|
480
|
+
return out;
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
function toKernelVerification(step) {
|
|
485
|
+
const output = step.type === 'deterministic' ? undefined : step.output;
|
|
486
|
+
if (output !== undefined) {
|
|
487
|
+
const errors = validateOutputDeclaration(step, `step "${step.id}"`);
|
|
488
|
+
if (errors.length > 0)
|
|
489
|
+
throw new CompileError(errors);
|
|
490
|
+
return { json_schema: output };
|
|
491
|
+
}
|
|
492
|
+
const gate = step.verification;
|
|
493
|
+
// Validation permits explicit exit_code only on deterministic steps, where
|
|
494
|
+
// {} selects the kernel's implicit exit_code == 0 gate (DESIGN.md §4).
|
|
495
|
+
if (gate === undefined || gate.type === 'exit_code')
|
|
496
|
+
return {};
|
|
497
|
+
if (gate.type === 'output_contains')
|
|
498
|
+
return { output_contains: gate.value };
|
|
499
|
+
if (gate.type === 'json_schema')
|
|
500
|
+
return { json_schema: gate.schema };
|
|
501
|
+
throw new CompileError([
|
|
502
|
+
`step "${step.id}".verification.type: expected exit_code | output_contains | json_schema`,
|
|
503
|
+
]);
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* Compile + hash in one call. `hash` is sha256 of the kernel-dialect canonical
|
|
507
|
+
* JSON — the spec identity the kernel stamps as `spec_hash` in `run.spawned`.
|
|
508
|
+
*/
|
|
509
|
+
export function compileAndHash(yaml) {
|
|
510
|
+
const spec = compileYaml(yaml);
|
|
511
|
+
const kernelSpec = toKernelSpec(spec);
|
|
512
|
+
return { spec, kernelSpec, hash: specHash(kernelSpec) };
|
|
513
|
+
}
|
|
514
|
+
export { SPEC_SCHEMA_VERSION, canonicalize, specHash };
|
|
515
|
+
//# sourceMappingURL=compile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demo-hn-monitor.d.ts","sourceRoot":"","sources":["../src/demo-hn-monitor.ts"],"names":[],"mappings":""}
|