@relayflows/sdk 2.0.27 → 2.0.28

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.
Files changed (123) hide show
  1. package/dist/authored-flow-executor.d.ts +8 -1
  2. package/dist/authored-flow-executor.d.ts.map +1 -1
  3. package/dist/authored-flow-executor.js +16 -7
  4. package/dist/authored-flow-executor.js.map +1 -1
  5. package/dist/authored-flow-lifecycle.d.ts +68 -1
  6. package/dist/authored-flow-lifecycle.d.ts.map +1 -1
  7. package/dist/authored-flow-lifecycle.js +108 -10
  8. package/dist/authored-flow-lifecycle.js.map +1 -1
  9. package/dist/authored-flow-operation.d.ts +9 -1
  10. package/dist/authored-flow-operation.d.ts.map +1 -1
  11. package/dist/authored-flow-operation.js +7 -1
  12. package/dist/authored-flow-operation.js.map +1 -1
  13. package/dist/authored-node-entry.js +4 -0
  14. package/dist/authored-node-entry.js.map +1 -1
  15. package/dist/authored-node-runner.d.ts.map +1 -1
  16. package/dist/authored-node-runner.js +2 -1
  17. package/dist/authored-node-runner.js.map +1 -1
  18. package/dist/authored-promise-graph.d.ts +19 -4
  19. package/dist/authored-promise-graph.d.ts.map +1 -1
  20. package/dist/authored-promise-graph.js +44 -19
  21. package/dist/authored-promise-graph.js.map +1 -1
  22. package/dist/authored-root.d.ts +2 -0
  23. package/dist/authored-root.d.ts.map +1 -1
  24. package/dist/authored-root.js +2 -0
  25. package/dist/authored-root.js.map +1 -1
  26. package/dist/authored-step-graph.d.ts +83 -0
  27. package/dist/authored-step-graph.d.ts.map +1 -0
  28. package/dist/authored-step-graph.js +217 -0
  29. package/dist/authored-step-graph.js.map +1 -0
  30. package/dist/authored-step-index.d.ts +30 -0
  31. package/dist/authored-step-index.d.ts.map +1 -1
  32. package/dist/authored-step-index.js +26 -1
  33. package/dist/authored-step-index.js.map +1 -1
  34. package/dist/authored-step-output.d.ts +3 -0
  35. package/dist/authored-step-output.d.ts.map +1 -1
  36. package/dist/authored-step-output.js +4 -2
  37. package/dist/authored-step-output.js.map +1 -1
  38. package/dist/authored-worker-step.d.ts +3 -1
  39. package/dist/authored-worker-step.d.ts.map +1 -1
  40. package/dist/authored-worker-step.js +25 -6
  41. package/dist/authored-worker-step.js.map +1 -1
  42. package/dist/cli/direct-run.d.ts.map +1 -1
  43. package/dist/cli/direct-run.js +5 -2
  44. package/dist/cli/direct-run.js.map +1 -1
  45. package/dist/cli/run.d.ts +2 -0
  46. package/dist/cli/run.d.ts.map +1 -1
  47. package/dist/cli/run.js +9 -5
  48. package/dist/cli/run.js.map +1 -1
  49. package/dist/cli/step-excerpt.d.ts +48 -0
  50. package/dist/cli/step-excerpt.d.ts.map +1 -0
  51. package/dist/cli/step-excerpt.js +302 -0
  52. package/dist/cli/step-excerpt.js.map +1 -0
  53. package/dist/cli/step-failure.d.ts.map +1 -1
  54. package/dist/cli/step-failure.js +9 -20
  55. package/dist/cli/step-failure.js.map +1 -1
  56. package/dist/cli-commands.d.ts +8 -0
  57. package/dist/cli-commands.d.ts.map +1 -1
  58. package/dist/cli-commands.js +6 -0
  59. package/dist/cli-commands.js.map +1 -1
  60. package/dist/cli.d.ts +2 -0
  61. package/dist/cli.d.ts.map +1 -1
  62. package/dist/cli.js +38 -7
  63. package/dist/cli.js.map +1 -1
  64. package/dist/failure-kinds.d.ts +10 -2
  65. package/dist/failure-kinds.d.ts.map +1 -1
  66. package/dist/failure-kinds.js.map +1 -1
  67. package/dist/journal-client.d.ts +8 -2
  68. package/dist/journal-client.d.ts.map +1 -1
  69. package/dist/journal-client.js +22 -6
  70. package/dist/journal-client.js.map +1 -1
  71. package/dist/llm-worker.d.ts +2 -1
  72. package/dist/llm-worker.d.ts.map +1 -1
  73. package/dist/llm-worker.js +5 -2
  74. package/dist/llm-worker.js.map +1 -1
  75. package/dist/local-agent.d.ts +1 -1
  76. package/dist/local-agent.d.ts.map +1 -1
  77. package/dist/local-agent.js +8 -3
  78. package/dist/local-agent.js.map +1 -1
  79. package/dist/preflight.d.ts.map +1 -1
  80. package/dist/preflight.js +29 -3
  81. package/dist/preflight.js.map +1 -1
  82. package/dist/promise-ancestry.d.ts +20 -0
  83. package/dist/promise-ancestry.d.ts.map +1 -0
  84. package/dist/promise-ancestry.js +104 -0
  85. package/dist/promise-ancestry.js.map +1 -0
  86. package/dist/validate.d.ts.map +1 -1
  87. package/dist/validate.js +7 -0
  88. package/dist/validate.js.map +1 -1
  89. package/dist/worker-cli.d.ts +7 -0
  90. package/dist/worker-cli.d.ts.map +1 -1
  91. package/dist/worker-cli.js +42 -10
  92. package/dist/worker-cli.js.map +1 -1
  93. package/dist/worker-slots.d.ts +42 -0
  94. package/dist/worker-slots.d.ts.map +1 -0
  95. package/dist/worker-slots.js +94 -0
  96. package/dist/worker-slots.js.map +1 -0
  97. package/package.json +2 -2
  98. package/src/authored-flow-executor.ts +22 -3
  99. package/src/authored-flow-lifecycle.ts +111 -16
  100. package/src/authored-flow-operation.ts +10 -0
  101. package/src/authored-node-entry.ts +4 -1
  102. package/src/authored-node-runner.ts +2 -1
  103. package/src/authored-promise-graph.ts +46 -19
  104. package/src/authored-root.ts +4 -0
  105. package/src/authored-step-graph.ts +246 -0
  106. package/src/authored-step-index.ts +44 -1
  107. package/src/authored-step-output.ts +7 -3
  108. package/src/authored-worker-step.ts +25 -6
  109. package/src/cli/direct-run.ts +5 -2
  110. package/src/cli/run.ts +11 -4
  111. package/src/cli/step-excerpt.ts +332 -0
  112. package/src/cli/step-failure.ts +9 -20
  113. package/src/cli-commands.ts +6 -0
  114. package/src/cli.ts +40 -9
  115. package/src/failure-kinds.ts +10 -2
  116. package/src/journal-client.ts +25 -6
  117. package/src/llm-worker.ts +7 -2
  118. package/src/local-agent.ts +8 -2
  119. package/src/preflight.ts +37 -2
  120. package/src/promise-ancestry.ts +98 -0
  121. package/src/validate.ts +7 -0
  122. package/src/worker-cli.ts +41 -9
  123. package/src/worker-slots.ts +92 -0
@@ -3,11 +3,12 @@ import { type ProgressEvent } from './progress.js';
3
3
  import type { GetFlowDefinition } from './authored-flow-loader.js';
4
4
  import type { RunLifecycleOptions } from './cli/run.js';
5
5
  import { AuthoredFlowExecutionError, type AuthoredFlowExecutionErrorCode } from './authored-flow-error.js';
6
+ import { type AuthoredStepEdges } from './authored-step-index.js';
6
7
  import { JournalClient } from './journal-client.js';
7
8
  import { type HostedExtensionDispatch, type LoadedFlowExtension } from './flow-extension-loader.js';
8
9
  import type { CompletionReason as ProtocolCompletionReason } from './protocol.js';
9
10
  export { AuthoredFlowExecutionError, type AuthoredFlowExecutionErrorCode };
10
- export interface AuthoredFlowJournalStep {
11
+ export interface AuthoredFlowJournalStep extends AuthoredStepEdges {
11
12
  readonly id: string;
12
13
  readonly runId: string;
13
14
  readonly completionReason: ProtocolCompletionReason;
@@ -64,6 +65,12 @@ export interface ExecuteAuthoredFlowOptions {
64
65
  readonly onWait?: RunLifecycleOptions['onWait'];
65
66
  readonly onProgress?: (event: ProgressEvent) => void;
66
67
  readonly localAgentStream?: string;
68
+ /**
69
+ * How many agent (and, separately, LLM) dispatches the attached local
70
+ * workers hold at once. Set, it caps this body's concurrent `f.agent` /
71
+ * `f.llm` child runs to match; unset, calls are admitted as they arrive.
72
+ */
73
+ readonly workerCapacity?: number;
67
74
  /** Durable kernel root that owns this body's child admission identities. */
68
75
  readonly rootRunId?: string;
69
76
  /** Installed flow-extension plugins, in lock order, so `f.hook` can AND-compose them. */
@@ -1 +1 @@
1
- {"version":3,"file":"authored-flow-executor.d.ts","sourceRoot":"","sources":["../src/authored-flow-executor.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAmD,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE/G,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAGhE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,0BAA0B,EAE1B,KAAK,8BAA8B,EACpC,MAAM,0BAA0B,CAAC;AASlC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,gBAAgB,IAAI,wBAAwB,EAE7C,MAAM,eAAe,CAAC;AAoBvB,OAAO,EAAE,0BAA0B,EAAE,KAAK,8BAA8B,EAAE,CAAC;AAE3E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,gBAAgB,EAAE,wBAAwB,CAAC;CACrD;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IACnD,QAAQ,CAAC,YAAY,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAC3D;AAmBD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAC3C,uFAAuF;IACvF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,kFAAkF;IAClF,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,yFAAyF;IACzF,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACrD;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;CACtD;AAED,wBAAsB,mBAAmB,CAAC,KAAK,GAAG,SAAS,EACzD,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,aAAa,EACtB,KAAK,CAAC,EAAE,KAAK,EACb,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,2BAA2B,CAAC,CAgetC;AAiBD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,gEAAiE,CAAC;AAClG,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB,CAEpF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAExE"}
1
+ {"version":3,"file":"authored-flow-executor.d.ts","sourceRoot":"","sources":["../src/authored-flow-executor.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ import { readHumanAnswer } from './authored-human.js';
22
22
  import { parseHumanTo } from './human-to.js';
23
23
  import { AuthoredFlowOperation, stopAuthoredOperations, verifyAuthoredOperations, } from './authored-flow-operation.js';
24
24
  import { AuthoredFlowLifecycle } from './authored-flow-lifecycle.js';
25
+ import { displayLabel } from './authored-step-index.js';
25
26
  import { PluginError } from './plugin-manifest.js';
26
27
  import { createHookEvaluator } from './authored-hooks.js';
27
28
  import { extensionHandlerForHostedDispatch, probeFlowExtension, } from './flow-extension-loader.js';
@@ -84,13 +85,15 @@ export async function executeAuthoredFlow(handle, journal, input, options = {})
84
85
  const journalSteps = [];
85
86
  const authoredSteps = [];
86
87
  const lifecycle = new AuthoredFlowLifecycle();
88
+ const stepEdges = (step) => lifecycle.stepEdges(step);
87
89
  let nextStep = 1;
88
90
  let requestedCompletion;
89
91
  const lowerDeterministic = authoredDeterministicRunner(definition.name, journal, journalSteps, budget, {
90
92
  ...(options.rootRunId === undefined ? {} : { rootRunId: options.rootRunId }),
91
93
  ...(options.dataDir === undefined ? {} : { dataDir: options.dataDir }),
94
+ stepEdges,
92
95
  });
93
- const worker = authoredWorkerRunner(definition, journal, flowPath, journalSteps, waitOptions, localAgentStream, budget, definition.header.budget, options.rootRunId);
96
+ const worker = authoredWorkerRunner(definition, journal, flowPath, journalSteps, waitOptions, localAgentStream, budget, definition.header.budget, options.rootRunId, options.workerCapacity, stepEdges);
94
97
  /**
95
98
  * Predicate gates (docs/SURFACE.md §6). The closure runs here, once, on the
96
99
  * value the journal handed back; the VERDICT is then journaled as a lowered
@@ -194,7 +197,7 @@ export async function executeAuthoredFlow(handle, journal, input, options = {})
194
197
  const text = prompt.reduce((result, part, index) => result + part
195
198
  + (index < values.length ? String(values[index]) : ''), '');
196
199
  return worker.llm(id, text, undefined, llmOp.namedGate);
197
- }, onProgress), lifecycle);
200
+ }, onProgress), lifecycle, {});
198
201
  return trackStep(authoredSteps, llmOp);
199
202
  }
200
203
  const slackRun = options.rootRunId ?? randomUUID();
@@ -242,16 +245,20 @@ export async function executeAuthoredFlow(handle, journal, input, options = {})
242
245
  const leaseMs = runOptions?.timeout === undefined ? undefined : parseStepTimeout(runOptions.timeout);
243
246
  const id = `run-${nextStep++}`;
244
247
  let runOp;
245
- runOp = new AuthoredFlowOperation(id, 'run', () => assertOperationAllowed('run', definition.name, requestedCompletion), () => observeStep(id, 'deterministic', () => lowerDeterministic(id, command, false, leaseMs, runOp.namedGate), options.onProgress), lifecycle);
248
+ runOp = new AuthoredFlowOperation(id, 'run', () => assertOperationAllowed('run', definition.name, requestedCompletion), () => observeStep(id, 'deterministic', () => lowerDeterministic(id, command, false, leaseMs, runOp.namedGate), options.onProgress), lifecycle,
249
+ // No label: a command is not a display name. It carries literal
250
+ // tokens and URLs, and no prefix of it is safe to show (displayLabel).
251
+ {});
246
252
  return trackStep(authoredSteps, runOp);
247
253
  },
248
254
  llm: llmOperation,
249
255
  agent(name, options) {
250
256
  assertOperationAllowed('agent', definition.name, requestedCompletion);
251
- void name; // Authored headers do not yet declare reusable named agents.
257
+ // Authored headers do not yet declare reusable named agents, so the name
258
+ // identifies nothing to the kernel; it is the step's label in the DAG.
252
259
  const id = `agent-${nextStep++}`;
253
260
  let agentOp;
254
- agentOp = new AuthoredFlowOperation(id, 'agent', () => assertOperationAllowed('agent', definition.name, requestedCompletion), () => observeStep(id, 'agent', () => worker.agent(id, options, agentOp.namedGate), onProgress), lifecycle);
261
+ agentOp = new AuthoredFlowOperation(id, 'agent', () => assertOperationAllowed('agent', definition.name, requestedCompletion), () => observeStep(id, 'agent', () => worker.agent(id, options, agentOp.namedGate), onProgress), lifecycle, displayLabel(typeof name === 'string' ? name : undefined));
255
262
  return trackStep(authoredSteps, agentOp);
256
263
  },
257
264
  /**
@@ -305,7 +312,7 @@ export async function executeAuthoredFlow(handle, journal, input, options = {})
305
312
  const literal = `'${JSON.stringify(record).replaceAll("'", "'\\''")}'`;
306
313
  await lowerDeterministic(id, `printf '%s' ${literal}`, false, undefined, humanOp.namedGate);
307
314
  return recorded.answer;
308
- }, options.onProgress), lifecycle);
315
+ }, options.onProgress), lifecycle, {});
309
316
  return trackStep(authoredSteps, humanOp);
310
317
  },
311
318
  dispatch() {
@@ -322,7 +329,7 @@ export async function executeAuthoredFlow(handle, journal, input, options = {})
322
329
  const literal = `'${JSON.stringify(record).replaceAll("'", "'\\''")}'`;
323
330
  await observeStep(id, 'deterministic', () => lowerDeterministic(id, `printf '%s' ${literal}`, false), options.onProgress);
324
331
  return verdict;
325
- }, lifecycle));
332
+ }, lifecycle, displayLabel(typeof name === 'string' ? name : undefined)));
326
333
  },
327
334
  done(reason) {
328
335
  if (!isSurfaceFlowCompletionReason(reason)) {
@@ -370,6 +377,7 @@ export async function executeAuthoredFlow(handle, journal, input, options = {})
370
377
  }
371
378
  if (bodyFailed) {
372
379
  try {
380
+ worker.stop(bodyFailure);
373
381
  await stopAuthoredOperations(authoredSteps, bodyFailure);
374
382
  }
375
383
  finally {
@@ -394,6 +402,7 @@ export async function executeAuthoredFlow(handle, journal, input, options = {})
394
402
  if (requestedCompletion === undefined) {
395
403
  const missingCompletion = new AuthoredFlowExecutionError('missing_completion', `flow "${definition.name}" returned without done()`);
396
404
  try {
405
+ worker.stop(missingCompletion);
397
406
  await stopAuthoredOperations(authoredSteps, missingCompletion);
398
407
  }
399
408
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"authored-flow-executor.js","sourceRoot":"","sources":["../src/authored-flow-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authored-flow-executor.js","sourceRoot":"","sources":["../src/authored-flow-executor.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,39 @@
1
+ import type { AuthoredStepEdges } from './authored-step-index.js';
1
2
  type OperationToken = object;
2
3
  export interface AuthoredOperationInvocation {
3
4
  readonly asyncId: number;
4
5
  bound: boolean;
5
6
  }
7
+ /**
8
+ * The four intrinsic combinators, intercepted so that an aggregate's membership
9
+ * is recorded exactly.
10
+ *
11
+ * **Why interception, and why all four.** An aggregate is derived from *every*
12
+ * member, but the runtime supplies an edge to only *one* of them: the aggregate
13
+ * is resolved inside the reaction of whichever member settled last (`all`,
14
+ * `allSettled`) or first (`race`, `any`). Inferring membership from that edge is
15
+ * a sufficient rule, never a necessary one, and it fails in both directions —
16
+ * `Promise.allSettled([step, slowerUnrelated])` hid a rejected derived chain
17
+ * behind an aggregate an unrelated promise resolved, and
18
+ * `await Promise.allSettled([a, b])` refused every member except the last to
19
+ * settle. Membership cannot be recovered from the promise graph, so it is
20
+ * recorded here, where the combinator is called and the member list is in hand.
21
+ *
22
+ * A previous revision registered `Promise.all` only, and claimed a
23
+ * resolution-context rule covered "every combinator, present and future". That
24
+ * claim was wrong: it covered whichever member happened to resolve the
25
+ * aggregate. What is true is narrower and is what the code now implements —
26
+ * these four are exact, and `adoptFromResolvingContext` in the promise graph is
27
+ * a best-effort fallback for aggregates built by hand.
28
+ *
29
+ * The interception is disclosed to authors in `docs/SURFACE.md`. It is spec
30
+ * transparent: `Symbol.iterator` is read exactly once (as the intrinsic does),
31
+ * a non-iterable is handed to the intrinsic so it produces the specified
32
+ * rejected promise, `this` is honoured for subclasses, and `name`/`length`
33
+ * match.
34
+ */
35
+ declare const COMBINATORS: readonly ["all", "allSettled", "any", "race"];
36
+ type CombinatorName = (typeof COMBINATORS)[number];
6
37
  /**
7
38
  * Runtime proof that a root operation participates in the continuation which
8
39
  * reaches done(). Promise resolver identity is never inferred from callback
@@ -21,6 +52,8 @@ export declare class AuthoredFlowLifecycle {
21
52
  predicateGate: unknown;
22
53
  }, value: T) => Promise<T>) | undefined;
23
54
  private readonly graph;
55
+ private readonly stepGraph;
56
+ private readonly operationPromises;
24
57
  private readonly activeResolverProbes;
25
58
  private readonly invocations;
26
59
  private readonly promiseAllAggregates;
@@ -28,10 +61,29 @@ export declare class AuthoredFlowLifecycle {
28
61
  private readonly callbackFailures;
29
62
  private completionAsyncId;
30
63
  private closed;
64
+ /** Bumped by every invocation and combinator registration; with the graph's version it keys `groupsByInvocation`. */
65
+ private registrations;
66
+ private groupsByInvocation;
31
67
  constructor();
32
68
  runBody<T>(body: () => T): T;
33
69
  registerStep(step: object, operation: OperationToken): void;
34
- registerCombinator(values: readonly unknown[], aggregate: Promise<unknown>): void;
70
+ registerCombinator(values: readonly unknown[], aggregate: Promise<unknown>, combinator: CombinatorName): void;
71
+ /**
72
+ * Record an operation's own promise and, for a step the run's DAG draws, its
73
+ * place in that DAG. Called synchronously from the operation's constructor:
74
+ * the causal predecessors are read from the context that invoked
75
+ * `f.agent`/`f.run`/`f.llm`, which is observable only at that moment.
76
+ *
77
+ * Every operation's promise is recorded so `Promise.all([step, …])` can
78
+ * expand to it; only a `node` becomes a frontier the walk stops at. An
79
+ * operation that is not drawn (a helper effect) is walked through instead,
80
+ * so an edge never names a step the index has no record for.
81
+ */
82
+ registerOperation(operation: OperationToken, promise: Promise<unknown>, node?: {
83
+ readonly step: string;
84
+ readonly label?: string;
85
+ }): AuthoredStepEdges | undefined;
86
+ stepEdges(step: string): AuthoredStepEdges | undefined;
35
87
  registerInvocation(operation: OperationToken, asyncId: number): AuthoredOperationInvocation;
36
88
  markCompletion(): void;
37
89
  invokeResolver<T>(invocation: AuthoredOperationInvocation, callback: () => T): T;
@@ -57,6 +109,13 @@ export declare class AuthoredFlowLifecycle {
57
109
  * Must be called before the gate awaits anything.
58
110
  */
59
111
  derivedWorkInFlight<T extends OperationToken>(operations: readonly T[]): T[];
112
+ /**
113
+ * Observe each settled derived promise once, crediting a rejection to every
114
+ * operation whose roots it derives from. Observing it once per operation
115
+ * instead — each after a scan of every tracked promise — was the gate's
116
+ * second quadratic term: roots of a task graph overlap heavily, so every
117
+ * operation re-observed most of the flow.
118
+ */
60
119
  observeCallbackFailures(operations: readonly OperationToken[]): Promise<void>;
61
120
  callbackFailure(operation: OperationToken): {
62
121
  readonly recorded: boolean;
@@ -66,6 +125,14 @@ export declare class AuthoredFlowLifecycle {
66
125
  private rootsFor;
67
126
  private recordCallbackFailure;
68
127
  private aggregatesFor;
128
+ /**
129
+ * For each invocation, the aggregates of every combinator group with a
130
+ * member that depends on it. Asked per group member per invocation, this was
131
+ * the gate's quadratic hot path: each question re-walked the member's whole
132
+ * ancestry. It is now one batch pass, recomputed only when the graph or the
133
+ * registrations have changed since the last gate question.
134
+ */
135
+ private aggregatesByInvocation;
69
136
  }
70
137
  export {};
71
138
  //# sourceMappingURL=authored-flow-lifecycle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authored-flow-lifecycle.d.ts","sourceRoot":"","sources":["../src/authored-flow-lifecycle.ts"],"names":[],"mappings":"AAIA,KAAK,cAAc,GAAG,MAAM,CAAC;AAM7B,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;CAChB;AA2FD;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC;;;;;OAKG;IACH,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAa;IAC7H,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuB;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4D;IACxF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA0C;IAC/E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;IACvE,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,MAAM,CAAS;;IAkBvB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;IAI5B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,IAAI;IAI3D,kBAAkB,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI;IAqBjF,kBAAkB,CAChB,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,MAAM,GACd,2BAA2B;IAS9B,cAAc,IAAI,IAAI;IAUtB,cAAc,CAAC,CAAC,EACd,UAAU,EAAE,2BAA2B,EACvC,QAAQ,EAAE,MAAM,CAAC,GAChB,CAAC;IAaJ,gBAAgB,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO;IAIpD,SAAS,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO;IAY7C;;;;;;;;;;;;;;;;;;OAkBG;IACH,mBAAmB,CAAC,CAAC,SAAS,cAAc,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE;IAKtE,uBAAuB,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnF,eAAe,CAAC,SAAS,EAAE,cAAc,GAAG;QAC1C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;KACzB;IAOD,KAAK,IAAI,IAAI;IAab,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,aAAa;CActB"}
1
+ {"version":3,"file":"authored-flow-lifecycle.d.ts","sourceRoot":"","sources":["../src/authored-flow-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { AsyncLocalStorage, executionAsyncId } from 'node:async_hooks';
2
2
  import { AuthoredFlowExecutionError } from './authored-flow-error.js';
3
3
  import { AuthoredPromiseGraph } from './authored-promise-graph.js';
4
+ import { AuthoredStepGraph } from './authored-step-graph.js';
4
5
  const nativePromiseThen = Promise.prototype.then;
5
6
  const activeLifecycle = new AsyncLocalStorage();
6
7
  const stepOwners = new WeakMap();
@@ -41,7 +42,7 @@ const observedCombinators = Object.fromEntries(COMBINATORS.map((name) => {
41
42
  if (members === undefined)
42
43
  return native.call(this, values);
43
44
  const aggregate = native.call(this, members);
44
- activeLifecycle.getStore()?.registerCombinator(members, aggregate);
45
+ activeLifecycle.getStore()?.registerCombinator(members, aggregate, name);
45
46
  return aggregate;
46
47
  };
47
48
  Object.defineProperty(observed, 'name', { value: name, configurable: true });
@@ -92,6 +93,8 @@ export class AuthoredFlowLifecycle {
92
93
  */
93
94
  applyPredicateGate = undefined;
94
95
  graph;
96
+ stepGraph;
97
+ operationPromises = new Map();
95
98
  activeResolverProbes = [];
96
99
  invocations = new Map();
97
100
  promiseAllAggregates = new Map();
@@ -99,11 +102,15 @@ export class AuthoredFlowLifecycle {
99
102
  callbackFailures = new Map();
100
103
  completionAsyncId;
101
104
  closed = false;
105
+ /** Bumped by every invocation and combinator registration; with the graph's version it keys `groupsByInvocation`. */
106
+ registrations = 0;
107
+ groupsByInvocation;
102
108
  constructor() {
103
109
  this.graph = new AuthoredPromiseGraph(() => activeLifecycle.getStore() === this, (asyncId) => {
104
110
  for (const probe of this.activeResolverProbes)
105
111
  probe.add(asyncId);
106
112
  });
113
+ this.stepGraph = new AuthoredStepGraph((asyncId) => this.graph.causesOf(asyncId));
107
114
  installPromiseAllObserver();
108
115
  try {
109
116
  this.graph.enable();
@@ -119,12 +126,13 @@ export class AuthoredFlowLifecycle {
119
126
  registerStep(step, operation) {
120
127
  stepOwners.set(step, { lifecycle: this, operation });
121
128
  }
122
- registerCombinator(values, aggregate) {
129
+ registerCombinator(values, aggregate, combinator) {
123
130
  const aggregateId = this.graph.idOf(aggregate);
124
131
  if (aggregateId === undefined)
125
132
  return;
126
133
  this.graph.registerRoot(aggregateId);
127
134
  const memberIds = new Set();
135
+ const awaitedMembers = [];
128
136
  for (const value of values) {
129
137
  if ((typeof value !== 'object' && typeof value !== 'function') || value === null)
130
138
  continue;
@@ -132,6 +140,11 @@ export class AuthoredFlowLifecycle {
132
140
  if (memberId !== undefined)
133
141
  memberIds.add(memberId);
134
142
  const owner = stepOwners.get(value);
143
+ // A Step is a thenable, not a promise: its member identity for the step
144
+ // graph is the operation's own promise.
145
+ const awaited = owner?.lifecycle === this ? this.operationPromises.get(owner.operation) : memberId;
146
+ if (awaited !== undefined)
147
+ awaitedMembers.push(awaited);
135
148
  if (owner?.lifecycle !== this)
136
149
  continue;
137
150
  let operationAggregates = this.promiseAllAggregates.get(owner.operation);
@@ -142,6 +155,30 @@ export class AuthoredFlowLifecycle {
142
155
  operationAggregates.add(aggregateId);
143
156
  }
144
157
  this.promiseAllGroups.push({ aggregate: aggregateId, members: memberIds });
158
+ this.registrations++;
159
+ this.stepGraph.registerAggregate(aggregateId, aggregate, combinator, awaitedMembers);
160
+ }
161
+ /**
162
+ * Record an operation's own promise and, for a step the run's DAG draws, its
163
+ * place in that DAG. Called synchronously from the operation's constructor:
164
+ * the causal predecessors are read from the context that invoked
165
+ * `f.agent`/`f.run`/`f.llm`, which is observable only at that moment.
166
+ *
167
+ * Every operation's promise is recorded so `Promise.all([step, …])` can
168
+ * expand to it; only a `node` becomes a frontier the walk stops at. An
169
+ * operation that is not drawn (a helper effect) is walked through instead,
170
+ * so an edge never names a step the index has no record for.
171
+ */
172
+ registerOperation(operation, promise, node) {
173
+ const promiseId = this.graph.idOf(promise);
174
+ if (promiseId !== undefined)
175
+ this.operationPromises.set(operation, promiseId);
176
+ if (node === undefined)
177
+ return undefined;
178
+ return this.stepGraph.registerStep(node.step, promiseId, executionAsyncId(), node.label);
179
+ }
180
+ stepEdges(step) {
181
+ return this.stepGraph.edgesOf(step);
145
182
  }
146
183
  registerInvocation(operation, asyncId) {
147
184
  const invocation = { asyncId, bound: false };
@@ -150,6 +187,7 @@ export class AuthoredFlowLifecycle {
150
187
  this.invocations.set(operation, [invocation]);
151
188
  else
152
189
  operationInvocations.push(invocation);
190
+ this.registrations++;
153
191
  this.graph.registerRoot(asyncId);
154
192
  return invocation;
155
193
  }
@@ -204,15 +242,43 @@ export class AuthoredFlowLifecycle {
204
242
  * Must be called before the gate awaits anything.
205
243
  */
206
244
  derivedWorkInFlight(operations) {
207
- return operations.filter((operation) => this.graph.inFlightFrom(this.rootsFor(operation)).length > 0);
245
+ const inFlight = this.graph.rootsInFlight();
246
+ return operations.filter((operation) => [...this.rootsFor(operation)].some((root) => inFlight.has(root)));
208
247
  }
248
+ /**
249
+ * Observe each settled derived promise once, crediting a rejection to every
250
+ * operation whose roots it derives from. Observing it once per operation
251
+ * instead — each after a scan of every tracked promise — was the gate's
252
+ * second quadratic term: roots of a task graph overlap heavily, so every
253
+ * operation re-observed most of the flow.
254
+ */
209
255
  async observeCallbackFailures(operations) {
210
- const observations = [];
256
+ const operationsByRoot = new Map();
211
257
  for (const operation of operations) {
212
- for (const promise of this.graph.settledFrom(this.rootsFor(operation))) {
213
- observations.push(nativePromiseThen.call(promise, () => undefined, (error) => { this.recordCallbackFailure(operation, error); }));
258
+ for (const root of this.rootsFor(operation)) {
259
+ const owners = operationsByRoot.get(root);
260
+ if (owners === undefined)
261
+ operationsByRoot.set(root, [operation]);
262
+ else
263
+ owners.push(operation);
214
264
  }
215
265
  }
266
+ const owners = new Map();
267
+ for (const { root, handle } of this.graph.settledWithRoots()) {
268
+ const rootOwners = operationsByRoot.get(root);
269
+ if (rootOwners === undefined)
270
+ continue;
271
+ let promiseOwners = owners.get(handle);
272
+ if (promiseOwners === undefined)
273
+ owners.set(handle, promiseOwners = new Set());
274
+ for (const operation of rootOwners)
275
+ promiseOwners.add(operation);
276
+ }
277
+ const observations = [];
278
+ for (const [promise, promiseOwners] of owners) {
279
+ observations.push(nativePromiseThen.call(promise, () => undefined, (error) => { for (const operation of promiseOwners)
280
+ this.recordCallbackFailure(operation, error); }));
281
+ }
216
282
  await Promise.all(observations);
217
283
  }
218
284
  callbackFailure(operation) {
@@ -227,9 +293,12 @@ export class AuthoredFlowLifecycle {
227
293
  this.closed = true;
228
294
  this.graph.disable();
229
295
  this.graph.clear();
296
+ this.stepGraph.release();
297
+ this.operationPromises.clear();
230
298
  this.invocations.clear();
231
299
  this.promiseAllAggregates.clear();
232
300
  this.promiseAllGroups.length = 0;
301
+ this.groupsByInvocation = undefined;
233
302
  this.callbackFailures.clear();
234
303
  this.activeResolverProbes.length = 0;
235
304
  uninstallPromiseAllObserver();
@@ -248,15 +317,44 @@ export class AuthoredFlowLifecycle {
248
317
  }
249
318
  aggregatesFor(operation) {
250
319
  const aggregates = new Set(this.promiseAllAggregates.get(operation) ?? []);
320
+ const groups = this.aggregatesByInvocation();
251
321
  for (const invocation of this.invocations.get(operation) ?? []) {
252
- for (const group of this.promiseAllGroups) {
253
- if (group.members.size > 0
254
- && [...group.members].some((member) => this.graph.dependsOn(member, invocation.asyncId))) {
322
+ for (const aggregate of groups.get(invocation.asyncId) ?? [])
323
+ aggregates.add(aggregate);
324
+ }
325
+ return aggregates;
326
+ }
327
+ /**
328
+ * For each invocation, the aggregates of every combinator group with a
329
+ * member that depends on it. Asked per group member per invocation, this was
330
+ * the gate's quadratic hot path: each question re-walked the member's whole
331
+ * ancestry. It is now one batch pass, recomputed only when the graph or the
332
+ * registrations have changed since the last gate question.
333
+ */
334
+ aggregatesByInvocation() {
335
+ const key = `${this.graph.version}:${this.registrations}`;
336
+ if (this.groupsByInvocation?.key === key)
337
+ return this.groupsByInvocation.groups;
338
+ const targets = [];
339
+ for (const operationInvocations of this.invocations.values()) {
340
+ for (const invocation of operationInvocations)
341
+ targets.push(invocation.asyncId);
342
+ }
343
+ const members = [...new Set(this.promiseAllGroups.flatMap((group) => [...group.members]))];
344
+ const reached = this.graph.dependenciesAmong(members, targets);
345
+ const groups = new Map();
346
+ for (const group of this.promiseAllGroups) {
347
+ for (const member of group.members) {
348
+ for (const target of reached.get(member) ?? []) {
349
+ let aggregates = groups.get(target);
350
+ if (aggregates === undefined)
351
+ groups.set(target, aggregates = new Set());
255
352
  aggregates.add(group.aggregate);
256
353
  }
257
354
  }
258
355
  }
259
- return aggregates;
356
+ this.groupsByInvocation = { key, groups };
357
+ return groups;
260
358
  }
261
359
  }
262
360
  function installPromiseAllObserver() {
@@ -1 +1 @@
1
- {"version":3,"file":"authored-flow-lifecycle.js","sourceRoot":"","sources":["../src/authored-flow-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authored-flow-lifecycle.js","sourceRoot":"","sources":["../src/authored-flow-lifecycle.ts"],"names":[],"mappings":"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"}