@relayflows/sdk 2.0.1 → 2.0.2
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.
- package/dist/cli/daemon-refusal.d.ts +12 -0
- package/dist/cli/daemon-refusal.d.ts.map +1 -0
- package/dist/cli/daemon-refusal.js +42 -0
- package/dist/cli/daemon-refusal.js.map +1 -0
- package/dist/cli/direct-run.d.ts +1 -1
- package/dist/cli/direct-run.d.ts.map +1 -1
- package/dist/cli/direct-run.js +2 -2
- package/dist/cli/direct-run.js.map +1 -1
- package/dist/cli/run.d.ts +26 -4
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +51 -6
- package/dist/cli/run.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +39 -8
- package/dist/cli.js.map +1 -1
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +35 -4
- package/dist/compile.js.map +1 -1
- package/dist/daemon-connection.d.ts +127 -0
- package/dist/daemon-connection.d.ts.map +1 -0
- package/dist/daemon-connection.js +249 -0
- package/dist/daemon-connection.js.map +1 -0
- package/dist/daemon-lifecycle.d.ts +29 -0
- package/dist/daemon-lifecycle.d.ts.map +1 -0
- package/dist/daemon-lifecycle.js +152 -0
- package/dist/daemon-lifecycle.js.map +1 -0
- package/dist/failure-kinds.d.ts +19 -2
- package/dist/failure-kinds.d.ts.map +1 -1
- package/dist/failure-kinds.js +23 -1
- package/dist/failure-kinds.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/journal-client.d.ts +12 -0
- package/dist/journal-client.d.ts.map +1 -1
- package/dist/journal-client.js +10 -0
- package/dist/journal-client.js.map +1 -1
- package/dist/protocol.d.ts +21 -1
- package/dist/protocol.d.ts.map +1 -1
- package/dist/relayflowd-path.d.ts +39 -0
- package/dist/relayflowd-path.d.ts.map +1 -0
- package/dist/relayflowd-path.js +162 -0
- package/dist/relayflowd-path.js.map +1 -0
- package/dist/spec.d.ts +30 -2
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js.map +1 -1
- package/dist/step-fields.d.ts +1 -1
- package/dist/step-fields.d.ts.map +1 -1
- package/dist/step-fields.js +2 -0
- package/dist/step-fields.js.map +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +53 -6
- package/dist/validate.js.map +1 -1
- package/dist/worker.js +6 -1
- package/dist/worker.js.map +1 -1
- package/package.json +2 -2
- package/src/cli/daemon-refusal.ts +49 -0
- package/src/cli/direct-run.ts +2 -2
- package/src/cli/run.ts +62 -9
- package/src/cli.ts +42 -15
- package/src/compile.ts +37 -4
- package/src/daemon-connection.ts +336 -0
- package/src/daemon-lifecycle.ts +198 -0
- package/src/failure-kinds.ts +25 -1
- package/src/index.ts +6 -0
- package/src/journal-client.ts +21 -0
- package/src/protocol.ts +19 -1
- package/src/relayflowd-path.ts +190 -0
- package/src/spec.ts +34 -2
- package/src/step-fields.ts +2 -0
- package/src/validate.ts +50 -6
- package/src/worker.ts +7 -1
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
// Attach-or-spawn for relayflowd (kernel/DAEMON-LIFECYCLE.md §3).
|
|
2
|
+
//
|
|
3
|
+
// Lifecycle is not transport, so none of this lives in journal-client.ts:
|
|
4
|
+
// putting spawn logic in the client would make every AgentWorker, tick runner
|
|
5
|
+
// and demo conjure daemons as a side effect of connecting. The client stays
|
|
6
|
+
// fail-closed with no retry and no spawn; this module only decides how the
|
|
7
|
+
// socket gets there.
|
|
8
|
+
import { join, resolve } from 'node:path';
|
|
9
|
+
import { checkDaemon, connectionPathFor, DAEMON_LOG_FILE, defaultDaemonLifecycleDeps, socketPathFor, } from './daemon-connection.js';
|
|
10
|
+
import { RelayflowdNotFoundError } from './relayflowd-path.js';
|
|
11
|
+
export * from './daemon-connection.js';
|
|
12
|
+
/** `relayflowd serve` lost the singleton lock — someone else is serving (§3). */
|
|
13
|
+
export const EXIT_ALREADY_SERVING = 3;
|
|
14
|
+
/** §3: matches ../relay's DETACHED_START_READY_TIMEOUT_MS. */
|
|
15
|
+
export const DEFAULT_START_TIMEOUT_MS = 10_000;
|
|
16
|
+
/** §3: matches the existing poll in scripts/run-local-workflow.mjs:64-71. */
|
|
17
|
+
export const START_POLL_INTERVAL_MS = 50;
|
|
18
|
+
/** How much of relayflowd.log a `daemon_start_failed` refusal quotes. */
|
|
19
|
+
const LOG_TAIL_BYTES = 4_096;
|
|
20
|
+
/**
|
|
21
|
+
* §3's CLI algorithm. Attach if something is serving; otherwise spawn
|
|
22
|
+
* `relayflowd serve` detached and poll for it, bounded.
|
|
23
|
+
*
|
|
24
|
+
* The CLI never has to be clever here, and that is the load-bearing
|
|
25
|
+
* simplification: because the singleton mutex lives in the daemon
|
|
26
|
+
* (`flock` on `<data-dir>/relayflowd.lock`, §3), spawning when in doubt is
|
|
27
|
+
* always safe. A child that loses the race exits `EXIT_ALREADY_SERVING`
|
|
28
|
+
* having unlinked nothing, bound nothing and written nothing, and this loop
|
|
29
|
+
* keeps polling until the winner publishes.
|
|
30
|
+
*
|
|
31
|
+
* The CLI never terminates a daemon — not one it found, and not one it
|
|
32
|
+
* spawned.
|
|
33
|
+
*/
|
|
34
|
+
export async function ensureDaemon(dataDir, options = {}, deps = defaultDaemonLifecycleDeps) {
|
|
35
|
+
const resolvedDataDir = resolve(dataDir);
|
|
36
|
+
const maySpawn = options.spawn ?? true;
|
|
37
|
+
const timeoutMs = options.timeoutMs ?? DEFAULT_START_TIMEOUT_MS;
|
|
38
|
+
const first = await checkDaemon(resolvedDataDir, deps);
|
|
39
|
+
if (first.kind === 'attached' || first.kind === 'incompatible')
|
|
40
|
+
return first;
|
|
41
|
+
if (!maySpawn) {
|
|
42
|
+
return {
|
|
43
|
+
kind: 'unavailable',
|
|
44
|
+
failure: 'daemon_unreachable',
|
|
45
|
+
message: first.kind === 'stale' ? first.message : 'no connection file and no listening socket',
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
// Only the corpse is removed, and only when nothing is serving and its pid
|
|
49
|
+
// is gone (§2 row 1). The other stale verdicts leave the file alone on
|
|
50
|
+
// purpose: a daemon mid-boot may be about to publish, and unlinking the
|
|
51
|
+
// winner's file would strand this poll loop. The booting daemon sweeps
|
|
52
|
+
// leftovers under the lock anyway (§1 step 3), which is the only place the
|
|
53
|
+
// removal is provably safe.
|
|
54
|
+
if (first.kind === 'stale' && first.reason === 'dead_pid_dead_socket') {
|
|
55
|
+
deps.removeFile(connectionPathFor(resolvedDataDir));
|
|
56
|
+
}
|
|
57
|
+
let binary;
|
|
58
|
+
try {
|
|
59
|
+
binary = deps.resolveBinary();
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
return {
|
|
63
|
+
kind: 'unavailable',
|
|
64
|
+
failure: 'relayflowd_not_found',
|
|
65
|
+
message: error instanceof RelayflowdNotFoundError || error instanceof Error
|
|
66
|
+
? error.message
|
|
67
|
+
: 'relayflowd could not be located.',
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
deps.makeDirectory(resolvedDataDir);
|
|
71
|
+
const logPath = join(resolvedDataDir, DAEMON_LOG_FILE);
|
|
72
|
+
const child = spawnDaemon(binary, resolvedDataDir, logPath, deps);
|
|
73
|
+
return pollForDaemon(resolvedDataDir, child, logPath, timeoutMs, deps);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* `detached: true` puts the child in its own session and process group. Both
|
|
77
|
+
* consequences are required: it outlives this CLI, and a Ctrl-C sent to the
|
|
78
|
+
* CLI's process group does not reach it.
|
|
79
|
+
*
|
|
80
|
+
* stdio never inherits the CLI's. A daemon holding the CLI's stdout would
|
|
81
|
+
* interleave its own output with `flows run --json`'s single report object,
|
|
82
|
+
* and would hold the pipe open after the CLI exits, hanging anything reading
|
|
83
|
+
* it. stderr goes to `<data-dir>/relayflowd.log` so a failed start has
|
|
84
|
+
* evidence to quote.
|
|
85
|
+
*/
|
|
86
|
+
function spawnDaemon(binary, dataDir, logPath, deps) {
|
|
87
|
+
const state = { exit: undefined, error: undefined };
|
|
88
|
+
const log = deps.openAppend(logPath);
|
|
89
|
+
try {
|
|
90
|
+
const child = deps.spawnProcess(binary, ['--data-dir', dataDir, 'serve'], {
|
|
91
|
+
detached: true,
|
|
92
|
+
stdio: ['ignore', 'ignore', log],
|
|
93
|
+
env: process.env,
|
|
94
|
+
cwd: process.cwd(),
|
|
95
|
+
});
|
|
96
|
+
child.once('error', (error) => {
|
|
97
|
+
state.error = error;
|
|
98
|
+
});
|
|
99
|
+
child.once('exit', (code, signal) => {
|
|
100
|
+
state.exit = { code, signal };
|
|
101
|
+
});
|
|
102
|
+
child.unref();
|
|
103
|
+
}
|
|
104
|
+
finally {
|
|
105
|
+
// The child holds its own duplicate of this descriptor; keeping the
|
|
106
|
+
// parent's copy open would leak one per invocation.
|
|
107
|
+
deps.closeFd(log);
|
|
108
|
+
}
|
|
109
|
+
return state;
|
|
110
|
+
}
|
|
111
|
+
async function pollForDaemon(dataDir, child, logPath, timeoutMs, deps) {
|
|
112
|
+
const deadline = deps.now() + timeoutMs;
|
|
113
|
+
for (;;) {
|
|
114
|
+
if (child.error !== undefined) {
|
|
115
|
+
return {
|
|
116
|
+
kind: 'unavailable',
|
|
117
|
+
failure: 'daemon_start_failed',
|
|
118
|
+
message: `relayflowd could not be started: ${child.error.message}`,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
// §3 branch D.a: exit 3 means this child lost a benign race for the data
|
|
122
|
+
// dir's lock. The winner is coming up. Keep polling; do not respawn, and
|
|
123
|
+
// do not report failure.
|
|
124
|
+
if (child.exit !== undefined
|
|
125
|
+
&& child.exit.code !== null
|
|
126
|
+
&& child.exit.code !== 0
|
|
127
|
+
&& child.exit.code !== EXIT_ALREADY_SERVING) {
|
|
128
|
+
return {
|
|
129
|
+
kind: 'unavailable',
|
|
130
|
+
failure: 'daemon_start_failed',
|
|
131
|
+
message: `relayflowd exited ${child.exit.code} during startup.${logTail(logPath, deps)}`,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
const state = await checkDaemon(dataDir, deps);
|
|
135
|
+
if (state.kind === 'attached' || state.kind === 'incompatible')
|
|
136
|
+
return state;
|
|
137
|
+
if (deps.now() >= deadline) {
|
|
138
|
+
return {
|
|
139
|
+
kind: 'unavailable',
|
|
140
|
+
failure: 'daemon_start_timeout',
|
|
141
|
+
message: `relayflowd did not start serving "${socketPathFor(dataDir)}" within ${timeoutMs}ms.`
|
|
142
|
+
+ logTail(logPath, deps),
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
await deps.sleep(START_POLL_INTERVAL_MS);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
function logTail(logPath, deps) {
|
|
149
|
+
const tail = deps.readTail(logPath, LOG_TAIL_BYTES).trim();
|
|
150
|
+
return tail.length === 0 ? ` See "${logPath}".` : ` Last output in "${logPath}":\n${tail}`;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=daemon-lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-lifecycle.js","sourceRoot":"","sources":["../src/daemon-lifecycle.ts"],"names":[],"mappings":"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"}
|
package/dist/failure-kinds.d.ts
CHANGED
|
@@ -14,12 +14,29 @@ export declare const CHECK_FAILURE_KINDS: readonly ["config_invalid", "input_inv
|
|
|
14
14
|
* accepting every output must not be reported as if it constrained one.
|
|
15
15
|
*/
|
|
16
16
|
export declare const PREFLIGHT_WARNING_KINDS: readonly ["unprovable_effects", "command_unresolved", "command_unprovable", "vacuous_gate"];
|
|
17
|
-
/**
|
|
18
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Closed outcome taxonomy owned by the `flows run` / `flows resume` surface.
|
|
19
|
+
*
|
|
20
|
+
* The four daemon-lifecycle kinds after `daemon_unreachable` are the
|
|
21
|
+
* attach-or-spawn refusals from kernel/DAEMON-LIFECYCLE.md §3. They split what
|
|
22
|
+
* used to be one message: `daemon_unreachable` now means only "nothing is
|
|
23
|
+
* serving and this invocation was told not to start one" (`--no-spawn`), while
|
|
24
|
+
* a spawn that was attempted and did not produce a serving daemon names which
|
|
25
|
+
* step failed. All of them are still exit 2 — refused before a journal write.
|
|
26
|
+
*/
|
|
27
|
+
export declare const RUN_FAILURE_KINDS: readonly ["daemon_unreachable", "daemon_protocol_mismatch", "daemon_start_failed", "daemon_start_timeout", "relayflowd_not_found", "protocol_error", "run_parked", "run_unavailable"];
|
|
28
|
+
/**
|
|
29
|
+
* Non-refusing outcomes of the attach step. `connection_file_stale` is
|
|
30
|
+
* DAEMON-LIFECYCLE.md §2 row 2: the socket answered while `connection.json`
|
|
31
|
+
* described a process that is gone. The socket is the authority, so this
|
|
32
|
+
* attaches — but it says so rather than passing in silence.
|
|
33
|
+
*/
|
|
34
|
+
export declare const RUN_WARNING_KINDS: readonly ["connection_file_stale"];
|
|
19
35
|
export type PreflightFailureKind = (typeof PREFLIGHT_FAILURE_KINDS)[number];
|
|
20
36
|
export type CheckFailureKind = (typeof CHECK_FAILURE_KINDS)[number];
|
|
21
37
|
export type PreflightWarningKind = (typeof PREFLIGHT_WARNING_KINDS)[number];
|
|
22
38
|
export type RunFailureKind = (typeof RUN_FAILURE_KINDS)[number];
|
|
39
|
+
export type RunWarningKind = (typeof RUN_WARNING_KINDS)[number];
|
|
23
40
|
export declare function isCheckFailureKind(value: string): value is CheckFailureKind;
|
|
24
41
|
export declare function isRunFailureKind(value: string): value is RunFailureKind;
|
|
25
42
|
//# sourceMappingURL=failure-kinds.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure-kinds.d.ts","sourceRoot":"","sources":["../src/failure-kinds.ts"],"names":[],"mappings":"AAeA,qEAAqE;AACrE,eAAO,MAAM,uBAAuB,8LAG1B,CAAC;AAEX,+EAA+E;AAC/E,eAAO,MAAM,yBAAyB,4IAQ5B,CAAC;AAEX,eAAO,MAAM,mBAAmB,+SAGtB,CAAC;AAEX;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,6FAK1B,CAAC;AAEX,
|
|
1
|
+
{"version":3,"file":"failure-kinds.d.ts","sourceRoot":"","sources":["../src/failure-kinds.ts"],"names":[],"mappings":"AAeA,qEAAqE;AACrE,eAAO,MAAM,uBAAuB,8LAG1B,CAAC;AAEX,+EAA+E;AAC/E,eAAO,MAAM,yBAAyB,4IAQ5B,CAAC;AAEX,eAAO,MAAM,mBAAmB,+SAGtB,CAAC;AAEX;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,6FAK1B,CAAC;AAEX;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,uLASpB,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,oCAEpB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5E,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAKhE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,gBAAgB,CAE3E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,cAAc,CAEvE"}
|
package/dist/failure-kinds.js
CHANGED
|
@@ -46,13 +46,35 @@ export const PREFLIGHT_WARNING_KINDS = [
|
|
|
46
46
|
'command_unprovable',
|
|
47
47
|
'vacuous_gate',
|
|
48
48
|
];
|
|
49
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
* Closed outcome taxonomy owned by the `flows run` / `flows resume` surface.
|
|
51
|
+
*
|
|
52
|
+
* The four daemon-lifecycle kinds after `daemon_unreachable` are the
|
|
53
|
+
* attach-or-spawn refusals from kernel/DAEMON-LIFECYCLE.md §3. They split what
|
|
54
|
+
* used to be one message: `daemon_unreachable` now means only "nothing is
|
|
55
|
+
* serving and this invocation was told not to start one" (`--no-spawn`), while
|
|
56
|
+
* a spawn that was attempted and did not produce a serving daemon names which
|
|
57
|
+
* step failed. All of them are still exit 2 — refused before a journal write.
|
|
58
|
+
*/
|
|
50
59
|
export const RUN_FAILURE_KINDS = [
|
|
51
60
|
'daemon_unreachable',
|
|
61
|
+
'daemon_protocol_mismatch',
|
|
62
|
+
'daemon_start_failed',
|
|
63
|
+
'daemon_start_timeout',
|
|
64
|
+
'relayflowd_not_found',
|
|
52
65
|
'protocol_error',
|
|
53
66
|
'run_parked',
|
|
54
67
|
'run_unavailable',
|
|
55
68
|
];
|
|
69
|
+
/**
|
|
70
|
+
* Non-refusing outcomes of the attach step. `connection_file_stale` is
|
|
71
|
+
* DAEMON-LIFECYCLE.md §2 row 2: the socket answered while `connection.json`
|
|
72
|
+
* described a process that is gone. The socket is the authority, so this
|
|
73
|
+
* attaches — but it says so rather than passing in silence.
|
|
74
|
+
*/
|
|
75
|
+
export const RUN_WARNING_KINDS = [
|
|
76
|
+
'connection_file_stale',
|
|
77
|
+
];
|
|
56
78
|
const CHECK_FAILURE_KIND_SET = new Set(CHECK_FAILURE_KINDS);
|
|
57
79
|
const RUN_FAILURE_KIND_SET = new Set(RUN_FAILURE_KINDS);
|
|
58
80
|
export function isCheckFailureKind(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure-kinds.js","sourceRoot":"","sources":["../src/failure-kinds.ts"],"names":[],"mappings":"AAAA,MAAM,yBAAyB,GAAG,CAAC,cAAc,CAAU,CAAC;AAE5D,yEAAyE;AACzE,MAAM,mCAAmC,GAAG;IAC1C,aAAa;IACb,qBAAqB;IACrB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,eAAe;IACf,aAAa;IACb,cAAc;CACN,CAAC;AAEX,qEAAqE;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,GAAG,yBAAyB;IAC5B,GAAG,mCAAmC;CAC9B,CAAC;AAEX,+EAA+E;AAC/E,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,kBAAkB;IAClB,oBAAoB;IACpB,GAAG,yBAAyB;CACpB,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,GAAG,yBAAyB;IAC5B,GAAG,mCAAmC;CAC9B,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,cAAc;CACN,CAAC;AAEX
|
|
1
|
+
{"version":3,"file":"failure-kinds.js","sourceRoot":"","sources":["../src/failure-kinds.ts"],"names":[],"mappings":"AAAA,MAAM,yBAAyB,GAAG,CAAC,cAAc,CAAU,CAAC;AAE5D,yEAAyE;AACzE,MAAM,mCAAmC,GAAG;IAC1C,aAAa;IACb,qBAAqB;IACrB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,eAAe;IACf,aAAa;IACb,cAAc;CACN,CAAC;AAEX,qEAAqE;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,GAAG,yBAAyB;IAC5B,GAAG,mCAAmC;CAC9B,CAAC;AAEX,+EAA+E;AAC/E,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,kBAAkB;IAClB,oBAAoB;IACpB,GAAG,yBAAyB;CACpB,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,GAAG,yBAAyB;IAC5B,GAAG,mCAAmC;CAC9B,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,cAAc;CACN,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,oBAAoB;IACpB,0BAA0B;IAC1B,qBAAqB;IACrB,sBAAsB;IACtB,sBAAsB;IACtB,gBAAgB;IAChB,YAAY;IACZ,iBAAiB;CACT,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,uBAAuB;CACf,CAAC;AAQX,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACjF,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAE7E,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { AgentStepSpec, AgentSurfaces, BaseStepSpec, BudgetSpec, DeterministicStepSpec, ExitCodeGate, FlowSpec, JsonSchemaGate, JsonOutputSchema, KernelAgentStep, KernelAgentSurfaces, KernelBudgetSpec, KernelDeterministicStep, KernelLlmStep, KernelPermissionsSpec, KernelRetryPolicy, KernelRunSpec, KernelStepCommon, KernelStepSpec, KernelTriggerSpec, KernelVerificationSpec, LlmStepSpec, NamedAgentSpec, OutputContainsGate, OutputVerificationSpec, PermissionsSpec, RecoveryMode, StreamSurface, StepSpec, StepType, TriggerSpec, VerificationGateType, VerificationSpec, WorkspaceSurface, } from './spec.js';
|
|
1
|
+
export type { AgentStepSpec, AgentSurfaces, BaseStepSpec, BudgetSpec, MemorySpec, KernelMemorySpec, DeterministicStepSpec, ExitCodeGate, FlowSpec, JsonSchemaGate, JsonOutputSchema, KernelAgentStep, KernelAgentSurfaces, KernelBudgetSpec, KernelDeterministicStep, KernelLlmStep, KernelPermissionsSpec, KernelRetryPolicy, KernelRunSpec, KernelStepCommon, KernelStepSpec, KernelTriggerSpec, KernelVerificationSpec, LlmStepSpec, NamedAgentSpec, OutputContainsGate, OutputVerificationSpec, PermissionsSpec, RecoveryMode, StreamSurface, StepSpec, StepType, PlacementRequirements, KernelPlacementRequirements, TriggerSpec, VerificationGateType, VerificationSpec, WorkspaceSurface, } from './spec.js';
|
|
2
2
|
export { SPEC_SCHEMA_VERSION } from './spec.js';
|
|
3
3
|
export { canonicalize, specHash } from './canonical.js';
|
|
4
4
|
export { compileAndHash, compileSpec, compileYaml, compileYamlToCanonicalJson, kernelToAuthoring, toKernelSpec, CompileError, } from './compile.js';
|
|
@@ -8,7 +8,7 @@ export { preflight, type CliResolution, type CliResolutionSource, type CliProbeR
|
|
|
8
8
|
export { type DataGateClassification, type JournalGateCheck, type StepGateInspection, } from './gate-contract.js';
|
|
9
9
|
export { CHECK_FAILURE_KINDS, CHECK_INPUT_FAILURE_KINDS, PREFLIGHT_FAILURE_KINDS, PREFLIGHT_WARNING_KINDS, isCheckFailureKind, type CheckFailureKind, type PreflightFailureKind, type PreflightWarningKind, } from './failure-kinds.js';
|
|
10
10
|
export { runCli, type CheckInputDiagnostic, type CheckReport, type CliIo } from './cli.js';
|
|
11
|
-
export type { CompletionReason, EffectRecordParams, EffectRecordResult, EffectRef, EventEmitParams, EventEmitResult, HelloParams, HelloResult, JournalReadParams, JournalReadResult, ProtocolError, Pins, Request, Response, RunGetParams, RunGetResult, RunOutcome, RunCompletionReason, RunCancelParams, RunCancelResult, RunResumeParams, RunResumeResult, RunStatus, RunWatchParams, RunWatchResult, ServerEvent, StepCompleteParams, StepCompleteResult, StepDispatchEvent, StepHeartbeatParams, StepHeartbeatResult, StreamAppendParams, StreamAppendResult, StreamReadParams, StreamReadResult, Verb, VerbContract, WorkerAttachParams, WorkerAttachResult, } from './protocol.js';
|
|
11
|
+
export type { CompletionReason, EffectRecordParams, EffectRecordResult, EffectRef, EventEmitParams, EventEmitResult, HelloParams, HelloResult, JournalReadParams, JournalReadResult, ProtocolError, Pins, Request, Response, RunGetParams, RunGetResult, RunOutcome, RunCompletionReason, RunCancelParams, RunCancelResult, RunResumeParams, RunResumeResult, RunStatus, RunWatchParams, RunWatchResult, ServerEvent, StepCompleteParams, StepCompleteResult, StepDispatchEvent, RoutingDecision, MemoryInjectedPayload, StepHeartbeatParams, StepHeartbeatResult, StreamAppendParams, StreamAppendResult, StreamReadParams, StreamReadResult, Verb, VerbContract, WorkerAttachParams, WorkerAttachResult, } from './protocol.js';
|
|
12
12
|
export { JOURNAL_WRITE_FAILED, PROTOCOL_VERSION } from './protocol.js';
|
|
13
13
|
export { JournalClient, type JournalClientOptions } from './journal-client.js';
|
|
14
14
|
export { AgentWorker, type AgentWorkerOptions } from './worker.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,yEAAyE;AACzE,yBAAyB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,yEAAyE;AACzE,yBAAyB;AA0CzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,cAAc,EACd,WAAW,EACX,WAAW,EACX,0BAA0B,EAC1B,iBAAiB,EACjB,YAAY,EACZ,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAyB,MAAM,eAAe,CAAC;AAEpE,OAAO,EACL,yBAAyB,GAG1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,SAAS,GAUV,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,GAInB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,EAA2D,MAAM,UAAU,CAAC;AA6C3F,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,aAAa,EAA6B,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAA2B,MAAM,aAAa,CAAC;AAEnE,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GAIjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,GAInB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,uBAAuB,GAIxB,MAAM,6BAA6B,CAAC;AAErC,iFAAiF;AACjF,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,GAInB,MAAM,gBAAgB,CAAC;AAExB,uEAAuE;AACvE,yEAAyE;AACzE,4EAA4E;AAC5E,2BAA2B;AAC3B,OAAO,EACL,iBAAiB,GAGlB,MAAM,yBAAyB,CAAC;AAEjC,2EAA2E;AAC3E,6EAA6E;AAC7E,oEAAoE;AACpE,gCAAgC;AAChC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,OAAO,EACP,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,GAMhB,MAAM,kBAAkB,CAAC"}
|
package/dist/journal-client.d.ts
CHANGED
|
@@ -5,6 +5,17 @@ import type { KernelRunSpec, StepType } from './spec.js';
|
|
|
5
5
|
export interface JournalClientOptions {
|
|
6
6
|
/** Override the timeout for bounded protocol requests (ms). Default 30000. */
|
|
7
7
|
requestTimeoutMs?: number;
|
|
8
|
+
/**
|
|
9
|
+
* Bound on `connect()` (ms). Default 2000.
|
|
10
|
+
*
|
|
11
|
+
* `connect()` used to have no timer at all, which was survivable while the
|
|
12
|
+
* only caller was a command that had already decided a daemon was there.
|
|
13
|
+
* `daemon-lifecycle.ts` probes the socket before every command, and a
|
|
14
|
+
* listener that accepts but never answers would otherwise hold the CLI for
|
|
15
|
+
* the 30s request default before it could decide to spawn
|
|
16
|
+
* (kernel/DAEMON-LIFECYCLE.md §4).
|
|
17
|
+
*/
|
|
18
|
+
connectTimeoutMs?: number;
|
|
8
19
|
}
|
|
9
20
|
/** A structured rejection returned by relayflowd over the journal protocol. */
|
|
10
21
|
export declare class JournalProtocolError extends Error {
|
|
@@ -17,6 +28,7 @@ export declare class JournalClient extends EventEmitter {
|
|
|
17
28
|
private buffer;
|
|
18
29
|
private readonly pending;
|
|
19
30
|
private readonly requestTimeoutMs;
|
|
31
|
+
private readonly connectTimeoutMs;
|
|
20
32
|
constructor(socketPath: string, options?: JournalClientOptions);
|
|
21
33
|
/** Open the unix socket connection. Rejects on connect failure (fail-closed). */
|
|
22
34
|
connect(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-client.d.ts","sourceRoot":"","sources":["../src/journal-client.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,IAAI,EAIV,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAQD,+EAA+E;AAC/E,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK1C;AAED,qBAAa,aAAc,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"journal-client.d.ts","sourceRoot":"","sources":["../src/journal-client.ts"],"names":[],"mappings":"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"}
|
package/dist/journal-client.js
CHANGED
|
@@ -27,10 +27,12 @@ export class JournalClient extends EventEmitter {
|
|
|
27
27
|
buffer = '';
|
|
28
28
|
pending = new Map();
|
|
29
29
|
requestTimeoutMs;
|
|
30
|
+
connectTimeoutMs;
|
|
30
31
|
constructor(socketPath, options = {}) {
|
|
31
32
|
super();
|
|
32
33
|
this.socketPath = socketPath;
|
|
33
34
|
this.requestTimeoutMs = options.requestTimeoutMs ?? 30_000;
|
|
35
|
+
this.connectTimeoutMs = options.connectTimeoutMs ?? 2_000;
|
|
34
36
|
}
|
|
35
37
|
/** Open the unix socket connection. Rejects on connect failure (fail-closed). */
|
|
36
38
|
connect() {
|
|
@@ -38,13 +40,21 @@ export class JournalClient extends EventEmitter {
|
|
|
38
40
|
if (this.socket)
|
|
39
41
|
return resolve();
|
|
40
42
|
const socket = createConnection({ path: this.socketPath });
|
|
43
|
+
const timer = setTimeout(() => {
|
|
44
|
+
socket.removeAllListeners();
|
|
45
|
+
socket.destroy();
|
|
46
|
+
this.failAll(new Error(`journal client: connect timed out after ${this.connectTimeoutMs}ms`));
|
|
47
|
+
reject(new Error(`journal client: connect timed out after ${this.connectTimeoutMs}ms`));
|
|
48
|
+
}, this.connectTimeoutMs);
|
|
41
49
|
const onError = (err) => {
|
|
50
|
+
clearTimeout(timer);
|
|
42
51
|
socket.removeAllListeners();
|
|
43
52
|
this.failAll(err);
|
|
44
53
|
reject(new Error(`journal client: connect failed: ${err.message}`));
|
|
45
54
|
};
|
|
46
55
|
socket.once('error', onError);
|
|
47
56
|
socket.once('connect', () => {
|
|
57
|
+
clearTimeout(timer);
|
|
48
58
|
socket.removeListener('error', onError);
|
|
49
59
|
socket.on('error', (err) => this.failAll(err));
|
|
50
60
|
socket.on('data', (chunk) => this.onData(chunk));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-client.js","sourceRoot":"","sources":["../src/journal-client.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,EAAE;AACF,6EAA6E;AAC7E,oEAAoE;AACpE,6EAA6E;AAC7E,4EAA4E;AAC5E,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,4BAA4B;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAe,MAAM,UAAU,CAAC;AAEzD,OAAO,EACL,gBAAgB,GAOjB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"journal-client.js","sourceRoot":"","sources":["../src/journal-client.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { KernelRunSpec, StepType } from './spec.js';
|
|
1
|
+
import type { KernelRunSpec, KernelMemorySpec, StepType } from './spec.js';
|
|
2
2
|
/** Stamped per segment; readers read every past version, writers write newest. */
|
|
3
3
|
export declare const PROTOCOL_VERSION: 0;
|
|
4
4
|
/** A journal append that fails fails the step (AGENTS.md rule 4). */
|
|
@@ -122,7 +122,27 @@ export interface WakeContext {
|
|
|
122
122
|
[additionalKernelFields: string]: unknown;
|
|
123
123
|
}
|
|
124
124
|
/** Server then pushes `step.dispatch` events to the attached worker. */
|
|
125
|
+
export interface MemoryInjectedPayload {
|
|
126
|
+
request: KernelMemorySpec;
|
|
127
|
+
pack: unknown;
|
|
128
|
+
budget: {
|
|
129
|
+
tokens_in: number;
|
|
130
|
+
tokens_out: number;
|
|
131
|
+
dollars: string;
|
|
132
|
+
};
|
|
133
|
+
provider: string;
|
|
134
|
+
}
|
|
135
|
+
export interface RoutingDecision {
|
|
136
|
+
profile: string;
|
|
137
|
+
provider: string;
|
|
138
|
+
fallbacks_attempted: string[];
|
|
139
|
+
workspace?: string;
|
|
140
|
+
}
|
|
125
141
|
export interface StepDispatchEvent {
|
|
142
|
+
/** Durable choice; optional only for older kernel protocol compatibility. */
|
|
143
|
+
routing?: RoutingDecision;
|
|
144
|
+
/** Already journaled and charged; completion usage excludes this cost. */
|
|
145
|
+
memory?: MemoryInjectedPayload;
|
|
126
146
|
run_id: string;
|
|
127
147
|
step_id: string;
|
|
128
148
|
attempt: number;
|
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** Refusal from {@link resolveRelayflowdBinary}; carries every anchor tried. */
|
|
2
|
+
export declare class RelayflowdNotFoundError extends Error {
|
|
3
|
+
readonly attempts: readonly string[];
|
|
4
|
+
constructor(message: string, attempts: readonly string[]);
|
|
5
|
+
}
|
|
6
|
+
/** Injectable seams. Unit tests reach no real filesystem and spawn nothing. */
|
|
7
|
+
export interface RelayflowdPathDeps {
|
|
8
|
+
env: NodeJS.ProcessEnv;
|
|
9
|
+
/** `process.argv[1]` — the running `flows` entrypoint, possibly a symlink. */
|
|
10
|
+
entrypoint: string | undefined;
|
|
11
|
+
cwd: string;
|
|
12
|
+
/** This module's own directory, the third `createRequire` anchor. */
|
|
13
|
+
moduleDir: string;
|
|
14
|
+
platform: string;
|
|
15
|
+
arch: string;
|
|
16
|
+
isExecutable(path: string): boolean;
|
|
17
|
+
exists(path: string): boolean;
|
|
18
|
+
realpath(path: string): string;
|
|
19
|
+
/** `require.resolve(specifier)` from `anchor`, or null when unresolvable. */
|
|
20
|
+
resolveFrom(specifier: string, anchor: string): string | null;
|
|
21
|
+
/** `which`/`where` lookup, or null. */
|
|
22
|
+
which(command: string): string | null;
|
|
23
|
+
}
|
|
24
|
+
export declare const defaultRelayflowdPathDeps: RelayflowdPathDeps;
|
|
25
|
+
/**
|
|
26
|
+
* The published runtime package for this host, e.g.
|
|
27
|
+
* `@relayflows/runtime-linux-x64` (see packages/runtime-linux-x64).
|
|
28
|
+
*/
|
|
29
|
+
export declare function runtimePackageName(platform: string, arch: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Locate `relayflowd`, or refuse.
|
|
32
|
+
*
|
|
33
|
+
* Order is §3.1's, and the first anchor is a hard stop rather than a
|
|
34
|
+
* preference: an operator who exported `RELAYFLOWD_BIN` meant it, so a value
|
|
35
|
+
* that is not executable refuses instead of quietly falling through to PATH.
|
|
36
|
+
* Silent fallback is what AGENTS.md rule 4 forbids.
|
|
37
|
+
*/
|
|
38
|
+
export declare function resolveRelayflowdBinary(deps?: RelayflowdPathDeps): string;
|
|
39
|
+
//# sourceMappingURL=relayflowd-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relayflowd-path.d.ts","sourceRoot":"","sources":["../src/relayflowd-path.ts"],"names":[],"mappings":"AAiBA,gFAAgF;AAChF,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;gBAEzB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE;CAKzD;AAED,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,8EAA8E;IAC9E,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,6EAA6E;IAC7E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9D,uCAAuC;IACvC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACvC;AAED,eAAO,MAAM,yBAAyB,EAAE,kBAqCvC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,GAAE,kBAA8C,GACnD,MAAM,CAgCR"}
|