@ash-ai/runner 0.0.3 → 0.0.5
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/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/registration.d.ts +8 -1
- package/dist/registration.d.ts.map +1 -1
- package/dist/registration.js +62 -18
- package/dist/registration.js.map +1 -1
- package/dist/routes/sandboxes.d.ts.map +1 -1
- package/dist/routes/sandboxes.js +14 -0
- package/dist/routes/sandboxes.js.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -43,10 +43,11 @@ const app = Fastify({ logger: true });
|
|
|
43
43
|
// Routes
|
|
44
44
|
sandboxRoutes(app, pool, dataDir);
|
|
45
45
|
healthRoutes(app, pool, runnerId, maxCapacity);
|
|
46
|
-
// Graceful shutdown
|
|
46
|
+
// Graceful shutdown — deregisters from control plane immediately so sessions are paused,
|
|
47
|
+
// rather than waiting 30s for the liveness sweep to detect the dead runner.
|
|
47
48
|
async function shutdown() {
|
|
48
49
|
app.log.info('Runner shutting down...');
|
|
49
|
-
stopRegistration();
|
|
50
|
+
await stopRegistration();
|
|
50
51
|
pool.stopIdleSweep();
|
|
51
52
|
await pool.destroyAll();
|
|
52
53
|
await app.close();
|
|
@@ -68,6 +69,7 @@ try {
|
|
|
68
69
|
maxSandboxes: maxCapacity,
|
|
69
70
|
serverUrl,
|
|
70
71
|
pool,
|
|
72
|
+
internalSecret: process.env.ASH_INTERNAL_SECRET,
|
|
71
73
|
});
|
|
72
74
|
}
|
|
73
75
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/registration.d.ts
CHANGED
|
@@ -6,11 +6,18 @@ interface RegistrationOpts {
|
|
|
6
6
|
maxSandboxes: number;
|
|
7
7
|
serverUrl: string;
|
|
8
8
|
pool: SandboxPool;
|
|
9
|
+
/** Shared secret for internal endpoint auth. */
|
|
10
|
+
internalSecret?: string;
|
|
9
11
|
}
|
|
10
12
|
/**
|
|
11
13
|
* Register this runner with the control plane and begin heartbeat loop.
|
|
14
|
+
* Registration retries with exponential backoff until successful.
|
|
12
15
|
*/
|
|
13
16
|
export declare function startRegistration(opts: RegistrationOpts): void;
|
|
14
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Gracefully deregister from the control plane and stop heartbeats.
|
|
19
|
+
* Sessions are paused immediately rather than waiting for liveness timeout.
|
|
20
|
+
*/
|
|
21
|
+
export declare function stopRegistration(): Promise<void>;
|
|
15
22
|
export {};
|
|
16
23
|
//# sourceMappingURL=registration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../src/registration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../src/registration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAWD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAqD9D;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0BtD"}
|
package/dist/registration.js
CHANGED
|
@@ -1,30 +1,48 @@
|
|
|
1
1
|
import { RUNNER_HEARTBEAT_INTERVAL_MS } from '@ash-ai/shared';
|
|
2
2
|
let heartbeatTimer = null;
|
|
3
|
+
let registrationState = null;
|
|
4
|
+
function internalHeaders(secret) {
|
|
5
|
+
const headers = { 'Content-Type': 'application/json' };
|
|
6
|
+
if (secret)
|
|
7
|
+
headers['Authorization'] = `Bearer ${secret}`;
|
|
8
|
+
return headers;
|
|
9
|
+
}
|
|
3
10
|
/**
|
|
4
11
|
* Register this runner with the control plane and begin heartbeat loop.
|
|
12
|
+
* Registration retries with exponential backoff until successful.
|
|
5
13
|
*/
|
|
6
14
|
export function startRegistration(opts) {
|
|
7
|
-
const { runnerId, host, port, maxSandboxes, serverUrl, pool } = opts;
|
|
15
|
+
const { runnerId, host, port, maxSandboxes, serverUrl, pool, internalSecret } = opts;
|
|
8
16
|
const registerUrl = `${serverUrl}/api/internal/runners/register`;
|
|
9
17
|
const heartbeatUrl = `${serverUrl}/api/internal/runners/heartbeat`;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
const headers = internalHeaders(internalSecret);
|
|
19
|
+
registrationState = { runnerId, serverUrl, internalSecret };
|
|
20
|
+
// Registration with exponential backoff (1s, 2s, 4s, 8s, 16s)
|
|
21
|
+
const registerWithRetry = async () => {
|
|
22
|
+
const maxRetries = 5;
|
|
23
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
24
|
+
try {
|
|
25
|
+
const resp = await fetch(registerUrl, {
|
|
26
|
+
method: 'POST',
|
|
27
|
+
headers,
|
|
28
|
+
body: JSON.stringify({ runnerId, host, port, maxSandboxes }),
|
|
29
|
+
});
|
|
30
|
+
if (resp.ok) {
|
|
31
|
+
console.log(`[runner] Registered with control plane at ${serverUrl}`);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
19
34
|
console.error(`[runner] Registration failed: ${resp.status} ${await resp.text()}`);
|
|
20
35
|
}
|
|
21
|
-
|
|
22
|
-
console.
|
|
36
|
+
catch (err) {
|
|
37
|
+
console.error(`[runner] Failed to register with ${serverUrl}:`, err);
|
|
38
|
+
}
|
|
39
|
+
if (attempt < maxRetries) {
|
|
40
|
+
const delay = 1000 * Math.pow(2, attempt);
|
|
41
|
+
console.log(`[runner] Retrying registration in ${delay}ms (attempt ${attempt + 1}/${maxRetries})...`);
|
|
42
|
+
await new Promise(r => setTimeout(r, delay));
|
|
23
43
|
}
|
|
24
44
|
}
|
|
25
|
-
|
|
26
|
-
console.error(`[runner] Failed to register with ${serverUrl}:`, err);
|
|
27
|
-
}
|
|
45
|
+
console.error(`[runner] Registration failed after ${maxRetries + 1} attempts — will retry on next heartbeat`);
|
|
28
46
|
};
|
|
29
47
|
// Heartbeat
|
|
30
48
|
const heartbeat = async () => {
|
|
@@ -32,7 +50,7 @@ export function startRegistration(opts) {
|
|
|
32
50
|
const stats = await pool.statsAsync();
|
|
33
51
|
await fetch(heartbeatUrl, {
|
|
34
52
|
method: 'POST',
|
|
35
|
-
headers
|
|
53
|
+
headers,
|
|
36
54
|
body: JSON.stringify({ runnerId, stats, activeCount: pool.activeCount }),
|
|
37
55
|
});
|
|
38
56
|
}
|
|
@@ -40,14 +58,40 @@ export function startRegistration(opts) {
|
|
|
40
58
|
console.error('[runner] Heartbeat failed:', err);
|
|
41
59
|
}
|
|
42
60
|
};
|
|
43
|
-
|
|
61
|
+
registerWithRetry();
|
|
44
62
|
heartbeatTimer = setInterval(heartbeat, RUNNER_HEARTBEAT_INTERVAL_MS);
|
|
45
63
|
heartbeatTimer.unref();
|
|
46
64
|
}
|
|
47
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Gracefully deregister from the control plane and stop heartbeats.
|
|
67
|
+
* Sessions are paused immediately rather than waiting for liveness timeout.
|
|
68
|
+
*/
|
|
69
|
+
export async function stopRegistration() {
|
|
48
70
|
if (heartbeatTimer) {
|
|
49
71
|
clearInterval(heartbeatTimer);
|
|
50
72
|
heartbeatTimer = null;
|
|
51
73
|
}
|
|
74
|
+
// Graceful deregistration — tell the server to pause sessions immediately
|
|
75
|
+
if (registrationState) {
|
|
76
|
+
const { runnerId, serverUrl, internalSecret } = registrationState;
|
|
77
|
+
const deregisterUrl = `${serverUrl}/api/internal/runners/deregister`;
|
|
78
|
+
try {
|
|
79
|
+
const resp = await fetch(deregisterUrl, {
|
|
80
|
+
method: 'POST',
|
|
81
|
+
headers: internalHeaders(internalSecret),
|
|
82
|
+
body: JSON.stringify({ runnerId }),
|
|
83
|
+
});
|
|
84
|
+
if (resp.ok) {
|
|
85
|
+
console.log(`[runner] Deregistered from control plane`);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
console.error(`[runner] Deregistration failed: ${resp.status}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
console.error('[runner] Deregistration failed:', err);
|
|
93
|
+
}
|
|
94
|
+
registrationState = null;
|
|
95
|
+
}
|
|
52
96
|
}
|
|
53
97
|
//# sourceMappingURL=registration.js.map
|
package/dist/registration.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../src/registration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../src/registration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandboxes.d.ts","sourceRoot":"","sources":["../../src/routes/sandboxes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAgCnD,wBAAgB,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"sandboxes.d.ts","sourceRoot":"","sources":["../../src/routes/sandboxes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAgCnD,wBAAgB,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CA4I5F"}
|
package/dist/routes/sandboxes.js
CHANGED
|
@@ -38,6 +38,8 @@ export function sandboxRoutes(app, pool, dataDir) {
|
|
|
38
38
|
agentName: body.agentName,
|
|
39
39
|
skipAgentCopy: body.skipAgentCopy,
|
|
40
40
|
limits: body.limits,
|
|
41
|
+
extraEnv: body.extraEnv,
|
|
42
|
+
startupScript: body.startupScript,
|
|
41
43
|
});
|
|
42
44
|
return reply.status(201).send({
|
|
43
45
|
sandboxId: sandbox.id,
|
|
@@ -82,6 +84,9 @@ export function sandboxRoutes(app, pool, dataDir) {
|
|
|
82
84
|
else if (event.ev === 'done') {
|
|
83
85
|
await writeSSE(reply.raw, `event: done\ndata: ${JSON.stringify({ sessionId: event.sessionId })}\n\n`);
|
|
84
86
|
}
|
|
87
|
+
else if (event.ev === 'exec_result') {
|
|
88
|
+
await writeSSE(reply.raw, `event: exec_result\ndata: ${JSON.stringify({ exitCode: event.exitCode, stdout: event.stdout, stderr: event.stderr })}\n\n`);
|
|
89
|
+
}
|
|
85
90
|
}
|
|
86
91
|
}
|
|
87
92
|
catch (err) {
|
|
@@ -93,6 +98,15 @@ export function sandboxRoutes(app, pool, dataDir) {
|
|
|
93
98
|
}
|
|
94
99
|
reply.raw.end();
|
|
95
100
|
});
|
|
101
|
+
// Interrupt a running sandbox command (fire-and-forget)
|
|
102
|
+
app.post('/runner/sandboxes/:id/interrupt', async (req, reply) => {
|
|
103
|
+
const sandbox = pool.get(req.params.id);
|
|
104
|
+
if (!sandbox) {
|
|
105
|
+
return reply.status(404).send({ error: 'Sandbox not found' });
|
|
106
|
+
}
|
|
107
|
+
sandbox.client.writeCommand({ cmd: 'interrupt' });
|
|
108
|
+
return reply.send({ ok: true });
|
|
109
|
+
});
|
|
96
110
|
// Persist state on runner's filesystem
|
|
97
111
|
app.post('/runner/sandboxes/:id/persist', async (req, reply) => {
|
|
98
112
|
const sandbox = pool.get(req.params.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandboxes.js","sourceRoot":"","sources":["../../src/routes/sandboxes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;GAEG;AACH,KAAK,UAAU,QAAQ,CAAC,GAAmB,EAAE,KAAa;IACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,KAAoC,CAAC;QACzC,IAAI,OAAmB,CAAC;QAExB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YACjC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAC5B,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9B,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7B,CAAC,CAAC;YACF,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,EAAE;gBAC7B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC;YACjE,CAAC,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,CAAC,KAAM,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,OAAQ,CAAC,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAoB,EAAE,IAAiB,EAAE,OAAe;IACpF,iBAAiB;IACjB,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QACjD,MAAM,IAAI,GAAG,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"sandboxes.js","sourceRoot":"","sources":["../../src/routes/sandboxes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ash-ai/runner",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"@aws-sdk/client-s3": "^3.700.0",
|
|
23
23
|
"better-sqlite3": "^11.0.0",
|
|
24
24
|
"fastify": "^5.2.0",
|
|
25
|
-
"@ash-ai/sandbox": "0.0.
|
|
26
|
-
"@ash-ai/shared": "0.0.
|
|
25
|
+
"@ash-ai/sandbox": "0.0.5",
|
|
26
|
+
"@ash-ai/shared": "0.0.5"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/better-sqlite3": "^7.6.0"
|