@relayflows/sdk 2.0.10 → 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 (172) 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/agent-relay-receipt.d.ts +24 -0
  7. package/dist/agent-relay-receipt.d.ts.map +1 -0
  8. package/dist/agent-relay-receipt.js +66 -0
  9. package/dist/agent-relay-receipt.js.map +1 -0
  10. package/dist/agent-relay-state.d.ts +18 -0
  11. package/dist/agent-relay-state.d.ts.map +1 -0
  12. package/dist/agent-relay-state.js +58 -0
  13. package/dist/agent-relay-state.js.map +1 -0
  14. package/dist/agent-relay-transport.d.ts +17 -70
  15. package/dist/agent-relay-transport.d.ts.map +1 -1
  16. package/dist/agent-relay-transport.js +177 -112
  17. package/dist/agent-relay-transport.js.map +1 -1
  18. package/dist/authored-admission.d.ts +5 -0
  19. package/dist/authored-admission.d.ts.map +1 -0
  20. package/dist/authored-admission.js +14 -0
  21. package/dist/authored-admission.js.map +1 -0
  22. package/dist/authored-budget.d.ts +1 -1
  23. package/dist/authored-budget.d.ts.map +1 -1
  24. package/dist/authored-budget.js +3 -3
  25. package/dist/authored-budget.js.map +1 -1
  26. package/dist/authored-flow-error.d.ts +1 -1
  27. package/dist/authored-flow-error.d.ts.map +1 -1
  28. package/dist/authored-flow-error.js.map +1 -1
  29. package/dist/authored-flow-executor.d.ts +10 -0
  30. package/dist/authored-flow-executor.d.ts.map +1 -1
  31. package/dist/authored-flow-executor.js +10 -7
  32. package/dist/authored-flow-executor.js.map +1 -1
  33. package/dist/authored-flow-loader.d.ts +20 -0
  34. package/dist/authored-flow-loader.d.ts.map +1 -1
  35. package/dist/authored-flow-loader.js +86 -11
  36. package/dist/authored-flow-loader.js.map +1 -1
  37. package/dist/authored-helper-effect.d.ts +1 -1
  38. package/dist/authored-helper-effect.d.ts.map +1 -1
  39. package/dist/authored-helper-effect.js +5 -3
  40. package/dist/authored-helper-effect.js.map +1 -1
  41. package/dist/authored-mcp.d.ts +1 -1
  42. package/dist/authored-mcp.d.ts.map +1 -1
  43. package/dist/authored-mcp.js +7 -4
  44. package/dist/authored-mcp.js.map +1 -1
  45. package/dist/authored-node-entry.d.ts +2 -0
  46. package/dist/authored-node-entry.d.ts.map +1 -0
  47. package/dist/authored-node-entry.js +111 -0
  48. package/dist/authored-node-entry.js.map +1 -0
  49. package/dist/authored-node-runner.d.ts +11 -0
  50. package/dist/authored-node-runner.d.ts.map +1 -0
  51. package/dist/authored-node-runner.js +246 -0
  52. package/dist/authored-node-runner.js.map +1 -0
  53. package/dist/authored-plugin-effect.d.ts +1 -1
  54. package/dist/authored-plugin-effect.d.ts.map +1 -1
  55. package/dist/authored-plugin-effect.js +7 -4
  56. package/dist/authored-plugin-effect.js.map +1 -1
  57. package/dist/authored-root.d.ts +38 -0
  58. package/dist/authored-root.d.ts.map +1 -0
  59. package/dist/authored-root.js +329 -0
  60. package/dist/authored-root.js.map +1 -0
  61. package/dist/authored-runtime-capability.d.ts +6 -0
  62. package/dist/authored-runtime-capability.d.ts.map +1 -0
  63. package/dist/authored-runtime-capability.js +40 -0
  64. package/dist/authored-runtime-capability.js.map +1 -0
  65. package/dist/authored-source-authority.d.ts +4 -0
  66. package/dist/authored-source-authority.d.ts.map +1 -0
  67. package/dist/authored-source-authority.js +61 -0
  68. package/dist/authored-source-authority.js.map +1 -0
  69. package/dist/authored-worker-step.d.ts +2 -2
  70. package/dist/authored-worker-step.d.ts.map +1 -1
  71. package/dist/authored-worker-step.js +11 -6
  72. package/dist/authored-worker-step.js.map +1 -1
  73. package/dist/budget-preflight.d.ts +17 -3
  74. package/dist/budget-preflight.d.ts.map +1 -1
  75. package/dist/budget-preflight.js +31 -24
  76. package/dist/budget-preflight.js.map +1 -1
  77. package/dist/cli/check.js +3 -1
  78. package/dist/cli/check.js.map +1 -1
  79. package/dist/cli/direct-run.d.ts.map +1 -1
  80. package/dist/cli/direct-run.js +18 -14
  81. package/dist/cli/direct-run.js.map +1 -1
  82. package/dist/cli/run.d.ts +2 -0
  83. package/dist/cli/run.d.ts.map +1 -1
  84. package/dist/cli/run.js +56 -1
  85. package/dist/cli/run.js.map +1 -1
  86. package/dist/cli-adapter.d.ts +16 -0
  87. package/dist/cli-adapter.d.ts.map +1 -1
  88. package/dist/cli-adapter.js +17 -0
  89. package/dist/cli-adapter.js.map +1 -1
  90. package/dist/cli.js +4 -4
  91. package/dist/cli.js.map +1 -1
  92. package/dist/cloud-run.d.ts +11 -1
  93. package/dist/cloud-run.d.ts.map +1 -1
  94. package/dist/cloud-run.js +65 -19
  95. package/dist/cloud-run.js.map +1 -1
  96. package/dist/failure-kinds.d.ts +7 -3
  97. package/dist/failure-kinds.d.ts.map +1 -1
  98. package/dist/failure-kinds.js +5 -1
  99. package/dist/failure-kinds.js.map +1 -1
  100. package/dist/journal-client.d.ts +1 -1
  101. package/dist/journal-client.d.ts.map +1 -1
  102. package/dist/journal-client.js +6 -2
  103. package/dist/journal-client.js.map +1 -1
  104. package/dist/llm-worker.d.ts.map +1 -1
  105. package/dist/llm-worker.js +4 -2
  106. package/dist/llm-worker.js.map +1 -1
  107. package/dist/local-agent.d.ts +1 -1
  108. package/dist/local-agent.d.ts.map +1 -1
  109. package/dist/local-agent.js +2 -2
  110. package/dist/local-agent.js.map +1 -1
  111. package/dist/model-pricing.d.ts +3 -4
  112. package/dist/model-pricing.d.ts.map +1 -1
  113. package/dist/model-pricing.js +4 -4
  114. package/dist/model-pricing.js.map +1 -1
  115. package/dist/preflight.d.ts +4 -1
  116. package/dist/preflight.d.ts.map +1 -1
  117. package/dist/preflight.js +36 -18
  118. package/dist/preflight.js.map +1 -1
  119. package/dist/protocol.d.ts +2 -0
  120. package/dist/protocol.d.ts.map +1 -1
  121. package/dist/spec.d.ts +5 -4
  122. package/dist/spec.d.ts.map +1 -1
  123. package/dist/spec.js.map +1 -1
  124. package/dist/worker-cli.d.ts +5 -2
  125. package/dist/worker-cli.d.ts.map +1 -1
  126. package/dist/worker-cli.js +43 -46
  127. package/dist/worker-cli.js.map +1 -1
  128. package/dist/worker-spend.d.ts +4 -3
  129. package/dist/worker-spend.d.ts.map +1 -1
  130. package/dist/worker-spend.js +13 -4
  131. package/dist/worker-spend.js.map +1 -1
  132. package/dist/worker.d.ts.map +1 -1
  133. package/dist/worker.js +12 -4
  134. package/dist/worker.js.map +1 -1
  135. package/package.json +2 -2
  136. package/src/adapters/base.ts +7 -0
  137. package/src/adapters/claude.ts +1 -0
  138. package/src/agent-relay-receipt.ts +120 -0
  139. package/src/agent-relay-state.ts +73 -0
  140. package/src/agent-relay-transport.ts +242 -156
  141. package/src/authored-admission.ts +17 -0
  142. package/src/authored-budget.ts +4 -3
  143. package/src/authored-flow-error.ts +0 -1
  144. package/src/authored-flow-executor.ts +27 -7
  145. package/src/authored-flow-loader.ts +96 -13
  146. package/src/authored-helper-effect.ts +5 -3
  147. package/src/authored-mcp.ts +6 -4
  148. package/src/authored-node-entry.ts +90 -0
  149. package/src/authored-node-runner.ts +219 -0
  150. package/src/authored-plugin-effect.ts +6 -3
  151. package/src/authored-root.ts +396 -0
  152. package/src/authored-runtime-capability.ts +40 -0
  153. package/src/authored-source-authority.ts +62 -0
  154. package/src/authored-worker-step.ts +15 -4
  155. package/src/budget-preflight.ts +41 -25
  156. package/src/cli/check.ts +3 -1
  157. package/src/cli/direct-run.ts +24 -16
  158. package/src/cli/run.ts +58 -1
  159. package/src/cli-adapter.ts +27 -0
  160. package/src/cli.ts +5 -5
  161. package/src/cloud-run.ts +74 -21
  162. package/src/failure-kinds.ts +5 -1
  163. package/src/journal-client.ts +6 -2
  164. package/src/llm-worker.ts +4 -2
  165. package/src/local-agent.ts +7 -2
  166. package/src/model-pricing.ts +4 -4
  167. package/src/preflight.ts +40 -18
  168. package/src/protocol.ts +2 -0
  169. package/src/spec.ts +5 -4
  170. package/src/worker-cli.ts +50 -54
  171. package/src/worker-spend.ts +15 -4
  172. package/src/worker.ts +12 -4
@@ -0,0 +1,11 @@
1
+ import type { AuthoredRootMetadata } from './authored-root.js';
2
+ import type { AuthoredFlowExecutionResult, ExecuteAuthoredFlowOptions } from './authored-flow-executor.js';
3
+ /** Installed by the standalone build; never fetched or resolved from a workspace. */
4
+ export declare function installAuthoredNodeSource(source: string): void;
5
+ /** Called before root admission/resume; declarative commands never reach it. */
6
+ export declare function assertAuthoredRuntimeAvailable(): void;
7
+ /** Bun retains the root lease and local workers. Only the authored body uses Node. */
8
+ export declare function runAuthoredInNode(metadata: AuthoredRootMetadata, socketPath: string, rootRunId: string, options: ExecuteAuthoredFlowOptions): Promise<AuthoredFlowExecutionResult>;
9
+ /** The IPC frame is a claim, not a durable terminal fact or a sandbox boundary. */
10
+ export declare function verifyAuthoredNodeResult(result: AuthoredFlowExecutionResult, metadata: AuthoredRootMetadata, rootRunId: string, socketPath: string): Promise<void>;
11
+ //# sourceMappingURL=authored-node-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authored-node-runner.d.ts","sourceRoot":"","sources":["../src/authored-node-runner.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAA4B,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAKrI,qFAAqF;AACrF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAG9D;AAgCD,gFAAgF;AAChF,wBAAgB,8BAA8B,IAAI,IAAI,CAGrD;AAED,sFAAsF;AACtF,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,oBAAoB,EAC9B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,2BAA2B,CAAC,CA6FtC;AAED,mFAAmF;AACnF,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,2BAA2B,EAAE,QAAQ,EAAE,oBAAoB,EACnE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GACpC,OAAO,CAAC,IAAI,CAAC,CAyDf"}
@@ -0,0 +1,246 @@
1
+ import { JournalClient } from './journal-client.js';
2
+ import { spawn, spawnSync } from 'node:child_process';
3
+ import { createHash, createHmac, randomBytes, timingSafeEqual } from 'node:crypto';
4
+ import { mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
5
+ import { readFileSync, realpathSync } from 'node:fs';
6
+ import { tmpdir } from 'node:os';
7
+ import { isAbsolute, join } from 'node:path';
8
+ import { AuthoredFlowExecutionError } from './authored-flow-error.js';
9
+ import { assertAuthoredPromiseHooks } from './authored-runtime-capability.js';
10
+ let embeddedSource;
11
+ /** Installed by the standalone build; never fetched or resolved from a workspace. */
12
+ export function installAuthoredNodeSource(source) {
13
+ if (embeddedSource !== undefined || source.length === 0)
14
+ throw new Error('invalid authored runtime payload');
15
+ embeddedSource = source;
16
+ }
17
+ const hash = (value) => createHash('sha256').update(value).digest('hex');
18
+ const refusal = () => new AuthoredFlowExecutionError('unsupported_promise_lifecycle', 'authored execution requires the embedded Node runner and Node >=22.14 on PATH (or an absolute FLOWS_AUTHORED_NODE); no workflow body was executed');
19
+ function nodeAuthority() {
20
+ if (embeddedSource === undefined)
21
+ throw refusal();
22
+ const override = process.env['FLOWS_AUTHORED_NODE'];
23
+ if (override !== undefined && !isAbsolute(override))
24
+ throw refusal();
25
+ const probe = spawnSync(override ?? 'node', ['--input-type=module', '--eval', `
26
+ import {createHook} from 'node:async_hooks';
27
+ import {stripTypeScriptTypes,register} from 'node:module';
28
+ const [major,minor]=process.versions.node.split('.').map(Number);
29
+ let init=false,resolve=false;
30
+ const h=createHook({init(_id,type){if(type==='PROMISE')init=true},promiseResolve(){resolve=true}}).enable();
31
+ new Promise(r=>r());h.disable();
32
+ if(process.versions.bun || major<22 || (major===22 && minor<14) || !init || !resolve || typeof stripTypeScriptTypes!=='function' || typeof register!=='function') process.exit(2);
33
+ process.stdout.write(JSON.stringify({path:process.execPath,version:process.versions.node}));
34
+ `], { encoding: 'utf8', timeout: 10_000, maxBuffer: 4096, env: process.env });
35
+ if (probe.error || probe.status !== 0)
36
+ throw refusal();
37
+ try {
38
+ const value = JSON.parse(probe.stdout);
39
+ if (!isAbsolute(value.path) || !/^\d+\.\d+\.\d+$/.test(value.version))
40
+ throw refusal();
41
+ const [major, minor] = value.version.split('.').map(Number);
42
+ if (major < 22 || (major === 22 && minor < 14))
43
+ throw refusal();
44
+ const path = realpathSync(value.path);
45
+ return { path, version: value.version, executableSha256: hash(readFileSync(path)) };
46
+ }
47
+ catch {
48
+ throw refusal();
49
+ }
50
+ }
51
+ /** Called before root admission/resume; declarative commands never reach it. */
52
+ export function assertAuthoredRuntimeAvailable() {
53
+ if (process.versions['bun'] === undefined)
54
+ assertAuthoredPromiseHooks();
55
+ else
56
+ nodeAuthority();
57
+ }
58
+ /** Bun retains the root lease and local workers. Only the authored body uses Node. */
59
+ export async function runAuthoredInNode(metadata, socketPath, rootRunId, options) {
60
+ const authority = nodeAuthority();
61
+ const source = embeddedSource;
62
+ const runtime = {
63
+ kind: 'node', version: authority.version,
64
+ executableSha256: authority.executableSha256, payloadSha256: hash(source),
65
+ };
66
+ options.signal?.throwIfAborted();
67
+ const directory = await mkdtemp(join(tmpdir(), 'flows-authored-node-'));
68
+ const entry = join(directory, 'runner.mjs');
69
+ try {
70
+ await writeFile(entry, source, { mode: 0o400, flag: 'wx' });
71
+ if (hash(await readFile(entry)) !== runtime.payloadSha256)
72
+ throw refusal();
73
+ const child = spawn(authority.path, ['--experimental-transform-types', entry, String(process.pid)], {
74
+ cwd: process.cwd(), env: process.env,
75
+ stdio: ['pipe', 'inherit', 'inherit', 'pipe'],
76
+ });
77
+ const result = await new Promise((resolve, reject) => {
78
+ const channelKey = randomBytes(32).toString('hex');
79
+ let expectedSequence = 1;
80
+ let buffer = '', ready = false, result;
81
+ let failure, killTimer;
82
+ const stop = (error) => {
83
+ failure ??= error;
84
+ child.kill('SIGTERM');
85
+ killTimer ??= setTimeout(() => child.kill('SIGKILL'), 2500);
86
+ killTimer.unref();
87
+ };
88
+ const abort = () => stop(new Error('authored root execution was aborted'));
89
+ options.signal?.addEventListener('abort', abort, { once: true });
90
+ if (options.signal?.aborted)
91
+ abort();
92
+ // Do not intercept the parent's signals: its normal exit keeps the root
93
+ // recoverable. The child observes parent EOF (and shared process-group signals).
94
+ const startupTimer = setTimeout(() => stop(new Error('authored runtime readiness timed out')), 10_000);
95
+ startupTimer.unref();
96
+ const pipe = child.stdio[3];
97
+ pipe.setEncoding('utf8');
98
+ pipe.on('data', (chunk) => {
99
+ buffer += chunk;
100
+ if (Buffer.byteLength(buffer) > 16 * 1024 * 1024) {
101
+ stop(new Error('authored runtime response exceeded limit'));
102
+ return;
103
+ }
104
+ for (;;) {
105
+ const end = buffer.indexOf('\n');
106
+ if (end < 0)
107
+ break;
108
+ const line = buffer.slice(0, end);
109
+ buffer = buffer.slice(end + 1);
110
+ try {
111
+ let message = JSON.parse(line);
112
+ if (ready) {
113
+ if (message.seq !== expectedSequence || typeof message.payload !== 'string'
114
+ || typeof message.mac !== 'string' || !/^[a-f0-9]{64}$/.test(message.mac)) {
115
+ throw new Error('invalid authored runtime authenticated frame');
116
+ }
117
+ const expected = createHmac('sha256', channelKey)
118
+ .update(`${expectedSequence}\0${message.payload}`).digest();
119
+ if (!timingSafeEqual(expected, Buffer.from(message.mac, 'hex'))) {
120
+ throw new Error('invalid authored runtime authenticated frame');
121
+ }
122
+ expectedSequence++;
123
+ message = JSON.parse(message.payload);
124
+ }
125
+ if (message.type === 'ready' && !ready && !result) {
126
+ if (JSON.stringify(message.runtime) !== JSON.stringify(runtime))
127
+ throw refusal();
128
+ ready = true;
129
+ clearTimeout(startupTimer);
130
+ // Keep stdin open: EOF tells the child its lease-owning parent died.
131
+ child.stdin.write(JSON.stringify({ channelKey, metadata, socketPath, rootRunId,
132
+ dataDir: options.dataDir, localAgentStream: options.localAgentStream }) + '\n');
133
+ }
134
+ else if (!ready || result)
135
+ throw new Error('unexpected authored runtime message');
136
+ else if (message.type === 'progress')
137
+ options.onProgress?.(message.event);
138
+ else if (message.type === 'wait')
139
+ options.onWait?.(message.event);
140
+ else if (message.type === 'result')
141
+ result = { ...message.result, executionRuntime: runtime };
142
+ else if (message.type === 'error') {
143
+ failure = typeof message.code === 'string'
144
+ ? new AuthoredFlowExecutionError(message.code, message.message, message.completionReason, message.runId)
145
+ : new Error(message.message);
146
+ }
147
+ else
148
+ throw new Error('unknown authored runtime message');
149
+ }
150
+ catch (error) {
151
+ stop(error instanceof Error ? error : new Error('invalid authored runtime message'));
152
+ }
153
+ }
154
+ });
155
+ child.stdin.on('error', () => stop(new Error('authored runtime request pipe closed')));
156
+ pipe.on('error', () => stop(new Error('authored runtime result pipe failed')));
157
+ child.once('error', () => { failure = refusal(); });
158
+ child.once('close', (code) => {
159
+ clearTimeout(startupTimer);
160
+ if (killTimer !== undefined)
161
+ clearTimeout(killTimer);
162
+ options.signal?.removeEventListener('abort', abort);
163
+ if (failure)
164
+ reject(failure);
165
+ else if (code !== 0 || !ready || result === undefined || buffer.length > 0)
166
+ reject(new Error('authored runtime exited without a complete result'));
167
+ else
168
+ resolve(result);
169
+ });
170
+ });
171
+ await verifyAuthoredNodeResult(result, metadata, rootRunId, socketPath);
172
+ return result;
173
+ }
174
+ finally {
175
+ await rm(directory, { recursive: true, force: true });
176
+ }
177
+ }
178
+ /** The IPC frame is a claim, not a durable terminal fact or a sandbox boundary. */
179
+ export async function verifyAuthoredNodeResult(result, metadata, rootRunId, socketPath) {
180
+ const invalid = () => { throw new Error('authored runtime result has no matching durable completion'); };
181
+ if (result.rootRunId !== rootRunId || result.name !== metadata.flowName
182
+ || !['success', 'needs_human'].includes(result.completionReason)
183
+ || !Array.isArray(result.journalSteps) || result.journalSteps.length === 0)
184
+ invalid();
185
+ const terminal = result.journalSteps.at(-1);
186
+ if (!terminal || !/^complete-[1-9][0-9]*$/.test(terminal.id))
187
+ invalid();
188
+ const count = Number(terminal.id.slice('complete-'.length));
189
+ if (!Number.isSafeInteger(count) || result.journalSteps.length !== count)
190
+ invalid();
191
+ const ordinal = (id) => Number(/-([1-9][0-9]*)$/.exec(id)?.[1]);
192
+ // Parallel awaits may finish in either order; validate a copy in declaration order.
193
+ const ordered = [...result.journalSteps].sort((a, b) => ordinal(a.id) - ordinal(b.id));
194
+ const runs = new Set();
195
+ const journal = new JournalClient(socketPath);
196
+ await journal.connect();
197
+ try {
198
+ await journal.hello('flows-authored-result-verifier');
199
+ for (const [index, claimed] of ordered.entries()) {
200
+ if (!claimed || typeof claimed.id !== 'string' || typeof claimed.runId !== 'string'
201
+ || ordinal(claimed.id) !== index + 1 || claimed.completionReason !== 'success'
202
+ || runs.has(claimed.runId))
203
+ invalid();
204
+ runs.add(claimed.runId);
205
+ const state = await journal.runGet(claimed.runId);
206
+ if (state.run_id !== claimed.runId || state.status !== 'completed'
207
+ || state.steps[claimed.id]?.state !== 'done')
208
+ invalid();
209
+ const entries = [];
210
+ let fromSeq = 1;
211
+ for (;;) {
212
+ const page = (await journal.journalRead(claimed.runId, fromSeq, 100)).entries;
213
+ if (page.length === 0)
214
+ break;
215
+ for (const raw of page) {
216
+ const entry = raw;
217
+ if (!Number.isSafeInteger(entry?.seq) || entry.seq < fromSeq)
218
+ invalid();
219
+ fromSeq = entry.seq + 1;
220
+ // Keep only completion evidence; streaming logs can span many pages.
221
+ if (['run.spawned', 'step.completed', 'run.completed'].includes(entry.entry_type))
222
+ entries.push(entry);
223
+ }
224
+ }
225
+ const spec = entries.find(entry => entry.entry_type === 'run.spawned')?.payload?.spec;
226
+ const step = spec?.steps?.[0];
227
+ const completed = entries.filter(entry => entry.entry_type === 'step.completed' && entry.step_id === claimed.id);
228
+ const terminalFacts = entries.filter(entry => entry.entry_type === 'run.completed');
229
+ if (spec?.name !== `${metadata.flowName}/${claimed.id}` || spec?.steps?.length !== 1
230
+ || step?.id !== claimed.id || completed.length !== 1
231
+ || completed[0]?.payload?.completionReason !== 'success'
232
+ || terminalFacts.length !== 1 || terminalFacts[0]?.payload?.completionReason !== 'success')
233
+ invalid();
234
+ if (claimed === terminal) {
235
+ const command = result.completionReason === 'needs_human'
236
+ ? `printf '%s' '{"completionReason":"needs_human"}'` : ':';
237
+ if (step?.type !== 'deterministic' || step.command !== command)
238
+ invalid();
239
+ }
240
+ }
241
+ }
242
+ finally {
243
+ journal.close();
244
+ }
245
+ }
246
+ //# sourceMappingURL=authored-node-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authored-node-runner.js","sourceRoot":"","sources":["../src/authored-node-runner.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,5 @@ export declare class PluginStepError extends AuthoredFlowExecutionError {
12
12
  * The Plugin receipt lives in step.completed.output: { type, input, output, ... }.
13
13
  * A private stream routes the step to this short-lived SDK worker exclusively.
14
14
  */
15
- export declare function runPluginEffect(journal: JournalClient, flowName: string, id: string, plugin: LoadedPlugin, verb: PluginVerb, args: unknown, journalSteps: AuthoredFlowJournalStep[], budget: AuthoredBudget): Promise<unknown>;
15
+ export declare function runPluginEffect(journal: JournalClient, flowName: string, id: string, plugin: LoadedPlugin, verb: PluginVerb, args: unknown, journalSteps: AuthoredFlowJournalStep[], budget: AuthoredBudget, rootRunId?: string): Promise<unknown>;
16
16
  //# sourceMappingURL=authored-plugin-effect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authored-plugin-effect.d.ts","sourceRoot":"","sources":["../src/authored-plugin-effect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAI3E,qBAAa,eAAgB,SAAQ,0BAA0B;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAGvD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAC5F,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,cAAc,GAC7E,OAAO,CAAC,OAAO,CAAC,CAuHlB"}
1
+ {"version":3,"file":"authored-plugin-effect.d.ts","sourceRoot":"","sources":["../src/authored-plugin-effect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAK3E,qBAAa,eAAgB,SAAQ,0BAA0B;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAGvD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAC5F,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,cAAc,EAC9E,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAwHlB"}
@@ -5,6 +5,7 @@ import { SPEC_SCHEMA_VERSION } from './spec.js';
5
5
  import { AuthoredFlowExecutionError } from './authored-flow-error.js';
6
6
  import { readCompletedStepOutput } from './authored-step-output.js';
7
7
  import { withWorkerLease } from './worker-lease.js';
8
+ import { authoredChildAdmissionKey } from './authored-admission.js';
8
9
  export class PluginStepError extends AuthoredFlowExecutionError {
9
10
  diagnostic;
10
11
  constructor(diagnostic, runId) {
@@ -16,12 +17,13 @@ export class PluginStepError extends AuthoredFlowExecutionError {
16
17
  * The Plugin receipt lives in step.completed.output: { type, input, output, ... }.
17
18
  * A private stream routes the step to this short-lived SDK worker exclusively.
18
19
  */
19
- export async function runPluginEffect(journal, flowName, id, plugin, verb, args, journalSteps, budget) {
20
+ export async function runPluginEffect(journal, flowName, id, plugin, verb, args, journalSteps, budget, rootRunId) {
20
21
  const server = verb.namespace;
21
22
  const tool = verb.method;
22
23
  const idempotencyKey = `plugin:${server}:${tool}:${createHash('sha256').update(JSON.stringify(args)).digest('hex')}`;
23
24
  const surfacePath = `/plugins/${pathPart(server)}/${pathPart(tool)}`;
24
- const stream = `plugin-worker-${randomUUID()}`;
25
+ const admissionKey = authoredChildAdmissionKey(rootRunId, id);
26
+ const stream = `plugin-worker-${admissionKey?.slice(-32) ?? randomUUID()}`;
25
27
  const instruction = JSON.stringify({ type: 'effect', server, tool, input: args });
26
28
  const peer = journal.createPeer();
27
29
  let diagnostic;
@@ -126,7 +128,8 @@ export async function runPluginEffect(journal, flowName, id, plugin, verb, args,
126
128
  // run.start may answer after the deadline and the outer cleanup.
127
129
  if (dispatchExpired)
128
130
  await cancelChildRun();
129
- await completed;
131
+ if (outcome.status !== 'completed')
132
+ await completed;
130
133
  if (diagnostic !== undefined) {
131
134
  try {
132
135
  await readCompletedStepOutput(journal, outcome.run_id, id, journalSteps);
@@ -139,7 +142,7 @@ export async function runPluginEffect(journal, flowName, id, plugin, verb, args,
139
142
  }
140
143
  const receipt = await readCompletedStepOutput(journal, outcome.run_id, id, journalSteps);
141
144
  return receipt.output;
142
- }), deadline]);
145
+ }, admissionKey), deadline]);
143
146
  }
144
147
  finally {
145
148
  clearTimeout(timer);
@@ -1 +1 @@
1
- {"version":3,"file":"authored-plugin-effect.js","sourceRoot":"","sources":["../src/authored-plugin-effect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,YAAY,EAAqB,MAAM,oBAAoB,CAAC;AAGrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGhD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,OAAO,eAAgB,SAAQ,0BAA0B;IACxC;IAArB,YAAqB,UAAkB,EAAE,KAAa;QACpD,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QADrC,eAAU,GAAV,UAAU,CAAQ;IAEvC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAsB,EAAE,QAAgB,EAAE,EAAU,EAAE,MAAoB,EAAE,IAAgB,EAC5F,IAAa,EAAE,YAAuC,EAAE,MAAsB;IAE9E,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IACzB,MAAM,cAAc,GAAG,UAAU,MAAM,IAAI,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACrH,MAAM,WAAW,GAAG,YAAY,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACrE,MAAM,MAAM,GAAG,iBAAiB,UAAU,EAAE,EAAE,CAAC;IAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAClC,IAAI,UAA8B,CAAC;IACnC,IAAI,OAAoB,CAAC;IACzB,IAAI,MAAiC,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,KAAK,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,KAAgD,CAAC;IACrD,IAAI,IAA+B,CAAC;IACpC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,QAAQ,GAAG,CAAC,KAAwB,EAAQ,EAAE;QAClD,IAAI,eAAe;YAAE,OAAO;QAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,IAA+E,CAAC;QACzG,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS;eACxE,UAAU,EAAE,WAAW,KAAK,WAAW;eACvC,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;YACvE,MAAM,CAAC,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QACD,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,SAAS,CAAC;QAClB,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACtB,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,KAAK,UAAU,OAAO,CAAC,KAAwB;QAC7C,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,QAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO;YACvG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;QACxF,IAAI,MAAe,CAAC;QACpB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC;YACH,2EAA2E;YAC3E,qEAAqE;YACrE,4EAA4E;YAC5E,SAAS,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;gBACxD,OAAO,IAAI,CAAC,aAAa,CAAC;oBACxB,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,eAAe;oBAC9F,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc;iBACtE,EAAE,KAAK,IAAI,EAAE;oBACZ,IAAI,CAAC;wBAAC,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;oBAAC,CAAC;oBAC/E,MAAM,CAAC;wBAAC,UAAU,GAAG,yBAAyB,CAAC;wBAAC,MAAM,IAAI,sBAAsB,EAAE,CAAC;oBAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,wEAAwE;YACxE,wEAAwE;YACxE,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,sBAAsB;gBAAE,UAAU,GAAG,yBAAyB,CAAC;iBAC/E,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,2BAA2B;gBAAE,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC;;gBACxG,MAAM,KAAK,CAAC,CAAC,8DAA8D;QAClF,CAAC;QACD,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,EAC5E,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,EAAE;YACrD,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YACrF,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI;YAC9C,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;SAClG,CAAC,CAAC;IACP,CAAC;IACD,IAAI,UAA8B,CAAC;IACnC,KAAK,UAAU,cAAc;QAC3B,MAAM,KAAK,GAAG,UAAU,CAAC;QACzB,UAAU,GAAG,SAAS,CAAC;QACvB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC;gBAAC,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC5E,IAAI,cAA2B,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrD,cAAc,GAAG,OAAO,CAAC;QACzB,6EAA6E;QAC7E,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,eAAe,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,aAAa,CAAC,CAAC;YACtB,MAAM,CAAC,aAAa,CAAC,CAAC;QACxB,CAAC,EAAE,MAAM,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/C,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QACnC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAClI,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,GAAG,QAAQ,IAAI,EAAE,EAAE;YAC7F,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW;oBACtC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;SACpF,CAAC,CAAC,CAAC;QACJ,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;gBACvE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC5B,iEAAiE;gBACjE,IAAI,eAAe;oBAAE,MAAM,cAAc,EAAE,CAAC;gBAC5C,MAAM,SAAS,CAAC;gBAChB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,IAAI,CAAC;wBAAC,MAAM,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;oBAAC,CAAC;oBACjF,OAAO,KAAK,EAAE,CAAC;wBACb,IAAI,CAAC,CAAC,KAAK,YAAY,0BAA0B,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;4BAAE,MAAM,KAAK,CAAC;wBAChG,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oBACxD,CAAC;gBACH,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,CAAwB,CAAC;gBAChH,OAAO,OAAO,CAAC,MAAM,CAAC;YACxB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjB,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,cAAc,EAAE,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QACpC,wEAAwE;QACxE,oEAAoE;QACpE,qEAAqE;QACrE,yEAAyE;QACzE,IAAI,eAAe;YAAE,MAAM,cAAc,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,sBAAuB,SAAQ,KAAK;CAAG"}
1
+ {"version":3,"file":"authored-plugin-effect.js","sourceRoot":"","sources":["../src/authored-plugin-effect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { type AuthoredFlowExecutionResult } from './authored-flow-executor.js';
2
+ import { type LoadedAuthoredFlow, type SurfaceModuleAuthority } from './authored-flow-loader.js';
3
+ import { JournalClient } from './journal-client.js';
4
+ import type { RunLifecycleOptions } from './cli/run.js';
5
+ declare const ROOT_KIND = "relayflows.authored-root.v1";
6
+ export interface AuthoredRootMetadata {
7
+ readonly kind: typeof ROOT_KIND;
8
+ readonly flowName: string;
9
+ readonly flowPath: string;
10
+ readonly sourceSha256: string;
11
+ readonly surface: SurfaceModuleAuthority;
12
+ readonly sources: readonly AuthoredRootSourceAuthority[];
13
+ readonly localAgentStream?: string;
14
+ readonly inputPresent: boolean;
15
+ readonly input?: unknown;
16
+ }
17
+ export interface AuthoredRootSourceAuthority {
18
+ readonly path: string;
19
+ readonly sourceSha256: string;
20
+ readonly surface: SurfaceModuleAuthority;
21
+ }
22
+ export interface DurableAuthoredOptions {
23
+ readonly dataDir: string;
24
+ readonly admissionKey?: string;
25
+ readonly localAgentStream?: string;
26
+ readonly lifecycle?: RunLifecycleOptions;
27
+ }
28
+ /** Admit and execute one authored body under a durable kernel root. */
29
+ export declare function executeDurableAuthoredFlow(loaded: LoadedAuthoredFlow, journal: JournalClient, input: unknown, options: DurableAuthoredOptions): Promise<AuthoredFlowExecutionResult & {
30
+ readonly rootRunId: string;
31
+ }>;
32
+ /** Resume the exact source and Surface instance recorded by an authored root. */
33
+ export declare function resumeDurableAuthoredFlow(rootRunId: string, journal: JournalClient, options: Omit<DurableAuthoredOptions, 'admissionKey'>): Promise<(AuthoredFlowExecutionResult & {
34
+ readonly rootRunId: string;
35
+ }) | undefined>;
36
+ export declare function readAuthoredRootMetadata(journal: JournalClient, runId: string): Promise<AuthoredRootMetadata | undefined>;
37
+ export {};
38
+ //# sourceMappingURL=authored-root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authored-root.d.ts","sourceRoot":"","sources":["../src/authored-root.ts"],"names":[],"mappings":"AAMA,OAAO,EAAuB,KAAK,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AACpG,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxD,QAAA,MAAM,SAAS,gCAAgC,CAAC;AAEhD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,OAAO,SAAS,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACzD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CAC1C;AAED,uEAAuE;AACvE,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,2BAA2B,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAmDvE;AAED,iFAAiF;AACjF,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,cAAc,CAAC,GACpD,OAAO,CAAC,CAAC,2BAA2B,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,CAAC,CA+BrF;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAc3C"}