@rivet-dev/pi 0.1.0 → 0.5.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 +190 -0
- package/dist/actions.d.ts +1 -1
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +8 -10
- package/dist/actions.js.map +1 -1
- package/dist/actor-config.d.ts +33 -0
- package/dist/actor-config.d.ts.map +1 -0
- package/dist/actor-config.js +87 -0
- package/dist/actor-config.js.map +1 -0
- package/dist/actor-types.d.ts +34 -0
- package/dist/actor-types.d.ts.map +1 -0
- package/dist/actor-types.js +2 -0
- package/dist/actor-types.js.map +1 -0
- package/dist/actor.d.ts +17 -9
- package/dist/actor.d.ts.map +1 -1
- package/dist/actor.js +33 -68
- package/dist/actor.js.map +1 -1
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +2 -1
- package/dist/credentials.js.map +1 -1
- package/dist/drain.d.ts +12 -0
- package/dist/drain.d.ts.map +1 -0
- package/dist/drain.js +20 -0
- package/dist/drain.js.map +1 -0
- package/dist/durable/actions.d.ts +192 -0
- package/dist/durable/actions.d.ts.map +1 -0
- package/dist/durable/actions.js +289 -0
- package/dist/durable/actions.js.map +1 -0
- package/dist/durable/actor-sqlite.d.ts +10 -0
- package/dist/durable/actor-sqlite.d.ts.map +1 -0
- package/dist/durable/actor-sqlite.js +32 -0
- package/dist/durable/actor-sqlite.js.map +1 -0
- package/dist/durable/actor.d.ts +36 -0
- package/dist/durable/actor.d.ts.map +1 -0
- package/dist/durable/actor.js +107 -0
- package/dist/durable/actor.js.map +1 -0
- package/dist/durable/env.d.ts +13 -0
- package/dist/durable/env.d.ts.map +1 -0
- package/dist/durable/env.js +178 -0
- package/dist/durable/env.js.map +1 -0
- package/dist/durable/errors.d.ts +8 -0
- package/dist/durable/errors.d.ts.map +1 -0
- package/dist/durable/errors.js +19 -0
- package/dist/durable/errors.js.map +1 -0
- package/dist/durable/index.d.ts +5 -0
- package/dist/durable/index.d.ts.map +1 -0
- package/dist/durable/index.js +2 -0
- package/dist/durable/index.js.map +1 -0
- package/dist/durable/runtime.d.ts +92 -0
- package/dist/durable/runtime.d.ts.map +1 -0
- package/dist/durable/runtime.js +435 -0
- package/dist/durable/runtime.js.map +1 -0
- package/dist/durable/storage.d.ts +31 -0
- package/dist/durable/storage.d.ts.map +1 -0
- package/dist/durable/storage.js +53 -0
- package/dist/durable/storage.js.map +1 -0
- package/dist/durable/watches.d.ts +77 -0
- package/dist/durable/watches.d.ts.map +1 -0
- package/dist/durable/watches.js +245 -0
- package/dist/durable/watches.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +5 -0
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +13 -6
- package/dist/models.js.map +1 -1
- package/dist/runtime.d.ts +71 -6
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +276 -45
- package/dist/runtime.js.map +1 -1
- package/dist/sandbox.d.ts +9 -3
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/sandbox.js +64 -25
- package/dist/sandbox.js.map +1 -1
- package/dist/storage.d.ts +18 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +49 -0
- package/dist/storage.js.map +1 -1
- package/dist/tracing.d.ts +8 -0
- package/dist/tracing.d.ts.map +1 -1
- package/dist/tracing.js +36 -1
- package/dist/tracing.js.map +1 -1
- package/package.json +46 -15
package/dist/runtime.js
CHANGED
|
@@ -1,12 +1,23 @@
|
|
|
1
1
|
import { isAbsolute } from "node:path";
|
|
2
2
|
import { createAgentSession, DefaultResourceLoader, getAgentDir, SessionManager, SettingsManager, } from "@earendil-works/pi-coding-agent";
|
|
3
|
+
import { UserError } from "rivetkit";
|
|
3
4
|
import { SourceCredentialStore } from "./credentials.js";
|
|
4
5
|
import { createActorModelRuntime, emptyCredentialStore, openingModel, } from "./models.js";
|
|
5
6
|
import { createSandboxBashOperations, createSandboxTools } from "./sandbox.js";
|
|
6
|
-
import { appendPiEntry, createPiSession, loadPiSandbox, loadPiSession, savePiSandbox, savePiSettings, toFileEntries, } from "./storage.js";
|
|
7
|
+
import { appendPiEntry, createPiSession, loadPiInterruptedRun, loadPiSandbox, loadPiSession, migratePiSession, savePiIdle, savePiRunning, savePiSandbox, savePiSettings, toFileEntries, } from "./storage.js";
|
|
8
|
+
function lazySandbox(c, provider) {
|
|
9
|
+
const lazy = {
|
|
10
|
+
current: undefined,
|
|
11
|
+
connect: () => (lazy.current ??= connectSandbox(c, provider).catch((error) => {
|
|
12
|
+
lazy.current = undefined;
|
|
13
|
+
throw error;
|
|
14
|
+
})),
|
|
15
|
+
};
|
|
16
|
+
return lazy;
|
|
17
|
+
}
|
|
7
18
|
export const PI_RUNTIME = Symbol.for("@rivet-dev/pi/runtime");
|
|
8
19
|
export function createPiRuntime() {
|
|
9
|
-
return { writes: Promise.resolve() };
|
|
20
|
+
return { writes: Promise.resolve(), closing: false };
|
|
10
21
|
}
|
|
11
22
|
export function piRuntime(c) {
|
|
12
23
|
const runtime = c.vars?.[PI_RUNTIME];
|
|
@@ -18,6 +29,9 @@ export function piRuntime(c) {
|
|
|
18
29
|
/** Returns the actor's Pi session, opening it from SQLite on first use. */
|
|
19
30
|
export function ensurePiSession(c, options) {
|
|
20
31
|
const runtime = piRuntime(c);
|
|
32
|
+
if (runtime.closing) {
|
|
33
|
+
return Promise.reject(sessionClosed());
|
|
34
|
+
}
|
|
21
35
|
if (!runtime.ready) {
|
|
22
36
|
runtime.ready = openPiSession(c, runtime, options).catch((error) => {
|
|
23
37
|
runtime.ready = undefined;
|
|
@@ -26,26 +40,89 @@ export function ensurePiSession(c, options) {
|
|
|
26
40
|
}
|
|
27
41
|
return runtime.ready;
|
|
28
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Runs the app's own action or hook with `c.pi` set to the session, then
|
|
45
|
+
* saves what it changed, such as the model, as the built-in actions do. Code
|
|
46
|
+
* that never reads `c.pi` runs even when the session cannot open; reading
|
|
47
|
+
* `c.pi` throws the open error. Shutdown hooks pass `opensSession: false`, so
|
|
48
|
+
* they use a session that is already open and never create a session or a
|
|
49
|
+
* sandbox only to close it.
|
|
50
|
+
*/
|
|
51
|
+
export async function withPiSession(c, options, body, { opensSession = true } = {}) {
|
|
52
|
+
const runtime = piRuntime(c);
|
|
53
|
+
// Hooks such as onDisconnect still run after the session closed; only using c.pi fails.
|
|
54
|
+
if (runtime.closing)
|
|
55
|
+
return withUnavailablePi(c, sessionClosed(), body);
|
|
56
|
+
if (!opensSession && !runtime.ready) {
|
|
57
|
+
return withUnavailablePi(c, sessionNotOpen(), body);
|
|
58
|
+
}
|
|
59
|
+
let handle;
|
|
60
|
+
try {
|
|
61
|
+
handle = await ensurePiSession(c, options);
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
c.log.warn({
|
|
65
|
+
msg: "pi session could not open; reading c.pi throws this error",
|
|
66
|
+
error,
|
|
67
|
+
});
|
|
68
|
+
return withUnavailablePi(c, error, body);
|
|
69
|
+
}
|
|
70
|
+
Object.defineProperty(c, "pi", { value: handle.session, configurable: true });
|
|
71
|
+
let result;
|
|
72
|
+
try {
|
|
73
|
+
result = await body();
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
await persistPiState(c, handle).catch((writeError) => {
|
|
77
|
+
c.log.error({
|
|
78
|
+
msg: "pi state write failed after an app action error",
|
|
79
|
+
error: writeError,
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
throw error;
|
|
83
|
+
}
|
|
84
|
+
await persistPiState(c, handle);
|
|
85
|
+
return result;
|
|
86
|
+
}
|
|
87
|
+
/** Runs `body` with a `c.pi` that throws `error` when read. */
|
|
88
|
+
export function withUnavailablePi(c, error, body) {
|
|
89
|
+
Object.defineProperty(c, "pi", {
|
|
90
|
+
get: () => {
|
|
91
|
+
throw error;
|
|
92
|
+
},
|
|
93
|
+
configurable: true,
|
|
94
|
+
});
|
|
95
|
+
return body();
|
|
96
|
+
}
|
|
97
|
+
function sessionNotOpen() {
|
|
98
|
+
return new UserError("The Pi session is not open in this actor generation, so this shutdown hook cannot use c.pi.");
|
|
99
|
+
}
|
|
100
|
+
function sessionClosed() {
|
|
101
|
+
return new UserError("The Pi session is closed because the actor is stopping.");
|
|
102
|
+
}
|
|
29
103
|
/** Pi's built-in tools, which all run on the actor host. */
|
|
30
|
-
const PI_BUILT_IN_TOOLS = [
|
|
104
|
+
const PI_BUILT_IN_TOOLS = [
|
|
105
|
+
"read",
|
|
106
|
+
"bash",
|
|
107
|
+
"powershell",
|
|
108
|
+
"edit",
|
|
109
|
+
"write",
|
|
110
|
+
"grep",
|
|
111
|
+
"find",
|
|
112
|
+
"ls",
|
|
113
|
+
];
|
|
31
114
|
async function openPiSession(c, runtime, options) {
|
|
32
115
|
const { settings, sandbox: sandboxProvider, providers, apiKeys, model, scopedModels, credentials: credentialSource, ...sessionOptions } = options;
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
const cwd =
|
|
116
|
+
const loaded = await loadPiSession(c.db);
|
|
117
|
+
const stored = loaded && (await migratePiSession(c.db, loaded));
|
|
118
|
+
const sandbox = sandboxProvider ? lazySandbox(c, sandboxProvider) : undefined;
|
|
119
|
+
// A new session takes its working directory from the sandbox, so only its first open connects.
|
|
120
|
+
const firstSandbox = sandbox && !stored ? (await sandbox.connect()).sandbox : undefined;
|
|
121
|
+
const cwd = firstSandbox?.cwd ?? stored?.cwd ?? sessionOptions.cwd ?? process.cwd();
|
|
39
122
|
if (!isAbsolute(cwd)) {
|
|
40
123
|
throw new Error(`pi() cwd must be an absolute path, received ${cwd}`);
|
|
41
124
|
}
|
|
42
|
-
|
|
43
|
-
c.log.warn({
|
|
44
|
-
msg: "pi session cwd changed since it was stored",
|
|
45
|
-
storedCwd: stored.cwd,
|
|
46
|
-
cwd,
|
|
47
|
-
});
|
|
48
|
-
}
|
|
125
|
+
const connect = sandbox && (async () => (await sandbox.connect()).sandbox);
|
|
49
126
|
const settingsManager = SettingsManager.inMemory(stored?.settings ?? settings ?? {});
|
|
50
127
|
const sessionManager = stored
|
|
51
128
|
? SessionManager.inMemory(cwd, undefined, toFileEntries(stored))
|
|
@@ -64,8 +141,11 @@ async function openPiSession(c, runtime, options) {
|
|
|
64
141
|
settingsManager,
|
|
65
142
|
sessionManager,
|
|
66
143
|
resourceLoader,
|
|
67
|
-
customTools:
|
|
68
|
-
? [
|
|
144
|
+
customTools: connect
|
|
145
|
+
? [
|
|
146
|
+
...(sessionOptions.customTools ?? []),
|
|
147
|
+
...createSandboxTools(cwd, connect),
|
|
148
|
+
]
|
|
69
149
|
: sessionOptions.customTools,
|
|
70
150
|
excludeTools: [
|
|
71
151
|
...new Set([
|
|
@@ -81,8 +161,10 @@ async function openPiSession(c, runtime, options) {
|
|
|
81
161
|
session,
|
|
82
162
|
settingsManager,
|
|
83
163
|
cwd,
|
|
84
|
-
sandbox
|
|
85
|
-
bashOperations:
|
|
164
|
+
sandbox,
|
|
165
|
+
bashOperations: connect
|
|
166
|
+
? createSandboxBashOperations(cwd, connect)
|
|
167
|
+
: undefined,
|
|
86
168
|
persistedSettings: JSON.stringify(settingsManager.getGlobalSettings()),
|
|
87
169
|
persistedEntryCount: stored?.entries.length ?? 0,
|
|
88
170
|
credentials,
|
|
@@ -109,6 +191,14 @@ async function openPiSession(c, runtime, options) {
|
|
|
109
191
|
});
|
|
110
192
|
});
|
|
111
193
|
}
|
|
194
|
+
// The run state tells the next wake whether a run was cut off.
|
|
195
|
+
if (event.type === "agent_start" ||
|
|
196
|
+
(event.type === "queue_update" && session.isStreaming)) {
|
|
197
|
+
void writeInOrder(c, runtime, () => savePiRunning(c.db, queuedMessages(session)));
|
|
198
|
+
}
|
|
199
|
+
else if (event.type === "agent_settled") {
|
|
200
|
+
void writeInOrder(c, runtime, () => savePiIdle(c.db));
|
|
201
|
+
}
|
|
112
202
|
});
|
|
113
203
|
c.log.info({
|
|
114
204
|
msg: "pi session opened",
|
|
@@ -124,9 +214,9 @@ async function openPiSession(c, runtime, options) {
|
|
|
124
214
|
* provider reports the stored one no longer exists. A new sandbox id is saved
|
|
125
215
|
* as soon as `create` returns, so a failure later in the start reuses it. Any
|
|
126
216
|
* other connect failure is thrown, so a temporary outage never replaces a
|
|
127
|
-
* sandbox.
|
|
217
|
+
* sandbox. `pi()` and `piDurable()` both store the id in `pi_sandbox`.
|
|
128
218
|
*/
|
|
129
|
-
async function connectSandbox(c, provider) {
|
|
219
|
+
export async function connectSandbox(c, provider) {
|
|
130
220
|
const existing = await loadPiSandbox(c.db);
|
|
131
221
|
if (existing && existing.provider !== provider.name) {
|
|
132
222
|
throw new Error(`pi sandbox was created by provider ${existing.provider}, but the actor now uses ${provider.name}`);
|
|
@@ -190,6 +280,78 @@ function flushPiEntries(c, runtime, handle) {
|
|
|
190
280
|
runtime.writes = write.catch(() => { });
|
|
191
281
|
return write;
|
|
192
282
|
}
|
|
283
|
+
/** Runs a SQLite write after the entry writes queued before it. */
|
|
284
|
+
function writeInOrder(c, runtime, write) {
|
|
285
|
+
const next = runtime.writes.then(write);
|
|
286
|
+
runtime.writes = next.catch((error) => {
|
|
287
|
+
c.log.error({ msg: "pi run state write failed", error });
|
|
288
|
+
});
|
|
289
|
+
return next;
|
|
290
|
+
}
|
|
291
|
+
function queuedMessages(session) {
|
|
292
|
+
return {
|
|
293
|
+
steering: [...session.getSteeringMessages()],
|
|
294
|
+
followUp: [...session.getFollowUpMessages()],
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Continues the run that was active when the actor stopped, when Pi's own
|
|
299
|
+
* `Agent.continue()` accepts the transcript: its last message is a user or a
|
|
300
|
+
* tool result message. Otherwise the chat stays as Pi left it, as after an
|
|
301
|
+
* abort. The run continues in the background and keeps the actor awake.
|
|
302
|
+
*/
|
|
303
|
+
export async function resumeInterruptedRun(c, options) {
|
|
304
|
+
const queue = await loadPiInterruptedRun(c.db);
|
|
305
|
+
if (!queue)
|
|
306
|
+
return;
|
|
307
|
+
const handle = await ensurePiSession(c, options);
|
|
308
|
+
const lastRole = handle.session.messages.at(-1)?.role;
|
|
309
|
+
if (lastRole !== "user" && lastRole !== "toolResult") {
|
|
310
|
+
c.log.info({
|
|
311
|
+
msg: "pi run stopped where Pi cannot continue it, leaving the chat as is",
|
|
312
|
+
lastRole,
|
|
313
|
+
});
|
|
314
|
+
await writeInOrder(c, piRuntime(c), () => savePiIdle(c.db));
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
c.log.info({
|
|
318
|
+
msg: "resuming the pi run that was active when the actor stopped",
|
|
319
|
+
lastRole,
|
|
320
|
+
});
|
|
321
|
+
const run = continueRun(handle.session, queue)
|
|
322
|
+
.then(() => persistPiState(c, handle))
|
|
323
|
+
.catch((error) => {
|
|
324
|
+
c.log.error({ msg: "resumed pi run failed", error });
|
|
325
|
+
});
|
|
326
|
+
void c.keepAwake(run);
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Runs `AgentSession`'s own run loop from the stored transcript, so retry,
|
|
330
|
+
* compaction, and queued messages work as in any run. The loop starts with
|
|
331
|
+
* `agent.prompt`; for that one call it continues instead. `pi-coding-agent`
|
|
332
|
+
* is pinned exactly, and the resume test fails if these methods change.
|
|
333
|
+
*/
|
|
334
|
+
async function continueRun(session, queue) {
|
|
335
|
+
const internals = session;
|
|
336
|
+
for (const text of queue.steering)
|
|
337
|
+
await internals._queueSteer(text);
|
|
338
|
+
for (const text of queue.followUp)
|
|
339
|
+
await internals._queueFollowUp(text);
|
|
340
|
+
const agent = session.agent;
|
|
341
|
+
Object.defineProperty(agent, "prompt", {
|
|
342
|
+
configurable: true,
|
|
343
|
+
value: async () => {
|
|
344
|
+
Reflect.deleteProperty(agent, "prompt");
|
|
345
|
+
await agent.continue();
|
|
346
|
+
},
|
|
347
|
+
});
|
|
348
|
+
try {
|
|
349
|
+
await internals._runAgentPrompt([]);
|
|
350
|
+
}
|
|
351
|
+
finally {
|
|
352
|
+
Reflect.deleteProperty(agent, "prompt");
|
|
353
|
+
}
|
|
354
|
+
}
|
|
193
355
|
function broadcastSessionEvent(c, event) {
|
|
194
356
|
try {
|
|
195
357
|
c.broadcast("event", event);
|
|
@@ -220,24 +382,89 @@ export async function persistPiState(c, handle) {
|
|
|
220
382
|
handle.persistedSettings = encoded;
|
|
221
383
|
}
|
|
222
384
|
/**
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
385
|
+
* Aborts the run in memory when RivetKit declares this actor generation lost.
|
|
386
|
+
* The engine may already run the next generation, which resumes the run, so
|
|
387
|
+
* the lost one must stop calling the model and running tools. A lost
|
|
388
|
+
* generation skips `onSleep`, and its storage rejects writes, so nothing is
|
|
389
|
+
* stored here. A normal stop fires the same signal and drains in `onSleep`.
|
|
390
|
+
* Takes the wake context, whose signal is the actor's, not one action's.
|
|
391
|
+
*/
|
|
392
|
+
export function stopRunWhenLost(c) {
|
|
393
|
+
const runtime = piRuntime(c);
|
|
394
|
+
c.abortSignal.addEventListener("abort", () => {
|
|
395
|
+
if (!isLost(c))
|
|
396
|
+
return;
|
|
397
|
+
runtime.closing = true;
|
|
398
|
+
const ready = runtime.ready;
|
|
399
|
+
runtime.ready = undefined;
|
|
400
|
+
void ready
|
|
401
|
+
?.then((handle) => handle.session.abort())
|
|
402
|
+
.catch((error) => c.log.error({ msg: "pi could not abort the lost run", error }));
|
|
403
|
+
c.log.warn({
|
|
404
|
+
msg: "pi actor generation lost, aborting its run; the next generation resumes it",
|
|
405
|
+
});
|
|
406
|
+
}, { once: true });
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* RivetKit releases that stop lost generations expose `isLost` on the actor
|
|
410
|
+
* context. Older releases still run `onSleep` for a lost generation, so the
|
|
411
|
+
* drain handles it there.
|
|
412
|
+
*/
|
|
413
|
+
function isLost(c) {
|
|
414
|
+
return c.isLost === true;
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Waits until the session is idle, or until `drainUntil` passes. Idle sleep
|
|
418
|
+
* never has a run, so this only waits on a forced stop, such as a deploy. The
|
|
419
|
+
* deadline ends before RivetKit's, so closing still fits in the grace period.
|
|
420
|
+
* Pi stores each message as it ends, and the next wake resumes the run.
|
|
421
|
+
*/
|
|
422
|
+
async function drain(c, session, drainUntil) {
|
|
423
|
+
if (session.isIdle)
|
|
424
|
+
return;
|
|
425
|
+
let timer;
|
|
426
|
+
const gracePeriodEnded = new Promise((resolve) => {
|
|
427
|
+
timer = setTimeout(() => resolve(true), Math.max(0, drainUntil - Date.now()));
|
|
428
|
+
});
|
|
429
|
+
try {
|
|
430
|
+
const idle = session.waitForIdle().then(() => false);
|
|
431
|
+
if (await Promise.race([idle, gracePeriodEnded])) {
|
|
432
|
+
c.log.warn({
|
|
433
|
+
msg: "pi run still active at the end of the grace period; it resumes on wake when Pi can continue it",
|
|
434
|
+
});
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
finally {
|
|
438
|
+
clearTimeout(timer);
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Stops the Pi session for this actor generation. On sleep it first waits,
|
|
443
|
+
* until `drainUntil`, for a run to finish. A run still active then is not
|
|
444
|
+
* aborted: the transcript ends at the last message Pi stored, and the next
|
|
445
|
+
* wake resumes it. On destroy it aborts the run at once, since nothing would
|
|
446
|
+
* resume it. Then lets extensions shut down, flushes settings and entries,
|
|
447
|
+
* and suspends the sandbox on sleep, or destroys it on destroy.
|
|
226
448
|
*/
|
|
227
|
-
export async function closePiSession(c, options,
|
|
449
|
+
export async function closePiSession(c, options, stop) {
|
|
228
450
|
const runtime = piRuntime(c);
|
|
229
451
|
const ready = runtime.ready;
|
|
230
|
-
runtime.ready = undefined;
|
|
231
452
|
const errors = [];
|
|
232
453
|
let handle;
|
|
233
454
|
try {
|
|
234
455
|
handle = await ready;
|
|
235
456
|
}
|
|
236
|
-
catch {
|
|
457
|
+
catch { }
|
|
458
|
+
if (handle) {
|
|
459
|
+
const open = handle;
|
|
460
|
+
await attempt(errors, () => stop.reason === "sleep"
|
|
461
|
+
? drain(c, open.session, stop.drainUntil)
|
|
462
|
+
: open.session.abort());
|
|
237
463
|
}
|
|
464
|
+
runtime.closing = true;
|
|
465
|
+
runtime.ready = undefined;
|
|
238
466
|
if (handle) {
|
|
239
467
|
const open = handle;
|
|
240
|
-
await attempt(errors, () => open.session.abort());
|
|
241
468
|
await attempt(errors, async () => {
|
|
242
469
|
if (open.session.hasExtensionHandlers("session_shutdown")) {
|
|
243
470
|
await open.session.extensionRunner.emit({
|
|
@@ -252,18 +479,7 @@ export async function closePiSession(c, options, reason) {
|
|
|
252
479
|
}
|
|
253
480
|
const provider = options.sandbox;
|
|
254
481
|
if (provider) {
|
|
255
|
-
await attempt(errors,
|
|
256
|
-
if (reason === "sleep") {
|
|
257
|
-
if (handle?.sandbox && provider.suspend) {
|
|
258
|
-
await provider.suspend(c, handle.sandbox.id);
|
|
259
|
-
}
|
|
260
|
-
return;
|
|
261
|
-
}
|
|
262
|
-
const sandbox = handle?.sandbox ?? (await storedSandbox(c, provider));
|
|
263
|
-
if (sandbox && provider.destroy) {
|
|
264
|
-
await provider.destroy(c, sandbox.id);
|
|
265
|
-
}
|
|
266
|
-
});
|
|
482
|
+
await attempt(errors, () => closeSandbox(c, provider, handle?.sandbox?.current, stop));
|
|
267
483
|
}
|
|
268
484
|
if (errors.length === 1)
|
|
269
485
|
throw errors[0];
|
|
@@ -271,10 +487,25 @@ export async function closePiSession(c, options, reason) {
|
|
|
271
487
|
throw new AggregateError(errors, "pi session shutdown failed");
|
|
272
488
|
}
|
|
273
489
|
}
|
|
274
|
-
/**
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
490
|
+
/**
|
|
491
|
+
* Suspends the sandbox this generation connected when the actor sleeps. On
|
|
492
|
+
* destroy it destroys the actor's sandbox, also one stored by an earlier
|
|
493
|
+
* generation that this one never connected.
|
|
494
|
+
*/
|
|
495
|
+
export async function closeSandbox(c, provider, connection, stop) {
|
|
496
|
+
const connected = await connection?.catch(() => undefined);
|
|
497
|
+
if (stop.reason === "sleep") {
|
|
498
|
+
if (connected && provider.suspend)
|
|
499
|
+
await provider.suspend(c, connected.id);
|
|
500
|
+
return;
|
|
501
|
+
}
|
|
502
|
+
if (!provider.destroy)
|
|
503
|
+
return;
|
|
504
|
+
const stored = connected ? undefined : await loadPiSandbox(c.db);
|
|
505
|
+
const id = connected?.id ??
|
|
506
|
+
(stored?.provider === provider.name ? stored.id : undefined);
|
|
507
|
+
if (id !== undefined)
|
|
508
|
+
await provider.destroy(c, id);
|
|
278
509
|
}
|
|
279
510
|
async function attempt(errors, operation) {
|
|
280
511
|
try {
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/sandbox.d.ts
CHANGED
|
@@ -4,8 +4,12 @@ import type { Sandbox } from "@rivet-dev/sandbox-adapter";
|
|
|
4
4
|
* Builds Pi's seven built-in coding tools with every file and shell operation
|
|
5
5
|
* routed into the sandbox. Passed as `customTools`, they replace the built-in
|
|
6
6
|
* tools of the same names.
|
|
7
|
+
*
|
|
8
|
+
* The tools see the session's `root`. Each operation connects the sandbox on
|
|
9
|
+
* first use and runs at the same path under the sandbox's own working
|
|
10
|
+
* directory, so a replaced sandbox with another working directory still works.
|
|
7
11
|
*/
|
|
8
|
-
export declare function createSandboxTools(
|
|
12
|
+
export declare function createSandboxTools(sessionRoot: string, connect: () => Promise<Sandbox>): ToolDefinition<any, any, any>[];
|
|
9
13
|
/**
|
|
10
14
|
* Command execution for Pi's bash tool and `executeBash`, inside the sandbox.
|
|
11
15
|
* Follows Pi's `BashOperations` contract: `timeout` is in seconds, and abort
|
|
@@ -13,9 +17,11 @@ export declare function createSandboxTools(sandbox: Sandbox): ToolDefinition<any
|
|
|
13
17
|
*
|
|
14
18
|
* Pi passes the actor host's environment as `options.env`. It is not
|
|
15
19
|
* forwarded, because it holds the host's provider keys; commands run with the
|
|
16
|
-
* sandbox's own environment.
|
|
20
|
+
* sandbox's own environment. Paths map from `sessionRoot` as in
|
|
21
|
+
* `createSandboxTools`.
|
|
17
22
|
*/
|
|
18
|
-
export declare function createSandboxBashOperations(
|
|
23
|
+
export declare function createSandboxBashOperations(sessionRoot: string, connect: () => Promise<Sandbox>): BashOperations;
|
|
19
24
|
/** Resolves `path` against `root` and rejects anything outside it. */
|
|
20
25
|
export declare function resolveSandboxPath(root: string, path: string): string;
|
|
26
|
+
export declare function shellQuote(value: string): string;
|
|
21
27
|
//# sourceMappingURL=sandbox.d.ts.map
|
package/dist/sandbox.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,cAAc,EAUnB,KAAK,cAAc,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAO1D
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,cAAc,EAUnB,KAAK,cAAc,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAO1D;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAC7B,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAsJjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAC1C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAC7B,cAAc,CAkBhB;AAED,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAQrE;AAkDD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD"}
|