@rivet-dev/pi 0.5.2 → 0.5.4

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 CHANGED
@@ -45,6 +45,10 @@ export type PiPromptResult = {
45
45
  reason: string;
46
46
  submissionId: SubmissionId;
47
47
  };
48
+ /** What `submit` returns: the submission, which `submission.status` and `submission.wait` take. */
49
+ export type PiSubmitResult = {
50
+ submissionId: SubmissionId;
51
+ };
48
52
  /** The built-in actions of a `pi()` actor, as clients call them. */
49
53
  export type PiActions = ReturnType<typeof createPiActions>;
50
54
  /**
@@ -120,6 +124,7 @@ export declare function createPiActions(options: PiOptions): {
120
124
  submission: {
121
125
  status: (c: PiContext, id: SubmissionId) => Promise<import("@earendil-works/pi-durable").SubmissionRecord>;
122
126
  wait: (c: PiContext, id: SubmissionId) => Promise<({
127
+ readonly trace?: import("@earendil-works/pi-telemetry").TelemetryCarrier;
123
128
  readonly id: SubmissionId;
124
129
  readonly conversationId: ConversationId;
125
130
  readonly requestId?: string;
@@ -134,6 +139,7 @@ export declare function createPiActions(options: PiOptions): {
134
139
  } & {
135
140
  readonly status: "done" | "unanswered";
136
141
  }) | ({
142
+ readonly trace?: import("@earendil-works/pi-telemetry").TelemetryCarrier;
137
143
  readonly id: SubmissionId;
138
144
  readonly conversationId: ConversationId;
139
145
  readonly requestId?: string;
@@ -148,6 +154,7 @@ export declare function createPiActions(options: PiOptions): {
148
154
  } & {
149
155
  readonly status: "done" | "unanswered";
150
156
  }) | ({
157
+ readonly trace?: import("@earendil-works/pi-telemetry").TelemetryCarrier;
151
158
  readonly id: SubmissionId;
152
159
  readonly conversationId: ConversationId;
153
160
  readonly requestId?: string;
@@ -162,6 +169,7 @@ export declare function createPiActions(options: PiOptions): {
162
169
  } & {
163
170
  readonly status: "done" | "unanswered";
164
171
  }) | ({
172
+ readonly trace?: import("@earendil-works/pi-telemetry").TelemetryCarrier;
165
173
  readonly id: SubmissionId;
166
174
  readonly conversationId: ConversationId;
167
175
  readonly requestId?: string;
@@ -184,8 +192,14 @@ export declare function createPiActions(options: PiOptions): {
184
192
  * `unanswered` with Pi's reason.
185
193
  */
186
194
  prompt: (c: PiContext, content: UserInput, promptOptions?: PiPromptOptions) => Promise<PiPromptResult>;
195
+ /**
196
+ * Submits user input and returns without waiting for the run. Pair it
197
+ * with `onAnswer` to deliver the answer, such as from a webhook that must
198
+ * respond quickly.
199
+ */
200
+ submit: (c: PiContext, content: UserInput, submitOptions?: PiPromptOptions) => Promise<PiSubmitResult>;
187
201
  pi: {
188
- /** Scheduled at the end of a long wait. Opening the harness resumes the waiting work. */
202
+ /** Scheduled for Pi Durable's earliest sleeping task. Resumes the tasks that are due. */
189
203
  wake: (c: PiContext) => Promise<void>;
190
204
  };
191
205
  };
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
package/dist/actions.js CHANGED
@@ -1,8 +1,21 @@
1
1
  import { UserError } from "rivetkit";
2
2
  import { assertModelAllowed } from "./models.js";
3
- import { documentsByKind, piRuntime, withHarness, } from "./runtime.js";
3
+ import { documentsByKind, piRuntime, resumeDueSleeps, withHarness, } from "./runtime.js";
4
4
  import { traceRun } from "./tracing.js";
5
5
  import { unwatch, watch } from "./watches.js";
6
+ /** Submits user input to the conversation in `options`, or the root conversation. */
7
+ async function submitInput(harness, content, options, context) {
8
+ const conversation = options?.conversationId === undefined
9
+ ? await harness.root(context)
10
+ : await requireConversation(harness, options.conversationId, context);
11
+ const submission = await conversation.submit({
12
+ type: "input",
13
+ content,
14
+ requestId: options?.requestId,
15
+ whenBusy: options?.whenBusy,
16
+ }, context);
17
+ return { conversation, submission };
18
+ }
6
19
  /**
7
20
  * The `pi()` actions: Pi Durable's `Harness`, `Conversation`, and
8
21
  * `Submission` methods under `harness`, `conversation`, and `submission`, with
@@ -65,11 +78,11 @@ export function createPiActions(options) {
65
78
  await requireTask(harness, id, context);
66
79
  return harness.abortTask(id, context);
67
80
  }),
68
- waitForTask: (c, id) => run(c, async (harness, context) => {
81
+ waitForTask: (c, id) => run(c, async (harness, context, waiting) => {
69
82
  await requireTask(harness, id, context);
70
- return harness.waitForTask(id, context);
83
+ return waiting(() => harness.waitForTask(id, context));
71
84
  }),
72
- waitForIdle: (c) => run(c, (harness, context) => harness.waitForIdle(context)),
85
+ waitForIdle: (c) => run(c, (harness, context, waiting) => waiting(() => harness.waitForIdle(context))),
73
86
  inspect: (c) => run(c, async (harness, context) => {
74
87
  const inspection = await harness.inspect(context);
75
88
  return {
@@ -129,7 +142,10 @@ export function createPiActions(options) {
129
142
  return { id: forked.id };
130
143
  }),
131
144
  abort: (c, conversationId, abortOptions) => run(c, async (harness, context) => (await requireConversation(harness, conversationId, context)).abort(context, abortOptions)),
132
- waitForIdle: (c, conversationId) => run(c, async (harness, context) => (await requireConversation(harness, conversationId, context)).waitForIdle(context)),
145
+ waitForIdle: (c, conversationId) => run(c, async (harness, context, waiting) => {
146
+ const conversation = await requireConversation(harness, conversationId, context);
147
+ return waiting(() => conversation.waitForIdle(context));
148
+ }),
133
149
  /** The structural view; then `pi.view` frames with Chord operations to this connection. */
134
150
  watch: (c, conversationId) => watchFor(c, {
135
151
  kind: "view",
@@ -145,7 +161,10 @@ export function createPiActions(options) {
145
161
  },
146
162
  submission: {
147
163
  status: (c, id) => run(c, async (harness, context) => (await requireSubmission(harness, id, context)).status(context)),
148
- wait: (c, id) => run(c, async (harness, context) => (await requireSubmission(harness, id, context)).wait(context)),
164
+ wait: (c, id) => run(c, async (harness, context, waiting) => {
165
+ const submission = await requireSubmission(harness, id, context);
166
+ return waiting(() => submission.wait(context));
167
+ }),
149
168
  abort: (c, id) => run(c, async (harness, context) => (await requireSubmission(harness, id, context)).abort(context)),
150
169
  },
151
170
  /**
@@ -153,18 +172,10 @@ export function createPiActions(options) {
153
172
  * answer's text. A model error does not reject: the status is
154
173
  * `unanswered` with Pi's reason.
155
174
  */
156
- prompt: (c, content, promptOptions) => run(c, async (harness, context) => {
157
- const conversation = promptOptions?.conversationId === undefined
158
- ? await harness.root(context)
159
- : await requireConversation(harness, promptOptions.conversationId, context);
160
- const submission = await conversation.submit({
161
- type: "input",
162
- content,
163
- requestId: promptOptions?.requestId,
164
- whenBusy: promptOptions?.whenBusy,
165
- }, context);
175
+ prompt: (c, content, promptOptions) => run(c, async (harness, context, waiting) => {
176
+ const { conversation, submission } = await submitInput(harness, content, promptOptions, context);
166
177
  const model = (await conversation.agent(context)).model;
167
- const settled = await traceRun(c.actorId, conversation.id, model && `${model.provider}/${model.modelId}`, () => submission.wait(context));
178
+ const settled = await traceRun(c.actorId, conversation.id, model && `${model.provider}/${model.modelId}`, () => waiting(() => submission.wait(context)));
168
179
  if (settled.status === "unanswered") {
169
180
  return {
170
181
  status: settled.status,
@@ -180,9 +191,18 @@ export function createPiActions(options) {
180
191
  submissionId: submission.id,
181
192
  };
182
193
  }),
194
+ /**
195
+ * Submits user input and returns without waiting for the run. Pair it
196
+ * with `onAnswer` to deliver the answer, such as from a webhook that must
197
+ * respond quickly.
198
+ */
199
+ submit: (c, content, submitOptions) => run(c, async (harness, context) => {
200
+ const { submission } = await submitInput(harness, content, submitOptions, context);
201
+ return { submissionId: submission.id };
202
+ }),
183
203
  pi: {
184
- /** Scheduled at the end of a long wait. Opening the harness resumes the waiting work. */
185
- wake: (c) => run(c, async () => { }),
204
+ /** Scheduled for Pi Durable's earliest sleeping task. Resumes the tasks that are due. */
205
+ wake: (c) => run(c, () => resumeDueSleeps(c)),
186
206
  },
187
207
  };
188
208
  }
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EACN,eAAe,EAEf,SAAS,EACT,eAAe,EAEf,WAAW,GACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAqD9C,qFAAqF;AACrF,KAAK,UAAU,WAAW,CACzB,OAAgB,EAChB,OAAkB,EAClB,OAAoC,EACpC,OAAgB;IAEhB,MAAM,YAAY,GACjB,OAAO,EAAE,cAAc,KAAK,SAAS;QACpC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,CAAC,CAAC,MAAM,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,MAAM,CAC3C;QACC,IAAI,EAAE,OAAO;QACb,OAAO;QACP,SAAS,EAAE,OAAO,EAAE,SAAS;QAC7B,QAAQ,EAAE,OAAO,EAAE,QAAQ;KAC3B,EACD,OAAO,CACP,CAAC;IACF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACrC,CAAC;AAKD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAkB;IACjD,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,CACX,CAAY,EACZ,IAA0E,EACzE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,CAAC,MAAiC,EAAE,EAAE,CACzD,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAExE;;;;OAIG;IACH,MAAM,QAAQ,GAAG,CAAI,CAAY,EAAE,IAAe,EAAE,EAAE,CACrD,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACjC,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,CAAC,MAAM,KAAK,CAClB,OAAO,CAAC,KAAK,IAAI,CAAC,EAClB,OAAO,CAAC,OAAO,EACf,OAAO,EACP,SAAS,EACT,MAAM,EACN,IAAI,EACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAChD,CAAM,CAAC;IACT,CAAC,CAAC,CAAC;IACJ,MAAM,UAAU,GAAG,CAAC,CAAY,EAAE,IAAe,EAAE,EAAE,CACpD,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE;QACjB,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IACJ,MAAM,kBAAkB,GAAG,KAAK,EAC/B,OAAgB,EAChB,IAAe,EACf,OAAgB,EACf,EAAE;QACH,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;YAAE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;YAC5B,MAAM,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE;QACxC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,SAAS,CAClB,YAAY,IAAI,sCAAsC,CACtD,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC;IAEF,wEAAwE;IACxE,0EAA0E;IAC1E,OAAO;QACN,OAAO,EAAE;YACR,IAAI,EAAE,CAAC,CAAY,EAAE,WAAuC,EAAE,EAAE,CAC/D,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;gBACnC,EAAE,EAAE,CACH,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;oBAC3B,KAAK,EAAE,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC;iBACtC,CAAC,CACF,CAAC,EAAE;aACJ,CAAC,CAAC;YACJ,YAAY,EAAE,CAAC,CAAY,EAAE,EAAkB,EAAE,EAAE,CAClD,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAC3B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CACpD;YACF,kBAAkB,EAAE,CAAC,CAAY,EAAE,MAAmC,EAAE,EAAE,CACzE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;gBACnC,EAAE,EAAE,CACH,MAAM,OAAO,CAAC,kBAAkB,CAC/B,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACjE,OAAO,CACP,CACD,CAAC,EAAE;aACJ,CAAC,CAAC;YACJ,UAAU,EAAE,CAAC,CAAY,EAAE,EAAgB,EAAE,EAAE,CAC9C,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CACjC,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CACxD;YACF,eAAe,EAAE,CAChB,CAAY,EACZ,EAAgB,EAChB,cAA+B,EAC9B,EAAE,CACH,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;gBACjC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAC3C,EAAE,EACF,OAAO,EACP,cAAc,CACd,CAAC;gBACF,IAAI,MAAM,KAAK,WAAW;oBAAE,MAAM,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBACzD,OAAO,MAAM,CAAC;YACf,CAAC,CAAC;YACH,OAAO,EAAE,CAAC,CAAY,EAAE,EAAU,EAAE,EAAE,CACrC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC3D,SAAS,EAAE,CAAC,CAAY,EAAE,EAAU,EAAE,EAAE,CACvC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;gBACjC,MAAM,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;gBACxC,OAAO,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACvC,CAAC,CAAC;YACH,WAAW,EAAE,CAAC,CAAY,EAAE,EAAU,EAAE,EAAE,CACzC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;gBAC1C,MAAM,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;gBACxC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC;YACH,WAAW,EAAE,CAAC,CAAY,EAAE,EAAE,CAC7B,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CACpC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAC3C;YACF,OAAO,EAAE,CAAC,CAAY,EAAE,EAAE,CACzB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;gBACjC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAClD,OAAO;oBACN,GAAG,UAAU;oBACb,uEAAuE;oBACvE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACpC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS;wBAC9D,CAAC,CAAC;4BACA,GAAG,IAAI;4BACP,KAAK,EAAE;gCACN,GAAG,IAAI,CAAC,KAAK;gCACb,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;6BACrC;yBACD;wBACF,CAAC,CAAC,IAAI,CACP;iBACD,CAAC;YACH,CAAC,CAAC;YACH,KAAK,EAAE,CAAC,CAAY,EAAE,EAAE,CACvB,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrD,SAAS,EAAE,CAAC,CAAY,EAAE,EAAE,CAC3B,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;gBACjC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,CAAC;oBACJ,OAAO,KAAK,CAAC,KAAK,CAAC;gBACpB,CAAC;wBAAS,CAAC;oBACV,KAAK,CAAC,OAAO,EAAE,CAAC;gBACjB,CAAC;YACF,CAAC,CAAC;YACH,QAAQ,EAAE,CAAC,CAAY,EAAE,IAAY,EAAE,cAA8B,EAAE,EAAE,CACxE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,CAChE;YACF,qEAAqE;YACrE,cAAc,EAAE,CAAC,CAAY,EAAE,EAAE,CAChC,QAAQ,CAAuB,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;YACzD,gBAAgB,EAAE,CAAC,CAAY,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;YACxE;;;;eAIG;YACH,QAAQ,EAAE,CAAC,CAAY,EAAE,IAAY,EAAE,cAA8B,EAAE,EAAE,CACxE,QAAQ,CAA2C,CAAC,EAAE;gBACrD,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,IAAI;gBACb,cAAc;aACd,CAAC;YACH,UAAU,EAAE,CACX,CAAY,EACZ,IAAY,EACZ,cAA8B,EAC7B,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;SAClE;QAED,YAAY,EAAE;YACb,KAAK,EAAE,CACN,CAAY,EACZ,cAA8B,EACP,EAAE,CACzB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CACjC,SAAS,CACR,MAAM,CACL,MAAM,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAC3D,CAAC,KAAK,CAAC,OAAO,CAAC,CAChB,CACD;YACF,SAAS,EAAE,CACV,CAAY,EACZ,cAA8B,EAC9B,MAAqB,EACpB,EAAE,CACH,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;gBACjC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACrD,MAAM,CACL,MAAM,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAC3D,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChC,CAAC,CAAC;YACH,MAAM,EAAE,CACP,CAAY,EACZ,cAA8B,EAC9B,KAAsB,EACrB,EAAE,CACH,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CACjC,CACC,MAAM,CACL,MAAM,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAC3D,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CACxB,CAAC,MAAM,CAAC,OAAO,CAAC,CACjB;YACF,KAAK,EAAE,CAAC,CAAY,EAAE,cAA8B,EAAE,OAAgB,EAAE,EAAE,CACzE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CACjC,CAAC,MAAM,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAClE,OAAO,EACP,OAAO,CACP,CACD;YACF,OAAO,EAAE,CACR,CAAY,EACZ,cAA8B,EAC9B,YAAqB,EACpB,EAAE,CACH,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CACjC,CAAC,MAAM,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CACpE,YAAY,EACZ,OAAO,CACP,CACD;YACF,OAAO,EAAE,CAAC,CAAY,EAAE,cAA8B,EAAE,EAAE,CACzD,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CACjC,CAAC,MAAM,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CACpE,OAAO,CACP,CACD;YACF,OAAO,EAAE,CACR,CAAY,EACZ,cAA8B,EAC9B,KAAyC,EACzC,KAAa,EACb,MAAe,EACd,EAAE,CACH,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CACjC,CAAC,MAAM,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CACpE,KAAK,EACL,KAAK,EACL,MAAM,EACN,OAAO,CACP,CACD;YACF,IAAI,EAAE,CACL,CAAY,EACZ,cAA8B,EAC9B,EAAW,EACX,IAAiC,EAChC,EAAE,CACH,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;gBACjC,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAC7C,OAAO,EACP,cAAc,EACd,OAAO,CACP,CAAC;gBACF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CACrC,EAAE,EACF,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAC7D,OAAO,CACP,CAAC;gBACF,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;YAC1B,CAAC,CAAC;YACH,KAAK,EAAE,CACN,CAAY,EACZ,cAA8B,EAC9B,YAAuC,EACtC,EAAE,CACH,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CACjC,CAAC,MAAM,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAClE,OAAO,EACP,YAAY,CACZ,CACD;YACF,WAAW,EAAE,CAAC,CAAY,EAAE,cAA8B,EAAE,EAAE,CAC7D,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;gBAC1C,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAC7C,OAAO,EACP,cAAc,EACd,OAAO,CACP,CAAC;gBACF,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC;YACH,2FAA2F;YAC3F,KAAK,EAAE,CAAC,CAAY,EAAE,cAA8B,EAAE,EAAE,CACvD,QAAQ,CAA8B,CAAC,EAAE;gBACxC,IAAI,EAAE,MAAM;gBACZ,cAAc;aACd,CAAC;YACH,OAAO,EAAE,CAAC,CAAY,EAAE,cAA8B,EAAE,EAAE,CACzD,UAAU,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;YAChD,6GAA6G;YAC7G,WAAW,EAAE,CAAC,CAAY,EAAE,cAA8B,EAAE,EAAE,CAC7D,QAAQ,CAA8B,CAAC,EAAE;gBACxC,IAAI,EAAE,QAAQ;gBACd,cAAc;aACd,CAAC;YACH,aAAa,EAAE,CAAC,CAAY,EAAE,cAA8B,EAAE,EAAE,CAC/D,UAAU,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;SAClD;QAED,UAAU,EAAE;YACX,MAAM,EAAE,CAAC,CAAY,EAAE,EAAgB,EAAE,EAAE,CAC1C,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CACjC,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAC/D;YACF,IAAI,EAAE,CAAC,CAAY,EAAE,EAAgB,EAAE,EAAE,CACxC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;gBAC1C,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;gBACjE,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC;YACH,KAAK,EAAE,CAAC,CAAY,EAAE,EAAgB,EAAE,EAAE,CACzC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CACjC,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAC9D;SACF;QAED;;;;WAIG;QACH,MAAM,EAAE,CACP,CAAY,EACZ,OAAkB,EAClB,aAA+B,EAC9B,EAAE,CACH,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAA2B,EAAE;YACnE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,WAAW,CACrD,OAAO,EACP,OAAO,EACP,aAAa,EACb,OAAO,CACP,CAAC;YACF,MAAM,KAAK,GAAG,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YACxD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAC7B,CAAC,CAAC,OAAO,EACT,YAAY,CAAC,EAAE,EACf,KAAK,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,EAC7C,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAC7C,CAAC;YACF,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBACrC,OAAO;oBACN,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,YAAY,EAAE,UAAU,CAAC,EAAE;iBAC3B,CAAC;YACH,CAAC;YACD,OAAO;gBACN,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EACH,OAAO,CAAC,IAAI,KAAK,OAAO;oBACvB,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;oBACzD,CAAC,CAAC,SAAS;gBACb,YAAY,EAAE,UAAU,CAAC,EAAE;aAC3B,CAAC;QACH,CAAC,CAAC;QAEH;;;;WAIG;QACH,MAAM,EAAE,CACP,CAAY,EACZ,OAAkB,EAClB,aAA+B,EAC9B,EAAE,CACH,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAA2B,EAAE;YAC1D,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,WAAW,CACvC,OAAO,EACP,OAAO,EACP,aAAa,EACb,OAAO,CACP,CAAC;YACF,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;QACxC,CAAC,CAAC;QAEH,EAAE,EAAE;YACH,yFAAyF;YACzF,IAAI,EAAE,CAAC,CAAY,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;SACxD;KACD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,CAAY;IACjC,MAAM,IAAI,GAAI,CAA+B,CAAC,IAAI,CAAC;IACnD,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,SAAS,CAClB,yGAAyG,CACzG,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,mBAAmB,CACjC,OAAgB,EAChB,EAAkB,EAClB,OAAgB;IAEhB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,IAAI,SAAS,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC/B,OAAgB,EAChB,EAAgB,EAChB,OAAgB;IAEhB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU;QAAE,MAAM,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAC9C,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,EAAgB;IAC3C,OAAO,IAAI,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,WAAW,CACzB,OAAgB,EAChB,EAAU,EACV,OAAgB;IAEhB,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,SAAS,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAC1B,OAAkB,EAClB,MAAqB;IAErB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,SAAS,CAAC,aAAa,IAAI,oBAAoB,CAAC,CAAC;QACvE,OAAO,KAAK,CAAC;IACd,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,SAAS,CAAC,QAAQ,IAAI,oBAAoB,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,IAAI,CAAC;IACnB,CAAC,CAAC;IAEF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAC9C,OAAO;QACN,GAAG,IAAI;QACP,UAAU,EACT,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;YAC9C,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;gBACvB,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC3B,CAAC,CAAC;oBACA,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC;oBACnC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC;iBACzC;QACL,KAAK,EACJ,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YACpC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;gBAClB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;gBACjB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;KACvC,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAClB,KAAiC;IAEjC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,SAAS,CAAC,KAAY;IAC9B,OAAO;QACN,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;QAC/D,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3C,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;QACtD,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,GAAG,EAAE,KAAK,CAAC,GAAG;KACd,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,KAAK,UAAU,UAAU,CACxB,YAA0B,EAC1B,MAAe,EACf,OAAgB;IAEhB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,CACtC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAC1C,CAAC,EACD,SAAS,EACT,OAAO,CACP,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,OAAO,EAAE,IAAI,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IACpD,OAAO,OAAO,CAAC,OAAO;SACpB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACzD,IAAI,CAAC,EAAE,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IACnC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC"}
@@ -26,7 +26,7 @@ interface UserHooks<TState, TConnParams, TConnState, TVars, TInput, TEvents exte
26
26
  * plus the Pi options in `TOptions`.
27
27
  */
28
28
  export type UserActorConfig<TState, TConnParams, TConnState, TVars, TInput, TEvents extends EventSchemaConfig, TQueues extends QueueSchemaConfig, TUserActions, TOptions, TAccess> = DistributiveOmit<ActorConfigInput<TState, TConnParams, TConnState, TVars, TInput, PiDatabaseProvider, TEvents, TQueues>, "actions" | keyof UserHooks<any, any, any, any, any, any, any, unknown>> & UserHooks<TState, TConnParams, TConnState, TVars, TInput, TEvents, TQueues, TAccess> & TOptions & {
29
- actions?: TUserActions;
29
+ actions?: TUserActions & UserActions<TState, TConnParams, TConnState, TVars, TInput, TEvents, TQueues, TAccess>;
30
30
  };
31
31
  /** The actor definition clients see: the app's actions and events plus the built-in ones. */
32
32
  export type PiActorDefinition<TState, TConnParams, TConnState, TVars, TInput, TEvents extends EventSchemaConfig, TQueues extends QueueSchemaConfig, TUserActions, TBuiltInEvents extends EventSchemaConfig, TBuiltInActions> = ActorDefinition<TState, TConnParams, TConnState, TVars, TInput, PiDatabaseProvider, TEvents & TBuiltInEvents, TQueues, ClientActions<TUserActions, ActionContext<TState, TConnParams, TConnState, TVars, TInput, PiDatabaseProvider, TEvents, TQueues>> & TBuiltInActions>;
@@ -1 +1 @@
1
- {"version":3,"file":"actor-types.d.ts","sourceRoot":"","sources":["../src/actor-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actor-types.d.ts","sourceRoot":"","sources":["../src/actor-types.ts"],"names":[],"mappings":"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"}
package/dist/actor.d.ts CHANGED
@@ -23,7 +23,7 @@ export interface PiAccess {
23
23
  /** The app's own actions, which get `c.pi`. Nested objects become dotted action names. */
24
24
  export type PiUserActions<TState, TConnParams, TConnState, TVars, TInput, TEvents extends EventSchemaConfig, TQueues extends QueueSchemaConfig> = UserActions<TState, TConnParams, TConnState, TVars, TInput, TEvents, TQueues, PiAccess>;
25
25
  /** Ordinary actor config plus the Pi Durable options. The app's actions and lifecycle hooks get `c.pi`. */
26
- export type PiActorConfigInput<TState = undefined, TConnParams = undefined, TConnState = undefined, TVars = undefined, TInput = undefined, TEvents extends EventSchemaConfig = Record<never, never>, TQueues extends QueueSchemaConfig = Record<never, never>, TUserActions extends PiUserActions<TState, TConnParams, TConnState, TVars, TInput, TEvents, TQueues> = Record<never, never>> = UserActorConfig<TState, TConnParams, TConnState, TVars, TInput, TEvents, TQueues, TUserActions, PiOptions, PiAccess>;
26
+ export type PiActorConfigInput<TState = undefined, TConnParams = undefined, TConnState = undefined, TVars = undefined, TInput = undefined, TEvents extends EventSchemaConfig = Record<never, never>, TQueues extends QueueSchemaConfig = Record<never, never>, TUserActions extends Record<string, unknown> = Record<never, never>> = UserActorConfig<TState, TConnParams, TConnState, TVars, TInput, TEvents, TQueues, TUserActions, PiOptions, PiAccess>;
27
27
  /**
28
28
  * Defines a Rivet Actor that owns one Pi Durable harness.
29
29
  *
@@ -32,5 +32,5 @@ export type PiActorConfigInput<TState = undefined, TConnParams = undefined, TCon
32
32
  * actor wakes. The actions match Pi Durable's API one to one. The app's own
33
33
  * actions and lifecycle hooks get the harness as `c.pi`.
34
34
  */
35
- export declare function pi<TState, TConnParams, TConnState, TVars, TInput, TEvents extends EventSchemaConfig = Record<never, never>, TQueues extends QueueSchemaConfig = Record<never, never>, TUserActions extends PiUserActions<TState, TConnParams, TConnState, TVars, TInput, TEvents, TQueues> = PiUserActions<TState, TConnParams, TConnState, TVars, TInput, TEvents, TQueues>>(config: PiActorConfigInput<TState, TConnParams, TConnState, TVars, TInput, TEvents, TQueues, TUserActions>): PiActorDefinition<TState, TConnParams, TConnState, TVars, TInput, TEvents, TQueues, TUserActions, PiEvents, PiActions>;
35
+ export declare function pi<TState, TConnParams, TConnState, TVars, TInput, TEvents extends EventSchemaConfig = Record<never, never>, TQueues extends QueueSchemaConfig = Record<never, never>, TUserActions extends Record<string, unknown> = Record<never, never>>(config: PiActorConfigInput<TState, TConnParams, TConnState, TVars, TInput, TEvents, TQueues, TUserActions>): PiActorDefinition<TState, TConnParams, TConnState, TVars, TInput, TEvents, TQueues, TUserActions, PiEvents, PiActions>;
36
36
  //# sourceMappingURL=actor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actor.d.ts","sourceRoot":"","sources":["../src/actor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actor.d.ts","sourceRoot":"","sources":["../src/actor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAEN,KAAK,iBAAiB,EAEtB,KAAK,iBAAiB,EACtB,KAAK,IAAI,EACT,MAAM,UAAU,CAAC;AAElB,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAO/D,OAAO,KAAK,EACX,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAMN,KAAK,SAAS,EAKd,MAAM,cAAc,CAAC;AAEtB,OAAO,EACN,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAEhB,MAAM,cAAc,CAAC;AAEtB,iFAAiF;AACjF,MAAM,MAAM,QAAQ,GAAG;IACtB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACjC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7B,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACvC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;CAC3B,CAAC;AASF;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACxB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;CACrB;AAED,0FAA0F;AAC1F,MAAM,MAAM,aAAa,CACxB,MAAM,EACN,WAAW,EACX,UAAU,EACV,KAAK,EACL,MAAM,EACN,OAAO,SAAS,iBAAiB,EACjC,OAAO,SAAS,iBAAiB,IAC9B,WAAW,CACd,MAAM,EACN,WAAW,EACX,UAAU,EACV,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,QAAQ,CACR,CAAC;AAEF,2GAA2G;AAC3G,MAAM,MAAM,kBAAkB,CAC7B,MAAM,GAAG,SAAS,EAClB,WAAW,GAAG,SAAS,EACvB,UAAU,GAAG,SAAS,EACtB,KAAK,GAAG,SAAS,EACjB,MAAM,GAAG,SAAS,EAClB,OAAO,SAAS,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACxD,OAAO,SAAS,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACxD,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAChE,eAAe,CAClB,MAAM,EACN,WAAW,EACX,UAAU,EACV,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,YAAY,EACZ,SAAS,EACT,QAAQ,CACR,CAAC;AAqBF;;;;;;;GAOG;AACH,wBAAgB,EAAE,CACjB,MAAM,EACN,WAAW,EACX,UAAU,EACV,KAAK,EACL,MAAM,EACN,OAAO,SAAS,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACxD,OAAO,SAAS,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACxD,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAEnE,MAAM,EAAE,kBAAkB,CACzB,MAAM,EACN,WAAW,EACX,UAAU,EACV,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,YAAY,CACZ,GACC,iBAAiB,CACnB,MAAM,EACN,WAAW,EACX,UAAU,EACV,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,SAAS,CACT,CA6FA"}
package/dist/actor.js CHANGED
@@ -2,7 +2,7 @@ import { actor, event, } from "rivetkit";
2
2
  import { db } from "rivetkit/db";
3
3
  import { createPiActions } from "./actions.js";
4
4
  import { assertNoReservedNames, sharedActorConfig, splitConfig, wrapActions, } from "./actor-config.js";
5
- import { closeHarness, createPiRuntime, openOnWake, PI_RUNTIME, piRuntime, withPiAccess, withUnavailablePi, } from "./runtime.js";
5
+ import { closeHarness, createPiRuntime, openOnWake, PI_RUNTIME, piRuntime, piStopping, withPiAccess, withUnavailablePi, } from "./runtime.js";
6
6
  import { migratePiTables } from "./storage.js";
7
7
  import { unwatchConnection, } from "./watches.js";
8
8
  const piEvents = {
@@ -27,6 +27,7 @@ const piOptionKeys = [
27
27
  "credentials",
28
28
  "sandbox",
29
29
  "documents",
30
+ "onAnswer",
30
31
  ];
31
32
  /**
32
33
  * Defines a Rivet Actor that owns one Pi Durable harness.
@@ -93,6 +94,14 @@ export function pi(config) {
93
94
  },
94
95
  onConnect: withPi(actorConfig.onConnect),
95
96
  onDisconnect: async (c, conn) => {
97
+ // Shutdown runs onDisconnect in the same window as onSleep and
98
+ // onDestroy, in no set order, and those close Pi Durable. So a
99
+ // disconnect during shutdown never uses Pi, and its watches end when
100
+ // the harness closes.
101
+ if (c.abortSignal.aborted || piRuntime(c).status !== "open") {
102
+ await withUnavailablePi(c, piStopping(), () => actorConfig.onDisconnect?.(c, conn));
103
+ return;
104
+ }
96
105
  try {
97
106
  await userOnDisconnect?.(c, conn);
98
107
  }
package/dist/actor.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"actor.js","sourceRoot":"","sources":["../src/actor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actor.js","sourceRoot":"","sources":["../src/actor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { AssistantMessage } from "@earendil-works/pi-ai";
2
+ import { type ConversationId, type HarnessSettings, type RegistryReader } from "@earendil-works/pi-durable";
3
+ import type { PiContext } from "./runtime.js";
4
+ /** A final answer, as `onAnswer` receives it. */
5
+ export interface PiAnswer {
6
+ /** The conversation that answered. The root conversation, unless the app creates others. */
7
+ conversationId: ConversationId;
8
+ /** The answer's text, or `undefined` when it has none. */
9
+ text: string | undefined;
10
+ /** The model's message, with its content blocks and usage. */
11
+ message: AssistantMessage;
12
+ }
13
+ /** Called with the actor's context for every final answer. */
14
+ export type PiOnAnswer = (c: PiContext, answer: PiAnswer) => void | Promise<void>;
15
+ /** The extension that runs `onAnswer`. Conversations that use the default selection get it. */
16
+ export declare const ANSWER_EXTENSION = "rivet-pi-on-answer";
17
+ /**
18
+ * The app's registry and settings plus an extension whose `onYield` hook calls
19
+ * `onAnswer` with this actor's context. A registry's hooks are shared by every
20
+ * actor, so the actor's own view of the registry is the only place that knows
21
+ * which actor answered.
22
+ */
23
+ export declare function withAnswerHook(options: {
24
+ registry: RegistryReader;
25
+ settings?: HarnessSettings;
26
+ }, c: PiContext, onAnswer: PiOnAnswer, report: (error: unknown) => void): {
27
+ registry: RegistryReader;
28
+ settings?: HarnessSettings;
29
+ };
30
+ //# sourceMappingURL=answers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answers.d.ts","sourceRoot":"","sources":["../src/answers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACN,KAAK,cAAc,EAInB,KAAK,eAAe,EAEpB,KAAK,cAAc,EAEnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,iDAAiD;AACjD,MAAM,WAAW,QAAQ;IACxB,4FAA4F;IAC5F,cAAc,EAAE,cAAc,CAAC;IAC/B,0DAA0D;IAC1D,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,8DAA8D;IAC9D,OAAO,EAAE,gBAAgB,CAAC;CAC1B;AAED,8DAA8D;AAC9D,MAAM,MAAM,UAAU,GAAG,CACxB,CAAC,EAAE,SAAS,EACZ,MAAM,EAAE,QAAQ,KACZ,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,+FAA+F;AAC/F,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AAErD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC7B,OAAO,EAAE;IAAE,QAAQ,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,EAAE,eAAe,CAAA;CAAE,EACjE,CAAC,EAAE,SAAS,EACZ,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAC9B;IAAE,QAAQ,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,EAAE,eAAe,CAAA;CAAE,CA2B1D"}
@@ -0,0 +1,81 @@
1
+ import { defineExtension, GenerationTask, hook, } from "@earendil-works/pi-durable";
2
+ /** The extension that runs `onAnswer`. Conversations that use the default selection get it. */
3
+ export const ANSWER_EXTENSION = "rivet-pi-on-answer";
4
+ /**
5
+ * The app's registry and settings plus an extension whose `onYield` hook calls
6
+ * `onAnswer` with this actor's context. A registry's hooks are shared by every
7
+ * actor, so the actor's own view of the registry is the only place that knows
8
+ * which actor answered.
9
+ */
10
+ export function withAnswerHook(options, c, onAnswer, report) {
11
+ const extension = answerExtension(c, onAnswer, report);
12
+ let cached;
13
+ const registry = {
14
+ snapshot() {
15
+ const base = options.registry.snapshot();
16
+ if (cached?.base !== base) {
17
+ cached = { base, snapshot: withExtension(base, extension) };
18
+ }
19
+ return cached.snapshot;
20
+ },
21
+ subscribe: (listener) => options.registry.subscribe(listener),
22
+ };
23
+ // Without a default selection, every installed extension is selected, this one included.
24
+ const settings = options.settings &&
25
+ new Proxy(options.settings, {
26
+ get(target, property, receiver) {
27
+ if (property !== "extensions") {
28
+ return Reflect.get(target, property, receiver);
29
+ }
30
+ return target.extensions && [...target.extensions, extension];
31
+ },
32
+ });
33
+ return { registry, settings };
34
+ }
35
+ function answerExtension(c, onAnswer, report) {
36
+ return defineExtension({
37
+ name: ANSWER_EXTENSION,
38
+ hooks: [
39
+ hook(GenerationTask, {
40
+ onYield: async (message, api, context) => {
41
+ // A run that resumes after a crash yields the same answer again.
42
+ const key = `${ANSWER_EXTENSION}:${message.responseId ?? message.timestamp}`;
43
+ if (await api.memo(key, context))
44
+ return undefined;
45
+ try {
46
+ await onAnswer(c, {
47
+ conversationId: api.conversationId,
48
+ text: answerText(message),
49
+ message,
50
+ });
51
+ }
52
+ catch (error) {
53
+ // A failed delivery leaves the answer in the conversation.
54
+ report(error);
55
+ return undefined;
56
+ }
57
+ await api.memo(key, true, context);
58
+ return undefined;
59
+ },
60
+ }),
61
+ ],
62
+ });
63
+ }
64
+ function withExtension(base, extension) {
65
+ const installed = [...base.installed(), extension];
66
+ return {
67
+ installed: () => installed,
68
+ extension: (name) => name === extension.name ? extension : base.extension(name),
69
+ tools: () => base.tools(),
70
+ sections: () => base.sections(),
71
+ tasks: () => base.tasks(),
72
+ task: (name) => base.task(name),
73
+ };
74
+ }
75
+ function answerText(message) {
76
+ const text = message.content
77
+ .flatMap((block) => (block.type === "text" ? [block.text] : []))
78
+ .join("");
79
+ return text === "" ? undefined : text;
80
+ }
81
+ //# sourceMappingURL=answers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answers.js","sourceRoot":"","sources":["../src/answers.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- export type { PiActions, PiAgentChange, PiAgentInfo, PiCreateConversationOptions, PiPromptOptions, PiPromptResult, } from "./actions.js";
1
+ export type { PiActions, PiAgentChange, PiAgentInfo, PiCreateConversationOptions, PiPromptOptions, PiPromptResult, PiSubmitResult, } from "./actions.js";
2
2
  export { type PiAccess, type PiActorConfigInput, type PiEvents, type PiUserActions, pi, } from "./actor.js";
3
+ export type { PiAnswer, PiOnAnswer } from "./answers.js";
3
4
  export type { PiCredentialInfo, PiCredentialSource, PiProviderCredential, } from "./credentials.js";
4
5
  export type { PiModelOptions, PiProviderConfig } from "./models.js";
5
6
  export type { PiOptions } from "./runtime.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,SAAS,EACT,aAAa,EACb,WAAW,EACX,2BAA2B,EAC3B,eAAe,EACf,cAAc,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,EAAE,GACF,MAAM,YAAY,CAAC;AACpB,YAAY,EACX,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EACX,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,aAAa,GACb,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,SAAS,EACT,aAAa,EACb,WAAW,EACX,2BAA2B,EAC3B,eAAe,EACf,cAAc,EACd,cAAc,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,EAAE,GACF,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EACX,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EACX,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,aAAa,GACb,MAAM,cAAc,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAKN,EAAE,GACF,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAKN,EAAE,GACF,MAAM,YAAY,CAAC"}
package/dist/runtime.d.ts CHANGED
@@ -2,13 +2,16 @@ import type { Context } from "@earendil-works/chord";
2
2
  import type { Models, ModelThinkingLevel } from "@earendil-works/pi-ai";
3
3
  import { type ConversationDocToken, Harness, type HarnessOptions, type HarnessSettings, type ModelRef } from "@earendil-works/pi-durable";
4
4
  import type { Sandbox, SandboxProvider } from "@rivet-dev/sandbox-adapter";
5
- import { type ActorContext } from "rivetkit";
5
+ import { type ActorContext, UserError } from "rivetkit";
6
6
  import type { DatabaseProvider, RawAccess } from "rivetkit/db";
7
+ import { type PiOnAnswer } from "./answers.js";
7
8
  import { type PiModelOptions } from "./models.js";
8
9
  import { type ConnectionWatches } from "./watches.js";
9
10
  export type PiDatabaseProvider = DatabaseProvider<RawAccess>;
10
11
  /** The actor context shape every Pi helper works against. */
11
12
  export type PiContext = ActorContext<any, any, any, any, any, PiDatabaseProvider, any, any>;
13
+ /** Whether Pi Durable is open in this actor generation, or why it closed. */
14
+ export type PiStatus = "open" | "sleeping" | "destroyed";
12
15
  /** How an actor generation stops. A sleep drains until `drainUntil`; a destroy stops at once. */
13
16
  export type PiStop = {
14
17
  reason: "sleep";
@@ -50,19 +53,29 @@ export interface PiOptions extends PiModelOptions {
50
53
  sandbox?: SandboxProvider;
51
54
  /** App documents that clients may read by `kind` with `harness.snapshot`. */
52
55
  documents?: readonly ConversationDocToken<any>[];
56
+ /**
57
+ * Called with the actor's context for every final answer, such as to text
58
+ * it to the user. A run that resumes after a crash can call it again for
59
+ * the same answer if it didn't return. A throw goes to `onReport` and
60
+ * leaves the run as it is.
61
+ */
62
+ onAnswer?: PiOnAnswer;
53
63
  }
54
64
  interface OpenHarness {
55
65
  harness: Harness;
56
- stopBusyWatch: () => void;
57
- isBusy: () => Promise<boolean>;
66
+ /** Calls `listener` whenever Pi's wake value changes. Returns a function that stops it. */
67
+ onWakeChange: (listener: () => void) => () => void;
68
+ /** Resumes Pi's due sleeps, for the scheduled `pi.wake`. */
69
+ resumeDue: () => void;
70
+ stopWake: () => void;
58
71
  }
59
72
  /** Per-actor-generation state, stored on `c.vars` under `PI_RUNTIME`. */
60
73
  export interface PiRuntime {
61
74
  /** The open harness, or the open in progress. */
62
75
  harness?: Promise<OpenHarness>;
63
76
  sandbox?: Promise<ConnectedSandbox>;
64
- /** Set when the actor starts to sleep or is destroyed. */
65
- closing: boolean;
77
+ /** Pi Durable is open until the actor starts to sleep or is destroyed. */
78
+ status: PiStatus;
66
79
  /**
67
80
  * The `onWake` context. Background work (keep-awake, scheduled wakes, the
68
81
  * sandbox, reopening) uses it, because an action's context is cancelled
@@ -71,6 +84,13 @@ export interface PiRuntime {
71
84
  actor?: PiContext;
72
85
  /** Open Pi watches of connections, for this generation. */
73
86
  watches: ConnectionWatches;
87
+ /**
88
+ * Calls that are using the harness and are not waiting on a run. A sleep
89
+ * drains them, so it never closes the harness under a call it admitted.
90
+ */
91
+ calls: number;
92
+ /** Called when a counted call ends. A drain sets it. */
93
+ callEnded?: () => void;
74
94
  }
75
95
  export declare const PI_RUNTIME: unique symbol;
76
96
  export declare function createPiRuntime(): PiRuntime;
@@ -89,7 +109,12 @@ export declare function openOnWake(c: PiContext, options: PiOptions): Promise<Ha
89
109
  * actor drains the run. RivetKit's action signal also fires when the actor
90
110
  * starts to stop, so it cannot cancel a wait.
91
111
  */
92
- export declare function withHarness<T>(c: PiContext, options: PiOptions, run: (harness: Harness, context: Context) => Promise<T>): Promise<T>;
112
+ export declare function withHarness<T>(c: PiContext, options: PiOptions, run: (harness: Harness, context: Context, waiting: Waiting) => Promise<T>): Promise<T>;
113
+ /**
114
+ * Runs a wait on a run, such as `submission.wait`, without holding a sleep.
115
+ * While the run is busy, the run itself holds the sleep.
116
+ */
117
+ export type Waiting = <W>(wait: () => Promise<W>) => Promise<W>;
93
118
  /**
94
119
  * Runs one of the app's own actions or hooks with the harness on `c.pi`. A
95
120
  * failure that left Pi Durable unusable reopens it. The error reaches the
@@ -112,6 +137,10 @@ export declare function parseModelRef(name: string): ModelRef;
112
137
  * sleep, or destroys it on destroy.
113
138
  */
114
139
  export declare function closeHarness(c: PiContext, options: PiOptions, stop: PiStop): Promise<void>;
140
+ /** Resumes Pi's due sleeps when the scheduled `pi.wake` fires. Call it once the harness is open. */
141
+ export declare function resumeDueSleeps(c: PiContext): Promise<void>;
142
+ /** What a shutdown hook gets from `c.pi` once the actor has started to stop. */
143
+ export declare function piStopping(): UserError;
115
144
  /** Runs `body` with a `c.pi` that throws `error` when read. */
116
145
  export declare function withUnavailablePi<T>(c: PiContext, error: unknown, body: () => T | Promise<T>): T | Promise<T>;
117
146
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/dist/runtime.js CHANGED
@@ -4,23 +4,18 @@ import { SqliteStorage } from "@earendil-works/pi-durable/storage/sqlite";
4
4
  import { sandboxEnv } from "@rivet-dev/sandbox-adapter/pi";
5
5
  import { UserError } from "rivetkit";
6
6
  import { actorSqlite } from "./actor-sqlite.js";
7
+ import { ANSWER_EXTENSION, withAnswerHook, } from "./answers.js";
7
8
  import { SourceCredentialStore } from "./credentials.js";
8
9
  import { databaseEnv } from "./database-env.js";
9
10
  import { toClientError } from "./errors.js";
10
11
  import { createActorModelRuntime, emptyCredentialStore, } from "./models.js";
11
12
  import { loadPiSandbox, savePiSandbox } from "./storage.js";
12
13
  import { createConnectionWatches, reattachWatches, stopAllWatches, } from "./watches.js";
13
- /**
14
- * One minute, as in Cloudflare's Pi harness. A retry or poll wait longer than
15
- * this lets the actor sleep, and a scheduled wake reopens Pi Durable at the
16
- * deadline.
17
- */
18
- const LONG_WAIT_MS = 60_000;
19
14
  /** The internal action a scheduled wake calls. */
20
15
  const WAKE_ACTION = "pi.wake";
21
16
  export const PI_RUNTIME = Symbol.for("@rivet-dev/pi/runtime");
22
17
  export function createPiRuntime() {
23
- return { closing: false, watches: createConnectionWatches() };
18
+ return { status: "open", watches: createConnectionWatches(), calls: 0 };
24
19
  }
25
20
  export function piRuntime(c) {
26
21
  const runtime = c.vars?.[PI_RUNTIME];
@@ -41,8 +36,10 @@ export async function openOnWake(c, options) {
41
36
  /** Returns the actor's Pi Durable harness, opening it from SQLite on first use. */
42
37
  async function ensureHarness(c, options, open = { resume: true }) {
43
38
  const runtime = piRuntime(c);
44
- if (runtime.closing)
45
- throw harnessClosed();
39
+ // Callers check the status first, so a closed generation never reopens Pi Durable.
40
+ if (runtime.status !== "open") {
41
+ throw new Error(`pi durable cannot open after it closed (${runtime.status})`);
42
+ }
46
43
  runtime.harness ??= openHarness(runtime.actor ?? c, runtime, options, open).catch((error) => {
47
44
  runtime.harness = undefined;
48
45
  throw toClientError(error);
@@ -58,15 +55,36 @@ async function ensureHarness(c, options, open = { resume: true }) {
58
55
  * starts to stop, so it cannot cancel a wait.
59
56
  */
60
57
  export async function withHarness(c, options, run) {
58
+ const runtime = piRuntime(c);
59
+ if (runtime.status !== "open")
60
+ throw piClosed(runtime.status);
61
61
  const harness = await ensureHarness(c, options);
62
+ const release = countCall(runtime);
62
63
  try {
63
- return await run(harness, BACKGROUND_CONTEXT);
64
+ return await run(harness, BACKGROUND_CONTEXT, (wait) => {
65
+ release();
66
+ return wait();
67
+ });
64
68
  }
65
69
  catch (error) {
66
- const runtime = piRuntime(c);
67
70
  await recoverHarness(runtime.actor ?? c, runtime, options);
68
71
  throw toClientError(error);
69
72
  }
73
+ finally {
74
+ release();
75
+ }
76
+ }
77
+ /** Counts a call until the returned function runs. Calling it again does nothing. */
78
+ function countCall(runtime) {
79
+ runtime.calls += 1;
80
+ let counted = true;
81
+ return () => {
82
+ if (!counted)
83
+ return;
84
+ counted = false;
85
+ runtime.calls -= 1;
86
+ runtime.callEnded?.();
87
+ };
70
88
  }
71
89
  /**
72
90
  * Runs one of the app's own actions or hooks with the harness on `c.pi`. A
@@ -79,8 +97,9 @@ export async function withHarness(c, options, run) {
79
97
  export async function withPiAccess(c, options, body, { opensHarness = true } = {}) {
80
98
  const runtime = piRuntime(c);
81
99
  // Hooks such as onDisconnect still run after Pi Durable closed; only using c.pi fails.
82
- if (runtime.closing)
83
- return withUnavailablePi(c, harnessClosed(), body);
100
+ if (runtime.status !== "open") {
101
+ return withUnavailablePi(c, piClosed(runtime.status), body);
102
+ }
84
103
  if (!opensHarness && !runtime.harness) {
85
104
  return withUnavailablePi(c, harnessNotOpen(), body);
86
105
  }
@@ -96,6 +115,7 @@ export async function withPiAccess(c, options, body, { opensHarness = true } = {
96
115
  return withUnavailablePi(c, error, body);
97
116
  }
98
117
  Object.defineProperty(c, "pi", { value: harness, configurable: true });
118
+ const release = countCall(runtime);
99
119
  try {
100
120
  return await body();
101
121
  }
@@ -103,20 +123,36 @@ export async function withPiAccess(c, options, body, { opensHarness = true } = {
103
123
  await recoverHarness(runtime.actor ?? c, runtime, options);
104
124
  throw toClientError(error);
105
125
  }
126
+ finally {
127
+ release();
128
+ }
106
129
  }
107
130
  function harnessNotOpen() {
108
131
  return new UserError("Pi Durable is not open in this actor generation, so this shutdown hook cannot use c.pi.");
109
132
  }
110
- function harnessClosed() {
111
- return new UserError("Pi Durable is closed because the actor is stopping.");
133
+ /** What a call gets once Pi Durable is closed for this generation. */
134
+ function piClosed(status) {
135
+ return new UserError(status === "sleeping"
136
+ ? "Pi Durable is closed because the actor is going to sleep."
137
+ : "Pi Durable is closed because the actor was destroyed.");
112
138
  }
113
139
  async function openHarness(c, runtime, options, open = { resume: true }) {
114
140
  const storage = await SqliteStorage.open(actorSqlite(c.db));
115
141
  const now = options.now ?? Date.now;
142
+ const { registry, settings } = options.onAnswer
143
+ ? withAnswerHook(options, c, options.onAnswer, (error) => {
144
+ c.log.error({ msg: "pi onAnswer failed", error: String(error) });
145
+ options.onReport?.(error, {
146
+ type: "extension_error",
147
+ extension: ANSWER_EXTENSION,
148
+ });
149
+ })
150
+ : options;
151
+ const wake = wakeActor(c, now);
116
152
  const harness = await Harness.open(storage, {
117
153
  models: options.models ?? (await createModels(c, options)),
118
- registry: options.registry,
119
- settings: options.settings,
154
+ registry,
155
+ settings,
120
156
  env: options.env ??
121
157
  (options.sandbox
122
158
  ? sandboxEnvBuilder(c, runtime, options.sandbox)
@@ -126,21 +162,27 @@ async function openHarness(c, runtime, options, open = { resume: true }) {
126
162
  })),
127
163
  conversationCreated: startingAgent(options),
128
164
  now: options.now,
129
- onReport: (error) => {
130
- // A commit that failed after storage admitted it leaves Pi Durable
131
- // unusable. Background work reports it here, with no action to catch it.
132
- queueMicrotask(() => void recoverHarness(c, runtime, options));
133
- options.onReport?.(error);
165
+ onWake: wake.onWake,
166
+ onReport: (error, info) => {
167
+ // A failed storage call closes the Session. Background work reports it
168
+ // here, with no action to catch it.
169
+ if (info.type === "session_failed") {
170
+ queueMicrotask(() => void recoverHarness(c, runtime, options));
171
+ }
172
+ options.onReport?.(error, info);
134
173
  },
135
174
  }, BACKGROUND_CONTEXT);
175
+ wake.attach(harness);
136
176
  reportBlockedTasks(c, await harness.inspect(BACKGROUND_CONTEXT));
137
177
  if (open.resume)
138
178
  harness.resume();
139
- const isBusy = async () => busyState(await harness.inspect(BACKGROUND_CONTEXT), now(), LONG_WAIT_MS)
140
- .kind === "busy";
141
- const stopBusyWatch = watchBusy(c, harness, now, LONG_WAIT_MS);
142
179
  await reattachWatches(c, runtime.watches, harness, documentsByKind(options));
143
- return { harness, stopBusyWatch, isBusy };
180
+ return {
181
+ harness,
182
+ onWakeChange: wake.subscribe,
183
+ resumeDue: wake.resumeDue,
184
+ stopWake: wake.stop,
185
+ };
144
186
  }
145
187
  /** App documents by `kind`, for clients that name a document. */
146
188
  export function documentsByKind(options) {
@@ -159,7 +201,7 @@ function isUsable(harness) {
159
201
  /** Closes and reopens a harness that Pi Durable refuses to use. The reopened harness resumes from storage. */
160
202
  async function recoverHarness(c, runtime, options) {
161
203
  const current = runtime.harness;
162
- if (!current || runtime.closing)
204
+ if (!current || runtime.status !== "open")
163
205
  return;
164
206
  let open;
165
207
  try {
@@ -168,7 +210,9 @@ async function recoverHarness(c, runtime, options) {
168
210
  catch {
169
211
  return;
170
212
  }
171
- if (runtime.harness !== current || runtime.closing || isUsable(open.harness))
213
+ if (runtime.harness !== current ||
214
+ runtime.status !== "open" ||
215
+ isUsable(open.harness))
172
216
  return;
173
217
  c.log.warn({
174
218
  msg: "pi durable stopped after a failed commit, reopening it from storage",
@@ -189,7 +233,7 @@ async function recoverHarness(c, runtime, options) {
189
233
  await reopened.catch(() => { });
190
234
  }
191
235
  async function closeOpenHarness(open, watches) {
192
- open.stopBusyWatch();
236
+ open.stopWake();
193
237
  await stopAllWatches(watches);
194
238
  await open.harness.close(BACKGROUND_CONTEXT);
195
239
  }
@@ -264,53 +308,23 @@ function reportBlockedTasks(c, inspection) {
264
308
  }
265
309
  }
266
310
  /**
267
- * Whether live work should keep the actor awake. Tasks that run or are ready
268
- * to run do. A task in a retry or poll wait longer than `longWaitMs` does not;
269
- * the actor sleeps and a scheduled wake reopens it at the deadline. Waiting
270
- * and completing tasks depend on other tasks, which decide. Blocked tasks
271
- * never run, so they never keep the actor awake.
272
- */
273
- function busyState(inspection, now, longWaitMs) {
274
- let until;
275
- for (const task of inspection.tasks) {
276
- switch (task.state.kind) {
277
- case "running":
278
- case "ready": {
279
- const deadline = waitDeadline(task.record.state.checkpoint);
280
- if (deadline === undefined || deadline - now <= longWaitMs)
281
- return { kind: "busy" };
282
- until = Math.min(until ?? deadline, deadline);
283
- break;
284
- }
285
- case "waiting":
286
- case "completing":
287
- case "blocked":
288
- break;
289
- }
290
- }
291
- return until === undefined ? { kind: "idle" } : { kind: "waiting", until };
292
- }
293
- /** The deadline of a task checkpoint in Pi's retry or poll phase. */
294
- function waitDeadline(checkpoint) {
295
- if (typeof checkpoint !== "object" ||
296
- checkpoint === null ||
297
- Array.isArray(checkpoint))
298
- return undefined;
299
- if (checkpoint.phase === "retry" && typeof checkpoint.until === "number")
300
- return checkpoint.until;
301
- if (checkpoint.phase === "poll" && typeof checkpoint.pollAt === "number")
302
- return checkpoint.pollAt;
303
- return undefined;
304
- }
305
- /**
306
- * Keeps the actor awake while Pi Durable has live work, rechecking after
307
- * every commit. Returns a function that stops watching.
311
+ * Keeps the actor awake while Pi Durable can run work, and schedules a wake
312
+ * for its earliest sleeping task, such as a retry backoff. Pi calls `onWake`
313
+ * after open and whenever the value changes. With `onWake`, Pi keeps no timer
314
+ * for sleeps, so the scheduled `pi.wake` action resumes them.
315
+ *
316
+ * Pi runs a sleep only once its time has passed, and reports a wake only when
317
+ * the value changes. So a wake that fires early, even by a millisecond,
318
+ * re-reads the value and schedules again.
308
319
  */
309
- function watchBusy(c, harness, now, longWaitMs) {
320
+ function wakeActor(c, now) {
321
+ const listeners = new Set();
322
+ let harness;
323
+ let latest = { active: false };
310
324
  let release;
311
- let scheduledWakeAt;
312
- let checking = false;
313
- let dirty = false;
325
+ let scheduledAt;
326
+ let scheduling = false;
327
+ let fallback;
314
328
  let stopped = false;
315
329
  const stayAwake = () => {
316
330
  if (release)
@@ -323,76 +337,94 @@ function watchBusy(c, harness, now, longWaitMs) {
323
337
  release?.();
324
338
  release = undefined;
325
339
  };
326
- const check = async () => {
327
- if (checking) {
328
- dirty = true;
340
+ const apply = () => {
341
+ if (stopped)
329
342
  return;
330
- }
331
- checking = true;
332
- try {
333
- do {
334
- dirty = false;
335
- const busy = busyState(await harness.inspect(BACKGROUND_CONTEXT), now(), longWaitMs);
336
- if (stopped)
337
- return;
338
- if (busy.kind === "waiting" && busy.until !== scheduledWakeAt) {
339
- // The actor may sleep through a long wait only once its wake is written.
340
- stayAwake();
341
- try {
342
- await c.schedule.at(busy.until, WAKE_ACTION);
343
- scheduledWakeAt = busy.until;
344
- }
345
- catch (error) {
346
- // Pi's own timer then ends the wait, and its commit checks again.
347
- c.log.warn({
348
- msg: "pi durable could not schedule its wake, so the actor stays awake through the wait",
349
- error,
350
- });
351
- }
352
- if (stopped)
353
- return;
354
- }
355
- const canSleep = busy.kind === "idle" ||
356
- (busy.kind === "waiting" && busy.until === scheduledWakeAt);
357
- if (canSleep)
358
- letGo();
359
- else
360
- stayAwake();
361
- } while (dirty && !stopped);
362
- }
363
- catch (error) {
364
- if (!stopped)
365
- c.log.warn({ msg: "pi durable busy check failed", error });
366
- }
367
- finally {
368
- checking = false;
369
- }
343
+ const { active, at } = latest;
344
+ if (active)
345
+ return stayAwake();
346
+ if (at === undefined || at === scheduledAt)
347
+ return letGo();
348
+ // The actor may sleep only once its wake is written.
349
+ stayAwake();
350
+ if (scheduling || fallback?.at === at)
351
+ return;
352
+ scheduling = true;
353
+ c.schedule
354
+ .at(at, WAKE_ACTION)
355
+ .then(() => {
356
+ scheduledAt = at;
357
+ }, (error) => {
358
+ c.log.warn({
359
+ msg: "pi durable could not schedule its wake, so the actor stays awake until it",
360
+ error,
361
+ });
362
+ if (fallback)
363
+ clearTimeout(fallback.timer);
364
+ fallback = {
365
+ at,
366
+ timer: setTimeout(resumeDue, Math.max(0, at - now())),
367
+ };
368
+ })
369
+ .finally(() => {
370
+ scheduling = false;
371
+ apply();
372
+ });
373
+ };
374
+ const resumeDue = () => {
375
+ if (stopped || !harness)
376
+ return;
377
+ harness.resume();
378
+ if (fallback)
379
+ clearTimeout(fallback.timer);
380
+ fallback = undefined;
381
+ scheduledAt = undefined;
382
+ latest = harness.wake();
383
+ apply();
370
384
  };
371
- // Commit listeners must not call Pi Durable, so the check runs after the listener returns.
372
- const unsubscribe = harness.subscribeCommits(() => queueMicrotask(() => void check()));
373
385
  const stop = () => {
374
386
  stopped = true;
375
- unsubscribe();
387
+ if (fallback)
388
+ clearTimeout(fallback.timer);
376
389
  letGo();
377
390
  };
378
391
  // Keep-awake only blocks idle sleep. Once shutdown starts it would only delay it.
379
392
  c.abortSignal.addEventListener("abort", stop, { once: true });
380
- void check();
381
- return () => {
382
- c.abortSignal.removeEventListener("abort", stop);
383
- stop();
393
+ return {
394
+ onWake: (wake) => {
395
+ latest = wake;
396
+ apply();
397
+ for (const listener of listeners)
398
+ listener();
399
+ },
400
+ attach: (opened) => {
401
+ harness = opened;
402
+ },
403
+ subscribe: (listener) => {
404
+ listeners.add(listener);
405
+ return () => listeners.delete(listener);
406
+ },
407
+ resumeDue,
408
+ stop: () => {
409
+ c.abortSignal.removeEventListener("abort", stop);
410
+ stop();
411
+ },
384
412
  };
385
413
  }
386
414
  /**
387
- * Waits until no run is active, or until `drainUntil` passes. Idle sleep
388
- * never has live work, so this only waits on a forced stop, such as an upgrade.
389
- * The deadline ends before RivetKit's, so closing still fits in the grace
390
- * period. Pi's records are already stored, and the next wake resumes the work.
415
+ * Waits until no run is active and no admitted call is using the harness, or
416
+ * until `drainUntil` passes. Idle sleep has no live work, so it waits only for
417
+ * a call that arrived as the sleep started. The deadline ends before
418
+ * RivetKit's, so closing still fits in the grace period. Pi's records are
419
+ * already stored, and the next wake resumes the work.
391
420
  */
392
- async function drain(c, open, drainUntil) {
421
+ async function drain(c, runtime, open, drainUntil) {
393
422
  let changed = () => { };
394
423
  let timedOut = false;
395
424
  const unsubscribe = open.harness.subscribeCommits(() => changed());
425
+ // Pi can settle its wake value after the last commit, so its change counts too.
426
+ const unsubscribeWake = open.onWakeChange(() => changed());
427
+ runtime.callEnded = () => changed();
396
428
  const timer = setTimeout(() => {
397
429
  timedOut = true;
398
430
  changed();
@@ -403,7 +435,7 @@ async function drain(c, open, drainUntil) {
403
435
  const next = new Promise((resolve) => {
404
436
  changed = resolve;
405
437
  });
406
- if (!(await open.isBusy()))
438
+ if (runtime.calls === 0 && !open.harness.wake().active)
407
439
  return;
408
440
  await next;
409
441
  }
@@ -414,6 +446,8 @@ async function drain(c, open, drainUntil) {
414
446
  finally {
415
447
  clearTimeout(timer);
416
448
  unsubscribe();
449
+ unsubscribeWake();
450
+ runtime.callEnded = undefined;
417
451
  }
418
452
  }
419
453
  /**
@@ -432,9 +466,9 @@ export async function closeHarness(c, options, stop) {
432
466
  catch { }
433
467
  // Destroy has no next generation to resume in, so it stops running work at once.
434
468
  if (open && stop.reason === "sleep") {
435
- await drain(c, open, stop.drainUntil).catch((error) => errors.push(error));
469
+ await drain(c, runtime, open, stop.drainUntil).catch((error) => errors.push(error));
436
470
  }
437
- runtime.closing = true;
471
+ runtime.status = stop.reason === "sleep" ? "sleeping" : "destroyed";
438
472
  runtime.harness = undefined;
439
473
  if (open) {
440
474
  await closeOpenHarness(open, runtime.watches).catch((error) => errors.push(error));
@@ -448,6 +482,14 @@ export async function closeHarness(c, options, stop) {
448
482
  if (errors.length > 1)
449
483
  throw new AggregateError(errors, "pi durable shutdown failed");
450
484
  }
485
+ /** Resumes Pi's due sleeps when the scheduled `pi.wake` fires. Call it once the harness is open. */
486
+ export async function resumeDueSleeps(c) {
487
+ (await piRuntime(c).harness)?.resumeDue();
488
+ }
489
+ /** What a shutdown hook gets from `c.pi` once the actor has started to stop. */
490
+ export function piStopping() {
491
+ return new UserError("Pi Durable is closed because the actor is stopping.");
492
+ }
451
493
  /** Runs `body` with a `c.pi` that throws `error` when read. */
452
494
  export function withUnavailablePi(c, error, body) {
453
495
  Object.defineProperty(c, "pi", {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EACN,QAAQ,EAER,SAAS,EACT,OAAO,GAKP,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAqB,SAAS,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACN,uBAAuB,EACvB,oBAAoB,GAEpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAEN,uBAAuB,EACvB,eAAe,EACf,cAAc,GACd,MAAM,cAAc,CAAC;AA0DtB;;;;GAIG;AACH,MAAM,YAAY,GAAG,MAAM,CAAC;AAE5B,kDAAkD;AAClD,MAAM,WAAW,GAAG,SAAS,CAAC;AAyB9B,MAAM,CAAC,MAAM,UAAU,GAAkB,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAE7E,MAAM,UAAU,eAAe;IAC9B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,CAAY;IACrC,MAAM,OAAO,GACZ,CAAC,CAAC,IACF,EAAE,CAAC,UAAU,CAAC,CAAC;IAChB,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACd,qFAAqF,CACrF,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,CAAY,EACZ,OAAkB;IAElB,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IACvB,OAAO,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,mFAAmF;AACnF,KAAK,UAAU,aAAa,CAC3B,CAAY,EACZ,OAAkB,EAClB,OAA4B,EAAE,MAAM,EAAE,IAAI,EAAE;IAE5C,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,OAAO,CAAC,OAAO;QAAE,MAAM,aAAa,EAAE,CAAC;IAC3C,OAAO,CAAC,OAAO,KAAK,WAAW,CAC9B,OAAO,CAAC,KAAK,IAAI,CAAC,EAClB,OAAO,EACP,OAAO,EACP,IAAI,CACJ,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC1B,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;QAC5B,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;AACxC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,CAAY,EACZ,OAAkB,EAClB,GAAuD;IAEvD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC;QACJ,OAAO,MAAM,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,CAAY,EACZ,OAAkB,EAClB,IAA0B,EAC1B,EAAE,YAAY,GAAG,IAAI,KAAiC,EAAE;IAExD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,uFAAuF;IACvF,IAAI,OAAO,CAAC,OAAO;QAAE,OAAO,iBAAiB,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC;IACxE,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvC,OAAO,iBAAiB,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACJ,OAAO,GAAG,MAAM,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YACV,GAAG,EAAE,2DAA2D;YAChE,KAAK;SACL,CAAC,CAAC;QACH,OAAO,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC;QACJ,OAAO,MAAM,IAAI,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACF,CAAC;AAED,SAAS,cAAc;IACtB,OAAO,IAAI,SAAS,CACnB,yFAAyF,CACzF,CAAC;AACH,CAAC;AAED,SAAS,aAAa;IACrB,OAAO,IAAI,SAAS,CAAC,qDAAqD,CAAC,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,WAAW,CACzB,CAAY,EACZ,OAAkB,EAClB,OAAkB,EAClB,OAA4B,EAAE,MAAM,EAAE,IAAI,EAAE;IAE5C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CACjC,OAAO,EACP;QACC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC1D,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,EACF,OAAO,CAAC,GAAG;YACX,CAAC,OAAO,CAAC,OAAO;gBACf,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;gBAChD,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CACX,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;oBACjB,EAAE,EAAE,YAAY,CAAC,CAAC,OAAO,EAAE;oBAC3B,GAAG,EAAE,MAAM,CAAC,GAAG;iBACf,CAAC,CAAC;QACP,mBAAmB,EAAE,aAAa,CAAC,OAAO,CAAC;QAC3C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YACnB,mEAAmE;YACnE,yEAAyE;YACzE,cAAc,CAAC,GAAG,EAAE,CAAC,KAAK,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;KACD,EACD,kBAAkB,CAClB,CAAC;IACF,kBAAkB,CAAC,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACjE,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE,CACzB,SAAS,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC;SACvE,IAAI,KAAK,MAAM,CAAC;IACnB,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IAC/D,MAAM,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,eAAe,CAC9B,OAAkB;IAElB,OAAO,IAAI,GAAG,CACb,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAClE,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,SAAS,QAAQ,CAAC,OAAgB;IACjC,IAAI,CAAC;QACJ,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED,8GAA8G;AAC9G,KAAK,UAAU,cAAc,CAC5B,CAAY,EACZ,OAAkB,EAClB,OAAkB;IAElB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;QAAE,OAAO;IACxC,IAAI,IAAiB,CAAC;IACtB,IAAI,CAAC;QACJ,IAAI,GAAG,MAAM,OAAO,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO;IACR,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAC3E,OAAO;IAER,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QACV,GAAG,EAAE,qEAAqE;KAC1E,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,CAAC,KAAK,IAAI,EAAE;QAC5B,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC7B,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;QAC9D,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;YACX,GAAG,EAAE,mDAAmD;YACxD,KAAK;SACL,CAAC,CAAC;QACH,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC3B,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC9B,IAAiB,EACjB,OAA0B;IAE1B,IAAI,CAAC,aAAa,EAAE,CAAC;IACrB,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,CAAY,EAAE,OAAkB;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;QACtC,CAAC,CAAC,IAAI,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,oBAAoB,CAAC;IACxB,OAAO,uBAAuB,CAC7B,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAC1D,WAAW,CACX,CAAC;AACH,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,aAAa,CAAC,IAAY;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,iDAAiD,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CACrB,OAAkB;IAElB,MAAM,KAAK,GACV,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAC5C,IAAI,KAAK,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IACvE,OAAO,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;QACtD,MAAM,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE;YACpC,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACpD,aAAa,EACZ,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;SAC9D,CAAC,CAAC;QACH,MAAM,OAAO,EAAE,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACnC,CAAC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CACzB,CAAY,EACZ,OAAkB,EAClB,QAAyB;IAEzB,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;QAC1B,OAAO,CAAC,OAAO,KAAK,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;YAC5B,MAAM,KAAK,CAAC;QACb,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;IACxC,CAAC,CAAC;IACF,OAAO,KAAK,EAAE,MAAM,EAAyB,EAAE;QAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC;QACnD,OAAO,UAAU,CAAC,OAAO,EAAE;YAC1B,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE;YACnC,IAAI;YACJ,GAAG,EAAE,MAAM,CAAC,GAAG;SACf,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAY,EAAE,UAA6B;IACtE,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,SAAS;QAC5C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YACV,GAAG,EAAE,+FAA+F;YACpG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;SACvB,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAQD;;;;;;GAMG;AACH,SAAS,SAAS,CACjB,UAA6B,EAC7B,GAAW,EACX,UAAkB;IAElB,IAAI,KAAyB,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrC,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACzB,KAAK,SAAS,CAAC;YACf,KAAK,OAAO,CAAC,CAAC,CAAC;gBACd,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC5D,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,GAAG,GAAG,IAAI,UAAU;oBACzD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBACzB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC9C,MAAM;YACP,CAAC;YACD,KAAK,SAAS,CAAC;YACf,KAAK,YAAY,CAAC;YAClB,KAAK,SAAS;gBACb,MAAM;QACR,CAAC;IACF,CAAC;IACD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC5E,CAAC;AAED,qEAAqE;AACrE,SAAS,YAAY,CAAC,UAAiC;IACtD,IACC,OAAO,UAAU,KAAK,QAAQ;QAC9B,UAAU,KAAK,IAAI;QACnB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QAEzB,OAAO,SAAS,CAAC;IAClB,IAAI,UAAU,CAAC,KAAK,KAAK,OAAO,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ;QACvE,OAAO,UAAU,CAAC,KAAK,CAAC;IACzB,IAAI,UAAU,CAAC,KAAK,KAAK,MAAM,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,QAAQ;QACvE,OAAO,UAAU,CAAC,MAAM,CAAC;IAC1B,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CACjB,CAAY,EACZ,OAAgB,EAChB,GAAiB,EACjB,UAAkB;IAElB,IAAI,OAAiC,CAAC;IACtC,IAAI,eAAmC,CAAC;IACxC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,SAAS,GAAG,GAAG,EAAE;QACtB,IAAI,OAAO;YAAE,OAAO;QACpB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAC;QAC3D,OAAO,GAAG,OAAO,CAAC;QAClB,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,GAAG,EAAE;QAClB,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,GAAG,SAAS,CAAC;IACrB,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACxB,IAAI,QAAQ,EAAE,CAAC;YACd,KAAK,GAAG,IAAI,CAAC;YACb,OAAO;QACR,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC;YACJ,GAAG,CAAC;gBACH,KAAK,GAAG,KAAK,CAAC;gBACd,MAAM,IAAI,GAAG,SAAS,CACrB,MAAM,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,EACzC,GAAG,EAAE,EACL,UAAU,CACV,CAAC;gBACF,IAAI,OAAO;oBAAE,OAAO;gBACpB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;oBAC/D,yEAAyE;oBACzE,SAAS,EAAE,CAAC;oBACZ,IAAI,CAAC;wBACJ,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;wBAC7C,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC9B,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAChB,kEAAkE;wBAClE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;4BACV,GAAG,EAAE,mFAAmF;4BACxF,KAAK;yBACL,CAAC,CAAC;oBACJ,CAAC;oBACD,IAAI,OAAO;wBAAE,OAAO;gBACrB,CAAC;gBACD,MAAM,QAAQ,GACb,IAAI,CAAC,IAAI,KAAK,MAAM;oBACpB,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,eAAe,CAAC,CAAC;gBAC7D,IAAI,QAAQ;oBAAE,KAAK,EAAE,CAAC;;oBACjB,SAAS,EAAE,CAAC;YAClB,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,EAAE;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO;gBAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC;gBAAS,CAAC;YACV,QAAQ,GAAG,KAAK,CAAC;QAClB,CAAC;IACF,CAAC,CAAC;IAEF,2FAA2F;IAC3F,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,CACjD,cAAc,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAClC,CAAC;IACF,MAAM,IAAI,GAAG,GAAG,EAAE;QACjB,OAAO,GAAG,IAAI,CAAC;QACf,WAAW,EAAE,CAAC;QACd,KAAK,EAAE,CAAC;IACT,CAAC,CAAC;IACF,kFAAkF;IAClF,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,KAAK,KAAK,EAAE,CAAC;IACb,OAAO,GAAG,EAAE;QACX,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,EAAE,CAAC;IACR,CAAC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,KAAK,CACnB,CAAY,EACZ,IAAiB,EACjB,UAAkB;IAElB,IAAI,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACvB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,UAAU,CACvB,GAAG,EAAE;QACJ,QAAQ,GAAG,IAAI,CAAC;QAChB,OAAO,EAAE,CAAC;IACX,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CACpC,CAAC;IACF,IAAI,CAAC;QACJ,OAAO,CAAC,QAAQ,EAAE,CAAC;YAClB,sEAAsE;YACtE,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAC1C,OAAO,GAAG,OAAO,CAAC;YACnB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBAAE,OAAO;YACnC,MAAM,IAAI,CAAC;QACZ,CAAC;QACD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YACV,GAAG,EAAE,gFAAgF;SACrF,CAAC,CAAC;IACJ,CAAC;YAAS,CAAC;QACV,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,WAAW,EAAE,CAAC;IACf,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,CAAY,EACZ,OAAkB,EAClB,IAAY;IAEZ,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,IAAI,IAA6B,CAAC;IAClC,IAAI,CAAC;QACJ,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,iFAAiF;IACjF,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QACrC,MAAM,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAC9D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAC5B,IAAI,IAAI,EAAE,CAAC;QACV,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CACtE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,IAAI,QAAQ,EAAE,CAAC;QACd,MAAM,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAC3D,CAAC,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CACtC,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QACpB,MAAM,IAAI,cAAc,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;AACjE,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,iBAAiB,CAChC,CAAY,EACZ,KAAc,EACd,IAA0B;IAE1B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE;QAC9B,GAAG,EAAE,GAAG,EAAE;YACT,MAAM,KAAK,CAAC;QACb,CAAC;QACD,YAAY,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,OAAO,IAAI,EAAE,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,CAAY,EACZ,QAAyB;IAEzB,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3C,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CACd,sCAAsC,QAAQ,CAAC,QAAQ,4BAA4B,QAAQ,CAAC,IAAI,EAAE,CAClG,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,OAAO;YAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;QAC3D,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YACV,GAAG,EAAE,2FAA2F;YAChG,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,SAAS,EAAE,QAAQ,CAAC,EAAE;SACtB,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACd,cAAc,QAAQ,CAAC,IAAI,IAAI,EAAE,2CAA2C,CAC5E,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,CAAY,EACZ,QAAyB,EACzB,UAAiD,EACjD,IAAY;IAEZ,MAAM,SAAS,GAAG,MAAM,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC7B,IAAI,SAAS,IAAI,QAAQ,CAAC,OAAO;YAAE,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3E,OAAO;IACR,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,OAAO;QAAE,OAAO;IAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,EAAE,GACP,SAAS,EAAE,EAAE;QACb,CAAC,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9D,IAAI,EAAE,KAAK,SAAS;QAAE,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rivet-dev/pi",
3
- "version": "0.5.2",
3
+ "version": "0.5.4",
4
4
  "description": "Run the Pi coding agent as a durable Rivet Actor",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -41,22 +41,25 @@
41
41
  "main": "./dist/index.js",
42
42
  "types": "./dist/index.d.ts",
43
43
  "dependencies": {
44
- "@earendil-works/pi-coding-agent": "^1.0.4",
44
+ "@earendil-works/pi-coding-agent": "^1.4.0",
45
45
  "@opentelemetry/api": "^1.1.0",
46
- "@rivet-dev/sandbox-adapter": "0.5.2"
46
+ "@rivet-dev/sandbox-adapter": "0.5.4"
47
47
  },
48
48
  "peerDependencies": {
49
- "@earendil-works/chord": "^1.0.0",
50
- "@earendil-works/pi-durable": "^1.0.0",
51
- "rivetkit": ">=2.3.23 <2.4.0"
49
+ "@earendil-works/chord": "^1.4.0",
50
+ "@earendil-works/pi-ai": "^1.4.0",
51
+ "@earendil-works/pi-durable": "^1.4.0",
52
+ "@earendil-works/pi-telemetry": "^1.4.0",
53
+ "rivetkit": ">=2.3.28 <2.4.0 || ^3.0.0-preview.2"
52
54
  },
53
55
  "devDependencies": {
54
- "@earendil-works/chord": "^1.1.0",
55
- "@earendil-works/pi-ai": "^1.1.0",
56
- "@earendil-works/pi-durable": "^1.1.0",
56
+ "@earendil-works/chord": "1.4.0",
57
+ "@earendil-works/pi-ai": "1.4.0",
58
+ "@earendil-works/pi-durable": "1.4.0",
59
+ "@earendil-works/pi-telemetry": "1.4.0",
57
60
  "@opentelemetry/sdk-trace-node": "2.11.0",
58
61
  "@types/node": "^24.0.0",
59
- "rivetkit": "2.3.23",
62
+ "rivetkit": "3.0.0-preview.2",
60
63
  "typescript": "^5.9.2",
61
64
  "vitest": "^3.2.4"
62
65
  },