rivetkit 2.3.3 → 2.3.5-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/dist/browser/client.d.ts +157 -9
  2. package/dist/browser/client.js +518 -542
  3. package/dist/browser/client.js.map +1 -1
  4. package/dist/browser/inspector/client.d.ts +101 -2
  5. package/dist/browser/inspector/client.js +1245 -227
  6. package/dist/browser/inspector/client.js.map +1 -1
  7. package/dist/tsup/agent-os/index.cjs +103 -36
  8. package/dist/tsup/agent-os/index.cjs.map +1 -1
  9. package/dist/tsup/agent-os/index.d.cts +159 -11
  10. package/dist/tsup/agent-os/index.d.ts +159 -11
  11. package/dist/tsup/agent-os/index.js +103 -36
  12. package/dist/tsup/agent-os/index.js.map +1 -1
  13. package/dist/tsup/{chunk-34P567PO.cjs → chunk-4XKED5P5.cjs} +145 -176
  14. package/dist/tsup/chunk-4XKED5P5.cjs.map +1 -0
  15. package/dist/tsup/{chunk-PYO2U53V.cjs → chunk-6HQCLWAW.cjs} +384 -4
  16. package/dist/tsup/chunk-6HQCLWAW.cjs.map +1 -0
  17. package/dist/tsup/{chunk-JZ7TWV65.js → chunk-7AFZMFPQ.js} +15 -1
  18. package/dist/tsup/chunk-7AFZMFPQ.js.map +1 -0
  19. package/dist/tsup/{chunk-BLDO2FKO.js → chunk-B4IZU537.js} +382 -2
  20. package/dist/tsup/chunk-B4IZU537.js.map +1 -0
  21. package/dist/tsup/{chunk-3MHDOUD7.cjs → chunk-G3CCRCTK.cjs} +14 -9
  22. package/dist/tsup/chunk-G3CCRCTK.cjs.map +1 -0
  23. package/dist/tsup/{chunk-CXRPENO3.js → chunk-GAV4PKFT.js} +15 -46
  24. package/dist/tsup/{chunk-CXRPENO3.js.map → chunk-GAV4PKFT.js.map} +1 -1
  25. package/dist/tsup/{chunk-HXUEHHJF.js → chunk-JI6GZ2C2.js} +2 -11
  26. package/dist/tsup/{chunk-HXUEHHJF.js.map → chunk-JI6GZ2C2.js.map} +1 -1
  27. package/dist/tsup/{chunk-YUEC5SEY.cjs → chunk-M3FCXL3Q.cjs} +3 -3
  28. package/dist/tsup/{chunk-YUEC5SEY.cjs.map → chunk-M3FCXL3Q.cjs.map} +1 -1
  29. package/dist/tsup/{chunk-KEKWJECX.js → chunk-MGTSVSUC.js} +2 -2
  30. package/dist/tsup/{chunk-VE2X4KMG.cjs → chunk-MYWZCDML.cjs} +2 -11
  31. package/dist/tsup/chunk-MYWZCDML.cjs.map +1 -0
  32. package/dist/tsup/{chunk-DFA7SYSW.js → chunk-NIC3QLKL.js} +3 -3
  33. package/dist/tsup/{chunk-BZM4PMFS.js → chunk-P4OGQ4JL.js} +5 -7
  34. package/dist/tsup/{chunk-BZM4PMFS.js.map → chunk-P4OGQ4JL.js.map} +1 -1
  35. package/dist/tsup/{chunk-NT2NK3VT.js → chunk-PAG6G46L.js} +2 -2
  36. package/dist/tsup/{chunk-XIX5DOZN.js → chunk-SHBE77IT.js} +14 -9
  37. package/dist/tsup/chunk-SHBE77IT.js.map +1 -0
  38. package/dist/tsup/{chunk-TYLP3U4Y.cjs → chunk-TNIWIUNV.cjs} +9 -11
  39. package/dist/tsup/chunk-TNIWIUNV.cjs.map +1 -0
  40. package/dist/tsup/{chunk-S644FL73.cjs → chunk-TR5NLR5V.cjs} +4 -4
  41. package/dist/tsup/{chunk-S644FL73.cjs.map → chunk-TR5NLR5V.cjs.map} +1 -1
  42. package/dist/tsup/{chunk-ZA7FLHKH.cjs → chunk-UEULFXUI.cjs} +16 -2
  43. package/dist/tsup/chunk-UEULFXUI.cjs.map +1 -0
  44. package/dist/tsup/{chunk-X63ROSOG.cjs → chunk-UJ2FQY63.cjs} +7 -7
  45. package/dist/tsup/{chunk-X63ROSOG.cjs.map → chunk-UJ2FQY63.cjs.map} +1 -1
  46. package/dist/tsup/client/mod.cjs +7 -8
  47. package/dist/tsup/client/mod.cjs.map +1 -1
  48. package/dist/tsup/client/mod.d.cts +5 -4
  49. package/dist/tsup/client/mod.d.ts +5 -4
  50. package/dist/tsup/client/mod.js +6 -7
  51. package/dist/tsup/common/log.cjs +2 -2
  52. package/dist/tsup/common/log.js +1 -1
  53. package/dist/tsup/common/websocket.cjs +3 -3
  54. package/dist/tsup/common/websocket.js +2 -2
  55. package/dist/tsup/{config-D49x8NpL.d.cts → config-BxOimoGX.d.cts} +16 -0
  56. package/dist/tsup/{config-D49x8NpL.d.ts → config-BxOimoGX.d.ts} +16 -0
  57. package/dist/tsup/{config-ZkIsRFsN.d.ts → config-BzdqbLAP.d.ts} +164 -27
  58. package/dist/tsup/{config-BfBhjEbk.d.cts → config-CPPEwn_e.d.cts} +164 -27
  59. package/dist/tsup/{context-sZ9GlaBK.d.cts → context-DSA9gFXB.d.cts} +2 -2
  60. package/dist/tsup/{context-B7-84u9K.d.ts → context-wWv-K2K_.d.ts} +2 -2
  61. package/dist/tsup/db/drizzle.cjs +120 -68
  62. package/dist/tsup/db/drizzle.cjs.map +1 -1
  63. package/dist/tsup/db/drizzle.d.cts +8 -3
  64. package/dist/tsup/db/drizzle.d.ts +8 -3
  65. package/dist/tsup/db/drizzle.js +120 -68
  66. package/dist/tsup/db/drizzle.js.map +1 -1
  67. package/dist/tsup/db/mod.cjs +74 -22
  68. package/dist/tsup/db/mod.cjs.map +1 -1
  69. package/dist/tsup/db/mod.d.cts +4 -3
  70. package/dist/tsup/db/mod.d.ts +4 -3
  71. package/dist/tsup/db/mod.js +74 -22
  72. package/dist/tsup/db/mod.js.map +1 -1
  73. package/dist/tsup/dynamic/mod.cjs +2 -2
  74. package/dist/tsup/dynamic/mod.d.cts +3 -3
  75. package/dist/tsup/dynamic/mod.d.ts +3 -3
  76. package/dist/tsup/dynamic/mod.js +1 -1
  77. package/dist/tsup/inspector/mod.cjs +4 -5
  78. package/dist/tsup/inspector/mod.cjs.map +1 -1
  79. package/dist/tsup/inspector/mod.js +3 -4
  80. package/dist/tsup/inspector/mod.js.map +1 -1
  81. package/dist/tsup/inspector-tab/mod.cjs +2 -2
  82. package/dist/tsup/inspector-tab/mod.cjs.map +1 -1
  83. package/dist/tsup/inspector-tab/mod.d.cts +5 -5
  84. package/dist/tsup/inspector-tab/mod.d.ts +5 -5
  85. package/dist/tsup/inspector-tab/mod.js +1 -1
  86. package/dist/tsup/inspector-tab/mod.js.map +1 -1
  87. package/dist/tsup/mod.cjs +605 -158
  88. package/dist/tsup/mod.cjs.map +1 -1
  89. package/dist/tsup/mod.d.cts +5 -5
  90. package/dist/tsup/mod.d.ts +5 -5
  91. package/dist/tsup/mod.js +528 -81
  92. package/dist/tsup/mod.js.map +1 -1
  93. package/dist/tsup/test/mod.cjs +10 -11
  94. package/dist/tsup/test/mod.cjs.map +1 -1
  95. package/dist/tsup/test/mod.d.cts +3 -3
  96. package/dist/tsup/test/mod.d.ts +3 -3
  97. package/dist/tsup/test/mod.js +6 -7
  98. package/dist/tsup/test/mod.js.map +1 -1
  99. package/dist/tsup/utils-CV0akuDD.d.ts +162 -0
  100. package/dist/tsup/utils-DQDCphrl.d.cts +162 -0
  101. package/dist/tsup/utils.cjs +6 -2
  102. package/dist/tsup/utils.cjs.map +1 -1
  103. package/dist/tsup/utils.d.cts +3 -146
  104. package/dist/tsup/utils.d.ts +3 -146
  105. package/dist/tsup/utils.js +5 -1
  106. package/dist/tsup/workflow/mod.cjs +198 -151
  107. package/dist/tsup/workflow/mod.cjs.map +1 -1
  108. package/dist/tsup/workflow/mod.d.cts +5 -5
  109. package/dist/tsup/workflow/mod.d.ts +5 -5
  110. package/dist/tsup/workflow/mod.js +187 -140
  111. package/dist/tsup/workflow/mod.js.map +1 -1
  112. package/package.json +8 -8
  113. package/src/actor/config.test.ts +14 -0
  114. package/src/actor/config.ts +104 -16
  115. package/src/actor/definition.ts +18 -7
  116. package/src/agent-os/actor/index.ts +2 -2
  117. package/src/common/bare/generated/actor-runtime-socket-protocol/v1.ts +848 -0
  118. package/src/common/bare/generated/inspector/v6.ts +1367 -0
  119. package/src/common/database/config.ts +24 -0
  120. package/src/common/database/mod.test.ts +148 -59
  121. package/src/common/database/mod.ts +93 -23
  122. package/src/common/database/native-database.test.ts +9 -0
  123. package/src/common/database/native-database.ts +151 -0
  124. package/src/common/database/shared.ts +15 -0
  125. package/src/common/encoding.ts +28 -21
  126. package/src/db/drizzle.test.ts +157 -0
  127. package/src/db/drizzle.ts +170 -79
  128. package/src/dynamic/isolate-runtime.ts +0 -2
  129. package/src/engine-client/driver.ts +0 -15
  130. package/src/engine-client/mod.ts +0 -41
  131. package/src/inspector/client.browser.ts +69 -8
  132. package/src/inspector-tab/mod.ts +1 -0
  133. package/src/registry/config/index.ts +1 -35
  134. package/src/registry/napi-runtime.ts +204 -16
  135. package/src/registry/native.ts +200 -30
  136. package/src/registry/runtime.ts +146 -3
  137. package/src/registry/wasm-runtime.ts +217 -6
  138. package/src/utils.ts +3 -0
  139. package/src/workflow/context.ts +5 -27
  140. package/src/workflow/driver.test.ts +62 -0
  141. package/src/workflow/driver.ts +231 -113
  142. package/src/workflow/mod.ts +3 -3
  143. package/dist/tsup/chunk-34P567PO.cjs.map +0 -1
  144. package/dist/tsup/chunk-3MHDOUD7.cjs.map +0 -1
  145. package/dist/tsup/chunk-APW73HCH.cjs +0 -382
  146. package/dist/tsup/chunk-APW73HCH.cjs.map +0 -1
  147. package/dist/tsup/chunk-BLDO2FKO.js.map +0 -1
  148. package/dist/tsup/chunk-DHXWD4DF.js +0 -382
  149. package/dist/tsup/chunk-DHXWD4DF.js.map +0 -1
  150. package/dist/tsup/chunk-JZ7TWV65.js.map +0 -1
  151. package/dist/tsup/chunk-PYO2U53V.cjs.map +0 -1
  152. package/dist/tsup/chunk-TYLP3U4Y.cjs.map +0 -1
  153. package/dist/tsup/chunk-VE2X4KMG.cjs.map +0 -1
  154. package/dist/tsup/chunk-XIX5DOZN.js.map +0 -1
  155. package/dist/tsup/chunk-ZA7FLHKH.cjs.map +0 -1
  156. package/src/actor/driver.ts +0 -141
  157. package/src/actor/instance/mod.ts +0 -2484
  158. package/src/drivers/engine/actor-driver.ts +0 -2473
  159. /package/dist/tsup/{chunk-KEKWJECX.js.map → chunk-MGTSVSUC.js.map} +0 -0
  160. /package/dist/tsup/{chunk-DFA7SYSW.js.map → chunk-NIC3QLKL.js.map} +0 -0
  161. /package/dist/tsup/{chunk-NT2NK3VT.js.map → chunk-PAG6G46L.js.map} +0 -0
@@ -23,6 +23,10 @@ interface SqliteExecuteResult extends SqliteQueryResult {
23
23
  changes: number;
24
24
  lastInsertRowId?: number | null;
25
25
  }
26
+ interface SqliteBatchStatement {
27
+ sql: string;
28
+ params?: SqliteBindings;
29
+ }
26
30
  interface SqliteNativeMetrics {
27
31
  requestBuildNs: number;
28
32
  serializeNs: number;
@@ -39,11 +43,19 @@ interface SqliteNativeMetrics {
39
43
  interface SqliteDatabase {
40
44
  exec(sql: string, callback?: (row: unknown[], columns: string[]) => void): Promise<void>;
41
45
  execute(sql: string, params?: SqliteBindings): Promise<SqliteExecuteResult>;
46
+ executeBatch(statements: SqliteBatchStatement[]): Promise<SqliteExecuteResult[]>;
47
+ beginTransaction(timeoutMs?: number): Promise<SqliteTransactionDatabase>;
42
48
  run(sql: string, params?: SqliteBindings): Promise<void>;
43
49
  query(sql: string, params?: SqliteBindings): Promise<SqliteQueryResult>;
44
50
  nativeMetrics?(): SqliteNativeMetrics | Promise<SqliteNativeMetrics | null> | null;
45
51
  close(): Promise<void>;
46
52
  }
53
+ interface SqliteTransactionDatabase {
54
+ exec(sql: string, callback?: (row: unknown[], columns: string[]) => void): Promise<void>;
55
+ execute(sql: string, params?: SqliteBindings): Promise<SqliteExecuteResult>;
56
+ commit(): Promise<void>;
57
+ rollback(): Promise<void>;
58
+ }
47
59
  /**
48
60
  * Provider for opening native databases from the active runtime.
49
61
  */
@@ -110,6 +122,10 @@ type RawAccess = {
110
122
  * Executes a raw SQL query.
111
123
  */
112
124
  execute: ExecuteFunction;
125
+ /** Runs a callback in an isolated SQLite transaction. */
126
+ transaction: <T>(callback: (tx: RawAccess) => Promise<T> | T, options?: {
127
+ timeout?: number;
128
+ }) => Promise<T>;
113
129
  /**
114
130
  * Returns native SQLite metrics when the active runtime supports them.
115
131
  */
@@ -305,11 +321,6 @@ interface EngineControlClient {
305
321
  * Test-only helper that simulates an abrupt actor crash.
306
322
  */
307
323
  hardCrashActor?(actorId: string): Promise<void>;
308
- kvGet(actorId: string, key: Uint8Array): Promise<string | null>;
309
- kvBatchGet(actorId: string, keys: Uint8Array[]): Promise<(Uint8Array | null)[]>;
310
- kvBatchPut(actorId: string, entries: [Uint8Array, Uint8Array][]): Promise<void>;
311
- kvBatchDelete(actorId: string, keys: Uint8Array[]): Promise<void>;
312
- kvDeleteRange(actorId: string, start: Uint8Array, end: Uint8Array): Promise<void>;
313
324
  }
314
325
  interface RuntimeDisplayInformation {
315
326
  properties: Record<string, string>;
@@ -1001,10 +1012,76 @@ interface ActorKv {
1001
1012
  [key: string]: any;
1002
1013
  }
1003
1014
  interface ActorSchedule {
1004
- after(duration: number, action: string, ...args: unknown[]): Promise<void>;
1005
- at(timestamp: number, action: string, ...args: unknown[]): Promise<void>;
1015
+ after(duration: number, action: string, ...args: unknown[]): Promise<string>;
1016
+ at(timestamp: number, action: string, ...args: unknown[]): Promise<string>;
1017
+ cancel(id: string): Promise<boolean>;
1018
+ get(id: string): Promise<ScheduledEventInfo | undefined>;
1019
+ list(): Promise<ScheduledEventInfo[]>;
1006
1020
  [key: string]: any;
1007
1021
  }
1022
+ interface ActorCronSetOptions {
1023
+ name: string;
1024
+ expression: string;
1025
+ action: string;
1026
+ args?: unknown[];
1027
+ timezone?: string;
1028
+ /** Defaults to 100. Set to 0 to disable and clear history. Maximum 1,000. */
1029
+ maxHistory?: number;
1030
+ }
1031
+ interface ActorCronEveryOptions {
1032
+ name: string;
1033
+ /** Fixed interval in milliseconds. Minimum 5,000. */
1034
+ interval: number;
1035
+ action: string;
1036
+ args?: unknown[];
1037
+ /** Defaults to 100. Set to 0 to disable and clear history. Maximum 1,000. */
1038
+ maxHistory?: number;
1039
+ }
1040
+ interface ActorCron {
1041
+ set(options: ActorCronSetOptions): Promise<void>;
1042
+ every(options: ActorCronEveryOptions): Promise<void>;
1043
+ get(name: string): Promise<CronJobInfo | undefined>;
1044
+ list(): Promise<CronJobInfo[]>;
1045
+ delete(name: string): Promise<boolean>;
1046
+ history(name: string, options?: {
1047
+ limit?: number;
1048
+ }): Promise<CronFire[]>;
1049
+ [key: string]: any;
1050
+ }
1051
+ interface ScheduledEventInfo {
1052
+ id: string;
1053
+ action: string;
1054
+ args: unknown[];
1055
+ runAt: number;
1056
+ }
1057
+ type CronJobInfo = {
1058
+ name: string;
1059
+ action: string;
1060
+ args: unknown[];
1061
+ nextRunAt: number;
1062
+ lastRunAt?: number;
1063
+ maxHistory: number;
1064
+ } & ({
1065
+ kind: "cron";
1066
+ expression: string;
1067
+ timezone: string;
1068
+ } | {
1069
+ kind: "every";
1070
+ interval: number;
1071
+ });
1072
+ interface CronFire {
1073
+ action: string;
1074
+ scheduledAt: number;
1075
+ firedAt: number;
1076
+ finishedAt?: number;
1077
+ result: "running" | "ok" | "error" | "skipped";
1078
+ error?: {
1079
+ group: string;
1080
+ code: string;
1081
+ message: string;
1082
+ metadata?: unknown;
1083
+ };
1084
+ }
1008
1085
  type QueueMessageOf<Name extends string, Body> = {
1009
1086
  id: number | bigint;
1010
1087
  name: Name;
@@ -1085,11 +1162,16 @@ interface ActorContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase
1085
1162
  readonly kv: ActorKv;
1086
1163
  readonly db: InferDatabaseClient<TDatabase>;
1087
1164
  readonly schedule: ActorSchedule;
1165
+ readonly cron: ActorCron;
1088
1166
  readonly queue: ActorQueue<TQueues>;
1089
1167
  readonly actorId: string;
1090
1168
  readonly name: string;
1091
1169
  readonly key: string[];
1092
1170
  readonly region: string;
1171
+ /** Provisions the experimental Actor Runtime Socket for this actor generation. */
1172
+ actorRuntimeSocket(): Promise<{
1173
+ path: string;
1174
+ }>;
1093
1175
  readonly conns: Map<string, Conn<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>>;
1094
1176
  readonly log: ActorLogger;
1095
1177
  readonly abortSignal: AbortSignal;
@@ -1186,6 +1268,7 @@ declare const ActorConfigSchema: z.ZodObject<{
1186
1268
  options: z.ZodPrefault<z.ZodObject<{
1187
1269
  name: z.ZodOptional<z.ZodString>;
1188
1270
  icon: z.ZodOptional<z.ZodString>;
1271
+ enableActorRuntimeSocket: z.ZodDefault<z.ZodBoolean>;
1189
1272
  canHibernateWebSocket: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodCustom<(request: Request) => boolean, (request: Request) => boolean>]>>;
1190
1273
  createVarsTimeout: z.ZodDefault<z.ZodNumber>;
1191
1274
  createConnStateTimeout: z.ZodDefault<z.ZodNumber>;
@@ -1202,6 +1285,7 @@ declare const ActorConfigSchema: z.ZodObject<{
1202
1285
  noSleep: z.ZodDefault<z.ZodBoolean>;
1203
1286
  sleepTimeout: z.ZodDefault<z.ZodNumber>;
1204
1287
  maxQueueSize: z.ZodDefault<z.ZodNumber>;
1288
+ maxSchedules: z.ZodDefault<z.ZodNumber>;
1205
1289
  maxQueueMessageSize: z.ZodDefault<z.ZodNumber>;
1206
1290
  preloadMaxWorkflowBytes: z.ZodOptional<z.ZodNumber>;
1207
1291
  preloadMaxConnectionsBytes: z.ZodOptional<z.ZodNumber>;
@@ -1219,6 +1303,7 @@ declare const ActorConfigSchema: z.ZodObject<{
1219
1303
  workflow: "workflow";
1220
1304
  database: "database";
1221
1305
  queue: "queue";
1306
+ schedules: "schedules";
1222
1307
  connections: "connections";
1223
1308
  console: "console";
1224
1309
  }>;
@@ -1663,6 +1748,7 @@ type ActorContextHandle = OpaqueHandle<"actorContext">;
1663
1748
  type ConnHandle = OpaqueHandle<"conn">;
1664
1749
  type WebSocketHandle = OpaqueHandle<"webSocket">;
1665
1750
  type CancellationTokenHandle = OpaqueHandle<"cancellationToken">;
1751
+ type SqliteTransactionHandle = OpaqueHandle<"sqliteTransaction">;
1666
1752
  type RuntimeBytes = Uint8Array;
1667
1753
  interface RuntimeActorKeySegment {
1668
1754
  kind: string;
@@ -1683,6 +1769,10 @@ interface RuntimeStateDeltaPayload {
1683
1769
  }>;
1684
1770
  connHibernationRemoved: string[];
1685
1771
  }
1772
+ interface RuntimeWorkflowKvWrite {
1773
+ key: RuntimeBytes;
1774
+ value: RuntimeBytes;
1775
+ }
1686
1776
  interface RuntimeRequestSaveOpts {
1687
1777
  immediate?: boolean;
1688
1778
  maxWaitMs?: number;
@@ -1708,6 +1798,38 @@ interface RuntimeQueueInspectMessage {
1708
1798
  name: string;
1709
1799
  createdAtMs: number;
1710
1800
  }
1801
+ interface RuntimeScheduledEventInfo {
1802
+ id: string;
1803
+ action: string;
1804
+ args: RuntimeBytes;
1805
+ runAt: number;
1806
+ }
1807
+ interface RuntimeCronJobInfo {
1808
+ name: string;
1809
+ kind: "cron" | "every";
1810
+ action: string;
1811
+ args: RuntimeBytes;
1812
+ nextRunAt: number;
1813
+ lastRunAt?: number;
1814
+ expression?: string;
1815
+ timezone?: string;
1816
+ intervalMs?: number;
1817
+ maxHistory: number;
1818
+ }
1819
+ interface RuntimeScheduleErrorInfo {
1820
+ group: string;
1821
+ code: string;
1822
+ message: string;
1823
+ metadata?: unknown;
1824
+ }
1825
+ interface RuntimeCronFire {
1826
+ action: string;
1827
+ scheduledAt: number;
1828
+ firedAt: number;
1829
+ finishedAt?: number;
1830
+ result: "running" | "ok" | "error" | "skipped";
1831
+ error?: RuntimeScheduleErrorInfo;
1832
+ }
1711
1833
  interface RuntimeQueueNextBatchOptions {
1712
1834
  names?: string[];
1713
1835
  count?: number;
@@ -1768,6 +1890,9 @@ type RuntimeSqlBindParam = ({
1768
1890
  blobValue: RuntimeBytes;
1769
1891
  };
1770
1892
  type RuntimeSqlBindParams = RuntimeSqlBindParam[] | null;
1893
+ interface RuntimeActorRuntimeSocketEndpointInfo {
1894
+ path: string;
1895
+ }
1771
1896
  interface RuntimeSqlQueryResult {
1772
1897
  columns: string[];
1773
1898
  rows: unknown[][];
@@ -1777,6 +1902,10 @@ interface RuntimeSqlExecuteResult extends RuntimeSqlQueryResult {
1777
1902
  changes: number;
1778
1903
  lastInsertRowId?: number | null;
1779
1904
  }
1905
+ interface RuntimeSqlBatchStatement {
1906
+ sql: string;
1907
+ params?: RuntimeSqlBindParams;
1908
+ }
1780
1909
  interface RuntimeSqlRunResult {
1781
1910
  changes: number;
1782
1911
  }
@@ -1785,6 +1914,7 @@ interface RuntimeActorConfig {
1785
1914
  icon?: string;
1786
1915
  hasDatabase?: boolean;
1787
1916
  remoteSqlite?: boolean;
1917
+ enableActorRuntimeSocket?: boolean;
1788
1918
  hasState?: boolean;
1789
1919
  canHibernateWebsocket?: boolean;
1790
1920
  stateSaveIntervalMs?: number;
@@ -1805,6 +1935,7 @@ interface RuntimeActorConfig {
1805
1935
  connectionLivenessTimeoutMs?: number;
1806
1936
  connectionLivenessIntervalMs?: number;
1807
1937
  maxQueueSize?: number;
1938
+ maxSchedules?: number;
1808
1939
  maxQueueMessageSize?: number;
1809
1940
  maxIncomingMessageSize?: number;
1810
1941
  maxOutgoingMessageSize?: number;
@@ -1922,6 +2053,7 @@ interface CoreRuntime {
1922
2053
  actorTakePendingHibernationChanges(ctx: ActorContextHandle): string[];
1923
2054
  actorDirtyHibernatableConns(ctx: ActorContextHandle): ConnHandle[];
1924
2055
  actorSaveState(ctx: ActorContextHandle, payload: RuntimeStateDeltaPayload): Promise<void>;
2056
+ actorSaveStateAndWorkflowBatch(ctx: ActorContextHandle, writes: RuntimeWorkflowKvWrite[]): Promise<void>;
1925
2057
  actorId(ctx: ActorContextHandle): string;
1926
2058
  actorName(ctx: ActorContextHandle): string;
1927
2059
  actorKey(ctx: ActorContextHandle): RuntimeActorKeySegment[];
@@ -1955,11 +2087,18 @@ interface CoreRuntime {
1955
2087
  actorKvBatchDelete(ctx: ActorContextHandle, keys: RuntimeBytes[]): Promise<void>;
1956
2088
  actorSqlExec(ctx: ActorContextHandle, sql: string): Promise<RuntimeSqlExecResult>;
1957
2089
  actorSqlExecute(ctx: ActorContextHandle, sql: string, params?: RuntimeSqlBindParams): Promise<RuntimeSqlExecuteResult>;
2090
+ actorSqlExecuteBatch(ctx: ActorContextHandle, statements: RuntimeSqlBatchStatement[]): Promise<RuntimeSqlExecuteResult[]>;
2091
+ actorSqlBeginTransaction(ctx: ActorContextHandle, timeoutMs?: number): Promise<SqliteTransactionHandle>;
2092
+ actorSqlTransactionExec(transaction: SqliteTransactionHandle, sql: string): Promise<RuntimeSqlExecResult>;
2093
+ actorSqlTransactionExecute(transaction: SqliteTransactionHandle, sql: string, params?: RuntimeSqlBindParams): Promise<RuntimeSqlExecuteResult>;
2094
+ actorSqlTransactionCommit(transaction: SqliteTransactionHandle): Promise<void>;
2095
+ actorSqlTransactionRollback(transaction: SqliteTransactionHandle): Promise<void>;
1958
2096
  actorSqlQuery(ctx: ActorContextHandle, sql: string, params?: RuntimeSqlBindParams): Promise<RuntimeSqlQueryResult>;
1959
2097
  actorSqlRun(ctx: ActorContextHandle, sql: string, params?: RuntimeSqlBindParams): Promise<RuntimeSqlRunResult>;
1960
2098
  actorSqlMetrics(ctx: ActorContextHandle): SqliteNativeMetrics | null;
1961
2099
  actorSqlTakeLastKvError(ctx: ActorContextHandle): string | null;
1962
2100
  actorSqlClose(ctx: ActorContextHandle): Promise<void>;
2101
+ actorRuntimeSocketProvision(ctx: ActorContextHandle): Promise<RuntimeActorRuntimeSocketEndpointInfo>;
1963
2102
  actorQueueSend(ctx: ActorContextHandle, name: string, body: RuntimeBytes): Promise<RuntimeQueueMessage>;
1964
2103
  actorQueueNextBatch(ctx: ActorContextHandle, options?: RuntimeQueueNextBatchOptions | undefined | null, signal?: CancellationTokenHandle | undefined | null): Promise<RuntimeQueueMessage[]>;
1965
2104
  actorQueueWaitForNames(ctx: ActorContextHandle, names: string[], options?: RuntimeQueueWaitOptions | undefined | null, signal?: CancellationTokenHandle | undefined | null): Promise<RuntimeQueueMessage>;
@@ -1969,8 +2108,17 @@ interface CoreRuntime {
1969
2108
  actorQueueMaxSize(ctx: ActorContextHandle): number;
1970
2109
  actorQueueInspectMessages(ctx: ActorContextHandle): Promise<RuntimeQueueInspectMessage[]>;
1971
2110
  actorQueueReset(ctx: ActorContextHandle): Promise<void>;
1972
- actorScheduleAfter(ctx: ActorContextHandle, durationMs: number, actionName: string, args: RuntimeBytes): void;
1973
- actorScheduleAt(ctx: ActorContextHandle, timestampMs: number, actionName: string, args: RuntimeBytes): void;
2111
+ actorScheduleAfter(ctx: ActorContextHandle, durationMs: number, actionName: string, args: RuntimeBytes): Promise<string>;
2112
+ actorScheduleAt(ctx: ActorContextHandle, timestampMs: number, actionName: string, args: RuntimeBytes): Promise<string>;
2113
+ actorScheduleCancel(ctx: ActorContextHandle, id: string): Promise<boolean>;
2114
+ actorScheduleGet(ctx: ActorContextHandle, id: string): Promise<RuntimeScheduledEventInfo | undefined>;
2115
+ actorScheduleList(ctx: ActorContextHandle): Promise<RuntimeScheduledEventInfo[]>;
2116
+ actorCronSet(ctx: ActorContextHandle, name: string, expression: string, timezone: string | undefined, actionName: string, args: RuntimeBytes, maxHistory: number | undefined): Promise<void>;
2117
+ actorCronEvery(ctx: ActorContextHandle, name: string, intervalMs: number, actionName: string, args: RuntimeBytes, maxHistory: number | undefined): Promise<void>;
2118
+ actorCronGet(ctx: ActorContextHandle, name: string): Promise<RuntimeCronJobInfo | undefined>;
2119
+ actorCronList(ctx: ActorContextHandle): Promise<RuntimeCronJobInfo[]>;
2120
+ actorCronDelete(ctx: ActorContextHandle, name: string): Promise<boolean>;
2121
+ actorCronHistory(ctx: ActorContextHandle, name: string, limit: number | undefined): Promise<RuntimeCronFire[]>;
1974
2122
  connId(conn: ConnHandle): string;
1975
2123
  connParams(conn: ConnHandle): RuntimeBytes;
1976
2124
  connState(conn: ConnHandle): RuntimeBytes;