rivetkit 0.0.0-skip-ready-wait-flatten-client-options.1cae221 → 0.0.0-sqlite-uds.4e59a38

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 (253) hide show
  1. package/dist/browser/client.d.ts +561 -89
  2. package/dist/browser/client.js +1063 -430
  3. package/dist/browser/client.js.map +1 -1
  4. package/dist/browser/inspector/client.d.ts +22 -2
  5. package/dist/browser/inspector/client.js +1036 -232
  6. package/dist/browser/inspector/client.js.map +1 -1
  7. package/dist/tsup/actor/errors.cjs +6 -2
  8. package/dist/tsup/actor/errors.cjs.map +1 -1
  9. package/dist/tsup/actor/errors.d.cts +1 -74
  10. package/dist/tsup/actor/errors.d.ts +1 -74
  11. package/dist/tsup/actor/errors.js +5 -1
  12. package/dist/tsup/agent-os/index.cjs +2218 -2082
  13. package/dist/tsup/agent-os/index.cjs.map +1 -1
  14. package/dist/tsup/agent-os/index.d.cts +556 -85
  15. package/dist/tsup/agent-os/index.d.ts +556 -85
  16. package/dist/tsup/agent-os/index.js +2220 -2084
  17. package/dist/tsup/agent-os/index.js.map +1 -1
  18. package/dist/tsup/{chunk-NFC5VU36.cjs → chunk-3GC3EP6D.cjs} +18 -10
  19. package/dist/tsup/chunk-3GC3EP6D.cjs.map +1 -0
  20. package/dist/tsup/{chunk-7MRGNVSR.js → chunk-3GLNEWGY.js} +78 -6
  21. package/dist/tsup/chunk-3GLNEWGY.js.map +1 -0
  22. package/dist/tsup/{chunk-V3QNBJ7N.cjs → chunk-4FC7TVS6.cjs} +35 -10
  23. package/dist/tsup/chunk-4FC7TVS6.cjs.map +1 -0
  24. package/dist/tsup/{chunk-POTPHU3P.cjs → chunk-62LSMTP2.cjs} +3 -3
  25. package/dist/tsup/{chunk-POTPHU3P.cjs.map → chunk-62LSMTP2.cjs.map} +1 -1
  26. package/dist/tsup/{chunk-OIKOPSXQ.js → chunk-7IVUT2JT.js} +12 -4
  27. package/dist/tsup/chunk-7IVUT2JT.js.map +1 -0
  28. package/dist/tsup/{chunk-22XU3BVY.cjs → chunk-GEYQLGXC.cjs} +925 -328
  29. package/dist/tsup/chunk-GEYQLGXC.cjs.map +1 -0
  30. package/dist/tsup/{chunk-D2TLG75Y.cjs → chunk-GMN45CQ6.cjs} +10 -10
  31. package/dist/tsup/chunk-GMN45CQ6.cjs.map +1 -0
  32. package/dist/tsup/{chunk-3BFYSYRU.js → chunk-HXUEHHJF.js} +3 -2
  33. package/dist/tsup/chunk-HXUEHHJF.js.map +1 -0
  34. package/dist/tsup/{chunk-IOYKCB6Y.cjs → chunk-I336PMWT.cjs} +44 -9
  35. package/dist/tsup/chunk-I336PMWT.cjs.map +1 -0
  36. package/dist/tsup/{chunk-RZEJJJKU.js → chunk-IB73AMGJ.js} +42 -7
  37. package/dist/tsup/chunk-IB73AMGJ.js.map +1 -0
  38. package/dist/tsup/{chunk-4ZIWB4CQ.js → chunk-ITWJ6Y7G.js} +2 -2
  39. package/dist/tsup/{chunk-PCBNKI2J.js → chunk-JZ7TWV65.js} +1 -1
  40. package/dist/tsup/chunk-JZ7TWV65.js.map +1 -0
  41. package/dist/tsup/{chunk-W54QCENI.js → chunk-KTNBYGRU.js} +134 -20
  42. package/dist/tsup/chunk-KTNBYGRU.js.map +1 -0
  43. package/dist/tsup/{chunk-AK57AL7S.cjs → chunk-OAPVVVTX.cjs} +79 -7
  44. package/dist/tsup/chunk-OAPVVVTX.cjs.map +1 -0
  45. package/dist/tsup/{chunk-TPBHXFB2.cjs → chunk-OUDV3ITX.cjs} +138 -24
  46. package/dist/tsup/chunk-OUDV3ITX.cjs.map +1 -0
  47. package/dist/tsup/{chunk-XNZR7UD2.cjs → chunk-PRXTIERO.cjs} +90 -65
  48. package/dist/tsup/chunk-PRXTIERO.cjs.map +1 -0
  49. package/dist/tsup/{chunk-LLD2D5LO.cjs → chunk-VE2X4KMG.cjs} +3 -2
  50. package/dist/tsup/chunk-VE2X4KMG.cjs.map +1 -0
  51. package/dist/tsup/{chunk-KSG2COSQ.js → chunk-WRZEVVLL.js} +6 -6
  52. package/dist/tsup/chunk-WRZEVVLL.js.map +1 -0
  53. package/dist/tsup/{chunk-LNMB25HW.js → chunk-XAIMHUPG.js} +780 -183
  54. package/dist/tsup/chunk-XAIMHUPG.js.map +1 -0
  55. package/dist/tsup/{chunk-D4TSTM6C.js → chunk-XZ62SWSC.js} +83 -58
  56. package/dist/tsup/chunk-XZ62SWSC.js.map +1 -0
  57. package/dist/tsup/{chunk-2NDZ7JCR.cjs → chunk-ZA7FLHKH.cjs} +1 -1
  58. package/dist/tsup/chunk-ZA7FLHKH.cjs.map +1 -0
  59. package/dist/tsup/{chunk-K34B3OVG.js → chunk-ZZ3WBRPD.js} +34 -9
  60. package/dist/tsup/chunk-ZZ3WBRPD.js.map +1 -0
  61. package/dist/tsup/client/mod.cjs +9 -9
  62. package/dist/tsup/client/mod.cjs.map +1 -1
  63. package/dist/tsup/client/mod.d.cts +8 -9
  64. package/dist/tsup/client/mod.d.ts +8 -9
  65. package/dist/tsup/client/mod.js +8 -8
  66. package/dist/tsup/common/log.cjs +5 -3
  67. package/dist/tsup/common/log.cjs.map +1 -1
  68. package/dist/tsup/common/log.d.cts +5 -1
  69. package/dist/tsup/common/log.d.ts +5 -1
  70. package/dist/tsup/common/log.js +6 -4
  71. package/dist/tsup/common/websocket.cjs +4 -4
  72. package/dist/tsup/common/websocket.js +3 -3
  73. package/dist/tsup/{config-CRdGwwbr.d.cts → config-CxG53eQo.d.cts} +577 -36
  74. package/dist/tsup/{config-kxXbtrJU.d.ts → config-DLOxy81E.d.cts} +5 -5
  75. package/dist/tsup/{config-kxXbtrJU.d.cts → config-DLOxy81E.d.ts} +5 -5
  76. package/dist/tsup/{config-DIpBWm5C.d.ts → config-Ds6DCRhV.d.ts} +577 -36
  77. package/dist/tsup/context-8KlcOYIs.d.cts +129 -0
  78. package/dist/tsup/context-Cfbm4QLr.d.ts +129 -0
  79. package/dist/tsup/db/drizzle.cjs +151 -79
  80. package/dist/tsup/db/drizzle.cjs.map +1 -1
  81. package/dist/tsup/db/drizzle.d.cts +2 -2
  82. package/dist/tsup/db/drizzle.d.ts +2 -2
  83. package/dist/tsup/db/drizzle.js +151 -79
  84. package/dist/tsup/db/drizzle.js.map +1 -1
  85. package/dist/tsup/db/mod.cjs +79 -24
  86. package/dist/tsup/db/mod.cjs.map +1 -1
  87. package/dist/tsup/db/mod.d.cts +2 -2
  88. package/dist/tsup/db/mod.d.ts +2 -2
  89. package/dist/tsup/db/mod.js +78 -23
  90. package/dist/tsup/db/mod.js.map +1 -1
  91. package/dist/tsup/dynamic/mod.cjs +24 -0
  92. package/dist/tsup/dynamic/mod.cjs.map +1 -0
  93. package/dist/tsup/dynamic/mod.d.cts +37 -0
  94. package/dist/tsup/dynamic/mod.d.ts +37 -0
  95. package/dist/tsup/dynamic/mod.js +24 -0
  96. package/dist/tsup/dynamic/mod.js.map +1 -0
  97. package/dist/tsup/inspector/mod.cjs +47 -12
  98. package/dist/tsup/inspector/mod.cjs.map +1 -1
  99. package/dist/tsup/inspector/mod.d.cts +37 -15
  100. package/dist/tsup/inspector/mod.d.ts +37 -15
  101. package/dist/tsup/inspector/mod.js +46 -11
  102. package/dist/tsup/inspector/mod.js.map +1 -1
  103. package/dist/tsup/inspector-tab/mod.cjs +162 -0
  104. package/dist/tsup/inspector-tab/mod.cjs.map +1 -0
  105. package/dist/tsup/inspector-tab/mod.d.cts +240 -0
  106. package/dist/tsup/inspector-tab/mod.d.ts +240 -0
  107. package/dist/tsup/inspector-tab/mod.js +162 -0
  108. package/dist/tsup/inspector-tab/mod.js.map +1 -0
  109. package/dist/tsup/mod.cjs +1078 -479
  110. package/dist/tsup/mod.cjs.map +1 -1
  111. package/dist/tsup/mod.d.cts +5 -6
  112. package/dist/tsup/mod.d.ts +5 -6
  113. package/dist/tsup/mod.js +996 -397
  114. package/dist/tsup/mod.js.map +1 -1
  115. package/dist/tsup/test/mod.cjs +21 -18
  116. package/dist/tsup/test/mod.cjs.map +1 -1
  117. package/dist/tsup/test/mod.d.cts +4 -5
  118. package/dist/tsup/test/mod.d.ts +4 -5
  119. package/dist/tsup/test/mod.js +18 -15
  120. package/dist/tsup/test/mod.js.map +1 -1
  121. package/dist/tsup/utils-CqDnC_PS.d.cts +104 -0
  122. package/dist/tsup/utils-CqDnC_PS.d.ts +104 -0
  123. package/dist/tsup/utils.cjs +3 -3
  124. package/dist/tsup/utils.d.cts +1 -1
  125. package/dist/tsup/utils.d.ts +1 -1
  126. package/dist/tsup/utils.js +2 -2
  127. package/dist/tsup/workflow/mod.cjs +386 -322
  128. package/dist/tsup/workflow/mod.cjs.map +1 -1
  129. package/dist/tsup/workflow/mod.d.cts +8 -9
  130. package/dist/tsup/workflow/mod.d.ts +8 -9
  131. package/dist/tsup/workflow/mod.js +363 -299
  132. package/dist/tsup/workflow/mod.js.map +1 -1
  133. package/package.json +35 -14
  134. package/src/actor/config.ts +188 -59
  135. package/src/actor/contexts/index.ts +7 -2
  136. package/src/actor/definition.ts +17 -19
  137. package/src/actor/driver.ts +3 -3
  138. package/src/actor/errors.ts +70 -7
  139. package/src/actor/instance/mod.ts +39 -56
  140. package/src/actor/keys.ts +2 -1
  141. package/src/actor/mod.ts +22 -20
  142. package/src/actor/schema.ts +2 -2
  143. package/src/agent-os/actor/index.ts +38 -18
  144. package/src/agent-os/actor/preview.ts +1 -2
  145. package/src/agent-os/actor/session.ts +2 -2
  146. package/src/agent-os/config.ts +1 -1
  147. package/src/agent-os/fs/database-vfs.ts +1 -1
  148. package/src/agent-os/index.ts +16 -15
  149. package/src/client/actor-common.ts +88 -62
  150. package/src/client/actor-conn.ts +58 -63
  151. package/src/client/actor-handle.ts +125 -71
  152. package/src/client/actor-query.ts +5 -5
  153. package/src/client/config.ts +3 -3
  154. package/src/client/errors.ts +2 -1
  155. package/src/client/lifecycle-errors.ts +2 -4
  156. package/src/client/query.ts +1 -1
  157. package/src/client/queue.ts +8 -3
  158. package/src/client/raw-utils.ts +10 -10
  159. package/src/client/resolve-gateway-target.ts +1 -1
  160. package/src/client/utils.ts +34 -10
  161. package/src/common/actor-router-consts.ts +7 -4
  162. package/src/common/actor-websocket.ts +3 -1
  163. package/src/common/bare/actor-persist/v1.ts +205 -163
  164. package/src/common/bare/actor-persist/v2.ts +265 -213
  165. package/src/common/bare/actor-persist/v3.ts +176 -172
  166. package/src/common/bare/actor-persist/v4.ts +254 -253
  167. package/src/common/bare/generated/client-protocol/v4.ts +599 -0
  168. package/src/common/bare/generated/inspector/v5.ts +1016 -0
  169. package/src/common/bare/transport/v1.ts +694 -542
  170. package/src/common/client-protocol-versioned.ts +176 -67
  171. package/src/common/client-protocol-zod.ts +7 -0
  172. package/src/common/client-protocol.ts +1 -1
  173. package/src/common/database/config.ts +16 -5
  174. package/src/common/database/mod.test.ts +83 -16
  175. package/src/common/database/mod.ts +86 -30
  176. package/src/common/database/native-database.test.ts +35 -22
  177. package/src/common/database/native-database.ts +26 -10
  178. package/src/common/database/shared.ts +1 -0
  179. package/src/common/encoding.ts +250 -16
  180. package/src/common/engine.ts +28 -1
  181. package/src/common/eventsource.ts +1 -1
  182. package/src/common/inline-websocket-adapter.ts +14 -13
  183. package/src/common/log.ts +15 -8
  184. package/src/common/router.ts +49 -23
  185. package/src/common/utils.ts +10 -202
  186. package/src/common/websocket-interface.ts +1 -1
  187. package/src/db/drizzle.ts +173 -96
  188. package/src/db/mod.ts +1 -1
  189. package/src/devtools-loader/index.ts +4 -7
  190. package/src/devtools-loader/serve-devtools.ts +26 -0
  191. package/src/drivers/engine/actor-driver.ts +76 -73
  192. package/src/dynamic/instance.ts +32 -0
  193. package/src/dynamic/internal.ts +50 -0
  194. package/src/dynamic/isolate-runtime.ts +66 -0
  195. package/src/dynamic/mod.ts +32 -0
  196. package/src/engine-client/actor-http-client.ts +6 -9
  197. package/src/engine-client/actor-websocket-client.ts +14 -13
  198. package/src/engine-client/api-endpoints.ts +51 -2
  199. package/src/engine-client/api-utils.ts +2 -2
  200. package/src/engine-client/driver.ts +3 -4
  201. package/src/engine-client/mod.ts +17 -10
  202. package/src/engine-client/ws-proxy.ts +9 -4
  203. package/src/inspector/client.browser.ts +66 -15
  204. package/src/inspector/mod.ts +2 -4
  205. package/src/inspector-tab/mod.ts +300 -0
  206. package/src/registry/config/envoy.ts +1 -2
  207. package/src/registry/config/index.ts +46 -20
  208. package/src/registry/index.ts +364 -87
  209. package/src/registry/napi-runtime.ts +97 -8
  210. package/src/registry/native-validation.ts +10 -12
  211. package/src/registry/native.ts +592 -343
  212. package/src/registry/process-metrics.ts +250 -0
  213. package/src/registry/runtime.ts +85 -6
  214. package/src/registry/wasm-runtime.ts +72 -3
  215. package/src/registry/write-through-proxy.ts +40 -0
  216. package/src/serde.ts +2 -2
  217. package/src/serverless/configure.ts +19 -8
  218. package/src/test/mod.ts +11 -8
  219. package/src/utils/crypto.ts +14 -0
  220. package/src/utils/endpoint-parser.ts +1 -1
  221. package/src/utils/env-vars.ts +37 -0
  222. package/src/utils/router.ts +1 -1
  223. package/src/utils.ts +1 -2
  224. package/src/workflow/context.ts +703 -240
  225. package/src/workflow/driver.ts +23 -12
  226. package/src/workflow/inspector.ts +12 -3
  227. package/src/workflow/mod.ts +37 -23
  228. package/dist/tsup/chunk-22XU3BVY.cjs.map +0 -1
  229. package/dist/tsup/chunk-2NDZ7JCR.cjs.map +0 -1
  230. package/dist/tsup/chunk-3BFYSYRU.js.map +0 -1
  231. package/dist/tsup/chunk-7MRGNVSR.js.map +0 -1
  232. package/dist/tsup/chunk-AK57AL7S.cjs.map +0 -1
  233. package/dist/tsup/chunk-D2TLG75Y.cjs.map +0 -1
  234. package/dist/tsup/chunk-D4TSTM6C.js.map +0 -1
  235. package/dist/tsup/chunk-IOYKCB6Y.cjs.map +0 -1
  236. package/dist/tsup/chunk-K34B3OVG.js.map +0 -1
  237. package/dist/tsup/chunk-KSG2COSQ.js.map +0 -1
  238. package/dist/tsup/chunk-LLD2D5LO.cjs.map +0 -1
  239. package/dist/tsup/chunk-LNMB25HW.js.map +0 -1
  240. package/dist/tsup/chunk-NFC5VU36.cjs.map +0 -1
  241. package/dist/tsup/chunk-OIKOPSXQ.js.map +0 -1
  242. package/dist/tsup/chunk-PCBNKI2J.js.map +0 -1
  243. package/dist/tsup/chunk-RZEJJJKU.js.map +0 -1
  244. package/dist/tsup/chunk-TPBHXFB2.cjs.map +0 -1
  245. package/dist/tsup/chunk-V3QNBJ7N.cjs.map +0 -1
  246. package/dist/tsup/chunk-W54QCENI.js.map +0 -1
  247. package/dist/tsup/chunk-XNZR7UD2.cjs.map +0 -1
  248. package/dist/tsup/context-B7G6sk7x.d.ts +0 -92
  249. package/dist/tsup/context-DzMRHkjC.d.cts +0 -92
  250. package/dist/tsup/utils-fwx3o3K9.d.cts +0 -18
  251. package/dist/tsup/utils-fwx3o3K9.d.ts +0 -18
  252. package/src/utils/serve.ts +0 -217
  253. /package/dist/tsup/{chunk-4ZIWB4CQ.js.map → chunk-ITWJ6Y7G.js.map} +0 -0
@@ -1,92 +0,0 @@
1
- import { A as AnyActorDefinition, B as BaseActorDefinition, E as EventSchemaConfig, Q as QueueSchemaConfig, h as RunContext, ae as QueueFilterName, aj as QueueNextOptions, ak as QueueResultMessageForName, ai as QueueNextBatchOptions, bk as InferSchemaMap, ap as Registry, V as Client, u as ActorLogger, bl as InferEventArgs } from './config-CRdGwwbr.cjs';
2
- import { A as AnyDatabaseProvider, I as InferDatabaseClient } from './config-kxXbtrJU.cjs';
3
- import { WorkflowContextInterface, TryStepResult, TryBlockResult, LoopResult, LoopConfig, BranchConfig, BranchOutput, EntryKindType } from '@rivetkit/workflow-engine';
4
-
5
- type WorkflowActorQueueNextOptions<TName extends string, TCompletable extends boolean> = Omit<QueueNextOptions<TName, TCompletable>, "signal">;
6
- type WorkflowActorQueueNextOptionsFallback<TCompletable extends boolean> = Omit<QueueNextOptions<string, TCompletable>, "signal">;
7
- type WorkflowActorQueueNextBatchOptions<TName extends string, TCompletable extends boolean> = Omit<QueueNextBatchOptions<TName, TCompletable>, "signal">;
8
- type WorkflowActorQueueNextBatchOptionsFallback<TCompletable extends boolean> = Omit<QueueNextBatchOptions<string, TCompletable>, "signal">;
9
- type ActorWorkflowLoopConfig<S, T, TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig, TQueues extends QueueSchemaConfig> = Omit<LoopConfig<S, T>, "run"> & {
10
- run: (ctx: ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>, state: S) => Promise<LoopResult<S, T> | (S extends undefined ? void : never)>;
11
- };
12
- type ActorWorkflowBranchConfig<TOutput, TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig, TQueues extends QueueSchemaConfig> = {
13
- run: (ctx: ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>) => Promise<TOutput>;
14
- };
15
- declare class ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig = Record<never, never>, TQueues extends QueueSchemaConfig = Record<never, never>> implements WorkflowContextInterface {
16
- #private;
17
- constructor(inner: WorkflowContextInterface, runCtx: RunContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>);
18
- get workflowId(): string;
19
- get abortSignal(): AbortSignal;
20
- get queue(): {
21
- next: {
22
- <const TName extends QueueFilterName<TQueues>, const TCompletable extends boolean = false>(name: string, opts?: WorkflowActorQueueNextOptions<TName, TCompletable>): Promise<QueueResultMessageForName<TQueues, TName, TCompletable>>;
23
- <const TCompletable extends boolean = false>(name: string, opts?: WorkflowActorQueueNextOptionsFallback<TCompletable>): Promise<QueueResultMessageForName<TQueues, QueueFilterName<TQueues>, TCompletable>>;
24
- };
25
- nextBatch: {
26
- <const TName extends QueueFilterName<TQueues>, const TCompletable extends boolean = false>(name: string, opts?: WorkflowActorQueueNextBatchOptions<TName, TCompletable>): Promise<Array<QueueResultMessageForName<TQueues, TName, TCompletable>>>;
27
- <const TCompletable extends boolean = false>(name: string, opts?: WorkflowActorQueueNextBatchOptionsFallback<TCompletable>): Promise<Array<QueueResultMessageForName<TQueues, QueueFilterName<TQueues>, TCompletable>>>;
28
- };
29
- send: {
30
- <K extends keyof TQueues & string>(name: K, body: InferSchemaMap<TQueues>[K]): Promise<void>;
31
- (name: keyof TQueues extends never ? string : never, body: unknown): Promise<void>;
32
- };
33
- };
34
- step<T>(nameOrConfig: string | Parameters<WorkflowContextInterface["step"]>[0], run?: () => Promise<T>): Promise<T>;
35
- tryStep<T>(nameOrConfig: string | Parameters<WorkflowContextInterface["tryStep"]>[0], run?: () => Promise<T>): Promise<TryStepResult<T>>;
36
- try<T>(nameOrConfig: string | Parameters<WorkflowContextInterface["try"]>[0], run?: (ctx: ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>) => Promise<T>): Promise<TryBlockResult<T>>;
37
- loop<T>(name: string, run: (ctx: ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>) => Promise<LoopResult<undefined, T> | void>): Promise<T>;
38
- loop<T>(name: string, run: (ctx: WorkflowContextInterface) => Promise<LoopResult<undefined, T> | void>): Promise<T>;
39
- loop<S, T>(config: ActorWorkflowLoopConfig<S, T, TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>): Promise<T>;
40
- loop<S, T>(config: LoopConfig<S, T>): Promise<T>;
41
- sleep(name: string, durationMs: number): Promise<void>;
42
- sleepUntil(name: string, timestampMs: number): Promise<void>;
43
- destroy(): void;
44
- rollbackCheckpoint(name: string): Promise<void>;
45
- join<T extends Record<string, ActorWorkflowBranchConfig<unknown, TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>>>(name: string, branches: T): Promise<{
46
- [K in keyof T]: Awaited<ReturnType<T[K]["run"]>>;
47
- }>;
48
- join<T extends Record<string, BranchConfig<unknown>>>(name: string, branches: T): Promise<{
49
- [K in keyof T]: BranchOutput<T[K]>;
50
- }>;
51
- race<T>(name: string, branches: Array<{
52
- name: string;
53
- run: (ctx: ActorWorkflowContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>) => Promise<T>;
54
- }>): Promise<{
55
- winner: string;
56
- value: T;
57
- }>;
58
- removed(name: string, originalType: EntryKindType): Promise<void>;
59
- isEvicted(): boolean;
60
- get state(): TState extends never ? never : TState;
61
- get vars(): TVars extends never ? never : TVars;
62
- client<R extends Registry<any> = Registry<any>>(): Client<R>;
63
- get db(): TDatabase extends never ? never : InferDatabaseClient<TDatabase>;
64
- get log(): ActorLogger;
65
- /** @deprecated No-op. Use `keepAwake(promise)` or `waitUntil(promise)` instead. */
66
- setPreventSleep(_prevent: boolean): void;
67
- /** @deprecated No-op. Always returns `false`. */
68
- get preventSleep(): boolean;
69
- /**
70
- * Holds the actor awake for the duration of the provided promise. The
71
- * actor cannot idle-sleep or finalize the sleep grace period until the
72
- * promise settles.
73
- */
74
- keepAwake<T>(promise: Promise<T>): Promise<T>;
75
- /**
76
- * Registers a promise that the sleep grace period will wait on. Use this
77
- * for best-effort flush/cleanup work that may complete inside the grace
78
- * window. For work the actor must stay running through, prefer
79
- * `c.keepAwake(promise)` which also blocks idle sleep.
80
- */
81
- waitUntil(promise: Promise<void>): void;
82
- get actorId(): string;
83
- broadcast<K extends keyof TEvents & string>(name: K, ...args: InferEventArgs<InferSchemaMap<TEvents>[K]>): void;
84
- broadcast(name: keyof TEvents extends never ? string : never, ...args: Array<unknown>): void;
85
- consumeGuardViolation(): boolean;
86
- }
87
- type WorkflowContextOf<AD extends AnyActorDefinition> = AD extends BaseActorDefinition<infer S, infer CP, infer CS, infer V, infer I, infer DB extends AnyDatabaseProvider, infer E extends EventSchemaConfig, infer Q extends QueueSchemaConfig, any> ? ActorWorkflowContext<S, CP, CS, V, I, DB, E, Q> : never;
88
- type WorkflowLoopContextOf<AD extends AnyActorDefinition> = WorkflowContextOf<AD>;
89
- type WorkflowBranchContextOf<AD extends AnyActorDefinition> = WorkflowContextOf<AD>;
90
- type WorkflowStepContextOf<AD extends AnyActorDefinition> = WorkflowContextOf<AD>;
91
-
92
- export { ActorWorkflowContext as A, type WorkflowBranchContextOf as W, type WorkflowContextOf as a, type WorkflowLoopContextOf as b, type WorkflowStepContextOf as c };
@@ -1,18 +0,0 @@
1
- import { Next } from 'hono';
2
- import { ContentfulStatusCode } from 'hono/utils/http-status';
3
-
4
- declare function assertUnreachable(x: never): never;
5
- interface DeconstructedError {
6
- __type: "ActorError";
7
- statusCode: ContentfulStatusCode;
8
- public: boolean;
9
- group: string;
10
- code: string;
11
- message: string;
12
- metadata?: unknown;
13
- }
14
- declare function stringifyError(error: unknown): string;
15
- /** Generates a `Next` handler to pass to middleware in order to be able to call arbitrary middleware. */
16
- declare function noopNext(): Next;
17
-
18
- export { type DeconstructedError as D, assertUnreachable as a, noopNext as n, stringifyError as s };
@@ -1,18 +0,0 @@
1
- import { Next } from 'hono';
2
- import { ContentfulStatusCode } from 'hono/utils/http-status';
3
-
4
- declare function assertUnreachable(x: never): never;
5
- interface DeconstructedError {
6
- __type: "ActorError";
7
- statusCode: ContentfulStatusCode;
8
- public: boolean;
9
- group: string;
10
- code: string;
11
- message: string;
12
- metadata?: unknown;
13
- }
14
- declare function stringifyError(error: unknown): string;
15
- /** Generates a `Next` handler to pass to middleware in order to be able to call arbitrary middleware. */
16
- declare function noopNext(): Next;
17
-
18
- export { type DeconstructedError as D, assertUnreachable as a, noopNext as n, stringifyError as s };
@@ -1,217 +0,0 @@
1
- import type { Hono } from "hono";
2
- import { detectRuntime, stringifyError, type Runtime } from "../utils";
3
- import { RegistryConfig } from "@/registry/config";
4
- import { logger } from "@/registry/log";
5
-
6
- // TODO: Go back to dynamic import for this
7
- import getPort from "get-port";
8
-
9
- const DEFAULT_PORT = 6421;
10
- export type ServeStatic =
11
- typeof import("@hono/node-server/serve-static").serveStatic;
12
- const serveStaticLoaderPromises: Partial<
13
- Record<Runtime, Promise<ServeStatic>>
14
- > = {};
15
-
16
- /**
17
- * Finds a free port starting from the given port.
18
- *
19
- * Tries ports incrementally until a free one is found.
20
- */
21
- export async function findFreePort(
22
- startPort: number = DEFAULT_PORT,
23
- ): Promise<number> {
24
- // TODO: Fix this
25
- // const getPortModule = "get-port";
26
- // const { default: getPort } = await import(/* webpackIgnore: true */ getPortModule);
27
-
28
- // Create an iterable of ports starting from startPort
29
- function* portRange(start: number, count: number = 100): Iterable<number> {
30
- for (let i = 0; i < count; i++) {
31
- yield start + i;
32
- }
33
- }
34
-
35
- return getPort({ port: portRange(startPort) });
36
- }
37
-
38
- export async function crossPlatformServe(
39
- config: RegistryConfig,
40
- httpPort: number,
41
- app: Hono<any>,
42
- runtime: Runtime = detectRuntime(),
43
- ): Promise<{ upgradeWebSocket: any; closeServer?: () => void }> {
44
- logger().debug({ msg: "detected runtime for serve", runtime });
45
-
46
- switch (runtime) {
47
- case "deno":
48
- return serveDeno(config, httpPort, app);
49
- case "bun":
50
- return serveBun(config, httpPort, app);
51
- case "node":
52
- return serveNode(config, httpPort, app);
53
- default:
54
- return serveNode(config, httpPort, app);
55
- }
56
- }
57
-
58
- export async function loadRuntimeServeStatic(
59
- runtime: Runtime,
60
- ): Promise<ServeStatic> {
61
- if (!serveStaticLoaderPromises[runtime]) {
62
- if (runtime === "node") {
63
- const nodeServeStaticModule = "@hono/node-server/serve-static";
64
- serveStaticLoaderPromises[runtime] = import(
65
- /* webpackIgnore: true */
66
- nodeServeStaticModule
67
- ).then((x) => x.serveStatic);
68
- } else if (runtime === "bun") {
69
- const bunModule = "hono/bun";
70
- serveStaticLoaderPromises[runtime] = import(
71
- /* webpackIgnore: true */
72
- bunModule
73
- ).then((x) => x.serveStatic as ServeStatic);
74
- } else if (runtime === "deno") {
75
- const denoModule = "hono/deno";
76
- serveStaticLoaderPromises[runtime] = import(
77
- /* webpackIgnore: true */
78
- denoModule
79
- ).then((x) => x.serveStatic as ServeStatic);
80
- } else {
81
- throw new Error(`unsupported runtime: ${runtime}`);
82
- }
83
- }
84
-
85
- return await serveStaticLoaderPromises[runtime]!;
86
- }
87
-
88
- async function serveNode(
89
- config: RegistryConfig,
90
- httpPort: number,
91
- app: Hono<any>,
92
- ): Promise<{ upgradeWebSocket: any; closeServer: () => void }> {
93
- // Import @hono/node-server using string variable to prevent static analysis
94
- const nodeServerModule = "@hono/node-server";
95
- let serve: any;
96
- try {
97
- const dep = await import(
98
- /* webpackIgnore: true */
99
- nodeServerModule
100
- );
101
- serve = dep.serve;
102
- } catch (err) {
103
- logger().error({
104
- msg: "failed to import @hono/node-server. please run 'npm install @hono/node-server @hono/node-ws'",
105
- error: stringifyError(err),
106
- });
107
- process.exit(1);
108
- }
109
-
110
- // Import @hono/node-ws using string variable to prevent static analysis
111
- const nodeWsModule = "@hono/node-ws";
112
- let createNodeWebSocket: any;
113
- try {
114
- const dep = await import(
115
- /* webpackIgnore: true */
116
- nodeWsModule
117
- );
118
- createNodeWebSocket = dep.createNodeWebSocket;
119
- } catch (err) {
120
- logger().error({
121
- msg: "failed to import @hono/node-ws. please run 'npm install @hono/node-server @hono/node-ws'",
122
- error: stringifyError(err),
123
- });
124
- process.exit(1);
125
- }
126
-
127
- // Inject WS
128
- const { injectWebSocket, upgradeWebSocket } = createNodeWebSocket({
129
- app: app,
130
- });
131
-
132
- // Start server
133
- const port = httpPort;
134
- const hostname = config.httpHost;
135
- const server = serve({ fetch: app.fetch, port, hostname }, () =>
136
- logger().info({ msg: "server listening", port, hostname }),
137
- );
138
- injectWebSocket(server);
139
-
140
- const closeServer = () => {
141
- server.close();
142
- };
143
-
144
- return { upgradeWebSocket, closeServer };
145
- }
146
-
147
- async function serveDeno(
148
- config: RegistryConfig,
149
- httpPort: number,
150
- app: Hono<any>,
151
- ): Promise<{ upgradeWebSocket: any }> {
152
- // Import hono/deno using string variable to prevent static analysis
153
- const honoDenoModule = "hono/deno";
154
- let upgradeWebSocket: any;
155
- try {
156
- const dep = await import(
157
- /* webpackIgnore: true */
158
- honoDenoModule
159
- );
160
- upgradeWebSocket = dep.upgradeWebSocket;
161
- } catch (err) {
162
- logger().error({
163
- msg: "failed to import hono/deno",
164
- error: stringifyError(err),
165
- });
166
- process.exit(1);
167
- }
168
-
169
- const port = httpPort;
170
- const hostname = config.httpHost;
171
-
172
- // Use Deno.serve
173
- Deno.serve({ port, hostname }, app.fetch);
174
- logger().info({ msg: "server listening", port, hostname });
175
-
176
- return { upgradeWebSocket };
177
- }
178
-
179
- async function serveBun(
180
- config: RegistryConfig,
181
- httpPort: number,
182
- app: Hono<any>,
183
- ): Promise<{ upgradeWebSocket: any }> {
184
- // Import hono/bun using string variable to prevent static analysis
185
- const honoBunModule = "hono/bun";
186
- let createBunWebSocket: any;
187
- try {
188
- const dep = await import(
189
- /* webpackIgnore: true */
190
- honoBunModule
191
- );
192
- createBunWebSocket = dep.createBunWebSocket;
193
- } catch (err) {
194
- logger().error({
195
- msg: "failed to import hono/bun",
196
- error: stringifyError(err),
197
- });
198
- process.exit(1);
199
- }
200
-
201
- const { websocket, upgradeWebSocket } = createBunWebSocket();
202
-
203
- const port = httpPort;
204
- const hostname = config.httpHost;
205
-
206
- // Use Bun.serve
207
- // @ts-expect-error - Bun global
208
- Bun.serve({
209
- fetch: app.fetch,
210
- port,
211
- hostname,
212
- websocket,
213
- });
214
- logger().info({ msg: "server listening", port, hostname });
215
-
216
- return { upgradeWebSocket };
217
- }