@relayflows/sdk 2.0.11 → 2.0.12

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 (156) hide show
  1. package/dist/adapters/base.d.ts +6 -0
  2. package/dist/adapters/base.d.ts.map +1 -1
  3. package/dist/adapters/claude.d.ts.map +1 -1
  4. package/dist/adapters/claude.js +1 -0
  5. package/dist/adapters/claude.js.map +1 -1
  6. package/dist/authored-admission.d.ts +5 -0
  7. package/dist/authored-admission.d.ts.map +1 -0
  8. package/dist/authored-admission.js +14 -0
  9. package/dist/authored-admission.js.map +1 -0
  10. package/dist/authored-budget.d.ts +1 -1
  11. package/dist/authored-budget.d.ts.map +1 -1
  12. package/dist/authored-budget.js +3 -3
  13. package/dist/authored-budget.js.map +1 -1
  14. package/dist/authored-flow-error.d.ts +1 -1
  15. package/dist/authored-flow-error.d.ts.map +1 -1
  16. package/dist/authored-flow-error.js.map +1 -1
  17. package/dist/authored-flow-executor.d.ts +10 -0
  18. package/dist/authored-flow-executor.d.ts.map +1 -1
  19. package/dist/authored-flow-executor.js +10 -7
  20. package/dist/authored-flow-executor.js.map +1 -1
  21. package/dist/authored-flow-loader.d.ts +20 -0
  22. package/dist/authored-flow-loader.d.ts.map +1 -1
  23. package/dist/authored-flow-loader.js +86 -11
  24. package/dist/authored-flow-loader.js.map +1 -1
  25. package/dist/authored-helper-effect.d.ts +1 -1
  26. package/dist/authored-helper-effect.d.ts.map +1 -1
  27. package/dist/authored-helper-effect.js +5 -3
  28. package/dist/authored-helper-effect.js.map +1 -1
  29. package/dist/authored-mcp.d.ts +1 -1
  30. package/dist/authored-mcp.d.ts.map +1 -1
  31. package/dist/authored-mcp.js +7 -4
  32. package/dist/authored-mcp.js.map +1 -1
  33. package/dist/authored-node-entry.d.ts +2 -0
  34. package/dist/authored-node-entry.d.ts.map +1 -0
  35. package/dist/authored-node-entry.js +111 -0
  36. package/dist/authored-node-entry.js.map +1 -0
  37. package/dist/authored-node-runner.d.ts +11 -0
  38. package/dist/authored-node-runner.d.ts.map +1 -0
  39. package/dist/authored-node-runner.js +246 -0
  40. package/dist/authored-node-runner.js.map +1 -0
  41. package/dist/authored-plugin-effect.d.ts +1 -1
  42. package/dist/authored-plugin-effect.d.ts.map +1 -1
  43. package/dist/authored-plugin-effect.js +7 -4
  44. package/dist/authored-plugin-effect.js.map +1 -1
  45. package/dist/authored-root.d.ts +38 -0
  46. package/dist/authored-root.d.ts.map +1 -0
  47. package/dist/authored-root.js +329 -0
  48. package/dist/authored-root.js.map +1 -0
  49. package/dist/authored-runtime-capability.d.ts +6 -0
  50. package/dist/authored-runtime-capability.d.ts.map +1 -0
  51. package/dist/authored-runtime-capability.js +40 -0
  52. package/dist/authored-runtime-capability.js.map +1 -0
  53. package/dist/authored-source-authority.d.ts +4 -0
  54. package/dist/authored-source-authority.d.ts.map +1 -0
  55. package/dist/authored-source-authority.js +61 -0
  56. package/dist/authored-source-authority.js.map +1 -0
  57. package/dist/authored-worker-step.d.ts +2 -2
  58. package/dist/authored-worker-step.d.ts.map +1 -1
  59. package/dist/authored-worker-step.js +11 -6
  60. package/dist/authored-worker-step.js.map +1 -1
  61. package/dist/budget-preflight.d.ts +17 -3
  62. package/dist/budget-preflight.d.ts.map +1 -1
  63. package/dist/budget-preflight.js +31 -24
  64. package/dist/budget-preflight.js.map +1 -1
  65. package/dist/cli/check.js +3 -1
  66. package/dist/cli/check.js.map +1 -1
  67. package/dist/cli/direct-run.d.ts.map +1 -1
  68. package/dist/cli/direct-run.js +18 -14
  69. package/dist/cli/direct-run.js.map +1 -1
  70. package/dist/cli/run.d.ts +2 -0
  71. package/dist/cli/run.d.ts.map +1 -1
  72. package/dist/cli/run.js +56 -1
  73. package/dist/cli/run.js.map +1 -1
  74. package/dist/cli-adapter.d.ts +16 -0
  75. package/dist/cli-adapter.d.ts.map +1 -1
  76. package/dist/cli-adapter.js +17 -0
  77. package/dist/cli-adapter.js.map +1 -1
  78. package/dist/cli.js +4 -4
  79. package/dist/cli.js.map +1 -1
  80. package/dist/cloud-run.d.ts +11 -1
  81. package/dist/cloud-run.d.ts.map +1 -1
  82. package/dist/cloud-run.js +65 -19
  83. package/dist/cloud-run.js.map +1 -1
  84. package/dist/failure-kinds.d.ts +7 -3
  85. package/dist/failure-kinds.d.ts.map +1 -1
  86. package/dist/failure-kinds.js +5 -1
  87. package/dist/failure-kinds.js.map +1 -1
  88. package/dist/journal-client.d.ts +1 -1
  89. package/dist/journal-client.d.ts.map +1 -1
  90. package/dist/journal-client.js +6 -2
  91. package/dist/journal-client.js.map +1 -1
  92. package/dist/llm-worker.d.ts.map +1 -1
  93. package/dist/llm-worker.js +4 -2
  94. package/dist/llm-worker.js.map +1 -1
  95. package/dist/local-agent.d.ts +1 -1
  96. package/dist/local-agent.d.ts.map +1 -1
  97. package/dist/local-agent.js +2 -2
  98. package/dist/local-agent.js.map +1 -1
  99. package/dist/model-pricing.d.ts +3 -4
  100. package/dist/model-pricing.d.ts.map +1 -1
  101. package/dist/model-pricing.js +4 -4
  102. package/dist/model-pricing.js.map +1 -1
  103. package/dist/preflight.d.ts +4 -1
  104. package/dist/preflight.d.ts.map +1 -1
  105. package/dist/preflight.js +36 -18
  106. package/dist/preflight.js.map +1 -1
  107. package/dist/protocol.d.ts +2 -0
  108. package/dist/protocol.d.ts.map +1 -1
  109. package/dist/spec.d.ts +5 -4
  110. package/dist/spec.d.ts.map +1 -1
  111. package/dist/spec.js.map +1 -1
  112. package/dist/worker-cli.d.ts.map +1 -1
  113. package/dist/worker-cli.js +6 -5
  114. package/dist/worker-cli.js.map +1 -1
  115. package/dist/worker-spend.d.ts +4 -3
  116. package/dist/worker-spend.d.ts.map +1 -1
  117. package/dist/worker-spend.js +13 -4
  118. package/dist/worker-spend.js.map +1 -1
  119. package/dist/worker.d.ts.map +1 -1
  120. package/dist/worker.js +4 -2
  121. package/dist/worker.js.map +1 -1
  122. package/package.json +2 -2
  123. package/src/adapters/base.ts +7 -0
  124. package/src/adapters/claude.ts +1 -0
  125. package/src/authored-admission.ts +17 -0
  126. package/src/authored-budget.ts +4 -3
  127. package/src/authored-flow-error.ts +0 -1
  128. package/src/authored-flow-executor.ts +27 -7
  129. package/src/authored-flow-loader.ts +96 -13
  130. package/src/authored-helper-effect.ts +5 -3
  131. package/src/authored-mcp.ts +6 -4
  132. package/src/authored-node-entry.ts +90 -0
  133. package/src/authored-node-runner.ts +219 -0
  134. package/src/authored-plugin-effect.ts +6 -3
  135. package/src/authored-root.ts +396 -0
  136. package/src/authored-runtime-capability.ts +40 -0
  137. package/src/authored-source-authority.ts +62 -0
  138. package/src/authored-worker-step.ts +15 -4
  139. package/src/budget-preflight.ts +41 -25
  140. package/src/cli/check.ts +3 -1
  141. package/src/cli/direct-run.ts +24 -16
  142. package/src/cli/run.ts +58 -1
  143. package/src/cli-adapter.ts +27 -0
  144. package/src/cli.ts +5 -5
  145. package/src/cloud-run.ts +74 -21
  146. package/src/failure-kinds.ts +5 -1
  147. package/src/journal-client.ts +6 -2
  148. package/src/llm-worker.ts +4 -2
  149. package/src/local-agent.ts +7 -2
  150. package/src/model-pricing.ts +4 -4
  151. package/src/preflight.ts +40 -18
  152. package/src/protocol.ts +2 -0
  153. package/src/spec.ts +5 -4
  154. package/src/worker-cli.ts +7 -5
  155. package/src/worker-spend.ts +15 -4
  156. package/src/worker.ts +4 -2
package/dist/spec.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,iEAAiE;AACjE,0EAA0E;AAC1E,qFAAqF;AACrF,kGAAkG;AAClG,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,yDAAyD;AAsWzD,uDAAuD;AACvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,iEAAiE;AACjE,0EAA0E;AAC1E,qFAAqF;AACrF,kGAAkG;AAClG,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,yDAAyD;AAuWzD,uDAAuD;AACvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker-cli.d.ts","sourceRoot":"","sources":["../src/worker-cli.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAUhF,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,4BAA4B,CAAC;AAEpC,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,SAAS,oBAAoB,CAAC;AAE3C,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,OAAO,0BAA0B,EAAE,gBAAgB,CAAC;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,OAAO,EACpB,KAAK,CAAC,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAC7C,MAAM,CAAC,EAAE,WAAW,EACpB,IAAI,GAAE,OAAO,GAAG,KAAe,EAC/B,WAAW,CAAC,EAAE,kBAAkB,EAChC,GAAG,CAAC,EAAE,MAAM,EACZ,SAAS,GAAE,cAAyB,EACpC,YAAY,CAAC,EAAE,iBAAiB,GAC/B,OAAO,CAAC,eAAe,CAAC,CA6C1B"}
1
+ {"version":3,"file":"worker-cli.d.ts","sourceRoot":"","sources":["../src/worker-cli.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAWhF,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,4BAA4B,CAAC;AAEpC,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,SAAS,oBAAoB,CAAC;AAE3C,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,OAAO,0BAA0B,EAAE,gBAAgB,CAAC;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,OAAO,EACpB,KAAK,CAAC,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAC7C,MAAM,CAAC,EAAE,WAAW,EACpB,IAAI,GAAE,OAAO,GAAG,KAAe,EAC/B,WAAW,CAAC,EAAE,kBAAkB,EAChC,GAAG,CAAC,EAAE,MAAM,EACZ,SAAS,GAAE,cAAyB,EACpC,YAAY,CAAC,EAAE,iBAAiB,GAC/B,OAAO,CAAC,eAAe,CAAC,CA8C1B"}
@@ -2,7 +2,7 @@ import { decodeProviderResult, decodeWrapperResult, requirePricedUsage } from '.
2
2
  import { openSidechannel } from './pty-sidechannel.js';
3
3
  import { spawn } from 'node:child_process';
4
4
  import { childStop, ownsProcessGroup } from './child-stop.js';
5
- import { agentExecution, llmExecution, cliAdapterKind, } from './cli-adapter.js';
5
+ import { agentExecution, llmExecution, cliAdapterKind, resolveCliModel, } from './cli-adapter.js';
6
6
  import { runWrapperSession, } from './wrapper-session.js';
7
7
  import { wrapperEnvironment } from './wrapper-runtime.js';
8
8
  import { runAgentRelayTask, AgentRelayTransportError, } from './agent-relay-transport.js';
@@ -20,16 +20,17 @@ export async function runAgentCli(cli, instruction, wakeContext, model, wrapperL
20
20
  throw new Error('Lease-bound agent execution requires macOS or Linux process-group cancellation; Windows is unsupported.');
21
21
  }
22
22
  const kind = cliAdapterKind(cli);
23
+ const effectiveModel = resolveCliModel(cli, model);
23
24
  if (mode === 'agent' && transport === 'relay') {
24
- return runViaAgentRelay(kind, instruction, wakeContext, model, relayContext, cwd, signal);
25
+ return runViaAgentRelay(kind, instruction, wakeContext, effectiveModel, relayContext, cwd, signal);
25
26
  }
26
27
  if (kind === 'relayflows-wrapper-v1') {
27
- return requirePricedUsage(decodeWrapperResult(await runWrapperSession(cli, instruction, wakeContext, model, wrapperEnvironment(process.env), wrapperLimits, signal)), model);
28
+ return requirePricedUsage(decodeWrapperResult(await runWrapperSession(cli, instruction, wakeContext, effectiveModel, wrapperEnvironment(process.env), wrapperLimits, signal)), effectiveModel);
28
29
  }
29
30
  const env = { ...process.env };
30
31
  delete env[WAKE_CONTEXT_ENV];
31
32
  delete env[MODEL_ENV];
32
- const invocation = mode === 'llm' ? llmExecution(kind, instruction, model) : agentExecution(kind, instruction, model);
33
+ const invocation = mode === 'llm' ? llmExecution(kind, instruction, effectiveModel) : agentExecution(kind, instruction, effectiveModel);
33
34
  if (wakeContext !== undefined) {
34
35
  try {
35
36
  env[WAKE_CONTEXT_ENV] = JSON.stringify(wakeContext);
@@ -47,7 +48,7 @@ export async function runAgentCli(cli, instruction, wakeContext, model, wrapperL
47
48
  // Structured provider output carries the authoritative token counts.
48
49
  const args = [...invocation.args];
49
50
  args.splice(args.length - 1, 0, ...(kind === 'claude' ? ['--output-format', 'json'] : ['--json']));
50
- return requirePricedUsage(decodeProviderResult(await spawnInvocation(cli, { ...invocation, args }, env, signal, sidechannel, cwd), kind), model);
51
+ return requirePricedUsage(decodeProviderResult(await spawnInvocation(cli, { ...invocation, args }, env, signal, sidechannel, cwd), kind), effectiveModel);
51
52
  }
52
53
  /** Wait under the same worker lease for an authoritative task receipt. */
53
54
  async function runViaAgentRelay(kind, instruction, wakeContext, model, context, worker_cwd, signal) {
@@ -1 +1 @@
1
- {"version":3,"file":"worker-cli.js","sourceRoot":"","sources":["../src/worker-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-cli.js","sourceRoot":"","sources":["../src/worker-cli.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,10 @@ import type { WorkerCliResult } from './worker-cli.js';
4
4
  * (non-integer or negative) are the one remaining failure mode — those are
5
5
  * journaled as `worker_error` with the usage projected from clamped counts.
6
6
  *
7
- * Unpriced models are NOT a failure here: `pricedUsage` returns
8
- * `dollars: null` and preflight (see `budgetDiagnostics`) has already refused
9
- * declared dollar budgets against unpriced models before the CLI dispatched.
7
+ * Unpriced models are NOT a failure here: the step journals zero dollars, so it
8
+ * never trips a dollar budget, but its reported tokens still count toward any
9
+ * token budget. Preflight (see `budgetDiagnostics`) warns that such a step is
10
+ * unmetered for dollars.
10
11
  */
11
12
  export declare function workerSpend(result: WorkerCliResult, model?: string): {
12
13
  result: WorkerCliResult;
@@ -1 +1 @@
1
- {"version":3,"file":"worker-spend.d.ts","sourceRoot":"","sources":["../src/worker-spend.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,MAAM;;;;;;;EAUlE"}
1
+ {"version":3,"file":"worker-spend.d.ts","sourceRoot":"","sources":["../src/worker-spend.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAQvD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,MAAM;;;;;;;EAclE"}
@@ -1,16 +1,25 @@
1
1
  import { pricedUsage } from './model-pricing.js';
2
+ /** Zero-dollar usage for an unpriced step, only when the CLI reported tokens. */
3
+ function unmeteredUsage(input, output) {
4
+ if (input === undefined || output === undefined)
5
+ return undefined;
6
+ return { tokens_in: input, tokens_out: output, dollars: '0.000000' };
7
+ }
2
8
  /**
3
9
  * Attach token/dollar usage to a worker's CLI result. Invalid token counts
4
10
  * (non-integer or negative) are the one remaining failure mode — those are
5
11
  * journaled as `worker_error` with the usage projected from clamped counts.
6
12
  *
7
- * Unpriced models are NOT a failure here: `pricedUsage` returns
8
- * `dollars: null` and preflight (see `budgetDiagnostics`) has already refused
9
- * declared dollar budgets against unpriced models before the CLI dispatched.
13
+ * Unpriced models are NOT a failure here: the step journals zero dollars, so it
14
+ * never trips a dollar budget, but its reported tokens still count toward any
15
+ * token budget. Preflight (see `budgetDiagnostics`) warns that such a step is
16
+ * unmetered for dollars.
10
17
  */
11
18
  export function workerSpend(result, model) {
12
19
  try {
13
- return { result, usage: pricedUsage(model, result.tokens_input, result.tokens_output) };
20
+ const usage = pricedUsage(model, result.tokens_input, result.tokens_output)
21
+ ?? unmeteredUsage(result.tokens_input, result.tokens_output);
22
+ return { result, usage };
14
23
  }
15
24
  catch (error) {
16
25
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"worker-spend.js","sourceRoot":"","sources":["../src/worker-spend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,MAAuB,EAAE,KAAc;IACjE,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAAC,CAAC;IAChG,OAAO,KAAK,EAAE,CAAC;QACb,OAAO;YACL,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,EAAE;YACnH,KAAK,EAAE,WAAW,CAAC,SAAS,EAC1B,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,YAAa,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAChG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,aAAc,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;SACvG,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"worker-spend.js","sourceRoot":"","sources":["../src/worker-spend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,iFAAiF;AACjF,SAAS,cAAc,CAAC,KAAyB,EAAE,MAA0B;IAC3E,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAClE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACvE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,MAAuB,EAAE,KAAc;IACjE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC;eACtE,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACb,OAAO;YACL,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,EAAE;YACnH,KAAK,EAAE,WAAW,CAAC,SAAS,EAC1B,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,YAAa,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAChG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,aAAc,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;SACvG,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAqB,MAAM,eAAe,CAAC;AAQ7D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAMzC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;gBAGvC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,kBAAkB;IAKxC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB7B;;;;;;;;OAQG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAQzB;YAEY,OAAO;CAyDtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAa9E"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAqB,MAAM,eAAe,CAAC;AAS7D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAMzC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;gBAGvC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,kBAAkB;IAKxC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB7B;;;;;;;;OAQG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAQzB;YAEY,OAAO;CA0DtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAa9E"}
package/dist/worker.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { workerSpend } from './worker-spend.js';
2
2
  import { EventEmitter } from 'node:events';
3
3
  import { runAgentCli } from './worker-cli.js';
4
+ import { resolveCliModel } from './cli-adapter.js';
4
5
  import { withWorkerLease } from './worker-lease.js';
5
6
  import { workerInstruction } from './worker-input.js';
6
7
  import { helperCall } from './yaml-helpers.js';
@@ -89,14 +90,15 @@ export class AgentWorker extends EventEmitter {
89
90
  return;
90
91
  }
91
92
  let humanIntervention = false;
93
+ const effectiveModel = typeof spec.cli === 'string' ? resolveCliModel(spec.cli, spec.model) : spec.model;
92
94
  const completed = await withWorkerLease(this.client, dispatch, signal => typeof spec.cli === 'string' && typeof spec.instruction === 'string'
93
- ? runAgentCli(spec.cli, workerInstruction(spec.instruction, dispatch), dispatch.wake_context, spec.model, undefined, signal, 'agent', this.options.dataDir === undefined ? undefined : {
95
+ ? runAgentCli(spec.cli, workerInstruction(spec.instruction, dispatch), dispatch.wake_context, effectiveModel, undefined, signal, 'agent', this.options.dataDir === undefined ? undefined : {
94
96
  dataDir: this.options.dataDir, runId: dispatch.run_id, stepId: dispatch.step_id,
95
97
  onReady: this.options.onPtyReady, onDrive: () => { humanIntervention = true; },
96
98
  }, typeof spec.cwd === 'string' ? spec.cwd : undefined, spec.transport === 'relay' ? 'relay' : 'direct', { runId: dispatch.run_id, stepId: dispatch.step_id, idempotencyKey: dispatch.idempotency_key,
97
99
  dataDir: this.options.dataDir, resultSchema: spec.verification?.json_schema })
98
100
  : Promise.resolve({ exit_code: null, stdout_tail: '', stderr_tail: 'agent step has no declared CLI' }));
99
- const { result, usage } = workerSpend(completed, spec.model);
101
+ const { result, usage } = workerSpend(completed, effectiveModel);
100
102
  const completionReason = result.exit_code === 0 ? 'success' : 'worker_error';
101
103
  // Output shape: if the CLI's stdout parses as JSON, promote THAT
102
104
  // as the step's `output` value so `json_schema` verification
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@relayflows/sdk",
3
- "version": "2.0.11",
3
+ "version": "2.0.12",
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.11",
48
+ "@relayflows/surface": "2.0.12",
49
49
  "@types/js-yaml": "^4.0.9",
50
50
  "ai-hist": "0.4.1",
51
51
  "ajv": "^8.17.1",
@@ -32,6 +32,13 @@ export interface HeadlessAdapter {
32
32
  /** Identity of this adapter — matches CliAdapterKind for registry keys. */
33
33
  readonly kind: string;
34
34
 
35
+ /**
36
+ * Stable model used only when neither the step nor its selected named agent
37
+ * declares one. Explicit authoring always wins. A default without an entry
38
+ * in MODEL_PRICING runs unmetered under a dollar budget (a warning).
39
+ */
40
+ readonly defaultModel?: string;
41
+
35
42
  /** Shape-check invocation before classifying an auth failure. */
36
43
  buildIdentification(): CliAdapterIdentification;
37
44
 
@@ -10,6 +10,7 @@ const MODEL_PROBE_PROMPT = 'Reply with exactly RELAYFLOWS_MODEL_READY and nothin
10
10
  * pre-#141 inline shape in `cli-adapter.ts` — only the packaging changed. */
11
11
  export const claudeAdapter: HeadlessAdapter = {
12
12
  kind: 'claude',
13
+ defaultModel: 'claude-opus-5',
13
14
 
14
15
  buildIdentification(): CliAdapterIdentification {
15
16
  return { invocation: { args: ['auth', 'status', '--help'], timeoutMs: 10_000 } };
@@ -0,0 +1,17 @@
1
+ import { createHash } from 'node:crypto';
2
+
3
+ /** Stable retry identity for one operation in one durable authored root. */
4
+ export function authoredChildAdmissionKey(
5
+ rootRunId: string | undefined,
6
+ stepId: string,
7
+ ): string | undefined {
8
+ if (rootRunId === undefined) return undefined;
9
+ return `authored-child:${createHash('sha256').update(`${rootRunId}\0${stepId}`).digest('hex')}`;
10
+ }
11
+
12
+ /** Stable local worker surface for retries of one caller-owned root start. */
13
+ export function authoredLocalAgentStream(admissionIdentity: string): string {
14
+ return `local-agent-${createHash('sha256')
15
+ .update(`authored-root-worker\0${admissionIdentity}`)
16
+ .digest('hex')}`;
17
+ }
@@ -20,8 +20,9 @@ export class AuthoredBudget {
20
20
  }
21
21
  }
22
22
 
23
- async execute<T>(journal: JournalClient, spec: KernelRunSpec, consume: (outcome: RunOutcome) => Promise<T>): Promise<T> {
24
- if (this.limit === undefined) return consume(await journal.runStart(spec));
23
+ async execute<T>(journal: JournalClient, spec: KernelRunSpec,
24
+ consume: (outcome: RunOutcome) => Promise<T>, admissionKey?: string): Promise<T> {
25
+ if (this.limit === undefined) return consume(await journal.runStart(spec, undefined, admissionKey));
25
26
  const previous = this.tail;
26
27
  let release!: () => void;
27
28
  this.tail = new Promise<void>(resolve => { release = resolve; });
@@ -38,7 +39,7 @@ export class AuthoredBudget {
38
39
  tokens_in: exactNumber(total.input), tokens_out: exactNumber(total.output),
39
40
  dollars: `${total.micro / 1_000_000n}.${String(total.micro % 1_000_000n).padStart(6, '0')}`,
40
41
  wallclock_ms: exactNumber(total.ms), ...(this.limit.window === 'day' && day !== undefined ? { day } : {}),
41
- } } });
42
+ } } }, undefined, admissionKey);
42
43
  try {
43
44
  if (outcome.completion_reason === 'budget_exceeded') throw new AuthoredFlowExecutionError('step_failed', 'Flow budget exceeded before the next step.', 'budget_exceeded', outcome.run_id);
44
45
  return await consume(outcome);
@@ -9,7 +9,6 @@ export type AuthoredFlowExecutionErrorCode =
9
9
  | 'helper_slack.credential_missing'
10
10
  | 'helper_slack.mount_required'
11
11
  | 'budget_syntax_invalid'
12
- | 'budget_missing_price'
13
12
  | 'agent_cli_unresolved'
14
13
  | 'agent_parked'
15
14
  | 'llm_cli_unresolved'
@@ -1,3 +1,4 @@
1
+ import { assertAuthoredPromiseHooks } from './authored-runtime-capability.js';
1
2
  import { pluginHelpers } from './plugin-loader.js';
2
3
  import { runPluginEffect } from './authored-plugin-effect.js';
3
4
  import { randomUUID } from 'node:crypto';
@@ -71,7 +72,16 @@ export interface AuthoredFlowJournalStep {
71
72
  readonly completionReason: ProtocolCompletionReason;
72
73
  }
73
74
 
75
+ export interface AuthoredExecutionRuntime {
76
+ readonly kind: 'node';
77
+ readonly version: string;
78
+ readonly executableSha256: string;
79
+ readonly payloadSha256: string;
80
+ }
81
+
74
82
  export interface AuthoredFlowExecutionResult {
83
+ readonly executionRuntime?: AuthoredExecutionRuntime;
84
+ readonly rootRunId?: string;
75
85
  readonly name: string;
76
86
  readonly completionReason: FlowCompletionReason;
77
87
  readonly journalSteps: readonly AuthoredFlowJournalStep[];
@@ -122,6 +132,8 @@ export interface ExecuteAuthoredFlowOptions {
122
132
  readonly onWait?: RunLifecycleOptions['onWait'];
123
133
  readonly onProgress?: (event: ProgressEvent) => void;
124
134
  readonly localAgentStream?: string;
135
+ /** Durable kernel root that owns this body's child admission identities. */
136
+ readonly rootRunId?: string;
125
137
  }
126
138
 
127
139
  export async function executeAuthoredFlow<Input = undefined>(
@@ -130,6 +142,7 @@ export async function executeAuthoredFlow<Input = undefined>(
130
142
  input?: Input,
131
143
  options: ExecuteAuthoredFlowOptions = {},
132
144
  ): Promise<AuthoredFlowExecutionResult> {
145
+ assertAuthoredPromiseHooks();
133
146
  const getDefinition = options.getDefinition ?? getAuthoredFlowDefinition;
134
147
  const localAgentStream = options.localAgentStream;
135
148
  const onProgress = options.onProgress;
@@ -173,9 +186,14 @@ export async function executeAuthoredFlow<Input = undefined>(
173
186
  let nextStep = 1;
174
187
  let requestedCompletion: FlowCompletionReason | undefined;
175
188
 
176
- const lowerDeterministic = authoredDeterministicRunner(definition.name, journal, journalSteps, budget);
189
+ const lowerDeterministic = authoredDeterministicRunner(
190
+ definition.name, journal, journalSteps, budget, options.rootRunId,
191
+ );
177
192
 
178
- const worker = authoredWorkerRunner(definition, journal, flowPath, journalSteps, waitOptions, localAgentStream, budget, definition.header.budget);
193
+ const worker = authoredWorkerRunner(
194
+ definition, journal, flowPath, journalSteps, waitOptions,
195
+ localAgentStream, budget, definition.header.budget, options.rootRunId,
196
+ );
179
197
 
180
198
  function llmOperation(strings: TemplateStringsArray, ...values: unknown[]): Step<string>;
181
199
  function llmOperation(prompt: string, options: LlmOptions): Step<unknown>;
@@ -205,7 +223,7 @@ export async function executeAuthoredFlow<Input = undefined>(
205
223
  return trackStep(authoredSteps, llmOp);
206
224
  }
207
225
 
208
- const slackRun = randomUUID();
226
+ const slackRun = options.rootRunId ?? randomUUID();
209
227
  function slackOperation<T>(call: SlackCall): Step<T> {
210
228
  assertOperationAllowed(`slack.${call.verb}`, definition.name, requestedCompletion);
211
229
  const snapshot = snapshotJsonValue(call, 'f.slack call') as unknown as SlackCall;
@@ -215,7 +233,7 @@ export async function executeAuthoredFlow<Input = undefined>(
215
233
  () => assertOperationAllowed(`slack.${call.verb}`, definition.name, requestedCompletion),
216
234
  async () => {
217
235
  const receipt = await runHelperEffect(journal, definition.name, id, snapshot,
218
- options.dataDir ?? dirname(journal.socketPath), journalSteps);
236
+ options.dataDir ?? dirname(journal.socketPath), journalSteps, options.rootRunId);
219
237
  return (call.verb === 'react' ? undefined : receipt) as T;
220
238
  },
221
239
  lifecycle,
@@ -231,7 +249,7 @@ export async function executeAuthoredFlow<Input = undefined>(
231
249
  return trackStep(authoredSteps, new AuthoredFlowOperation<T>(id, verb,
232
250
  () => assertOperationAllowed(verb, definition.name, requestedCompletion),
233
251
  async () => await runHelperEffect(journal, definition.name, id, snapshot,
234
- options.dataDir ?? dirname(journal.socketPath), journalSteps) as T,
252
+ options.dataDir ?? dirname(journal.socketPath), journalSteps, options.rootRunId) as T,
235
253
  lifecycle));
236
254
  }),
237
255
  slack: {
@@ -247,7 +265,7 @@ export async function executeAuthoredFlow<Input = undefined>(
247
265
  id, 'mcp',
248
266
  () => assertOperationAllowed('mcp', definition.name, requestedCompletion),
249
267
  () => runMcpEffect(journal, definition.name, id, server, tool, args,
250
- known, checkedMcp.servers[server]!, journalSteps),
268
+ known, checkedMcp.servers[server]!, journalSteps, options.rootRunId),
251
269
  lifecycle,
252
270
  ));
253
271
  }),
@@ -327,7 +345,8 @@ export async function executeAuthoredFlow<Input = undefined>(
327
345
  const id = `plugin-${nextStep++}`;
328
346
  return trackStep(authoredSteps, new AuthoredFlowOperation(
329
347
  id, label, () => assertOperationAllowed(label, definition.name, requestedCompletion),
330
- () => runPluginEffect(journal, definition.name, id, plugin, verb, args, journalSteps, budget),
348
+ () => runPluginEffect(journal, definition.name, id, plugin, verb, args,
349
+ journalSteps, budget, options.rootRunId),
331
350
  lifecycle,
332
351
  ));
333
352
  }));
@@ -387,6 +406,7 @@ export async function executeAuthoredFlow<Input = undefined>(
387
406
  await lowerDeterministic(`complete-${nextStep}`, requestedCompletion === 'needs_human'
388
407
  ? `printf '%s' '{"completionReason":"needs_human"}'` : ':', true);
389
408
  return Object.freeze({
409
+ ...(options.rootRunId === undefined ? {} : { rootRunId: options.rootRunId }),
390
410
  name: definition.name,
391
411
  completionReason: requestedCompletion,
392
412
  journalSteps: Object.freeze([...journalSteps]),
@@ -1,6 +1,8 @@
1
- import { accessSync, constants, realpathSync } from 'node:fs';
1
+ import { accessSync, constants, existsSync, realpathSync } from 'node:fs';
2
+ import { readFile, readdir } from 'node:fs/promises';
3
+ import { createHash } from 'node:crypto';
2
4
  import { createRequire } from 'node:module';
3
- import { dirname, resolve } from 'node:path';
5
+ import { dirname, join, relative, resolve, sep } from 'node:path';
4
6
  import { pathToFileURL } from 'node:url';
5
7
  import {
6
8
  getAuthoredFlowDefinition,
@@ -18,7 +20,15 @@ export class AuthoredFlowLoadError extends Error {
18
20
  /** Same signature as `getAuthoredFlowDefinition`, resolved from wherever a flow was loaded. */
19
21
  export type GetFlowDefinition = <Input = unknown>(handle: FlowHandle) => AuthoredFlowDefinition<Input>;
20
22
 
23
+ export interface SurfaceModuleAuthority {
24
+ readonly packageName: '@relayflows/surface';
25
+ readonly version: string;
26
+ readonly packageSha256: string;
27
+ readonly runtimeSha256: string;
28
+ }
29
+
21
30
  export interface LoadedAuthoredFlow {
31
+ readonly sourcePath: string;
22
32
  readonly handle: FlowHandle;
23
33
  /**
24
34
  * Bound to the SAME `@relayflows/surface` module instance the flow file
@@ -28,6 +38,8 @@ export interface LoadedAuthoredFlow {
28
38
  * `getAuthoredFlowDefinition` import.
29
39
  */
30
40
  readonly getDefinition: GetFlowDefinition;
41
+ /** Exact Surface package/runtime that owns the handle's WeakMap identity. */
42
+ readonly surfaceAuthority: SurfaceModuleAuthority;
31
43
  /** Dependency-first load order, each canonical absolute path appearing once. */
32
44
  readonly graph: readonly LoadedAuthoredFlowNode[];
33
45
  }
@@ -36,6 +48,7 @@ export interface LoadedAuthoredFlowNode {
36
48
  readonly path: string;
37
49
  readonly handle: FlowHandle;
38
50
  readonly getDefinition: GetFlowDefinition;
51
+ readonly surfaceAuthority: SurfaceModuleAuthority;
39
52
  readonly use: readonly string[];
40
53
  }
41
54
 
@@ -58,7 +71,7 @@ export async function loadAuthoredFlow(path: string): Promise<LoadedAuthoredFlow
58
71
  if (cached !== undefined) return cached;
59
72
  visiting.add(absolutePath);
60
73
  try {
61
- const { handle, getDefinition } = await importAuthoredFlow(absolutePath);
74
+ const { handle, getDefinition, surfaceAuthority } = await importAuthoredFlow(absolutePath);
62
75
  const dependencies: string[] = [];
63
76
  for (const entry of getDefinition(handle).header.use ?? []) {
64
77
  // Validate again at the SDK boundary: the author's surface package may
@@ -72,7 +85,7 @@ export async function loadAuthoredFlow(path: string): Promise<LoadedAuthoredFlow
72
85
  }
73
86
  dependencies.push(child.path);
74
87
  }
75
- const node = Object.freeze({ path: absolutePath, handle, getDefinition, use: Object.freeze(dependencies) });
88
+ const node = Object.freeze({ path: absolutePath, handle, getDefinition, surfaceAuthority, use: Object.freeze(dependencies) });
76
89
  loaded.set(absolutePath, node);
77
90
  return node;
78
91
  } catch (error) {
@@ -85,10 +98,11 @@ export async function loadAuthoredFlow(path: string): Promise<LoadedAuthoredFlow
85
98
  }
86
99
  }
87
100
  const root = await visit(resolve(path), true);
88
- return Object.freeze({ handle: root.handle, getDefinition: root.getDefinition, graph: Object.freeze([...loaded.values()]) });
101
+ return Object.freeze({ sourcePath: root.path, handle: root.handle, getDefinition: root.getDefinition,
102
+ surfaceAuthority: root.surfaceAuthority, graph: Object.freeze([...loaded.values()]) });
89
103
  }
90
104
 
91
- async function importAuthoredFlow(path: string): Promise<Pick<LoadedAuthoredFlow, 'handle' | 'getDefinition'>> {
105
+ async function importAuthoredFlow(path: string): Promise<Pick<LoadedAuthoredFlow, 'handle' | 'getDefinition' | 'surfaceAuthority'>> {
92
106
  const absolutePath = resolve(path);
93
107
  try {
94
108
  accessSync(absolutePath, constants.R_OK);
@@ -98,14 +112,14 @@ async function importAuthoredFlow(path: string): Promise<Pick<LoadedAuthoredFlow
98
112
 
99
113
  let authoredModule: Record<string, unknown>;
100
114
  try {
101
- authoredModule = await import(pathToFileURL(absolutePath).href) as Record<string, unknown>;
115
+ authoredModule = await import(/* @vite-ignore */ pathToFileURL(absolutePath).href) as Record<string, unknown>;
102
116
  } catch (error) {
103
117
  throw new AuthoredFlowLoadError(
104
118
  `Flow "${path}" could not be imported: ${errorMessage(error)}`,
105
119
  );
106
120
  }
107
121
 
108
- const getDefinition = await resolveGetFlowDefinition(absolutePath, path);
122
+ const { getDefinition, surfaceAuthority } = await resolveSurfaceRuntime(absolutePath, path);
109
123
  const handle = authoredModule['default'] as FlowHandle;
110
124
  try {
111
125
  getDefinition(handle);
@@ -114,7 +128,7 @@ async function importAuthoredFlow(path: string): Promise<Pick<LoadedAuthoredFlow
114
128
  `Flow "${path}" must default-export flow(...): ${errorMessage(error)}`,
115
129
  );
116
130
  }
117
- return { handle, getDefinition };
131
+ return { handle, getDefinition, surfaceAuthority };
118
132
  }
119
133
 
120
134
  /**
@@ -138,21 +152,27 @@ async function importAuthoredFlow(path: string): Promise<Pick<LoadedAuthoredFlow
138
152
  * compatible `@relayflows/surface` is provably resolvable from this same
139
153
  * anchor.
140
154
  */
141
- async function resolveGetFlowDefinition(
155
+ async function resolveSurfaceRuntime(
142
156
  absolutePath: string,
143
157
  displayPath: string,
144
- ): Promise<GetFlowDefinition> {
158
+ ): Promise<{ getDefinition: GetFlowDefinition; surfaceAuthority: SurfaceModuleAuthority }> {
145
159
  const require = createRequire(pathToFileURL(absolutePath));
146
160
  let resolvedRuntimePath: string;
147
161
  try {
148
162
  resolvedRuntimePath = require.resolve('@relayflows/surface/runtime');
163
+ // Some ESM test/load hooks return a percent-encoded absolute path without
164
+ // a file: scheme. Normalize it only when the literal path does not exist.
165
+ if (!existsSync(resolvedRuntimePath) && resolvedRuntimePath.includes('%')) {
166
+ const decoded = decodeURI(resolvedRuntimePath);
167
+ if (existsSync(decoded)) resolvedRuntimePath = decoded;
168
+ }
149
169
  } catch (error) {
150
170
  throw new AuthoredFlowLoadError(
151
171
  `Flow "${displayPath}" imports @relayflows/surface, but @relayflows/surface/runtime `
152
172
  + `could not be resolved from the same location: ${errorMessage(error)}`,
153
173
  );
154
174
  }
155
- const runtimeModule = await import(pathToFileURL(resolvedRuntimePath).href) as {
175
+ const runtimeModule = await import(/* @vite-ignore */ resolvedRuntimePath) as {
156
176
  getFlowDefinition?: unknown;
157
177
  };
158
178
  if (typeof runtimeModule.getFlowDefinition !== 'function') {
@@ -161,7 +181,70 @@ async function resolveGetFlowDefinition(
161
181
  + 'does not export getFlowDefinition — check its @relayflows/surface version.',
162
182
  );
163
183
  }
164
- return runtimeModule.getFlowDefinition as GetFlowDefinition;
184
+ let packagePath = dirname(resolvedRuntimePath);
185
+ for (;;) {
186
+ const candidate = resolve(packagePath, 'package.json');
187
+ try {
188
+ const packageBytes = await readFile(candidate);
189
+ const manifest = JSON.parse(packageBytes.toString('utf8')) as { name?: unknown; version?: unknown };
190
+ if (manifest.name === '@relayflows/surface') {
191
+ if (typeof manifest.version !== 'string' || manifest.version.length === 0) {
192
+ throw new AuthoredFlowLoadError(`Flow "${displayPath}": @relayflows/surface has no pinned package version.`);
193
+ }
194
+ const runtimeBytes = await readFile(resolvedRuntimePath);
195
+ return {
196
+ getDefinition: runtimeModule.getFlowDefinition as GetFlowDefinition,
197
+ surfaceAuthority: Object.freeze({
198
+ packageName: '@relayflows/surface', version: manifest.version,
199
+ packageSha256: await packageTreeSha256(packagePath),
200
+ runtimeSha256: createHash('sha256').update(runtimeBytes).digest('hex'),
201
+ }),
202
+ };
203
+ }
204
+ } catch (error) {
205
+ if (!(error instanceof SyntaxError) && (error as NodeJS.ErrnoException).code !== 'ENOENT') throw error;
206
+ }
207
+ const parent = dirname(packagePath);
208
+ if (parent === packagePath) break;
209
+ packagePath = parent;
210
+ }
211
+ throw new AuthoredFlowLoadError(
212
+ `Flow "${displayPath}": the resolved @relayflows/surface/runtime is not inside its declared package.`,
213
+ );
214
+ }
215
+
216
+ /**
217
+ * Hash the exact installed Surface package payload, including path boundaries.
218
+ *
219
+ * npm may materialize a package-local node_modules tree for workspace and
220
+ * file: dependencies. That tree is installation state, not part of the
221
+ * published Surface package, and can contain platform-specific .bin symlinks.
222
+ * Keep it outside the authority boundary while pinning every package payload
223
+ * file, including the runtime module hashed separately by the caller.
224
+ */
225
+ export async function packageTreeSha256(root: string): Promise<string> {
226
+ const files: string[] = [];
227
+ async function visit(directory: string): Promise<void> {
228
+ const entries = await readdir(directory, { withFileTypes: true });
229
+ entries.sort((a, b) => a.name.localeCompare(b.name));
230
+ for (const entry of entries) {
231
+ if (directory === root && entry.name === 'node_modules') continue;
232
+ const path = join(directory, entry.name);
233
+ if (entry.isDirectory()) await visit(path);
234
+ else if (entry.isFile()) files.push(path);
235
+ else throw new AuthoredFlowLoadError(
236
+ `@relayflows/surface package contains unsupported entry "${relative(root, path)}".`,
237
+ );
238
+ }
239
+ }
240
+ await visit(root);
241
+ const hash = createHash('sha256');
242
+ for (const path of files) {
243
+ const bytes = await readFile(path);
244
+ const name = relative(root, path).split(sep).join('/');
245
+ hash.update(name).update('\0').update(String(bytes.length)).update('\0').update(bytes);
246
+ }
247
+ return hash.digest('hex');
165
248
  }
166
249
 
167
250
  // Exported for callers (internal SDK tests, and any co-located flow that is