@relayflows/sdk 2.0.14 → 2.0.15
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-executor.d.ts +33 -3
- package/dist/authored-flow-executor.d.ts.map +1 -1
- package/dist/authored-flow-executor.js +53 -7
- package/dist/authored-flow-executor.js.map +1 -1
- package/dist/authored-node-runner.d.ts.map +1 -1
- package/dist/authored-node-runner.js +11 -4
- package/dist/authored-node-runner.js.map +1 -1
- package/dist/authored-root.d.ts.map +1 -1
- package/dist/authored-root.js +2 -2
- package/dist/authored-root.js.map +1 -1
- package/dist/cli/check-triggers.d.ts.map +1 -1
- package/dist/cli/check-triggers.js +14 -3
- package/dist/cli/check-triggers.js.map +1 -1
- package/dist/cli/direct-run.d.ts.map +1 -1
- package/dist/cli/direct-run.js +2 -26
- package/dist/cli/direct-run.js.map +1 -1
- package/dist/cli/run.d.ts +19 -0
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +66 -15
- package/dist/cli/run.js.map +1 -1
- package/dist/provider-trigger-contract.d.ts +27 -0
- package/dist/provider-trigger-contract.d.ts.map +1 -0
- package/dist/provider-trigger-contract.js +0 -0
- package/dist/provider-trigger-contract.js.map +1 -0
- package/package.json +2 -2
- package/src/authored-flow-executor.ts +74 -12
- package/src/authored-node-runner.ts +11 -4
- package/src/authored-root.ts +2 -2
- package/src/cli/check-triggers.ts +14 -5
- package/src/cli/direct-run.ts +2 -25
- package/src/cli/run.ts +74 -15
- package/src/provider-trigger-contract.ts +0 -0
package/dist/cli/run.js
CHANGED
|
@@ -100,21 +100,7 @@ export async function resumeFlow(runId, dataDir, options = {}) {
|
|
|
100
100
|
});
|
|
101
101
|
if (result === undefined)
|
|
102
102
|
throw new Error('authored root disappeared during resume');
|
|
103
|
-
return
|
|
104
|
-
exitCode: result.completionReason === 'needs_human' ? 3 : 0,
|
|
105
|
-
report: {
|
|
106
|
-
...base,
|
|
107
|
-
ok: result.completionReason === 'success',
|
|
108
|
-
runId,
|
|
109
|
-
socketPath,
|
|
110
|
-
status: result.completionReason === 'needs_human' ? 'parked' : 'completed',
|
|
111
|
-
...(result.completionReason === 'success'
|
|
112
|
-
? { completionReason: 'success' }
|
|
113
|
-
: { diagnostics: [{ severity: 'parked', kind: 'run_parked',
|
|
114
|
-
message: `Flow "${result.name}" needs_human; see the journal for accumulated blockers.` }] }),
|
|
115
|
-
completedSteps: result.journalSteps.length,
|
|
116
|
-
},
|
|
117
|
-
};
|
|
103
|
+
return authoredCompletion('resume', base, socketPath, result, runId);
|
|
118
104
|
}
|
|
119
105
|
// resumeHelperEffect subsumes the old resumeSlackEffect: it handles the
|
|
120
106
|
// slack effect resume plus every other provider from N's codegen. The
|
|
@@ -213,6 +199,71 @@ export function authoredStepFailure(command, base, socketPath, error, fallbackRu
|
|
|
213
199
|
},
|
|
214
200
|
};
|
|
215
201
|
}
|
|
202
|
+
/**
|
|
203
|
+
* An authored body that returned its own terminal verdict, reported as that verdict.
|
|
204
|
+
*
|
|
205
|
+
* Shared by `runDirectFlow` and `resumeFlow` for the reason `authoredStepFailure`
|
|
206
|
+
* is shared: the run and resume paths had already drifted once, and the
|
|
207
|
+
* `needs_human` report was duplicated verbatim in both files.
|
|
208
|
+
*
|
|
209
|
+
* This is NOT `authoredStepFailure`, even though a `step_failed` verdict lands
|
|
210
|
+
* on the same exit code and report shape. That function describes a step that
|
|
211
|
+
* ran and failed, and carries the failing step's evidence. Here every step
|
|
212
|
+
* succeeded and the BODY declared the outcome, so there is no failing step to
|
|
213
|
+
* name — routing this through the other helper would invent one.
|
|
214
|
+
*/
|
|
215
|
+
export function authoredCompletion(command, base, socketPath, result, runId) {
|
|
216
|
+
const common = {
|
|
217
|
+
...fromBase(command, base),
|
|
218
|
+
...(runId === undefined ? {} : { runId }),
|
|
219
|
+
socketPath,
|
|
220
|
+
completedSteps: result.journalSteps.length,
|
|
221
|
+
};
|
|
222
|
+
switch (result.completionReason) {
|
|
223
|
+
case 'success':
|
|
224
|
+
return {
|
|
225
|
+
exitCode: 0,
|
|
226
|
+
report: { ...common, ok: true, status: 'completed', completionReason: 'success' },
|
|
227
|
+
};
|
|
228
|
+
case 'needs_human':
|
|
229
|
+
return {
|
|
230
|
+
exitCode: 3,
|
|
231
|
+
report: {
|
|
232
|
+
...common, ok: false, status: 'parked',
|
|
233
|
+
diagnostics: [...base.diagnostics, {
|
|
234
|
+
severity: 'parked', kind: 'run_parked',
|
|
235
|
+
message: `Flow "${result.name}" needs_human; see the journal for accumulated blockers.`,
|
|
236
|
+
}],
|
|
237
|
+
},
|
|
238
|
+
};
|
|
239
|
+
case 'step_failed':
|
|
240
|
+
// A declared run failure. Exit 1, not the parked 3: nothing here is
|
|
241
|
+
// waiting for a human to recover it, and exit 3 is the local kit's
|
|
242
|
+
// manual-approval stop. `status: failed` with this `completionReason` is
|
|
243
|
+
// also the only terminal shape Cloud accepts for a non-success run
|
|
244
|
+
// (see cloud-run.ts).
|
|
245
|
+
return {
|
|
246
|
+
exitCode: 1,
|
|
247
|
+
report: {
|
|
248
|
+
...common, ok: false, status: 'failed', completionReason: 'step_failed',
|
|
249
|
+
diagnostics: [...base.diagnostics, {
|
|
250
|
+
severity: 'failure', kind: 'step_failed',
|
|
251
|
+
message: `Flow "${result.name}" declared done("step_failed"): its own checks did not pass. `
|
|
252
|
+
+ 'No step failed, so there is no step-level evidence to inspect; the journal holds '
|
|
253
|
+
+ 'every step the flow ran before it decided.',
|
|
254
|
+
}],
|
|
255
|
+
},
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
// Exhaustive by construction. A fourth lowered completion has to choose its
|
|
259
|
+
// own exit code and wording here; it must not inherit "its own checks did not
|
|
260
|
+
// pass", which would state something the body never declared. Letting an
|
|
261
|
+
// unlisted reason fall through to the failure branch is how a reporting-side
|
|
262
|
+
// copy of the same vocabulary drifts from the executor's — the defect this
|
|
263
|
+
// change exists to close — so it is a compile error, not a wrong report.
|
|
264
|
+
const unreachable = result.completionReason;
|
|
265
|
+
throw new Error(`unreachable authored completion: ${String(unreachable)}`);
|
|
266
|
+
}
|
|
216
267
|
/**
|
|
217
268
|
* Get a live daemon, then open the socket to it.
|
|
218
269
|
*
|
package/dist/cli/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type TriggerSource } from '@relayflows/surface';
|
|
2
|
+
import type { PreflightRefusal } from './preflight.js';
|
|
3
|
+
export interface ProviderDeclaration {
|
|
4
|
+
/** The provider inbox this trigger routes to. */
|
|
5
|
+
readonly provider: string;
|
|
6
|
+
/** The event type the filter pinned. */
|
|
7
|
+
readonly type: string;
|
|
8
|
+
/** The event types that provider publishes. */
|
|
9
|
+
readonly events: readonly string[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The provider subscription a trigger declares, or undefined when the source
|
|
13
|
+
* is not provably one. Reads only inert filter data; it never runs a handler.
|
|
14
|
+
*/
|
|
15
|
+
export declare function providerDeclaration(source: TriggerSource): ProviderDeclaration | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Pure declared-surface check over provider subscriptions, before opening a
|
|
18
|
+
* receiver or journal. The single refusal names a condition under which the
|
|
19
|
+
* declaration can never match a delivered event -- not a preference.
|
|
20
|
+
*
|
|
21
|
+
* Reuses the existing `invalid_spec` kind rather than minting a new one: the
|
|
22
|
+
* refusal taxonomy is closed and gated on every declared kind being reachable
|
|
23
|
+
* from `preflight()` (preflight.test.ts), and this check runs on the authored
|
|
24
|
+
* path instead. The message carries the precision.
|
|
25
|
+
*/
|
|
26
|
+
export declare function preflightProviderTriggers(triggers: readonly TriggerSource[]): PreflightRefusal[];
|
|
27
|
+
//# sourceMappingURL=provider-trigger-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-trigger-contract.d.ts","sourceRoot":"","sources":["../src/provider-trigger-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AA+CvD,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,mBAAmB,GAAG,SAAS,CAa1F;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,SAAS,aAAa,EAAE,GACjC,gBAAgB,EAAE,CAuBpB"}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-trigger-contract.js","sourceRoot":"","sources":["../src/provider-trigger-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAsB,MAAM,qBAAqB,CAAC;AAyC7E,iFAAiF;AACjF,SAAS,SAAS,CAAC,QAAgB;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,QAAQ,CAAC;QAChD,CAAC,CAAC,kBAAkB,CAAC,QAAkC,CAAC;QACxD,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAWD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAqB;IACvD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,4EAA4E;IAC5E,8EAA8E;IAC9E,uEAAuE;IACvE,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAkC;IAElC,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,WAAW,KAAK,SAAS;YAAE,SAAS;QACxC,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;YAAE,SAAS;QAC5D,oEAAoE;QACpE,wEAAwE;QACxE,sDAAsD;QACtD,MAAM,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QAC1D,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC;YACZ,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,OAAO,EAAE,qBAAqB,WAAW,CAAC,QAAQ,wBAAwB;kBACtE,IAAI,WAAW,CAAC,IAAI,YAAY,WAAW,CAAC,QAAQ,2BAA2B;kBAC/E,4DAA4D,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAChG,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@relayflows/sdk",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.15",
|
|
4
4
|
"description": "TypeScript-first authoring SDK for Relayflows. Compiles specs; speaks the journal protocol.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
46
46
|
"@relayfile/adapter-core": "0.5.24",
|
|
47
47
|
"@relayfile/relay-helpers": "0.4.11",
|
|
48
|
-
"@relayflows/surface": "2.0.
|
|
48
|
+
"@relayflows/surface": "2.0.15",
|
|
49
49
|
"@types/js-yaml": "^4.0.9",
|
|
50
50
|
"ai-hist": "0.4.1",
|
|
51
51
|
"ajv": "^8.17.1",
|
|
@@ -83,12 +83,22 @@ export interface AuthoredFlowExecutionResult {
|
|
|
83
83
|
readonly executionRuntime?: AuthoredExecutionRuntime;
|
|
84
84
|
readonly rootRunId?: string;
|
|
85
85
|
readonly name: string;
|
|
86
|
-
readonly completionReason:
|
|
86
|
+
readonly completionReason: LoweredCompletionReason;
|
|
87
87
|
readonly journalSteps: readonly AuthoredFlowJournalStep[];
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
// The authoring SURFACE stays wide: `done()` accepts every
|
|
91
|
+
// `FlowCompletionReason` and refuses the kernel-owned ones at runtime with a
|
|
92
|
+
// diagnostic that names the alternative. The RESULT is narrow, because `done()`
|
|
93
|
+
// cannot store a reason this executor does not lower.
|
|
94
|
+
//
|
|
95
|
+
// Pinning the narrow type here is load-bearing, not cosmetic. Every reader of
|
|
96
|
+
// this result — the CLI report, the durable root, the IPC verifier — would
|
|
97
|
+
// otherwise have to re-derive "can this really be `canceled`?" and answer it
|
|
98
|
+
// by hand. Those hand-written answers disagreeing is the exact defect this
|
|
99
|
+
// change exists to close; a widening here re-opens it at compile time instead.
|
|
100
|
+
type ExecutionResultUsesLoweredCompletionReason = Assert<
|
|
101
|
+
Equal<AuthoredFlowExecutionResult['completionReason'], LoweredCompletionReason>
|
|
92
102
|
>;
|
|
93
103
|
type JournalStepUsesStepCompletionReason = Assert<
|
|
94
104
|
Equal<AuthoredFlowJournalStep['completionReason'], ProtocolCompletionReason>
|
|
@@ -100,7 +110,8 @@ type JournalStepUsesStepCompletionReason = Assert<
|
|
|
100
110
|
* This is deliberately not exported by the SDK package: without a durable
|
|
101
111
|
* authored root, it is not a resumable public runner. The seam is narrow: an
|
|
102
112
|
* flow with an optional budget may await `f.run`, `f.llm`, and `f.agent` steps and must
|
|
103
|
-
* finish with
|
|
113
|
+
* finish with one of the lowered completions — `f.done("success")`,
|
|
114
|
+
* `f.done("needs_human")` or `f.done("step_failed")`. Each step and the terminal marker is
|
|
104
115
|
* a compiled spec submitted through
|
|
105
116
|
* `JournalClient`; values are read back from `step.completed` journal entries.
|
|
106
117
|
* Unsupported headers, verbs, gates, or completion lowering fail closed.
|
|
@@ -189,7 +200,7 @@ export async function executeAuthoredFlow<Input = undefined>(
|
|
|
189
200
|
const authoredSteps: AuthoredFlowOperation<unknown>[] = [];
|
|
190
201
|
const lifecycle = new AuthoredFlowLifecycle();
|
|
191
202
|
let nextStep = 1;
|
|
192
|
-
let requestedCompletion:
|
|
203
|
+
let requestedCompletion: LoweredCompletionReason | undefined;
|
|
193
204
|
|
|
194
205
|
const lowerDeterministic = authoredDeterministicRunner(
|
|
195
206
|
definition.name, journal, journalSteps, budget, options.rootRunId,
|
|
@@ -329,10 +340,23 @@ export async function executeAuthoredFlow<Input = undefined>(
|
|
|
329
340
|
`flow "${definition.name}" called done() more than once`,
|
|
330
341
|
);
|
|
331
342
|
}
|
|
332
|
-
|
|
343
|
+
// `step_failed` is a verdict about the flow's OWN work — "the checks I
|
|
344
|
+
// ran did not pass" — and an authored body is authoritative about that.
|
|
345
|
+
// `canceled` and `budget_exceeded` are control-plane facts the kernel
|
|
346
|
+
// owns: cancellation arrives through `run.cancel`, budget exhaustion
|
|
347
|
+
// through the enforced budget (authored-budget.ts). A body that declared
|
|
348
|
+
// either would be asserting a kernel fact that never happened, so they
|
|
349
|
+
// stay refused — with a reason, not with "this executor cannot yet".
|
|
350
|
+
// `canceled` has no terminal shape to lower into either: there is no
|
|
351
|
+
// `cancelled` RunStatus in the local protocol, and Cloud accepts that
|
|
352
|
+
// completionReason only under a `cancelled` status this CLI never reports.
|
|
353
|
+
if (!isLoweredCompletion(reason)) {
|
|
333
354
|
throw new AuthoredFlowExecutionError(
|
|
334
355
|
'unsupported_completion',
|
|
335
|
-
`
|
|
356
|
+
`done("${reason}") is a kernel outcome, not an authored verdict: the kernel `
|
|
357
|
+
+ 'records it when it cancels a run or exhausts its budget, so a flow body '
|
|
358
|
+
+ 'cannot declare it. Use done("step_failed") to declare that the flow\'s own '
|
|
359
|
+
+ 'checks did not pass.',
|
|
336
360
|
reason,
|
|
337
361
|
);
|
|
338
362
|
}
|
|
@@ -405,11 +429,12 @@ export async function executeAuthoredFlow<Input = undefined>(
|
|
|
405
429
|
lifecycle.close();
|
|
406
430
|
}
|
|
407
431
|
|
|
408
|
-
//
|
|
409
|
-
//
|
|
410
|
-
//
|
|
411
|
-
|
|
412
|
-
|
|
432
|
+
// Record the authored verdict as a SUCCESSFUL effect carrying that verdict,
|
|
433
|
+
// not as a fabricated kernel run.completed reason. The marker step reports
|
|
434
|
+
// what the body decided; it is not itself a step that failed. The CLI turns
|
|
435
|
+
// the verdict into the exit code (success 0, needs_human 3, step_failed 1).
|
|
436
|
+
await lowerDeterministic(`complete-${nextStep}`,
|
|
437
|
+
completionMarker(requestedCompletion), true);
|
|
413
438
|
return Object.freeze({
|
|
414
439
|
...(options.rootRunId === undefined ? {} : { rootRunId: options.rootRunId }),
|
|
415
440
|
name: definition.name,
|
|
@@ -433,6 +458,43 @@ function unsupportedVerb(verb: string): AuthoredFlowExecutionError {
|
|
|
433
458
|
);
|
|
434
459
|
}
|
|
435
460
|
|
|
461
|
+
/**
|
|
462
|
+
* The completion reasons an authored body may declare and this executor lowers.
|
|
463
|
+
*
|
|
464
|
+
* `FlowCompletionReason` is wider than this on purpose — it is the journal's
|
|
465
|
+
* run vocabulary plus `needs_human` — but the two sets drifting silently is
|
|
466
|
+
* exactly what made a type-valid `done("step_failed")` die at runtime as
|
|
467
|
+
* `unsupported_completion`. Every gate that asks "is this a completion this
|
|
468
|
+
* runtime can lower?" now asks this one function, so a reason cannot be
|
|
469
|
+
* accepted in one place and rejected in another.
|
|
470
|
+
*
|
|
471
|
+
* These three are internal cross-module helpers for the authored seam (the
|
|
472
|
+
* executor, the durable root, the IPC verifier and the CLI report), NOT public
|
|
473
|
+
* SDK surface. `src/index.ts` deliberately re-exports nothing from this module
|
|
474
|
+
* — keep it that way, or the whole authored seam leaks with them.
|
|
475
|
+
*/
|
|
476
|
+
export const LOWERED_COMPLETIONS = ['success', 'needs_human', 'step_failed'] as const;
|
|
477
|
+
export type LoweredCompletionReason = (typeof LOWERED_COMPLETIONS)[number];
|
|
478
|
+
|
|
479
|
+
export function isLoweredCompletion(value: unknown): value is LoweredCompletionReason {
|
|
480
|
+
return typeof value === 'string' && (LOWERED_COMPLETIONS as readonly string[]).includes(value);
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
/**
|
|
484
|
+
* The deterministic command that carries an authored verdict into the journal.
|
|
485
|
+
*
|
|
486
|
+
* `success` lowers to `:` because success needs no marker: the marker run's own
|
|
487
|
+
* kernel `success` already IS that record. Every other lowered verdict is
|
|
488
|
+
* something the kernel's completion vocabulary cannot express on a step that
|
|
489
|
+
* *succeeded*, so it travels as data on stdout and is read back from
|
|
490
|
+
* `step.completed`. It is deliberately not lowered as a failing command: no
|
|
491
|
+
* step failed here, and a fabricated failure would put bogus evidence in the
|
|
492
|
+
* journal for a flow whose steps all ran correctly.
|
|
493
|
+
*/
|
|
494
|
+
export function completionMarker(reason: LoweredCompletionReason): string {
|
|
495
|
+
return reason === 'success' ? ':' : `printf '%s' '{"completionReason":"${reason}"}'`;
|
|
496
|
+
}
|
|
497
|
+
|
|
436
498
|
function assertOperationAllowed(
|
|
437
499
|
verb: string,
|
|
438
500
|
flowName: string,
|
|
@@ -8,6 +8,7 @@ import { isAbsolute, join } from 'node:path';
|
|
|
8
8
|
import type { Readable } from 'node:stream';
|
|
9
9
|
import type { AuthoredRootMetadata } from './authored-root.js';
|
|
10
10
|
import type { AuthoredExecutionRuntime, AuthoredFlowExecutionResult, ExecuteAuthoredFlowOptions } from './authored-flow-executor.js';
|
|
11
|
+
import { completionMarker, isLoweredCompletion } from './authored-flow-executor.js';
|
|
11
12
|
import { AuthoredFlowExecutionError, type AuthoredFlowExecutionErrorCode } from './authored-flow-error.js';
|
|
12
13
|
import { assertAuthoredPromiseHooks } from './authored-runtime-capability.js';
|
|
13
14
|
|
|
@@ -162,7 +163,7 @@ export async function verifyAuthoredNodeResult(
|
|
|
162
163
|
): Promise<void> {
|
|
163
164
|
const invalid = (): never => { throw new Error('authored runtime result has no matching durable completion'); };
|
|
164
165
|
if (result.rootRunId !== rootRunId || result.name !== metadata.flowName
|
|
165
|
-
|| !
|
|
166
|
+
|| !isLoweredCompletion(result.completionReason)
|
|
166
167
|
|| !Array.isArray(result.journalSteps) || result.journalSteps.length === 0) invalid();
|
|
167
168
|
const terminal = result.journalSteps.at(-1)!;
|
|
168
169
|
if (!terminal || !/^complete-[1-9][0-9]*$/.test(terminal.id)) invalid();
|
|
@@ -210,9 +211,15 @@ export async function verifyAuthoredNodeResult(
|
|
|
210
211
|
|| completed[0]?.payload?.completionReason !== 'success'
|
|
211
212
|
|| terminalFacts.length !== 1 || terminalFacts[0]?.payload?.completionReason !== 'success') invalid();
|
|
212
213
|
if (claimed === terminal) {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
214
|
+
// The claimed verdict must match the marker the journal actually
|
|
215
|
+
// recorded, so an IPC frame cannot claim `success` over a run whose
|
|
216
|
+
// durable terminal says `step_failed` (or the reverse). The
|
|
217
|
+
// `isLoweredCompletion` check at the top of this function already
|
|
218
|
+
// rejected a frame whose reason is not lowerable at all — that one is
|
|
219
|
+
// the runtime validation of untrusted IPC, and it is why nothing has
|
|
220
|
+
// to be re-asserted here just to satisfy the type.
|
|
221
|
+
if (step?.type !== 'deterministic'
|
|
222
|
+
|| step.command !== completionMarker(result.completionReason)) invalid();
|
|
216
223
|
}
|
|
217
224
|
}
|
|
218
225
|
} finally { journal.close(); }
|
package/src/authored-root.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { createHash, randomUUID } from 'node:crypto';
|
|
|
4
4
|
import { readFile } from 'node:fs/promises';
|
|
5
5
|
import { canonicalize } from './canonical.js';
|
|
6
6
|
import { compileSpec, toKernelSpec } from './compile.js';
|
|
7
|
-
import { executeAuthoredFlow, type AuthoredFlowExecutionResult } from './authored-flow-executor.js';
|
|
7
|
+
import { executeAuthoredFlow, isLoweredCompletion, type AuthoredFlowExecutionResult } from './authored-flow-executor.js';
|
|
8
8
|
import {
|
|
9
9
|
loadAuthoredFlow,
|
|
10
10
|
type LoadedAuthoredFlow,
|
|
@@ -340,7 +340,7 @@ function isCompletedRootOutput(value: unknown): value is Omit<AuthoredFlowExecut
|
|
|
340
340
|
if (typeof value !== 'object' || value === null || Array.isArray(value)) return false;
|
|
341
341
|
const output = value as Partial<AuthoredFlowExecutionResult>;
|
|
342
342
|
return typeof output.name === 'string'
|
|
343
|
-
&& (output.completionReason
|
|
343
|
+
&& isLoweredCompletion(output.completionReason)
|
|
344
344
|
&& Array.isArray(output.journalSteps)
|
|
345
345
|
&& output.journalSteps.every(step => typeof step === 'object' && step !== null
|
|
346
346
|
&& typeof step.id === 'string' && typeof step.runId === 'string'
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { dirname, resolve } from 'node:path';
|
|
2
2
|
import { loadAuthoredFlow, type LoadedAuthoredFlow } from '../authored-flow-loader.js';
|
|
3
3
|
import { preflightWebhookTriggers } from '../preflight.js';
|
|
4
|
+
import { preflightProviderTriggers } from '../provider-trigger-contract.js';
|
|
4
5
|
import { checkSlackHelpers } from '../slack-preflight.js';
|
|
5
6
|
import { inputFailureReport, readProjectConfig, type CheckReport } from './check.js';
|
|
6
7
|
|
|
@@ -19,15 +20,23 @@ export async function checkAuthoredTriggers(path: string): Promise<{
|
|
|
19
20
|
const loaded = await loadAuthoredFlow(path);
|
|
20
21
|
const definition = loaded.getDefinition(loaded.handle);
|
|
21
22
|
const config = readProjectConfig(dirname(resolve(path)));
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
const triggers = (definition.handlers ?? []).map(handler => handler.trigger);
|
|
24
|
+
const triggerDiagnostics = preflightWebhookTriggers(triggers, config.executors);
|
|
25
|
+
// Registration answers "may this inbox run here"; the provider contract
|
|
26
|
+
// answers "can this subscription ever be delivered". A provider trigger
|
|
27
|
+
// that passes the first and fails the second used to reach ingress and be
|
|
28
|
+
// refused there, on the first real event.
|
|
29
|
+
const providerDiagnostics = preflightProviderTriggers(triggers);
|
|
25
30
|
const helperReport = checkSlackHelpers(definition);
|
|
26
|
-
const diagnostics = [
|
|
31
|
+
const diagnostics = [
|
|
32
|
+
...triggerDiagnostics, ...providerDiagnostics, ...helperReport.diagnostics,
|
|
33
|
+
];
|
|
27
34
|
return {
|
|
28
35
|
loaded,
|
|
29
36
|
report: {
|
|
30
|
-
|
|
37
|
+
// Severity, not emptiness: a warning must never refuse a flow.
|
|
38
|
+
ok: !diagnostics.some(diagnostic => diagnostic.severity === 'refusal'),
|
|
39
|
+
path, gates: [], resolutions: [], diagnostics,
|
|
31
40
|
...(config.path === undefined ? {} : { projectConfigPath: config.path }),
|
|
32
41
|
},
|
|
33
42
|
};
|
package/src/cli/direct-run.ts
CHANGED
|
@@ -14,6 +14,7 @@ import { JournalClient } from '../journal-client.js';
|
|
|
14
14
|
import { inputFailureReport } from './check.js';
|
|
15
15
|
import { checkAuthoredTriggers } from './check-triggers.js';
|
|
16
16
|
import {
|
|
17
|
+
authoredCompletion,
|
|
17
18
|
authoredStepFailure,
|
|
18
19
|
connect,
|
|
19
20
|
emptyReport,
|
|
@@ -99,31 +100,7 @@ export async function runDirectFlow(
|
|
|
99
100
|
`authored flow "${result.name}" completed without a journal step`,
|
|
100
101
|
));
|
|
101
102
|
}
|
|
102
|
-
|
|
103
|
-
return {
|
|
104
|
-
exitCode: 3,
|
|
105
|
-
report: {
|
|
106
|
-
...base, ok: false, runId: result.rootRunId, socketPath, status: 'parked',
|
|
107
|
-
completedSteps: result.journalSteps.length,
|
|
108
|
-
diagnostics: [...base.diagnostics, {
|
|
109
|
-
severity: 'parked', kind: 'run_parked',
|
|
110
|
-
message: `Flow "${result.name}" needs_human; see the journal for accumulated blockers.`,
|
|
111
|
-
}],
|
|
112
|
-
},
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
return {
|
|
116
|
-
exitCode: 0,
|
|
117
|
-
report: {
|
|
118
|
-
...base,
|
|
119
|
-
ok: true,
|
|
120
|
-
runId: result.rootRunId,
|
|
121
|
-
socketPath,
|
|
122
|
-
status: 'completed',
|
|
123
|
-
completionReason: result.completionReason,
|
|
124
|
-
completedSteps: result.journalSteps.length,
|
|
125
|
-
},
|
|
126
|
-
};
|
|
103
|
+
return authoredCompletion('run', base, socketPath, result, result.rootRunId);
|
|
127
104
|
} catch (caught) {
|
|
128
105
|
if (caught instanceof McpPreflightError) return {
|
|
129
106
|
exitCode: 2, report: fromCheckReport('run', caught.report),
|
package/src/cli/run.ts
CHANGED
|
@@ -22,6 +22,7 @@ import type {
|
|
|
22
22
|
RunStatus,
|
|
23
23
|
} from '../protocol.js';
|
|
24
24
|
import type { StepType } from '../spec.js';
|
|
25
|
+
import type { LoweredCompletionReason } from '../authored-flow-executor.js';
|
|
25
26
|
import {
|
|
26
27
|
checkFlow,
|
|
27
28
|
type CheckReport,
|
|
@@ -191,21 +192,7 @@ export async function resumeFlow(
|
|
|
191
192
|
lifecycle: options,
|
|
192
193
|
});
|
|
193
194
|
if (result === undefined) throw new Error('authored root disappeared during resume');
|
|
194
|
-
return
|
|
195
|
-
exitCode: result.completionReason === 'needs_human' ? 3 : 0,
|
|
196
|
-
report: {
|
|
197
|
-
...base,
|
|
198
|
-
ok: result.completionReason === 'success',
|
|
199
|
-
runId,
|
|
200
|
-
socketPath,
|
|
201
|
-
status: result.completionReason === 'needs_human' ? 'parked' : 'completed',
|
|
202
|
-
...(result.completionReason === 'success'
|
|
203
|
-
? { completionReason: 'success' as const }
|
|
204
|
-
: { diagnostics: [{ severity: 'parked' as const, kind: 'run_parked' as const,
|
|
205
|
-
message: `Flow "${result.name}" needs_human; see the journal for accumulated blockers.` }] }),
|
|
206
|
-
completedSteps: result.journalSteps.length,
|
|
207
|
-
},
|
|
208
|
-
};
|
|
195
|
+
return authoredCompletion('resume', base, socketPath, result, runId);
|
|
209
196
|
}
|
|
210
197
|
// resumeHelperEffect subsumes the old resumeSlackEffect: it handles the
|
|
211
198
|
// slack effect resume plus every other provider from N's codegen. The
|
|
@@ -309,6 +296,78 @@ export function authoredStepFailure(
|
|
|
309
296
|
};
|
|
310
297
|
}
|
|
311
298
|
|
|
299
|
+
/**
|
|
300
|
+
* An authored body that returned its own terminal verdict, reported as that verdict.
|
|
301
|
+
*
|
|
302
|
+
* Shared by `runDirectFlow` and `resumeFlow` for the reason `authoredStepFailure`
|
|
303
|
+
* is shared: the run and resume paths had already drifted once, and the
|
|
304
|
+
* `needs_human` report was duplicated verbatim in both files.
|
|
305
|
+
*
|
|
306
|
+
* This is NOT `authoredStepFailure`, even though a `step_failed` verdict lands
|
|
307
|
+
* on the same exit code and report shape. That function describes a step that
|
|
308
|
+
* ran and failed, and carries the failing step's evidence. Here every step
|
|
309
|
+
* succeeded and the BODY declared the outcome, so there is no failing step to
|
|
310
|
+
* name — routing this through the other helper would invent one.
|
|
311
|
+
*/
|
|
312
|
+
export function authoredCompletion(
|
|
313
|
+
command: RunCommand,
|
|
314
|
+
base: RunReport,
|
|
315
|
+
socketPath: string,
|
|
316
|
+
result: { name: string; completionReason: LoweredCompletionReason; journalSteps: readonly unknown[] },
|
|
317
|
+
runId: string | undefined,
|
|
318
|
+
): RunExecution {
|
|
319
|
+
const common: RunReport = {
|
|
320
|
+
...fromBase(command, base),
|
|
321
|
+
...(runId === undefined ? {} : { runId }),
|
|
322
|
+
socketPath,
|
|
323
|
+
completedSteps: result.journalSteps.length,
|
|
324
|
+
};
|
|
325
|
+
switch (result.completionReason) {
|
|
326
|
+
case 'success':
|
|
327
|
+
return {
|
|
328
|
+
exitCode: 0,
|
|
329
|
+
report: { ...common, ok: true, status: 'completed', completionReason: 'success' },
|
|
330
|
+
};
|
|
331
|
+
case 'needs_human':
|
|
332
|
+
return {
|
|
333
|
+
exitCode: 3,
|
|
334
|
+
report: {
|
|
335
|
+
...common, ok: false, status: 'parked',
|
|
336
|
+
diagnostics: [...base.diagnostics, {
|
|
337
|
+
severity: 'parked', kind: 'run_parked',
|
|
338
|
+
message: `Flow "${result.name}" needs_human; see the journal for accumulated blockers.`,
|
|
339
|
+
}],
|
|
340
|
+
},
|
|
341
|
+
};
|
|
342
|
+
case 'step_failed':
|
|
343
|
+
// A declared run failure. Exit 1, not the parked 3: nothing here is
|
|
344
|
+
// waiting for a human to recover it, and exit 3 is the local kit's
|
|
345
|
+
// manual-approval stop. `status: failed` with this `completionReason` is
|
|
346
|
+
// also the only terminal shape Cloud accepts for a non-success run
|
|
347
|
+
// (see cloud-run.ts).
|
|
348
|
+
return {
|
|
349
|
+
exitCode: 1,
|
|
350
|
+
report: {
|
|
351
|
+
...common, ok: false, status: 'failed', completionReason: 'step_failed',
|
|
352
|
+
diagnostics: [...base.diagnostics, {
|
|
353
|
+
severity: 'failure', kind: 'step_failed',
|
|
354
|
+
message: `Flow "${result.name}" declared done("step_failed"): its own checks did not pass. `
|
|
355
|
+
+ 'No step failed, so there is no step-level evidence to inspect; the journal holds '
|
|
356
|
+
+ 'every step the flow ran before it decided.',
|
|
357
|
+
}],
|
|
358
|
+
},
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
// Exhaustive by construction. A fourth lowered completion has to choose its
|
|
362
|
+
// own exit code and wording here; it must not inherit "its own checks did not
|
|
363
|
+
// pass", which would state something the body never declared. Letting an
|
|
364
|
+
// unlisted reason fall through to the failure branch is how a reporting-side
|
|
365
|
+
// copy of the same vocabulary drifts from the executor's — the defect this
|
|
366
|
+
// change exists to close — so it is a compile error, not a wrong report.
|
|
367
|
+
const unreachable: never = result.completionReason;
|
|
368
|
+
throw new Error(`unreachable authored completion: ${String(unreachable)}`);
|
|
369
|
+
}
|
|
370
|
+
|
|
312
371
|
/**
|
|
313
372
|
* Get a live daemon, then open the socket to it.
|
|
314
373
|
*
|
|
Binary file
|