@nidl/client 0.0.0-stage → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +43 -0
- package/LICENSE-APACHE +202 -0
- package/LICENSE-MIT +21 -0
- package/README.md +156 -2
- package/dist/commands.generated.d.ts +3 -0
- package/dist/commands.generated.d.ts.map +1 -0
- package/dist/commands.generated.js +73 -0
- package/dist/commands.generated.js.map +1 -0
- package/dist/index.d.ts +136 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +817 -0
- package/dist/index.js.map +1 -0
- package/dist/json.d.ts +8 -0
- package/dist/json.d.ts.map +1 -0
- package/dist/json.js +167 -0
- package/dist/json.js.map +1 -0
- package/dist/task.d.ts +39 -0
- package/dist/task.d.ts.map +1 -0
- package/dist/task.js +265 -0
- package/dist/task.js.map +1 -0
- package/package.json +37 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/json.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare class StrictJsonError extends Error {
|
|
2
|
+
}
|
|
3
|
+
export interface StrictOptions {
|
|
4
|
+
/** Refuse any number written with a fraction or an exponent (the core's record has none). */
|
|
5
|
+
integersOnly?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function parseStrict(text: string, options?: StrictOptions): unknown;
|
|
8
|
+
//# sourceMappingURL=json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAIA,qBAAa,eAAgB,SAAQ,KAAK;CAAG;AAE7C,MAAM,WAAW,aAAa;IAC5B,6FAA6F;IAC7F,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAS9E"}
|
package/dist/json.js
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
// A strict JSON parser: the core refuses a line with duplicate keys, and so does this client, for
|
|
2
|
+
// the record it trusts and every reply it reads. JSON.parse keeps the last of two equal keys, which
|
|
3
|
+
// would let a second value hide behind the first.
|
|
4
|
+
export class StrictJsonError extends Error {
|
|
5
|
+
}
|
|
6
|
+
export function parseStrict(text, options = {}) {
|
|
7
|
+
const parser = new Parser(text, options.integersOnly ?? false);
|
|
8
|
+
parser.space();
|
|
9
|
+
const value = parser.value(0);
|
|
10
|
+
parser.space();
|
|
11
|
+
if (parser.position !== text.length) {
|
|
12
|
+
throw new StrictJsonError("unexpected text after the value");
|
|
13
|
+
}
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
const MAX_DEPTH = 128;
|
|
17
|
+
class Parser {
|
|
18
|
+
text;
|
|
19
|
+
integersOnly;
|
|
20
|
+
position = 0;
|
|
21
|
+
constructor(text, integersOnly) {
|
|
22
|
+
this.text = text;
|
|
23
|
+
this.integersOnly = integersOnly;
|
|
24
|
+
}
|
|
25
|
+
space() {
|
|
26
|
+
while (this.position < this.text.length) {
|
|
27
|
+
const char = this.text[this.position];
|
|
28
|
+
if (char === " " || char === "\t" || char === "\n" || char === "\r") {
|
|
29
|
+
this.position += 1;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
value(depth) {
|
|
37
|
+
if (depth > MAX_DEPTH) {
|
|
38
|
+
throw new StrictJsonError("nested too deeply");
|
|
39
|
+
}
|
|
40
|
+
const char = this.text[this.position];
|
|
41
|
+
if (char === "{")
|
|
42
|
+
return this.object(depth);
|
|
43
|
+
if (char === "[")
|
|
44
|
+
return this.array(depth);
|
|
45
|
+
if (char === '"')
|
|
46
|
+
return this.string();
|
|
47
|
+
if (char === "t")
|
|
48
|
+
return this.literal("true", true);
|
|
49
|
+
if (char === "f")
|
|
50
|
+
return this.literal("false", false);
|
|
51
|
+
if (char === "n")
|
|
52
|
+
return this.literal("null", null);
|
|
53
|
+
return this.number();
|
|
54
|
+
}
|
|
55
|
+
object(depth) {
|
|
56
|
+
this.position += 1;
|
|
57
|
+
const result = {};
|
|
58
|
+
const seen = new Set();
|
|
59
|
+
this.space();
|
|
60
|
+
if (this.text[this.position] === "}") {
|
|
61
|
+
this.position += 1;
|
|
62
|
+
return result;
|
|
63
|
+
}
|
|
64
|
+
for (;;) {
|
|
65
|
+
this.space();
|
|
66
|
+
if (this.text[this.position] !== '"') {
|
|
67
|
+
throw new StrictJsonError("expected a key");
|
|
68
|
+
}
|
|
69
|
+
const key = this.string();
|
|
70
|
+
if (seen.has(key)) {
|
|
71
|
+
throw new StrictJsonError(`duplicate key ${JSON.stringify(key)}`);
|
|
72
|
+
}
|
|
73
|
+
seen.add(key);
|
|
74
|
+
this.space();
|
|
75
|
+
this.expect(":");
|
|
76
|
+
this.space();
|
|
77
|
+
// Defined, not assigned, so a key named __proto__ is an ordinary field.
|
|
78
|
+
Object.defineProperty(result, key, {
|
|
79
|
+
value: this.value(depth + 1),
|
|
80
|
+
enumerable: true,
|
|
81
|
+
writable: true,
|
|
82
|
+
configurable: true,
|
|
83
|
+
});
|
|
84
|
+
this.space();
|
|
85
|
+
const next = this.text[this.position];
|
|
86
|
+
this.position += 1;
|
|
87
|
+
if (next === "}")
|
|
88
|
+
return result;
|
|
89
|
+
if (next !== ",")
|
|
90
|
+
throw new StrictJsonError("expected , or }");
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
array(depth) {
|
|
94
|
+
this.position += 1;
|
|
95
|
+
const result = [];
|
|
96
|
+
this.space();
|
|
97
|
+
if (this.text[this.position] === "]") {
|
|
98
|
+
this.position += 1;
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
101
|
+
for (;;) {
|
|
102
|
+
this.space();
|
|
103
|
+
result.push(this.value(depth + 1));
|
|
104
|
+
this.space();
|
|
105
|
+
const next = this.text[this.position];
|
|
106
|
+
this.position += 1;
|
|
107
|
+
if (next === "]")
|
|
108
|
+
return result;
|
|
109
|
+
if (next !== ",")
|
|
110
|
+
throw new StrictJsonError("expected , or ]");
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
string() {
|
|
114
|
+
// Find the closing quote, skipping escapes, then let JSON.parse decode exactly that string.
|
|
115
|
+
const start = this.position;
|
|
116
|
+
this.position += 1;
|
|
117
|
+
while (this.position < this.text.length) {
|
|
118
|
+
const char = this.text[this.position];
|
|
119
|
+
if (char === "\\") {
|
|
120
|
+
this.position += 2;
|
|
121
|
+
}
|
|
122
|
+
else if (char === '"') {
|
|
123
|
+
this.position += 1;
|
|
124
|
+
try {
|
|
125
|
+
return JSON.parse(this.text.slice(start, this.position));
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
throw new StrictJsonError("invalid string");
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
this.position += 1;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
throw new StrictJsonError("unterminated string");
|
|
136
|
+
}
|
|
137
|
+
literal(word, value) {
|
|
138
|
+
if (this.text.startsWith(word, this.position)) {
|
|
139
|
+
this.position += word.length;
|
|
140
|
+
return value;
|
|
141
|
+
}
|
|
142
|
+
throw new StrictJsonError("invalid literal");
|
|
143
|
+
}
|
|
144
|
+
number() {
|
|
145
|
+
const match = /^-?(0|[1-9]\d*)(\.\d+)?([eE][+-]?\d+)?/.exec(this.text.slice(this.position));
|
|
146
|
+
if (!match) {
|
|
147
|
+
throw new StrictJsonError("invalid value");
|
|
148
|
+
}
|
|
149
|
+
if (this.integersOnly && (match[2] !== undefined || match[3] !== undefined)) {
|
|
150
|
+
throw new StrictJsonError("a number with a fraction or an exponent");
|
|
151
|
+
}
|
|
152
|
+
this.position += match[0].length;
|
|
153
|
+
const value = Number(match[0]);
|
|
154
|
+
// CLb s.10 item 7: `1e999` is no number a double holds; Rust's reader refuses it too.
|
|
155
|
+
if (!Number.isFinite(value)) {
|
|
156
|
+
throw new StrictJsonError("a number too large");
|
|
157
|
+
}
|
|
158
|
+
return value;
|
|
159
|
+
}
|
|
160
|
+
expect(char) {
|
|
161
|
+
if (this.text[this.position] !== char) {
|
|
162
|
+
throw new StrictJsonError(`expected ${char}`);
|
|
163
|
+
}
|
|
164
|
+
this.position += 1;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=json.js.map
|
package/dist/json.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"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"}
|
package/dist/task.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** The two Trigger secrets `nidl task-vault export` wrote: the sealed vault, and its key. */
|
|
2
|
+
export declare const TASK_VAULT_VARIABLE = "NIDL_TASK_VAULT";
|
|
3
|
+
export declare const TASK_VAULT_KEY_VARIABLE = "NIDL_TASK_VAULT_KEY";
|
|
4
|
+
export interface TaskCoreOptions {
|
|
5
|
+
/** The sealed task vault; by default `NIDL_TASK_VAULT`, which is then removed from the environment. */
|
|
6
|
+
vault?: string;
|
|
7
|
+
/** Its key; by default `NIDL_TASK_VAULT_KEY`, which is then removed from the environment. */
|
|
8
|
+
key?: string;
|
|
9
|
+
/** The `nidl-core` to run; by default the one `@nidl/cli` carries for this platform. */
|
|
10
|
+
executable?: string;
|
|
11
|
+
/** How long the core may take to start and unlock, in milliseconds. 60 seconds by default. */
|
|
12
|
+
timeoutMs?: number;
|
|
13
|
+
/**
|
|
14
|
+
* The folder the core's own folder is made in. By default the temporary folder, or the home
|
|
15
|
+
* folder when someone else may write to a folder above the temporary one, as they may to `/tmp`.
|
|
16
|
+
* It and every folder above it must be yours or the system's, writable by no one else.
|
|
17
|
+
*/
|
|
18
|
+
directory?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface TaskCore {
|
|
21
|
+
/** The task vault's target, for the harness: `ANTHROPIC_BASE_URL`, or an OpenAI base URL. */
|
|
22
|
+
baseUrl: string;
|
|
23
|
+
/** The target's app token, for the harness's API key. */
|
|
24
|
+
appToken: string;
|
|
25
|
+
targetId: string;
|
|
26
|
+
/** Stop the core, and remove its folder once it has stopped. It also stops when this process ends. */
|
|
27
|
+
stop(): void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The task's core, started once per process: a warm worker reuses it. Reads the two secrets and
|
|
31
|
+
* removes them from `process.env` before anything else runs, writes them to private files in a
|
|
32
|
+
* private folder, opens the task vault there, serves it with `--stop-with-parent`, unlocks it with
|
|
33
|
+
* its key file, and answers the target's base URL and app token. A start that fails removes what
|
|
34
|
+
* it wrote and can be tried again.
|
|
35
|
+
*/
|
|
36
|
+
export declare function startTaskCore(options?: TaskCoreOptions): Promise<TaskCore>;
|
|
37
|
+
/** `startTaskCore`, starting a new core every time it is called. */
|
|
38
|
+
export declare function openTaskCore(options?: TaskCoreOptions): Promise<TaskCore>;
|
|
39
|
+
//# sourceMappingURL=task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"AASA,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AACrD,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,uGAAuG;IACvG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6FAA6F;IAC7F,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8FAA8F;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,6FAA6F;IAC7F,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,IAAI,IAAI,IAAI,CAAC;CACd;AAOD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAM9E;AAED,oEAAoE;AACpE,wBAAsB,YAAY,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAkEnF"}
|
package/dist/task.js
ADDED
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
// TQ3 (docs/specs/nidl-task-vaults.md D7): a Trigger.dev task's own nidl core, started from the task
|
|
2
|
+
// vault its two secrets carry. On Linux only, where the core opens a task vault with its key file.
|
|
3
|
+
import { spawn } from "node:child_process";
|
|
4
|
+
import { chmod, lstat, mkdir, mkdtemp, realpath, rm, writeFile } from "node:fs/promises";
|
|
5
|
+
import { homedir, tmpdir } from "node:os";
|
|
6
|
+
import { dirname, join } from "node:path";
|
|
7
|
+
import { NidlError } from "./index.js";
|
|
8
|
+
/** The two Trigger secrets `nidl task-vault export` wrote: the sealed vault, and its key. */
|
|
9
|
+
export const TASK_VAULT_VARIABLE = "NIDL_TASK_VAULT";
|
|
10
|
+
export const TASK_VAULT_KEY_VARIABLE = "NIDL_TASK_VAULT_KEY";
|
|
11
|
+
let started;
|
|
12
|
+
/** The secrets, once out of the environment, kept here until a core starts, so a failed start can be tried again. */
|
|
13
|
+
let taken = {};
|
|
14
|
+
/**
|
|
15
|
+
* The task's core, started once per process: a warm worker reuses it. Reads the two secrets and
|
|
16
|
+
* removes them from `process.env` before anything else runs, writes them to private files in a
|
|
17
|
+
* private folder, opens the task vault there, serves it with `--stop-with-parent`, unlocks it with
|
|
18
|
+
* its key file, and answers the target's base URL and app token. A start that fails removes what
|
|
19
|
+
* it wrote and can be tried again.
|
|
20
|
+
*/
|
|
21
|
+
export function startTaskCore(options = {}) {
|
|
22
|
+
started ??= openTaskCore(options).catch((error) => {
|
|
23
|
+
started = undefined;
|
|
24
|
+
throw error;
|
|
25
|
+
});
|
|
26
|
+
return started;
|
|
27
|
+
}
|
|
28
|
+
/** `startTaskCore`, starting a new core every time it is called. */
|
|
29
|
+
export async function openTaskCore(options = {}) {
|
|
30
|
+
// The secrets leave the environment first, whatever happens next, so no child sees them.
|
|
31
|
+
const fromEnvironment = {
|
|
32
|
+
vault: process.env[TASK_VAULT_VARIABLE],
|
|
33
|
+
key: process.env[TASK_VAULT_KEY_VARIABLE],
|
|
34
|
+
};
|
|
35
|
+
delete process.env[TASK_VAULT_VARIABLE];
|
|
36
|
+
delete process.env[TASK_VAULT_KEY_VARIABLE];
|
|
37
|
+
if (fromEnvironment.vault)
|
|
38
|
+
taken.vault = fromEnvironment.vault;
|
|
39
|
+
if (fromEnvironment.key)
|
|
40
|
+
taken.key = fromEnvironment.key;
|
|
41
|
+
const vault = options.vault ?? taken.vault;
|
|
42
|
+
const key = (options.key ?? taken.key)?.trim();
|
|
43
|
+
if (!vault || !key) {
|
|
44
|
+
throw new NidlError("not_configured", `Set ${TASK_VAULT_VARIABLE} and ${TASK_VAULT_KEY_VARIABLE}, the two secrets \`nidl task-vault export\` wrote.`);
|
|
45
|
+
}
|
|
46
|
+
const deadline = Date.now() + (options.timeoutMs ?? 60_000);
|
|
47
|
+
const executable = options.executable ?? (await packagedCore());
|
|
48
|
+
const root = await privateRoot(options.directory);
|
|
49
|
+
const vaultFile = join(root, "task.vault");
|
|
50
|
+
const keyFile = join(root, "task.key");
|
|
51
|
+
const dataDir = join(root, "data");
|
|
52
|
+
const env = { ...process.env, NIDL_VAULT_KEY_FILE: keyFile };
|
|
53
|
+
let serving;
|
|
54
|
+
try {
|
|
55
|
+
await chmod(root, 0o700);
|
|
56
|
+
await writeFile(vaultFile, `${vault.trim()}\n`, { mode: 0o600, flag: "wx" });
|
|
57
|
+
await writeFile(keyFile, `${key}\n`, { mode: 0o600, flag: "wx" });
|
|
58
|
+
await mkdir(dataDir, { mode: 0o700 });
|
|
59
|
+
await chmod(dataDir, 0o700);
|
|
60
|
+
const opened = await reply(executable, ["task-vault", "open", "--vault", vaultFile, "--key", keyFile, "--data-dir", dataDir, "--json"], env, deadline);
|
|
61
|
+
// The sealed vault is not needed once opened; the key file is, for the serving core.
|
|
62
|
+
await rm(vaultFile, { force: true });
|
|
63
|
+
const targetId = String(opened.targetId);
|
|
64
|
+
const appToken = String(opened.appToken);
|
|
65
|
+
serving = await serve(executable, dataDir, env, deadline);
|
|
66
|
+
serving.once("exit", () => void removeFolder(root));
|
|
67
|
+
const unlock = await command(executable, dataDir, env, deadline, "credentials.unlock", {});
|
|
68
|
+
await finished(executable, dataDir, env, deadline, String(unlock.operationId));
|
|
69
|
+
const status = await command(executable, dataDir, env, deadline, "routing.status", {});
|
|
70
|
+
if (typeof status.port !== "number") {
|
|
71
|
+
throw new NidlError("unavailable", "The task core's gateway is not listening.");
|
|
72
|
+
}
|
|
73
|
+
taken = {};
|
|
74
|
+
const core = serving;
|
|
75
|
+
return {
|
|
76
|
+
baseUrl: `http://127.0.0.1:${status.port}/h/${targetId}`,
|
|
77
|
+
appToken,
|
|
78
|
+
targetId,
|
|
79
|
+
stop: () => {
|
|
80
|
+
core.kill("SIGTERM");
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
await stopped(serving);
|
|
86
|
+
await removeFolder(root);
|
|
87
|
+
throw error;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The core's folder, made in `directory`, or else in the temporary folder or the home folder, the
|
|
92
|
+
* first the core accepts and this user may write to. The core refuses a folder above which someone
|
|
93
|
+
* else may write.
|
|
94
|
+
*/
|
|
95
|
+
async function privateRoot(directory) {
|
|
96
|
+
for (const candidate of directory === undefined ? [tmpdir(), homedir()] : [directory]) {
|
|
97
|
+
const accepted = await privateAbove(candidate);
|
|
98
|
+
if (!accepted)
|
|
99
|
+
continue;
|
|
100
|
+
try {
|
|
101
|
+
return await mkdtemp(join(accepted, ".nidl-task-"));
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
// Not this user's to write to; the next, or reported below.
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
throw new NidlError(directory === undefined ? "unavailable" : "invalid_input", directory === undefined
|
|
108
|
+
? "Neither the temporary folder nor the home folder can hold the task core: each must be one you may write to, and it and every folder above it yours or the system's, writable by no one else. Pass `directory`, or set TMPDIR to such a folder."
|
|
109
|
+
: "`directory` must be a folder you may write to, and it and every folder above it yours or the system's, writable by no one else.");
|
|
110
|
+
}
|
|
111
|
+
/** `folder`, resolved, when it and every folder above it are this user's or the system's and no one else may write to them. */
|
|
112
|
+
async function privateAbove(folder) {
|
|
113
|
+
const user = process.geteuid?.();
|
|
114
|
+
let resolved;
|
|
115
|
+
try {
|
|
116
|
+
resolved = await realpath(folder);
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
return undefined;
|
|
120
|
+
}
|
|
121
|
+
for (let current = resolved;; current = dirname(current)) {
|
|
122
|
+
let stats;
|
|
123
|
+
try {
|
|
124
|
+
stats = await lstat(current);
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
return undefined;
|
|
128
|
+
}
|
|
129
|
+
if (!stats.isDirectory() || (stats.uid !== user && stats.uid !== 0) || (stats.mode & 0o022) !== 0) {
|
|
130
|
+
return undefined;
|
|
131
|
+
}
|
|
132
|
+
if (dirname(current) === current)
|
|
133
|
+
return resolved;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
async function removeFolder(root) {
|
|
137
|
+
await rm(root, { recursive: true, force: true, maxRetries: 3 }).catch(() => undefined);
|
|
138
|
+
}
|
|
139
|
+
/** `child` stopped and gone: SIGTERM, then SIGKILL after five seconds. */
|
|
140
|
+
async function stopped(child) {
|
|
141
|
+
if (!child || child.exitCode !== null || child.signalCode !== null)
|
|
142
|
+
return;
|
|
143
|
+
const exited = new Promise((resolve) => child.once("exit", resolve));
|
|
144
|
+
child.kill("SIGTERM");
|
|
145
|
+
const timer = setTimeout(() => child.kill("SIGKILL"), 5_000);
|
|
146
|
+
await exited;
|
|
147
|
+
clearTimeout(timer);
|
|
148
|
+
}
|
|
149
|
+
async function packagedCore() {
|
|
150
|
+
const cli = "@nidl/cli";
|
|
151
|
+
try {
|
|
152
|
+
const module = (await import(cli));
|
|
153
|
+
if (typeof module.corePath === "function")
|
|
154
|
+
return await module.corePath();
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
// Reported below.
|
|
158
|
+
}
|
|
159
|
+
throw new NidlError("not_installed", "Install @nidl/cli beside @nidl/client, and mark both external in trigger.config.ts, or pass `executable`.");
|
|
160
|
+
}
|
|
161
|
+
function left(deadline) {
|
|
162
|
+
const remaining = deadline - Date.now();
|
|
163
|
+
if (remaining <= 0)
|
|
164
|
+
throw new NidlError("timeout", "The task core did not start in time.");
|
|
165
|
+
return remaining;
|
|
166
|
+
}
|
|
167
|
+
/** One core run's JSON reply's result, or its error thrown. */
|
|
168
|
+
function reply(executable, args, env, deadline, input) {
|
|
169
|
+
return new Promise((resolve, reject) => {
|
|
170
|
+
// The time left is read before the child starts, so a deadline already past starts none.
|
|
171
|
+
const wait = left(deadline);
|
|
172
|
+
const child = spawn(executable, args, { env, stdio: ["pipe", "pipe", "inherit"] });
|
|
173
|
+
let stdout = "";
|
|
174
|
+
const timer = setTimeout(() => {
|
|
175
|
+
child.kill("SIGKILL");
|
|
176
|
+
reject(new NidlError("timeout", "The task core did not answer in time."));
|
|
177
|
+
}, wait);
|
|
178
|
+
child.stdout.on("data", (chunk) => {
|
|
179
|
+
stdout += chunk.toString("utf8");
|
|
180
|
+
});
|
|
181
|
+
child.on("error", (error) => {
|
|
182
|
+
clearTimeout(timer);
|
|
183
|
+
reject(new NidlError("unavailable", `The task core could not be run (${error.message}).`));
|
|
184
|
+
});
|
|
185
|
+
child.on("close", () => {
|
|
186
|
+
clearTimeout(timer);
|
|
187
|
+
let parsed;
|
|
188
|
+
try {
|
|
189
|
+
parsed = JSON.parse(stdout);
|
|
190
|
+
}
|
|
191
|
+
catch {
|
|
192
|
+
reject(new NidlError("protocol_error", "The task core did not answer with one JSON reply."));
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
if (parsed.ok === true && typeof parsed.result === "object" && parsed.result !== null) {
|
|
196
|
+
resolve(parsed.result);
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
reject(new NidlError(String(parsed.error?.code ?? "protocol_error"), String(parsed.error?.message ?? "The task core refused.")));
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
child.stdin.end(input ?? "");
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
function command(executable, dataDir, env, deadline, name, args) {
|
|
206
|
+
return reply(executable, ["command", name, "--input", "-", "--data-dir", dataDir, "--json"], env, deadline, JSON.stringify(args));
|
|
207
|
+
}
|
|
208
|
+
/** The unlock's operation, waited on until it is applied. */
|
|
209
|
+
async function finished(executable, dataDir, env, deadline, operationId) {
|
|
210
|
+
for (;;) {
|
|
211
|
+
const result = await command(executable, dataDir, env, deadline, "operations.get", { operationId });
|
|
212
|
+
const state = result.operation?.state;
|
|
213
|
+
if (state === "applied")
|
|
214
|
+
return;
|
|
215
|
+
if (state !== "planned" && state !== "running") {
|
|
216
|
+
throw new NidlError("unavailable", `The task core's vault did not unlock (${String(state)}).`);
|
|
217
|
+
}
|
|
218
|
+
await new Promise((resolve) => setTimeout(resolve, Math.min(200, left(deadline))));
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
/** The core serving `dataDir`, once it says it is ready. */
|
|
222
|
+
function serve(executable, dataDir, env, deadline) {
|
|
223
|
+
return new Promise((resolve, reject) => {
|
|
224
|
+
const wait = left(deadline);
|
|
225
|
+
const child = spawn(executable, ["serve", "--data-dir", dataDir, "--stop-with-parent", "--json"], {
|
|
226
|
+
env,
|
|
227
|
+
stdio: ["ignore", "pipe", "inherit"],
|
|
228
|
+
});
|
|
229
|
+
let line = "";
|
|
230
|
+
const timer = setTimeout(() => {
|
|
231
|
+
child.kill("SIGKILL");
|
|
232
|
+
reject(new NidlError("timeout", "The task core did not start in time."));
|
|
233
|
+
}, wait);
|
|
234
|
+
const fail = (error) => {
|
|
235
|
+
clearTimeout(timer);
|
|
236
|
+
child.kill("SIGTERM");
|
|
237
|
+
reject(error);
|
|
238
|
+
};
|
|
239
|
+
child.on("error", (error) => fail(new NidlError("unavailable", `The task core could not be started (${error.message}).`)));
|
|
240
|
+
child.on("exit", () => fail(new NidlError("unavailable", "The task core stopped as it started.")));
|
|
241
|
+
child.stdout.on("data", (chunk) => {
|
|
242
|
+
line += chunk.toString("utf8");
|
|
243
|
+
const end = line.indexOf("\n");
|
|
244
|
+
if (end < 0)
|
|
245
|
+
return;
|
|
246
|
+
clearTimeout(timer);
|
|
247
|
+
child.removeAllListeners("exit");
|
|
248
|
+
child.stdout.removeAllListeners("data");
|
|
249
|
+
child.stdout.resume();
|
|
250
|
+
try {
|
|
251
|
+
const ready = JSON.parse(line.slice(0, end));
|
|
252
|
+
if (ready.ok === true) {
|
|
253
|
+
resolve(child);
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
catch {
|
|
258
|
+
// Reported below.
|
|
259
|
+
}
|
|
260
|
+
child.kill("SIGTERM");
|
|
261
|
+
reject(new NidlError("unavailable", "The task core did not start."));
|
|
262
|
+
});
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
//# sourceMappingURL=task.js.map
|
package/dist/task.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nidl/client",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Drive a running nidl core from a Node program, over its local socket or its remote port.",
|
|
5
|
+
"license": "MIT OR Apache-2.0",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/crissmoldovan/nidl.git",
|
|
10
|
+
"directory": "clients/typescript"
|
|
11
|
+
},
|
|
12
|
+
"engines": {
|
|
13
|
+
"node": ">=22"
|
|
14
|
+
},
|
|
15
|
+
"exports": {
|
|
16
|
+
".": {
|
|
17
|
+
"types": "./dist/index.d.ts",
|
|
18
|
+
"default": "./dist/index.js"
|
|
19
|
+
},
|
|
20
|
+
"./package.json": "./package.json"
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"dist",
|
|
24
|
+
"README.md",
|
|
25
|
+
"LICENSE-APACHE",
|
|
26
|
+
"LICENSE-MIT"
|
|
27
|
+
],
|
|
28
|
+
"scripts": {
|
|
29
|
+
"build": "tsc -p tsconfig.build.json",
|
|
30
|
+
"test": "vitest run",
|
|
31
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
32
|
+
"lint": "tsc -p tsconfig.json --noEmit"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@types/node": "^24.0.0",
|
|
36
|
+
"typescript": "^5.9.0",
|
|
37
|
+
"vitest": "^4.0.0"
|
|
38
|
+
}
|
|
39
|
+
}
|