@rivet-dev/pi 0.5.0 → 0.5.1
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/actions.d.ts +188 -77
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +276 -101
- package/dist/actions.js.map +1 -1
- package/dist/actor-config.d.ts +1 -2
- package/dist/actor-config.d.ts.map +1 -1
- package/dist/actor-config.js +1 -2
- package/dist/actor-config.js.map +1 -1
- package/dist/actor-sqlite.d.ts.map +1 -0
- package/dist/actor-sqlite.js.map +1 -0
- package/dist/actor.d.ts +21 -17
- package/dist/actor.d.ts.map +1 -1
- package/dist/actor.js +62 -34
- package/dist/actor.js.map +1 -1
- package/dist/credentials.d.ts +3 -4
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +11 -39
- package/dist/credentials.js.map +1 -1
- package/dist/drain.d.ts +1 -1
- package/dist/drain.js +1 -1
- package/dist/durable.d.ts +24 -0
- package/dist/durable.d.ts.map +1 -0
- package/dist/durable.js +5 -0
- package/dist/durable.js.map +1 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +4 -35
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +0 -70
- package/dist/models.js.map +1 -1
- package/dist/runtime.d.ts +84 -81
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +394 -406
- package/dist/runtime.js.map +1 -1
- package/dist/storage.d.ts +27 -45
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +28 -99
- package/dist/storage.js.map +1 -1
- package/dist/tracing.d.ts +4 -9
- package/dist/tracing.d.ts.map +1 -1
- package/dist/tracing.js +4 -40
- package/dist/tracing.js.map +1 -1
- package/dist/{durable/watches.d.ts → watches.d.ts} +1 -1
- package/dist/watches.d.ts.map +1 -0
- package/dist/{durable/watches.js → watches.js} +1 -1
- package/dist/watches.js.map +1 -0
- package/package.json +10 -18
- package/dist/durable/actions.d.ts +0 -192
- package/dist/durable/actions.d.ts.map +0 -1
- package/dist/durable/actions.js +0 -289
- package/dist/durable/actions.js.map +0 -1
- package/dist/durable/actor-sqlite.d.ts.map +0 -1
- package/dist/durable/actor-sqlite.js.map +0 -1
- package/dist/durable/actor.d.ts +0 -36
- package/dist/durable/actor.d.ts.map +0 -1
- package/dist/durable/actor.js +0 -107
- package/dist/durable/actor.js.map +0 -1
- package/dist/durable/env.d.ts +0 -13
- package/dist/durable/env.d.ts.map +0 -1
- package/dist/durable/env.js +0 -178
- package/dist/durable/env.js.map +0 -1
- package/dist/durable/errors.d.ts.map +0 -1
- package/dist/durable/errors.js.map +0 -1
- package/dist/durable/index.d.ts +0 -5
- package/dist/durable/index.d.ts.map +0 -1
- package/dist/durable/index.js +0 -2
- package/dist/durable/index.js.map +0 -1
- package/dist/durable/runtime.d.ts +0 -92
- package/dist/durable/runtime.d.ts.map +0 -1
- package/dist/durable/runtime.js +0 -435
- package/dist/durable/runtime.js.map +0 -1
- package/dist/durable/storage.d.ts +0 -31
- package/dist/durable/storage.d.ts.map +0 -1
- package/dist/durable/storage.js +0 -53
- package/dist/durable/storage.js.map +0 -1
- package/dist/durable/watches.d.ts.map +0 -1
- package/dist/durable/watches.js.map +0 -1
- package/dist/sandbox.d.ts +0 -27
- package/dist/sandbox.d.ts.map +0 -1
- package/dist/sandbox.js +0 -224
- package/dist/sandbox.js.map +0 -1
- /package/dist/{durable/actor-sqlite.d.ts → actor-sqlite.d.ts} +0 -0
- /package/dist/{durable/actor-sqlite.js → actor-sqlite.js} +0 -0
- /package/dist/{durable/errors.d.ts → errors.d.ts} +0 -0
- /package/dist/{durable/errors.js → errors.js} +0 -0
package/dist/durable/runtime.js
DELETED
|
@@ -1,435 +0,0 @@
|
|
|
1
|
-
import { BACKGROUND_CONTEXT } from "@earendil-works/chord/context";
|
|
2
|
-
import { AgentDoc, configure, Harness, } from "@earendil-works/pi-durable";
|
|
3
|
-
import { SqliteStorage } from "@earendil-works/pi-durable/storage/sqlite";
|
|
4
|
-
import { UserError } from "rivetkit";
|
|
5
|
-
import { SourceCredentialStore } from "../credentials.js";
|
|
6
|
-
import { createActorModelRuntime, emptyCredentialStore, } from "../models.js";
|
|
7
|
-
import { closeSandbox, connectSandbox, withUnavailablePi, } from "../runtime.js";
|
|
8
|
-
import { actorSqlite } from "./actor-sqlite.js";
|
|
9
|
-
import { sandboxEnv } from "./env.js";
|
|
10
|
-
import { toClientError } from "./errors.js";
|
|
11
|
-
import { createConnectionWatches, reattachWatches, stopAllWatches, } from "./watches.js";
|
|
12
|
-
/**
|
|
13
|
-
* One minute, as in Cloudflare's Pi harness. A retry or poll wait longer than
|
|
14
|
-
* this lets the actor sleep, and a scheduled wake reopens Pi Durable at the
|
|
15
|
-
* deadline.
|
|
16
|
-
*/
|
|
17
|
-
const LONG_WAIT_MS = 60_000;
|
|
18
|
-
/** The internal action a scheduled wake calls. */
|
|
19
|
-
const WAKE_ACTION = "pi.wake";
|
|
20
|
-
export const PI_DURABLE_RUNTIME = Symbol.for("@rivet-dev/pi/durable/runtime");
|
|
21
|
-
export function createPiDurableRuntime() {
|
|
22
|
-
return { closing: false, watches: createConnectionWatches() };
|
|
23
|
-
}
|
|
24
|
-
export function piDurableRuntime(c) {
|
|
25
|
-
const runtime = c.vars?.[PI_DURABLE_RUNTIME];
|
|
26
|
-
if (!runtime) {
|
|
27
|
-
throw new Error("piDurable() runtime state is missing from actor vars; this actor was not created with piDurable()");
|
|
28
|
-
}
|
|
29
|
-
return runtime;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Opens the harness on wake without resuming interrupted work, so the app's
|
|
33
|
-
* `onWake` runs first. The caller calls `harness.resume()` after it. The wake
|
|
34
|
-
* context becomes the context of all background work.
|
|
35
|
-
*/
|
|
36
|
-
export async function openOnWake(c, options) {
|
|
37
|
-
piDurableRuntime(c).actor = c;
|
|
38
|
-
return ensureHarness(c, options, { resume: false });
|
|
39
|
-
}
|
|
40
|
-
/** Returns the actor's Pi Durable harness, opening it from SQLite on first use. */
|
|
41
|
-
async function ensureHarness(c, options, open = { resume: true }) {
|
|
42
|
-
const runtime = piDurableRuntime(c);
|
|
43
|
-
if (runtime.closing)
|
|
44
|
-
throw harnessClosed();
|
|
45
|
-
runtime.harness ??= openHarness(runtime.actor ?? c, runtime, options, open).catch((error) => {
|
|
46
|
-
runtime.harness = undefined;
|
|
47
|
-
throw toClientError(error);
|
|
48
|
-
});
|
|
49
|
-
return (await runtime.harness).harness;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Runs an action against the harness. A failed call that left Pi Durable
|
|
53
|
-
* unusable reopens it before the error reaches the client, so the next call
|
|
54
|
-
* works. Calls use `BACKGROUND_CONTEXT`, so a wait such as `prompt` lasts
|
|
55
|
-
* until the run settles or the action times out, including while a stopping
|
|
56
|
-
* actor drains the run. RivetKit's action signal also fires when the actor
|
|
57
|
-
* starts to stop, so it cannot cancel a wait.
|
|
58
|
-
*/
|
|
59
|
-
export async function withHarness(c, options, run) {
|
|
60
|
-
const harness = await ensureHarness(c, options);
|
|
61
|
-
try {
|
|
62
|
-
return await run(harness, BACKGROUND_CONTEXT);
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
const runtime = piDurableRuntime(c);
|
|
66
|
-
await recoverHarness(runtime.actor ?? c, runtime, options);
|
|
67
|
-
throw toClientError(error);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Runs one of the app's own actions or hooks with the harness on `c.pi`. A
|
|
72
|
-
* failure that left Pi Durable unusable reopens it. The error reaches the
|
|
73
|
-
* client as from a built-in action. Code that never reads `c.pi` runs even
|
|
74
|
-
* when Pi Durable is closed or cannot open; reading `c.pi` throws the cause.
|
|
75
|
-
* Shutdown hooks pass `opensHarness: false`, so they use a harness that is
|
|
76
|
-
* already open and never open and resume one only to close it.
|
|
77
|
-
*/
|
|
78
|
-
export async function withPiAccess(c, options, body, { opensHarness = true } = {}) {
|
|
79
|
-
const runtime = piDurableRuntime(c);
|
|
80
|
-
// Hooks such as onDisconnect still run after Pi Durable closed; only using c.pi fails.
|
|
81
|
-
if (runtime.closing)
|
|
82
|
-
return withUnavailablePi(c, harnessClosed(), body);
|
|
83
|
-
if (!opensHarness && !runtime.harness) {
|
|
84
|
-
return withUnavailablePi(c, harnessNotOpen(), body);
|
|
85
|
-
}
|
|
86
|
-
let harness;
|
|
87
|
-
try {
|
|
88
|
-
harness = await ensureHarness(c, options);
|
|
89
|
-
}
|
|
90
|
-
catch (error) {
|
|
91
|
-
c.log.warn({
|
|
92
|
-
msg: "pi durable could not open; reading c.pi throws this error",
|
|
93
|
-
error,
|
|
94
|
-
});
|
|
95
|
-
return withUnavailablePi(c, error, body);
|
|
96
|
-
}
|
|
97
|
-
Object.defineProperty(c, "pi", { value: harness, configurable: true });
|
|
98
|
-
try {
|
|
99
|
-
return await body();
|
|
100
|
-
}
|
|
101
|
-
catch (error) {
|
|
102
|
-
await recoverHarness(runtime.actor ?? c, runtime, options);
|
|
103
|
-
throw toClientError(error);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
function harnessNotOpen() {
|
|
107
|
-
return new UserError("Pi Durable is not open in this actor generation, so this shutdown hook cannot use c.pi.");
|
|
108
|
-
}
|
|
109
|
-
function harnessClosed() {
|
|
110
|
-
return new UserError("Pi Durable is closed because the actor is stopping.");
|
|
111
|
-
}
|
|
112
|
-
async function openHarness(c, runtime, options, open = { resume: true }) {
|
|
113
|
-
const storage = await SqliteStorage.open(actorSqlite(c.db));
|
|
114
|
-
const now = options.now ?? Date.now;
|
|
115
|
-
const harness = await Harness.open(storage, {
|
|
116
|
-
models: options.models ?? (await createModels(c, options)),
|
|
117
|
-
registry: options.registry,
|
|
118
|
-
settings: options.settings,
|
|
119
|
-
env: options.env ??
|
|
120
|
-
(options.sandbox
|
|
121
|
-
? sandboxEnvBuilder(c, runtime, options.sandbox)
|
|
122
|
-
: undefined),
|
|
123
|
-
conversationCreated: startingAgent(options),
|
|
124
|
-
now: options.now,
|
|
125
|
-
onReport: (error) => {
|
|
126
|
-
// A commit that failed after storage admitted it leaves Pi Durable
|
|
127
|
-
// unusable. Background work reports it here, with no action to catch it.
|
|
128
|
-
queueMicrotask(() => void recoverHarness(c, runtime, options));
|
|
129
|
-
options.onReport?.(error);
|
|
130
|
-
},
|
|
131
|
-
}, BACKGROUND_CONTEXT);
|
|
132
|
-
reportBlockedTasks(c, await harness.inspect(BACKGROUND_CONTEXT));
|
|
133
|
-
if (open.resume)
|
|
134
|
-
harness.resume();
|
|
135
|
-
const isBusy = async () => busyState(await harness.inspect(BACKGROUND_CONTEXT), now(), LONG_WAIT_MS)
|
|
136
|
-
.kind === "busy";
|
|
137
|
-
const stopBusyWatch = watchBusy(c, harness, now, LONG_WAIT_MS);
|
|
138
|
-
await reattachWatches(c, runtime.watches, harness, documentsByKind(options));
|
|
139
|
-
return { harness, stopBusyWatch, isBusy };
|
|
140
|
-
}
|
|
141
|
-
/** App documents by `kind`, for clients that name a document. */
|
|
142
|
-
export function documentsByKind(options) {
|
|
143
|
-
return new Map((options.documents ?? []).map((doc) => [doc.definition.kind, doc]));
|
|
144
|
-
}
|
|
145
|
-
/** Pi Durable refuses every call once a commit failed after storage admitted it. */
|
|
146
|
-
function isUsable(harness) {
|
|
147
|
-
try {
|
|
148
|
-
harness.subscribeClose(() => { })();
|
|
149
|
-
return true;
|
|
150
|
-
}
|
|
151
|
-
catch {
|
|
152
|
-
return false;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
/** Closes and reopens a harness that Pi Durable refuses to use. The reopened harness resumes from storage. */
|
|
156
|
-
async function recoverHarness(c, runtime, options) {
|
|
157
|
-
const current = runtime.harness;
|
|
158
|
-
if (!current || runtime.closing)
|
|
159
|
-
return;
|
|
160
|
-
let open;
|
|
161
|
-
try {
|
|
162
|
-
open = await current;
|
|
163
|
-
}
|
|
164
|
-
catch {
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
if (runtime.harness !== current || runtime.closing || isUsable(open.harness))
|
|
168
|
-
return;
|
|
169
|
-
c.log.warn({
|
|
170
|
-
msg: "pi durable stopped after a failed commit, reopening it from storage",
|
|
171
|
-
});
|
|
172
|
-
const reopened = (async () => {
|
|
173
|
-
await closeOpenHarness(open, runtime.watches);
|
|
174
|
-
return openHarness(c, runtime, options);
|
|
175
|
-
})().catch((error) => {
|
|
176
|
-
if (runtime.harness === reopened)
|
|
177
|
-
runtime.harness = undefined;
|
|
178
|
-
c.log.error({
|
|
179
|
-
msg: "pi durable could not reopen after a failed commit",
|
|
180
|
-
error,
|
|
181
|
-
});
|
|
182
|
-
throw toClientError(error);
|
|
183
|
-
});
|
|
184
|
-
runtime.harness = reopened;
|
|
185
|
-
await reopened.catch(() => { });
|
|
186
|
-
}
|
|
187
|
-
async function closeOpenHarness(open, watches) {
|
|
188
|
-
open.stopBusyWatch();
|
|
189
|
-
await stopAllWatches(watches);
|
|
190
|
-
await open.harness.close(BACKGROUND_CONTEXT);
|
|
191
|
-
}
|
|
192
|
-
async function createModels(c, options) {
|
|
193
|
-
const credentials = options.credentials
|
|
194
|
-
? new SourceCredentialStore(options.credentials(c))
|
|
195
|
-
: emptyCredentialStore;
|
|
196
|
-
return createActorModelRuntime({ providers: options.providers, apiKeys: options.apiKeys }, credentials);
|
|
197
|
-
}
|
|
198
|
-
/** Parses `provider/modelId`. */
|
|
199
|
-
export function parseModelRef(name) {
|
|
200
|
-
const slash = name.indexOf("/");
|
|
201
|
-
if (slash <= 0 || slash === name.length - 1) {
|
|
202
|
-
throw new Error(`piDurable() model must be provider/modelId, received ${name}`);
|
|
203
|
-
}
|
|
204
|
-
return { provider: name.slice(0, slash), modelId: name.slice(slash + 1) };
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* `model` and `thinkingLevel` start every new conversation: root, created, and
|
|
208
|
-
* forked. A fork already has its parent's agent, so it keeps it. The app's own
|
|
209
|
-
* `conversationCreated` runs after this.
|
|
210
|
-
*/
|
|
211
|
-
function startingAgent(options) {
|
|
212
|
-
const model = options.model === undefined ? undefined : parseModelRef(options.model);
|
|
213
|
-
const thinkingLevel = options.thinkingLevel;
|
|
214
|
-
const created = options.conversationCreated;
|
|
215
|
-
if (model === undefined && thinkingLevel === undefined)
|
|
216
|
-
return created;
|
|
217
|
-
return async (tx, conversation) => {
|
|
218
|
-
const agent = await tx.doc(AgentDoc, conversation.id);
|
|
219
|
-
await configure(tx, conversation.id, {
|
|
220
|
-
model: agent.model === undefined ? model : undefined,
|
|
221
|
-
thinkingLevel: agent.thinkingLevel === undefined ? thinkingLevel : undefined,
|
|
222
|
-
});
|
|
223
|
-
await created?.(tx, conversation);
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
/** Connects the sandbox on the first tool call that needs it. */
|
|
227
|
-
function sandboxEnvBuilder(c, runtime, provider) {
|
|
228
|
-
return async (target) => {
|
|
229
|
-
runtime.sandbox ??= connectSandbox(c, provider).catch((error) => {
|
|
230
|
-
runtime.sandbox = undefined;
|
|
231
|
-
throw error;
|
|
232
|
-
});
|
|
233
|
-
const connected = await runtime.sandbox;
|
|
234
|
-
return sandboxEnv(`${provider.name}:${connected.id}`, connected.sandbox, target.cwd);
|
|
235
|
-
};
|
|
236
|
-
}
|
|
237
|
-
function reportBlockedTasks(c, inspection) {
|
|
238
|
-
for (const task of inspection.tasks) {
|
|
239
|
-
if (task.state.kind !== "blocked")
|
|
240
|
-
continue;
|
|
241
|
-
c.log.warn({
|
|
242
|
-
msg: "pi durable task is blocked and does not keep the actor awake; inspect it with harness.inspect",
|
|
243
|
-
taskId: task.record.id,
|
|
244
|
-
kind: task.record.kind,
|
|
245
|
-
reason: task.state.reason,
|
|
246
|
-
error: task.state.error,
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Whether live work should keep the actor awake. Tasks that run or are ready
|
|
252
|
-
* to run do. A task in a retry or poll wait longer than `longWaitMs` does not;
|
|
253
|
-
* the actor sleeps and a scheduled wake reopens it at the deadline. Waiting
|
|
254
|
-
* and completing tasks depend on other tasks, which decide. Blocked tasks
|
|
255
|
-
* never run, so they never keep the actor awake.
|
|
256
|
-
*/
|
|
257
|
-
function busyState(inspection, now, longWaitMs) {
|
|
258
|
-
let until;
|
|
259
|
-
for (const task of inspection.tasks) {
|
|
260
|
-
switch (task.state.kind) {
|
|
261
|
-
case "running":
|
|
262
|
-
case "ready": {
|
|
263
|
-
const deadline = waitDeadline(task.record.state.checkpoint);
|
|
264
|
-
if (deadline === undefined || deadline - now <= longWaitMs)
|
|
265
|
-
return { kind: "busy" };
|
|
266
|
-
until = Math.min(until ?? deadline, deadline);
|
|
267
|
-
break;
|
|
268
|
-
}
|
|
269
|
-
case "waiting":
|
|
270
|
-
case "completing":
|
|
271
|
-
case "blocked":
|
|
272
|
-
break;
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
return until === undefined ? { kind: "idle" } : { kind: "waiting", until };
|
|
276
|
-
}
|
|
277
|
-
/** The deadline of a task checkpoint in Pi's retry or poll phase. */
|
|
278
|
-
function waitDeadline(checkpoint) {
|
|
279
|
-
if (typeof checkpoint !== "object" ||
|
|
280
|
-
checkpoint === null ||
|
|
281
|
-
Array.isArray(checkpoint))
|
|
282
|
-
return undefined;
|
|
283
|
-
if (checkpoint.phase === "retry" && typeof checkpoint.until === "number")
|
|
284
|
-
return checkpoint.until;
|
|
285
|
-
if (checkpoint.phase === "poll" && typeof checkpoint.pollAt === "number")
|
|
286
|
-
return checkpoint.pollAt;
|
|
287
|
-
return undefined;
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* Keeps the actor awake while Pi Durable has live work, rechecking after
|
|
291
|
-
* every commit. Returns a function that stops watching.
|
|
292
|
-
*/
|
|
293
|
-
function watchBusy(c, harness, now, longWaitMs) {
|
|
294
|
-
let release;
|
|
295
|
-
let scheduledWakeAt;
|
|
296
|
-
let checking = false;
|
|
297
|
-
let dirty = false;
|
|
298
|
-
let stopped = false;
|
|
299
|
-
const stayAwake = () => {
|
|
300
|
-
if (release)
|
|
301
|
-
return;
|
|
302
|
-
const { promise, resolve } = Promise.withResolvers();
|
|
303
|
-
release = resolve;
|
|
304
|
-
void c.keepAwake(promise);
|
|
305
|
-
};
|
|
306
|
-
const letGo = () => {
|
|
307
|
-
release?.();
|
|
308
|
-
release = undefined;
|
|
309
|
-
};
|
|
310
|
-
const check = async () => {
|
|
311
|
-
if (checking) {
|
|
312
|
-
dirty = true;
|
|
313
|
-
return;
|
|
314
|
-
}
|
|
315
|
-
checking = true;
|
|
316
|
-
try {
|
|
317
|
-
do {
|
|
318
|
-
dirty = false;
|
|
319
|
-
const busy = busyState(await harness.inspect(BACKGROUND_CONTEXT), now(), longWaitMs);
|
|
320
|
-
if (stopped)
|
|
321
|
-
return;
|
|
322
|
-
if (busy.kind === "waiting" && busy.until !== scheduledWakeAt) {
|
|
323
|
-
// The actor may sleep through a long wait only once its wake is written.
|
|
324
|
-
stayAwake();
|
|
325
|
-
try {
|
|
326
|
-
await c.schedule.at(busy.until, WAKE_ACTION);
|
|
327
|
-
scheduledWakeAt = busy.until;
|
|
328
|
-
}
|
|
329
|
-
catch (error) {
|
|
330
|
-
// Pi's own timer then ends the wait, and its commit checks again.
|
|
331
|
-
c.log.warn({
|
|
332
|
-
msg: "pi durable could not schedule its wake, so the actor stays awake through the wait",
|
|
333
|
-
error,
|
|
334
|
-
});
|
|
335
|
-
}
|
|
336
|
-
if (stopped)
|
|
337
|
-
return;
|
|
338
|
-
}
|
|
339
|
-
const canSleep = busy.kind === "idle" ||
|
|
340
|
-
(busy.kind === "waiting" && busy.until === scheduledWakeAt);
|
|
341
|
-
if (canSleep)
|
|
342
|
-
letGo();
|
|
343
|
-
else
|
|
344
|
-
stayAwake();
|
|
345
|
-
} while (dirty && !stopped);
|
|
346
|
-
}
|
|
347
|
-
catch (error) {
|
|
348
|
-
if (!stopped)
|
|
349
|
-
c.log.warn({ msg: "pi durable busy check failed", error });
|
|
350
|
-
}
|
|
351
|
-
finally {
|
|
352
|
-
checking = false;
|
|
353
|
-
}
|
|
354
|
-
};
|
|
355
|
-
// Commit listeners must not call Pi Durable, so the check runs after the listener returns.
|
|
356
|
-
const unsubscribe = harness.subscribeCommits(() => queueMicrotask(() => void check()));
|
|
357
|
-
const stop = () => {
|
|
358
|
-
stopped = true;
|
|
359
|
-
unsubscribe();
|
|
360
|
-
letGo();
|
|
361
|
-
};
|
|
362
|
-
// Keep-awake only blocks idle sleep. Once shutdown starts it would only delay it.
|
|
363
|
-
c.abortSignal.addEventListener("abort", stop, { once: true });
|
|
364
|
-
void check();
|
|
365
|
-
return () => {
|
|
366
|
-
c.abortSignal.removeEventListener("abort", stop);
|
|
367
|
-
stop();
|
|
368
|
-
};
|
|
369
|
-
}
|
|
370
|
-
/**
|
|
371
|
-
* Waits until no run is active, or until `drainUntil` passes. Idle sleep
|
|
372
|
-
* never has live work, so this only waits on a forced stop, such as a deploy.
|
|
373
|
-
* The deadline ends before RivetKit's, so closing still fits in the grace
|
|
374
|
-
* period. Pi's records are already stored, and the next wake resumes the work.
|
|
375
|
-
*/
|
|
376
|
-
async function drain(c, open, drainUntil) {
|
|
377
|
-
let changed = () => { };
|
|
378
|
-
let timedOut = false;
|
|
379
|
-
const unsubscribe = open.harness.subscribeCommits(() => changed());
|
|
380
|
-
const timer = setTimeout(() => {
|
|
381
|
-
timedOut = true;
|
|
382
|
-
changed();
|
|
383
|
-
}, Math.max(0, drainUntil - Date.now()));
|
|
384
|
-
try {
|
|
385
|
-
while (!timedOut) {
|
|
386
|
-
// Armed before the check, so a commit during the check is not missed.
|
|
387
|
-
const next = new Promise((resolve) => {
|
|
388
|
-
changed = resolve;
|
|
389
|
-
});
|
|
390
|
-
if (!(await open.isBusy()))
|
|
391
|
-
return;
|
|
392
|
-
await next;
|
|
393
|
-
}
|
|
394
|
-
c.log.warn({
|
|
395
|
-
msg: "pi durable run still active at the end of the grace period; it resumes on wake",
|
|
396
|
-
});
|
|
397
|
-
}
|
|
398
|
-
finally {
|
|
399
|
-
clearTimeout(timer);
|
|
400
|
-
unsubscribe();
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
/**
|
|
404
|
-
* Closes Pi Durable for this actor generation. On sleep it drains first. On
|
|
405
|
-
* destroy it stops running work at once. Records of interrupted work stay
|
|
406
|
-
* running, and the next open resumes them. Then suspends the sandbox on
|
|
407
|
-
* sleep, or destroys it on destroy.
|
|
408
|
-
*/
|
|
409
|
-
export async function closeHarness(c, options, stop) {
|
|
410
|
-
const runtime = piDurableRuntime(c);
|
|
411
|
-
const errors = [];
|
|
412
|
-
let open;
|
|
413
|
-
try {
|
|
414
|
-
open = await runtime.harness;
|
|
415
|
-
}
|
|
416
|
-
catch { }
|
|
417
|
-
// Destroy has no next generation to resume in, so it stops running work at once.
|
|
418
|
-
if (open && stop.reason === "sleep") {
|
|
419
|
-
await drain(c, open, stop.drainUntil).catch((error) => errors.push(error));
|
|
420
|
-
}
|
|
421
|
-
runtime.closing = true;
|
|
422
|
-
runtime.harness = undefined;
|
|
423
|
-
if (open) {
|
|
424
|
-
await closeOpenHarness(open, runtime.watches).catch((error) => errors.push(error));
|
|
425
|
-
}
|
|
426
|
-
const provider = options.sandbox;
|
|
427
|
-
if (provider) {
|
|
428
|
-
await closeSandbox(c, provider, runtime.sandbox, stop).catch((error) => errors.push(error));
|
|
429
|
-
}
|
|
430
|
-
if (errors.length === 1)
|
|
431
|
-
throw errors[0];
|
|
432
|
-
if (errors.length > 1)
|
|
433
|
-
throw new AggregateError(errors, "pi durable shutdown failed");
|
|
434
|
-
}
|
|
435
|
-
//# sourceMappingURL=runtime.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/durable/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { PiDatabase } from "../storage.js";
|
|
2
|
-
/**
|
|
3
|
-
* `piDurable()`'s own tables. Pi Durable creates its tables in the same
|
|
4
|
-
* database itself. The sandbox id lives in `pi_sandbox`, the same table and
|
|
5
|
-
* helpers as `pi()`.
|
|
6
|
-
*/
|
|
7
|
-
export declare const migratePiDurableTables: (db: import("rivetkit/unstable/migrations").MigrationDatabase) => Promise<void>;
|
|
8
|
-
/** A watch a connection asked for. Stored so a connection that survives sleep gets its watches back on wake. */
|
|
9
|
-
export type StoredWatch = {
|
|
10
|
-
connId: string;
|
|
11
|
-
key: string;
|
|
12
|
-
spec: WatchSpec;
|
|
13
|
-
};
|
|
14
|
-
export type WatchSpec = {
|
|
15
|
-
kind: "events";
|
|
16
|
-
conversationId: number;
|
|
17
|
-
} | {
|
|
18
|
-
kind: "view";
|
|
19
|
-
conversationId: number;
|
|
20
|
-
} | {
|
|
21
|
-
kind: "taskGraph";
|
|
22
|
-
} | {
|
|
23
|
-
kind: "doc";
|
|
24
|
-
docKind: string;
|
|
25
|
-
conversationId: number;
|
|
26
|
-
};
|
|
27
|
-
export declare function saveWatch(db: PiDatabase, watch: StoredWatch): Promise<void>;
|
|
28
|
-
export declare function deleteWatch(db: PiDatabase, connId: string, key: string): Promise<void>;
|
|
29
|
-
export declare function deleteConnectionWatches(db: PiDatabase, connId: string): Promise<void>;
|
|
30
|
-
export declare function loadWatches(db: PiDatabase): Promise<StoredWatch[]>;
|
|
31
|
-
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/durable/storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,iFA0BjC,CAAC;AAEH,gHAAgH;AAChH,MAAM,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,SAAS,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,wBAAsB,SAAS,CAC9B,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,WAAW,GAChB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAsB,WAAW,CAChC,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,uBAAuB,CAC5C,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAYxE"}
|
package/dist/durable/storage.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { migrations } from "rivetkit/unstable/migrations";
|
|
2
|
-
/**
|
|
3
|
-
* `piDurable()`'s own tables. Pi Durable creates its tables in the same
|
|
4
|
-
* database itself. The sandbox id lives in `pi_sandbox`, the same table and
|
|
5
|
-
* helpers as `pi()`.
|
|
6
|
-
*/
|
|
7
|
-
export const migratePiDurableTables = migrations({
|
|
8
|
-
tableName: "pi_durable_schema_version",
|
|
9
|
-
migrations: [
|
|
10
|
-
{
|
|
11
|
-
version: 1,
|
|
12
|
-
sql: `
|
|
13
|
-
CREATE TABLE pi_sandbox (
|
|
14
|
-
singleton INTEGER PRIMARY KEY CHECK (singleton = 1),
|
|
15
|
-
provider TEXT NOT NULL,
|
|
16
|
-
sandbox_id TEXT NOT NULL,
|
|
17
|
-
created_at INTEGER NOT NULL
|
|
18
|
-
) STRICT;
|
|
19
|
-
`,
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
version: 2,
|
|
23
|
-
sql: `
|
|
24
|
-
CREATE TABLE pi_durable_watch (
|
|
25
|
-
conn_id TEXT NOT NULL,
|
|
26
|
-
watch_key TEXT NOT NULL,
|
|
27
|
-
spec_json TEXT NOT NULL CHECK (json_valid(spec_json)),
|
|
28
|
-
PRIMARY KEY (conn_id, watch_key)
|
|
29
|
-
) STRICT, WITHOUT ROWID;
|
|
30
|
-
`,
|
|
31
|
-
},
|
|
32
|
-
],
|
|
33
|
-
});
|
|
34
|
-
export async function saveWatch(db, watch) {
|
|
35
|
-
await db.execute(`INSERT INTO pi_durable_watch (conn_id, watch_key, spec_json) VALUES (?, ?, ?)
|
|
36
|
-
ON CONFLICT (conn_id, watch_key) DO NOTHING`, watch.connId, watch.key, JSON.stringify(watch.spec));
|
|
37
|
-
}
|
|
38
|
-
export async function deleteWatch(db, connId, key) {
|
|
39
|
-
await db.execute(`DELETE FROM pi_durable_watch WHERE conn_id = ? AND watch_key = ?`, connId, key);
|
|
40
|
-
}
|
|
41
|
-
export async function deleteConnectionWatches(db, connId) {
|
|
42
|
-
await db.execute(`DELETE FROM pi_durable_watch WHERE conn_id = ?`, connId);
|
|
43
|
-
}
|
|
44
|
-
export async function loadWatches(db) {
|
|
45
|
-
const rows = await db.execute(`SELECT conn_id, watch_key, spec_json FROM pi_durable_watch`);
|
|
46
|
-
return rows.map((row) => ({
|
|
47
|
-
connId: row.conn_id,
|
|
48
|
-
key: row.watch_key,
|
|
49
|
-
// Only `saveWatch` writes this column, from a `WatchSpec`.
|
|
50
|
-
spec: JSON.parse(row.spec_json),
|
|
51
|
-
}));
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=storage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/durable/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;IAChD,SAAS,EAAE,2BAA2B;IACtC,UAAU,EAAE;QACX;YACC,OAAO,EAAE,CAAC;YACV,GAAG,EAAE;;;;;;;IAOJ;SACD;QACD;YACC,OAAO,EAAE,CAAC;YACV,GAAG,EAAE;;;;;;;IAOJ;SACD;KACD;CACD,CAAC,CAAC;AAeH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC9B,EAAc,EACd,KAAkB;IAElB,MAAM,EAAE,CAAC,OAAO,CACf;+CAC6C,EAC7C,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,GAAG,EACT,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAC1B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,EAAc,EACd,MAAc,EACd,GAAW;IAEX,MAAM,EAAE,CAAC,OAAO,CACf,kEAAkE,EAClE,MAAM,EACN,GAAG,CACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC5C,EAAc,EACd,MAAc;IAEd,MAAM,EAAE,CAAC,OAAO,CAAC,gDAAgD,EAAE,MAAM,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAc;IAC/C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAI1B,4DAA4D,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzB,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,GAAG,EAAE,GAAG,CAAC,SAAS;QAClB,2DAA2D;QAC3D,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAc;KAC5C,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"watches.d.ts","sourceRoot":"","sources":["../../src/durable/watches.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"watches.js","sourceRoot":"","sources":["../../src/durable/watches.ts"],"names":[],"mappings":"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"}
|
package/dist/sandbox.d.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { type BashOperations, type ToolDefinition } from "@earendil-works/pi-coding-agent";
|
|
2
|
-
import type { Sandbox } from "@rivet-dev/sandbox-adapter";
|
|
3
|
-
/**
|
|
4
|
-
* Builds Pi's seven built-in coding tools with every file and shell operation
|
|
5
|
-
* routed into the sandbox. Passed as `customTools`, they replace the built-in
|
|
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.
|
|
11
|
-
*/
|
|
12
|
-
export declare function createSandboxTools(sessionRoot: string, connect: () => Promise<Sandbox>): ToolDefinition<any, any, any>[];
|
|
13
|
-
/**
|
|
14
|
-
* Command execution for Pi's bash tool and `executeBash`, inside the sandbox.
|
|
15
|
-
* Follows Pi's `BashOperations` contract: `timeout` is in seconds, and abort
|
|
16
|
-
* and timeout reject with `aborted` and `timeout:<seconds>`.
|
|
17
|
-
*
|
|
18
|
-
* Pi passes the actor host's environment as `options.env`. It is not
|
|
19
|
-
* forwarded, because it holds the host's provider keys; commands run with the
|
|
20
|
-
* sandbox's own environment. Paths map from `sessionRoot` as in
|
|
21
|
-
* `createSandboxTools`.
|
|
22
|
-
*/
|
|
23
|
-
export declare function createSandboxBashOperations(sessionRoot: string, connect: () => Promise<Sandbox>): BashOperations;
|
|
24
|
-
/** Resolves `path` against `root` and rejects anything outside it. */
|
|
25
|
-
export declare function resolveSandboxPath(root: string, path: string): string;
|
|
26
|
-
export declare function shellQuote(value: string): string;
|
|
27
|
-
//# sourceMappingURL=sandbox.d.ts.map
|
package/dist/sandbox.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|