@lobu/connector-worker 6.1.1 → 7.1.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/dist/compile-connector.d.ts +25 -0
- package/dist/compile-connector.d.ts.map +1 -0
- package/dist/compile-connector.js +162 -0
- package/dist/compile-connector.js.map +1 -0
- package/dist/daemon/client.d.ts +11 -1
- package/dist/daemon/client.d.ts.map +1 -1
- package/dist/daemon/client.js +7 -16
- package/dist/daemon/client.js.map +1 -1
- package/dist/daemon/executor.d.ts.map +1 -1
- package/dist/daemon/executor.js +102 -47
- package/dist/daemon/executor.js.map +1 -1
- package/dist/daemon/worker.d.ts.map +1 -1
- package/dist/daemon/worker.js +14 -4
- package/dist/daemon/worker.js.map +1 -1
- package/dist/embeddings.d.ts +1 -1
- package/dist/embeddings.d.ts.map +1 -1
- package/dist/embeddings.js +2 -43
- package/dist/embeddings.js.map +1 -1
- package/dist/executor/child-runner.js +42 -23
- package/dist/executor/child-runner.js.map +1 -1
- package/dist/executor/subprocess.d.ts.map +1 -1
- package/dist/executor/subprocess.js +71 -28
- package/dist/executor/subprocess.js.map +1 -1
- package/package.json +15 -4
package/dist/daemon/worker.js
CHANGED
|
@@ -19,12 +19,11 @@ export class WorkerDaemon {
|
|
|
19
19
|
running = false;
|
|
20
20
|
activeJobs = 0;
|
|
21
21
|
constructor(daemonConfig, env) {
|
|
22
|
-
const capabilities = daemonConfig.capabilities ?? DEFAULT_CAPABILITIES;
|
|
23
22
|
this.client = new WorkerClient({
|
|
24
23
|
apiUrl: daemonConfig.apiUrl,
|
|
25
24
|
workerId: daemonConfig.workerId,
|
|
26
25
|
authToken: daemonConfig.workerApiToken ?? env.WORKER_API_TOKEN,
|
|
27
|
-
capabilities,
|
|
26
|
+
capabilities: daemonConfig.capabilities ?? DEFAULT_CAPABILITIES,
|
|
28
27
|
version: daemonConfig.version,
|
|
29
28
|
});
|
|
30
29
|
this.env = env;
|
|
@@ -126,7 +125,14 @@ export class WorkerDaemon {
|
|
|
126
125
|
*/
|
|
127
126
|
export async function startDaemon(config, env) {
|
|
128
127
|
const daemon = new WorkerDaemon(config, env);
|
|
128
|
+
let shuttingDown = false;
|
|
129
129
|
const gracefulShutdown = async (signal) => {
|
|
130
|
+
if (shuttingDown) {
|
|
131
|
+
// Second signal — operator wants out now. Hard exit.
|
|
132
|
+
console.error(`[daemon] Received ${signal} during shutdown, forcing exit`);
|
|
133
|
+
process.exit(130);
|
|
134
|
+
}
|
|
135
|
+
shuttingDown = true;
|
|
130
136
|
console.error(`\n[daemon] Received ${signal}, shutting down...`);
|
|
131
137
|
daemon.stop();
|
|
132
138
|
const allDone = await daemon.waitForActiveJobs();
|
|
@@ -136,8 +142,12 @@ export async function startDaemon(config, env) {
|
|
|
136
142
|
process.exit(allDone ? 0 : 1);
|
|
137
143
|
};
|
|
138
144
|
// Handle shutdown signals
|
|
139
|
-
process.on('SIGINT', () =>
|
|
140
|
-
|
|
145
|
+
process.on('SIGINT', () => {
|
|
146
|
+
void gracefulShutdown('SIGINT');
|
|
147
|
+
});
|
|
148
|
+
process.on('SIGTERM', () => {
|
|
149
|
+
void gracefulShutdown('SIGTERM');
|
|
150
|
+
});
|
|
141
151
|
await daemon.start();
|
|
142
152
|
return daemon;
|
|
143
153
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/daemon/worker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAA2B,YAAY,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAuB,UAAU,EAAE,MAAM,eAAe,CAAC;AAahE,MAAM,oBAAoB,GAAuB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACpE,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAE3C;;;;GAIG;AACH,MAAM,OAAO,YAAY;IACf,MAAM,CAAe;IACrB,GAAG,CAAM;IACT,MAAM,
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/daemon/worker.ts"],"names":[],"mappings":"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"}
|
package/dist/embeddings.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Embedding Generation (local or remote)
|
|
3
3
|
*
|
|
4
4
|
* If EMBEDDINGS_SERVICE_URL is set, calls the HTTP embeddings service.
|
|
5
|
-
* Otherwise, uses @xenova/transformers
|
|
5
|
+
* Otherwise, uses @lobu/embeddings local pipeline (@xenova/transformers).
|
|
6
6
|
*/
|
|
7
7
|
export declare function generateEmbedding(text: string): Promise<number[]>;
|
|
8
8
|
export declare function batchGenerateEmbeddings(texts: string[], batchSize?: number): Promise<number[][]>;
|
package/dist/embeddings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqFH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAGvE;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,GAAE,MAA2B,GACrC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAcrB"}
|
package/dist/embeddings.js
CHANGED
|
@@ -2,17 +2,11 @@
|
|
|
2
2
|
* Embedding Generation (local or remote)
|
|
3
3
|
*
|
|
4
4
|
* If EMBEDDINGS_SERVICE_URL is set, calls the HTTP embeddings service.
|
|
5
|
-
* Otherwise, uses @xenova/transformers
|
|
5
|
+
* Otherwise, uses @lobu/embeddings local pipeline (@xenova/transformers).
|
|
6
6
|
*/
|
|
7
|
-
import { validateEmbeddingDimensions } from '@lobu/embeddings';
|
|
8
|
-
import { pipeline, env as transformersEnv, } from '@xenova/transformers';
|
|
9
|
-
const DEFAULT_MODEL_NAME = 'Xenova/bge-base-en-v1.5';
|
|
10
|
-
const DEFAULT_DIMENSIONS = 768;
|
|
7
|
+
import { DEFAULT_DIMENSIONS, batchGenerateLocalEmbeddings, validateEmbeddingDimensions, } from '@lobu/embeddings';
|
|
11
8
|
const DEFAULT_BATCH_SIZE = 32;
|
|
12
9
|
const DEFAULT_TIMEOUT_MS = 30000;
|
|
13
|
-
transformersEnv.cacheDir = process.env.TRANSFORMERS_CACHE || '~/.cache/huggingface/transformers/';
|
|
14
|
-
transformersEnv.backends.onnx.wasm.numThreads = 1;
|
|
15
|
-
let extractorPromise = null;
|
|
16
10
|
function getExpectedDimensions() {
|
|
17
11
|
const raw = process.env.EMBEDDINGS_DIMENSIONS;
|
|
18
12
|
const parsed = raw ? Number.parseInt(raw, 10) : DEFAULT_DIMENSIONS;
|
|
@@ -22,41 +16,6 @@ function getTimeoutMs() {
|
|
|
22
16
|
const parsed = Number.parseInt(process.env.EMBEDDINGS_TIMEOUT_MS || '', 10);
|
|
23
17
|
return Number.isFinite(parsed) ? parsed : DEFAULT_TIMEOUT_MS;
|
|
24
18
|
}
|
|
25
|
-
function getModelName() {
|
|
26
|
-
return process.env.EMBEDDINGS_MODEL || DEFAULT_MODEL_NAME;
|
|
27
|
-
}
|
|
28
|
-
async function getExtractor() {
|
|
29
|
-
if (!extractorPromise) {
|
|
30
|
-
const modelName = getModelName();
|
|
31
|
-
console.log(`[Embeddings] Loading model: ${modelName}...`);
|
|
32
|
-
const startTime = Date.now();
|
|
33
|
-
extractorPromise = pipeline('feature-extraction', modelName, {
|
|
34
|
-
quantized: true,
|
|
35
|
-
});
|
|
36
|
-
const extractor = await extractorPromise;
|
|
37
|
-
const loadTime = Date.now() - startTime;
|
|
38
|
-
console.log(`[Embeddings] Model loaded in ${loadTime}ms`);
|
|
39
|
-
return extractor;
|
|
40
|
-
}
|
|
41
|
-
return extractorPromise;
|
|
42
|
-
}
|
|
43
|
-
async function batchGenerateLocalEmbeddings(texts, batchSize = DEFAULT_BATCH_SIZE) {
|
|
44
|
-
if (texts.length === 0) {
|
|
45
|
-
return [];
|
|
46
|
-
}
|
|
47
|
-
const extractor = await getExtractor();
|
|
48
|
-
const results = [];
|
|
49
|
-
for (let i = 0; i < texts.length; i += batchSize) {
|
|
50
|
-
const batch = texts.slice(i, i + batchSize);
|
|
51
|
-
const batchOutputs = await Promise.all(batch.map((text) => extractor(text, {
|
|
52
|
-
pooling: 'cls',
|
|
53
|
-
normalize: true,
|
|
54
|
-
})));
|
|
55
|
-
const batchEmbeddings = batchOutputs.map((output) => Array.from(output.data));
|
|
56
|
-
results.push(...batchEmbeddings);
|
|
57
|
-
}
|
|
58
|
-
return results;
|
|
59
|
-
}
|
|
60
19
|
async function fetchEmbeddingsFromService(texts) {
|
|
61
20
|
const baseUrl = process.env.EMBEDDINGS_SERVICE_URL;
|
|
62
21
|
if (!baseUrl) {
|
package/dist/embeddings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* dynamically imports the ConnectorRuntime class, and executes sync()/execute().
|
|
6
6
|
* Streams normalized content chunks and checkpoint updates back via IPC.
|
|
7
7
|
*/
|
|
8
|
+
import { randomBytes } from 'node:crypto';
|
|
8
9
|
import { rm, writeFile } from 'node:fs/promises';
|
|
9
10
|
import { join } from 'node:path';
|
|
10
11
|
import { pathToFileURL } from 'node:url';
|
|
@@ -40,29 +41,27 @@ const authAbortController = new AbortController();
|
|
|
40
41
|
function awaitAuthSignal(name, options) {
|
|
41
42
|
return new Promise((resolve, reject) => {
|
|
42
43
|
const requestId = nextSignalRequestId++;
|
|
43
|
-
pendingSignalWaiters.set(requestId, { resolve, reject });
|
|
44
44
|
let timer;
|
|
45
|
+
const clearTimer = () => {
|
|
46
|
+
if (timer)
|
|
47
|
+
clearTimeout(timer);
|
|
48
|
+
};
|
|
49
|
+
pendingSignalWaiters.set(requestId, {
|
|
50
|
+
resolve: (v) => {
|
|
51
|
+
clearTimer();
|
|
52
|
+
resolve(v);
|
|
53
|
+
},
|
|
54
|
+
reject: (e) => {
|
|
55
|
+
clearTimer();
|
|
56
|
+
reject(e);
|
|
57
|
+
},
|
|
58
|
+
});
|
|
45
59
|
if (options?.timeoutMs && options.timeoutMs > 0) {
|
|
46
60
|
timer = setTimeout(() => {
|
|
47
61
|
pendingSignalWaiters.delete(requestId);
|
|
48
62
|
reject(new Error(`awaitSignal('${name}') timed out after ${options.timeoutMs}ms`));
|
|
49
63
|
}, options.timeoutMs);
|
|
50
64
|
}
|
|
51
|
-
const wrap = pendingSignalWaiters.get(requestId);
|
|
52
|
-
if (wrap) {
|
|
53
|
-
pendingSignalWaiters.set(requestId, {
|
|
54
|
-
resolve: (v) => {
|
|
55
|
-
if (timer)
|
|
56
|
-
clearTimeout(timer);
|
|
57
|
-
wrap.resolve(v);
|
|
58
|
-
},
|
|
59
|
-
reject: (e) => {
|
|
60
|
-
if (timer)
|
|
61
|
-
clearTimeout(timer);
|
|
62
|
-
wrap.reject(e);
|
|
63
|
-
},
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
65
|
void sendIPC({
|
|
67
66
|
type: 'await_signal_request',
|
|
68
67
|
requestId,
|
|
@@ -135,7 +134,7 @@ async function executeConnectorRuntime(instance, context) {
|
|
|
135
134
|
return result;
|
|
136
135
|
}
|
|
137
136
|
const emitEvents = async (events) => {
|
|
138
|
-
const normalized =
|
|
137
|
+
const normalized = events.map((event) => normalizeEventEnvelope(event));
|
|
139
138
|
for (let index = 0; index < normalized.length; index += CONTENT_CHUNK_SIZE) {
|
|
140
139
|
await sendIPC({
|
|
141
140
|
type: 'content_chunk',
|
|
@@ -174,9 +173,6 @@ async function executeConnectorRuntime(instance, context) {
|
|
|
174
173
|
};
|
|
175
174
|
return result;
|
|
176
175
|
}
|
|
177
|
-
function normalizeEvents(events) {
|
|
178
|
-
return events.map((event) => normalizeEventEnvelope(event));
|
|
179
|
-
}
|
|
180
176
|
/** Send an IPC message and wait for it to be flushed to the parent. */
|
|
181
177
|
function sendIPC(msg) {
|
|
182
178
|
return new Promise((resolve, reject) => {
|
|
@@ -234,8 +230,20 @@ function installUncaughtHandlers() {
|
|
|
234
230
|
void handle(reason);
|
|
235
231
|
});
|
|
236
232
|
}
|
|
233
|
+
/**
|
|
234
|
+
* If the parent dies without sending SIGKILL, the IPC channel disconnects
|
|
235
|
+
* but the child keeps running connector code (especially a chatty HTTP loop
|
|
236
|
+
* or a Playwright session) — leaving zombie subprocesses behind that nothing
|
|
237
|
+
* cleans up until OOM. Exit promptly on parent disconnect so the OS reaps us.
|
|
238
|
+
*/
|
|
239
|
+
function installParentDeathHandlers() {
|
|
240
|
+
// Best-effort: don't bother flushing IPC, the channel is already gone.
|
|
241
|
+
// Exit code 143 = 128 + SIGTERM, conventional for "killed externally".
|
|
242
|
+
process.on('disconnect', () => process.exit(143));
|
|
243
|
+
}
|
|
237
244
|
async function main() {
|
|
238
245
|
installUncaughtHandlers();
|
|
246
|
+
installParentDeathHandlers();
|
|
239
247
|
let started = false;
|
|
240
248
|
// Wait for message from parent
|
|
241
249
|
process.on('message', async (msg) => {
|
|
@@ -265,11 +273,22 @@ async function main() {
|
|
|
265
273
|
return;
|
|
266
274
|
started = true;
|
|
267
275
|
// Keep temp module under cwd so bare imports (e.g. lobu) resolve via local node_modules.
|
|
268
|
-
|
|
276
|
+
// Use a cryptographically random suffix (not pid+Date.now()) so a co-tenant
|
|
277
|
+
// can't pre-create or guess the path. Combined with the `wx` open flag below
|
|
278
|
+
// this prevents both symlink-swap (pointing tmpFile at another file the
|
|
279
|
+
// worker can write) and pre-creation of a malicious .mjs that the worker
|
|
280
|
+
// would otherwise overwrite then import.
|
|
281
|
+
const tmpFile = join(process.cwd(), `.connector-child-${process.pid}-${randomBytes(16).toString('hex')}.mjs`);
|
|
269
282
|
try {
|
|
270
283
|
const { compiledCode, context } = msg;
|
|
271
|
-
// Write compiled code to temp file for dynamic import
|
|
272
|
-
|
|
284
|
+
// Write compiled code to temp file for dynamic import.
|
|
285
|
+
// - `flag: 'wx'` fails if the file already exists (no symlink follow,
|
|
286
|
+
// no clobber of an attacker-planted file under cwd).
|
|
287
|
+
// - `mode: 0o600` keeps the compiled bundle (which can contain
|
|
288
|
+
// connector-baked secrets and the freshly-decrypted credentials in
|
|
289
|
+
// process memory referenced by the bundle) unreadable by other
|
|
290
|
+
// local users on shared hosts. Umask cannot widen this.
|
|
291
|
+
await writeFile(tmpFile, compiledCode, { encoding: 'utf-8', flag: 'wx', mode: 0o600 });
|
|
273
292
|
// Import the compiled module
|
|
274
293
|
const mod = await import(pathToFileURL(tmpFile).href);
|
|
275
294
|
const RuntimeClass = findRuntimeClass(mod);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"child-runner.js","sourceRoot":"","sources":["../../src/executor/child-runner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAa/B,SAAS,oBAAoB,CAAC,OAA4B;IACxD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAA4B;IACpD,MAAM,uBAAuB,GAAG,CAAC,GAAY,EAAwB,EAAE,CACrE,OAAO,GAAG,KAAK,UAAU;QACzB,CAAC,CAAE,GAAW,CAAC,SAAS,EAAE,IAAI;QAC9B,CAAC,CAAE,GAAW,CAAC,SAAS,EAAE,OAAO,CAAC;IAEpC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACnE,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAEhC,IAAI,uBAAuB,CAAE,GAAW,CAAC,OAAO,CAAC;QAAE,OAAQ,GAAW,CAAC,OAAO,CAAC;IAE/E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,2EAA2E;AAC3E,yEAAyE;AACzE,8EAA8E;AAE9E,IAAI,mBAAmB,GAAG,CAAC,CAAC;AAC5B,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAGjC,CAAC;AACJ,MAAM,mBAAmB,GAAG,IAAI,eAAe,EAAE,CAAC;AAElD,SAAS,eAAe,CACtB,IAAY,EACZ,OAAgC;IAEhC,OAAO,IAAI,OAAO,CAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9D,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;QACxC,
|
|
1
|
+
{"version":3,"file":"child-runner.js","sourceRoot":"","sources":["../../src/executor/child-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subprocess.d.ts","sourceRoot":"","sources":["../../src/executor/subprocess.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"subprocess.d.ts","sourceRoot":"","sources":["../../src/executor/subprocess.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGhG;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,GAAG,eAAe,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;AAExF,mEAAmE;AACnE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,oBAAoB,CAAC;CAClC;AAED,qBAAa,eAAgB,SAAQ,KAAM,YAAW,qBAAqB;IACzE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,oBAAoB,CAAC;gBAG/B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,qBAAqB,EAClC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAShC;AAqDD,UAAU,yBAAyB;IACjC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,eAAe,EAAE,MAAM,CAAC;CACzB;AAOD,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,OAAO,CAA4B;gBAE/B,OAAO,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAIlD,OAAO,CACX,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,WAAW,EACpB,KAAK,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,cAAc,CAAC;CAmW3B"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { fork } from 'node:child_process';
|
|
9
9
|
import { existsSync } from 'node:fs';
|
|
10
|
+
import { createRequire } from 'node:module';
|
|
10
11
|
import { dirname, join } from 'node:path';
|
|
11
12
|
import { fileURLToPath } from 'node:url';
|
|
12
13
|
import { StreamRedactor, redactOutput } from './redact.js';
|
|
@@ -99,20 +100,24 @@ export class SubprocessExecutor {
|
|
|
99
100
|
if (!isBun)
|
|
100
101
|
execArgv.unshift('--import', 'tsx');
|
|
101
102
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
103
|
+
else if (!existsSync(childRunnerPath)) {
|
|
104
|
+
// Bundled runtime: this module is bundled into another package's
|
|
105
|
+
// dist (e.g. packages/server/dist/server.bundle.mjs), so __dirname
|
|
106
|
+
// is the bundle's directory rather than the sibling executor dir.
|
|
107
|
+
// child-runner.js lives in connector-worker's own dist — resolve it
|
|
108
|
+
// through Node's module resolver instead of by path arithmetic.
|
|
109
|
+
try {
|
|
110
|
+
const requireFromHere = createRequire(import.meta.url);
|
|
111
|
+
childRunnerPath = requireFromHere.resolve('@lobu/connector-worker/executor/child-runner');
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
// Fall through with the original join() path; fork() will surface
|
|
115
|
+
// the missing-file error on the next tick.
|
|
111
116
|
}
|
|
112
117
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
118
|
+
// Node subprocess execution is process isolation, not a security sandbox.
|
|
119
|
+
// Node --experimental-permission flags intentionally NOT enabled — the
|
|
120
|
+
// connector runtime isn't compatible. Revisit if that changes.
|
|
116
121
|
const child = fork(childRunnerPath, [], {
|
|
117
122
|
stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
|
|
118
123
|
execArgv,
|
|
@@ -178,13 +183,12 @@ export class SubprocessExecutor {
|
|
|
178
183
|
const combinedTail = () => {
|
|
179
184
|
const out = stdoutTail.toString();
|
|
180
185
|
const err = stderrTail.toString();
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
return `[stdout]\n${out}\n[stderr]\n${err}`;
|
|
186
|
+
const parts = [];
|
|
187
|
+
if (out)
|
|
188
|
+
parts.push(`[stdout]\n${out}`);
|
|
189
|
+
if (err)
|
|
190
|
+
parts.push(`[stderr]\n${err}`);
|
|
191
|
+
return parts.join('\n');
|
|
188
192
|
};
|
|
189
193
|
const computeExitReason = (tail) => {
|
|
190
194
|
if (timedOut)
|
|
@@ -193,8 +197,11 @@ export class SubprocessExecutor {
|
|
|
193
197
|
return 'oom';
|
|
194
198
|
return 'crash';
|
|
195
199
|
};
|
|
196
|
-
// Handle messages from child
|
|
200
|
+
// Handle messages from child. The child runs untrusted connector code,
|
|
201
|
+
// so validate shape at this trust boundary before dereferencing fields.
|
|
197
202
|
const onMessage = (msg) => {
|
|
203
|
+
if (!msg || typeof msg !== 'object' || typeof msg.type !== 'string')
|
|
204
|
+
return;
|
|
198
205
|
if (msg.type === 'content_chunk') {
|
|
199
206
|
const items = Array.isArray(msg.items) ? msg.items : [];
|
|
200
207
|
queueTask(async () => {
|
|
@@ -240,14 +247,24 @@ export class SubprocessExecutor {
|
|
|
240
247
|
const signal = await hooks.onAwaitAuthSignal(name, {
|
|
241
248
|
timeoutMs: timeoutMs ?? undefined,
|
|
242
249
|
});
|
|
243
|
-
|
|
250
|
+
try {
|
|
251
|
+
child.send({ type: 'await_signal_response', requestId, signal });
|
|
252
|
+
}
|
|
253
|
+
catch {
|
|
254
|
+
/* IPC closed — child already exited. */
|
|
255
|
+
}
|
|
244
256
|
}
|
|
245
257
|
catch (err) {
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
258
|
+
try {
|
|
259
|
+
child.send({
|
|
260
|
+
type: 'await_signal_response',
|
|
261
|
+
requestId,
|
|
262
|
+
error: err instanceof Error ? err.message : String(err),
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
/* IPC closed — child already exited. */
|
|
267
|
+
}
|
|
251
268
|
}
|
|
252
269
|
});
|
|
253
270
|
return;
|
|
@@ -292,7 +309,9 @@ export class SubprocessExecutor {
|
|
|
292
309
|
// (which is also written to gateway logs by upstream callers).
|
|
293
310
|
const rawMessage = msg.error?.message ?? 'Subprocess reported error';
|
|
294
311
|
const error = new SubprocessError(redactOutput(rawMessage), diagnostics);
|
|
295
|
-
|
|
312
|
+
// Redact `name` too — connector code can throw `class Err extends Error { name = '<secret>' }`
|
|
313
|
+
// and Error.toString() / log formatters print `${name}: ${message}`.
|
|
314
|
+
error.name = msg.error?.name ? redactOutput(String(msg.error.name)) : 'SubprocessError';
|
|
296
315
|
if (msg.error?.stack)
|
|
297
316
|
error.stack = redactOutput(msg.error.stack);
|
|
298
317
|
settle(() => reject(error));
|
|
@@ -361,7 +380,10 @@ export class SubprocessExecutor {
|
|
|
361
380
|
child.on('exit', onExit);
|
|
362
381
|
child.stdout?.on('data', onStdout);
|
|
363
382
|
child.stderr?.on('data', onStderr);
|
|
364
|
-
// Send the compiled code and context to the child
|
|
383
|
+
// Send the compiled code and context to the child. Use the callback
|
|
384
|
+
// form so a failed send (e.g. child died before IPC handshake, or fork
|
|
385
|
+
// resolved to a non-existent file) rejects the executor promise
|
|
386
|
+
// instead of going unhandled on the IPC channel.
|
|
365
387
|
child.send({
|
|
366
388
|
compiledCode,
|
|
367
389
|
context: {
|
|
@@ -371,6 +393,27 @@ export class SubprocessExecutor {
|
|
|
371
393
|
sessionState: context.sessionState,
|
|
372
394
|
apiType: context.apiType,
|
|
373
395
|
},
|
|
396
|
+
}, (err) => {
|
|
397
|
+
if (err) {
|
|
398
|
+
const tail = redactOutput(combinedTail());
|
|
399
|
+
const diagnostics = {
|
|
400
|
+
exitCode: null,
|
|
401
|
+
exitSignal: null,
|
|
402
|
+
outputTail: tail,
|
|
403
|
+
exitReason: 'crash',
|
|
404
|
+
};
|
|
405
|
+
settle(() => {
|
|
406
|
+
try {
|
|
407
|
+
child.kill('SIGKILL');
|
|
408
|
+
}
|
|
409
|
+
catch {
|
|
410
|
+
/* already dead */
|
|
411
|
+
}
|
|
412
|
+
reject(new SubprocessError(`Subprocess IPC send failed: ${err.message}`, diagnostics, {
|
|
413
|
+
cause: err,
|
|
414
|
+
}));
|
|
415
|
+
});
|
|
416
|
+
}
|
|
374
417
|
});
|
|
375
418
|
});
|
|
376
419
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subprocess.js","sourceRoot":"","sources":["../../src/executor/subprocess.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subprocess.js","sourceRoot":"","sources":["../../src/executor/subprocess.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lobu/connector-worker",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.1.0",
|
|
4
4
|
"description": "Self-hosted worker for Lobu memory — connectors and embedding generation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -14,6 +14,15 @@
|
|
|
14
14
|
"./embeddings": {
|
|
15
15
|
"import": "./dist/embeddings.js",
|
|
16
16
|
"types": "./dist/embeddings.d.ts"
|
|
17
|
+
},
|
|
18
|
+
"./executor/child-runner": "./dist/executor/child-runner.js",
|
|
19
|
+
"./executor/runtime": {
|
|
20
|
+
"import": "./dist/executor/runtime.js",
|
|
21
|
+
"types": "./dist/executor/runtime.d.ts"
|
|
22
|
+
},
|
|
23
|
+
"./executor/interface": {
|
|
24
|
+
"import": "./dist/executor/interface.js",
|
|
25
|
+
"types": "./dist/executor/interface.d.ts"
|
|
17
26
|
}
|
|
18
27
|
},
|
|
19
28
|
"files": [
|
|
@@ -29,12 +38,14 @@
|
|
|
29
38
|
"clean": "rm -rf dist"
|
|
30
39
|
},
|
|
31
40
|
"dependencies": {
|
|
32
|
-
"@lobu/connector-sdk": "
|
|
33
|
-
"@lobu/embeddings": "
|
|
34
|
-
"@lobu/worker": "
|
|
41
|
+
"@lobu/connector-sdk": "7.1.0",
|
|
42
|
+
"@lobu/embeddings": "7.1.0",
|
|
43
|
+
"@lobu/worker": "7.1.0",
|
|
35
44
|
"@xenova/transformers": "^2.17.2",
|
|
45
|
+
"esbuild": "^0.25.0",
|
|
36
46
|
"jimp": "^1.6.0",
|
|
37
47
|
"playwright": "npm:patchright@^1.57.0",
|
|
48
|
+
"playwright-vanilla": "npm:playwright@^1.60.0",
|
|
38
49
|
"sharp": "^0.34.4"
|
|
39
50
|
},
|
|
40
51
|
"devDependencies": {
|