@procedures/client 0.24.1 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/CHANGELOG.md +93 -0
  2. package/README.md +15 -0
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/adapters/http/server/handler.js +7 -2
  5. package/dist/adapters/http/server/handler.js.map +1 -1
  6. package/dist/adapters/http/server/ndjson.d.ts +10 -13
  7. package/dist/adapters/http/server/ndjson.d.ts.map +1 -1
  8. package/dist/adapters/http/server/ndjson.js +12 -13
  9. package/dist/adapters/http/server/ndjson.js.map +1 -1
  10. package/dist/adapters/websocket/shared/rpc.d.ts +5 -8
  11. package/dist/adapters/websocket/shared/rpc.d.ts.map +1 -1
  12. package/dist/adapters/websocket/shared/rpc.js +11 -14
  13. package/dist/adapters/websocket/shared/rpc.js.map +1 -1
  14. package/dist/browser.d.ts +3 -3
  15. package/dist/browser.d.ts.map +1 -1
  16. package/dist/browser.js +4 -1
  17. package/dist/browser.js.map +1 -1
  18. package/dist/client/client.d.ts +7 -1
  19. package/dist/client/client.d.ts.map +1 -1
  20. package/dist/client/client.js +30 -19
  21. package/dist/client/client.js.map +1 -1
  22. package/dist/client/middleware/retry.d.ts.map +1 -1
  23. package/dist/client/middleware/retry.js +3 -1
  24. package/dist/client/middleware/retry.js.map +1 -1
  25. package/dist/procedures/core/index.d.ts +19 -3
  26. package/dist/procedures/core/index.d.ts.map +1 -1
  27. package/dist/procedures/core/index.js +53 -178
  28. package/dist/procedures/core/index.js.map +1 -1
  29. package/dist/procedures/core/operands.d.ts +12 -13
  30. package/dist/procedures/core/operands.d.ts.map +1 -1
  31. package/dist/procedures/core/operands.js +22 -38
  32. package/dist/procedures/core/operands.js.map +1 -1
  33. package/dist/procedures/define-procedure.d.ts.map +1 -1
  34. package/dist/procedures/define-procedure.js +6 -6
  35. package/dist/procedures/define-procedure.js.map +1 -1
  36. package/dist/procedures/envelope.d.ts +24 -8
  37. package/dist/procedures/envelope.d.ts.map +1 -1
  38. package/dist/procedures/envelope.js +51 -20
  39. package/dist/procedures/envelope.js.map +1 -1
  40. package/dist/procedures/idempotency.d.ts +5 -0
  41. package/dist/procedures/idempotency.d.ts.map +1 -1
  42. package/dist/procedures/idempotency.js +8 -0
  43. package/dist/procedures/idempotency.js.map +1 -1
  44. package/dist/procedures/index.d.ts +3 -1
  45. package/dist/procedures/index.d.ts.map +1 -1
  46. package/dist/procedures/index.js +3 -1
  47. package/dist/procedures/index.js.map +1 -1
  48. package/dist/procedures/program.d.ts +251 -0
  49. package/dist/procedures/program.d.ts.map +1 -0
  50. package/dist/procedures/program.js +1120 -0
  51. package/dist/procedures/program.js.map +1 -0
  52. package/dist/procedures/ref.d.ts +8 -91
  53. package/dist/procedures/ref.d.ts.map +1 -1
  54. package/dist/procedures/ref.js +16 -279
  55. package/dist/procedures/ref.js.map +1 -1
  56. package/dist/protocol.d.ts +12 -0
  57. package/dist/protocol.d.ts.map +1 -1
  58. package/dist/protocol.js +20 -0
  59. package/dist/protocol.js.map +1 -1
  60. package/dist/server/procedure-server.d.ts +3 -6
  61. package/dist/server/procedure-server.d.ts.map +1 -1
  62. package/dist/server/procedure-server.js +33 -14
  63. package/dist/server/procedure-server.js.map +1 -1
  64. package/package.json +2 -1
  65. package/src/adapters/http/server/handler.ts +8 -2
  66. package/src/adapters/http/server/ndjson.ts +17 -18
  67. package/src/adapters/websocket/shared/rpc.ts +11 -14
  68. package/src/browser.ts +25 -1
  69. package/src/client/client.ts +35 -23
  70. package/src/client/middleware/retry.ts +3 -1
  71. package/src/procedures/core/index.ts +68 -212
  72. package/src/procedures/core/operands.ts +24 -44
  73. package/src/procedures/define-procedure.ts +5 -7
  74. package/src/procedures/envelope.ts +64 -21
  75. package/src/procedures/idempotency.ts +8 -0
  76. package/src/procedures/index.ts +34 -4
  77. package/src/procedures/program.ts +1371 -0
  78. package/src/procedures/ref.ts +20 -354
  79. package/src/protocol.ts +19 -0
  80. package/src/server/procedure-server.ts +32 -13
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/procedures/program.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,10 @@
4
4
  * Enables procedures-as-data: procedures can be passed as inputs to other procedures,
5
5
  * composed declaratively via JSON, or imperatively via TypeScript.
6
6
  *
7
+ * This module holds the `$proc` form of a program: its keys, its types, the builder, the JSON
8
+ * helpers, the scope that a raw input carries and the raw-input rules. The kernel of coeval runs
9
+ * a program: `program.ts` changes the `$proc` form into a run document (roadmap item M14).
10
+ *
7
11
  * Key concepts:
8
12
  * - PROCEDURE_SYMBOL: Symbol tag to identify procedure references in JSON/objects
9
13
  * - ProcedureRef: A reference to a procedure with pre-bound input
@@ -11,8 +15,6 @@
11
15
  * - $name: Names the result of a chain step, for `$ref`
12
16
  * - $ref: Reads a name of the scope (a chain step, `$last`, `item`, `acc`, `index`, `input`)
13
17
  * - $literal: Gives a value without hydration
14
- * - hydrateInput: Walks input tree and executes nested procedure references
15
- * - executeRef: Helper for procedures to execute deferred refs
16
18
  * - proc(): Factory function to create procedure references
17
19
  *
18
20
  * ## Execution Control with $when
@@ -378,6 +380,10 @@ export interface HydrateOptions {
378
380
  /**
379
381
  * Whether sibling refs run at the same time (default: false). With false, the refs run one
380
382
  * after the other, from left to right and depth first, so the order of their effects is known.
383
+ *
384
+ * With true, the refs operate with failFast (D26): after the first error, the other refs stop
385
+ * at their next wait. Before 0.26.0, they went on in the background (`Promise.all`). When their
386
+ * calls must start, give `parallel: false`.
381
387
  */
382
388
  parallel?: boolean | undefined;
383
389
  /**
@@ -423,74 +429,8 @@ export interface HydrationEvent {
423
429
  */
424
430
  readonly consumer: AnyProcedureRef | undefined;
425
431
  }
426
- /**
427
- * This function adds an observer of every hydration in this process (or worker), and gives the
428
- * function that removes it. A host that does not call `hydrateInput` itself (the Composer of
429
- * the site runs `client.exec()`) uses it for its trace. The observer gets the events of all
430
- * concurrent hydrations: use it where one program runs at a time. For the events of one program,
431
- * give `onRef` to that program: `client.exec(ref, input, { onRef })` (docs review DOC-10).
432
- */
433
- export declare function observeHydration(observer: (event: HydrationEvent) => void): () => void;
434
432
  /** The maximum nesting of plain data in an input. A deeper input is an error, not a stack overflow. */
435
433
  export declare const MAX_DATA_DEPTH = 1000;
436
- /**
437
- * Hydrate an input tree by executing any nested procedure references.
438
- *
439
- * Walks the input object tree and replaces any ProcedureRef or ProcedureRefJson
440
- * objects with the result of executing that procedure, respecting $when timing.
441
- *
442
- * The rules:
443
- * - A ref with `$when: "$immediate"` (the default) runs. A ref whose procedure takes its input
444
- * raw (see `HydrateOptions.rawInput`) gets its input unchanged, with the scope attached.
445
- * - A ref with `$when: "$never"` stays as it is, with its whole subtree.
446
- * - A ref with `$when: "$parent"` or `$when: "<name>"` stays data for its runner. Its procedure
447
- * gets that ref later. The immediate refs of its input run now, unless the procedure takes its
448
- * input raw. A named ref runs now only when `contextStack` has the name.
449
- * - A `$ref` object gives a value from the scope. `{ $literal: value }` gives the value unchanged.
450
- * - An array whose items are all refs that run now, outside the input of a ref, runs as one
451
- * `client.chain`. An array with a deferred ref is a list.
452
- * - Values that are not plain data (`Date`, `Map`, typed arrays, class instances) stay unchanged.
453
- * A subtree without refs stays the same object.
454
- *
455
- * @param input - The input object potentially containing procedure references
456
- * @param executor - Function to execute procedure references
457
- * @param options - Hydration options
458
- * @returns The hydrated input with executed procedure refs replaced by their results
459
- *
460
- * @example
461
- * ```typescript
462
- * const input = {
463
- * visit: proc(["git", "add"]).input({ all: true }).build(),
464
- * config: { nested: true },
465
- * };
466
- *
467
- * const hydrated = await hydrateInput(input, async (path, input) => {
468
- * return await client.call({ path, input });
469
- * });
470
- *
471
- * // hydrated.visit is now the result of executing git.add
472
- * ```
473
- */
474
- export declare function hydrateInput<T>(input: T, executor: RefExecutor, options?: HydrateOptions): Promise<T>;
475
- /**
476
- * The path and the input of the root call of a program: the call that `client.exec()` starts.
477
- * `exec()` and the body of a procedure that `procedure.define` made both use this function, so
478
- * the same program gives the same result in both (docs review DOC-3: before, a defined body
479
- * hydrated its root call as a nested ref).
480
- *
481
- * The rules of the root call:
482
- * - A `$when` on the root call does not apply: the caller starts the root call now.
483
- * - A procedure that takes its input raw (`rawInput`) gets its input unchanged, with the scope
484
- * attached, and runs its operands itself.
485
- * - Another procedure gets its input hydrated as a root: a list of calls that run now is an
486
- * implicit chain, and the nested refs run.
487
- *
488
- * The caller then starts the call with the path and the input.
489
- */
490
- export declare function prepareRootCall(ref: AnyProcedureRef, executor: RefExecutor, options?: Pick<HydrateOptions, "rawInput" | "onRef" | "scope">): Promise<{
491
- path: ProcedurePath;
492
- input: unknown;
493
- }>;
494
434
  /**
495
435
  * Last path segments of the core control-flow procedures (registered under `["client", ...]`).
496
436
  *
@@ -555,29 +495,6 @@ export declare function takesRawInput(procedure: ProcedureShape): boolean;
555
495
  export declare function rawInputRule(registry: {
556
496
  get(path: ProcedurePath): ProcedureShape | undefined;
557
497
  } | undefined): (path: ProcedurePath) => boolean;
558
- /**
559
- * Execute a deferred procedure reference.
560
- *
561
- * This is a helper for procedures that receive deferred refs (via $when)
562
- * and need to execute them with additional context.
563
- *
564
- * @param ref - The procedure reference to execute
565
- * @param executor - Function to execute the procedure
566
- * @param additionalInput - Additional input to merge (e.g., cwd for dag.traverse)
567
- * @param options - Hydration options for the input of the ref (for example the runner's `contextStack`)
568
- * @returns The result of executing the procedure
569
- *
570
- * @example
571
- * ```typescript
572
- * // In dag.traverse, execute a deferred ref with cwd
573
- * const result = await executeRef(
574
- * input.visit,
575
- * (path, input) => ctx.client.call(path, input),
576
- * { cwd: node.repoPath }
577
- * );
578
- * ```
579
- */
580
- export declare function executeRef<TOutput = unknown>(ref: AnyProcedureRef, executor: RefExecutor, additionalInput?: Record<string, unknown>, options?: HydrateOptions): Promise<TOutput>;
581
498
  /**
582
499
  * Extract a JSON template from a procedure reference.
583
500
  * Useful for serializing imperative procedure compositions.
@@ -1 +1 @@
1
- {"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../src/procedures/ref.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../src/procedures/ref.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,10 @@
4
4
  * Enables procedures-as-data: procedures can be passed as inputs to other procedures,
5
5
  * composed declaratively via JSON, or imperatively via TypeScript.
6
6
  *
7
+ * This module holds the `$proc` form of a program: its keys, its types, the builder, the JSON
8
+ * helpers, the scope that a raw input carries and the raw-input rules. The kernel of coeval runs
9
+ * a program: `program.ts` changes the `$proc` form into a run document (roadmap item M14).
10
+ *
7
11
  * Key concepts:
8
12
  * - PROCEDURE_SYMBOL: Symbol tag to identify procedure references in JSON/objects
9
13
  * - ProcedureRef: A reference to a procedure with pre-bound input
@@ -11,8 +15,6 @@
11
15
  * - $name: Names the result of a chain step, for `$ref`
12
16
  * - $ref: Reads a name of the scope (a chain step, `$last`, `item`, `acc`, `index`, `input`)
13
17
  * - $literal: Gives a value without hydration
14
- * - hydrateInput: Walks input tree and executes nested procedure references
15
- * - executeRef: Helper for procedures to execute deferred refs
16
18
  * - proc(): Factory function to create procedure references
17
19
  *
18
20
  * ## Execution Control with $when
@@ -432,241 +434,8 @@ export function normalizeRef(ref) {
432
434
  }
433
435
  return fromJson(ref);
434
436
  }
435
- /** The observers of `observeHydration()`: they get the events of every hydration. */
436
- const hydrationObservers = new Set();
437
- /**
438
- * This function adds an observer of every hydration in this process (or worker), and gives the
439
- * function that removes it. A host that does not call `hydrateInput` itself (the Composer of
440
- * the site runs `client.exec()`) uses it for its trace. The observer gets the events of all
441
- * concurrent hydrations: use it where one program runs at a time. For the events of one program,
442
- * give `onRef` to that program: `client.exec(ref, input, { onRef })` (docs review DOC-10).
443
- */
444
- export function observeHydration(observer) {
445
- hydrationObservers.add(observer);
446
- return () => {
447
- hydrationObservers.delete(observer);
448
- };
449
- }
450
437
  /** The maximum nesting of plain data in an input. A deeper input is an error, not a stack overflow. */
451
438
  export const MAX_DATA_DEPTH = 1000;
452
- /**
453
- * Hydrate an input tree by executing any nested procedure references.
454
- *
455
- * Walks the input object tree and replaces any ProcedureRef or ProcedureRefJson
456
- * objects with the result of executing that procedure, respecting $when timing.
457
- *
458
- * The rules:
459
- * - A ref with `$when: "$immediate"` (the default) runs. A ref whose procedure takes its input
460
- * raw (see `HydrateOptions.rawInput`) gets its input unchanged, with the scope attached.
461
- * - A ref with `$when: "$never"` stays as it is, with its whole subtree.
462
- * - A ref with `$when: "$parent"` or `$when: "<name>"` stays data for its runner. Its procedure
463
- * gets that ref later. The immediate refs of its input run now, unless the procedure takes its
464
- * input raw. A named ref runs now only when `contextStack` has the name.
465
- * - A `$ref` object gives a value from the scope. `{ $literal: value }` gives the value unchanged.
466
- * - An array whose items are all refs that run now, outside the input of a ref, runs as one
467
- * `client.chain`. An array with a deferred ref is a list.
468
- * - Values that are not plain data (`Date`, `Map`, typed arrays, class instances) stay unchanged.
469
- * A subtree without refs stays the same object.
470
- *
471
- * @param input - The input object potentially containing procedure references
472
- * @param executor - Function to execute procedure references
473
- * @param options - Hydration options
474
- * @returns The hydrated input with executed procedure refs replaced by their results
475
- *
476
- * @example
477
- * ```typescript
478
- * const input = {
479
- * visit: proc(["git", "add"]).input({ all: true }).build(),
480
- * config: { nested: true },
481
- * };
482
- *
483
- * const hydrated = await hydrateInput(input, async (path, input) => {
484
- * return await client.call({ path, input });
485
- * });
486
- *
487
- * // hydrated.visit is now the result of executing git.add
488
- * ```
489
- */
490
- export async function hydrateInput(input, executor, options = {}) {
491
- const ctx = {
492
- executor,
493
- maxDepth: options.maxDepth ?? 10,
494
- parallel: options.parallel ?? false,
495
- contextStack: options.contextStack ?? [],
496
- scope: options.scope,
497
- rawInput: options.rawInput ?? isControlFlowPath,
498
- skipImplicitChain: false,
499
- deferred: false,
500
- onRef: options.onRef,
501
- };
502
- return hydrateValue(input, ctx, 0, undefined, 0);
503
- }
504
- /**
505
- * The path and the input of the root call of a program: the call that `client.exec()` starts.
506
- * `exec()` and the body of a procedure that `procedure.define` made both use this function, so
507
- * the same program gives the same result in both (docs review DOC-3: before, a defined body
508
- * hydrated its root call as a nested ref).
509
- *
510
- * The rules of the root call:
511
- * - A `$when` on the root call does not apply: the caller starts the root call now.
512
- * - A procedure that takes its input raw (`rawInput`) gets its input unchanged, with the scope
513
- * attached, and runs its operands itself.
514
- * - Another procedure gets its input hydrated as a root: a list of calls that run now is an
515
- * implicit chain, and the nested refs run.
516
- *
517
- * The caller then starts the call with the path and the input.
518
- */
519
- export async function prepareRootCall(ref, executor, options = {}) {
520
- const root = normalizeRef(ref);
521
- const rawInput = options.rawInput ?? isControlFlowPath;
522
- if (rawInput(root.path)) {
523
- return { path: root.path, input: withScope(root.input, options.scope) };
524
- }
525
- const input = await hydrateInput(root.input, executor, { rawInput, onRef: options.onRef, scope: options.scope });
526
- return { path: root.path, input };
527
- }
528
- /**
529
- * This function tells the observers that a ref runs now. The consumer is the nearest ref
530
- * around the ref. An observer that throws does not change the hydration.
531
- */
532
- function notifyRef(ctx, ref, path, ancestors) {
533
- if (!ctx.onRef && hydrationObservers.size === 0)
534
- return;
535
- let consumer;
536
- for (let current = ancestors; current; current = current.up) {
537
- if (isAnyProcedureRef(current.value)) {
538
- consumer = current.value;
539
- break;
540
- }
541
- }
542
- const event = { path, ref, consumer };
543
- for (const observer of ctx.onRef ? [ctx.onRef, ...hydrationObservers] : hydrationObservers) {
544
- try {
545
- observer(event);
546
- }
547
- catch {
548
- // A trace must not change the program
549
- }
550
- }
551
- }
552
- /** The values of `fn` for each item: one after the other, or at the same time. */
553
- async function eachValue(items, fn, parallel) {
554
- if (parallel)
555
- return Promise.all(items.map(fn));
556
- const results = [];
557
- for (const item of items)
558
- results.push(await fn(item));
559
- return results;
560
- }
561
- /** This function resolves a `$ref` in the scope of the hydration. */
562
- function resolveRefValue(value, ctx) {
563
- // No scope: the object is data (for example a JSON Schema reference), or a later scope binds it
564
- if (!ctx.scope)
565
- return value;
566
- const { found, value: resolved } = lookupOutputRef(value.$ref, ctx.scope);
567
- if (found)
568
- return resolved;
569
- // Inside a deferred ref, the runner can bind the name later
570
- if (ctx.deferred)
571
- return value;
572
- const name = value.$ref.split(".")[0];
573
- throw new Error(`Unknown $ref name "${name}" in "${value.$ref}": no step, item or input has this name here. ` +
574
- `For a literal $ref object, write { "$literal": { "$ref": ... } }.`);
575
- }
576
- /**
577
- * Internal recursive hydration function.
578
- *
579
- * `refDepth` counts the refs around the value. `dataDepth` counts all levels.
580
- */
581
- async function hydrateValue(value, ctx, refDepth, ancestors, dataDepth) {
582
- // Handle null/undefined/primitives
583
- if (value === null || typeof value !== "object") {
584
- return value;
585
- }
586
- if (dataDepth > MAX_DATA_DEPTH) {
587
- throw new Error(`Hydration failed: the input has more than ${MAX_DATA_DEPTH} levels of nesting`);
588
- }
589
- for (let current = ancestors; current; current = current.up) {
590
- if (current.value === value) {
591
- throw new Error("Hydration failed: the input is cyclic (an object contains itself)");
592
- }
593
- }
594
- // { $literal: value } gives the value without hydration
595
- if (isLiteral(value)) {
596
- return value.$literal;
597
- }
598
- // Check if this is an output reference ($ref)
599
- if (isOutputRef(value)) {
600
- return resolveRefValue(value, ctx);
601
- }
602
- // Check if this is a procedure reference ($proc)
603
- if (isAnyProcedureRef(value)) {
604
- return hydrateRef(value, ctx, refDepth, ancestors, dataDepth);
605
- }
606
- const inner = { value, up: ancestors };
607
- // Handle arrays
608
- if (Array.isArray(value)) {
609
- // An array of procedure refs that all run now is an implicit chain. A deferred ref ($never,
610
- // $parent, a context name that the runner did not give) is data, so a list with one is a list
611
- // (docs review DOC-1: before, a list of only $never refs ran as a chain). Inside an implicit
612
- // chain, the steps do not make another one.
613
- if (!ctx.skipImplicitChain &&
614
- value.length > 0 &&
615
- value.every((item) => isAnyProcedureRef(item) && shouldExecuteRef(item, ctx.contextStack, false))) {
616
- // client.chain runs the steps in order: they reach it raw. (Before, hydration ran the steps
617
- // all at once, and client.chain got their results: deep dive, architecture review 3.4.)
618
- const implicitChain = { $proc: ["client", "chain"], input: { steps: value } };
619
- return hydrateRef(implicitChain, { ...ctx, skipImplicitChain: true }, refDepth, ancestors, dataDepth);
620
- }
621
- const items = await eachValue(value, (item) => hydrateValue(item, ctx, refDepth, inner, dataDepth + 1), ctx.parallel);
622
- return (items.every((item, index) => item === value[index]) ? value : items);
623
- }
624
- // Values that are not plain data (Date, Map, typed arrays, class instances) stay unchanged
625
- if (!isPlainObject(value)) {
626
- return value;
627
- }
628
- // Handle plain objects
629
- const entries = Object.entries(value);
630
- const values = await eachValue(entries, ([, val]) => hydrateValue(val, ctx, refDepth, inner, dataDepth + 1), ctx.parallel);
631
- if (values.every((val, index) => val === entries[index][1])) {
632
- return value;
633
- }
634
- // Object.fromEntries makes own properties, also for a key such as "__proto__"
635
- return Object.fromEntries(entries.map(([key], index) => [key, values[index]]));
636
- }
637
- /** This function hydrates one procedure ref: it runs the ref, or it keeps the ref as data. */
638
- async function hydrateRef(value, ctx, refDepth, ancestors, dataDepth) {
639
- const when = getRefWhen(value);
640
- // $never: pure data, with its whole subtree (deep dive CORE-11: before, its input was hydrated)
641
- if (when === WHEN_NEVER) {
642
- return value;
643
- }
644
- if (refDepth >= ctx.maxDepth) {
645
- throw new Error(`Hydration depth exceeded maximum of ${ctx.maxDepth}`);
646
- }
647
- const ref = normalizeRef(value);
648
- const raw = ctx.rawInput(ref.path);
649
- const inner = { value, up: ancestors };
650
- // The input of a ref is never an implicit chain
651
- const inputCtx = (deferred) => ({ ...ctx, skipImplicitChain: true, deferred });
652
- // A ref that waits for its runner ($parent, or a name that the runner did not give) is data.
653
- // Its own $name is not a context here: hydration of its input does not run refs that wait for
654
- // it, at any depth (deep dive CORE-11: before, this depended on the depth of the ref).
655
- if (!shouldExecuteRef(value, ctx.contextStack, false)) {
656
- if (raw)
657
- return value;
658
- const input = await hydrateValue(ref.input, inputCtx(true), refDepth + 1, inner, dataDepth + 1);
659
- return input === ref.input ? value : { ...value, input };
660
- }
661
- // A procedure that takes its input raw gets it unchanged, with the scope of the caller
662
- if (raw) {
663
- notifyRef(ctx, value, ref.path, ancestors);
664
- return ctx.executor(ref.path, withScope(ref.input, ctx.scope));
665
- }
666
- const input = await hydrateValue(ref.input, inputCtx(false), refDepth + 1, inner, dataDepth + 1);
667
- notifyRef(ctx, value, ref.path, ancestors);
668
- return ctx.executor(ref.path, input);
669
- }
670
439
  // =============================================================================
671
440
  // Control-Flow Procedures
672
441
  // =============================================================================
@@ -747,52 +516,20 @@ export function takesRawInput(procedure) {
747
516
  * decides (deep dive CORE-5). A path that the registry does not have uses the control-flow paths.
748
517
  */
749
518
  export function rawInputRule(registry) {
750
- return (path) => {
751
- const procedure = registry?.get(path);
752
- return procedure ? takesRawInput(procedure) : isControlFlowPath(path);
753
- };
754
- }
755
- // =============================================================================
756
- // Deferred Ref Execution
757
- // =============================================================================
758
- /**
759
- * Execute a deferred procedure reference.
760
- *
761
- * This is a helper for procedures that receive deferred refs (via $when)
762
- * and need to execute them with additional context.
763
- *
764
- * @param ref - The procedure reference to execute
765
- * @param executor - Function to execute the procedure
766
- * @param additionalInput - Additional input to merge (e.g., cwd for dag.traverse)
767
- * @param options - Hydration options for the input of the ref (for example the runner's `contextStack`)
768
- * @returns The result of executing the procedure
769
- *
770
- * @example
771
- * ```typescript
772
- * // In dag.traverse, execute a deferred ref with cwd
773
- * const result = await executeRef(
774
- * input.visit,
775
- * (path, input) => ctx.client.call(path, input),
776
- * { cwd: node.repoPath }
777
- * );
778
- * ```
779
- */
780
- export async function executeRef(ref, executor, additionalInput, options = {}) {
781
- const normalized = normalizeRef(ref);
782
- const baseInput = typeof normalized.input === "object" ? normalized.input : {};
783
- // Merge additional input
784
- const mergedInput = {
785
- ...baseInput,
786
- ...additionalInput,
787
- };
788
- const raw = (options.rawInput ?? isControlFlowPath)(normalized.path);
789
- if (raw) {
790
- return executor(normalized.path, withScope(mergedInput, options.scope));
519
+ if (!registry)
520
+ return isControlFlowPath;
521
+ // One rule for each registry: the rule reads the registry at each call, so it stays current
522
+ let rule = RAW_INPUT_RULES.get(registry);
523
+ if (!rule) {
524
+ rule = (path) => {
525
+ const procedure = registry.get(path);
526
+ return procedure ? takesRawInput(procedure) : isControlFlowPath(path);
527
+ };
528
+ RAW_INPUT_RULES.set(registry, rule);
791
529
  }
792
- // Hydrate the merged input (execute any nested $immediate refs)
793
- const hydratedInput = await hydrateInput(mergedInput, executor, options);
794
- return executor(normalized.path, hydratedInput);
530
+ return rule;
795
531
  }
532
+ const RAW_INPUT_RULES = new WeakMap();
796
533
  // =============================================================================
797
534
  // Template Extraction
798
535
  // =============================================================================