rivetkit 2.3.19 → 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 (146) hide show
  1. package/dist/browser/client.d.ts +82 -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 +35 -1
  8. package/dist/tsup/agent-os/index.cjs.map +1 -1
  9. package/dist/tsup/agent-os/index.d.cts +71 -4
  10. package/dist/tsup/agent-os/index.d.ts +71 -4
  11. package/dist/tsup/agent-os/index.js +35 -1
  12. package/dist/tsup/agent-os/index.js.map +1 -1
  13. package/dist/tsup/{chunk-X7RMJQGY.js → chunk-2CI2IEVN.js} +2 -2
  14. package/dist/tsup/{chunk-WME6KOXW.js → chunk-5EGLHQJJ.js} +2 -2
  15. package/dist/tsup/{chunk-464WE4RF.js → chunk-5IBUZFLP.js} +2 -2
  16. package/dist/tsup/{chunk-PPEIPCW4.cjs → chunk-6LRPYB4Q.cjs} +4 -4
  17. package/dist/tsup/chunk-6LRPYB4Q.cjs.map +1 -0
  18. package/dist/tsup/{chunk-7BRRGBRY.cjs → chunk-APOANSDG.cjs} +10 -10
  19. package/dist/tsup/chunk-APOANSDG.cjs.map +1 -0
  20. package/dist/tsup/{chunk-G4U5L6AX.cjs → chunk-ARGNQGYG.cjs} +3 -3
  21. package/dist/tsup/chunk-ARGNQGYG.cjs.map +1 -0
  22. package/dist/tsup/{chunk-IJUXBWH4.cjs → chunk-B5SNXPSS.cjs} +448 -199
  23. package/dist/tsup/chunk-B5SNXPSS.cjs.map +1 -0
  24. package/dist/tsup/{chunk-4SC2NSAV.js → chunk-CJXBGTVT.js} +2 -2
  25. package/dist/tsup/{chunk-EB77NZL4.js → chunk-CSOHAAZK.js} +33 -1
  26. package/dist/tsup/chunk-CSOHAAZK.js.map +1 -0
  27. package/dist/tsup/{chunk-Z4RAXFSD.cjs → chunk-GHKQC4PD.cjs} +3 -3
  28. package/dist/tsup/chunk-GHKQC4PD.cjs.map +1 -0
  29. package/dist/tsup/chunk-JX2ITWAV.cjs.map +1 -1
  30. package/dist/tsup/chunk-KVFIONKQ.cjs.map +1 -1
  31. package/dist/tsup/{chunk-RJC5O2SD.cjs → chunk-KWGN2ZBJ.cjs} +3 -2
  32. package/dist/tsup/chunk-KWGN2ZBJ.cjs.map +1 -0
  33. package/dist/tsup/{chunk-OGPFN6BT.cjs → chunk-LWSLKKZ5.cjs} +3 -3
  34. package/dist/tsup/chunk-LWSLKKZ5.cjs.map +1 -0
  35. package/dist/tsup/chunk-MYWZCDML.cjs.map +1 -1
  36. package/dist/tsup/{chunk-7A5EIXJJ.cjs → chunk-NL2EIKK6.cjs} +7 -7
  37. package/dist/tsup/chunk-NL2EIKK6.cjs.map +1 -0
  38. package/dist/tsup/{chunk-EO5UOXXY.cjs → chunk-NWCAIWHL.cjs} +34 -2
  39. package/dist/tsup/chunk-NWCAIWHL.cjs.map +1 -0
  40. package/dist/tsup/{chunk-BKX7UDTA.js → chunk-PYRI75DL.js} +314 -65
  41. package/dist/tsup/chunk-PYRI75DL.js.map +1 -0
  42. package/dist/tsup/{chunk-7HTST3NX.js → chunk-RFN3BG6D.js} +3 -3
  43. package/dist/tsup/chunk-RFN3BG6D.js.map +1 -0
  44. package/dist/tsup/{chunk-DN6MD3KK.js → chunk-RGIZNZYO.js} +3 -2
  45. package/dist/tsup/chunk-RGIZNZYO.js.map +1 -0
  46. package/dist/tsup/{chunk-DK3L22R6.js → chunk-VMMXXVDO.js} +4 -4
  47. package/dist/tsup/client/mod.cjs +5 -5
  48. package/dist/tsup/client/mod.cjs.map +1 -1
  49. package/dist/tsup/client/mod.d.cts +12 -3
  50. package/dist/tsup/client/mod.d.ts +12 -3
  51. package/dist/tsup/client/mod.js +4 -4
  52. package/dist/tsup/common/log.cjs +2 -2
  53. package/dist/tsup/common/log.cjs.map +1 -1
  54. package/dist/tsup/common/log.js +1 -1
  55. package/dist/tsup/common/websocket.cjs +3 -3
  56. package/dist/tsup/common/websocket.cjs.map +1 -1
  57. package/dist/tsup/common/websocket.js +2 -2
  58. package/dist/tsup/{config-DEm0yIVV.d.ts → config-Bc1nnvUl.d.ts} +76 -6
  59. package/dist/tsup/{config-8n2AOhXK.d.cts → config-Do_0guSS.d.cts} +76 -6
  60. package/dist/tsup/{context-DwjOVvlE.d.cts → context-CgNkhjdY.d.cts} +1 -1
  61. package/dist/tsup/{context-DGg2-IOm.d.ts → context-oGQxZDPz.d.ts} +1 -1
  62. package/dist/tsup/db/drizzle.cjs +2 -2
  63. package/dist/tsup/db/drizzle.cjs.map +1 -1
  64. package/dist/tsup/db/drizzle.js +1 -1
  65. package/dist/tsup/db/mod.cjs +3 -3
  66. package/dist/tsup/db/mod.cjs.map +1 -1
  67. package/dist/tsup/db/mod.js +2 -2
  68. package/dist/tsup/dynamic/mod.cjs +2 -2
  69. package/dist/tsup/dynamic/mod.cjs.map +1 -1
  70. package/dist/tsup/dynamic/mod.d.cts +2 -1
  71. package/dist/tsup/dynamic/mod.d.ts +2 -1
  72. package/dist/tsup/dynamic/mod.js +1 -1
  73. package/dist/tsup/inspector/mod.cjs +5 -5
  74. package/dist/tsup/inspector/mod.cjs.map +1 -1
  75. package/dist/tsup/inspector/mod.js +4 -4
  76. package/dist/tsup/inspector/workflow.cjs +4 -4
  77. package/dist/tsup/inspector/workflow.cjs.map +1 -1
  78. package/dist/tsup/inspector/workflow.js +3 -3
  79. package/dist/tsup/inspector-tab/mod.cjs +2 -2
  80. package/dist/tsup/inspector-tab/mod.cjs.map +1 -1
  81. package/dist/tsup/inspector-tab/mod.d.cts +3 -2
  82. package/dist/tsup/inspector-tab/mod.d.ts +3 -2
  83. package/dist/tsup/inspector-tab/mod.js +1 -1
  84. package/dist/tsup/mod.cjs +140 -136
  85. package/dist/tsup/mod.cjs.map +1 -1
  86. package/dist/tsup/mod.d.cts +4 -3
  87. package/dist/tsup/mod.d.ts +4 -3
  88. package/dist/tsup/mod.js +44 -40
  89. package/dist/tsup/mod.js.map +1 -1
  90. package/dist/tsup/test/mod.cjs +6 -6
  91. package/dist/tsup/test/mod.cjs.map +1 -1
  92. package/dist/tsup/test/mod.d.cts +2 -1
  93. package/dist/tsup/test/mod.d.ts +2 -1
  94. package/dist/tsup/test/mod.js +4 -4
  95. package/dist/tsup/unstable/migrations.cjs.map +1 -1
  96. package/dist/tsup/utils.cjs +2 -2
  97. package/dist/tsup/utils.cjs.map +1 -1
  98. package/dist/tsup/utils.js +1 -1
  99. package/dist/tsup/workflow/mod.cjs +10 -10
  100. package/dist/tsup/workflow/mod.cjs.map +1 -1
  101. package/dist/tsup/workflow/mod.d.cts +4 -3
  102. package/dist/tsup/workflow/mod.d.ts +4 -3
  103. package/dist/tsup/workflow/mod.js +5 -5
  104. package/package.json +10 -9
  105. package/src/actor/actions.ts +36 -0
  106. package/src/actor/config.ts +27 -0
  107. package/src/actor/definition.ts +6 -1
  108. package/src/actor/mod.ts +5 -0
  109. package/src/actor/tracing.ts +28 -0
  110. package/src/client/actor-conn.ts +34 -1
  111. package/src/client/actor-handle.ts +29 -1
  112. package/src/client/auth.ts +37 -0
  113. package/src/client/client.ts +10 -2
  114. package/src/client/config.ts +12 -1
  115. package/src/client/mod.ts +9 -0
  116. package/src/client/token-provider.test.ts +86 -0
  117. package/src/client/token-provider.ts +93 -0
  118. package/src/client/utils.ts +1 -0
  119. package/src/engine-client/actor-websocket-client.ts +2 -1
  120. package/src/engine-client/api-endpoints.ts +28 -0
  121. package/src/engine-client/driver.ts +4 -0
  122. package/src/engine-client/mod.ts +201 -64
  123. package/src/registry/config/envoy.ts +1 -17
  124. package/src/registry/config/index.test.ts +2 -2
  125. package/src/registry/config/index.ts +7 -2
  126. package/src/registry/index.ts +28 -0
  127. package/src/registry/native.ts +18 -0
  128. package/src/registry/runtime.ts +8 -0
  129. package/dist/tsup/chunk-7A5EIXJJ.cjs.map +0 -1
  130. package/dist/tsup/chunk-7BRRGBRY.cjs.map +0 -1
  131. package/dist/tsup/chunk-7HTST3NX.js.map +0 -1
  132. package/dist/tsup/chunk-BKX7UDTA.js.map +0 -1
  133. package/dist/tsup/chunk-DN6MD3KK.js.map +0 -1
  134. package/dist/tsup/chunk-EB77NZL4.js.map +0 -1
  135. package/dist/tsup/chunk-EO5UOXXY.cjs.map +0 -1
  136. package/dist/tsup/chunk-G4U5L6AX.cjs.map +0 -1
  137. package/dist/tsup/chunk-IJUXBWH4.cjs.map +0 -1
  138. package/dist/tsup/chunk-OGPFN6BT.cjs.map +0 -1
  139. package/dist/tsup/chunk-PPEIPCW4.cjs.map +0 -1
  140. package/dist/tsup/chunk-RJC5O2SD.cjs.map +0 -1
  141. package/dist/tsup/chunk-Z4RAXFSD.cjs.map +0 -1
  142. /package/dist/tsup/{chunk-X7RMJQGY.js.map → chunk-2CI2IEVN.js.map} +0 -0
  143. /package/dist/tsup/{chunk-WME6KOXW.js.map → chunk-5EGLHQJJ.js.map} +0 -0
  144. /package/dist/tsup/{chunk-464WE4RF.js.map → chunk-5IBUZFLP.js.map} +0 -0
  145. /package/dist/tsup/{chunk-4SC2NSAV.js.map → chunk-CJXBGTVT.js.map} +0 -0
  146. /package/dist/tsup/{chunk-DK3L22R6.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>;
@@ -780,12 +804,19 @@ interface RuntimeSqlBatchStatement {
780
804
  interface RuntimeSqlRunResult {
781
805
  changes: number;
782
806
  }
807
+ /** Sample rates for the traces an actor starts, in the shape core takes. */
808
+ interface RuntimeActorTracingConfig {
809
+ sampler?: number;
810
+ /** Keyed by flattened, dot-separated action name. */
811
+ actions?: Record<string, number>;
812
+ }
783
813
  interface RuntimeActorConfig {
784
814
  name?: string;
785
815
  icon?: string;
786
816
  hasDatabase?: boolean;
787
817
  remoteSqlite?: boolean;
788
818
  sqliteProfiling?: SqliteProfilingOptions;
819
+ tracing?: RuntimeActorTracingConfig;
789
820
  enableActorRuntimeSocket?: boolean;
790
821
  hasState?: boolean;
791
822
  canHibernateWebsocket?: boolean;
@@ -1481,6 +1512,8 @@ declare class ActorHandleRaw {
1481
1512
  * Resolves the actor to get its unique actor ID.
1482
1513
  */
1483
1514
  resolve(): Promise<string>;
1515
+ /** Issue a token scoped to this actor. Defaults to actor gateway read access. */
1516
+ issueToken(options?: ActorIssueTokenOptions): Promise<IssuedToken>;
1484
1517
  /**
1485
1518
  * Returns the raw URL for routing traffic to the actor.
1486
1519
  */
@@ -1506,7 +1539,7 @@ declare class ActorHandleRaw {
1506
1539
  type ActorHandle<AD extends AnyActorDefinition> = Omit<ActorHandleRaw, "connect" | "send"> & {
1507
1540
  connect(params?: unknown, options?: ActorConnectOptions): ActorConn<AD>;
1508
1541
  resolve(): Promise<string>;
1509
- } & ActorDefinitionQueueSend<AD> & ActorDefinitionActions<AD>;
1542
+ } & ActorDefinitionQueueSend<AD> & Omit<ActorDefinitionActions<AD>, keyof ActorHandleRaw>;
1510
1543
 
1511
1544
  /** Extract the actor registry from the registry definition. */
1512
1545
  type ExtractActorsFromRegistry<A extends Registry<any>> = A extends Registry<infer Actors> ? Actors : never;
@@ -1668,6 +1701,10 @@ interface ActorClientRuntimeOptions {
1668
1701
  */
1669
1702
  declare class ClientRaw {
1670
1703
  #private;
1704
+ /** Issue namespace-scoped tokens with an explicit grant list. */
1705
+ readonly auth: {
1706
+ issueToken(options: IssueTokenOptions): Promise<IssuedToken>;
1707
+ };
1671
1708
  [ACTOR_CONNS_SYMBOL]: Set<ActorConnRaw>;
1672
1709
  /**
1673
1710
  * Creates an instance of Client.
@@ -1728,12 +1765,35 @@ declare class ClientRaw {
1728
1765
  *
1729
1766
  * @template A The actor registry type.
1730
1767
  */
1731
- type Client<A extends Registry<any>> = ClientRaw & {
1768
+ type Client<A extends Registry<any>> = ClientRaw & Omit<{
1732
1769
  [K in keyof ExtractActorsFromRegistry<A>]: ActorAccessor<ExtractActorsFromRegistry<A>[K]>;
1733
- };
1770
+ }, keyof ClientRaw>;
1734
1771
  type AnyClient = Client<Registry<any>>;
1735
1772
  declare function createClientWithDriver<A extends Registry<any>>(driver: EngineControlClient, options?: ClientRawOptions & ActorClientRuntimeOptions): Client<A>;
1736
1773
 
1774
+ /** Sample rates keyed by action name, nested like the actor's action groups. */
1775
+ interface ActionSampleRates {
1776
+ readonly [name: string]: number | ActionSampleRates;
1777
+ }
1778
+ /**
1779
+ * {@link ActionSampleRates} limited to the actions of one actor, so a rate for
1780
+ * an action that does not exist is a compile error.
1781
+ */
1782
+ type ActionTraceSamplers<TActions> = {
1783
+ readonly [K in keyof TActions]?: TActions[K] extends (...args: never[]) => unknown ? number : ActionTraceSamplers<TActions[K]>;
1784
+ };
1785
+ /** Trace sampling for one actor definition. */
1786
+ interface ActorTracingOptions<TActions> {
1787
+ /**
1788
+ * Share of this actor's invocations that are recorded, from 0 to 1. A rate
1789
+ * lowers what is recorded and never raises it, so an invocation inside a
1790
+ * trace the caller did not record is not recorded at any rate.
1791
+ */
1792
+ readonly sampler?: number;
1793
+ /** Rates that replace `sampler` for single actions. */
1794
+ readonly actions?: ActionTraceSamplers<TActions>;
1795
+ }
1796
+
1737
1797
  declare const DEFAULT_SLEEP_GRACE_PERIOD = 15000;
1738
1798
  declare const ACTOR_CONTEXT_INTERNAL_SYMBOL: unique symbol;
1739
1799
  declare const RAW_STATE_SYMBOL: unique symbol;
@@ -2310,6 +2370,10 @@ declare const ActorConfigSchema: z.ZodObject<{
2310
2370
  onWebSocket: z.ZodOptional<z.ZodCustom<(...args: unknown[]) => unknown, (...args: unknown[]) => unknown>>;
2311
2371
  actions: z.ZodDefault<z.ZodCustom<Record<string, unknown>, Record<string, unknown>>>;
2312
2372
  actionInputSchemas: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
2373
+ tracing: z.ZodOptional<z.ZodObject<{
2374
+ sampler: z.ZodOptional<z.ZodNumber>;
2375
+ actions: z.ZodOptional<z.ZodType<ActionSampleRates, unknown, z.core.$ZodTypeInternals<ActionSampleRates, unknown>>>;
2376
+ }, z.core.$strict>>;
2313
2377
  connParamsSchema: z.ZodOptional<z.ZodAny>;
2314
2378
  events: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
2315
2379
  queues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
@@ -2554,6 +2618,11 @@ interface BaseActorConfig<TState, TConnParams, TConnState, TVars, TInput, TDatab
2554
2618
  * May mirror nested action groups or use dot-separated low-level action names.
2555
2619
  */
2556
2620
  actionInputSchemas?: ActionInputSchemas;
2621
+ /**
2622
+ * How much of this actor's work is recorded in traces. Defaults to the
2623
+ * process sampler from `OTEL_TRACES_SAMPLER`.
2624
+ */
2625
+ tracing?: ActorTracingOptions<TActions>;
2557
2626
  /**
2558
2627
  * Optional schema for validating connection params in native runtimes.
2559
2628
  */
@@ -2576,7 +2645,7 @@ type ActorDatabaseConfig<TDatabase extends AnyDatabaseProvider> = {
2576
2645
  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>;
2577
2646
  type ActorConfigInput<TState = undefined, TConnParams = undefined, TConnState = undefined, TVars = undefined, TInput = undefined, TDatabase extends AnyDatabaseProvider = undefined, TEvents extends EventSchemaConfig = Record<never, never>, TQueues extends QueueSchemaConfig = Record<never, never>, TActions extends Actions<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues> = Record<never, never>> = {
2578
2647
  types?: ActorTypes<TState, TConnParams, TConnState, TVars, TInput, TDatabase>;
2579
- } & Omit<z.input<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>;
2648
+ } & Omit<z.input<typeof ActorConfigSchema>, "actions" | "tracing" | "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>;
2580
2649
  declare function test<TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig, TQueues extends QueueSchemaConfig, TActions extends Actions<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>>(input: ActorConfigInput<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues, TActions>): ActorConfig<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>;
2581
2650
  declare const DocActorOptionsSchema: z.ZodObject<{
2582
2651
  name: z.ZodOptional<z.ZodString>;
@@ -2624,6 +2693,7 @@ declare const DocActorConfigSchema: z.ZodObject<{
2624
2693
  onWebSocket: z.ZodOptional<z.ZodUnknown>;
2625
2694
  actions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2626
2695
  actionInputSchemas: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2696
+ tracing: z.ZodOptional<z.ZodUnknown>;
2627
2697
  connParamsSchema: z.ZodOptional<z.ZodUnknown>;
2628
2698
  events: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2629
2699
  queues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
@@ -2652,4 +2722,4 @@ declare const DocActorConfigSchema: z.ZodObject<{
2652
2722
  }, z.core.$strip>>;
2653
2723
  }, z.core.$strip>;
2654
2724
 
2655
- export { type BaseActorInstance as $, type AnyActorDefinition as A, type BaseActorDefinition as B, type ConnectContext as C, type DestroyContext as D, type EventSchemaConfig as E, type ActorLogger as F, type ActorOptions as G, type ActorOptionsInput as H, ActorOptionsSchema as I, type ActorQuery as J, type ActorQueue as K, type ActorRun as L, type MigrateContext as M, type ActorSchedule as N, type ActorTypes as O, ActorsSchema as P, type QueueSchemaConfig as Q, type RequestContext as R, type SleepContext as S, type AnyActorInstance as T, type AnyClient as U, type AnyConn as V, type WakeContext as W, type AnyStaticActorDefinition as X, type AnyStaticActorInstance as Y, type AuthIntent as Z, BUILTIN_INSPECTOR_TAB_IDS as _, type ActionContext as a, type SqliteBackend as a$, BuiltinInspectorTabIdSchema as a0, CONN_DRIVER_SYMBOL as a1, CONN_STATE_MANAGER_SYMBOL as a2, type Client as a3, type Conn as a4, type CronFire as a5, type CronJobInfo as a6, CustomInspectorTabEntrySchema as a7, DEFAULT_SLEEP_GRACE_PERIOD as a8, type DefineRunHandlerOptions as a9, type QueueResultMessageForName as aA, type QueueTryNextBatchOptions as aB, type QueueTryNextOptions as aC, type QueueWaitOptions as aD, RAW_STATE_SYMBOL as aE, Registry as aF, type RegistryActors as aG, type RegistryApplication as aH, type RegistryConfig as aI, type RegistryConfigInput as aJ, RegistryConfigSchema as aK, type RegistryDeps as aL, type RegistryListenOptions as aM, type RegistryRoutes as aN, type RunConfig as aO, RunConfigSchema as aP, type RunControl as aQ, type RunInspectorConfig as aR, type RunInspectorFactoryContext as aS, type RunInspectorFactoryResult as aT, type RunInspectorKind as aU, type RunWithInactiveOptions as aV, type RuntimeKind as aW, RuntimeKindSchema as aX, type ScheduledEventInfo as aY, type ScheduledFireInfo as aZ, type ServerlessHandler as a_, DocActorConfigSchema as aa, DocActorOptionsSchema as ab, DocConfigurePoolSchema as ac, DocEnvoyConfigSchema as ad, DocRegistryConfigSchema as ae, DocServerlessConfigSchema as af, DocSqliteConfigSchema as ag, type FetchHandler as ah, type GlobalActorOptions as ai, type GlobalActorOptionsInput as aj, GlobalActorOptionsSchema as ak, HideInspectorTabEntrySchema as al, type InferEventArgs as am, type InferSchemaMap as an, InspectorTabEntrySchema as ao, type InspectorUnsubscribe as ap, type InstanceActorOptions as aq, type InstanceActorOptionsInput as ar, InstanceActorOptionsSchema as as, type QueueEnqueueAndWaitOptions as at, type QueueFilterName as au, type QueueIterOptions as av, type QueueMessageOf as aw, type QueueName as ax, type QueueNextBatchOptions as ay, type QueueNextOptions as az, type BeforeActionResponseContext as b, SqliteBackendSchema as b0, type SqliteConfig as b1, SqliteConfigSchema as b2, type TestConfig as b3, TestConfigSchema as b4, type Type as b5, type WasmRuntimeBindings as b6, type WasmRuntimeConfig as b7, WasmRuntimeConfigSchema as b8, type WasmRuntimeInitInput as b9, type ActorConnectOptions as bA, type ActorGatewayOptions as bB, type ActorHandle as bC, ActorHandleRaw as bD, ClientRaw as bE, type ConnectionStateCallback as bF, type CreateOptions as bG, type CreateRequest as bH, type EventUnsubscribe as bI, type ExtractActorsFromRegistry as bJ, type ExtractRegistryFromClient as bK, type GetOptions as bL, type GetWithIdOptions as bM, type QueryOptions as bN, type Region as bO, type StatusChangeCallback as bP, type WorkflowInspectorConfig as ba, type WorkflowOutcome as bb, type WorkflowSpan as bc, type WorkflowStepOutcome as bd, type WorkflowStepSpan as be, actor as bf, buildActorNames as bg, createClientWithDriver as bh, defineRunHandler as bi, disposeRunInspector as bj, event as bk, getRunFunction as bl, getRunInspectorConfig as bm, getRunMetadata as bn, isStaticActorDefinition as bo, isStaticActorInstance as bp, lookupInRegistry as bq, queue as br, setup as bs, test as bt, type ActorAccessor as bu, type ActorActionFunction as bv, type ActorActionOptions as bw, type ActorConn as bx, ActorConnRaw as by, type ActorConnStatus 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 Actions as m, type ActorConfig as n, type ActorConfigInput as o, ActorConfigSchema as p, type ActorContext as q, type ActorContextOf as r, type ActorCron as s, type ActorCronEveryOptions as t, type ActorCronSetOptions as u, ActorDefinition as v, type ActorInspectorConfig as w, ActorInspectorConfigSchema as x, type ActorKey as y, type ActorKv 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>;
@@ -780,12 +804,19 @@ interface RuntimeSqlBatchStatement {
780
804
  interface RuntimeSqlRunResult {
781
805
  changes: number;
782
806
  }
807
+ /** Sample rates for the traces an actor starts, in the shape core takes. */
808
+ interface RuntimeActorTracingConfig {
809
+ sampler?: number;
810
+ /** Keyed by flattened, dot-separated action name. */
811
+ actions?: Record<string, number>;
812
+ }
783
813
  interface RuntimeActorConfig {
784
814
  name?: string;
785
815
  icon?: string;
786
816
  hasDatabase?: boolean;
787
817
  remoteSqlite?: boolean;
788
818
  sqliteProfiling?: SqliteProfilingOptions;
819
+ tracing?: RuntimeActorTracingConfig;
789
820
  enableActorRuntimeSocket?: boolean;
790
821
  hasState?: boolean;
791
822
  canHibernateWebsocket?: boolean;
@@ -1481,6 +1512,8 @@ declare class ActorHandleRaw {
1481
1512
  * Resolves the actor to get its unique actor ID.
1482
1513
  */
1483
1514
  resolve(): Promise<string>;
1515
+ /** Issue a token scoped to this actor. Defaults to actor gateway read access. */
1516
+ issueToken(options?: ActorIssueTokenOptions): Promise<IssuedToken>;
1484
1517
  /**
1485
1518
  * Returns the raw URL for routing traffic to the actor.
1486
1519
  */
@@ -1506,7 +1539,7 @@ declare class ActorHandleRaw {
1506
1539
  type ActorHandle<AD extends AnyActorDefinition> = Omit<ActorHandleRaw, "connect" | "send"> & {
1507
1540
  connect(params?: unknown, options?: ActorConnectOptions): ActorConn<AD>;
1508
1541
  resolve(): Promise<string>;
1509
- } & ActorDefinitionQueueSend<AD> & ActorDefinitionActions<AD>;
1542
+ } & ActorDefinitionQueueSend<AD> & Omit<ActorDefinitionActions<AD>, keyof ActorHandleRaw>;
1510
1543
 
1511
1544
  /** Extract the actor registry from the registry definition. */
1512
1545
  type ExtractActorsFromRegistry<A extends Registry<any>> = A extends Registry<infer Actors> ? Actors : never;
@@ -1668,6 +1701,10 @@ interface ActorClientRuntimeOptions {
1668
1701
  */
1669
1702
  declare class ClientRaw {
1670
1703
  #private;
1704
+ /** Issue namespace-scoped tokens with an explicit grant list. */
1705
+ readonly auth: {
1706
+ issueToken(options: IssueTokenOptions): Promise<IssuedToken>;
1707
+ };
1671
1708
  [ACTOR_CONNS_SYMBOL]: Set<ActorConnRaw>;
1672
1709
  /**
1673
1710
  * Creates an instance of Client.
@@ -1728,12 +1765,35 @@ declare class ClientRaw {
1728
1765
  *
1729
1766
  * @template A The actor registry type.
1730
1767
  */
1731
- type Client<A extends Registry<any>> = ClientRaw & {
1768
+ type Client<A extends Registry<any>> = ClientRaw & Omit<{
1732
1769
  [K in keyof ExtractActorsFromRegistry<A>]: ActorAccessor<ExtractActorsFromRegistry<A>[K]>;
1733
- };
1770
+ }, keyof ClientRaw>;
1734
1771
  type AnyClient = Client<Registry<any>>;
1735
1772
  declare function createClientWithDriver<A extends Registry<any>>(driver: EngineControlClient, options?: ClientRawOptions & ActorClientRuntimeOptions): Client<A>;
1736
1773
 
1774
+ /** Sample rates keyed by action name, nested like the actor's action groups. */
1775
+ interface ActionSampleRates {
1776
+ readonly [name: string]: number | ActionSampleRates;
1777
+ }
1778
+ /**
1779
+ * {@link ActionSampleRates} limited to the actions of one actor, so a rate for
1780
+ * an action that does not exist is a compile error.
1781
+ */
1782
+ type ActionTraceSamplers<TActions> = {
1783
+ readonly [K in keyof TActions]?: TActions[K] extends (...args: never[]) => unknown ? number : ActionTraceSamplers<TActions[K]>;
1784
+ };
1785
+ /** Trace sampling for one actor definition. */
1786
+ interface ActorTracingOptions<TActions> {
1787
+ /**
1788
+ * Share of this actor's invocations that are recorded, from 0 to 1. A rate
1789
+ * lowers what is recorded and never raises it, so an invocation inside a
1790
+ * trace the caller did not record is not recorded at any rate.
1791
+ */
1792
+ readonly sampler?: number;
1793
+ /** Rates that replace `sampler` for single actions. */
1794
+ readonly actions?: ActionTraceSamplers<TActions>;
1795
+ }
1796
+
1737
1797
  declare const DEFAULT_SLEEP_GRACE_PERIOD = 15000;
1738
1798
  declare const ACTOR_CONTEXT_INTERNAL_SYMBOL: unique symbol;
1739
1799
  declare const RAW_STATE_SYMBOL: unique symbol;
@@ -2310,6 +2370,10 @@ declare const ActorConfigSchema: z.ZodObject<{
2310
2370
  onWebSocket: z.ZodOptional<z.ZodCustom<(...args: unknown[]) => unknown, (...args: unknown[]) => unknown>>;
2311
2371
  actions: z.ZodDefault<z.ZodCustom<Record<string, unknown>, Record<string, unknown>>>;
2312
2372
  actionInputSchemas: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
2373
+ tracing: z.ZodOptional<z.ZodObject<{
2374
+ sampler: z.ZodOptional<z.ZodNumber>;
2375
+ actions: z.ZodOptional<z.ZodType<ActionSampleRates, unknown, z.core.$ZodTypeInternals<ActionSampleRates, unknown>>>;
2376
+ }, z.core.$strict>>;
2313
2377
  connParamsSchema: z.ZodOptional<z.ZodAny>;
2314
2378
  events: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
2315
2379
  queues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
@@ -2554,6 +2618,11 @@ interface BaseActorConfig<TState, TConnParams, TConnState, TVars, TInput, TDatab
2554
2618
  * May mirror nested action groups or use dot-separated low-level action names.
2555
2619
  */
2556
2620
  actionInputSchemas?: ActionInputSchemas;
2621
+ /**
2622
+ * How much of this actor's work is recorded in traces. Defaults to the
2623
+ * process sampler from `OTEL_TRACES_SAMPLER`.
2624
+ */
2625
+ tracing?: ActorTracingOptions<TActions>;
2557
2626
  /**
2558
2627
  * Optional schema for validating connection params in native runtimes.
2559
2628
  */
@@ -2576,7 +2645,7 @@ type ActorDatabaseConfig<TDatabase extends AnyDatabaseProvider> = {
2576
2645
  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>;
2577
2646
  type ActorConfigInput<TState = undefined, TConnParams = undefined, TConnState = undefined, TVars = undefined, TInput = undefined, TDatabase extends AnyDatabaseProvider = undefined, TEvents extends EventSchemaConfig = Record<never, never>, TQueues extends QueueSchemaConfig = Record<never, never>, TActions extends Actions<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues> = Record<never, never>> = {
2578
2647
  types?: ActorTypes<TState, TConnParams, TConnState, TVars, TInput, TDatabase>;
2579
- } & Omit<z.input<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>;
2648
+ } & Omit<z.input<typeof ActorConfigSchema>, "actions" | "tracing" | "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>;
2580
2649
  declare function test<TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig, TQueues extends QueueSchemaConfig, TActions extends Actions<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>>(input: ActorConfigInput<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues, TActions>): ActorConfig<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>;
2581
2650
  declare const DocActorOptionsSchema: z.ZodObject<{
2582
2651
  name: z.ZodOptional<z.ZodString>;
@@ -2624,6 +2693,7 @@ declare const DocActorConfigSchema: z.ZodObject<{
2624
2693
  onWebSocket: z.ZodOptional<z.ZodUnknown>;
2625
2694
  actions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2626
2695
  actionInputSchemas: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2696
+ tracing: z.ZodOptional<z.ZodUnknown>;
2627
2697
  connParamsSchema: z.ZodOptional<z.ZodUnknown>;
2628
2698
  events: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2629
2699
  queues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
@@ -2652,4 +2722,4 @@ declare const DocActorConfigSchema: z.ZodObject<{
2652
2722
  }, z.core.$strip>>;
2653
2723
  }, z.core.$strip>;
2654
2724
 
2655
- export { type BaseActorInstance as $, type AnyActorDefinition as A, type BaseActorDefinition as B, type ConnectContext as C, type DestroyContext as D, type EventSchemaConfig as E, type ActorLogger as F, type ActorOptions as G, type ActorOptionsInput as H, ActorOptionsSchema as I, type ActorQuery as J, type ActorQueue as K, type ActorRun as L, type MigrateContext as M, type ActorSchedule as N, type ActorTypes as O, ActorsSchema as P, type QueueSchemaConfig as Q, type RequestContext as R, type SleepContext as S, type AnyActorInstance as T, type AnyClient as U, type AnyConn as V, type WakeContext as W, type AnyStaticActorDefinition as X, type AnyStaticActorInstance as Y, type AuthIntent as Z, BUILTIN_INSPECTOR_TAB_IDS as _, type ActionContext as a, type SqliteBackend as a$, BuiltinInspectorTabIdSchema as a0, CONN_DRIVER_SYMBOL as a1, CONN_STATE_MANAGER_SYMBOL as a2, type Client as a3, type Conn as a4, type CronFire as a5, type CronJobInfo as a6, CustomInspectorTabEntrySchema as a7, DEFAULT_SLEEP_GRACE_PERIOD as a8, type DefineRunHandlerOptions as a9, type QueueResultMessageForName as aA, type QueueTryNextBatchOptions as aB, type QueueTryNextOptions as aC, type QueueWaitOptions as aD, RAW_STATE_SYMBOL as aE, Registry as aF, type RegistryActors as aG, type RegistryApplication as aH, type RegistryConfig as aI, type RegistryConfigInput as aJ, RegistryConfigSchema as aK, type RegistryDeps as aL, type RegistryListenOptions as aM, type RegistryRoutes as aN, type RunConfig as aO, RunConfigSchema as aP, type RunControl as aQ, type RunInspectorConfig as aR, type RunInspectorFactoryContext as aS, type RunInspectorFactoryResult as aT, type RunInspectorKind as aU, type RunWithInactiveOptions as aV, type RuntimeKind as aW, RuntimeKindSchema as aX, type ScheduledEventInfo as aY, type ScheduledFireInfo as aZ, type ServerlessHandler as a_, DocActorConfigSchema as aa, DocActorOptionsSchema as ab, DocConfigurePoolSchema as ac, DocEnvoyConfigSchema as ad, DocRegistryConfigSchema as ae, DocServerlessConfigSchema as af, DocSqliteConfigSchema as ag, type FetchHandler as ah, type GlobalActorOptions as ai, type GlobalActorOptionsInput as aj, GlobalActorOptionsSchema as ak, HideInspectorTabEntrySchema as al, type InferEventArgs as am, type InferSchemaMap as an, InspectorTabEntrySchema as ao, type InspectorUnsubscribe as ap, type InstanceActorOptions as aq, type InstanceActorOptionsInput as ar, InstanceActorOptionsSchema as as, type QueueEnqueueAndWaitOptions as at, type QueueFilterName as au, type QueueIterOptions as av, type QueueMessageOf as aw, type QueueName as ax, type QueueNextBatchOptions as ay, type QueueNextOptions as az, type BeforeActionResponseContext as b, SqliteBackendSchema as b0, type SqliteConfig as b1, SqliteConfigSchema as b2, type TestConfig as b3, TestConfigSchema as b4, type Type as b5, type WasmRuntimeBindings as b6, type WasmRuntimeConfig as b7, WasmRuntimeConfigSchema as b8, type WasmRuntimeInitInput as b9, type ActorConnectOptions as bA, type ActorGatewayOptions as bB, type ActorHandle as bC, ActorHandleRaw as bD, ClientRaw as bE, type ConnectionStateCallback as bF, type CreateOptions as bG, type CreateRequest as bH, type EventUnsubscribe as bI, type ExtractActorsFromRegistry as bJ, type ExtractRegistryFromClient as bK, type GetOptions as bL, type GetWithIdOptions as bM, type QueryOptions as bN, type Region as bO, type StatusChangeCallback as bP, type WorkflowInspectorConfig as ba, type WorkflowOutcome as bb, type WorkflowSpan as bc, type WorkflowStepOutcome as bd, type WorkflowStepSpan as be, actor as bf, buildActorNames as bg, createClientWithDriver as bh, defineRunHandler as bi, disposeRunInspector as bj, event as bk, getRunFunction as bl, getRunInspectorConfig as bm, getRunMetadata as bn, isStaticActorDefinition as bo, isStaticActorInstance as bp, lookupInRegistry as bq, queue as br, setup as bs, test as bt, type ActorAccessor as bu, type ActorActionFunction as bv, type ActorActionOptions as bw, type ActorConn as bx, ActorConnRaw as by, type ActorConnStatus 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 Actions as m, type ActorConfig as n, type ActorConfigInput as o, ActorConfigSchema as p, type ActorContext as q, type ActorContextOf as r, type ActorCron as s, type ActorCronEveryOptions as t, type ActorCronSetOptions as u, ActorDefinition as v, type ActorInspectorConfig as w, ActorInspectorConfigSchema as x, type ActorKey as y, type ActorKv 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, F as ActorLogger, au as QueueFilterName, az as QueueNextOptions, aA as QueueResultMessageForName, ay as QueueNextBatchOptions, aF as Registry, a3 as Client, am as InferEventArgs, an as InferSchemaMap } from './config-8n2AOhXK.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, F as ActorLogger, au as QueueFilterName, az as QueueNextOptions, aA as QueueResultMessageForName, ay as QueueNextBatchOptions, aF as Registry, a3 as Client, am as InferEventArgs, an as InferSchemaMap } from './config-DEm0yIVV.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 _chunkRJC5O2SDcjs = require('../chunk-RJC5O2SD.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
- _chunkRJC5O2SDcjs.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-DN6MD3KK.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 _chunkZ4RAXFSDcjs = require('../chunk-Z4RAXFSD.cjs');
3
+ var _chunkGHKQC4PDcjs = require('../chunk-GHKQC4PD.cjs');
4
4
  require('../chunk-KVFIONKQ.cjs');
5
- require('../chunk-RJC5O2SD.cjs');
5
+ require('../chunk-KWGN2ZBJ.cjs');
6
6
  require('../chunk-JX2ITWAV.cjs');
7
7
 
8
8
 
9
- exports.db = _chunkZ4RAXFSDcjs.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"}