rivetkit 2.3.20 → 2.3.21

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.
Files changed (130) hide show
  1. package/dist/browser/client.d.ts +43 -5
  2. package/dist/browser/client.js +302 -60
  3. package/dist/browser/client.js.map +1 -1
  4. package/dist/browser/inspector/client.js +2 -1
  5. package/dist/browser/inspector/client.js.map +1 -1
  6. package/dist/tsup/actor/errors.cjs.map +1 -1
  7. package/dist/tsup/agent-os/index.cjs +2 -1
  8. package/dist/tsup/agent-os/index.cjs.map +1 -1
  9. package/dist/tsup/agent-os/index.d.cts +32 -4
  10. package/dist/tsup/agent-os/index.d.ts +32 -4
  11. package/dist/tsup/agent-os/index.js +2 -1
  12. package/dist/tsup/agent-os/index.js.map +1 -1
  13. package/dist/tsup/{chunk-553CIQJY.js → chunk-2CI2IEVN.js} +2 -2
  14. package/dist/tsup/{chunk-W2PXGWMR.js → chunk-5EGLHQJJ.js} +2 -2
  15. package/dist/tsup/{chunk-DMQUERRN.js → chunk-5IBUZFLP.js} +2 -2
  16. package/dist/tsup/{chunk-76YTS32R.cjs → chunk-6LRPYB4Q.cjs} +4 -4
  17. package/dist/tsup/chunk-6LRPYB4Q.cjs.map +1 -0
  18. package/dist/tsup/{chunk-WAISW7KR.cjs → chunk-APOANSDG.cjs} +10 -10
  19. package/dist/tsup/chunk-APOANSDG.cjs.map +1 -0
  20. package/dist/tsup/{chunk-IHKDFKM4.cjs → chunk-ARGNQGYG.cjs} +3 -3
  21. package/dist/tsup/chunk-ARGNQGYG.cjs.map +1 -0
  22. package/dist/tsup/{chunk-A36FMKOV.cjs → chunk-B5SNXPSS.cjs} +448 -199
  23. package/dist/tsup/chunk-B5SNXPSS.cjs.map +1 -0
  24. package/dist/tsup/{chunk-SNNVRHLX.js → chunk-CJXBGTVT.js} +2 -2
  25. package/dist/tsup/{chunk-CVLNRT7O.cjs → chunk-GHKQC4PD.cjs} +3 -3
  26. package/dist/tsup/chunk-GHKQC4PD.cjs.map +1 -0
  27. package/dist/tsup/chunk-JX2ITWAV.cjs.map +1 -1
  28. package/dist/tsup/chunk-KVFIONKQ.cjs.map +1 -1
  29. package/dist/tsup/{chunk-2CE5UNWK.cjs → chunk-KWGN2ZBJ.cjs} +3 -2
  30. package/dist/tsup/chunk-KWGN2ZBJ.cjs.map +1 -0
  31. package/dist/tsup/{chunk-3WS7Z64U.cjs → chunk-LWSLKKZ5.cjs} +3 -3
  32. package/dist/tsup/chunk-LWSLKKZ5.cjs.map +1 -0
  33. package/dist/tsup/chunk-MYWZCDML.cjs.map +1 -1
  34. package/dist/tsup/{chunk-RSIOGT2U.cjs → chunk-NL2EIKK6.cjs} +7 -7
  35. package/dist/tsup/chunk-NL2EIKK6.cjs.map +1 -0
  36. package/dist/tsup/chunk-NWCAIWHL.cjs.map +1 -1
  37. package/dist/tsup/{chunk-5G2J26VM.js → chunk-PYRI75DL.js} +314 -65
  38. package/dist/tsup/chunk-PYRI75DL.js.map +1 -0
  39. package/dist/tsup/{chunk-2NXLTFWI.js → chunk-RFN3BG6D.js} +3 -3
  40. package/dist/tsup/chunk-RFN3BG6D.js.map +1 -0
  41. package/dist/tsup/{chunk-DHWZTUKA.js → chunk-RGIZNZYO.js} +3 -2
  42. package/dist/tsup/chunk-RGIZNZYO.js.map +1 -0
  43. package/dist/tsup/{chunk-TZVAVPGJ.js → chunk-VMMXXVDO.js} +4 -4
  44. package/dist/tsup/client/mod.cjs +5 -5
  45. package/dist/tsup/client/mod.cjs.map +1 -1
  46. package/dist/tsup/client/mod.d.cts +12 -3
  47. package/dist/tsup/client/mod.d.ts +12 -3
  48. package/dist/tsup/client/mod.js +4 -4
  49. package/dist/tsup/common/log.cjs +2 -2
  50. package/dist/tsup/common/log.cjs.map +1 -1
  51. package/dist/tsup/common/log.js +1 -1
  52. package/dist/tsup/common/websocket.cjs +3 -3
  53. package/dist/tsup/common/websocket.cjs.map +1 -1
  54. package/dist/tsup/common/websocket.js +2 -2
  55. package/dist/tsup/{config-Be-VOHaX.d.ts → config-Bc1nnvUl.d.ts} +35 -5
  56. package/dist/tsup/{config-Ct5uXxXk.d.cts → config-Do_0guSS.d.cts} +35 -5
  57. package/dist/tsup/{context-Cw-11Q-B.d.cts → context-CgNkhjdY.d.cts} +1 -1
  58. package/dist/tsup/{context-CXLa0BIM.d.ts → context-oGQxZDPz.d.ts} +1 -1
  59. package/dist/tsup/db/drizzle.cjs +2 -2
  60. package/dist/tsup/db/drizzle.cjs.map +1 -1
  61. package/dist/tsup/db/drizzle.js +1 -1
  62. package/dist/tsup/db/mod.cjs +3 -3
  63. package/dist/tsup/db/mod.cjs.map +1 -1
  64. package/dist/tsup/db/mod.js +2 -2
  65. package/dist/tsup/dynamic/mod.cjs.map +1 -1
  66. package/dist/tsup/dynamic/mod.d.cts +2 -1
  67. package/dist/tsup/dynamic/mod.d.ts +2 -1
  68. package/dist/tsup/inspector/mod.cjs +5 -5
  69. package/dist/tsup/inspector/mod.cjs.map +1 -1
  70. package/dist/tsup/inspector/mod.js +4 -4
  71. package/dist/tsup/inspector/workflow.cjs +4 -4
  72. package/dist/tsup/inspector/workflow.cjs.map +1 -1
  73. package/dist/tsup/inspector/workflow.js +3 -3
  74. package/dist/tsup/inspector-tab/mod.cjs.map +1 -1
  75. package/dist/tsup/inspector-tab/mod.d.cts +3 -2
  76. package/dist/tsup/inspector-tab/mod.d.ts +3 -2
  77. package/dist/tsup/mod.cjs +105 -115
  78. package/dist/tsup/mod.cjs.map +1 -1
  79. package/dist/tsup/mod.d.cts +4 -3
  80. package/dist/tsup/mod.d.ts +4 -3
  81. package/dist/tsup/mod.js +29 -39
  82. package/dist/tsup/mod.js.map +1 -1
  83. package/dist/tsup/test/mod.cjs +6 -6
  84. package/dist/tsup/test/mod.cjs.map +1 -1
  85. package/dist/tsup/test/mod.d.cts +2 -1
  86. package/dist/tsup/test/mod.d.ts +2 -1
  87. package/dist/tsup/test/mod.js +4 -4
  88. package/dist/tsup/unstable/migrations.cjs.map +1 -1
  89. package/dist/tsup/utils.cjs +2 -2
  90. package/dist/tsup/utils.cjs.map +1 -1
  91. package/dist/tsup/utils.js +1 -1
  92. package/dist/tsup/workflow/mod.cjs +7 -7
  93. package/dist/tsup/workflow/mod.cjs.map +1 -1
  94. package/dist/tsup/workflow/mod.d.cts +4 -3
  95. package/dist/tsup/workflow/mod.d.ts +4 -3
  96. package/dist/tsup/workflow/mod.js +4 -4
  97. package/package.json +10 -9
  98. package/src/client/actor-conn.ts +34 -1
  99. package/src/client/actor-handle.ts +29 -1
  100. package/src/client/auth.ts +37 -0
  101. package/src/client/client.ts +10 -2
  102. package/src/client/config.ts +12 -1
  103. package/src/client/mod.ts +9 -0
  104. package/src/client/token-provider.test.ts +86 -0
  105. package/src/client/token-provider.ts +93 -0
  106. package/src/client/utils.ts +1 -0
  107. package/src/engine-client/actor-websocket-client.ts +2 -1
  108. package/src/engine-client/api-endpoints.ts +28 -0
  109. package/src/engine-client/driver.ts +4 -0
  110. package/src/engine-client/mod.ts +201 -64
  111. package/src/registry/config/envoy.ts +1 -17
  112. package/src/registry/config/index.test.ts +2 -2
  113. package/src/registry/config/index.ts +7 -2
  114. package/src/registry/index.ts +28 -0
  115. package/dist/tsup/chunk-2CE5UNWK.cjs.map +0 -1
  116. package/dist/tsup/chunk-2NXLTFWI.js.map +0 -1
  117. package/dist/tsup/chunk-3WS7Z64U.cjs.map +0 -1
  118. package/dist/tsup/chunk-5G2J26VM.js.map +0 -1
  119. package/dist/tsup/chunk-76YTS32R.cjs.map +0 -1
  120. package/dist/tsup/chunk-A36FMKOV.cjs.map +0 -1
  121. package/dist/tsup/chunk-CVLNRT7O.cjs.map +0 -1
  122. package/dist/tsup/chunk-DHWZTUKA.js.map +0 -1
  123. package/dist/tsup/chunk-IHKDFKM4.cjs.map +0 -1
  124. package/dist/tsup/chunk-RSIOGT2U.cjs.map +0 -1
  125. package/dist/tsup/chunk-WAISW7KR.cjs.map +0 -1
  126. /package/dist/tsup/{chunk-553CIQJY.js.map → chunk-2CI2IEVN.js.map} +0 -0
  127. /package/dist/tsup/{chunk-W2PXGWMR.js.map → chunk-5EGLHQJJ.js.map} +0 -0
  128. /package/dist/tsup/{chunk-DMQUERRN.js.map → chunk-5IBUZFLP.js.map} +0 -0
  129. /package/dist/tsup/{chunk-SNNVRHLX.js.map → chunk-CJXBGTVT.js.map} +0 -0
  130. /package/dist/tsup/{chunk-TZVAVPGJ.js.map → chunk-VMMXXVDO.js.map} +0 -0
@@ -6,6 +6,7 @@ import { Logger } from 'pino';
6
6
  import { UniversalWebSocket } from '@rivetkit/virtual-websocket';
7
7
  import { WorkflowState } from './inspector/workflow.js';
8
8
  import { StandardSchemaV1 } from '@standard-schema/spec';
9
+ import { Rivet } from '@rivetkit/engine-api-full';
9
10
  import { E as Encoding, G as GetUpgradeWebSocket } from './utils-OQHBjfcM.js';
10
11
  import { Context, Hono } from 'hono';
11
12
  import { R as RivetError } from './utils-DsoDinPz.js';
@@ -198,7 +199,7 @@ declare const RegistryConfigSchema: z$1.ZodPipe<z$1.ZodObject<{
198
199
  endpoint: string | undefined;
199
200
  startServices: boolean;
200
201
  namespace: string;
201
- token: string;
202
+ token: string | undefined;
202
203
  publicEndpoint: string | undefined;
203
204
  publicNamespace: string | undefined;
204
205
  publicToken: string | undefined;
@@ -484,6 +485,26 @@ declare function actor<TState, TConnParams, TConnState, TVars, TInput, TDatabase
484
485
  declare function isStaticActorDefinition(definition: AnyActorDefinition): definition is AnyStaticActorDefinition;
485
486
  declare function lookupInRegistry(config: RegistryConfig, name: string): AnyActorDefinition;
486
487
 
488
+ /** A namespace-scoped Engine grant. The caller must provide every grant explicitly. */
489
+ type TokenGrant = Rivet.AuthTokenGrant;
490
+ /** Options for `client.auth.issueToken()`. `expiresIn` is in seconds. */
491
+ type IssueTokenOptions = Pick<Rivet.AuthTokenCreateRequest, "subject" | "grants"> & {
492
+ expiresIn?: Rivet.AuthTokenCreateRequest["duration"];
493
+ };
494
+ /** Token timestamps are Unix milliseconds. */
495
+ interface IssuedToken {
496
+ token: Rivet.AuthTokenCreateResponse["token"];
497
+ issuedAt: Rivet.AuthTokenCreateResponse["issuedTs"];
498
+ expiresAt: Rivet.AuthTokenCreateResponse["expiresTs"];
499
+ }
500
+ /** Resources that can be scoped to a single actor ID. */
501
+ type ActorTokenResource = Extract<Rivet.AuthTokenGrant["resource"], "actor_gateway" | "actor" | "actor_kv">;
502
+ type ActorTokenPermissions = Partial<Record<ActorTokenResource, Rivet.AuthTokenGrant["operations"]>>;
503
+ /** Options for `actor.issueToken()`. Omit permissions for gateway read access only. */
504
+ type ActorIssueTokenOptions = Pick<IssueTokenOptions, "subject" | "expiresIn"> & {
505
+ permissions?: ActorTokenPermissions;
506
+ };
507
+
487
508
  type GatewayTarget = {
488
509
  directId: string;
489
510
  } | ActorQuery;
@@ -491,6 +512,7 @@ interface GatewayRequestOptions {
491
512
  skipReadyWait?: boolean;
492
513
  }
493
514
  interface EngineControlClient {
515
+ issueToken(options: IssueTokenOptions): Promise<IssuedToken>;
494
516
  getForId(input: GetForIdInput): Promise<ActorOutput | undefined>;
495
517
  getWithKey(input: GetWithKeyInput): Promise<ActorOutput | undefined>;
496
518
  getOrCreateWithKey(input: GetOrCreateWithKeyInput): Promise<ActorOutput>;
@@ -498,6 +520,8 @@ interface EngineControlClient {
498
520
  listActors(input: ListActorsInput): Promise<ActorOutput[]>;
499
521
  sendRequest(target: GatewayTarget, actorRequest: Request, options?: GatewayRequestOptions): Promise<Response>;
500
522
  openWebSocket(path: string, target: GatewayTarget, encoding: Encoding, params: unknown, options?: GatewayRequestOptions): Promise<UniversalWebSocket>;
523
+ /** Refresh a credential rejected during this WebSocket handshake, if supported. */
524
+ refreshAuthToken?(ws: UniversalWebSocket): Promise<boolean>;
501
525
  proxyRequest(c: Context, actorRequest: Request, actorId: string): Promise<Response>;
502
526
  proxyWebSocket(c: Context, path: string, actorId: string, encoding: Encoding, params: unknown): Promise<Response>;
503
527
  buildGatewayUrl(target: GatewayTarget, options?: GatewayRequestOptions): Promise<string>;
@@ -1488,6 +1512,8 @@ declare class ActorHandleRaw {
1488
1512
  * Resolves the actor to get its unique actor ID.
1489
1513
  */
1490
1514
  resolve(): Promise<string>;
1515
+ /** Issue a token scoped to this actor. Defaults to actor gateway read access. */
1516
+ issueToken(options?: ActorIssueTokenOptions): Promise<IssuedToken>;
1491
1517
  /**
1492
1518
  * Returns the raw URL for routing traffic to the actor.
1493
1519
  */
@@ -1513,7 +1539,7 @@ declare class ActorHandleRaw {
1513
1539
  type ActorHandle<AD extends AnyActorDefinition> = Omit<ActorHandleRaw, "connect" | "send"> & {
1514
1540
  connect(params?: unknown, options?: ActorConnectOptions): ActorConn<AD>;
1515
1541
  resolve(): Promise<string>;
1516
- } & ActorDefinitionQueueSend<AD> & ActorDefinitionActions<AD>;
1542
+ } & ActorDefinitionQueueSend<AD> & Omit<ActorDefinitionActions<AD>, keyof ActorHandleRaw>;
1517
1543
 
1518
1544
  /** Extract the actor registry from the registry definition. */
1519
1545
  type ExtractActorsFromRegistry<A extends Registry<any>> = A extends Registry<infer Actors> ? Actors : never;
@@ -1675,6 +1701,10 @@ interface ActorClientRuntimeOptions {
1675
1701
  */
1676
1702
  declare class ClientRaw {
1677
1703
  #private;
1704
+ /** Issue namespace-scoped tokens with an explicit grant list. */
1705
+ readonly auth: {
1706
+ issueToken(options: IssueTokenOptions): Promise<IssuedToken>;
1707
+ };
1678
1708
  [ACTOR_CONNS_SYMBOL]: Set<ActorConnRaw>;
1679
1709
  /**
1680
1710
  * Creates an instance of Client.
@@ -1735,9 +1765,9 @@ declare class ClientRaw {
1735
1765
  *
1736
1766
  * @template A The actor registry type.
1737
1767
  */
1738
- type Client<A extends Registry<any>> = ClientRaw & {
1768
+ type Client<A extends Registry<any>> = ClientRaw & Omit<{
1739
1769
  [K in keyof ExtractActorsFromRegistry<A>]: ActorAccessor<ExtractActorsFromRegistry<A>[K]>;
1740
- };
1770
+ }, keyof ClientRaw>;
1741
1771
  type AnyClient = Client<Registry<any>>;
1742
1772
  declare function createClientWithDriver<A extends Registry<any>>(driver: EngineControlClient, options?: ClientRawOptions & ActorClientRuntimeOptions): Client<A>;
1743
1773
 
@@ -2692,4 +2722,4 @@ declare const DocActorConfigSchema: z.ZodObject<{
2692
2722
  }, z.core.$strip>>;
2693
2723
  }, z.core.$strip>;
2694
2724
 
2695
- export { type AnyStaticActorInstance as $, type AnyActorDefinition as A, type BaseActorDefinition as B, type ConnectContext as C, type DestroyContext as D, type EventSchemaConfig as E, type ActorKey as F, type ActorKv as G, type ActorLogger as H, type ActorOptions as I, type ActorOptionsInput as J, ActorOptionsSchema as K, type ActorQuery as L, type MigrateContext as M, type ActorQueue as N, type ActorRun as O, type ActorSchedule as P, type QueueSchemaConfig as Q, type RequestContext as R, type SleepContext as S, type ActorTracingOptions as T, type ActorTypes as U, ActorsSchema as V, type WakeContext as W, type AnyActorInstance as X, type AnyClient as Y, type AnyConn as Z, type AnyStaticActorDefinition as _, type ActionContext as a, type ScheduledEventInfo as a$, type AuthIntent as a0, BUILTIN_INSPECTOR_TAB_IDS as a1, type BaseActorInstance as a2, BuiltinInspectorTabIdSchema as a3, CONN_DRIVER_SYMBOL as a4, CONN_STATE_MANAGER_SYMBOL as a5, type Client as a6, type Conn as a7, type CronFire as a8, type CronJobInfo as a9, type QueueName as aA, type QueueNextBatchOptions as aB, type QueueNextOptions as aC, type QueueResultMessageForName as aD, type QueueTryNextBatchOptions as aE, type QueueTryNextOptions as aF, type QueueWaitOptions as aG, RAW_STATE_SYMBOL as aH, Registry as aI, type RegistryActors as aJ, type RegistryApplication as aK, type RegistryConfig as aL, type RegistryConfigInput as aM, RegistryConfigSchema as aN, type RegistryDeps as aO, type RegistryListenOptions as aP, type RegistryRoutes as aQ, type RunConfig as aR, RunConfigSchema as aS, type RunControl as aT, type RunInspectorConfig as aU, type RunInspectorFactoryContext as aV, type RunInspectorFactoryResult as aW, type RunInspectorKind as aX, type RunWithInactiveOptions as aY, type RuntimeKind as aZ, RuntimeKindSchema as a_, CustomInspectorTabEntrySchema as aa, DEFAULT_SLEEP_GRACE_PERIOD as ab, type DefineRunHandlerOptions as ac, DocActorConfigSchema as ad, DocActorOptionsSchema as ae, DocConfigurePoolSchema as af, DocEnvoyConfigSchema as ag, DocRegistryConfigSchema as ah, DocServerlessConfigSchema as ai, DocSqliteConfigSchema as aj, type FetchHandler as ak, type GlobalActorOptions as al, type GlobalActorOptionsInput as am, GlobalActorOptionsSchema as an, HideInspectorTabEntrySchema as ao, type InferEventArgs as ap, type InferSchemaMap as aq, InspectorTabEntrySchema as ar, type InspectorUnsubscribe as as, type InstanceActorOptions as at, type InstanceActorOptionsInput as au, InstanceActorOptionsSchema as av, type QueueEnqueueAndWaitOptions as aw, type QueueFilterName as ax, type QueueIterOptions as ay, type QueueMessageOf as az, type BeforeActionResponseContext as b, type ScheduledFireInfo as b0, type ServerlessHandler as b1, type SqliteBackend as b2, SqliteBackendSchema as b3, type SqliteConfig as b4, SqliteConfigSchema as b5, type TestConfig as b6, TestConfigSchema as b7, type Type as b8, type WasmRuntimeBindings as b9, type ActorConn as bA, ActorConnRaw as bB, type ActorConnStatus as bC, type ActorConnectOptions as bD, type ActorGatewayOptions as bE, type ActorHandle as bF, ActorHandleRaw as bG, ClientRaw as bH, type ConnectionStateCallback as bI, type CreateOptions as bJ, type CreateRequest as bK, type EventUnsubscribe as bL, type ExtractActorsFromRegistry as bM, type ExtractRegistryFromClient as bN, type GetOptions as bO, type GetWithIdOptions as bP, type QueryOptions as bQ, type Region as bR, type StatusChangeCallback as bS, type WasmRuntimeConfig as ba, WasmRuntimeConfigSchema as bb, type WasmRuntimeInitInput as bc, type WorkflowInspectorConfig as bd, type WorkflowOutcome as be, type WorkflowSpan as bf, type WorkflowStepOutcome as bg, type WorkflowStepSpan as bh, actor as bi, buildActorNames as bj, createClientWithDriver as bk, defineRunHandler as bl, disposeRunInspector as bm, event as bn, getRunFunction as bo, getRunInspectorConfig as bp, getRunMetadata as bq, isStaticActorDefinition as br, isStaticActorInstance as bs, lookupInRegistry as bt, queue as bu, setup as bv, test as bw, type ActorAccessor as bx, type ActorActionFunction as by, type ActorActionOptions as bz, type BeforeConnectContext as c, type CreateConnStateContext as d, type CreateContext as e, type CreateVarsContext as f, type DisconnectContext as g, type RunContext as h, type StateChangeContext as i, type WebSocketContext as j, ACTOR_CONTEXT_INTERNAL_SYMBOL as k, type ActionInputSchemas as l, type ActionSampleRates as m, type ActionTraceSamplers as n, type Actions as o, type ActorConfig as p, type ActorConfigInput as q, ActorConfigSchema as r, type ActorContext as s, type ActorContextOf as t, type ActorCron as u, type ActorCronEveryOptions as v, type ActorCronSetOptions as w, ActorDefinition as x, type ActorInspectorConfig as y, ActorInspectorConfigSchema as z };
2725
+ export { type AnyStaticActorInstance as $, type AnyActorDefinition as A, type BaseActorDefinition as B, type ConnectContext as C, type DestroyContext as D, type EventSchemaConfig as E, type ActorKey as F, type ActorKv as G, type ActorLogger as H, type ActorOptions as I, type ActorOptionsInput as J, ActorOptionsSchema as K, type ActorQuery as L, type MigrateContext as M, type ActorQueue as N, type ActorRun as O, type ActorSchedule as P, type QueueSchemaConfig as Q, type RequestContext as R, type SleepContext as S, type ActorTracingOptions as T, type ActorTypes as U, ActorsSchema as V, type WakeContext as W, type AnyActorInstance as X, type AnyClient as Y, type AnyConn as Z, type AnyStaticActorDefinition as _, type ActionContext as a, type ScheduledEventInfo as a$, type AuthIntent as a0, BUILTIN_INSPECTOR_TAB_IDS as a1, type BaseActorInstance as a2, BuiltinInspectorTabIdSchema as a3, CONN_DRIVER_SYMBOL as a4, CONN_STATE_MANAGER_SYMBOL as a5, type Client as a6, type Conn as a7, type CronFire as a8, type CronJobInfo as a9, type QueueName as aA, type QueueNextBatchOptions as aB, type QueueNextOptions as aC, type QueueResultMessageForName as aD, type QueueTryNextBatchOptions as aE, type QueueTryNextOptions as aF, type QueueWaitOptions as aG, RAW_STATE_SYMBOL as aH, Registry as aI, type RegistryActors as aJ, type RegistryApplication as aK, type RegistryConfig as aL, type RegistryConfigInput as aM, RegistryConfigSchema as aN, type RegistryDeps as aO, type RegistryListenOptions as aP, type RegistryRoutes as aQ, type RunConfig as aR, RunConfigSchema as aS, type RunControl as aT, type RunInspectorConfig as aU, type RunInspectorFactoryContext as aV, type RunInspectorFactoryResult as aW, type RunInspectorKind as aX, type RunWithInactiveOptions as aY, type RuntimeKind as aZ, RuntimeKindSchema as a_, CustomInspectorTabEntrySchema as aa, DEFAULT_SLEEP_GRACE_PERIOD as ab, type DefineRunHandlerOptions as ac, DocActorConfigSchema as ad, DocActorOptionsSchema as ae, DocConfigurePoolSchema as af, DocEnvoyConfigSchema as ag, DocRegistryConfigSchema as ah, DocServerlessConfigSchema as ai, DocSqliteConfigSchema as aj, type FetchHandler as ak, type GlobalActorOptions as al, type GlobalActorOptionsInput as am, GlobalActorOptionsSchema as an, HideInspectorTabEntrySchema as ao, type InferEventArgs as ap, type InferSchemaMap as aq, InspectorTabEntrySchema as ar, type InspectorUnsubscribe as as, type InstanceActorOptions as at, type InstanceActorOptionsInput as au, InstanceActorOptionsSchema as av, type QueueEnqueueAndWaitOptions as aw, type QueueFilterName as ax, type QueueIterOptions as ay, type QueueMessageOf as az, type BeforeActionResponseContext as b, type ScheduledFireInfo as b0, type ServerlessHandler as b1, type SqliteBackend as b2, SqliteBackendSchema as b3, type SqliteConfig as b4, SqliteConfigSchema as b5, type TestConfig as b6, TestConfigSchema as b7, type Type as b8, type WasmRuntimeBindings as b9, type ActorConn as bA, ActorConnRaw as bB, type ActorConnStatus as bC, type ActorConnectOptions as bD, type ActorGatewayOptions as bE, type ActorHandle as bF, ActorHandleRaw as bG, type ActorIssueTokenOptions as bH, type ActorTokenPermissions as bI, type ActorTokenResource as bJ, ClientRaw as bK, type ConnectionStateCallback as bL, type CreateOptions as bM, type CreateRequest as bN, type EventUnsubscribe as bO, type ExtractActorsFromRegistry as bP, type ExtractRegistryFromClient as bQ, type GetOptions as bR, type GetWithIdOptions as bS, type IssueTokenOptions as bT, type IssuedToken as bU, type QueryOptions as bV, type Region as bW, type StatusChangeCallback as bX, type TokenGrant as bY, type WasmRuntimeConfig as ba, WasmRuntimeConfigSchema as bb, type WasmRuntimeInitInput as bc, type WorkflowInspectorConfig as bd, type WorkflowOutcome as be, type WorkflowSpan as bf, type WorkflowStepOutcome as bg, type WorkflowStepSpan as bh, actor as bi, buildActorNames as bj, createClientWithDriver as bk, defineRunHandler as bl, disposeRunInspector as bm, event as bn, getRunFunction as bo, getRunInspectorConfig as bp, getRunMetadata as bq, isStaticActorDefinition as br, isStaticActorInstance as bs, lookupInRegistry as bt, queue as bu, setup as bv, test as bw, type ActorAccessor as bx, type ActorActionFunction as by, type ActorActionOptions as bz, type BeforeConnectContext as c, type CreateConnStateContext as d, type CreateContext as e, type CreateVarsContext as f, type DisconnectContext as g, type RunContext as h, type StateChangeContext as i, type WebSocketContext as j, ACTOR_CONTEXT_INTERNAL_SYMBOL as k, type ActionInputSchemas as l, type ActionSampleRates as m, type ActionTraceSamplers as n, type Actions as o, type ActorConfig as p, type ActorConfigInput as q, ActorConfigSchema as r, type ActorContext as s, type ActorContextOf as t, type ActorCron as u, type ActorCronEveryOptions as v, type ActorCronSetOptions as w, ActorDefinition as x, type ActorInspectorConfig as y, ActorInspectorConfigSchema as z };
@@ -6,6 +6,7 @@ import { Logger } from 'pino';
6
6
  import { UniversalWebSocket } from '@rivetkit/virtual-websocket';
7
7
  import { WorkflowState } from './inspector/workflow.cjs';
8
8
  import { StandardSchemaV1 } from '@standard-schema/spec';
9
+ import { Rivet } from '@rivetkit/engine-api-full';
9
10
  import { E as Encoding, G as GetUpgradeWebSocket } from './utils-CNFeS-Dk.cjs';
10
11
  import { Context, Hono } from 'hono';
11
12
  import { R as RivetError } from './utils-DsoDinPz.cjs';
@@ -198,7 +199,7 @@ declare const RegistryConfigSchema: z$1.ZodPipe<z$1.ZodObject<{
198
199
  endpoint: string | undefined;
199
200
  startServices: boolean;
200
201
  namespace: string;
201
- token: string;
202
+ token: string | undefined;
202
203
  publicEndpoint: string | undefined;
203
204
  publicNamespace: string | undefined;
204
205
  publicToken: string | undefined;
@@ -484,6 +485,26 @@ declare function actor<TState, TConnParams, TConnState, TVars, TInput, TDatabase
484
485
  declare function isStaticActorDefinition(definition: AnyActorDefinition): definition is AnyStaticActorDefinition;
485
486
  declare function lookupInRegistry(config: RegistryConfig, name: string): AnyActorDefinition;
486
487
 
488
+ /** A namespace-scoped Engine grant. The caller must provide every grant explicitly. */
489
+ type TokenGrant = Rivet.AuthTokenGrant;
490
+ /** Options for `client.auth.issueToken()`. `expiresIn` is in seconds. */
491
+ type IssueTokenOptions = Pick<Rivet.AuthTokenCreateRequest, "subject" | "grants"> & {
492
+ expiresIn?: Rivet.AuthTokenCreateRequest["duration"];
493
+ };
494
+ /** Token timestamps are Unix milliseconds. */
495
+ interface IssuedToken {
496
+ token: Rivet.AuthTokenCreateResponse["token"];
497
+ issuedAt: Rivet.AuthTokenCreateResponse["issuedTs"];
498
+ expiresAt: Rivet.AuthTokenCreateResponse["expiresTs"];
499
+ }
500
+ /** Resources that can be scoped to a single actor ID. */
501
+ type ActorTokenResource = Extract<Rivet.AuthTokenGrant["resource"], "actor_gateway" | "actor" | "actor_kv">;
502
+ type ActorTokenPermissions = Partial<Record<ActorTokenResource, Rivet.AuthTokenGrant["operations"]>>;
503
+ /** Options for `actor.issueToken()`. Omit permissions for gateway read access only. */
504
+ type ActorIssueTokenOptions = Pick<IssueTokenOptions, "subject" | "expiresIn"> & {
505
+ permissions?: ActorTokenPermissions;
506
+ };
507
+
487
508
  type GatewayTarget = {
488
509
  directId: string;
489
510
  } | ActorQuery;
@@ -491,6 +512,7 @@ interface GatewayRequestOptions {
491
512
  skipReadyWait?: boolean;
492
513
  }
493
514
  interface EngineControlClient {
515
+ issueToken(options: IssueTokenOptions): Promise<IssuedToken>;
494
516
  getForId(input: GetForIdInput): Promise<ActorOutput | undefined>;
495
517
  getWithKey(input: GetWithKeyInput): Promise<ActorOutput | undefined>;
496
518
  getOrCreateWithKey(input: GetOrCreateWithKeyInput): Promise<ActorOutput>;
@@ -498,6 +520,8 @@ interface EngineControlClient {
498
520
  listActors(input: ListActorsInput): Promise<ActorOutput[]>;
499
521
  sendRequest(target: GatewayTarget, actorRequest: Request, options?: GatewayRequestOptions): Promise<Response>;
500
522
  openWebSocket(path: string, target: GatewayTarget, encoding: Encoding, params: unknown, options?: GatewayRequestOptions): Promise<UniversalWebSocket>;
523
+ /** Refresh a credential rejected during this WebSocket handshake, if supported. */
524
+ refreshAuthToken?(ws: UniversalWebSocket): Promise<boolean>;
501
525
  proxyRequest(c: Context, actorRequest: Request, actorId: string): Promise<Response>;
502
526
  proxyWebSocket(c: Context, path: string, actorId: string, encoding: Encoding, params: unknown): Promise<Response>;
503
527
  buildGatewayUrl(target: GatewayTarget, options?: GatewayRequestOptions): Promise<string>;
@@ -1488,6 +1512,8 @@ declare class ActorHandleRaw {
1488
1512
  * Resolves the actor to get its unique actor ID.
1489
1513
  */
1490
1514
  resolve(): Promise<string>;
1515
+ /** Issue a token scoped to this actor. Defaults to actor gateway read access. */
1516
+ issueToken(options?: ActorIssueTokenOptions): Promise<IssuedToken>;
1491
1517
  /**
1492
1518
  * Returns the raw URL for routing traffic to the actor.
1493
1519
  */
@@ -1513,7 +1539,7 @@ declare class ActorHandleRaw {
1513
1539
  type ActorHandle<AD extends AnyActorDefinition> = Omit<ActorHandleRaw, "connect" | "send"> & {
1514
1540
  connect(params?: unknown, options?: ActorConnectOptions): ActorConn<AD>;
1515
1541
  resolve(): Promise<string>;
1516
- } & ActorDefinitionQueueSend<AD> & ActorDefinitionActions<AD>;
1542
+ } & ActorDefinitionQueueSend<AD> & Omit<ActorDefinitionActions<AD>, keyof ActorHandleRaw>;
1517
1543
 
1518
1544
  /** Extract the actor registry from the registry definition. */
1519
1545
  type ExtractActorsFromRegistry<A extends Registry<any>> = A extends Registry<infer Actors> ? Actors : never;
@@ -1675,6 +1701,10 @@ interface ActorClientRuntimeOptions {
1675
1701
  */
1676
1702
  declare class ClientRaw {
1677
1703
  #private;
1704
+ /** Issue namespace-scoped tokens with an explicit grant list. */
1705
+ readonly auth: {
1706
+ issueToken(options: IssueTokenOptions): Promise<IssuedToken>;
1707
+ };
1678
1708
  [ACTOR_CONNS_SYMBOL]: Set<ActorConnRaw>;
1679
1709
  /**
1680
1710
  * Creates an instance of Client.
@@ -1735,9 +1765,9 @@ declare class ClientRaw {
1735
1765
  *
1736
1766
  * @template A The actor registry type.
1737
1767
  */
1738
- type Client<A extends Registry<any>> = ClientRaw & {
1768
+ type Client<A extends Registry<any>> = ClientRaw & Omit<{
1739
1769
  [K in keyof ExtractActorsFromRegistry<A>]: ActorAccessor<ExtractActorsFromRegistry<A>[K]>;
1740
- };
1770
+ }, keyof ClientRaw>;
1741
1771
  type AnyClient = Client<Registry<any>>;
1742
1772
  declare function createClientWithDriver<A extends Registry<any>>(driver: EngineControlClient, options?: ClientRawOptions & ActorClientRuntimeOptions): Client<A>;
1743
1773
 
@@ -2692,4 +2722,4 @@ declare const DocActorConfigSchema: z.ZodObject<{
2692
2722
  }, z.core.$strip>>;
2693
2723
  }, z.core.$strip>;
2694
2724
 
2695
- export { type AnyStaticActorInstance as $, type AnyActorDefinition as A, type BaseActorDefinition as B, type ConnectContext as C, type DestroyContext as D, type EventSchemaConfig as E, type ActorKey as F, type ActorKv as G, type ActorLogger as H, type ActorOptions as I, type ActorOptionsInput as J, ActorOptionsSchema as K, type ActorQuery as L, type MigrateContext as M, type ActorQueue as N, type ActorRun as O, type ActorSchedule as P, type QueueSchemaConfig as Q, type RequestContext as R, type SleepContext as S, type ActorTracingOptions as T, type ActorTypes as U, ActorsSchema as V, type WakeContext as W, type AnyActorInstance as X, type AnyClient as Y, type AnyConn as Z, type AnyStaticActorDefinition as _, type ActionContext as a, type ScheduledEventInfo as a$, type AuthIntent as a0, BUILTIN_INSPECTOR_TAB_IDS as a1, type BaseActorInstance as a2, BuiltinInspectorTabIdSchema as a3, CONN_DRIVER_SYMBOL as a4, CONN_STATE_MANAGER_SYMBOL as a5, type Client as a6, type Conn as a7, type CronFire as a8, type CronJobInfo as a9, type QueueName as aA, type QueueNextBatchOptions as aB, type QueueNextOptions as aC, type QueueResultMessageForName as aD, type QueueTryNextBatchOptions as aE, type QueueTryNextOptions as aF, type QueueWaitOptions as aG, RAW_STATE_SYMBOL as aH, Registry as aI, type RegistryActors as aJ, type RegistryApplication as aK, type RegistryConfig as aL, type RegistryConfigInput as aM, RegistryConfigSchema as aN, type RegistryDeps as aO, type RegistryListenOptions as aP, type RegistryRoutes as aQ, type RunConfig as aR, RunConfigSchema as aS, type RunControl as aT, type RunInspectorConfig as aU, type RunInspectorFactoryContext as aV, type RunInspectorFactoryResult as aW, type RunInspectorKind as aX, type RunWithInactiveOptions as aY, type RuntimeKind as aZ, RuntimeKindSchema as a_, CustomInspectorTabEntrySchema as aa, DEFAULT_SLEEP_GRACE_PERIOD as ab, type DefineRunHandlerOptions as ac, DocActorConfigSchema as ad, DocActorOptionsSchema as ae, DocConfigurePoolSchema as af, DocEnvoyConfigSchema as ag, DocRegistryConfigSchema as ah, DocServerlessConfigSchema as ai, DocSqliteConfigSchema as aj, type FetchHandler as ak, type GlobalActorOptions as al, type GlobalActorOptionsInput as am, GlobalActorOptionsSchema as an, HideInspectorTabEntrySchema as ao, type InferEventArgs as ap, type InferSchemaMap as aq, InspectorTabEntrySchema as ar, type InspectorUnsubscribe as as, type InstanceActorOptions as at, type InstanceActorOptionsInput as au, InstanceActorOptionsSchema as av, type QueueEnqueueAndWaitOptions as aw, type QueueFilterName as ax, type QueueIterOptions as ay, type QueueMessageOf as az, type BeforeActionResponseContext as b, type ScheduledFireInfo as b0, type ServerlessHandler as b1, type SqliteBackend as b2, SqliteBackendSchema as b3, type SqliteConfig as b4, SqliteConfigSchema as b5, type TestConfig as b6, TestConfigSchema as b7, type Type as b8, type WasmRuntimeBindings as b9, type ActorConn as bA, ActorConnRaw as bB, type ActorConnStatus as bC, type ActorConnectOptions as bD, type ActorGatewayOptions as bE, type ActorHandle as bF, ActorHandleRaw as bG, ClientRaw as bH, type ConnectionStateCallback as bI, type CreateOptions as bJ, type CreateRequest as bK, type EventUnsubscribe as bL, type ExtractActorsFromRegistry as bM, type ExtractRegistryFromClient as bN, type GetOptions as bO, type GetWithIdOptions as bP, type QueryOptions as bQ, type Region as bR, type StatusChangeCallback as bS, type WasmRuntimeConfig as ba, WasmRuntimeConfigSchema as bb, type WasmRuntimeInitInput as bc, type WorkflowInspectorConfig as bd, type WorkflowOutcome as be, type WorkflowSpan as bf, type WorkflowStepOutcome as bg, type WorkflowStepSpan as bh, actor as bi, buildActorNames as bj, createClientWithDriver as bk, defineRunHandler as bl, disposeRunInspector as bm, event as bn, getRunFunction as bo, getRunInspectorConfig as bp, getRunMetadata as bq, isStaticActorDefinition as br, isStaticActorInstance as bs, lookupInRegistry as bt, queue as bu, setup as bv, test as bw, type ActorAccessor as bx, type ActorActionFunction as by, type ActorActionOptions as bz, type BeforeConnectContext as c, type CreateConnStateContext as d, type CreateContext as e, type CreateVarsContext as f, type DisconnectContext as g, type RunContext as h, type StateChangeContext as i, type WebSocketContext as j, ACTOR_CONTEXT_INTERNAL_SYMBOL as k, type ActionInputSchemas as l, type ActionSampleRates as m, type ActionTraceSamplers as n, type Actions as o, type ActorConfig as p, type ActorConfigInput as q, ActorConfigSchema as r, type ActorContext as s, type ActorContextOf as t, type ActorCron as u, type ActorCronEveryOptions as v, type ActorCronSetOptions as w, ActorDefinition as x, type ActorInspectorConfig as y, ActorInspectorConfigSchema as z };
2725
+ export { type AnyStaticActorInstance as $, type AnyActorDefinition as A, type BaseActorDefinition as B, type ConnectContext as C, type DestroyContext as D, type EventSchemaConfig as E, type ActorKey as F, type ActorKv as G, type ActorLogger as H, type ActorOptions as I, type ActorOptionsInput as J, ActorOptionsSchema as K, type ActorQuery as L, type MigrateContext as M, type ActorQueue as N, type ActorRun as O, type ActorSchedule as P, type QueueSchemaConfig as Q, type RequestContext as R, type SleepContext as S, type ActorTracingOptions as T, type ActorTypes as U, ActorsSchema as V, type WakeContext as W, type AnyActorInstance as X, type AnyClient as Y, type AnyConn as Z, type AnyStaticActorDefinition as _, type ActionContext as a, type ScheduledEventInfo as a$, type AuthIntent as a0, BUILTIN_INSPECTOR_TAB_IDS as a1, type BaseActorInstance as a2, BuiltinInspectorTabIdSchema as a3, CONN_DRIVER_SYMBOL as a4, CONN_STATE_MANAGER_SYMBOL as a5, type Client as a6, type Conn as a7, type CronFire as a8, type CronJobInfo as a9, type QueueName as aA, type QueueNextBatchOptions as aB, type QueueNextOptions as aC, type QueueResultMessageForName as aD, type QueueTryNextBatchOptions as aE, type QueueTryNextOptions as aF, type QueueWaitOptions as aG, RAW_STATE_SYMBOL as aH, Registry as aI, type RegistryActors as aJ, type RegistryApplication as aK, type RegistryConfig as aL, type RegistryConfigInput as aM, RegistryConfigSchema as aN, type RegistryDeps as aO, type RegistryListenOptions as aP, type RegistryRoutes as aQ, type RunConfig as aR, RunConfigSchema as aS, type RunControl as aT, type RunInspectorConfig as aU, type RunInspectorFactoryContext as aV, type RunInspectorFactoryResult as aW, type RunInspectorKind as aX, type RunWithInactiveOptions as aY, type RuntimeKind as aZ, RuntimeKindSchema as a_, CustomInspectorTabEntrySchema as aa, DEFAULT_SLEEP_GRACE_PERIOD as ab, type DefineRunHandlerOptions as ac, DocActorConfigSchema as ad, DocActorOptionsSchema as ae, DocConfigurePoolSchema as af, DocEnvoyConfigSchema as ag, DocRegistryConfigSchema as ah, DocServerlessConfigSchema as ai, DocSqliteConfigSchema as aj, type FetchHandler as ak, type GlobalActorOptions as al, type GlobalActorOptionsInput as am, GlobalActorOptionsSchema as an, HideInspectorTabEntrySchema as ao, type InferEventArgs as ap, type InferSchemaMap as aq, InspectorTabEntrySchema as ar, type InspectorUnsubscribe as as, type InstanceActorOptions as at, type InstanceActorOptionsInput as au, InstanceActorOptionsSchema as av, type QueueEnqueueAndWaitOptions as aw, type QueueFilterName as ax, type QueueIterOptions as ay, type QueueMessageOf as az, type BeforeActionResponseContext as b, type ScheduledFireInfo as b0, type ServerlessHandler as b1, type SqliteBackend as b2, SqliteBackendSchema as b3, type SqliteConfig as b4, SqliteConfigSchema as b5, type TestConfig as b6, TestConfigSchema as b7, type Type as b8, type WasmRuntimeBindings as b9, type ActorConn as bA, ActorConnRaw as bB, type ActorConnStatus as bC, type ActorConnectOptions as bD, type ActorGatewayOptions as bE, type ActorHandle as bF, ActorHandleRaw as bG, type ActorIssueTokenOptions as bH, type ActorTokenPermissions as bI, type ActorTokenResource as bJ, ClientRaw as bK, type ConnectionStateCallback as bL, type CreateOptions as bM, type CreateRequest as bN, type EventUnsubscribe as bO, type ExtractActorsFromRegistry as bP, type ExtractRegistryFromClient as bQ, type GetOptions as bR, type GetWithIdOptions as bS, type IssueTokenOptions as bT, type IssuedToken as bU, type QueryOptions as bV, type Region as bW, type StatusChangeCallback as bX, type TokenGrant as bY, type WasmRuntimeConfig as ba, WasmRuntimeConfigSchema as bb, type WasmRuntimeInitInput as bc, type WorkflowInspectorConfig as bd, type WorkflowOutcome as be, type WorkflowSpan as bf, type WorkflowStepOutcome as bg, type WorkflowStepSpan as bh, actor as bi, buildActorNames as bj, createClientWithDriver as bk, defineRunHandler as bl, disposeRunInspector as bm, event as bn, getRunFunction as bo, getRunInspectorConfig as bp, getRunMetadata as bq, isStaticActorDefinition as br, isStaticActorInstance as bs, lookupInRegistry as bt, queue as bu, setup as bv, test as bw, type ActorAccessor as bx, type ActorActionFunction as by, type ActorActionOptions as bz, type BeforeConnectContext as c, type CreateConnStateContext as d, type CreateContext as e, type CreateVarsContext as f, type DisconnectContext as g, type RunContext as h, type StateChangeContext as i, type WebSocketContext as j, ACTOR_CONTEXT_INTERNAL_SYMBOL as k, type ActionInputSchemas as l, type ActionSampleRates as m, type ActionTraceSamplers as n, type Actions as o, type ActorConfig as p, type ActorConfigInput as q, ActorConfigSchema as r, type ActorContext as s, type ActorContextOf as t, type ActorCron as u, type ActorCronEveryOptions as v, type ActorCronSetOptions as w, ActorDefinition as x, type ActorInspectorConfig as y, ActorInspectorConfigSchema as z };
@@ -1,4 +1,4 @@
1
- import { A as AnyActorDefinition, B as BaseActorDefinition, E as EventSchemaConfig, Q as QueueSchemaConfig, h as RunContext, H as ActorLogger, ax as QueueFilterName, aC as QueueNextOptions, aD as QueueResultMessageForName, aB as QueueNextBatchOptions, aI as Registry, a6 as Client, ap as InferEventArgs, aq as InferSchemaMap } from './config-Ct5uXxXk.cjs';
1
+ import { A as AnyActorDefinition, B as BaseActorDefinition, E as EventSchemaConfig, Q as QueueSchemaConfig, h as RunContext, H as ActorLogger, ax as QueueFilterName, aC as QueueNextOptions, aD as QueueResultMessageForName, aB as QueueNextBatchOptions, aI as Registry, a6 as Client, ap as InferEventArgs, aq as InferSchemaMap } from './config-Do_0guSS.cjs';
2
2
  import { WorkflowContextInterface, StepConfig, TryStepResult, TryStepConfig, TryBlockResult, TryBlockConfig, LoopResult, LoopConfig, BranchConfig, BranchOutput, EntryKindType } from '@rivetkit/workflow-engine';
3
3
  import { A as AnyDatabaseProvider, I as InferDatabaseClient } from './config-ey2I2zz5.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { A as AnyActorDefinition, B as BaseActorDefinition, E as EventSchemaConfig, Q as QueueSchemaConfig, h as RunContext, H as ActorLogger, ax as QueueFilterName, aC as QueueNextOptions, aD as QueueResultMessageForName, aB as QueueNextBatchOptions, aI as Registry, a6 as Client, ap as InferEventArgs, aq as InferSchemaMap } from './config-Be-VOHaX.js';
1
+ import { A as AnyActorDefinition, B as BaseActorDefinition, E as EventSchemaConfig, Q as QueueSchemaConfig, h as RunContext, H as ActorLogger, ax as QueueFilterName, aC as QueueNextOptions, aD as QueueResultMessageForName, aB as QueueNextBatchOptions, aI as Registry, a6 as Client, ap as InferEventArgs, aq as InferSchemaMap } from './config-Bc1nnvUl.js';
2
2
  import { WorkflowContextInterface, StepConfig, TryStepResult, TryStepConfig, TryBlockResult, TryBlockConfig, LoopResult, LoopConfig, BranchConfig, BranchOutput, EntryKindType } from '@rivetkit/workflow-engine';
3
3
  import { A as AnyDatabaseProvider, I as InferDatabaseClient } from './config-ey2I2zz5.js';
4
4
 
@@ -7,7 +7,7 @@
7
7
  var _chunkKVFIONKQcjs = require('../chunk-KVFIONKQ.cjs');
8
8
 
9
9
 
10
- var _chunk2CE5UNWKcjs = require('../chunk-2CE5UNWK.cjs');
10
+ var _chunkKWGN2ZBJcjs = require('../chunk-KWGN2ZBJ.cjs');
11
11
  require('../chunk-JX2ITWAV.cjs');
12
12
 
13
13
  // src/db/drizzle.ts
@@ -164,7 +164,7 @@ function db({
164
164
  return;
165
165
  }
166
166
  manualTransactionWarned = true;
167
- _chunk2CE5UNWKcjs.getLogger.call(void 0, "database").warn(
167
+ _chunkKWGN2ZBJcjs.getLogger.call(void 0, "database").warn(
168
168
  { actorId: ctx.actorId },
169
169
  "Manual cross-call SQLite transactions can interleave with other actor work. Use db.transaction() for coordinated transactions. Set warnOnManualTransactions: false in your db(...) configuration to disable this warning."
170
170
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/actors/actors/rivetkit-typescript/packages/rivetkit/dist/tsup/db/drizzle.cjs","../../../src/db/drizzle.ts","../../../src/utils/crypto.ts"],"names":["db"],"mappings":"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","file":"/home/runner/work/actors/actors/rivetkit-typescript/packages/rivetkit/dist/tsup/db/drizzle.cjs","sourcesContent":[null,"import {\n\tdrizzle,\n\ttype RemoteCallback,\n\ttype SqliteRemoteDatabase,\n} from \"drizzle-orm/sqlite-proxy\";\nimport type {\n\tDatabaseProvider,\n\tDatabaseProviderContext,\n\tRawAccess,\n\tSqliteProfilingOptions,\n\tSqliteTransactionOptions,\n\tSqliteDatabase,\n\tSqliteTransactionDatabase,\n} from \"@/common/database/config\";\nimport { getLogger } from \"@/common/log\";\nimport {\n\tisManualTransactionControl,\n\tMIGRATION_TRANSACTION_TIMEOUT_MS,\n\ttoSqliteBindings,\n\tvalidateTransactionName,\n\tvalidateTransactionTimeout,\n} from \"@/common/database/shared\";\nimport { sha256Hex } from \"@/utils/crypto\";\n\nexport type { SQLiteTable } from \"drizzle-orm/sqlite-core\";\nexport {\n\talias,\n\tcheck,\n\tforeignKey,\n\tindex,\n\tinteger,\n\tprimaryKey,\n\tsqliteTable,\n\tsqliteTableCreator,\n\ttext,\n\tunique,\n\tuniqueIndex,\n} from \"drizzle-orm/sqlite-core\";\n\ntype DrizzleSchema = Record<string, unknown>;\ntype DrizzleDatabase<TSchema extends DrizzleSchema> = Omit<\n\tSqliteRemoteDatabase<TSchema>,\n\t\"transaction\"\n> &\n\tOmit<RawAccess, \"transaction\"> & {\n\t\ttransaction: <T>(\n\t\t\tcallback: (tx: DrizzleDatabase<TSchema>) => Promise<T> | T,\n\t\t\toptions?: SqliteTransactionOptions,\n\t\t) => Promise<T>;\n\t};\n\ninterface DrizzleMigrationJournalEntry {\n\tidx: number;\n\ttag: string;\n\twhen: number;\n\tbreakpoints?: boolean;\n}\n\ninterface DrizzleMigrations {\n\tjournal: unknown;\n\tmigrations: Record<string, string>;\n}\n\nexport interface DrizzleDatabaseFactoryConfig<TSchema extends DrizzleSchema> {\n\tschema?: TSchema;\n\tmigrations?: DrizzleMigrations;\n\tonMigrate?: (db: DrizzleDatabase<TSchema>) => Promise<void> | void;\n\twarnOnManualTransactions?: boolean;\n\tprofiling?: SqliteProfilingOptions;\n}\n\ninterface DrizzleKitConfig {\n\tout?: string;\n\tschema?: string;\n\tdialect?: \"sqlite\";\n\t[key: string]: unknown;\n}\n\nexport function defineConfig<TConfig extends DrizzleKitConfig>(\n\tconfig: TConfig,\n): TConfig & { dialect: \"sqlite\" } {\n\treturn {\n\t\tdialect: \"sqlite\",\n\t\t...config,\n\t};\n}\n\nexport function db<TSchema extends DrizzleSchema = Record<string, never>>({\n\tschema,\n\tmigrations,\n\tonMigrate,\n\twarnOnManualTransactions = true,\n\tprofiling,\n}: DrizzleDatabaseFactoryConfig<TSchema> = {}): DatabaseProvider<\n\tDrizzleDatabase<TSchema>\n> {\n\treturn {\n\t\tsqliteProfiling: profiling,\n\t\tcreateClient: async (ctx) => {\n\t\t\tconst override = ctx.overrideDrizzleDatabaseClient\n\t\t\t\t? await ctx.overrideDrizzleDatabaseClient()\n\t\t\t\t: undefined;\n\t\t\tif (override) {\n\t\t\t\treturn override as DrizzleDatabase<TSchema>;\n\t\t\t}\n\n\t\t\tconst nativeDatabaseProvider = ctx.nativeDatabaseProvider;\n\t\t\tif (!nativeDatabaseProvider) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"native SQLite is required, but the current runtime did not provide a native database provider\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst nativeDb = await nativeDatabaseProvider.open(ctx.actorId);\n\t\t\tlet closed = false;\n\t\t\tlet manualTransactionWarned = false;\n\t\t\tconst ensureOpen = () => {\n\t\t\t\tif (closed) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\"Database is closed. This usually means a background timer (setInterval, setTimeout) or a stray promise is still running after the actor stopped. Use c.abortSignal to clean up timers before the actor shuts down.\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst createDrizzleClient = (\n\t\t\t\ttarget: SqliteDatabase | SqliteTransactionDatabase,\n\t\t\t\ttransactionScoped = false,\n\t\t\t): DrizzleDatabase<TSchema> => {\n\t\t\t\tconst runSql = async (\n\t\t\t\t\tquery: string,\n\t\t\t\t\tparams: unknown[],\n\t\t\t\t\tmethod: \"run\" | \"all\" | \"values\" | \"get\",\n\t\t\t\t) => {\n\t\t\t\t\tensureOpen();\n\t\t\t\t\twarnForManualTransaction(query, transactionScoped);\n\n\t\t\t\t\tconst start = performance.now();\n\t\t\t\t\tconst kvReadsBefore = ctx.metrics?.totalKvReads ?? 0;\n\t\t\t\t\tconst kvWritesBefore = ctx.metrics?.totalKvWrites ?? 0;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst { rows } = await target.execute(\n\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\ttoSqliteBindings(params),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (method === \"run\") {\n\t\t\t\t\t\t\treturn { rows: [] };\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (method === \"get\") {\n\t\t\t\t\t\t\treturn { rows: rows[0] };\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn { rows };\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tconst durationMs = performance.now() - start;\n\t\t\t\t\t\tctx.metrics?.trackSql(query, durationMs);\n\t\t\t\t\t\tif (ctx.metrics) {\n\t\t\t\t\t\t\tctx.log?.debug({\n\t\t\t\t\t\t\t\tmsg: \"sql query\",\n\t\t\t\t\t\t\t\tquery: query.slice(0, 120),\n\t\t\t\t\t\t\t\tdurationMs,\n\t\t\t\t\t\t\t\tkvReads:\n\t\t\t\t\t\t\t\t\tctx.metrics.totalKvReads - kvReadsBefore,\n\t\t\t\t\t\t\t\tkvWrites:\n\t\t\t\t\t\t\t\t\tctx.metrics.totalKvWrites - kvWritesBefore,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tconst callback: RemoteCallback = async (\n\t\t\t\t\tquery,\n\t\t\t\t\tparams,\n\t\t\t\t\tmethod,\n\t\t\t\t) => {\n\t\t\t\t\treturn await runSql(query, params, method);\n\t\t\t\t};\n\n\t\t\t\tconst drizzleDb = drizzle(callback, {\n\t\t\t\t\tschema,\n\t\t\t\t}) as unknown as DrizzleDatabase<TSchema>;\n\t\t\t\tdrizzleDb.execute = async <\n\t\t\t\t\tTRow extends Record<string, unknown> = Record<\n\t\t\t\t\t\tstring,\n\t\t\t\t\t\tunknown\n\t\t\t\t\t>,\n\t\t\t\t>(\n\t\t\t\t\tquery: string,\n\t\t\t\t\t...args: unknown[]\n\t\t\t\t): Promise<TRow[]> => {\n\t\t\t\t\treturn await executeRaw<TRow>(\n\t\t\t\t\t\ttarget,\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\tensureOpen,\n\t\t\t\t\t\tquery,\n\t\t\t\t\t\targs,\n\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\twarnForManualTransaction(query, transactionScoped),\n\t\t\t\t\t);\n\t\t\t\t};\n\t\t\t\tdrizzleDb.transaction = async <T>(\n\t\t\t\t\ttransactionCallback: (\n\t\t\t\t\t\ttx: DrizzleDatabase<TSchema>,\n\t\t\t\t\t) => Promise<T> | T,\n\t\t\t\t\toptions?: SqliteTransactionOptions,\n\t\t\t\t): Promise<T> => {\n\t\t\t\t\tvalidateTransactionTimeout(options?.timeout);\n\t\t\t\t\tvalidateTransactionName(options?.name);\n\t\t\t\t\tconst transaction = await nativeDb.beginTransaction(\n\t\t\t\t\t\toptions?.timeout,\n\t\t\t\t\t\toptions?.name,\n\t\t\t\t\t);\n\t\t\t\t\tconst tx = createDrizzleClient(transaction, true);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst result = await transactionCallback(tx);\n\t\t\t\t\t\tawait transaction.commit();\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait transaction.rollback();\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t// Preserve the callback or commit error after expiry cleanup.\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tdrizzleDb.close = async () => {\n\t\t\t\t\tif (!closed) {\n\t\t\t\t\t\tclosed = true;\n\t\t\t\t\t\tawait nativeDb.close();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\treturn drizzleDb;\n\t\t\t};\n\n\t\t\tconst warnForManualTransaction = (\n\t\t\t\tquery: string,\n\t\t\t\ttransactionScoped: boolean,\n\t\t\t) => {\n\t\t\t\tif (\n\t\t\t\t\ttransactionScoped ||\n\t\t\t\t\t!warnOnManualTransactions ||\n\t\t\t\t\tmanualTransactionWarned ||\n\t\t\t\t\thasMultipleStatements(query) ||\n\t\t\t\t\t!isManualTransactionControl(query)\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tmanualTransactionWarned = true;\n\t\t\t\tgetLogger(\"database\").warn(\n\t\t\t\t\t{ actorId: ctx.actorId },\n\t\t\t\t\t\"Manual cross-call SQLite transactions can interleave with other actor work. Use db.transaction() for coordinated transactions. Set warnOnManualTransactions: false in your db(...) configuration to disable this warning.\",\n\t\t\t\t);\n\t\t\t};\n\n\t\t\treturn createDrizzleClient(nativeDb);\n\t\t},\n\t\tonMigrate: async (client) => {\n\t\t\tif (!migrations && !onMigrate) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait withMigrationSavepoint(client, async (leased) => {\n\t\t\t\tif (migrations) {\n\t\t\t\t\tawait runMigrations(leased, migrations);\n\t\t\t\t}\n\t\t\t\tif (onMigrate) {\n\t\t\t\t\tawait onMigrate(leased);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t};\n}\n\nasync function withMigrationSavepoint<TSchema extends DrizzleSchema, T>(\n\tclient: DrizzleDatabase<TSchema>,\n\tcallback: (leased: DrizzleDatabase<TSchema>) => Promise<T> | T,\n): Promise<T> {\n\treturn await client.transaction(\n\t\tasync (leased) => {\n\t\t\tawait leased.execute(\"SAVEPOINT __rivet_on_migrate\");\n\t\t\ttry {\n\t\t\t\tconst result = await callback(leased);\n\t\t\t\tawait leased.execute(\"RELEASE SAVEPOINT __rivet_on_migrate\");\n\t\t\t\treturn result;\n\t\t\t} catch (error) {\n\t\t\t\ttry {\n\t\t\t\t\tawait leased.execute(\n\t\t\t\t\t\t\"ROLLBACK TO SAVEPOINT __rivet_on_migrate\",\n\t\t\t\t\t);\n\t\t\t\t} finally {\n\t\t\t\t\tawait leased.execute(\n\t\t\t\t\t\t\"RELEASE SAVEPOINT __rivet_on_migrate\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: \"rivetkit-drizzle-migration\",\n\t\t\ttimeout: MIGRATION_TRANSACTION_TIMEOUT_MS,\n\t\t},\n\t);\n}\n\nasync function runMigrations<TSchema extends DrizzleSchema>(\n\tdb: DrizzleDatabase<TSchema>,\n\tmigrations: DrizzleMigrations,\n) {\n\tconst journal = parseMigrationJournal(migrations.journal);\n\n\tawait db.execute(`\n\t\tCREATE TABLE IF NOT EXISTS __drizzle_migrations (\n\t\t\tid INTEGER PRIMARY KEY AUTOINCREMENT,\n\t\t\thash TEXT NOT NULL,\n\t\t\tcreated_at NUMERIC\n\t\t)\n\t`);\n\n\tconst rows = await db.execute<{ created_at: number }>(\n\t\t\"SELECT created_at FROM __drizzle_migrations ORDER BY created_at DESC LIMIT 1\",\n\t);\n\tconst lastMigration = rows[0]?.created_at ?? 0;\n\n\tfor (const entry of journal.entries) {\n\t\tif (lastMigration >= entry.when) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst key = `m${entry.idx.toString().padStart(4, \"0\")}`;\n\t\tconst migration = migrations.migrations[key];\n\t\tif (migration === undefined) {\n\t\t\tthrow new Error(\n\t\t\t\t`missing Drizzle migration \"${key}\" for journal entry \"${entry.tag}\"`,\n\t\t\t);\n\t\t}\n\n\t\tconst statements = migration\n\t\t\t.split(\"--> statement-breakpoint\")\n\t\t\t.map((statement) => statement.trim())\n\t\t\t.filter(Boolean);\n\t\tfor (const statement of statements) {\n\t\t\tawait db.execute(statement);\n\t\t}\n\n\t\tawait db.execute(\n\t\t\t\"INSERT INTO __drizzle_migrations (hash, created_at) VALUES (?, ?)\",\n\t\t\tawait sha256Hex(migration),\n\t\t\tentry.when,\n\t\t);\n\t}\n}\n\nfunction parseMigrationJournal(journal: unknown): {\n\tentries: DrizzleMigrationJournalEntry[];\n} {\n\tif (\n\t\t!journal ||\n\t\ttypeof journal !== \"object\" ||\n\t\t!(\"entries\" in journal) ||\n\t\t!Array.isArray(journal.entries)\n\t) {\n\t\tthrow new Error(\"invalid Drizzle migration journal\");\n\t}\n\n\treturn journal as { entries: DrizzleMigrationJournalEntry[] };\n}\n\nfunction hasMultipleStatements(query: string): boolean {\n\tconst trimmed = query.trim().replace(/;+$/, \"\").trimEnd();\n\treturn trimmed.includes(\";\");\n}\n\nfunction rowToObject<TRow extends Record<string, unknown>>(\n\trow: unknown[],\n\tcolumns: string[],\n): TRow {\n\tconst rowObj: Record<string, unknown> = {};\n\tfor (let i = 0; i < columns.length; i++) {\n\t\trowObj[columns[i]] = row[i];\n\t}\n\treturn rowObj as TRow;\n}\n\nasync function executeRaw<TRow extends Record<string, unknown>>(\n\tdb: SqliteDatabase | SqliteTransactionDatabase,\n\tctx: DatabaseProviderContext,\n\tensureOpen: () => void,\n\tquery: string,\n\targs: unknown[],\n\twarnForManualTransaction: () => void,\n): Promise<TRow[]> {\n\tensureOpen();\n\twarnForManualTransaction();\n\n\tconst start = performance.now();\n\tconst kvReadsBefore = ctx.metrics?.totalKvReads ?? 0;\n\tconst kvWritesBefore = ctx.metrics?.totalKvWrites ?? 0;\n\ttry {\n\t\tif (args.length > 0) {\n\t\t\tconst { rows, columns } = await db.execute(\n\t\t\t\tquery,\n\t\t\t\ttoSqliteBindings(args),\n\t\t\t);\n\t\t\treturn rows.map((row) => rowToObject<TRow>(row, columns));\n\t\t}\n\n\t\tif (!hasMultipleStatements(query)) {\n\t\t\tconst { rows, columns } = await db.execute(query, undefined);\n\t\t\treturn rows.map((row) => rowToObject<TRow>(row, columns));\n\t\t}\n\n\t\tconst results: Record<string, unknown>[] = [];\n\t\tlet columnNames: string[] | null = null;\n\t\tawait db.exec(query, (row, columns) => {\n\t\t\tif (!columnNames) {\n\t\t\t\tcolumnNames = columns;\n\t\t\t}\n\t\t\tresults.push(rowToObject(row, columnNames));\n\t\t});\n\t\treturn results as TRow[];\n\t} finally {\n\t\tconst durationMs = performance.now() - start;\n\t\tctx.metrics?.trackSql(query, durationMs);\n\t\tif (ctx.metrics) {\n\t\t\tctx.log?.debug({\n\t\t\t\tmsg: \"sql query\",\n\t\t\t\tquery: query.slice(0, 120),\n\t\t\t\tdurationMs,\n\t\t\t\tkvReads: ctx.metrics.totalKvReads - kvReadsBefore,\n\t\t\t\tkvWrites: ctx.metrics.totalKvWrites - kvWritesBefore,\n\t\t\t});\n\t\t}\n\t}\n}\n","/**\n * Timing-safe comparison of two Uint8Arrays or strings.\n * This prevents timing attacks by always comparing all bytes.\n */\nexport function timingSafeEqual(\n\ta: Uint8Array | string,\n\tb: Uint8Array | string,\n): boolean {\n\tconst encoder = new TextEncoder();\n\tconst bufferA = typeof a === \"string\" ? encoder.encode(a) : a;\n\tconst bufferB = typeof b === \"string\" ? encoder.encode(b) : b;\n\n\t// Pad to max length to avoid leaking length information\n\tconst maxLength = Math.max(bufferA.byteLength, bufferB.byteLength);\n\tlet result = bufferA.byteLength ^ bufferB.byteLength;\n\n\tfor (let i = 0; i < maxLength; i++) {\n\t\tconst byteA = i < bufferA.byteLength ? bufferA[i] : 0;\n\t\tconst byteB = i < bufferB.byteLength ? bufferB[i] : 0;\n\t\tresult |= byteA ^ byteB;\n\t}\n\n\treturn result === 0;\n}\n\nexport async function sha256Hex(value: string): Promise<string> {\n\tif (!globalThis.crypto?.subtle) {\n\t\tthrow new Error(\"Web Crypto API is required to compute SHA-256 hashes\");\n\t}\n\n\tconst digest = await globalThis.crypto.subtle.digest(\n\t\t\"SHA-256\",\n\t\tnew TextEncoder().encode(value),\n\t);\n\treturn Array.from(new Uint8Array(digest), (byte) =>\n\t\tbyte.toString(16).padStart(2, \"0\"),\n\t).join(\"\");\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/db/drizzle.cjs","../../../src/db/drizzle.ts","../../../src/utils/crypto.ts"],"names":["db"],"mappings":"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","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/db/drizzle.cjs","sourcesContent":[null,"import {\n\tdrizzle,\n\ttype RemoteCallback,\n\ttype SqliteRemoteDatabase,\n} from \"drizzle-orm/sqlite-proxy\";\nimport type {\n\tDatabaseProvider,\n\tDatabaseProviderContext,\n\tRawAccess,\n\tSqliteProfilingOptions,\n\tSqliteTransactionOptions,\n\tSqliteDatabase,\n\tSqliteTransactionDatabase,\n} from \"@/common/database/config\";\nimport { getLogger } from \"@/common/log\";\nimport {\n\tisManualTransactionControl,\n\tMIGRATION_TRANSACTION_TIMEOUT_MS,\n\ttoSqliteBindings,\n\tvalidateTransactionName,\n\tvalidateTransactionTimeout,\n} from \"@/common/database/shared\";\nimport { sha256Hex } from \"@/utils/crypto\";\n\nexport type { SQLiteTable } from \"drizzle-orm/sqlite-core\";\nexport {\n\talias,\n\tcheck,\n\tforeignKey,\n\tindex,\n\tinteger,\n\tprimaryKey,\n\tsqliteTable,\n\tsqliteTableCreator,\n\ttext,\n\tunique,\n\tuniqueIndex,\n} from \"drizzle-orm/sqlite-core\";\n\ntype DrizzleSchema = Record<string, unknown>;\ntype DrizzleDatabase<TSchema extends DrizzleSchema> = Omit<\n\tSqliteRemoteDatabase<TSchema>,\n\t\"transaction\"\n> &\n\tOmit<RawAccess, \"transaction\"> & {\n\t\ttransaction: <T>(\n\t\t\tcallback: (tx: DrizzleDatabase<TSchema>) => Promise<T> | T,\n\t\t\toptions?: SqliteTransactionOptions,\n\t\t) => Promise<T>;\n\t};\n\ninterface DrizzleMigrationJournalEntry {\n\tidx: number;\n\ttag: string;\n\twhen: number;\n\tbreakpoints?: boolean;\n}\n\ninterface DrizzleMigrations {\n\tjournal: unknown;\n\tmigrations: Record<string, string>;\n}\n\nexport interface DrizzleDatabaseFactoryConfig<TSchema extends DrizzleSchema> {\n\tschema?: TSchema;\n\tmigrations?: DrizzleMigrations;\n\tonMigrate?: (db: DrizzleDatabase<TSchema>) => Promise<void> | void;\n\twarnOnManualTransactions?: boolean;\n\tprofiling?: SqliteProfilingOptions;\n}\n\ninterface DrizzleKitConfig {\n\tout?: string;\n\tschema?: string;\n\tdialect?: \"sqlite\";\n\t[key: string]: unknown;\n}\n\nexport function defineConfig<TConfig extends DrizzleKitConfig>(\n\tconfig: TConfig,\n): TConfig & { dialect: \"sqlite\" } {\n\treturn {\n\t\tdialect: \"sqlite\",\n\t\t...config,\n\t};\n}\n\nexport function db<TSchema extends DrizzleSchema = Record<string, never>>({\n\tschema,\n\tmigrations,\n\tonMigrate,\n\twarnOnManualTransactions = true,\n\tprofiling,\n}: DrizzleDatabaseFactoryConfig<TSchema> = {}): DatabaseProvider<\n\tDrizzleDatabase<TSchema>\n> {\n\treturn {\n\t\tsqliteProfiling: profiling,\n\t\tcreateClient: async (ctx) => {\n\t\t\tconst override = ctx.overrideDrizzleDatabaseClient\n\t\t\t\t? await ctx.overrideDrizzleDatabaseClient()\n\t\t\t\t: undefined;\n\t\t\tif (override) {\n\t\t\t\treturn override as DrizzleDatabase<TSchema>;\n\t\t\t}\n\n\t\t\tconst nativeDatabaseProvider = ctx.nativeDatabaseProvider;\n\t\t\tif (!nativeDatabaseProvider) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"native SQLite is required, but the current runtime did not provide a native database provider\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst nativeDb = await nativeDatabaseProvider.open(ctx.actorId);\n\t\t\tlet closed = false;\n\t\t\tlet manualTransactionWarned = false;\n\t\t\tconst ensureOpen = () => {\n\t\t\t\tif (closed) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\"Database is closed. This usually means a background timer (setInterval, setTimeout) or a stray promise is still running after the actor stopped. Use c.abortSignal to clean up timers before the actor shuts down.\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst createDrizzleClient = (\n\t\t\t\ttarget: SqliteDatabase | SqliteTransactionDatabase,\n\t\t\t\ttransactionScoped = false,\n\t\t\t): DrizzleDatabase<TSchema> => {\n\t\t\t\tconst runSql = async (\n\t\t\t\t\tquery: string,\n\t\t\t\t\tparams: unknown[],\n\t\t\t\t\tmethod: \"run\" | \"all\" | \"values\" | \"get\",\n\t\t\t\t) => {\n\t\t\t\t\tensureOpen();\n\t\t\t\t\twarnForManualTransaction(query, transactionScoped);\n\n\t\t\t\t\tconst start = performance.now();\n\t\t\t\t\tconst kvReadsBefore = ctx.metrics?.totalKvReads ?? 0;\n\t\t\t\t\tconst kvWritesBefore = ctx.metrics?.totalKvWrites ?? 0;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst { rows } = await target.execute(\n\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\ttoSqliteBindings(params),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (method === \"run\") {\n\t\t\t\t\t\t\treturn { rows: [] };\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (method === \"get\") {\n\t\t\t\t\t\t\treturn { rows: rows[0] };\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn { rows };\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tconst durationMs = performance.now() - start;\n\t\t\t\t\t\tctx.metrics?.trackSql(query, durationMs);\n\t\t\t\t\t\tif (ctx.metrics) {\n\t\t\t\t\t\t\tctx.log?.debug({\n\t\t\t\t\t\t\t\tmsg: \"sql query\",\n\t\t\t\t\t\t\t\tquery: query.slice(0, 120),\n\t\t\t\t\t\t\t\tdurationMs,\n\t\t\t\t\t\t\t\tkvReads:\n\t\t\t\t\t\t\t\t\tctx.metrics.totalKvReads - kvReadsBefore,\n\t\t\t\t\t\t\t\tkvWrites:\n\t\t\t\t\t\t\t\t\tctx.metrics.totalKvWrites - kvWritesBefore,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tconst callback: RemoteCallback = async (\n\t\t\t\t\tquery,\n\t\t\t\t\tparams,\n\t\t\t\t\tmethod,\n\t\t\t\t) => {\n\t\t\t\t\treturn await runSql(query, params, method);\n\t\t\t\t};\n\n\t\t\t\tconst drizzleDb = drizzle(callback, {\n\t\t\t\t\tschema,\n\t\t\t\t}) as unknown as DrizzleDatabase<TSchema>;\n\t\t\t\tdrizzleDb.execute = async <\n\t\t\t\t\tTRow extends Record<string, unknown> = Record<\n\t\t\t\t\t\tstring,\n\t\t\t\t\t\tunknown\n\t\t\t\t\t>,\n\t\t\t\t>(\n\t\t\t\t\tquery: string,\n\t\t\t\t\t...args: unknown[]\n\t\t\t\t): Promise<TRow[]> => {\n\t\t\t\t\treturn await executeRaw<TRow>(\n\t\t\t\t\t\ttarget,\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\tensureOpen,\n\t\t\t\t\t\tquery,\n\t\t\t\t\t\targs,\n\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\twarnForManualTransaction(query, transactionScoped),\n\t\t\t\t\t);\n\t\t\t\t};\n\t\t\t\tdrizzleDb.transaction = async <T>(\n\t\t\t\t\ttransactionCallback: (\n\t\t\t\t\t\ttx: DrizzleDatabase<TSchema>,\n\t\t\t\t\t) => Promise<T> | T,\n\t\t\t\t\toptions?: SqliteTransactionOptions,\n\t\t\t\t): Promise<T> => {\n\t\t\t\t\tvalidateTransactionTimeout(options?.timeout);\n\t\t\t\t\tvalidateTransactionName(options?.name);\n\t\t\t\t\tconst transaction = await nativeDb.beginTransaction(\n\t\t\t\t\t\toptions?.timeout,\n\t\t\t\t\t\toptions?.name,\n\t\t\t\t\t);\n\t\t\t\t\tconst tx = createDrizzleClient(transaction, true);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst result = await transactionCallback(tx);\n\t\t\t\t\t\tawait transaction.commit();\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait transaction.rollback();\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t// Preserve the callback or commit error after expiry cleanup.\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tdrizzleDb.close = async () => {\n\t\t\t\t\tif (!closed) {\n\t\t\t\t\t\tclosed = true;\n\t\t\t\t\t\tawait nativeDb.close();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\treturn drizzleDb;\n\t\t\t};\n\n\t\t\tconst warnForManualTransaction = (\n\t\t\t\tquery: string,\n\t\t\t\ttransactionScoped: boolean,\n\t\t\t) => {\n\t\t\t\tif (\n\t\t\t\t\ttransactionScoped ||\n\t\t\t\t\t!warnOnManualTransactions ||\n\t\t\t\t\tmanualTransactionWarned ||\n\t\t\t\t\thasMultipleStatements(query) ||\n\t\t\t\t\t!isManualTransactionControl(query)\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tmanualTransactionWarned = true;\n\t\t\t\tgetLogger(\"database\").warn(\n\t\t\t\t\t{ actorId: ctx.actorId },\n\t\t\t\t\t\"Manual cross-call SQLite transactions can interleave with other actor work. Use db.transaction() for coordinated transactions. Set warnOnManualTransactions: false in your db(...) configuration to disable this warning.\",\n\t\t\t\t);\n\t\t\t};\n\n\t\t\treturn createDrizzleClient(nativeDb);\n\t\t},\n\t\tonMigrate: async (client) => {\n\t\t\tif (!migrations && !onMigrate) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait withMigrationSavepoint(client, async (leased) => {\n\t\t\t\tif (migrations) {\n\t\t\t\t\tawait runMigrations(leased, migrations);\n\t\t\t\t}\n\t\t\t\tif (onMigrate) {\n\t\t\t\t\tawait onMigrate(leased);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t};\n}\n\nasync function withMigrationSavepoint<TSchema extends DrizzleSchema, T>(\n\tclient: DrizzleDatabase<TSchema>,\n\tcallback: (leased: DrizzleDatabase<TSchema>) => Promise<T> | T,\n): Promise<T> {\n\treturn await client.transaction(\n\t\tasync (leased) => {\n\t\t\tawait leased.execute(\"SAVEPOINT __rivet_on_migrate\");\n\t\t\ttry {\n\t\t\t\tconst result = await callback(leased);\n\t\t\t\tawait leased.execute(\"RELEASE SAVEPOINT __rivet_on_migrate\");\n\t\t\t\treturn result;\n\t\t\t} catch (error) {\n\t\t\t\ttry {\n\t\t\t\t\tawait leased.execute(\n\t\t\t\t\t\t\"ROLLBACK TO SAVEPOINT __rivet_on_migrate\",\n\t\t\t\t\t);\n\t\t\t\t} finally {\n\t\t\t\t\tawait leased.execute(\n\t\t\t\t\t\t\"RELEASE SAVEPOINT __rivet_on_migrate\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: \"rivetkit-drizzle-migration\",\n\t\t\ttimeout: MIGRATION_TRANSACTION_TIMEOUT_MS,\n\t\t},\n\t);\n}\n\nasync function runMigrations<TSchema extends DrizzleSchema>(\n\tdb: DrizzleDatabase<TSchema>,\n\tmigrations: DrizzleMigrations,\n) {\n\tconst journal = parseMigrationJournal(migrations.journal);\n\n\tawait db.execute(`\n\t\tCREATE TABLE IF NOT EXISTS __drizzle_migrations (\n\t\t\tid INTEGER PRIMARY KEY AUTOINCREMENT,\n\t\t\thash TEXT NOT NULL,\n\t\t\tcreated_at NUMERIC\n\t\t)\n\t`);\n\n\tconst rows = await db.execute<{ created_at: number }>(\n\t\t\"SELECT created_at FROM __drizzle_migrations ORDER BY created_at DESC LIMIT 1\",\n\t);\n\tconst lastMigration = rows[0]?.created_at ?? 0;\n\n\tfor (const entry of journal.entries) {\n\t\tif (lastMigration >= entry.when) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst key = `m${entry.idx.toString().padStart(4, \"0\")}`;\n\t\tconst migration = migrations.migrations[key];\n\t\tif (migration === undefined) {\n\t\t\tthrow new Error(\n\t\t\t\t`missing Drizzle migration \"${key}\" for journal entry \"${entry.tag}\"`,\n\t\t\t);\n\t\t}\n\n\t\tconst statements = migration\n\t\t\t.split(\"--> statement-breakpoint\")\n\t\t\t.map((statement) => statement.trim())\n\t\t\t.filter(Boolean);\n\t\tfor (const statement of statements) {\n\t\t\tawait db.execute(statement);\n\t\t}\n\n\t\tawait db.execute(\n\t\t\t\"INSERT INTO __drizzle_migrations (hash, created_at) VALUES (?, ?)\",\n\t\t\tawait sha256Hex(migration),\n\t\t\tentry.when,\n\t\t);\n\t}\n}\n\nfunction parseMigrationJournal(journal: unknown): {\n\tentries: DrizzleMigrationJournalEntry[];\n} {\n\tif (\n\t\t!journal ||\n\t\ttypeof journal !== \"object\" ||\n\t\t!(\"entries\" in journal) ||\n\t\t!Array.isArray(journal.entries)\n\t) {\n\t\tthrow new Error(\"invalid Drizzle migration journal\");\n\t}\n\n\treturn journal as { entries: DrizzleMigrationJournalEntry[] };\n}\n\nfunction hasMultipleStatements(query: string): boolean {\n\tconst trimmed = query.trim().replace(/;+$/, \"\").trimEnd();\n\treturn trimmed.includes(\";\");\n}\n\nfunction rowToObject<TRow extends Record<string, unknown>>(\n\trow: unknown[],\n\tcolumns: string[],\n): TRow {\n\tconst rowObj: Record<string, unknown> = {};\n\tfor (let i = 0; i < columns.length; i++) {\n\t\trowObj[columns[i]] = row[i];\n\t}\n\treturn rowObj as TRow;\n}\n\nasync function executeRaw<TRow extends Record<string, unknown>>(\n\tdb: SqliteDatabase | SqliteTransactionDatabase,\n\tctx: DatabaseProviderContext,\n\tensureOpen: () => void,\n\tquery: string,\n\targs: unknown[],\n\twarnForManualTransaction: () => void,\n): Promise<TRow[]> {\n\tensureOpen();\n\twarnForManualTransaction();\n\n\tconst start = performance.now();\n\tconst kvReadsBefore = ctx.metrics?.totalKvReads ?? 0;\n\tconst kvWritesBefore = ctx.metrics?.totalKvWrites ?? 0;\n\ttry {\n\t\tif (args.length > 0) {\n\t\t\tconst { rows, columns } = await db.execute(\n\t\t\t\tquery,\n\t\t\t\ttoSqliteBindings(args),\n\t\t\t);\n\t\t\treturn rows.map((row) => rowToObject<TRow>(row, columns));\n\t\t}\n\n\t\tif (!hasMultipleStatements(query)) {\n\t\t\tconst { rows, columns } = await db.execute(query, undefined);\n\t\t\treturn rows.map((row) => rowToObject<TRow>(row, columns));\n\t\t}\n\n\t\tconst results: Record<string, unknown>[] = [];\n\t\tlet columnNames: string[] | null = null;\n\t\tawait db.exec(query, (row, columns) => {\n\t\t\tif (!columnNames) {\n\t\t\t\tcolumnNames = columns;\n\t\t\t}\n\t\t\tresults.push(rowToObject(row, columnNames));\n\t\t});\n\t\treturn results as TRow[];\n\t} finally {\n\t\tconst durationMs = performance.now() - start;\n\t\tctx.metrics?.trackSql(query, durationMs);\n\t\tif (ctx.metrics) {\n\t\t\tctx.log?.debug({\n\t\t\t\tmsg: \"sql query\",\n\t\t\t\tquery: query.slice(0, 120),\n\t\t\t\tdurationMs,\n\t\t\t\tkvReads: ctx.metrics.totalKvReads - kvReadsBefore,\n\t\t\t\tkvWrites: ctx.metrics.totalKvWrites - kvWritesBefore,\n\t\t\t});\n\t\t}\n\t}\n}\n","/**\n * Timing-safe comparison of two Uint8Arrays or strings.\n * This prevents timing attacks by always comparing all bytes.\n */\nexport function timingSafeEqual(\n\ta: Uint8Array | string,\n\tb: Uint8Array | string,\n): boolean {\n\tconst encoder = new TextEncoder();\n\tconst bufferA = typeof a === \"string\" ? encoder.encode(a) : a;\n\tconst bufferB = typeof b === \"string\" ? encoder.encode(b) : b;\n\n\t// Pad to max length to avoid leaking length information\n\tconst maxLength = Math.max(bufferA.byteLength, bufferB.byteLength);\n\tlet result = bufferA.byteLength ^ bufferB.byteLength;\n\n\tfor (let i = 0; i < maxLength; i++) {\n\t\tconst byteA = i < bufferA.byteLength ? bufferA[i] : 0;\n\t\tconst byteB = i < bufferB.byteLength ? bufferB[i] : 0;\n\t\tresult |= byteA ^ byteB;\n\t}\n\n\treturn result === 0;\n}\n\nexport async function sha256Hex(value: string): Promise<string> {\n\tif (!globalThis.crypto?.subtle) {\n\t\tthrow new Error(\"Web Crypto API is required to compute SHA-256 hashes\");\n\t}\n\n\tconst digest = await globalThis.crypto.subtle.digest(\n\t\t\"SHA-256\",\n\t\tnew TextEncoder().encode(value),\n\t);\n\treturn Array.from(new Uint8Array(digest), (byte) =>\n\t\tbyte.toString(16).padStart(2, \"0\"),\n\t).join(\"\");\n}\n"]}
@@ -7,7 +7,7 @@ import {
7
7
  } from "../chunk-JTHHCZCZ.js";
8
8
  import {
9
9
  getLogger
10
- } from "../chunk-DHWZTUKA.js";
10
+ } from "../chunk-RGIZNZYO.js";
11
11
  import "../chunk-P2OFXH4G.js";
12
12
 
13
13
  // src/db/drizzle.ts
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkCVLNRT7Ocjs = require('../chunk-CVLNRT7O.cjs');
3
+ var _chunkGHKQC4PDcjs = require('../chunk-GHKQC4PD.cjs');
4
4
  require('../chunk-KVFIONKQ.cjs');
5
- require('../chunk-2CE5UNWK.cjs');
5
+ require('../chunk-KWGN2ZBJ.cjs');
6
6
  require('../chunk-JX2ITWAV.cjs');
7
7
 
8
8
 
9
- exports.db = _chunkCVLNRT7Ocjs.db;
9
+ exports.db = _chunkGHKQC4PDcjs.db;
10
10
  //# sourceMappingURL=mod.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/actors/actors/rivetkit-typescript/packages/rivetkit/dist/tsup/db/mod.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACF,kCAAC","file":"/home/runner/work/actors/actors/rivetkit-typescript/packages/rivetkit/dist/tsup/db/mod.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/db/mod.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACF,kCAAC","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/db/mod.cjs"}
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  db
3
- } from "../chunk-W2PXGWMR.js";
3
+ } from "../chunk-5EGLHQJJ.js";
4
4
  import "../chunk-JTHHCZCZ.js";
5
- import "../chunk-DHWZTUKA.js";
5
+ import "../chunk-RGIZNZYO.js";
6
6
  import "../chunk-P2OFXH4G.js";
7
7
  export {
8
8
  db
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/actors/actors/rivetkit-typescript/packages/rivetkit/dist/tsup/dynamic/mod.cjs","../../../src/dynamic/internal.ts","../../../src/dynamic/mod.ts"],"names":[],"mappings":"AAAA;AACE;AACF,yDAA8B;AAC9B;AACA;ACCO,IAAM,gCAAA,kBAAkC,MAAA,CAAO,GAAA;AAAA,EACrD;AACD,CAAA;ADCA;AACA;AEGO,SAAS,YAAA,CACf,KAAA,EACyB;AACzB,EAAA,MAAM,OAAA,EAAS,mCAAA,CAAkB,KAAA,CAAM;AAAA,IACtC,OAAA,EAAS,CAAC;AAAA,EACX,CAAC,CAAA;AAED,EAAA,OAAO;AAAA,IACN,CAAC,+BAA+B,CAAA,EAAG,IAAA;AAAA,IACnC,MAAA;AAAA,IACA,MAAA,EAAQ,KAAA,CAAM;AAAA,EACf,CAAA;AACD;AFJA;AACE;AACF,oCAAC","file":"/home/runner/work/actors/actors/rivetkit-typescript/packages/rivetkit/dist/tsup/dynamic/mod.cjs","sourcesContent":[null,"import type {\n\tAnyActorDefinition,\n\tBaseActorDefinition,\n} from \"@/actor/definition\";\n\nexport const DYNAMIC_ACTOR_DEFINITION_SYMBOL = Symbol.for(\n\t\"rivetkit.dynamic_actor_definition\",\n);\n\nexport interface DynamicActorSource {\n\tsource: string;\n\tnodeProcess?: {\n\t\tmemoryLimit?: number;\n\t\tcpuTimeLimitMs?: number;\n\t};\n}\n\nexport interface DynamicActorLoadContext {\n\tkey: string[];\n\tclient(): Promise<any>;\n}\n\nexport type DynamicActorLoader = (\n\tc: DynamicActorLoadContext,\n) => DynamicActorSource | Promise<DynamicActorSource>;\n\nexport interface DynamicActorDefinition extends AnyActorDefinition {\n\treadonly [DYNAMIC_ACTOR_DEFINITION_SYMBOL]: true;\n\treadonly loader: DynamicActorLoader;\n}\n\nexport function isDynamicActorDefinition(\n\tdefinition: BaseActorDefinition<\n\t\tany,\n\t\tany,\n\t\tany,\n\t\tany,\n\t\tany,\n\t\tany,\n\t\tany,\n\t\tany,\n\t\tany\n\t>,\n): definition is DynamicActorDefinition {\n\treturn (\n\t\t(definition as Partial<DynamicActorDefinition>)[\n\t\t\tDYNAMIC_ACTOR_DEFINITION_SYMBOL\n\t\t] === true\n\t);\n}\n","import { ActorConfigSchema } from \"@/actor/config\";\nimport type { AnyActorDefinition } from \"@/actor/definition\";\nimport {\n\tDYNAMIC_ACTOR_DEFINITION_SYMBOL,\n\ttype DynamicActorDefinition,\n\ttype DynamicActorLoader,\n} from \"./internal\";\n\nexport interface DynamicActorConfig {\n\tload: DynamicActorLoader;\n}\n\nexport function dynamicActor(\n\tinput: DynamicActorConfig,\n): DynamicActorDefinition {\n\tconst config = ActorConfigSchema.parse({\n\t\tactions: {},\n\t}) as unknown as AnyActorDefinition[\"config\"];\n\n\treturn {\n\t\t[DYNAMIC_ACTOR_DEFINITION_SYMBOL]: true,\n\t\tconfig,\n\t\tloader: input.load,\n\t};\n}\n\nexport type {\n\tDynamicActorDefinition,\n\tDynamicActorLoadContext,\n\tDynamicActorLoader,\n\tDynamicActorSource,\n} from \"./internal\";\n"]}
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/dynamic/mod.cjs","../../../src/dynamic/internal.ts","../../../src/dynamic/mod.ts"],"names":[],"mappings":"AAAA;AACE;AACF,yDAA8B;AAC9B;AACA;ACCO,IAAM,gCAAA,kBAAkC,MAAA,CAAO,GAAA;AAAA,EACrD;AACD,CAAA;ADCA;AACA;AEGO,SAAS,YAAA,CACf,KAAA,EACyB;AACzB,EAAA,MAAM,OAAA,EAAS,mCAAA,CAAkB,KAAA,CAAM;AAAA,IACtC,OAAA,EAAS,CAAC;AAAA,EACX,CAAC,CAAA;AAED,EAAA,OAAO;AAAA,IACN,CAAC,+BAA+B,CAAA,EAAG,IAAA;AAAA,IACnC,MAAA;AAAA,IACA,MAAA,EAAQ,KAAA,CAAM;AAAA,EACf,CAAA;AACD;AFJA;AACE;AACF,oCAAC","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/dynamic/mod.cjs","sourcesContent":[null,"import type {\n\tAnyActorDefinition,\n\tBaseActorDefinition,\n} from \"@/actor/definition\";\n\nexport const DYNAMIC_ACTOR_DEFINITION_SYMBOL = Symbol.for(\n\t\"rivetkit.dynamic_actor_definition\",\n);\n\nexport interface DynamicActorSource {\n\tsource: string;\n\tnodeProcess?: {\n\t\tmemoryLimit?: number;\n\t\tcpuTimeLimitMs?: number;\n\t};\n}\n\nexport interface DynamicActorLoadContext {\n\tkey: string[];\n\tclient(): Promise<any>;\n}\n\nexport type DynamicActorLoader = (\n\tc: DynamicActorLoadContext,\n) => DynamicActorSource | Promise<DynamicActorSource>;\n\nexport interface DynamicActorDefinition extends AnyActorDefinition {\n\treadonly [DYNAMIC_ACTOR_DEFINITION_SYMBOL]: true;\n\treadonly loader: DynamicActorLoader;\n}\n\nexport function isDynamicActorDefinition(\n\tdefinition: BaseActorDefinition<\n\t\tany,\n\t\tany,\n\t\tany,\n\t\tany,\n\t\tany,\n\t\tany,\n\t\tany,\n\t\tany,\n\t\tany\n\t>,\n): definition is DynamicActorDefinition {\n\treturn (\n\t\t(definition as Partial<DynamicActorDefinition>)[\n\t\t\tDYNAMIC_ACTOR_DEFINITION_SYMBOL\n\t\t] === true\n\t);\n}\n","import { ActorConfigSchema } from \"@/actor/config\";\nimport type { AnyActorDefinition } from \"@/actor/definition\";\nimport {\n\tDYNAMIC_ACTOR_DEFINITION_SYMBOL,\n\ttype DynamicActorDefinition,\n\ttype DynamicActorLoader,\n} from \"./internal\";\n\nexport interface DynamicActorConfig {\n\tload: DynamicActorLoader;\n}\n\nexport function dynamicActor(\n\tinput: DynamicActorConfig,\n): DynamicActorDefinition {\n\tconst config = ActorConfigSchema.parse({\n\t\tactions: {},\n\t}) as unknown as AnyActorDefinition[\"config\"];\n\n\treturn {\n\t\t[DYNAMIC_ACTOR_DEFINITION_SYMBOL]: true,\n\t\tconfig,\n\t\tloader: input.load,\n\t};\n}\n\nexport type {\n\tDynamicActorDefinition,\n\tDynamicActorLoadContext,\n\tDynamicActorLoader,\n\tDynamicActorSource,\n} from \"./internal\";\n"]}
@@ -1,4 +1,4 @@
1
- import { A as AnyActorDefinition } from '../config-Ct5uXxXk.cjs';
1
+ import { A as AnyActorDefinition } from '../config-Do_0guSS.cjs';
2
2
  import 'zod/v4';
3
3
  import '../config-ey2I2zz5.cjs';
4
4
  import '@rivetkit/rivetkit-wasm';
@@ -7,6 +7,7 @@ import 'pino';
7
7
  import '@rivetkit/virtual-websocket';
8
8
  import '../inspector/workflow.cjs';
9
9
  import '@standard-schema/spec';
10
+ import '@rivetkit/engine-api-full';
10
11
  import '../utils-CNFeS-Dk.cjs';
11
12
  import 'hono';
12
13
  import '../utils-DsoDinPz.cjs';
@@ -1,4 +1,4 @@
1
- import { A as AnyActorDefinition } from '../config-Be-VOHaX.js';
1
+ import { A as AnyActorDefinition } from '../config-Bc1nnvUl.js';
2
2
  import 'zod/v4';
3
3
  import '../config-ey2I2zz5.js';
4
4
  import '@rivetkit/rivetkit-wasm';
@@ -7,6 +7,7 @@ import 'pino';
7
7
  import '@rivetkit/virtual-websocket';
8
8
  import '../inspector/workflow.js';
9
9
  import '@standard-schema/spec';
10
+ import '@rivetkit/engine-api-full';
10
11
  import '../utils-OQHBjfcM.js';
11
12
  import 'hono';
12
13
  import '../utils-DsoDinPz.js';
@@ -1,12 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
2
2
 
3
- var _chunkWAISW7KRcjs = require('../chunk-WAISW7KR.cjs');
4
- require('../chunk-IHKDFKM4.cjs');
3
+ var _chunkAPOANSDGcjs = require('../chunk-APOANSDG.cjs');
4
+ require('../chunk-ARGNQGYG.cjs');
5
5
 
6
6
 
7
7
 
8
- var _chunk76YTS32Rcjs = require('../chunk-76YTS32R.cjs');
9
- require('../chunk-2CE5UNWK.cjs');
8
+ var _chunk6LRPYB4Qcjs = require('../chunk-6LRPYB4Q.cjs');
9
+ require('../chunk-KWGN2ZBJ.cjs');
10
10
  require('../chunk-JX2ITWAV.cjs');
11
11
 
12
12
  // src/common/bare/generated/inspector/v5.ts
@@ -796,5 +796,5 @@ function decodeToClient(bytes) {
796
796
 
797
797
 
798
798
 
799
- exports.createWorkflowInspectorAdapter = _chunkWAISW7KRcjs.createWorkflowInspectorAdapter; exports.decodeToClient = decodeToClient; exports.decodeToServer = decodeToServer; exports.decodeWorkflowHistoryTransport = _chunk76YTS32Rcjs.decodeWorkflowHistoryTransport; exports.encodeToClient = encodeToClient; exports.encodeToServer = encodeToServer; exports.encodeWorkflowHistoryTransport = _chunk76YTS32Rcjs.encodeWorkflowHistoryTransport; exports.readActionRequest = readActionRequest; exports.readActionResponse = readActionResponse; exports.readConnection = readConnection; exports.readConnectionsRequest = readConnectionsRequest; exports.readConnectionsResponse = readConnectionsResponse; exports.readConnectionsUpdated = readConnectionsUpdated; exports.readDatabaseSchemaRequest = readDatabaseSchemaRequest; exports.readDatabaseSchemaResponse = readDatabaseSchemaResponse; exports.readDatabaseTableRowsRequest = readDatabaseTableRowsRequest; exports.readDatabaseTableRowsResponse = readDatabaseTableRowsResponse; exports.readError = readError; exports.readInit = readInit; exports.readPatchStateRequest = readPatchStateRequest; exports.readQueueMessageSummary = readQueueMessageSummary; exports.readQueueRequest = readQueueRequest; exports.readQueueResponse = readQueueResponse; exports.readQueueStatus = readQueueStatus; exports.readQueueUpdated = readQueueUpdated; exports.readRpcsListRequest = readRpcsListRequest; exports.readRpcsListResponse = readRpcsListResponse; exports.readState = readState; exports.readStateRequest = readStateRequest; exports.readStateResponse = readStateResponse; exports.readStateUpdated = readStateUpdated; exports.readTabConfigEntry = readTabConfigEntry; exports.readToClient = readToClient; exports.readToClientBody = readToClientBody; exports.readToServer = readToServer; exports.readToServerBody = readToServerBody; exports.readTraceQueryRequest = readTraceQueryRequest; exports.readTraceQueryResponse = readTraceQueryResponse; exports.readWorkflowHistory = readWorkflowHistory; exports.readWorkflowHistoryRequest = readWorkflowHistoryRequest; exports.readWorkflowHistoryResponse = readWorkflowHistoryResponse; exports.readWorkflowHistoryUpdated = readWorkflowHistoryUpdated; exports.readWorkflowReplayRequest = readWorkflowReplayRequest; exports.readWorkflowReplayResponse = readWorkflowReplayResponse; exports.writeActionRequest = writeActionRequest; exports.writeActionResponse = writeActionResponse; exports.writeConnection = writeConnection; exports.writeConnectionsRequest = writeConnectionsRequest; exports.writeConnectionsResponse = writeConnectionsResponse; exports.writeConnectionsUpdated = writeConnectionsUpdated; exports.writeDatabaseSchemaRequest = writeDatabaseSchemaRequest; exports.writeDatabaseSchemaResponse = writeDatabaseSchemaResponse; exports.writeDatabaseTableRowsRequest = writeDatabaseTableRowsRequest; exports.writeDatabaseTableRowsResponse = writeDatabaseTableRowsResponse; exports.writeError = writeError; exports.writeInit = writeInit; exports.writePatchStateRequest = writePatchStateRequest; exports.writeQueueMessageSummary = writeQueueMessageSummary; exports.writeQueueRequest = writeQueueRequest; exports.writeQueueResponse = writeQueueResponse; exports.writeQueueStatus = writeQueueStatus; exports.writeQueueUpdated = writeQueueUpdated; exports.writeRpcsListRequest = writeRpcsListRequest; exports.writeRpcsListResponse = writeRpcsListResponse; exports.writeState = writeState; exports.writeStateRequest = writeStateRequest; exports.writeStateResponse = writeStateResponse; exports.writeStateUpdated = writeStateUpdated; exports.writeTabConfigEntry = writeTabConfigEntry; exports.writeToClient = writeToClient; exports.writeToClientBody = writeToClientBody; exports.writeToServer = writeToServer; exports.writeToServerBody = writeToServerBody; exports.writeTraceQueryRequest = writeTraceQueryRequest; exports.writeTraceQueryResponse = writeTraceQueryResponse; exports.writeWorkflowHistory = writeWorkflowHistory; exports.writeWorkflowHistoryRequest = writeWorkflowHistoryRequest; exports.writeWorkflowHistoryResponse = writeWorkflowHistoryResponse; exports.writeWorkflowHistoryUpdated = writeWorkflowHistoryUpdated; exports.writeWorkflowReplayRequest = writeWorkflowReplayRequest; exports.writeWorkflowReplayResponse = writeWorkflowReplayResponse;
799
+ exports.createWorkflowInspectorAdapter = _chunkAPOANSDGcjs.createWorkflowInspectorAdapter; exports.decodeToClient = decodeToClient; exports.decodeToServer = decodeToServer; exports.decodeWorkflowHistoryTransport = _chunk6LRPYB4Qcjs.decodeWorkflowHistoryTransport; exports.encodeToClient = encodeToClient; exports.encodeToServer = encodeToServer; exports.encodeWorkflowHistoryTransport = _chunk6LRPYB4Qcjs.encodeWorkflowHistoryTransport; exports.readActionRequest = readActionRequest; exports.readActionResponse = readActionResponse; exports.readConnection = readConnection; exports.readConnectionsRequest = readConnectionsRequest; exports.readConnectionsResponse = readConnectionsResponse; exports.readConnectionsUpdated = readConnectionsUpdated; exports.readDatabaseSchemaRequest = readDatabaseSchemaRequest; exports.readDatabaseSchemaResponse = readDatabaseSchemaResponse; exports.readDatabaseTableRowsRequest = readDatabaseTableRowsRequest; exports.readDatabaseTableRowsResponse = readDatabaseTableRowsResponse; exports.readError = readError; exports.readInit = readInit; exports.readPatchStateRequest = readPatchStateRequest; exports.readQueueMessageSummary = readQueueMessageSummary; exports.readQueueRequest = readQueueRequest; exports.readQueueResponse = readQueueResponse; exports.readQueueStatus = readQueueStatus; exports.readQueueUpdated = readQueueUpdated; exports.readRpcsListRequest = readRpcsListRequest; exports.readRpcsListResponse = readRpcsListResponse; exports.readState = readState; exports.readStateRequest = readStateRequest; exports.readStateResponse = readStateResponse; exports.readStateUpdated = readStateUpdated; exports.readTabConfigEntry = readTabConfigEntry; exports.readToClient = readToClient; exports.readToClientBody = readToClientBody; exports.readToServer = readToServer; exports.readToServerBody = readToServerBody; exports.readTraceQueryRequest = readTraceQueryRequest; exports.readTraceQueryResponse = readTraceQueryResponse; exports.readWorkflowHistory = readWorkflowHistory; exports.readWorkflowHistoryRequest = readWorkflowHistoryRequest; exports.readWorkflowHistoryResponse = readWorkflowHistoryResponse; exports.readWorkflowHistoryUpdated = readWorkflowHistoryUpdated; exports.readWorkflowReplayRequest = readWorkflowReplayRequest; exports.readWorkflowReplayResponse = readWorkflowReplayResponse; exports.writeActionRequest = writeActionRequest; exports.writeActionResponse = writeActionResponse; exports.writeConnection = writeConnection; exports.writeConnectionsRequest = writeConnectionsRequest; exports.writeConnectionsResponse = writeConnectionsResponse; exports.writeConnectionsUpdated = writeConnectionsUpdated; exports.writeDatabaseSchemaRequest = writeDatabaseSchemaRequest; exports.writeDatabaseSchemaResponse = writeDatabaseSchemaResponse; exports.writeDatabaseTableRowsRequest = writeDatabaseTableRowsRequest; exports.writeDatabaseTableRowsResponse = writeDatabaseTableRowsResponse; exports.writeError = writeError; exports.writeInit = writeInit; exports.writePatchStateRequest = writePatchStateRequest; exports.writeQueueMessageSummary = writeQueueMessageSummary; exports.writeQueueRequest = writeQueueRequest; exports.writeQueueResponse = writeQueueResponse; exports.writeQueueStatus = writeQueueStatus; exports.writeQueueUpdated = writeQueueUpdated; exports.writeRpcsListRequest = writeRpcsListRequest; exports.writeRpcsListResponse = writeRpcsListResponse; exports.writeState = writeState; exports.writeStateRequest = writeStateRequest; exports.writeStateResponse = writeStateResponse; exports.writeStateUpdated = writeStateUpdated; exports.writeTabConfigEntry = writeTabConfigEntry; exports.writeToClient = writeToClient; exports.writeToClientBody = writeToClientBody; exports.writeToServer = writeToServer; exports.writeToServerBody = writeToServerBody; exports.writeTraceQueryRequest = writeTraceQueryRequest; exports.writeTraceQueryResponse = writeTraceQueryResponse; exports.writeWorkflowHistory = writeWorkflowHistory; exports.writeWorkflowHistoryRequest = writeWorkflowHistoryRequest; exports.writeWorkflowHistoryResponse = writeWorkflowHistoryResponse; exports.writeWorkflowHistoryUpdated = writeWorkflowHistoryUpdated; exports.writeWorkflowReplayRequest = writeWorkflowReplayRequest; exports.writeWorkflowReplayResponse = writeWorkflowReplayResponse;
800
800
  //# sourceMappingURL=mod.cjs.map