@relayflows/sdk 2.0.54 → 2.0.55
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.
|
@@ -3,6 +3,13 @@ import type { AuthoredFlowExecutionResult, ExecuteAuthoredFlowOptions } from './
|
|
|
3
3
|
import type { ParkCause, StepFailedDetails } from './failure-kinds.js';
|
|
4
4
|
/** Installed by the standalone build; never fetched or resolved from a workspace. */
|
|
5
5
|
export declare function installAuthoredNodeSource(source: string): void;
|
|
6
|
+
interface NodeAuthority {
|
|
7
|
+
path: string;
|
|
8
|
+
version: string;
|
|
9
|
+
executableSha256: string;
|
|
10
|
+
}
|
|
11
|
+
/** Test seam: resolve the authored Node authority exactly as the runner does. */
|
|
12
|
+
export declare function authoredNodeAuthorityForTest(): Readonly<NodeAuthority>;
|
|
6
13
|
/** Called before root admission/resume; declarative commands never reach it. */
|
|
7
14
|
export declare function assertAuthoredRuntimeAvailable(): void;
|
|
8
15
|
/** Bun retains the root lease and local workers. Only the authored body uses Node. */
|
|
@@ -27,4 +34,5 @@ export declare function parkCauseFrame(value: unknown): ParkCause | undefined;
|
|
|
27
34
|
export declare function stepFailedFrame(value: unknown): StepFailedDetails | undefined;
|
|
28
35
|
/** The IPC frame is a claim, not a durable terminal fact or a sandbox boundary. */
|
|
29
36
|
export declare function verifyAuthoredNodeResult(result: AuthoredFlowExecutionResult, metadata: AuthoredRootMetadata, rootRunId: string, socketPath: string, signal?: AbortSignal): Promise<void>;
|
|
37
|
+
export {};
|
|
30
38
|
//# sourceMappingURL=authored-node-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authored-node-runner.d.ts","sourceRoot":"","sources":["../src/authored-node-runner.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAA4B,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAMrI,OAAO,KAAK,EACiB,SAAS,EAAsB,iBAAiB,EAC5E,MAAM,oBAAoB,CAAC;AAQ5B,qFAAqF;AACrF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAG9D;
|
|
1
|
+
{"version":3,"file":"authored-node-runner.d.ts","sourceRoot":"","sources":["../src/authored-node-runner.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAA4B,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAMrI,OAAO,KAAK,EACiB,SAAS,EAAsB,iBAAiB,EAC5E,MAAM,oBAAoB,CAAC;AAQ5B,qFAAqF;AACrF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAG9D;AAMD,UAAU,aAAa;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE;AA0EnF,iFAAiF;AACjF,wBAAgB,4BAA4B,IAAI,QAAQ,CAAC,aAAa,CAAC,CAEtE;AAED,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,CAwGtC;AAwCD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAEpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAoB7E;AAkED,mFAAmF;AACnF,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,2BAA2B,EAAE,QAAQ,EAAE,oBAAoB,EACnE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAC1D,OAAO,CAAC,IAAI,CAAC,CAsHf"}
|
|
@@ -3,9 +3,9 @@ import { FLOW_READ_BUDGET_MS } from './journal-read-policy.js';
|
|
|
3
3
|
import { spawn, spawnSync } from 'node:child_process';
|
|
4
4
|
import { createHash, createHmac, randomBytes, timingSafeEqual } from 'node:crypto';
|
|
5
5
|
import { mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
|
|
6
|
-
import { readFileSync, realpathSync } from 'node:fs';
|
|
6
|
+
import { accessSync, constants as fsConstants, readFileSync, realpathSync, statSync } from 'node:fs';
|
|
7
7
|
import { tmpdir } from 'node:os';
|
|
8
|
-
import { isAbsolute, join } from 'node:path';
|
|
8
|
+
import { delimiter, isAbsolute, join } from 'node:path';
|
|
9
9
|
import { completionMarker, isDurableCompletionDetail, isLoweredCompletion } from './authored-completion.js';
|
|
10
10
|
import { AuthoredFlowExecutionError, AuthoredHumanParked, } from './authored-flow-error.js';
|
|
11
11
|
import { HUMAN_WAIT_ID } from './authored-human.js';
|
|
@@ -22,12 +22,57 @@ export function installAuthoredNodeSource(source) {
|
|
|
22
22
|
}
|
|
23
23
|
const hash = (value) => createHash('sha256').update(value).digest('hex');
|
|
24
24
|
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');
|
|
25
|
+
/**
|
|
26
|
+
* One authored run asks for the Node authority before root admission and
|
|
27
|
+
* again before spawning the body. Each probe spawns Node and hashes its whole
|
|
28
|
+
* executable (~100 MB), which a cold sandbox pays on the startup path twice.
|
|
29
|
+
* Reuse the previous answer only while the same candidate is selected (the
|
|
30
|
+
* override or the first `node` on PATH, by path and by realpath, so a
|
|
31
|
+
* retargeted symlink re-probes) and the executable it resolved is unchanged.
|
|
32
|
+
* The spawned child still hashes the executable it actually runs and the
|
|
33
|
+
* parent compares that report with this authority, so a binary replaced
|
|
34
|
+
* after the probe is refused, never trusted.
|
|
35
|
+
*/
|
|
36
|
+
let probedAuthority;
|
|
37
|
+
function executableFingerprint(path) {
|
|
38
|
+
const stat = statSync(path, { bigint: true });
|
|
39
|
+
return [stat.dev, stat.ino, stat.size, stat.mtimeNs, stat.ctimeNs].join(':');
|
|
40
|
+
}
|
|
41
|
+
/** The candidate `spawnSync(override ?? 'node')` would run, by path and realpath. */
|
|
42
|
+
function selectedCandidate(override) {
|
|
43
|
+
const directories = (process.env['PATH'] ?? '').split(delimiter);
|
|
44
|
+
// A relative PATH entry resolves against the working directory; do not
|
|
45
|
+
// guess which candidate the spawn would pick, just probe every time.
|
|
46
|
+
if (override === undefined && directories.some(directory => !isAbsolute(directory)))
|
|
47
|
+
return undefined;
|
|
48
|
+
const candidates = override !== undefined ? [override] : directories.map(directory => join(directory, 'node'));
|
|
49
|
+
for (const candidate of candidates) {
|
|
50
|
+
try {
|
|
51
|
+
if (!statSync(candidate).isFile())
|
|
52
|
+
continue;
|
|
53
|
+
accessSync(candidate, fsConstants.X_OK);
|
|
54
|
+
return `${candidate}\0${realpathSync(candidate)}`;
|
|
55
|
+
}
|
|
56
|
+
catch { /* Not this candidate. */ }
|
|
57
|
+
}
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
25
60
|
function nodeAuthority() {
|
|
26
61
|
if (embeddedSource === undefined)
|
|
27
62
|
throw refusal();
|
|
28
63
|
const override = process.env['FLOWS_AUTHORED_NODE'];
|
|
29
64
|
if (override !== undefined && !isAbsolute(override))
|
|
30
65
|
throw refusal();
|
|
66
|
+
const selection = selectedCandidate(override);
|
|
67
|
+
if (selection !== undefined && probedAuthority?.selection === selection) {
|
|
68
|
+
try {
|
|
69
|
+
if (executableFingerprint(probedAuthority.authority.path) === probedAuthority.fingerprint) {
|
|
70
|
+
return probedAuthority.authority;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch { /* A vanished executable is re-probed, and refused there. */ }
|
|
74
|
+
}
|
|
75
|
+
probedAuthority = undefined;
|
|
31
76
|
const probe = spawnSync(override ?? 'node', ['--input-type=module', '--eval', `
|
|
32
77
|
import {createHook} from 'node:async_hooks';
|
|
33
78
|
import {stripTypeScriptTypes,register} from 'node:module';
|
|
@@ -48,12 +93,23 @@ process.stdout.write(JSON.stringify({path:process.execPath,version:process.versi
|
|
|
48
93
|
if (major < 22 || (major === 22 && minor < 14))
|
|
49
94
|
throw refusal();
|
|
50
95
|
const path = realpathSync(value.path);
|
|
51
|
-
|
|
96
|
+
const fingerprint = executableFingerprint(path);
|
|
97
|
+
const authority = { path, version: value.version, executableSha256: hash(readFileSync(path)) };
|
|
98
|
+
// Reuse only an answer for a candidate that could be identified, and not
|
|
99
|
+
// one whose file was rewritten while it was being hashed.
|
|
100
|
+
if (selection !== undefined && executableFingerprint(path) === fingerprint) {
|
|
101
|
+
probedAuthority = { selection, fingerprint, authority };
|
|
102
|
+
}
|
|
103
|
+
return authority;
|
|
52
104
|
}
|
|
53
105
|
catch {
|
|
54
106
|
throw refusal();
|
|
55
107
|
}
|
|
56
108
|
}
|
|
109
|
+
/** Test seam: resolve the authored Node authority exactly as the runner does. */
|
|
110
|
+
export function authoredNodeAuthorityForTest() {
|
|
111
|
+
return nodeAuthority();
|
|
112
|
+
}
|
|
57
113
|
/** Called before root admission/resume; declarative commands never reach it. */
|
|
58
114
|
export function assertAuthoredRuntimeAvailable() {
|
|
59
115
|
if (process.versions['bun'] === undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authored-node-runner.js","sourceRoot":"","sources":["../src/authored-node-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"authored-node-runner.js","sourceRoot":"","sources":["../src/authored-node-runner.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.
|
|
3
|
+
"version": "2.0.55",
|
|
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",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
51
51
|
"@relayfile/adapter-core": "0.6.2",
|
|
52
52
|
"@relayfile/relay-helpers": "0.4.12",
|
|
53
|
-
"@relayflows/surface": "2.0.
|
|
53
|
+
"@relayflows/surface": "2.0.55",
|
|
54
54
|
"@types/js-yaml": "^4.0.9",
|
|
55
55
|
"acorn": "^8.18.0",
|
|
56
56
|
"ai-hist": "0.4.1",
|
|
@@ -3,9 +3,9 @@ import { FLOW_READ_BUDGET_MS } from './journal-read-policy.js';
|
|
|
3
3
|
import { spawn, spawnSync } from 'node:child_process';
|
|
4
4
|
import { createHash, createHmac, randomBytes, timingSafeEqual } from 'node:crypto';
|
|
5
5
|
import { mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
|
|
6
|
-
import { readFileSync, realpathSync } from 'node:fs';
|
|
6
|
+
import { accessSync, constants as fsConstants, readFileSync, realpathSync, statSync } from 'node:fs';
|
|
7
7
|
import { tmpdir } from 'node:os';
|
|
8
|
-
import { isAbsolute, join } from 'node:path';
|
|
8
|
+
import { delimiter, isAbsolute, join } from 'node:path';
|
|
9
9
|
import type { Readable } from 'node:stream';
|
|
10
10
|
import type { AuthoredRootMetadata } from './authored-root.js';
|
|
11
11
|
import type { AuthoredExecutionRuntime, AuthoredFlowExecutionResult, ExecuteAuthoredFlowOptions } from './authored-flow-executor.js';
|
|
@@ -35,10 +35,51 @@ const refusal = (): AuthoredFlowExecutionError => new AuthoredFlowExecutionError
|
|
|
35
35
|
'authored execution requires the embedded Node runner and Node >=22.14 on PATH (or an absolute FLOWS_AUTHORED_NODE); no workflow body was executed',
|
|
36
36
|
);
|
|
37
37
|
interface NodeAuthority { path: string; version: string; executableSha256: string }
|
|
38
|
+
/**
|
|
39
|
+
* One authored run asks for the Node authority before root admission and
|
|
40
|
+
* again before spawning the body. Each probe spawns Node and hashes its whole
|
|
41
|
+
* executable (~100 MB), which a cold sandbox pays on the startup path twice.
|
|
42
|
+
* Reuse the previous answer only while the same candidate is selected (the
|
|
43
|
+
* override or the first `node` on PATH, by path and by realpath, so a
|
|
44
|
+
* retargeted symlink re-probes) and the executable it resolved is unchanged.
|
|
45
|
+
* The spawned child still hashes the executable it actually runs and the
|
|
46
|
+
* parent compares that report with this authority, so a binary replaced
|
|
47
|
+
* after the probe is refused, never trusted.
|
|
48
|
+
*/
|
|
49
|
+
let probedAuthority: { selection: string; fingerprint: string; authority: NodeAuthority } | undefined;
|
|
50
|
+
function executableFingerprint(path: string): string {
|
|
51
|
+
const stat = statSync(path, { bigint: true });
|
|
52
|
+
return [stat.dev, stat.ino, stat.size, stat.mtimeNs, stat.ctimeNs].join(':');
|
|
53
|
+
}
|
|
54
|
+
/** The candidate `spawnSync(override ?? 'node')` would run, by path and realpath. */
|
|
55
|
+
function selectedCandidate(override: string | undefined): string | undefined {
|
|
56
|
+
const directories = (process.env['PATH'] ?? '').split(delimiter);
|
|
57
|
+
// A relative PATH entry resolves against the working directory; do not
|
|
58
|
+
// guess which candidate the spawn would pick, just probe every time.
|
|
59
|
+
if (override === undefined && directories.some(directory => !isAbsolute(directory))) return undefined;
|
|
60
|
+
const candidates = override !== undefined ? [override] : directories.map(directory => join(directory, 'node'));
|
|
61
|
+
for (const candidate of candidates) {
|
|
62
|
+
try {
|
|
63
|
+
if (!statSync(candidate).isFile()) continue;
|
|
64
|
+
accessSync(candidate, fsConstants.X_OK);
|
|
65
|
+
return `${candidate}\0${realpathSync(candidate)}`;
|
|
66
|
+
} catch { /* Not this candidate. */ }
|
|
67
|
+
}
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
38
70
|
function nodeAuthority(): NodeAuthority {
|
|
39
71
|
if (embeddedSource === undefined) throw refusal();
|
|
40
72
|
const override = process.env['FLOWS_AUTHORED_NODE'];
|
|
41
73
|
if (override !== undefined && !isAbsolute(override)) throw refusal();
|
|
74
|
+
const selection = selectedCandidate(override);
|
|
75
|
+
if (selection !== undefined && probedAuthority?.selection === selection) {
|
|
76
|
+
try {
|
|
77
|
+
if (executableFingerprint(probedAuthority.authority.path) === probedAuthority.fingerprint) {
|
|
78
|
+
return probedAuthority.authority;
|
|
79
|
+
}
|
|
80
|
+
} catch { /* A vanished executable is re-probed, and refused there. */ }
|
|
81
|
+
}
|
|
82
|
+
probedAuthority = undefined;
|
|
42
83
|
const probe = spawnSync(override ?? 'node', ['--input-type=module', '--eval', `
|
|
43
84
|
import {createHook} from 'node:async_hooks';
|
|
44
85
|
import {stripTypeScriptTypes,register} from 'node:module';
|
|
@@ -56,10 +97,22 @@ process.stdout.write(JSON.stringify({path:process.execPath,version:process.versi
|
|
|
56
97
|
const [major, minor] = value.version.split('.').map(Number);
|
|
57
98
|
if (major! < 22 || (major === 22 && minor! < 14)) throw refusal();
|
|
58
99
|
const path = realpathSync(value.path);
|
|
59
|
-
|
|
100
|
+
const fingerprint = executableFingerprint(path);
|
|
101
|
+
const authority = { path, version: value.version, executableSha256: hash(readFileSync(path)) };
|
|
102
|
+
// Reuse only an answer for a candidate that could be identified, and not
|
|
103
|
+
// one whose file was rewritten while it was being hashed.
|
|
104
|
+
if (selection !== undefined && executableFingerprint(path) === fingerprint) {
|
|
105
|
+
probedAuthority = { selection, fingerprint, authority };
|
|
106
|
+
}
|
|
107
|
+
return authority;
|
|
60
108
|
} catch { throw refusal(); }
|
|
61
109
|
}
|
|
62
110
|
|
|
111
|
+
/** Test seam: resolve the authored Node authority exactly as the runner does. */
|
|
112
|
+
export function authoredNodeAuthorityForTest(): Readonly<NodeAuthority> {
|
|
113
|
+
return nodeAuthority();
|
|
114
|
+
}
|
|
115
|
+
|
|
63
116
|
/** Called before root admission/resume; declarative commands never reach it. */
|
|
64
117
|
export function assertAuthoredRuntimeAvailable(): void {
|
|
65
118
|
if (process.versions['bun'] === undefined) assertAuthoredPromiseHooks();
|