@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/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
  *
@@ -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"}
@@ -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.14",
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.14",
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: FlowCompletionReason;
86
+ readonly completionReason: LoweredCompletionReason;
87
87
  readonly journalSteps: readonly AuthoredFlowJournalStep[];
88
88
  }
89
89
 
90
- type ExecutionResultUsesFlowCompletionReason = Assert<
91
- Equal<AuthoredFlowExecutionResult['completionReason'], FlowCompletionReason>
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 `f.done("success")` or `f.done("needs_human")`. Each step and the terminal marker is
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: FlowCompletionReason | undefined;
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
- if (reason !== 'success' && reason !== 'needs_human') {
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
- `the initial authored executor cannot lower done("${reason}")`,
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
- // The authored runner has no durable root yet. Record the handoff as a
409
- // successful effect containing the authored outcome, not a fabricated kernel
410
- // run.completed reason. The CLI reports this outcome as parked (exit 3).
411
- await lowerDeterministic(`complete-${nextStep}`, requestedCompletion === 'needs_human'
412
- ? `printf '%s' '{"completionReason":"needs_human"}'` : ':', true);
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
- || !['success', 'needs_human'].includes(result.completionReason)
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
- const command = result.completionReason === 'needs_human'
214
- ? `printf '%s' '{"completionReason":"needs_human"}'` : ':';
215
- if (step?.type !== 'deterministic' || step.command !== command) invalid();
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(); }
@@ -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 === 'success' || output.completionReason === 'needs_human')
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 triggerDiagnostics = preflightWebhookTriggers(
23
- (definition.handlers ?? []).map(handler => handler.trigger), config.executors,
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 = [...triggerDiagnostics, ...helperReport.diagnostics];
31
+ const diagnostics = [
32
+ ...triggerDiagnostics, ...providerDiagnostics, ...helperReport.diagnostics,
33
+ ];
27
34
  return {
28
35
  loaded,
29
36
  report: {
30
- ok: diagnostics.length === 0, path, gates: [], resolutions: [], diagnostics,
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
  };
@@ -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
- if (result.completionReason === 'needs_human') {
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