rivetkit 0.0.0-main.72cbc7c → 0.0.0-main.879b6a2
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/browser/client.d.ts +506 -77
- package/dist/browser/client.js +230 -171
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/inspector/client.js +50 -20
- package/dist/browser/inspector/client.js.map +1 -1
- package/dist/tsup/actor/errors.cjs +2 -2
- package/dist/tsup/actor/errors.d.cts +1 -1
- package/dist/tsup/actor/errors.d.ts +1 -1
- package/dist/tsup/actor/errors.js +1 -1
- package/dist/tsup/agent-os/index.cjs +2163 -2087
- package/dist/tsup/agent-os/index.cjs.map +1 -1
- package/dist/tsup/agent-os/index.d.cts +504 -76
- package/dist/tsup/agent-os/index.d.ts +504 -76
- package/dist/tsup/agent-os/index.js +2163 -2087
- package/dist/tsup/agent-os/index.js.map +1 -1
- package/dist/tsup/{chunk-HSTK7OBI.js → chunk-2SROCV3H.js} +4 -4
- package/dist/tsup/chunk-2SROCV3H.js.map +1 -0
- package/dist/tsup/{chunk-EI55QOUB.js → chunk-3BJAEEQ2.js} +69 -79
- package/dist/tsup/chunk-3BJAEEQ2.js.map +1 -0
- package/dist/tsup/{chunk-YQQ2ZDKT.cjs → chunk-6CGX44N2.cjs} +225 -235
- package/dist/tsup/chunk-6CGX44N2.cjs.map +1 -0
- package/dist/tsup/{chunk-DFHHCPH7.js → chunk-6LUE5746.js} +22 -7
- package/dist/tsup/chunk-6LUE5746.js.map +1 -0
- package/dist/tsup/{chunk-LI5MR5BD.js → chunk-7FICVO7D.js} +134 -20
- package/dist/tsup/chunk-7FICVO7D.js.map +1 -0
- package/dist/tsup/{chunk-4KSYSQHX.js → chunk-AOKMZWB4.js} +2 -2
- package/dist/tsup/{chunk-KIWH5H3K.js → chunk-BRP62GZC.js} +3 -3
- package/dist/tsup/chunk-BRP62GZC.js.map +1 -0
- package/dist/tsup/{chunk-OFP533QU.cjs → chunk-DBO3JXK2.cjs} +3 -3
- package/dist/tsup/{chunk-OFP533QU.cjs.map → chunk-DBO3JXK2.cjs.map} +1 -1
- package/dist/tsup/{chunk-T6YVRM4K.js → chunk-DPIMKYNB.js} +63 -2
- package/dist/tsup/chunk-DPIMKYNB.js.map +1 -0
- package/dist/tsup/{chunk-5DGOZZKE.cjs → chunk-E7HPUUKW.cjs} +24 -9
- package/dist/tsup/chunk-E7HPUUKW.cjs.map +1 -0
- package/dist/tsup/{chunk-OQSBGFIB.cjs → chunk-FZYM7UPI.cjs} +10 -10
- package/dist/tsup/chunk-FZYM7UPI.cjs.map +1 -0
- package/dist/tsup/{chunk-PJSE5ZGN.js → chunk-G2G2MQ5N.js} +6 -6
- package/dist/tsup/chunk-G2G2MQ5N.js.map +1 -0
- package/dist/tsup/{chunk-3YY5S6TV.js → chunk-HXUEHHJF.js} +2 -2
- package/dist/tsup/chunk-HXUEHHJF.js.map +1 -0
- package/dist/tsup/{chunk-O25KOT5C.cjs → chunk-IHP6HIZ2.cjs} +44 -15
- package/dist/tsup/chunk-IHP6HIZ2.cjs.map +1 -0
- package/dist/tsup/{chunk-PCBNKI2J.js → chunk-JZ7TWV65.js} +1 -1
- package/dist/tsup/chunk-JZ7TWV65.js.map +1 -0
- package/dist/tsup/{chunk-QAZLM4WT.cjs → chunk-KORQB2IR.cjs} +3 -3
- package/dist/tsup/{chunk-QAZLM4WT.cjs.map → chunk-KORQB2IR.cjs.map} +1 -1
- package/dist/tsup/{chunk-NDY6IZJ3.cjs → chunk-MTPOTFTS.cjs} +138 -24
- package/dist/tsup/chunk-MTPOTFTS.cjs.map +1 -0
- package/dist/tsup/{chunk-WQ4HNA4W.cjs → chunk-NIY3RSPX.cjs} +64 -3
- package/dist/tsup/chunk-NIY3RSPX.cjs.map +1 -0
- package/dist/tsup/{chunk-WDO5Y6PO.cjs → chunk-PY2ZFXQY.cjs} +10 -10
- package/dist/tsup/chunk-PY2ZFXQY.cjs.map +1 -0
- package/dist/tsup/{chunk-GDKM56PU.js → chunk-SW7LPS7C.js} +36 -7
- package/dist/tsup/chunk-SW7LPS7C.js.map +1 -0
- package/dist/tsup/{chunk-LD5YASJU.cjs → chunk-VE2X4KMG.cjs} +2 -2
- package/dist/tsup/{chunk-LD5YASJU.cjs.map → chunk-VE2X4KMG.cjs.map} +1 -1
- package/dist/tsup/{chunk-2NDZ7JCR.cjs → chunk-ZA7FLHKH.cjs} +1 -1
- package/dist/tsup/chunk-ZA7FLHKH.cjs.map +1 -0
- package/dist/tsup/client/mod.cjs +9 -9
- package/dist/tsup/client/mod.d.cts +5 -5
- package/dist/tsup/client/mod.d.ts +5 -5
- package/dist/tsup/client/mod.js +8 -8
- package/dist/tsup/common/log.cjs +3 -3
- package/dist/tsup/common/log.js +2 -2
- package/dist/tsup/common/websocket.cjs +4 -4
- package/dist/tsup/common/websocket.js +3 -3
- package/dist/tsup/{config-CRwCN3Ok.d.ts → config-BxWAw3iH.d.ts} +537 -30
- package/dist/tsup/{config-voObiSep.d.cts → config-CZQQ-mso.d.cts} +537 -30
- package/dist/tsup/{config-CxjGYf4K.d.ts → config-D49x8NpL.d.cts} +1 -2
- package/dist/tsup/{config-CxjGYf4K.d.cts → config-D49x8NpL.d.ts} +1 -2
- package/dist/tsup/{context-BPFYVZ5g.d.ts → context-Bw7xq8w3.d.cts} +8 -8
- package/dist/tsup/{context-D0YF1MQq.d.cts → context-D8QA76sV.d.ts} +8 -8
- package/dist/tsup/db/drizzle.cjs +3 -3
- package/dist/tsup/db/drizzle.d.cts +1 -1
- package/dist/tsup/db/drizzle.d.ts +1 -1
- package/dist/tsup/db/drizzle.js +1 -1
- package/dist/tsup/db/mod.cjs +2 -2
- package/dist/tsup/db/mod.d.cts +2 -2
- package/dist/tsup/db/mod.d.ts +2 -2
- package/dist/tsup/db/mod.js +1 -1
- package/dist/tsup/dynamic/mod.cjs +24 -0
- package/dist/tsup/dynamic/mod.cjs.map +1 -0
- package/dist/tsup/dynamic/mod.d.cts +37 -0
- package/dist/tsup/dynamic/mod.d.ts +37 -0
- package/dist/tsup/dynamic/mod.js +24 -0
- package/dist/tsup/dynamic/mod.js.map +1 -0
- package/dist/tsup/inspector/mod.cjs +6 -6
- package/dist/tsup/inspector/mod.js +5 -5
- package/dist/tsup/inspector-tab/mod.cjs +173 -0
- package/dist/tsup/inspector-tab/mod.cjs.map +1 -0
- package/dist/tsup/inspector-tab/mod.d.cts +250 -0
- package/dist/tsup/inspector-tab/mod.d.ts +250 -0
- package/dist/tsup/inspector-tab/mod.js +173 -0
- package/dist/tsup/inspector-tab/mod.js.map +1 -0
- package/dist/tsup/mod.cjs +926 -365
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +5 -5
- package/dist/tsup/mod.d.ts +5 -5
- package/dist/tsup/mod.js +831 -270
- package/dist/tsup/mod.js.map +1 -1
- package/dist/tsup/test/mod.cjs +21 -18
- package/dist/tsup/test/mod.cjs.map +1 -1
- package/dist/tsup/test/mod.d.cts +4 -4
- package/dist/tsup/test/mod.d.ts +4 -4
- package/dist/tsup/test/mod.js +18 -15
- package/dist/tsup/test/mod.js.map +1 -1
- package/dist/tsup/{utils-DVekpm4I.d.cts → utils-DQosb24I.d.cts} +1 -1
- package/dist/tsup/{utils-DVekpm4I.d.ts → utils-DQosb24I.d.ts} +1 -1
- package/dist/tsup/utils.cjs +3 -3
- package/dist/tsup/utils.d.cts +1 -1
- package/dist/tsup/utils.d.ts +1 -1
- package/dist/tsup/utils.js +2 -2
- package/dist/tsup/workflow/mod.cjs +307 -282
- package/dist/tsup/workflow/mod.cjs.map +1 -1
- package/dist/tsup/workflow/mod.d.cts +6 -6
- package/dist/tsup/workflow/mod.d.ts +6 -6
- package/dist/tsup/workflow/mod.js +501 -476
- package/dist/tsup/workflow/mod.js.map +1 -1
- package/package.json +32 -11
- package/src/actor/config.ts +159 -51
- package/src/actor/contexts/index.ts +7 -2
- package/src/actor/definition.ts +17 -19
- package/src/actor/driver.ts +3 -3
- package/src/actor/errors.ts +9 -3
- package/src/actor/instance/mod.ts +26 -34
- package/src/actor/keys.ts +1 -1
- package/src/actor/mod.ts +22 -20
- package/src/actor/schema.ts +2 -2
- package/src/agent-os/actor/index.ts +38 -18
- package/src/agent-os/actor/preview.ts +1 -2
- package/src/agent-os/actor/session.ts +2 -2
- package/src/agent-os/config.ts +1 -1
- package/src/agent-os/fs/database-vfs.ts +1 -1
- package/src/agent-os/index.ts +16 -15
- package/src/client/actor-common.ts +87 -54
- package/src/client/actor-conn.ts +11 -36
- package/src/client/actor-handle.ts +69 -51
- package/src/client/actor-query.ts +5 -5
- package/src/client/errors.ts +1 -1
- package/src/client/lifecycle-errors.ts +2 -4
- package/src/client/query.ts +1 -1
- package/src/client/queue.ts +8 -3
- package/src/client/raw-utils.ts +8 -6
- package/src/client/resolve-gateway-target.ts +1 -1
- package/src/client/utils.ts +2 -7
- package/src/common/actor-websocket.ts +3 -1
- package/src/common/bare/actor-persist/v1.ts +205 -163
- package/src/common/bare/actor-persist/v2.ts +265 -213
- package/src/common/bare/actor-persist/v3.ts +176 -172
- package/src/common/bare/actor-persist/v4.ts +254 -253
- package/src/common/bare/transport/v1.ts +659 -543
- package/src/common/client-protocol-versioned.ts +66 -64
- package/src/common/database/config.ts +2 -8
- package/src/common/database/native-database.ts +1 -1
- package/src/common/database/shared.ts +1 -0
- package/src/common/encoding.ts +250 -16
- package/src/common/engine.ts +28 -1
- package/src/common/eventsource.ts +1 -1
- package/src/common/inline-websocket-adapter.ts +14 -13
- package/src/common/log.ts +1 -0
- package/src/common/router.ts +13 -17
- package/src/common/utils.ts +1 -150
- package/src/common/websocket-interface.ts +1 -1
- package/src/db/mod.ts +1 -1
- package/src/devtools-loader/index.ts +4 -7
- package/src/devtools-loader/serve-devtools.ts +26 -0
- package/src/drivers/engine/actor-driver.ts +74 -61
- package/src/dynamic/instance.ts +32 -0
- package/src/dynamic/internal.ts +50 -0
- package/src/dynamic/isolate-runtime.ts +66 -0
- package/src/dynamic/mod.ts +32 -0
- package/src/engine-client/actor-http-client.ts +3 -3
- package/src/engine-client/actor-websocket-client.ts +6 -5
- package/src/engine-client/api-endpoints.ts +51 -2
- package/src/engine-client/api-utils.ts +2 -2
- package/src/engine-client/driver.ts +1 -1
- package/src/engine-client/mod.ts +6 -3
- package/src/engine-client/ws-proxy.ts +9 -4
- package/src/inspector/client.browser.ts +5 -11
- package/src/inspector/mod.ts +1 -3
- package/src/inspector-tab/mod.ts +315 -0
- package/src/registry/config/envoy.ts +1 -2
- package/src/registry/config/index.ts +42 -20
- package/src/registry/index.ts +305 -88
- package/src/registry/napi-runtime.ts +50 -7
- package/src/registry/native-validation.ts +10 -12
- package/src/registry/native.ts +425 -193
- package/src/registry/process-metrics.ts +250 -0
- package/src/registry/runtime.ts +56 -6
- package/src/registry/wasm-runtime.ts +30 -3
- package/src/registry/write-through-proxy.ts +40 -0
- package/src/serde.ts +2 -2
- package/src/serverless/configure.ts +18 -7
- package/src/test/mod.ts +11 -8
- package/src/utils/endpoint-parser.ts +1 -1
- package/src/utils/env-vars.ts +6 -0
- package/src/utils/router.ts +1 -1
- package/src/utils/serve.ts +4 -5
- package/src/utils.ts +1 -2
- package/src/workflow/context.ts +61 -33
- package/src/workflow/driver.ts +4 -6
- package/src/workflow/inspector.ts +4 -3
- package/src/workflow/mod.ts +15 -17
- package/dist/tsup/chunk-2NDZ7JCR.cjs.map +0 -1
- package/dist/tsup/chunk-3YY5S6TV.js.map +0 -1
- package/dist/tsup/chunk-5DGOZZKE.cjs.map +0 -1
- package/dist/tsup/chunk-DFHHCPH7.js.map +0 -1
- package/dist/tsup/chunk-EI55QOUB.js.map +0 -1
- package/dist/tsup/chunk-GDKM56PU.js.map +0 -1
- package/dist/tsup/chunk-HSTK7OBI.js.map +0 -1
- package/dist/tsup/chunk-KIWH5H3K.js.map +0 -1
- package/dist/tsup/chunk-LI5MR5BD.js.map +0 -1
- package/dist/tsup/chunk-NDY6IZJ3.cjs.map +0 -1
- package/dist/tsup/chunk-O25KOT5C.cjs.map +0 -1
- package/dist/tsup/chunk-OQSBGFIB.cjs.map +0 -1
- package/dist/tsup/chunk-PCBNKI2J.js.map +0 -1
- package/dist/tsup/chunk-PJSE5ZGN.js.map +0 -1
- package/dist/tsup/chunk-T6YVRM4K.js.map +0 -1
- package/dist/tsup/chunk-WDO5Y6PO.cjs.map +0 -1
- package/dist/tsup/chunk-WQ4HNA4W.cjs.map +0 -1
- package/dist/tsup/chunk-YQQ2ZDKT.cjs.map +0 -1
- /package/dist/tsup/{chunk-4KSYSQHX.js.map → chunk-AOKMZWB4.js.map} +0 -0
package/dist/browser/client.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as _rivetkit_rivetkit_wasm from '@rivetkit/rivetkit-wasm';
|
|
2
2
|
import { z as z$2 } from 'zod';
|
|
3
3
|
import z$1, { z } from 'zod/v4';
|
|
4
|
-
import { UniversalWebSocket } from '@rivetkit/virtual-websocket';
|
|
5
4
|
import { Context, Handler, Hono } from 'hono';
|
|
5
|
+
import { UniversalWebSocket } from '@rivetkit/virtual-websocket';
|
|
6
6
|
import { StandardSchemaV1 } from '@standard-schema/spec';
|
|
7
7
|
import { ContentfulStatusCode } from 'hono/utils/http-status';
|
|
8
8
|
import { Logger } from 'pino';
|
|
@@ -103,8 +103,7 @@ type DatabaseProvider<DB extends RawAccess> = {
|
|
|
103
103
|
/**
|
|
104
104
|
* Drizzle database client interface (will be extended by drizzle-orm types)
|
|
105
105
|
*/
|
|
106
|
-
|
|
107
|
-
}
|
|
106
|
+
type DrizzleDatabaseClient = {};
|
|
108
107
|
type ExecuteFunction = <TRow extends Record<string, unknown> = Record<string, unknown>>(query: string, ...args: unknown[]) => Promise<TRow[]>;
|
|
109
108
|
type RawAccess = {
|
|
110
109
|
/**
|
|
@@ -182,6 +181,44 @@ type ActorQuery = z.infer<typeof ActorQuerySchema>;
|
|
|
182
181
|
*/
|
|
183
182
|
type CreateRequest = z.infer<typeof CreateRequestSchema>;
|
|
184
183
|
|
|
184
|
+
type SchemaHookResult = boolean | Promise<boolean>;
|
|
185
|
+
type SchemaHook<TContext = any> = (ctx: TContext) => SchemaHookResult;
|
|
186
|
+
interface EventTypeToken<T, TContext = any> {
|
|
187
|
+
readonly _eventType?: T;
|
|
188
|
+
readonly canSubscribe?: SchemaHook<TContext>;
|
|
189
|
+
readonly schema?: PrimitiveSchema;
|
|
190
|
+
}
|
|
191
|
+
interface QueueTypeToken<TMessage, TComplete = never, TContext = any> {
|
|
192
|
+
readonly _queueMessage?: TMessage;
|
|
193
|
+
readonly _queueComplete?: TComplete;
|
|
194
|
+
readonly canPublish?: SchemaHook<TContext>;
|
|
195
|
+
readonly message?: PrimitiveSchema;
|
|
196
|
+
readonly complete?: PrimitiveSchema;
|
|
197
|
+
}
|
|
198
|
+
type PrimitiveSchema = StandardSchemaV1 | EventTypeToken<unknown, any>;
|
|
199
|
+
interface EventSchemaDefinition<TContext = any> {
|
|
200
|
+
schema: PrimitiveSchema;
|
|
201
|
+
canSubscribe?: SchemaHook<TContext>;
|
|
202
|
+
}
|
|
203
|
+
interface QueueSchemaDefinition<TContext = any> {
|
|
204
|
+
message: PrimitiveSchema;
|
|
205
|
+
complete?: PrimitiveSchema;
|
|
206
|
+
canPublish?: SchemaHook<TContext>;
|
|
207
|
+
}
|
|
208
|
+
type EventSchema<TContext = any> = PrimitiveSchema | EventSchemaDefinition<TContext>;
|
|
209
|
+
type QueueSchema = PrimitiveSchema | QueueSchemaDefinition<any> | QueueTypeToken<unknown, unknown, any>;
|
|
210
|
+
type EventSchemaConfig<TContext = any> = Record<string, EventSchema<TContext>>;
|
|
211
|
+
type QueueSchemaConfig<_TContext = any> = Record<string, QueueSchema>;
|
|
212
|
+
type InferSchema<T> = T extends QueueSchemaDefinition<any> ? InferSchema<T["message"]> : T extends QueueTypeToken<infer M, unknown, any> ? M : T extends EventSchemaDefinition<any> ? InferSchema<T["schema"]> : T extends StandardSchemaV1<any, infer O> ? O : T extends EventTypeToken<infer R, any> ? R : never;
|
|
213
|
+
type InferSchemaMap<T extends Record<string, unknown>> = {
|
|
214
|
+
[K in keyof T]: InferSchema<T[K]>;
|
|
215
|
+
};
|
|
216
|
+
type InferQueueComplete<T> = T extends QueueTypeToken<unknown, infer C, any> ? [C] extends [never] ? never : C : T extends QueueSchemaDefinition<any> ? T["complete"] extends PrimitiveSchema ? InferSchema<T["complete"]> : never : never;
|
|
217
|
+
type InferQueueCompleteMap<T extends QueueSchemaConfig> = {
|
|
218
|
+
[K in keyof T]: InferQueueComplete<T[K]>;
|
|
219
|
+
};
|
|
220
|
+
type InferEventArgs<T> = T extends readonly unknown[] ? number extends T["length"] ? [T] : T : [T];
|
|
221
|
+
|
|
185
222
|
interface DeconstructedError {
|
|
186
223
|
__type: "ActorError";
|
|
187
224
|
statusCode: ContentfulStatusCode;
|
|
@@ -239,44 +276,6 @@ declare class UserError extends RivetError {
|
|
|
239
276
|
constructor(message: string, options?: UserErrorOptions);
|
|
240
277
|
}
|
|
241
278
|
|
|
242
|
-
type SchemaHookResult = boolean | Promise<boolean>;
|
|
243
|
-
type SchemaHook<TContext = any> = (ctx: TContext) => SchemaHookResult;
|
|
244
|
-
interface EventTypeToken<T, TContext = any> {
|
|
245
|
-
readonly _eventType?: T;
|
|
246
|
-
readonly canSubscribe?: SchemaHook<TContext>;
|
|
247
|
-
readonly schema?: PrimitiveSchema;
|
|
248
|
-
}
|
|
249
|
-
interface QueueTypeToken<TMessage, TComplete = never, TContext = any> {
|
|
250
|
-
readonly _queueMessage?: TMessage;
|
|
251
|
-
readonly _queueComplete?: TComplete;
|
|
252
|
-
readonly canPublish?: SchemaHook<TContext>;
|
|
253
|
-
readonly message?: PrimitiveSchema;
|
|
254
|
-
readonly complete?: PrimitiveSchema;
|
|
255
|
-
}
|
|
256
|
-
type PrimitiveSchema = StandardSchemaV1 | EventTypeToken<unknown, any>;
|
|
257
|
-
interface EventSchemaDefinition<TContext = any> {
|
|
258
|
-
schema: PrimitiveSchema;
|
|
259
|
-
canSubscribe?: SchemaHook<TContext>;
|
|
260
|
-
}
|
|
261
|
-
interface QueueSchemaDefinition<TContext = any> {
|
|
262
|
-
message: PrimitiveSchema;
|
|
263
|
-
complete?: PrimitiveSchema;
|
|
264
|
-
canPublish?: SchemaHook<TContext>;
|
|
265
|
-
}
|
|
266
|
-
type EventSchema<TContext = any> = PrimitiveSchema | EventSchemaDefinition<TContext>;
|
|
267
|
-
type QueueSchema = PrimitiveSchema | QueueSchemaDefinition<any> | QueueTypeToken<unknown, unknown, any>;
|
|
268
|
-
type EventSchemaConfig<TContext = any> = Record<string, EventSchema<TContext>>;
|
|
269
|
-
type QueueSchemaConfig<TContext = any> = Record<string, QueueSchema>;
|
|
270
|
-
type InferSchema<T> = T extends QueueSchemaDefinition<any> ? InferSchema<T["message"]> : T extends QueueTypeToken<infer M, unknown, any> ? M : T extends EventSchemaDefinition<any> ? InferSchema<T["schema"]> : T extends StandardSchemaV1<any, infer O> ? O : T extends EventTypeToken<infer R, any> ? R : never;
|
|
271
|
-
type InferSchemaMap<T extends Record<string, unknown>> = {
|
|
272
|
-
[K in keyof T]: InferSchema<T[K]>;
|
|
273
|
-
};
|
|
274
|
-
type InferQueueComplete<T> = T extends QueueTypeToken<unknown, infer C, any> ? [C] extends [never] ? never : C : T extends QueueSchemaDefinition<any> ? T["complete"] extends PrimitiveSchema ? InferSchema<T["complete"]> : never : never;
|
|
275
|
-
type InferQueueCompleteMap<T extends QueueSchemaConfig> = {
|
|
276
|
-
[K in keyof T]: InferQueueComplete<T[K]>;
|
|
277
|
-
};
|
|
278
|
-
type InferEventArgs<T> = T extends readonly unknown[] ? number extends T["length"] ? [T] : T : [T];
|
|
279
|
-
|
|
280
279
|
type UpgradeWebSocket = (createEvents: (c: Context) => any) => Handler;
|
|
281
280
|
type GetUpgradeWebSocket = () => UpgradeWebSocket;
|
|
282
281
|
|
|
@@ -384,6 +383,12 @@ interface QueueSendResult<TResponse = unknown> {
|
|
|
384
383
|
* @returns {Promise<Response>}
|
|
385
384
|
*/
|
|
386
385
|
type ActorActionFunction<Args extends Array<unknown> = unknown[], Response = unknown> = (...args: Args extends [unknown, ...infer Rest] ? Rest : Args) => Promise<Response>;
|
|
386
|
+
type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
387
|
+
type LooseEventSubscribe = (eventName: string, callback: (...args: any[]) => void) => () => void;
|
|
388
|
+
type ActorActionMap<R> = {
|
|
389
|
+
[K in keyof NonNullable<R>]: NonNullable<R>[K] extends (...args: infer Args) => infer Return ? ActorActionFunction<Args, Awaited<Return>> : never;
|
|
390
|
+
};
|
|
391
|
+
type ActionsOf<AD extends AnyActorDefinition> = AD extends BaseActorDefinition<any, any, any, any, any, any, any, any, infer R> ? R : never;
|
|
387
392
|
interface ActorGatewayOptions {
|
|
388
393
|
skipReadyWait?: boolean;
|
|
389
394
|
}
|
|
@@ -396,9 +401,7 @@ type ActorWebSocketOptions = ActorGatewayOptions;
|
|
|
396
401
|
/**
|
|
397
402
|
* Maps action methods from actor definition to typed function signatures.
|
|
398
403
|
*/
|
|
399
|
-
type ActorDefinitionActions<AD extends AnyActorDefinition> = AD extends
|
|
400
|
-
[K in keyof R]: R[K] extends (...args: infer Args) => infer Return ? ActorActionFunction<Args, Return> : never;
|
|
401
|
-
} : never;
|
|
404
|
+
type ActorDefinitionActions<AD extends AnyActorDefinition> = IsAny<AD> extends true ? Record<string, ActorActionFunction<any[], any>> : ActorActionMap<ActionsOf<AD>>;
|
|
402
405
|
type ActorQueueSend<TQueues extends QueueSchemaConfig> = {
|
|
403
406
|
<K extends keyof TQueues & string>(name: K, body: InferSchemaMap<TQueues>[K], options: QueueSendWaitOptions): Promise<QueueSendResult<InferQueueCompleteMap<TQueues>[K]>>;
|
|
404
407
|
<K extends keyof TQueues & string>(name: K, body: InferSchemaMap<TQueues>[K], options?: QueueSendNoWaitOptions): Promise<void>;
|
|
@@ -409,13 +412,31 @@ type ActorEventSubscribe<TEvents extends EventSchemaConfig> = {
|
|
|
409
412
|
<K extends keyof TEvents & string>(eventName: K, callback: (...args: InferEventArgs<InferSchemaMap<TEvents>[K]>) => void): () => void;
|
|
410
413
|
(eventName: keyof TEvents extends never ? string : never, callback: (...args: any[]) => void): () => void;
|
|
411
414
|
};
|
|
412
|
-
type ActorDefinitionQueueSend<AD extends AnyActorDefinition> = AD
|
|
415
|
+
type ActorDefinitionQueueSend<AD extends AnyActorDefinition> = IsAny<AD> extends true ? {
|
|
416
|
+
send: ActorQueueSend<Record<string, any>>;
|
|
417
|
+
} : AD extends {
|
|
418
|
+
config: {
|
|
419
|
+
queues?: infer Q;
|
|
420
|
+
};
|
|
421
|
+
} ? Q extends QueueSchemaConfig ? {
|
|
422
|
+
send: ActorQueueSend<Q>;
|
|
423
|
+
} : {} : AD extends BaseActorDefinition<any, any, any, any, any, any, any, infer Q, any> ? Q extends QueueSchemaConfig ? {
|
|
413
424
|
send: ActorQueueSend<Q>;
|
|
414
|
-
} :
|
|
415
|
-
type ActorDefinitionEventSubscriptions<AD extends AnyActorDefinition> = AD
|
|
425
|
+
} : {} : {};
|
|
426
|
+
type ActorDefinitionEventSubscriptions<AD extends AnyActorDefinition> = IsAny<AD> extends true ? {
|
|
427
|
+
on: LooseEventSubscribe;
|
|
428
|
+
once: LooseEventSubscribe;
|
|
429
|
+
} : AD extends {
|
|
430
|
+
config: {
|
|
431
|
+
events?: infer E;
|
|
432
|
+
};
|
|
433
|
+
} ? E extends EventSchemaConfig ? {
|
|
434
|
+
on: ActorEventSubscribe<E>;
|
|
435
|
+
once: ActorEventSubscribe<E>;
|
|
436
|
+
} : {} : AD extends BaseActorDefinition<any, any, any, any, any, any, infer E, any, any> ? E extends EventSchemaConfig ? {
|
|
416
437
|
on: ActorEventSubscribe<E>;
|
|
417
438
|
once: ActorEventSubscribe<E>;
|
|
418
|
-
} :
|
|
439
|
+
} : {} : {};
|
|
419
440
|
|
|
420
441
|
declare class ActorClientError extends Error {
|
|
421
442
|
}
|
|
@@ -929,6 +950,7 @@ type Client<A extends Registry<any>> = ClientRaw & {
|
|
|
929
950
|
};
|
|
930
951
|
|
|
931
952
|
declare const ACTOR_CONTEXT_INTERNAL_SYMBOL: unique symbol;
|
|
953
|
+
declare const RAW_STATE_SYMBOL: unique symbol;
|
|
932
954
|
interface ActorLogger {
|
|
933
955
|
level: any;
|
|
934
956
|
fatal: any;
|
|
@@ -961,6 +983,10 @@ type ActorKvListOptions<T extends ActorKvValueType = "text", K extends ActorKvKe
|
|
|
961
983
|
limit?: number;
|
|
962
984
|
};
|
|
963
985
|
type ActorClientFor<T> = T extends Registry<any> ? Client<T> : T;
|
|
986
|
+
/**
|
|
987
|
+
* @deprecated Actor KV is deprecated. Use embedded SQLite (`c.db` / `c.sql`)
|
|
988
|
+
* or actor state instead.
|
|
989
|
+
*/
|
|
964
990
|
interface ActorKv {
|
|
965
991
|
get<T extends ActorKvValueType = "text">(key: Uint8Array | string, options?: ActorKvValueOptions<T>): Promise<ActorKvValueTypeMap[T] | null>;
|
|
966
992
|
put<T extends ActorKvValueType = "text">(key: Uint8Array | string, value: Uint8Array | string | ArrayBuffer, options?: ActorKvValueOptions<T>): Promise<void>;
|
|
@@ -1037,7 +1063,7 @@ interface ActorQueue<TQueues extends QueueSchemaConfig = Record<never, never>> {
|
|
|
1037
1063
|
iter<const TName extends QueueFilterName<TQueues>, const TCompletable extends boolean = false>(opts?: QueueIterOptions<TName, TCompletable>): AsyncIterable<any>;
|
|
1038
1064
|
[key: string]: any;
|
|
1039
1065
|
}
|
|
1040
|
-
interface Conn<
|
|
1066
|
+
interface Conn<_TState = unknown, TConnParams = unknown, TConnState = unknown, _TVars = unknown, _TInput = unknown, _TDatabase extends AnyDatabaseProvider = AnyDatabaseProvider, _TEvents extends EventSchemaConfig = Record<never, never>, _TQueues extends QueueSchemaConfig = Record<never, never>> {
|
|
1041
1067
|
id: string;
|
|
1042
1068
|
params: TConnParams;
|
|
1043
1069
|
state: TConnState;
|
|
@@ -1048,8 +1074,14 @@ interface Conn<TState = unknown, TConnParams = unknown, TConnState = unknown, TV
|
|
|
1048
1074
|
}
|
|
1049
1075
|
interface ActorContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig = Record<never, never>, TQueues extends QueueSchemaConfig = Record<never, never>> {
|
|
1050
1076
|
[ACTOR_CONTEXT_INTERNAL_SYMBOL]?: unknown;
|
|
1077
|
+
/** Returns the raw unwrapped state without the write-through proxy. */
|
|
1078
|
+
[RAW_STATE_SYMBOL](): TState;
|
|
1051
1079
|
state: TState;
|
|
1052
1080
|
vars: TVars;
|
|
1081
|
+
/**
|
|
1082
|
+
* @deprecated Actor KV is deprecated. Use embedded SQLite (`db` / `sql`)
|
|
1083
|
+
* or actor state instead.
|
|
1084
|
+
*/
|
|
1053
1085
|
readonly kv: ActorKv;
|
|
1054
1086
|
readonly db: InferDatabaseClient<TDatabase>;
|
|
1055
1087
|
readonly schedule: ActorSchedule;
|
|
@@ -1174,8 +1206,27 @@ declare const ActorConfigSchema: z.ZodObject<{
|
|
|
1174
1206
|
preloadMaxWorkflowBytes: z.ZodOptional<z.ZodNumber>;
|
|
1175
1207
|
preloadMaxConnectionsBytes: z.ZodOptional<z.ZodNumber>;
|
|
1176
1208
|
}, z.core.$strict>>;
|
|
1209
|
+
inspector: z.ZodOptional<z.ZodObject<{
|
|
1210
|
+
tabs: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
|
|
1211
|
+
id: z.ZodString;
|
|
1212
|
+
label: z.ZodString;
|
|
1213
|
+
source: z.ZodString;
|
|
1214
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
1215
|
+
hidden: z.ZodOptional<z.ZodLiteral<false>>;
|
|
1216
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1217
|
+
id: z.ZodEnum<{
|
|
1218
|
+
state: "state";
|
|
1219
|
+
queue: "queue";
|
|
1220
|
+
workflow: "workflow";
|
|
1221
|
+
database: "database";
|
|
1222
|
+
connections: "connections";
|
|
1223
|
+
console: "console";
|
|
1224
|
+
}>;
|
|
1225
|
+
hidden: z.ZodLiteral<true>;
|
|
1226
|
+
}, z.core.$strict>]>>>;
|
|
1227
|
+
}, z.core.$strict>>;
|
|
1177
1228
|
}, z.core.$strict>;
|
|
1178
|
-
type CreateState<TState,
|
|
1229
|
+
type CreateState<TState, _TConnParams, _TConnState, _TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig, TQueues extends QueueSchemaConfig> = {
|
|
1179
1230
|
state: TState;
|
|
1180
1231
|
} | {
|
|
1181
1232
|
createState: (c: CreateContext<TState, TInput, TDatabase, TEvents, TQueues>, input: TInput) => TState | Promise<TState>;
|
|
@@ -1188,7 +1239,7 @@ type CreateConnState<TState, TConnParams, TConnState, TVars, TInput, TDatabase e
|
|
|
1188
1239
|
/**
|
|
1189
1240
|
* @experimental
|
|
1190
1241
|
*/
|
|
1191
|
-
type CreateVars<TState,
|
|
1242
|
+
type CreateVars<TState, _TConnParams, _TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig, TQueues extends QueueSchemaConfig> = {
|
|
1192
1243
|
/**
|
|
1193
1244
|
* @experimental
|
|
1194
1245
|
*/
|
|
@@ -1374,19 +1425,21 @@ type ActorDatabaseConfig<TDatabase extends AnyDatabaseProvider> = {
|
|
|
1374
1425
|
*/
|
|
1375
1426
|
db: TDatabase;
|
|
1376
1427
|
} | Record<never, never>;
|
|
1377
|
-
type ActorConfig<TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig = Record<never, never>, TQueues extends QueueSchemaConfig = Record<never, never>> = Omit<z.infer<typeof ActorConfigSchema>, "actions" | "events" | "queues" | "onCreate" | "onDestroy" | "onMigrate" | "onWake" | "onSleep" | "run" | "onStateChange" | "onBeforeConnect" | "onConnect" | "onDisconnect" | "onBeforeActionResponse" | "onRequest" | "onWebSocket" | "state" | "createState" | "connState" | "createConnState" | "vars" | "createVars" | "db"> & BaseActorConfig<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues,
|
|
1428
|
+
type ActorConfig<TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig = Record<never, never>, TQueues extends QueueSchemaConfig = Record<never, never>, TActions extends Actions<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues> = Actions<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>> = Omit<z.infer<typeof ActorConfigSchema>, "actions" | "events" | "queues" | "onCreate" | "onDestroy" | "onMigrate" | "onWake" | "onSleep" | "run" | "onStateChange" | "onBeforeConnect" | "onConnect" | "onDisconnect" | "onBeforeActionResponse" | "onRequest" | "onWebSocket" | "state" | "createState" | "connState" | "createConnState" | "vars" | "createVars" | "db"> & BaseActorConfig<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues, TActions> & CreateState<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues> & CreateConnState<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues> & CreateVars<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues> & ActorDatabaseConfig<TDatabase>;
|
|
1378
1429
|
|
|
1379
|
-
interface BaseActorDefinition<S, CP, CS, V, I, DB extends AnyDatabaseProvider, E extends EventSchemaConfig = Record<never, never>, Q extends QueueSchemaConfig = Record<never, never>,
|
|
1380
|
-
readonly config: ActorConfig<S, CP, CS, V, I, DB, E, Q>;
|
|
1430
|
+
interface BaseActorDefinition<S, CP, CS, V, I, DB extends AnyDatabaseProvider, E extends EventSchemaConfig = Record<never, never>, Q extends QueueSchemaConfig = Record<never, never>, _R extends Actions<S, CP, CS, V, I, DB, E, Q> = Actions<S, CP, CS, V, I, DB, E, Q>> {
|
|
1431
|
+
readonly config: ActorConfig<S, CP, CS, V, I, DB, E, Q, _R>;
|
|
1432
|
+
}
|
|
1433
|
+
interface AnyActorDefinition {
|
|
1434
|
+
readonly config: any;
|
|
1381
1435
|
}
|
|
1382
|
-
type AnyActorDefinition = BaseActorDefinition<any, any, any, any, any, any, any, any, any>;
|
|
1383
1436
|
declare class ActorDefinition<S, CP, CS, V, I, DB extends AnyDatabaseProvider, E extends EventSchemaConfig = Record<never, never>, Q extends QueueSchemaConfig = Record<never, never>, R extends Actions<S, CP, CS, V, I, DB, E, Q> = Actions<S, CP, CS, V, I, DB, E, Q>> implements BaseActorDefinition<S, CP, CS, V, I, DB, E, Q, R> {
|
|
1384
1437
|
#private;
|
|
1385
|
-
constructor(config: ActorConfig<S, CP, CS, V, I, DB, E, Q>);
|
|
1386
|
-
get config(): ActorConfig<S, CP, CS, V, I, DB, E, Q>;
|
|
1438
|
+
constructor(config: ActorConfig<S, CP, CS, V, I, DB, E, Q, R>);
|
|
1439
|
+
get config(): ActorConfig<S, CP, CS, V, I, DB, E, Q, R>;
|
|
1387
1440
|
}
|
|
1388
1441
|
|
|
1389
|
-
declare const ActorsSchema: z$2.ZodRecord<z$2.ZodString, z$2.ZodCustom<
|
|
1442
|
+
declare const ActorsSchema: z$2.ZodRecord<z$2.ZodString, z$2.ZodCustom<AnyActorDefinition, AnyActorDefinition>>;
|
|
1390
1443
|
type RegistryActors = z$2.infer<typeof ActorsSchema>;
|
|
1391
1444
|
declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
1392
1445
|
use: z$2.ZodRecord<z$2.ZodString, z$2.ZodCustom<AnyActorDefinition, AnyActorDefinition>>;
|
|
@@ -1406,11 +1459,7 @@ declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
|
1406
1459
|
}>>, z$2.ZodTransform<"auto" | "native" | "wasm", "auto" | "native" | "wasm" | undefined>>;
|
|
1407
1460
|
wasm: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodObject<{
|
|
1408
1461
|
bindings: z$2.ZodOptional<z$2.ZodCustom<typeof _rivetkit_rivetkit_wasm, typeof _rivetkit_rivetkit_wasm>>;
|
|
1409
|
-
initInput: z$2.ZodOptional<z$2.ZodCustom<
|
|
1410
|
-
module_or_path: _rivetkit_rivetkit_wasm.InitInput | Promise<_rivetkit_rivetkit_wasm.InitInput>;
|
|
1411
|
-
} | _rivetkit_rivetkit_wasm.InitInput | Promise<_rivetkit_rivetkit_wasm.InitInput> | undefined, {
|
|
1412
|
-
module_or_path: _rivetkit_rivetkit_wasm.InitInput | Promise<_rivetkit_rivetkit_wasm.InitInput>;
|
|
1413
|
-
} | _rivetkit_rivetkit_wasm.InitInput | Promise<_rivetkit_rivetkit_wasm.InitInput> | undefined>>;
|
|
1462
|
+
initInput: z$2.ZodOptional<z$2.ZodCustom<_rivetkit_rivetkit_wasm.InitInput | Promise<_rivetkit_rivetkit_wasm.InitInput> | undefined, _rivetkit_rivetkit_wasm.InitInput | Promise<_rivetkit_rivetkit_wasm.InitInput> | undefined>>;
|
|
1414
1463
|
}, z$2.core.$strip>>>;
|
|
1415
1464
|
sqlite: z$2.ZodPipe<z$2.ZodOptional<z$2.ZodUnion<readonly [z$2.ZodEnum<{
|
|
1416
1465
|
local: "local";
|
|
@@ -1447,6 +1496,8 @@ declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
|
1447
1496
|
httpPort: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodNumber>>;
|
|
1448
1497
|
httpHost: z$2.ZodOptional<z$2.ZodString>;
|
|
1449
1498
|
startEngine: z$2.ZodDefault<z$2.ZodBoolean>;
|
|
1499
|
+
engineHost: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodString>>;
|
|
1500
|
+
enginePort: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodNumber>>;
|
|
1450
1501
|
engineVersion: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodString>>;
|
|
1451
1502
|
configurePool: z$2.ZodOptional<z$2.ZodOptional<z$2.ZodObject<{
|
|
1452
1503
|
name: z$2.ZodOptional<z$2.ZodString>;
|
|
@@ -1471,7 +1522,7 @@ declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
|
1471
1522
|
envoyKey: z$2.ZodOptional<z$2.ZodString>;
|
|
1472
1523
|
}, z$2.core.$strip>>>;
|
|
1473
1524
|
shutdown: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodObject<{
|
|
1474
|
-
gracePeriodMs: z$2.
|
|
1525
|
+
gracePeriodMs: z$2.ZodOptional<z$2.ZodNumber>;
|
|
1475
1526
|
disableSignalHandlers: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodBoolean>>;
|
|
1476
1527
|
}, z$2.core.$strip>>>;
|
|
1477
1528
|
}, z$2.core.$strip>, z$2.ZodTransform<{
|
|
@@ -1501,9 +1552,7 @@ declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
|
1501
1552
|
runtime: "auto" | "native" | "wasm";
|
|
1502
1553
|
wasm: {
|
|
1503
1554
|
bindings?: typeof _rivetkit_rivetkit_wasm | undefined;
|
|
1504
|
-
initInput?:
|
|
1505
|
-
module_or_path: _rivetkit_rivetkit_wasm.InitInput | Promise<_rivetkit_rivetkit_wasm.InitInput>;
|
|
1506
|
-
} | _rivetkit_rivetkit_wasm.InitInput | Promise<_rivetkit_rivetkit_wasm.InitInput> | undefined;
|
|
1555
|
+
initInput?: _rivetkit_rivetkit_wasm.InitInput | Promise<_rivetkit_rivetkit_wasm.InitInput> | undefined;
|
|
1507
1556
|
};
|
|
1508
1557
|
noWelcome: boolean;
|
|
1509
1558
|
logging: {
|
|
@@ -1514,6 +1563,8 @@ declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
|
1514
1563
|
httpBasePath: string;
|
|
1515
1564
|
httpPort: number;
|
|
1516
1565
|
startEngine: boolean;
|
|
1566
|
+
engineHost: string;
|
|
1567
|
+
enginePort: number;
|
|
1517
1568
|
engineVersion: string;
|
|
1518
1569
|
envoy: {
|
|
1519
1570
|
poolName: string;
|
|
@@ -1522,8 +1573,8 @@ declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
|
1522
1573
|
envoyKey?: string | undefined;
|
|
1523
1574
|
};
|
|
1524
1575
|
shutdown: {
|
|
1525
|
-
gracePeriodMs: number;
|
|
1526
1576
|
disableSignalHandlers: boolean;
|
|
1577
|
+
gracePeriodMs?: number | undefined;
|
|
1527
1578
|
};
|
|
1528
1579
|
staticDir?: string | undefined;
|
|
1529
1580
|
httpHost?: string | undefined;
|
|
@@ -1548,9 +1599,7 @@ declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
|
1548
1599
|
runtime: "auto" | "native" | "wasm";
|
|
1549
1600
|
wasm: {
|
|
1550
1601
|
bindings?: typeof _rivetkit_rivetkit_wasm | undefined;
|
|
1551
|
-
initInput?:
|
|
1552
|
-
module_or_path: _rivetkit_rivetkit_wasm.InitInput | Promise<_rivetkit_rivetkit_wasm.InitInput>;
|
|
1553
|
-
} | _rivetkit_rivetkit_wasm.InitInput | Promise<_rivetkit_rivetkit_wasm.InitInput> | undefined;
|
|
1602
|
+
initInput?: _rivetkit_rivetkit_wasm.InitInput | Promise<_rivetkit_rivetkit_wasm.InitInput> | undefined;
|
|
1554
1603
|
};
|
|
1555
1604
|
sqlite: {
|
|
1556
1605
|
backend: "local" | "remote";
|
|
@@ -1567,6 +1616,8 @@ declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
|
1567
1616
|
httpBasePath: string;
|
|
1568
1617
|
httpPort: number;
|
|
1569
1618
|
startEngine: boolean;
|
|
1619
|
+
engineHost: string;
|
|
1620
|
+
enginePort: number;
|
|
1570
1621
|
engineVersion: string;
|
|
1571
1622
|
serverless: {
|
|
1572
1623
|
basePath: string;
|
|
@@ -1581,8 +1632,8 @@ declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
|
1581
1632
|
envoyKey?: string | undefined;
|
|
1582
1633
|
};
|
|
1583
1634
|
shutdown: {
|
|
1584
|
-
gracePeriodMs: number;
|
|
1585
1635
|
disableSignalHandlers: boolean;
|
|
1636
|
+
gracePeriodMs?: number | undefined;
|
|
1586
1637
|
};
|
|
1587
1638
|
staticDir?: string | undefined;
|
|
1588
1639
|
httpHost?: string | undefined;
|
|
@@ -1602,19 +1653,358 @@ type RegistryConfigInput<A extends RegistryActors> = Omit<z$2.input<typeof Regis
|
|
|
1602
1653
|
use: A;
|
|
1603
1654
|
};
|
|
1604
1655
|
|
|
1656
|
+
declare const handleBrand: unique symbol;
|
|
1657
|
+
type OpaqueHandle<Name extends string> = {
|
|
1658
|
+
readonly [handleBrand]: Name;
|
|
1659
|
+
};
|
|
1660
|
+
type RegistryHandle = OpaqueHandle<"registry">;
|
|
1661
|
+
type ActorFactoryHandle = OpaqueHandle<"actorFactory">;
|
|
1662
|
+
type ActorContextHandle = OpaqueHandle<"actorContext">;
|
|
1663
|
+
type ConnHandle = OpaqueHandle<"conn">;
|
|
1664
|
+
type WebSocketHandle = OpaqueHandle<"webSocket">;
|
|
1665
|
+
type CancellationTokenHandle = OpaqueHandle<"cancellationToken">;
|
|
1666
|
+
type RuntimeBytes = Uint8Array;
|
|
1667
|
+
interface RuntimeActorKeySegment {
|
|
1668
|
+
kind: string;
|
|
1669
|
+
stringValue?: string;
|
|
1670
|
+
numberValue?: number;
|
|
1671
|
+
}
|
|
1672
|
+
interface RuntimeHttpRequest {
|
|
1673
|
+
method: string;
|
|
1674
|
+
uri: string;
|
|
1675
|
+
headers?: Record<string, string>;
|
|
1676
|
+
body?: RuntimeBytes;
|
|
1677
|
+
}
|
|
1678
|
+
interface RuntimeStateDeltaPayload {
|
|
1679
|
+
state?: RuntimeBytes;
|
|
1680
|
+
connHibernation: Array<{
|
|
1681
|
+
connId: string;
|
|
1682
|
+
bytes: RuntimeBytes;
|
|
1683
|
+
}>;
|
|
1684
|
+
connHibernationRemoved: string[];
|
|
1685
|
+
}
|
|
1686
|
+
interface RuntimeRequestSaveOpts {
|
|
1687
|
+
immediate?: boolean;
|
|
1688
|
+
maxWaitMs?: number;
|
|
1689
|
+
}
|
|
1690
|
+
interface RuntimeInspectorSnapshot {
|
|
1691
|
+
stateRevision: number;
|
|
1692
|
+
connectionsRevision: number;
|
|
1693
|
+
queueRevision: number;
|
|
1694
|
+
activeConnections: number;
|
|
1695
|
+
queueSize: number;
|
|
1696
|
+
connectedClients: number;
|
|
1697
|
+
}
|
|
1698
|
+
interface RuntimeQueueMessage {
|
|
1699
|
+
id(): bigint;
|
|
1700
|
+
name(): string;
|
|
1701
|
+
body(): RuntimeBytes;
|
|
1702
|
+
createdAt(): number;
|
|
1703
|
+
isCompletable(): boolean;
|
|
1704
|
+
complete(response?: RuntimeBytes | undefined | null): Promise<void>;
|
|
1705
|
+
}
|
|
1706
|
+
interface RuntimeQueueInspectMessage {
|
|
1707
|
+
id: number;
|
|
1708
|
+
name: string;
|
|
1709
|
+
createdAtMs: number;
|
|
1710
|
+
}
|
|
1711
|
+
interface RuntimeQueueNextBatchOptions {
|
|
1712
|
+
names?: string[];
|
|
1713
|
+
count?: number;
|
|
1714
|
+
timeoutMs?: number;
|
|
1715
|
+
completable?: boolean;
|
|
1716
|
+
}
|
|
1717
|
+
interface RuntimeQueueWaitOptions {
|
|
1718
|
+
timeoutMs?: number;
|
|
1719
|
+
completable?: boolean;
|
|
1720
|
+
}
|
|
1721
|
+
interface RuntimeQueueEnqueueAndWaitOptions {
|
|
1722
|
+
timeoutMs?: number;
|
|
1723
|
+
}
|
|
1724
|
+
interface RuntimeQueueTryNextBatchOptions {
|
|
1725
|
+
names?: string[];
|
|
1726
|
+
count?: number;
|
|
1727
|
+
completable?: boolean;
|
|
1728
|
+
}
|
|
1729
|
+
interface RuntimeKvListOptions {
|
|
1730
|
+
reverse?: boolean;
|
|
1731
|
+
limit?: number;
|
|
1732
|
+
}
|
|
1733
|
+
interface RuntimeKvEntry {
|
|
1734
|
+
key: RuntimeBytes;
|
|
1735
|
+
value: RuntimeBytes;
|
|
1736
|
+
}
|
|
1737
|
+
type RuntimeSqlBindNoValues = {
|
|
1738
|
+
intValue?: never;
|
|
1739
|
+
floatValue?: never;
|
|
1740
|
+
textValue?: never;
|
|
1741
|
+
blobValue?: never;
|
|
1742
|
+
};
|
|
1743
|
+
type RuntimeSqlBindParam = ({
|
|
1744
|
+
kind: "null";
|
|
1745
|
+
} & RuntimeSqlBindNoValues) | {
|
|
1746
|
+
kind: "int";
|
|
1747
|
+
intValue: number;
|
|
1748
|
+
floatValue?: never;
|
|
1749
|
+
textValue?: never;
|
|
1750
|
+
blobValue?: never;
|
|
1751
|
+
} | {
|
|
1752
|
+
kind: "float";
|
|
1753
|
+
intValue?: never;
|
|
1754
|
+
floatValue: number;
|
|
1755
|
+
textValue?: never;
|
|
1756
|
+
blobValue?: never;
|
|
1757
|
+
} | {
|
|
1758
|
+
kind: "text";
|
|
1759
|
+
intValue?: never;
|
|
1760
|
+
floatValue?: never;
|
|
1761
|
+
textValue: string;
|
|
1762
|
+
blobValue?: never;
|
|
1763
|
+
} | {
|
|
1764
|
+
kind: "blob";
|
|
1765
|
+
intValue?: never;
|
|
1766
|
+
floatValue?: never;
|
|
1767
|
+
textValue?: never;
|
|
1768
|
+
blobValue: RuntimeBytes;
|
|
1769
|
+
};
|
|
1770
|
+
type RuntimeSqlBindParams = RuntimeSqlBindParam[] | null;
|
|
1771
|
+
interface RuntimeSqlQueryResult {
|
|
1772
|
+
columns: string[];
|
|
1773
|
+
rows: unknown[][];
|
|
1774
|
+
}
|
|
1775
|
+
type RuntimeSqlExecResult = RuntimeSqlQueryResult;
|
|
1776
|
+
interface RuntimeSqlExecuteResult extends RuntimeSqlQueryResult {
|
|
1777
|
+
changes: number;
|
|
1778
|
+
lastInsertRowId?: number | null;
|
|
1779
|
+
}
|
|
1780
|
+
interface RuntimeSqlRunResult {
|
|
1781
|
+
changes: number;
|
|
1782
|
+
}
|
|
1783
|
+
interface RuntimeActorConfig {
|
|
1784
|
+
name?: string;
|
|
1785
|
+
icon?: string;
|
|
1786
|
+
hasDatabase?: boolean;
|
|
1787
|
+
remoteSqlite?: boolean;
|
|
1788
|
+
hasState?: boolean;
|
|
1789
|
+
canHibernateWebsocket?: boolean;
|
|
1790
|
+
stateSaveIntervalMs?: number;
|
|
1791
|
+
createStateTimeoutMs?: number;
|
|
1792
|
+
onCreateTimeoutMs?: number;
|
|
1793
|
+
createVarsTimeoutMs?: number;
|
|
1794
|
+
createConnStateTimeoutMs?: number;
|
|
1795
|
+
onBeforeConnectTimeoutMs?: number;
|
|
1796
|
+
onConnectTimeoutMs?: number;
|
|
1797
|
+
onMigrateTimeoutMs?: number;
|
|
1798
|
+
onWakeTimeoutMs?: number;
|
|
1799
|
+
onBeforeActorStartTimeoutMs?: number;
|
|
1800
|
+
actionTimeoutMs?: number;
|
|
1801
|
+
onRequestTimeoutMs?: number;
|
|
1802
|
+
sleepTimeoutMs?: number;
|
|
1803
|
+
noSleep?: boolean;
|
|
1804
|
+
sleepGracePeriodMs?: number;
|
|
1805
|
+
connectionLivenessTimeoutMs?: number;
|
|
1806
|
+
connectionLivenessIntervalMs?: number;
|
|
1807
|
+
maxQueueSize?: number;
|
|
1808
|
+
maxQueueMessageSize?: number;
|
|
1809
|
+
maxIncomingMessageSize?: number;
|
|
1810
|
+
maxOutgoingMessageSize?: number;
|
|
1811
|
+
preloadMaxWorkflowBytes?: number;
|
|
1812
|
+
preloadMaxConnectionsBytes?: number;
|
|
1813
|
+
actions?: Array<{
|
|
1814
|
+
name: string;
|
|
1815
|
+
}>;
|
|
1816
|
+
inspectorTabs?: Array<RuntimeInspectorTabEntry>;
|
|
1817
|
+
}
|
|
1818
|
+
interface RuntimeInspectorTabEntry {
|
|
1819
|
+
id: string;
|
|
1820
|
+
/** Required for custom entries; omitted for built-in hides. */
|
|
1821
|
+
label?: string;
|
|
1822
|
+
/**
|
|
1823
|
+
* Required for custom entries — absolute path to the source directory.
|
|
1824
|
+
* Resolved on the TS side before being handed to the runtime.
|
|
1825
|
+
*/
|
|
1826
|
+
source?: string;
|
|
1827
|
+
/** Optional icon id for custom entries. */
|
|
1828
|
+
icon?: string;
|
|
1829
|
+
/** Set to true for built-in hide entries. */
|
|
1830
|
+
hidden?: boolean;
|
|
1831
|
+
}
|
|
1832
|
+
interface RuntimeServeConfig {
|
|
1833
|
+
version: number;
|
|
1834
|
+
endpoint: string;
|
|
1835
|
+
token?: string;
|
|
1836
|
+
namespace: string;
|
|
1837
|
+
poolName: string;
|
|
1838
|
+
engineBinaryPath?: string;
|
|
1839
|
+
engineHost?: string;
|
|
1840
|
+
enginePort?: number;
|
|
1841
|
+
handleInspectorHttpInRuntime?: boolean;
|
|
1842
|
+
inspectorTestToken?: string;
|
|
1843
|
+
serverlessBasePath?: string;
|
|
1844
|
+
serverlessPackageVersion: string;
|
|
1845
|
+
serverlessClientEndpoint?: string;
|
|
1846
|
+
serverlessClientNamespace?: string;
|
|
1847
|
+
serverlessClientToken?: string;
|
|
1848
|
+
serverlessValidateEndpoint: boolean;
|
|
1849
|
+
serverlessMaxStartPayloadBytes: number;
|
|
1850
|
+
}
|
|
1851
|
+
interface RuntimeServerlessRequest {
|
|
1852
|
+
method: string;
|
|
1853
|
+
url: string;
|
|
1854
|
+
headers: Record<string, string>;
|
|
1855
|
+
body: RuntimeBytes;
|
|
1856
|
+
}
|
|
1857
|
+
interface RuntimeServerlessResponseHead {
|
|
1858
|
+
status: number;
|
|
1859
|
+
headers: Record<string, string>;
|
|
1860
|
+
}
|
|
1861
|
+
interface RuntimeRegistryRouteResponse {
|
|
1862
|
+
status: number;
|
|
1863
|
+
headers: Record<string, string>;
|
|
1864
|
+
body: RuntimeBytes;
|
|
1865
|
+
}
|
|
1866
|
+
type RuntimeServerlessStreamEvent = {
|
|
1867
|
+
kind: "chunk";
|
|
1868
|
+
chunk?: RuntimeBytes;
|
|
1869
|
+
} | {
|
|
1870
|
+
kind: "end";
|
|
1871
|
+
error?: {
|
|
1872
|
+
group: string;
|
|
1873
|
+
code: string;
|
|
1874
|
+
message: string;
|
|
1875
|
+
};
|
|
1876
|
+
};
|
|
1877
|
+
type RuntimeServerlessStreamCallback = (error: unknown, event?: RuntimeServerlessStreamEvent) => unknown;
|
|
1878
|
+
type RuntimeWebSocketEvent = {
|
|
1879
|
+
kind: "message";
|
|
1880
|
+
data: string | RuntimeBytes;
|
|
1881
|
+
binary: boolean;
|
|
1882
|
+
messageIndex?: number;
|
|
1883
|
+
} | {
|
|
1884
|
+
kind: "close";
|
|
1885
|
+
code: number;
|
|
1886
|
+
reason: string;
|
|
1887
|
+
wasClean: boolean;
|
|
1888
|
+
};
|
|
1889
|
+
interface CoreRuntime {
|
|
1890
|
+
readonly kind: "napi" | "wasm";
|
|
1891
|
+
createRegistry(): RegistryHandle;
|
|
1892
|
+
registerActor(registry: RegistryHandle, name: string, factory: ActorFactoryHandle): void;
|
|
1893
|
+
serveRegistry(registry: RegistryHandle, config: RuntimeServeConfig): Promise<void>;
|
|
1894
|
+
shutdownRegistry(registry: RegistryHandle): Promise<void>;
|
|
1895
|
+
registryActorStopThresholdMs?(registry: RegistryHandle): Promise<number | undefined>;
|
|
1896
|
+
handleServerlessRequest(registry: RegistryHandle, req: RuntimeServerlessRequest, onStreamEvent: RuntimeServerlessStreamCallback, cancelToken: CancellationTokenHandle, config: RuntimeServeConfig): Promise<RuntimeServerlessResponseHead>;
|
|
1897
|
+
registryHealth?(registry: RegistryHandle): Promise<RuntimeRegistryRouteResponse>;
|
|
1898
|
+
registryMetadata?(registry: RegistryHandle): Promise<RuntimeRegistryRouteResponse>;
|
|
1899
|
+
registryMetrics?(registry: RegistryHandle): Promise<RuntimeRegistryRouteResponse>;
|
|
1900
|
+
createActorFactory(callbacks: object, config?: RuntimeActorConfig | undefined | null): ActorFactoryHandle;
|
|
1901
|
+
createCancellationToken(): CancellationTokenHandle;
|
|
1902
|
+
cancellationTokenAborted(token: CancellationTokenHandle): boolean;
|
|
1903
|
+
cancelCancellationToken(token: CancellationTokenHandle): void;
|
|
1904
|
+
onCancellationTokenCancelled(token: CancellationTokenHandle, callback: (...args: unknown[]) => unknown): void;
|
|
1905
|
+
actorState(ctx: ActorContextHandle): RuntimeBytes;
|
|
1906
|
+
actorBeginOnStateChange(ctx: ActorContextHandle): void;
|
|
1907
|
+
actorEndOnStateChange(ctx: ActorContextHandle): void;
|
|
1908
|
+
actorSetAlarm(ctx: ActorContextHandle, timestampMs?: number | undefined | null): void;
|
|
1909
|
+
actorRequestSave(ctx: ActorContextHandle, opts?: RuntimeRequestSaveOpts | undefined | null): void;
|
|
1910
|
+
actorRequestSaveAndWait(ctx: ActorContextHandle, opts?: RuntimeRequestSaveOpts | undefined | null): Promise<void>;
|
|
1911
|
+
actorInspectorSnapshot(ctx: ActorContextHandle): RuntimeInspectorSnapshot;
|
|
1912
|
+
actorDecodeInspectorRequest(ctx: ActorContextHandle, bytes: RuntimeBytes, advertisedVersion: number): RuntimeBytes;
|
|
1913
|
+
actorEncodeInspectorResponse(ctx: ActorContextHandle, bytes: RuntimeBytes, targetVersion: number): RuntimeBytes;
|
|
1914
|
+
actorVerifyInspectorAuth(ctx: ActorContextHandle, bearerToken?: string | undefined | null): Promise<void>;
|
|
1915
|
+
actorQueueHibernationRemoval(ctx: ActorContextHandle, connId: string): void;
|
|
1916
|
+
actorTakePendingHibernationChanges(ctx: ActorContextHandle): string[];
|
|
1917
|
+
actorDirtyHibernatableConns(ctx: ActorContextHandle): ConnHandle[];
|
|
1918
|
+
actorSaveState(ctx: ActorContextHandle, payload: RuntimeStateDeltaPayload): Promise<void>;
|
|
1919
|
+
actorId(ctx: ActorContextHandle): string;
|
|
1920
|
+
actorName(ctx: ActorContextHandle): string;
|
|
1921
|
+
actorKey(ctx: ActorContextHandle): RuntimeActorKeySegment[];
|
|
1922
|
+
actorRegion(ctx: ActorContextHandle): string;
|
|
1923
|
+
actorSleep(ctx: ActorContextHandle): void;
|
|
1924
|
+
actorDestroy(ctx: ActorContextHandle): void;
|
|
1925
|
+
actorAbortSignal(ctx: ActorContextHandle): AbortSignal;
|
|
1926
|
+
actorConns(ctx: ActorContextHandle): ConnHandle[];
|
|
1927
|
+
actorConnectConn(ctx: ActorContextHandle, params: RuntimeBytes, request?: RuntimeHttpRequest | undefined | null): Promise<ConnHandle>;
|
|
1928
|
+
actorBroadcast(ctx: ActorContextHandle, name: string, args: RuntimeBytes): void;
|
|
1929
|
+
actorWaitUntil(ctx: ActorContextHandle, promise: Promise<unknown>): void;
|
|
1930
|
+
actorWaitForTrackedShutdownWork(ctx: ActorContextHandle): Promise<boolean>;
|
|
1931
|
+
actorWaitForTrackedShutdownWorkUnbounded(ctx: ActorContextHandle): Promise<void>;
|
|
1932
|
+
actorKeepAwake(ctx: ActorContextHandle, promise: Promise<unknown>): void;
|
|
1933
|
+
actorBeginKeepAwake(ctx: ActorContextHandle): number;
|
|
1934
|
+
actorEndKeepAwake(ctx: ActorContextHandle, regionId: number): void;
|
|
1935
|
+
actorRegisterTask(ctx: ActorContextHandle, promise: Promise<unknown>): void;
|
|
1936
|
+
actorRuntimeState(ctx: ActorContextHandle): object;
|
|
1937
|
+
actorClearRuntimeState(ctx: ActorContextHandle): void;
|
|
1938
|
+
actorRestartRunHandler(ctx: ActorContextHandle): void;
|
|
1939
|
+
actorBeginWebsocketCallback(ctx: ActorContextHandle): number;
|
|
1940
|
+
actorEndWebsocketCallback(ctx: ActorContextHandle, regionId: number): void;
|
|
1941
|
+
actorKvGet(ctx: ActorContextHandle, key: RuntimeBytes): Promise<RuntimeBytes | null>;
|
|
1942
|
+
actorKvPut(ctx: ActorContextHandle, key: RuntimeBytes, value: RuntimeBytes): Promise<void>;
|
|
1943
|
+
actorKvDelete(ctx: ActorContextHandle, key: RuntimeBytes): Promise<void>;
|
|
1944
|
+
actorKvDeleteRange(ctx: ActorContextHandle, start: RuntimeBytes, end: RuntimeBytes): Promise<void>;
|
|
1945
|
+
actorKvListPrefix(ctx: ActorContextHandle, prefix: RuntimeBytes, options?: RuntimeKvListOptions | undefined | null): Promise<RuntimeKvEntry[]>;
|
|
1946
|
+
actorKvListRange(ctx: ActorContextHandle, start: RuntimeBytes, end: RuntimeBytes, options?: RuntimeKvListOptions | undefined | null): Promise<RuntimeKvEntry[]>;
|
|
1947
|
+
actorKvBatchGet(ctx: ActorContextHandle, keys: RuntimeBytes[]): Promise<Array<RuntimeBytes | undefined | null>>;
|
|
1948
|
+
actorKvBatchPut(ctx: ActorContextHandle, entries: RuntimeKvEntry[]): Promise<void>;
|
|
1949
|
+
actorKvBatchDelete(ctx: ActorContextHandle, keys: RuntimeBytes[]): Promise<void>;
|
|
1950
|
+
actorSqlExec(ctx: ActorContextHandle, sql: string): Promise<RuntimeSqlExecResult>;
|
|
1951
|
+
actorSqlExecute(ctx: ActorContextHandle, sql: string, params?: RuntimeSqlBindParams): Promise<RuntimeSqlExecuteResult>;
|
|
1952
|
+
actorSqlQuery(ctx: ActorContextHandle, sql: string, params?: RuntimeSqlBindParams): Promise<RuntimeSqlQueryResult>;
|
|
1953
|
+
actorSqlRun(ctx: ActorContextHandle, sql: string, params?: RuntimeSqlBindParams): Promise<RuntimeSqlRunResult>;
|
|
1954
|
+
actorSqlMetrics(ctx: ActorContextHandle): SqliteNativeMetrics | null;
|
|
1955
|
+
actorSqlTakeLastKvError(ctx: ActorContextHandle): string | null;
|
|
1956
|
+
actorSqlClose(ctx: ActorContextHandle): Promise<void>;
|
|
1957
|
+
actorQueueSend(ctx: ActorContextHandle, name: string, body: RuntimeBytes): Promise<RuntimeQueueMessage>;
|
|
1958
|
+
actorQueueNextBatch(ctx: ActorContextHandle, options?: RuntimeQueueNextBatchOptions | undefined | null, signal?: CancellationTokenHandle | undefined | null): Promise<RuntimeQueueMessage[]>;
|
|
1959
|
+
actorQueueWaitForNames(ctx: ActorContextHandle, names: string[], options?: RuntimeQueueWaitOptions | undefined | null, signal?: CancellationTokenHandle | undefined | null): Promise<RuntimeQueueMessage>;
|
|
1960
|
+
actorQueueWaitForNamesAvailable(ctx: ActorContextHandle, names: string[], options?: RuntimeQueueWaitOptions | undefined | null, signal?: CancellationTokenHandle | undefined | null): Promise<void>;
|
|
1961
|
+
actorQueueEnqueueAndWait(ctx: ActorContextHandle, name: string, body: RuntimeBytes, options?: RuntimeQueueEnqueueAndWaitOptions | undefined | null, signal?: CancellationTokenHandle | undefined | null): Promise<RuntimeBytes | null>;
|
|
1962
|
+
actorQueueTryNextBatch(ctx: ActorContextHandle, options?: RuntimeQueueTryNextBatchOptions | undefined | null): RuntimeQueueMessage[];
|
|
1963
|
+
actorQueueMaxSize(ctx: ActorContextHandle): number;
|
|
1964
|
+
actorQueueInspectMessages(ctx: ActorContextHandle): Promise<RuntimeQueueInspectMessage[]>;
|
|
1965
|
+
actorScheduleAfter(ctx: ActorContextHandle, durationMs: number, actionName: string, args: RuntimeBytes): void;
|
|
1966
|
+
actorScheduleAt(ctx: ActorContextHandle, timestampMs: number, actionName: string, args: RuntimeBytes): void;
|
|
1967
|
+
connId(conn: ConnHandle): string;
|
|
1968
|
+
connParams(conn: ConnHandle): RuntimeBytes;
|
|
1969
|
+
connState(conn: ConnHandle): RuntimeBytes;
|
|
1970
|
+
connSetState(conn: ConnHandle, state: RuntimeBytes): void;
|
|
1971
|
+
connIsHibernatable(conn: ConnHandle): boolean;
|
|
1972
|
+
connSend(conn: ConnHandle, name: string, args: RuntimeBytes): void;
|
|
1973
|
+
connDisconnect(conn: ConnHandle, reason?: string | undefined | null): Promise<void>;
|
|
1974
|
+
webSocketSend(ws: WebSocketHandle, data: RuntimeBytes, binary: boolean): void;
|
|
1975
|
+
webSocketClose(ws: WebSocketHandle, code?: number | undefined | null, reason?: string | undefined | null): Promise<void>;
|
|
1976
|
+
webSocketSetEventCallback(ws: WebSocketHandle, callback: (event: RuntimeWebSocketEvent) => void): void;
|
|
1977
|
+
}
|
|
1978
|
+
|
|
1979
|
+
declare function buildConfiguredRegistry(config: RegistryConfig): Promise<{
|
|
1980
|
+
runtime: CoreRuntime;
|
|
1981
|
+
registry: RegistryHandle;
|
|
1982
|
+
serveConfig: RuntimeServeConfig;
|
|
1983
|
+
}>;
|
|
1984
|
+
|
|
1605
1985
|
type FetchHandler = (request: Request, ...args: any) => Response | Promise<Response>;
|
|
1606
1986
|
interface ServerlessHandler {
|
|
1607
1987
|
fetch: FetchHandler;
|
|
1608
1988
|
}
|
|
1609
|
-
interface
|
|
1610
|
-
|
|
1611
|
-
|
|
1989
|
+
interface RegistryRoutes {
|
|
1990
|
+
health(): Promise<Response>;
|
|
1991
|
+
metadata(): Promise<Response>;
|
|
1992
|
+
prometheusMetrics(request?: Request): Promise<Response>;
|
|
1993
|
+
}
|
|
1994
|
+
/**
|
|
1995
|
+
* Injectable dependencies for {@link Registry}. Production code uses the
|
|
1996
|
+
* defaults. Tests override `buildConfiguredRegistry` to drive lifecycle
|
|
1997
|
+
* orchestration against a fake `CoreRuntime` without an engine.
|
|
1998
|
+
*/
|
|
1999
|
+
interface RegistryDeps {
|
|
2000
|
+
buildConfiguredRegistry: typeof buildConfiguredRegistry;
|
|
1612
2001
|
}
|
|
1613
2002
|
declare class Registry<A extends RegistryActors> {
|
|
1614
2003
|
#private;
|
|
2004
|
+
readonly routes: RegistryRoutes;
|
|
1615
2005
|
get config(): RegistryConfigInput<A>;
|
|
1616
2006
|
parseConfig(): RegistryConfig;
|
|
1617
|
-
constructor(config: RegistryConfigInput<A>);
|
|
2007
|
+
constructor(config: RegistryConfigInput<A>, deps?: Partial<RegistryDeps>);
|
|
1618
2008
|
/**
|
|
1619
2009
|
* Handle an incoming HTTP request for serverless deployments.
|
|
1620
2010
|
*
|
|
@@ -1635,7 +2025,46 @@ declare class Registry<A extends RegistryActors> {
|
|
|
1635
2025
|
* ```
|
|
1636
2026
|
*/
|
|
1637
2027
|
serve(): ServerlessHandler;
|
|
1638
|
-
|
|
2028
|
+
/**
|
|
2029
|
+
* Starts an HTTP server that dispatches every request through the
|
|
2030
|
+
* serverless handler. Uses `crossPlatformServe` to pick the right
|
|
2031
|
+
* runtime (Node, Bun, Deno).
|
|
2032
|
+
*
|
|
2033
|
+
* @param opts.port Port to listen on. Defaults to 3000.
|
|
2034
|
+
* @param opts.publicDir If set, serves static files from this directory
|
|
2035
|
+
* before falling through to the registry handler.
|
|
2036
|
+
*
|
|
2037
|
+
* @example
|
|
2038
|
+
* ```ts
|
|
2039
|
+
* await registry.listen();
|
|
2040
|
+
* await registry.listen({ port: 8080, publicDir: "./public" });
|
|
2041
|
+
* ```
|
|
2042
|
+
*/
|
|
2043
|
+
listen(opts?: {
|
|
2044
|
+
port?: number;
|
|
2045
|
+
publicDir?: string;
|
|
2046
|
+
}): Promise<void>;
|
|
2047
|
+
/**
|
|
2048
|
+
* Gracefully drains all live registries.
|
|
2049
|
+
*
|
|
2050
|
+
* Programmatic counterpart to the SIGINT/SIGTERM handlers: tears down
|
|
2051
|
+
* every live `CoreRegistry` (both `start()` and `handler()` modes) and
|
|
2052
|
+
* waits for the serve promise to resolve, all bounded by the shutdown
|
|
2053
|
+
* grace period. Unlike a signal-driven shutdown, this does not re-raise a
|
|
2054
|
+
* signal or exit the process. The caller owns process lifetime.
|
|
2055
|
+
*
|
|
2056
|
+
* Idempotent: concurrent or repeated calls share a single drain. Safe to
|
|
2057
|
+
* call even if nothing has been started.
|
|
2058
|
+
*
|
|
2059
|
+
* @example
|
|
2060
|
+
* ```ts
|
|
2061
|
+
* const registry = setup({ use: { counter } });
|
|
2062
|
+
* registry.start();
|
|
2063
|
+
* // ...later, on your own shutdown trigger:
|
|
2064
|
+
* await registry.shutdown();
|
|
2065
|
+
* ```
|
|
2066
|
+
*/
|
|
2067
|
+
shutdown(): Promise<void>;
|
|
1639
2068
|
startEnvoy(): void;
|
|
1640
2069
|
/**
|
|
1641
2070
|
* Starts the actor envoy for standalone server deployments.
|