rivetkit 2.3.0-rc.9 → 2.3.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 (226) hide show
  1. package/dist/browser/client.d.ts +511 -62
  2. package/dist/browser/client.js +230 -174
  3. package/dist/browser/client.js.map +1 -1
  4. package/dist/browser/inspector/client.js +53 -23
  5. package/dist/browser/inspector/client.js.map +1 -1
  6. package/dist/tsup/actor/errors.cjs +4 -2
  7. package/dist/tsup/actor/errors.cjs.map +1 -1
  8. package/dist/tsup/actor/errors.d.cts +1 -1
  9. package/dist/tsup/actor/errors.d.ts +1 -1
  10. package/dist/tsup/actor/errors.js +3 -1
  11. package/dist/tsup/agent-os/index.cjs +2163 -2087
  12. package/dist/tsup/agent-os/index.cjs.map +1 -1
  13. package/dist/tsup/agent-os/index.d.cts +509 -69
  14. package/dist/tsup/agent-os/index.d.ts +509 -69
  15. package/dist/tsup/agent-os/index.js +2163 -2087
  16. package/dist/tsup/agent-os/index.js.map +1 -1
  17. package/dist/tsup/{chunk-WQ4HNA4W.cjs → chunk-3MHDOUD7.cjs} +73 -3
  18. package/dist/tsup/chunk-3MHDOUD7.cjs.map +1 -0
  19. package/dist/tsup/{chunk-QAZLM4WT.cjs → chunk-4FC7TVS6.cjs} +8 -4
  20. package/dist/tsup/chunk-4FC7TVS6.cjs.map +1 -0
  21. package/dist/tsup/{chunk-4CGA6QJO.cjs → chunk-4UUEB43Y.cjs} +24 -9
  22. package/dist/tsup/chunk-4UUEB43Y.cjs.map +1 -0
  23. package/dist/tsup/{chunk-GVTOE34S.cjs → chunk-5IWLUJ6W.cjs} +222 -235
  24. package/dist/tsup/chunk-5IWLUJ6W.cjs.map +1 -0
  25. package/dist/tsup/{chunk-MMMEZM5J.js → chunk-H6VVZMWN.js} +4 -4
  26. package/dist/tsup/chunk-H6VVZMWN.js.map +1 -0
  27. package/dist/tsup/{chunk-3YY5S6TV.js → chunk-HXUEHHJF.js} +2 -2
  28. package/dist/tsup/chunk-HXUEHHJF.js.map +1 -0
  29. package/dist/tsup/{chunk-H7P7WR2Y.js → chunk-I35VSLEM.js} +6 -6
  30. package/dist/tsup/chunk-I35VSLEM.js.map +1 -0
  31. package/dist/tsup/{chunk-H37XQU3I.js → chunk-JBUZRPY5.js} +2 -2
  32. package/dist/tsup/{chunk-CPA4Y3RG.cjs → chunk-JLJJZYCJ.cjs} +10 -10
  33. package/dist/tsup/chunk-JLJJZYCJ.cjs.map +1 -0
  34. package/dist/tsup/{chunk-PCBNKI2J.js → chunk-JZ7TWV65.js} +1 -1
  35. package/dist/tsup/chunk-JZ7TWV65.js.map +1 -0
  36. package/dist/tsup/{chunk-VRCIXJRN.js → chunk-L2X3YFER.js} +64 -10
  37. package/dist/tsup/chunk-L2X3YFER.js.map +1 -0
  38. package/dist/tsup/{chunk-Y5NSCZA2.cjs → chunk-MNHKOS6L.cjs} +72 -18
  39. package/dist/tsup/chunk-MNHKOS6L.cjs.map +1 -0
  40. package/dist/tsup/{chunk-KJTA3ATT.js → chunk-NERUIBOT.js} +22 -7
  41. package/dist/tsup/chunk-NERUIBOT.js.map +1 -0
  42. package/dist/tsup/{chunk-4WPEZBK4.cjs → chunk-OST76LRW.cjs} +10 -10
  43. package/dist/tsup/chunk-OST76LRW.cjs.map +1 -0
  44. package/dist/tsup/{chunk-MALSPBAF.cjs → chunk-OZBCXBVP.cjs} +3 -3
  45. package/dist/tsup/{chunk-MALSPBAF.cjs.map → chunk-OZBCXBVP.cjs.map} +1 -1
  46. package/dist/tsup/{chunk-F3Q5BFQ6.js → chunk-PT6OIW5E.js} +66 -79
  47. package/dist/tsup/chunk-PT6OIW5E.js.map +1 -0
  48. package/dist/tsup/{chunk-W7EYSYVI.js → chunk-R6KPN5EW.js} +134 -20
  49. package/dist/tsup/chunk-R6KPN5EW.js.map +1 -0
  50. package/dist/tsup/{chunk-VJFRBJVQ.cjs → chunk-V5KMAMX3.cjs} +138 -24
  51. package/dist/tsup/chunk-V5KMAMX3.cjs.map +1 -0
  52. package/dist/tsup/{chunk-LD5YASJU.cjs → chunk-VE2X4KMG.cjs} +2 -2
  53. package/dist/tsup/{chunk-LD5YASJU.cjs.map → chunk-VE2X4KMG.cjs.map} +1 -1
  54. package/dist/tsup/{chunk-T6YVRM4K.js → chunk-XIX5DOZN.js} +72 -2
  55. package/dist/tsup/chunk-XIX5DOZN.js.map +1 -0
  56. package/dist/tsup/{chunk-2NDZ7JCR.cjs → chunk-ZA7FLHKH.cjs} +1 -1
  57. package/dist/tsup/chunk-ZA7FLHKH.cjs.map +1 -0
  58. package/dist/tsup/{chunk-KIWH5H3K.js → chunk-ZZ3WBRPD.js} +7 -3
  59. package/dist/tsup/chunk-ZZ3WBRPD.js.map +1 -0
  60. package/dist/tsup/client/mod.cjs +9 -9
  61. package/dist/tsup/client/mod.d.cts +5 -5
  62. package/dist/tsup/client/mod.d.ts +5 -5
  63. package/dist/tsup/client/mod.js +8 -8
  64. package/dist/tsup/common/log.cjs +3 -3
  65. package/dist/tsup/common/log.js +2 -2
  66. package/dist/tsup/common/websocket.cjs +4 -4
  67. package/dist/tsup/common/websocket.js +3 -3
  68. package/dist/tsup/{config-Ca8dN4cS.d.cts → config-CzvopP5m.d.cts} +544 -23
  69. package/dist/tsup/{config-CxjGYf4K.d.cts → config-D49x8NpL.d.cts} +1 -2
  70. package/dist/tsup/{config-CxjGYf4K.d.ts → config-D49x8NpL.d.ts} +1 -2
  71. package/dist/tsup/{config-0Ta55UV0.d.ts → config-DZuT7tcp.d.ts} +544 -23
  72. package/dist/tsup/context-CyAdY-aA.d.ts +128 -0
  73. package/dist/tsup/context-sNB28g0N.d.cts +128 -0
  74. package/dist/tsup/db/drizzle.cjs +3 -3
  75. package/dist/tsup/db/drizzle.d.cts +1 -1
  76. package/dist/tsup/db/drizzle.d.ts +1 -1
  77. package/dist/tsup/db/drizzle.js +1 -1
  78. package/dist/tsup/db/mod.cjs +2 -2
  79. package/dist/tsup/db/mod.d.cts +2 -2
  80. package/dist/tsup/db/mod.d.ts +2 -2
  81. package/dist/tsup/db/mod.js +1 -1
  82. package/dist/tsup/dynamic/mod.cjs +24 -0
  83. package/dist/tsup/dynamic/mod.cjs.map +1 -0
  84. package/dist/tsup/dynamic/mod.d.cts +37 -0
  85. package/dist/tsup/dynamic/mod.d.ts +37 -0
  86. package/dist/tsup/dynamic/mod.js +24 -0
  87. package/dist/tsup/dynamic/mod.js.map +1 -0
  88. package/dist/tsup/inspector/mod.cjs +6 -6
  89. package/dist/tsup/inspector/mod.js +5 -5
  90. package/dist/tsup/inspector-tab/mod.cjs +173 -0
  91. package/dist/tsup/inspector-tab/mod.cjs.map +1 -0
  92. package/dist/tsup/inspector-tab/mod.d.cts +250 -0
  93. package/dist/tsup/inspector-tab/mod.d.ts +250 -0
  94. package/dist/tsup/inspector-tab/mod.js +173 -0
  95. package/dist/tsup/inspector-tab/mod.js.map +1 -0
  96. package/dist/tsup/mod.cjs +758 -348
  97. package/dist/tsup/mod.cjs.map +1 -1
  98. package/dist/tsup/mod.d.cts +5 -5
  99. package/dist/tsup/mod.d.ts +5 -5
  100. package/dist/tsup/mod.js +662 -252
  101. package/dist/tsup/mod.js.map +1 -1
  102. package/dist/tsup/test/mod.cjs +21 -18
  103. package/dist/tsup/test/mod.cjs.map +1 -1
  104. package/dist/tsup/test/mod.d.cts +4 -4
  105. package/dist/tsup/test/mod.d.ts +4 -4
  106. package/dist/tsup/test/mod.js +18 -15
  107. package/dist/tsup/test/mod.js.map +1 -1
  108. package/dist/tsup/{utils-DVekpm4I.d.cts → utils-CqDnC_PS.d.cts} +2 -1
  109. package/dist/tsup/{utils-DVekpm4I.d.ts → utils-CqDnC_PS.d.ts} +2 -1
  110. package/dist/tsup/utils.cjs +3 -3
  111. package/dist/tsup/utils.d.cts +1 -1
  112. package/dist/tsup/utils.d.ts +1 -1
  113. package/dist/tsup/utils.js +2 -2
  114. package/dist/tsup/workflow/mod.cjs +383 -322
  115. package/dist/tsup/workflow/mod.cjs.map +1 -1
  116. package/dist/tsup/workflow/mod.d.cts +8 -8
  117. package/dist/tsup/workflow/mod.d.ts +8 -8
  118. package/dist/tsup/workflow/mod.js +360 -299
  119. package/dist/tsup/workflow/mod.js.map +1 -1
  120. package/package.json +35 -14
  121. package/src/actor/config.ts +173 -51
  122. package/src/actor/contexts/index.ts +7 -2
  123. package/src/actor/definition.ts +17 -19
  124. package/src/actor/driver.ts +3 -3
  125. package/src/actor/errors.ts +20 -3
  126. package/src/actor/instance/mod.ts +26 -34
  127. package/src/actor/keys.ts +1 -1
  128. package/src/actor/mod.ts +22 -20
  129. package/src/actor/schema.ts +2 -2
  130. package/src/agent-os/actor/index.ts +38 -18
  131. package/src/agent-os/actor/preview.ts +1 -2
  132. package/src/agent-os/actor/session.ts +2 -2
  133. package/src/agent-os/config.ts +1 -1
  134. package/src/agent-os/fs/database-vfs.ts +1 -1
  135. package/src/agent-os/index.ts +16 -15
  136. package/src/client/actor-common.ts +87 -54
  137. package/src/client/actor-conn.ts +8 -36
  138. package/src/client/actor-handle.ts +69 -51
  139. package/src/client/actor-query.ts +5 -5
  140. package/src/client/errors.ts +1 -1
  141. package/src/client/lifecycle-errors.ts +2 -4
  142. package/src/client/query.ts +1 -1
  143. package/src/client/queue.ts +8 -3
  144. package/src/client/raw-utils.ts +8 -6
  145. package/src/client/resolve-gateway-target.ts +1 -1
  146. package/src/client/utils.ts +2 -7
  147. package/src/common/actor-websocket.ts +3 -1
  148. package/src/common/bare/actor-persist/v1.ts +205 -163
  149. package/src/common/bare/actor-persist/v2.ts +265 -213
  150. package/src/common/bare/actor-persist/v3.ts +176 -172
  151. package/src/common/bare/actor-persist/v4.ts +254 -253
  152. package/src/common/bare/transport/v1.ts +659 -543
  153. package/src/common/client-protocol-versioned.ts +66 -64
  154. package/src/common/database/config.ts +2 -8
  155. package/src/common/database/native-database.ts +1 -1
  156. package/src/common/database/shared.ts +1 -0
  157. package/src/common/encoding.ts +250 -16
  158. package/src/common/engine.ts +28 -1
  159. package/src/common/eventsource.ts +1 -1
  160. package/src/common/inline-websocket-adapter.ts +14 -13
  161. package/src/common/log.ts +1 -0
  162. package/src/common/router.ts +13 -17
  163. package/src/common/utils.ts +1 -150
  164. package/src/common/websocket-interface.ts +1 -1
  165. package/src/db/mod.ts +1 -1
  166. package/src/devtools-loader/index.ts +4 -7
  167. package/src/devtools-loader/serve-devtools.ts +26 -0
  168. package/src/drivers/engine/actor-driver.ts +58 -56
  169. package/src/dynamic/instance.ts +32 -0
  170. package/src/dynamic/internal.ts +50 -0
  171. package/src/dynamic/isolate-runtime.ts +66 -0
  172. package/src/dynamic/mod.ts +32 -0
  173. package/src/engine-client/actor-http-client.ts +3 -3
  174. package/src/engine-client/actor-websocket-client.ts +6 -5
  175. package/src/engine-client/api-endpoints.ts +51 -2
  176. package/src/engine-client/api-utils.ts +2 -2
  177. package/src/engine-client/driver.ts +1 -1
  178. package/src/engine-client/mod.ts +6 -3
  179. package/src/engine-client/ws-proxy.ts +9 -4
  180. package/src/inspector/client.browser.ts +5 -11
  181. package/src/inspector/mod.ts +1 -3
  182. package/src/inspector-tab/mod.ts +315 -0
  183. package/src/registry/config/envoy.ts +1 -2
  184. package/src/registry/config/index.ts +40 -16
  185. package/src/registry/index.ts +209 -73
  186. package/src/registry/napi-runtime.ts +29 -2
  187. package/src/registry/native-validation.ts +10 -12
  188. package/src/registry/native.ts +433 -198
  189. package/src/registry/process-metrics.ts +250 -0
  190. package/src/registry/runtime.ts +52 -1
  191. package/src/registry/wasm-runtime.ts +29 -2
  192. package/src/registry/write-through-proxy.ts +40 -0
  193. package/src/serde.ts +2 -2
  194. package/src/serverless/configure.ts +18 -7
  195. package/src/test/mod.ts +11 -8
  196. package/src/utils/endpoint-parser.ts +1 -1
  197. package/src/utils/env-vars.ts +37 -0
  198. package/src/utils/router.ts +1 -1
  199. package/src/utils.ts +1 -2
  200. package/src/workflow/context.ts +699 -240
  201. package/src/workflow/driver.ts +23 -12
  202. package/src/workflow/inspector.ts +4 -3
  203. package/src/workflow/mod.ts +37 -23
  204. package/dist/tsup/chunk-2NDZ7JCR.cjs.map +0 -1
  205. package/dist/tsup/chunk-3YY5S6TV.js.map +0 -1
  206. package/dist/tsup/chunk-4CGA6QJO.cjs.map +0 -1
  207. package/dist/tsup/chunk-4WPEZBK4.cjs.map +0 -1
  208. package/dist/tsup/chunk-CPA4Y3RG.cjs.map +0 -1
  209. package/dist/tsup/chunk-F3Q5BFQ6.js.map +0 -1
  210. package/dist/tsup/chunk-GVTOE34S.cjs.map +0 -1
  211. package/dist/tsup/chunk-H7P7WR2Y.js.map +0 -1
  212. package/dist/tsup/chunk-KIWH5H3K.js.map +0 -1
  213. package/dist/tsup/chunk-KJTA3ATT.js.map +0 -1
  214. package/dist/tsup/chunk-MMMEZM5J.js.map +0 -1
  215. package/dist/tsup/chunk-PCBNKI2J.js.map +0 -1
  216. package/dist/tsup/chunk-QAZLM4WT.cjs.map +0 -1
  217. package/dist/tsup/chunk-T6YVRM4K.js.map +0 -1
  218. package/dist/tsup/chunk-VJFRBJVQ.cjs.map +0 -1
  219. package/dist/tsup/chunk-VRCIXJRN.js.map +0 -1
  220. package/dist/tsup/chunk-W7EYSYVI.js.map +0 -1
  221. package/dist/tsup/chunk-WQ4HNA4W.cjs.map +0 -1
  222. package/dist/tsup/chunk-Y5NSCZA2.cjs.map +0 -1
  223. package/dist/tsup/context-B_IWbWne.d.ts +0 -92
  224. package/dist/tsup/context-CUrQ9MHc.d.cts +0 -92
  225. package/src/utils/serve.ts +0 -217
  226. /package/dist/tsup/{chunk-H37XQU3I.js.map → chunk-JBUZRPY5.js.map} +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkQAZLM4WTcjs = require('./chunk-QAZLM4WT.cjs');
5
+ var _chunk4FC7TVS6cjs = require('./chunk-4FC7TVS6.cjs');
6
6
 
7
7
  // src/utils/env-vars.ts
8
8
  var getRivetEngine = () => getEnvUniversal("RIVET_ENGINE");
@@ -15,6 +15,11 @@ var getRivetTotalSlots = () => {
15
15
  return value !== void 0 ? parseInt(value, 10) : void 0;
16
16
  };
17
17
  var getRivetRunEngine = () => getEnvUniversal("RIVET_RUN_ENGINE") === "1";
18
+ var getRivetRunEngineHost = () => getEnvUniversal("RIVET_RUN_ENGINE_HOST");
19
+ var getRivetRunEnginePort = () => {
20
+ const value = getEnvUniversal("RIVET_RUN_ENGINE_PORT");
21
+ return value !== void 0 ? parseInt(value, 10) : void 0;
22
+ };
18
23
  var getRivetRunEngineVersion = () => getEnvUniversal("RIVET_RUN_ENGINE_VERSION");
19
24
  var getRivetEnvoyVersion = () => {
20
25
  const value = getEnvUniversal("RIVET_ENVOY_VERSION");
@@ -23,6 +28,28 @@ var getRivetEnvoyVersion = () => {
23
28
  var getRivetPublicEndpoint = () => getEnvUniversal("RIVET_PUBLIC_ENDPOINT");
24
29
  var getRivetPublicToken = () => getEnvUniversal("RIVET_PUBLIC_TOKEN");
25
30
  var getRivetkitRuntime = () => getEnvUniversal("RIVETKIT_RUNTIME");
31
+ var getRivetkitRuntimeMode = () => {
32
+ const value = getEnvUniversal("RIVETKIT_RUNTIME_MODE");
33
+ if (value === void 0) return "envoy";
34
+ if (value === "envoy" || value === "serverless") return value;
35
+ throw new Error(
36
+ `RIVETKIT_RUNTIME_MODE env var must be "envoy" or "serverless"; got "${value}"`
37
+ );
38
+ };
39
+ var getRivetkitPublicDir = () => {
40
+ const value = getEnvUniversal("RIVETKIT_PUBLIC_DIR");
41
+ return value === void 0 || value === "" ? void 0 : value;
42
+ };
43
+ function parsePortEnv(raw) {
44
+ if (raw === void 0 || raw === "") return void 0;
45
+ const parsed = Number.parseInt(raw, 10);
46
+ if (!Number.isFinite(parsed) || parsed < 1 || parsed > 65535 || String(parsed) !== raw.trim()) {
47
+ throw new Error(
48
+ `RIVET_PORT env var must be an integer between 1 and 65535; got "${raw}"`
49
+ );
50
+ }
51
+ return parsed;
52
+ }
26
53
  var getLogLevel = () => _nullishCoalesce(getEnvUniversal("RIVET_LOG_LEVEL"), () => ( getEnvUniversal("LOG_LEVEL")));
27
54
  var getLogTarget = () => getEnvUniversal("RIVET_LOG_TARGET") === "1";
28
55
  var getLogTimestamp = () => getEnvUniversal("RIVET_LOG_TIMESTAMP") === "1";
@@ -37,7 +64,7 @@ function assertUnreachable(x) {
37
64
  throw new Error(`Unreachable case: ${x}`);
38
65
  }
39
66
  function isCanonicalStructuredRivetError(error) {
40
- return error instanceof _chunkQAZLM4WTcjs.RivetError || typeof error === "object" && error !== null && "__type" in error && error.__type === "RivetError" && "group" in error && typeof error.group === "string" && "code" in error && typeof error.code === "string" && "message" in error && typeof error.message === "string";
67
+ return error instanceof _chunk4FC7TVS6cjs.RivetError || typeof error === "object" && error !== null && "__type" in error && error.__type === "RivetError" && "group" in error && typeof error.group === "string" && "code" in error && typeof error.code === "string" && "message" in error && typeof error.message === "string";
41
68
  }
42
69
  function deconstructError(error, exposeInternalError = false) {
43
70
  let statusCode;
@@ -55,7 +82,7 @@ function deconstructError(error, exposeInternalError = false) {
55
82
  message = error.message;
56
83
  metadata = error.metadata;
57
84
  actor = error.actor;
58
- } else if (_chunkQAZLM4WTcjs.RivetError.isActorError(error) && error.public) {
85
+ } else if (_chunk4FC7TVS6cjs.RivetError.isActorError(error) && error.public) {
59
86
  statusCode = "statusCode" in error && error.statusCode ? error.statusCode : 400;
60
87
  public_ = true;
61
88
  group = error.group;
@@ -64,7 +91,7 @@ function deconstructError(error, exposeInternalError = false) {
64
91
  metadata = error.metadata;
65
92
  actor = error.actor;
66
93
  } else if (exposeInternalError) {
67
- if (_chunkQAZLM4WTcjs.RivetError.isActorError(error)) {
94
+ if (_chunk4FC7TVS6cjs.RivetError.isActorError(error)) {
68
95
  statusCode = 500;
69
96
  public_ = false;
70
97
  group = error.group;
@@ -76,20 +103,20 @@ function deconstructError(error, exposeInternalError = false) {
76
103
  statusCode = 500;
77
104
  public_ = false;
78
105
  group = "rivetkit";
79
- code = _chunkQAZLM4WTcjs.INTERNAL_ERROR_CODE;
106
+ code = _chunk4FC7TVS6cjs.INTERNAL_ERROR_CODE;
80
107
  message = getErrorMessage(error);
81
108
  }
82
109
  } else {
83
110
  statusCode = 500;
84
111
  public_ = false;
85
112
  group = "rivetkit";
86
- code = _chunkQAZLM4WTcjs.INTERNAL_ERROR_CODE;
87
- message = _chunkQAZLM4WTcjs.INTERNAL_ERROR_DESCRIPTION;
88
- if (_chunkQAZLM4WTcjs.RivetError.isActorError(error)) {
113
+ code = _chunk4FC7TVS6cjs.INTERNAL_ERROR_CODE;
114
+ message = _chunk4FC7TVS6cjs.INTERNAL_ERROR_DESCRIPTION;
115
+ if (_chunk4FC7TVS6cjs.RivetError.isActorError(error)) {
89
116
  actor = error.actor;
90
117
  }
91
118
  metadata = {
92
- //url: `https://hub.rivet.dev/projects/${actorMetadata.project.slug}/environments/${actorMetadata.environment.slug}/actors?actorId=${actorMetadata.actor.id}`,
119
+ //url: `https://dashboard.rivet.dev/projects/${actorMetadata.project.slug}/environments/${actorMetadata.environment.slug}/actors?actorId=${actorMetadata.actor.id}`,
93
120
  };
94
121
  }
95
122
  return {
@@ -144,7 +171,7 @@ function noopNext() {
144
171
  // package.json
145
172
  var package_default = {
146
173
  name: "rivetkit",
147
- version: "2.3.0-rc.9",
174
+ version: "2.3.1",
148
175
  description: "Lightweight libraries for building stateful actors on edge platforms",
149
176
  license: "Apache-2.0",
150
177
  keywords: [
@@ -216,6 +243,16 @@ var package_default = {
216
243
  default: "./dist/tsup/db/drizzle.cjs"
217
244
  }
218
245
  },
246
+ "./dynamic": {
247
+ import: {
248
+ types: "./dist/tsup/dynamic/mod.d.ts",
249
+ default: "./dist/tsup/dynamic/mod.js"
250
+ },
251
+ require: {
252
+ types: "./dist/tsup/dynamic/mod.d.cts",
253
+ default: "./dist/tsup/dynamic/mod.cjs"
254
+ }
255
+ },
219
256
  "./client": {
220
257
  import: {
221
258
  browser: {
@@ -260,6 +297,16 @@ var package_default = {
260
297
  default: "./dist/tsup/inspector/mod.cjs"
261
298
  }
262
299
  },
300
+ "./inspector-tab": {
301
+ import: {
302
+ types: "./dist/tsup/inspector-tab/mod.d.ts",
303
+ default: "./dist/tsup/inspector-tab/mod.js"
304
+ },
305
+ require: {
306
+ types: "./dist/tsup/inspector-tab/mod.d.cts",
307
+ default: "./dist/tsup/inspector-tab/mod.cjs"
308
+ }
309
+ },
263
310
  "./inspector/client": {
264
311
  import: {
265
312
  types: "./dist/browser/inspector/client.d.ts",
@@ -295,7 +342,7 @@ var package_default = {
295
342
  "./dist/tsup/chunk-*.cjs"
296
343
  ],
297
344
  scripts: {
298
- build: "tsup src/mod.ts src/client/mod.ts src/common/log.ts src/common/websocket.ts src/actor/errors.ts src/utils.ts src/workflow/mod.ts src/test/mod.ts src/inspector/mod.ts src/db/mod.ts src/db/drizzle.ts && tsup src/agent-os/index.ts --no-clean --out-dir dist/tsup/agent-os",
345
+ build: "tsup src/mod.ts src/client/mod.ts src/common/log.ts src/common/websocket.ts src/actor/errors.ts src/utils.ts src/workflow/mod.ts src/test/mod.ts src/inspector/mod.ts src/inspector-tab/mod.ts src/db/mod.ts src/db/drizzle.ts src/dynamic/mod.ts && tsup src/agent-os/index.ts --no-clean --out-dir dist/tsup/agent-os",
299
346
  "build:browser": "tsup --config tsup.browser.config.ts",
300
347
  "check-types": "tsc --noEmit",
301
348
  lint: "biome check . && pnpm run check:test-skips && pnpm run check:wait-for-comments",
@@ -312,13 +359,12 @@ var package_default = {
312
359
  "actor-config-schema-gen": "tsx scripts/actor-config-schema-gen.ts"
313
360
  },
314
361
  dependencies: {
315
- "@rivet-dev/agent-os-core": "^0.1.1",
316
- "@hono/node-server": "^1.18.2",
317
- "@hono/node-ws": "^1.1.1",
318
362
  "@hono/zod-openapi": "^1.1.5",
363
+ "@rivet-dev/agent-os-core": "^0.1.1",
319
364
  "@rivetkit/bare-ts": "^0.6.2",
320
365
  "@rivetkit/engine-cli": "workspace:*",
321
366
  "@rivetkit/engine-envoy-protocol": "workspace:*",
367
+ "@rivetkit/on-change": "6.0.1",
322
368
  "@rivetkit/rivetkit-napi": "workspace:*",
323
369
  "@rivetkit/rivetkit-wasm": "workspace:*",
324
370
  "@rivetkit/traces": "workspace:*",
@@ -326,7 +372,6 @@ var package_default = {
326
372
  "@rivetkit/workflow-engine": "workspace:*",
327
373
  "cbor-x": "^1.6.0",
328
374
  "drizzle-orm": "^0.44.2",
329
- "get-port": "^7.1.0",
330
375
  hono: "^4.7.0",
331
376
  invariant: "^2.2.4",
332
377
  "p-retry": "^6.2.1",
@@ -336,14 +381,17 @@ var package_default = {
336
381
  zod: "^4.1.0"
337
382
  },
338
383
  devDependencies: {
384
+ "@biomejs/biome": "^2.3",
339
385
  "@copilotkit/llmock": "^1.6.0",
386
+ "@hono/node-server": "^1.18.2",
387
+ "@hono/node-ws": "^1.1.1",
340
388
  "@rivet-dev/agent-os-common": "*",
341
389
  "@rivet-dev/agent-os-pi": "^0.1.1",
342
- "@biomejs/biome": "^2.3",
343
390
  "@standard-schema/spec": "^1.0.0",
344
391
  "@types/invariant": "^2",
345
392
  "@types/node": "^22.13.1",
346
393
  eventsource: "^4.0.0",
394
+ "get-port": "^7.1.0",
347
395
  tsup: "^8.4.0",
348
396
  tsx: "^4.19.4",
349
397
  typescript: "^5.7.3",
@@ -419,6 +467,7 @@ function configureDefaultLogger(logLevel) {
419
467
  messageKey: "msg",
420
468
  // Do not include pid/hostname in output
421
469
  base: {},
470
+ errorKey: "error",
422
471
  // Keep the numeric level so the logfmt sink can match Pino's levels.
423
472
  formatters: {
424
473
  level(_label, number) {
@@ -787,5 +836,10 @@ function detectRuntime() {
787
836
 
788
837
 
789
838
 
790
- exports.assertUnreachable = assertUnreachable; exports.deconstructError = deconstructError; exports.stringifyError = stringifyError; exports.noopNext = noopNext; exports.joinSignals = joinSignals; exports.sleep = sleep; exports.interval = interval; exports.VERSION = VERSION; exports.httpUserAgent = httpUserAgent; exports.getEnvUniversal = getEnvUniversal; exports.dbg = dbg; exports.toUint8Array = toUint8Array; exports.promiseWithResolvers = promiseWithResolvers; exports.setLongTimeout = setLongTimeout; exports.SinglePromiseQueue = SinglePromiseQueue; exports.bufferToArrayBuffer = bufferToArrayBuffer; exports.combineUrlPath = combineUrlPath; exports.arrayBuffersEqual = arrayBuffersEqual; exports.EXTRA_ERROR_LOG = EXTRA_ERROR_LOG; exports.detectRuntime = detectRuntime; exports.getRivetEngine = getRivetEngine; exports.getRivetEndpoint = getRivetEndpoint; exports.getRivetToken = getRivetToken; exports.getRivetNamespace = getRivetNamespace; exports.getRivetPool = getRivetPool; exports.getRivetTotalSlots = getRivetTotalSlots; exports.getRivetRunEngine = getRivetRunEngine; exports.getRivetRunEngineVersion = getRivetRunEngineVersion; exports.getRivetEnvoyVersion = getRivetEnvoyVersion; exports.getRivetPublicEndpoint = getRivetPublicEndpoint; exports.getRivetPublicToken = getRivetPublicToken; exports.getRivetkitRuntime = getRivetkitRuntime; exports.getLogMessage = getLogMessage; exports.getNodeEnv = getNodeEnv; exports.getNextPhase = getNextPhase; exports.isDev = isDev; exports.LogLevelSchema = LogLevelSchema; exports.getPinoLevel = getPinoLevel; exports.getIncludeTarget = getIncludeTarget; exports.configureBaseLogger = configureBaseLogger; exports.configureDefaultLogger = configureDefaultLogger; exports.getBaseLogger = getBaseLogger; exports.getLogger = getLogger;
791
- //# sourceMappingURL=chunk-Y5NSCZA2.cjs.map
839
+
840
+
841
+
842
+
843
+
844
+ exports.assertUnreachable = assertUnreachable; exports.deconstructError = deconstructError; exports.stringifyError = stringifyError; exports.noopNext = noopNext; exports.joinSignals = joinSignals; exports.sleep = sleep; exports.interval = interval; exports.VERSION = VERSION; exports.httpUserAgent = httpUserAgent; exports.getEnvUniversal = getEnvUniversal; exports.dbg = dbg; exports.toUint8Array = toUint8Array; exports.promiseWithResolvers = promiseWithResolvers; exports.setLongTimeout = setLongTimeout; exports.SinglePromiseQueue = SinglePromiseQueue; exports.bufferToArrayBuffer = bufferToArrayBuffer; exports.combineUrlPath = combineUrlPath; exports.arrayBuffersEqual = arrayBuffersEqual; exports.EXTRA_ERROR_LOG = EXTRA_ERROR_LOG; exports.detectRuntime = detectRuntime; exports.getRivetEngine = getRivetEngine; exports.getRivetEndpoint = getRivetEndpoint; exports.getRivetToken = getRivetToken; exports.getRivetNamespace = getRivetNamespace; exports.getRivetPool = getRivetPool; exports.getRivetTotalSlots = getRivetTotalSlots; exports.getRivetRunEngine = getRivetRunEngine; exports.getRivetRunEngineHost = getRivetRunEngineHost; exports.getRivetRunEnginePort = getRivetRunEnginePort; exports.getRivetRunEngineVersion = getRivetRunEngineVersion; exports.getRivetEnvoyVersion = getRivetEnvoyVersion; exports.getRivetPublicEndpoint = getRivetPublicEndpoint; exports.getRivetPublicToken = getRivetPublicToken; exports.getRivetkitRuntime = getRivetkitRuntime; exports.getRivetkitRuntimeMode = getRivetkitRuntimeMode; exports.getRivetkitPublicDir = getRivetkitPublicDir; exports.parsePortEnv = parsePortEnv; exports.getLogMessage = getLogMessage; exports.getNodeEnv = getNodeEnv; exports.getNextPhase = getNextPhase; exports.isDev = isDev; exports.LogLevelSchema = LogLevelSchema; exports.getPinoLevel = getPinoLevel; exports.getIncludeTarget = getIncludeTarget; exports.configureBaseLogger = configureBaseLogger; exports.configureDefaultLogger = configureDefaultLogger; exports.getBaseLogger = getBaseLogger; exports.getLogger = getLogger;
845
+ //# sourceMappingURL=chunk-MNHKOS6L.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-MNHKOS6L.cjs","../../src/utils/env-vars.ts","../../src/common/utils.ts","../../package.json","../../src/common/log.ts","../../src/utils.ts"],"names":["logger"],"mappings":"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","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-MNHKOS6L.cjs","sourcesContent":[null,"// This file consolidates all environment variables that affect RivetKit's behavior.\n//\n// IMPORTANT: When adding or modifying environment variables here, also update the\n// documentation at: website/src/content/docs/general/environment-variables.mdx\n\nimport { getEnvUniversal } from \"@/utils\";\n\n// Rivet configuration\nexport const getRivetEngine = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_ENGINE\");\nexport const getRivetEndpoint = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_ENDPOINT\");\nexport const getRivetToken = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_TOKEN\");\nexport const getRivetNamespace = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_NAMESPACE\");\nexport const getRivetPool = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_POOL\");\nexport const getRivetTotalSlots = (): number | undefined => {\n\tconst value = getEnvUniversal(\"RIVET_TOTAL_SLOTS\");\n\treturn value !== undefined ? parseInt(value, 10) : undefined;\n};\nexport const getRivetRunEngine = (): boolean =>\n\tgetEnvUniversal(\"RIVET_RUN_ENGINE\") === \"1\";\nexport const getRivetRunEngineHost = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_RUN_ENGINE_HOST\");\nexport const getRivetRunEnginePort = (): number | undefined => {\n\tconst value = getEnvUniversal(\"RIVET_RUN_ENGINE_PORT\");\n\treturn value !== undefined ? parseInt(value, 10) : undefined;\n};\nexport const getRivetRunEngineVersion = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_RUN_ENGINE_VERSION\");\nexport const getRivetEnvoyKind = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_ENVOY_KIND\");\nexport const getRivetEnvoyVersion = (): number | undefined => {\n\tconst value = getEnvUniversal(\"RIVET_ENVOY_VERSION\");\n\treturn value !== undefined ? parseInt(value, 10) : undefined;\n};\nexport const getRivetPublicEndpoint = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_PUBLIC_ENDPOINT\");\nexport const getRivetPublicToken = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_PUBLIC_TOKEN\");\n// There is no RIVET_PUBLIC_NAMESPACE because the frontend and backend cannot\n// use different namespaces\n\n// RivetKit configuration\nexport const getRivetkitInspectorDisable = (): boolean =>\n\tgetEnvUniversal(\"RIVET_INSPECTOR_DISABLE\") === \"1\";\nexport const getRivetkitStoragePath = (): string | undefined =>\n\tgetEnvUniversal(\"RIVETKIT_STORAGE_PATH\");\nexport const getRivetkitRuntime = (): string | undefined =>\n\tgetEnvUniversal(\"RIVETKIT_RUNTIME\");\nexport type RuntimeMode = \"envoy\" | \"serverless\";\n\nexport const getRivetkitRuntimeMode = (): RuntimeMode => {\n\tconst value = getEnvUniversal(\"RIVETKIT_RUNTIME_MODE\");\n\tif (value === undefined) return \"envoy\";\n\tif (value === \"envoy\" || value === \"serverless\") return value;\n\tthrow new Error(\n\t\t`RIVETKIT_RUNTIME_MODE env var must be \"envoy\" or \"serverless\"; got \"${value}\"`,\n\t);\n};\n\nexport const getRivetkitPublicDir = (): string | undefined => {\n\tconst value = getEnvUniversal(\"RIVETKIT_PUBLIC_DIR\");\n\treturn value === undefined || value === \"\" ? undefined : value;\n};\n\nexport function parsePortEnv(raw: string | undefined): number | undefined {\n\tif (raw === undefined || raw === \"\") return undefined;\n\tconst parsed = Number.parseInt(raw, 10);\n\tif (\n\t\t!Number.isFinite(parsed) ||\n\t\tparsed < 1 ||\n\t\tparsed > 65535 ||\n\t\tString(parsed) !== raw.trim()\n\t) {\n\t\tthrow new Error(\n\t\t\t`RIVET_PORT env var must be an integer between 1 and 65535; got \"${raw}\"`,\n\t\t);\n\t}\n\treturn parsed;\n}\n\n// Logging configuration\n// DEPRECATED: LOG_LEVEL will be removed in a future version\nexport const getLogLevel = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_LOG_LEVEL\") ?? getEnvUniversal(\"LOG_LEVEL\");\nexport const getLogTarget = (): boolean =>\n\tgetEnvUniversal(\"RIVET_LOG_TARGET\") === \"1\";\nexport const getLogTimestamp = (): boolean =>\n\tgetEnvUniversal(\"RIVET_LOG_TIMESTAMP\") === \"1\";\nexport const getLogMessage = (): boolean =>\n\tgetEnvUniversal(\"RIVET_LOG_MESSAGE\") === \"1\";\nexport const getLogErrorStack = (): boolean =>\n\tgetEnvUniversal(\"RIVET_LOG_ERROR_STACK\") === \"1\";\nexport const getLogHeaders = (): boolean =>\n\tgetEnvUniversal(\"RIVET_LOG_HEADERS\") === \"1\";\n\n// Environment configuration\nexport const getNodeEnv = (): string | undefined => getEnvUniversal(\"NODE_ENV\");\nexport const getNextPhase = (): string | undefined =>\n\tgetEnvUniversal(\"NEXT_PHASE\");\nexport const isDev = (): boolean => getNodeEnv() !== \"production\";\n\n// Experimental\n/**\n * Enables experimental OTel tracing for Rivet Actors.\n *\n * When disabled, actors use an in-memory no-op traces implementation.\n */\nexport const getRivetExperimentalOtel = (): boolean =>\n\tgetEnvUniversal(\"RIVET_EXPERIMENTAL_OTEL\") === \"1\";\n","import type { Next } from \"hono\";\nimport type { ContentfulStatusCode } from \"hono/utils/http-status\";\nimport * as errors from \"@/actor/errors\";\nimport { getLogErrorStack } from \"@/utils/env-vars\";\n\nexport function assertUnreachable(x: never): never {\n\tthrow new Error(`Unreachable case: ${x}`);\n}\n\n/**\n * Safely stringifies an object, ensuring that the stringified object is under a certain size.\n * @param obj any object to stringify\n * @param maxSize maximum size of the stringified object in bytes\n * @returns stringified object\n */\nexport function safeStringify(obj: unknown, maxSize: number) {\n\tlet size = 0;\n\n\tfunction replacer(key: string, value: unknown) {\n\t\tif (value === null || value === undefined) return value;\n\t\tconst valueSize =\n\t\t\ttypeof value === \"string\"\n\t\t\t\t? value.length\n\t\t\t\t: JSON.stringify(value).length;\n\t\tsize += key.length + valueSize;\n\n\t\tif (size > maxSize) {\n\t\t\tthrow new Error(\n\t\t\t\t`JSON object exceeds size limit of ${maxSize} bytes.`,\n\t\t\t);\n\t\t}\n\n\t\treturn value;\n\t}\n\n\treturn JSON.stringify(obj, replacer);\n}\n\nexport interface DeconstructedError {\n\t__type: \"ActorError\";\n\tstatusCode: ContentfulStatusCode;\n\tpublic: boolean;\n\tgroup: string;\n\tcode: string;\n\tmessage: string;\n\tmetadata?: unknown;\n\tactor?: errors.ActorSpecifier;\n}\n\nfunction isCanonicalStructuredRivetError(\n\terror: unknown,\n): error is errors.RivetErrorLike {\n\treturn (\n\t\terror instanceof errors.RivetError ||\n\t\t(typeof error === \"object\" &&\n\t\t\terror !== null &&\n\t\t\t\"__type\" in error &&\n\t\t\terror.__type === \"RivetError\" &&\n\t\t\t\"group\" in error &&\n\t\t\ttypeof error.group === \"string\" &&\n\t\t\t\"code\" in error &&\n\t\t\ttypeof error.code === \"string\" &&\n\t\t\t\"message\" in error &&\n\t\t\ttypeof error.message === \"string\")\n\t);\n}\n\n/**\n * Deconstructs errors into response fields. Bridge callback errors that cross\n * into rivetkit-core are sanitized there; this only classifies JS-local errors.\n */\nexport function deconstructError(\n\terror: unknown,\n\texposeInternalError = false,\n): DeconstructedError {\n\t// Build response error information. Only return errors if flagged as public in order to prevent leaking internal behavior.\n\tlet statusCode: ContentfulStatusCode;\n\tlet public_: boolean;\n\tlet group: string;\n\tlet code: string;\n\tlet message: string;\n\tlet metadata: unknown;\n\tlet actor: errors.ActorSpecifier | undefined;\n\t// Structured errors from core or from pre-built `RivetError` instances are canonical.\n\t// Only unstructured errors go through the classifier below.\n\tif (isCanonicalStructuredRivetError(error)) {\n\t\tstatusCode = (\n\t\t\ttypeof error.statusCode === \"number\"\n\t\t\t\t? error.statusCode\n\t\t\t\t: error.public\n\t\t\t\t\t? 400\n\t\t\t\t\t: 500\n\t\t) as ContentfulStatusCode;\n\t\tpublic_ = error.public ?? false;\n\t\tgroup = error.group;\n\t\tcode = error.code;\n\t\tmessage = error.message;\n\t\tmetadata = error.metadata;\n\t\tactor = error.actor;\n\t} else if (errors.ActorError.isActorError(error) && error.public) {\n\t\t// Check if error has statusCode (could be ActorError instance or DeconstructedError)\n\t\tstatusCode = (\n\t\t\t\"statusCode\" in error && error.statusCode ? error.statusCode : 400\n\t\t) as ContentfulStatusCode;\n\t\tpublic_ = true;\n\t\tgroup = error.group;\n\t\tcode = error.code;\n\t\tmessage = getErrorMessage(error);\n\t\tmetadata = error.metadata;\n\t\tactor = error.actor;\n\t} else if (exposeInternalError) {\n\t\tif (errors.ActorError.isActorError(error)) {\n\t\t\tstatusCode = 500;\n\t\t\tpublic_ = false;\n\t\t\tgroup = error.group;\n\t\t\tcode = error.code;\n\t\t\tmessage = getErrorMessage(error);\n\t\t\tmetadata = error.metadata;\n\t\t\tactor = error.actor;\n\t\t} else {\n\t\t\tstatusCode = 500;\n\t\t\tpublic_ = false;\n\t\t\tgroup = \"rivetkit\";\n\t\t\tcode = errors.INTERNAL_ERROR_CODE;\n\t\t\tmessage = getErrorMessage(error);\n\t\t}\n\t} else {\n\t\tstatusCode = 500;\n\t\tpublic_ = false;\n\t\tgroup = \"rivetkit\";\n\t\tcode = errors.INTERNAL_ERROR_CODE;\n\t\tmessage = errors.INTERNAL_ERROR_DESCRIPTION;\n\t\tif (errors.ActorError.isActorError(error)) {\n\t\t\tactor = error.actor;\n\t\t}\n\t\tmetadata = {\n\t\t\t//url: `https://dashboard.rivet.dev/projects/${actorMetadata.project.slug}/environments/${actorMetadata.environment.slug}/actors?actorId=${actorMetadata.actor.id}`,\n\t\t} satisfies errors.InternalErrorMetadata;\n\t}\n\n\treturn {\n\t\t__type: \"ActorError\",\n\t\tstatusCode,\n\t\tpublic: public_,\n\t\tgroup,\n\t\tcode,\n\t\tmessage,\n\t\tmetadata,\n\t\tactor,\n\t};\n}\n\nexport function stringifyError(error: unknown): string {\n\tif (error instanceof Error) {\n\t\tif (typeof process !== \"undefined\" && getLogErrorStack()) {\n\t\t\tlet stack: string | undefined;\n\t\t\ttry {\n\t\t\t\tstack = error.stack;\n\t\t\t} catch {\n\t\t\t\tstack = undefined;\n\t\t\t}\n\t\t\treturn `${error.name}: ${error.message}${stack ? `\\n${stack}` : \"\"}`;\n\t\t} else {\n\t\t\treturn `${error.name}: ${error.message}`;\n\t\t}\n\t} else if (typeof error === \"string\") {\n\t\treturn error;\n\t} else if (typeof error === \"object\" && error !== null) {\n\t\ttry {\n\t\t\treturn `${JSON.stringify(error)}`;\n\t\t} catch {\n\t\t\treturn \"[cannot stringify error]\";\n\t\t}\n\t} else {\n\t\treturn `Unknown error: ${getErrorMessage(error)}`;\n\t}\n}\n\nfunction getErrorMessage(err: unknown): string {\n\tif (\n\t\terr &&\n\t\ttypeof err === \"object\" &&\n\t\t\"message\" in err &&\n\t\ttypeof err.message === \"string\"\n\t) {\n\t\treturn err.message;\n\t} else {\n\t\treturn String(err);\n\t}\n}\n\n/** Generates a `Next` handler to pass to middleware in order to be able to call arbitrary middleware. */\nexport function noopNext(): Next {\n\treturn async () => {};\n}\n","{\n\t\"name\": \"rivetkit\",\n\t\"version\": \"2.3.1\",\n\t\"description\": \"Lightweight libraries for building stateful actors on edge platforms\",\n\t\"license\": \"Apache-2.0\",\n\t\"keywords\": [\n\t\t\"rivetkit\",\n\t\t\"stateful\",\n\t\t\"serverless\",\n\t\t\"actors\",\n\t\t\"agents\",\n\t\t\"realtime\",\n\t\t\"websocket\",\n\t\t\"actors\",\n\t\t\"framework\"\n\t],\n\t\"files\": [\n\t\t\"dist\",\n\t\t\"schemas\",\n\t\t\"src\",\n\t\t\"package.json\"\n\t],\n\t\"type\": \"module\",\n\t\"exports\": {\n\t\t\".\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./workflow\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/workflow/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/workflow/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/workflow/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/workflow/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./test\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/test/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/test/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/test/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/test/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./db\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/db/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/db/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/db/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/db/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./db/drizzle\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/db/drizzle.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/db/drizzle.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/db/drizzle.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/db/drizzle.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./dynamic\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/dynamic/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/dynamic/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/dynamic/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/dynamic/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./client\": {\n\t\t\t\"import\": {\n\t\t\t\t\"browser\": {\n\t\t\t\t\t\"types\": \"./dist/browser/client.d.ts\",\n\t\t\t\t\t\"default\": \"./dist/browser/client.js\"\n\t\t\t\t},\n\t\t\t\t\"types\": \"./dist/tsup/client/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/client/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/client/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/client/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./log\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/common/log.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/common/log.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/common/log.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/common/log.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./errors\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/actor/errors.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/actor/errors.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/actor/errors.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/actor/errors.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./inspector\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/inspector/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/inspector/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/inspector/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/inspector/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./inspector-tab\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/inspector-tab/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/inspector-tab/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/inspector-tab/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/inspector-tab/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./inspector/client\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/browser/inspector/client.d.ts\",\n\t\t\t\t\"default\": \"./dist/browser/inspector/client.js\"\n\t\t\t}\n\t\t},\n\t\t\"./utils\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/utils.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/utils.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/utils.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/utils.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./agent-os\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/agent-os/index.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/agent-os/index.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/agent-os/index.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/agent-os/index.cjs\"\n\t\t\t}\n\t\t}\n\t},\n\t\"engines\": {\n\t\t\"node\": \">=22.0.0\"\n\t},\n\t\"sideEffects\": [\n\t\t\"./dist/tsup/chunk-*.js\",\n\t\t\"./dist/tsup/chunk-*.cjs\"\n\t],\n\t\"scripts\": {\n\t\t\"build\": \"tsup src/mod.ts src/client/mod.ts src/common/log.ts src/common/websocket.ts src/actor/errors.ts src/utils.ts src/workflow/mod.ts src/test/mod.ts src/inspector/mod.ts src/inspector-tab/mod.ts src/db/mod.ts src/db/drizzle.ts src/dynamic/mod.ts && tsup src/agent-os/index.ts --no-clean --out-dir dist/tsup/agent-os\",\n\t\t\"build:browser\": \"tsup --config tsup.browser.config.ts\",\n\t\t\"check-types\": \"tsc --noEmit\",\n\t\t\"lint\": \"biome check . && pnpm run check:test-skips && pnpm run check:wait-for-comments\",\n\t\t\"lint:fix\": \"biome check --write .\",\n\t\t\"check:test-skips\": \"tsx scripts/check-annotated-skips.ts\",\n\t\t\"check:wait-for-comments\": \"tsx scripts/check-wait-for-comments.ts\",\n\t\t\"format\": \"biome format .\",\n\t\t\"format:write\": \"biome format --write .\",\n\t\t\"test\": \"vitest run\",\n\t\t\"test:platforms\": \"pnpm run build && RIVETKIT_INCLUDE_PLATFORM_TESTS=1 vitest run tests/platforms --passWithNoTests\",\n\t\t\"test:watch\": \"vitest\",\n\t\t\"dump-asyncapi\": \"tsx scripts/dump-asyncapi.ts\",\n\t\t\"registry-config-schema-gen\": \"tsx scripts/registry-config-schema-gen.ts\",\n\t\t\"actor-config-schema-gen\": \"tsx scripts/actor-config-schema-gen.ts\"\n\t},\n\t\"dependencies\": {\n\t\t\"@hono/zod-openapi\": \"^1.1.5\",\n\t\t\"@rivet-dev/agent-os-core\": \"^0.1.1\",\n\t\t\"@rivetkit/bare-ts\": \"^0.6.2\",\n\t\t\"@rivetkit/engine-cli\": \"workspace:*\",\n\t\t\"@rivetkit/engine-envoy-protocol\": \"workspace:*\",\n\t\t\"@rivetkit/on-change\": \"6.0.1\",\n\t\t\"@rivetkit/rivetkit-napi\": \"workspace:*\",\n\t\t\"@rivetkit/rivetkit-wasm\": \"workspace:*\",\n\t\t\"@rivetkit/traces\": \"workspace:*\",\n\t\t\"@rivetkit/virtual-websocket\": \"workspace:*\",\n\t\t\"@rivetkit/workflow-engine\": \"workspace:*\",\n\t\t\"cbor-x\": \"^1.6.0\",\n\t\t\"drizzle-orm\": \"^0.44.2\",\n\t\t\"hono\": \"^4.7.0\",\n\t\t\"invariant\": \"^2.2.4\",\n\t\t\"p-retry\": \"^6.2.1\",\n\t\t\"pino\": \"^9.5.0\",\n\t\t\"uuid\": \"^12.0.0\",\n\t\t\"vbare\": \"^0.0.4\",\n\t\t\"zod\": \"^4.1.0\"\n\t},\n\t\"devDependencies\": {\n\t\t\"@biomejs/biome\": \"^2.3\",\n\t\t\"@copilotkit/llmock\": \"^1.6.0\",\n\t\t\"@hono/node-server\": \"^1.18.2\",\n\t\t\"@hono/node-ws\": \"^1.1.1\",\n\t\t\"@rivet-dev/agent-os-common\": \"*\",\n\t\t\"@rivet-dev/agent-os-pi\": \"^0.1.1\",\n\t\t\"@standard-schema/spec\": \"^1.0.0\",\n\t\t\"@types/invariant\": \"^2\",\n\t\t\"@types/node\": \"^22.13.1\",\n\t\t\"eventsource\": \"^4.0.0\",\n\t\t\"get-port\": \"^7.1.0\",\n\t\t\"tsup\": \"^8.4.0\",\n\t\t\"tsx\": \"^4.19.4\",\n\t\t\"typescript\": \"^5.7.3\",\n\t\t\"vite-tsconfig-paths\": \"^5.1.4\",\n\t\t\"vitest\": \"^3.1.1\",\n\t\t\"ws\": \"^8.18.1\"\n\t},\n\t\"peerDependencies\": {\n\t\t\"drizzle-kit\": \"^0.31.2\",\n\t\t\"eventsource\": \"^4.0.0\",\n\t\t\"ws\": \"^8.0.0\"\n\t},\n\t\"peerDependenciesMeta\": {\n\t\t\"drizzle-kit\": {\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"eventsource\": {\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"ws\": {\n\t\t\t\"optional\": true\n\t\t}\n\t},\n\t\"stableVersion\": \"0.8.0\"\n}\n","import {\n\ttype DestinationStream,\n\ttype LevelWithSilent,\n\ttype Logger,\n\tpino,\n\tstdTimeFunctions,\n} from \"pino\";\nimport { z } from \"zod/v4\";\nimport { getLogLevel, getLogTarget, getLogTimestamp } from \"@/utils/env-vars\";\n\nexport type { Logger } from \"pino\";\n\nlet baseLogger: Logger | undefined;\nlet configuredLogLevel: LogLevel | undefined;\n\n/** Cache of child loggers by logger name. */\nconst loggerCache = new Map<string, Logger>();\n\nexport const LogLevelSchema = z.enum([\n\t\"trace\",\n\t\"debug\",\n\t\"info\",\n\t\"warn\",\n\t\"error\",\n\t\"fatal\",\n\t\"silent\",\n]);\n\nexport type LogLevel = z.infer<typeof LogLevelSchema>;\n\nexport function getPinoLevel(logLevel?: LogLevel): LevelWithSilent {\n\t// Priority: provided > configured > env > default\n\tif (logLevel) {\n\t\treturn logLevel;\n\t}\n\n\tif (configuredLogLevel) {\n\t\treturn configuredLogLevel;\n\t}\n\n\tconst raw = (getLogLevel() || \"warn\").toString().toLowerCase();\n\n\tconst parsed = LogLevelSchema.safeParse(raw);\n\tif (parsed.success) {\n\t\treturn parsed.data;\n\t}\n\n\t// Default to info if invalid\n\treturn \"info\";\n}\n\nexport function getIncludeTarget(): boolean {\n\treturn getLogTarget();\n}\n\n/**\n * Configure a custom base logger.\n */\nexport function configureBaseLogger(logger: Logger): void {\n\tbaseLogger = logger;\n\tloggerCache.clear();\n}\n\n/**\n * Configure the default logger with optional log level.\n */\nexport function configureDefaultLogger(logLevel?: LogLevel) {\n\t// Store the configured log level\n\tif (logLevel) {\n\t\tconfiguredLogLevel = logLevel;\n\t}\n\n\tbaseLogger = pino(\n\t\t{\n\t\t\tlevel: getPinoLevel(logLevel),\n\t\t\tmessageKey: \"msg\",\n\t\t\t// Do not include pid/hostname in output\n\t\t\tbase: {},\n\t\t\terrorKey: \"error\",\n\t\t\t// Keep the numeric level so the logfmt sink can match Pino's levels.\n\t\t\tformatters: {\n\t\t\t\tlevel(_label: string, number: number) {\n\t\t\t\t\treturn { level: number };\n\t\t\t\t},\n\t\t\t},\n\t\t\ttimestamp: getLogTimestamp() ? stdTimeFunctions.epochTime : false,\n\t\t},\n\t\tcreateLogfmtDestination(),\n\t);\n\n\tloggerCache.clear();\n}\n\n/**\n * Get or initialize the base logger.\n */\nexport function getBaseLogger(): Logger {\n\tif (!baseLogger) {\n\t\tconfigureDefaultLogger();\n\t}\n\treturn baseLogger!;\n}\n\n/**\n * Returns a child logger with `target` bound for the given name.\n */\nexport function getLogger(name = \"default\"): Logger {\n\t// Check cache first\n\tconst cached = loggerCache.get(name);\n\tif (cached) {\n\t\treturn cached;\n\t}\n\n\t// Create\n\tconst base = getBaseLogger();\n\n\t// Add target to log if enabled\n\tconst child = getIncludeTarget() ? base.child({ target: name }) : base;\n\n\t// Cache the logger\n\tloggerCache.set(name, child);\n\n\treturn child;\n}\n\nconst PINO_LEVEL_LABELS: Record<number, string> = {\n\t10: \"trace\",\n\t20: \"debug\",\n\t30: \"info\",\n\t40: \"warn\",\n\t50: \"error\",\n\t60: \"fatal\",\n};\n\nfunction createLogfmtDestination(): DestinationStream {\n\treturn {\n\t\twrite(msg: string): void {\n\t\t\tconst line = formatLogfmtLine(msg);\n\t\t\tif (typeof process !== \"undefined\" && process.stdout?.write) {\n\t\t\t\tprocess.stdout.write(`${line}\\n`);\n\t\t\t} else {\n\t\t\t\tconsole.log(line);\n\t\t\t}\n\t\t},\n\t};\n}\n\nfunction formatLogfmtLine(raw: string): string {\n\tlet data: Record<string, unknown>;\n\ttry {\n\t\tdata = JSON.parse(raw);\n\t} catch {\n\t\treturn raw.trimEnd();\n\t}\n\n\tconst parts: string[] = [];\n\tappendLogfmtEntry(parts, \"level\", formatPinoLevel(data.level));\n\n\tif (data.time !== undefined) {\n\t\tappendLogfmtEntry(parts, \"ts\", data.time);\n\t}\n\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tif (key === \"level\" || key === \"time\") {\n\t\t\tcontinue;\n\t\t}\n\t\tappendLogfmtEntry(parts, key, value);\n\t}\n\n\treturn parts.join(\" \");\n}\n\nfunction formatPinoLevel(level: unknown): string {\n\tif (typeof level === \"number\") {\n\t\treturn PINO_LEVEL_LABELS[level] ?? level.toString();\n\t}\n\n\tif (typeof level === \"string\") {\n\t\treturn level.toLowerCase();\n\t}\n\n\treturn \"info\";\n}\n\nfunction appendLogfmtEntry(parts: string[], key: string, value: unknown): void {\n\tconst safeKey = key.replace(/[\\s=\"]/g, \"\");\n\tif (safeKey.length === 0) {\n\t\treturn;\n\t}\n\n\tparts.push(`${safeKey}=${formatLogfmtValue(value)}`);\n}\n\nfunction formatLogfmtValue(value: unknown): string {\n\tif (typeof value === \"number\" || typeof value === \"boolean\") {\n\t\treturn String(value);\n\t}\n\n\tif (value === null || value === undefined) {\n\t\treturn \"null\";\n\t}\n\n\tif (typeof value === \"string\") {\n\t\treturn quoteLogfmtString(value);\n\t}\n\n\treturn quoteLogfmtString(JSON.stringify(value));\n}\n\nfunction quoteLogfmtString(value: string): string {\n\tif (!/[\\s=\"]/.test(value)) {\n\t\treturn value;\n\t}\n\n\treturn `\"${value.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\")}\"`;\n}\n","import type { Context as HonoContext, Handler as HonoHandler } from \"hono\";\nimport { stringifyError } from \"@/common/utils\";\nimport pkgJson from \"../package.json\" with { type: \"json\" };\nimport { getLogger } from \"./common/log\";\nimport { assertUnreachable } from \"./common/utils\";\n\n/** @experimental */\nexport { stringifyError };\n\n/** @experimental */\nexport { assertUnreachable };\n\n/**\n * Joins multiple abort signals into one.\n *\n * The returned signal aborts when the first input signal aborts.\n * Uses `AbortSignal.any(...)` when available, with a runtime fallback.\n *\n * @experimental\n */\nexport function joinSignals(\n\t...signals: Array<AbortSignal | undefined | null>\n): AbortSignal {\n\tconst validSignals = signals.filter(\n\t\t(signal): signal is AbortSignal => signal != null,\n\t);\n\n\tif (validSignals.length === 0) {\n\t\treturn new AbortController().signal;\n\t}\n\n\tif (validSignals.length === 1) {\n\t\treturn validSignals[0];\n\t}\n\n\tconst signalAny = (\n\t\tAbortSignal as typeof AbortSignal & {\n\t\t\tany?: (signals: AbortSignal[]) => AbortSignal;\n\t\t}\n\t).any;\n\tif (typeof signalAny === \"function\") {\n\t\treturn signalAny(validSignals);\n\t}\n\n\tconst controller = new AbortController();\n\tconst cleanups: Array<() => void> = [];\n\n\tconst abortWithSignal = (signal: AbortSignal) => {\n\t\tif (controller.signal.aborted) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const cleanup of cleanups) {\n\t\t\tcleanup();\n\t\t}\n\n\t\tconst reason = (signal as AbortSignal & { reason?: unknown }).reason;\n\t\tcontroller.abort(reason);\n\t};\n\n\tfor (const signal of validSignals) {\n\t\tif (signal.aborted) {\n\t\t\tabortWithSignal(signal);\n\t\t\tbreak;\n\t\t}\n\n\t\tconst onAbort = () => abortWithSignal(signal);\n\t\tsignal.addEventListener(\"abort\", onAbort, { once: true });\n\t\tcleanups.push(() => signal.removeEventListener(\"abort\", onAbort));\n\t}\n\n\treturn controller.signal;\n}\n\n/**\n * Returns a promise that resolves after the given number of milliseconds.\n *\n * @experimental\n */\nexport function sleep(ms: number): Promise<void> {\n\treturn new Promise<void>((resolve) => setTimeout(resolve, ms));\n}\n\n/**\n * Creates a fixed-rate interval tick function that can be awaited in a loop.\n *\n * @example\n * const tick = interval(100);\n * while (!c.aborted) {\n * await tick();\n * if (c.aborted) break;\n * // ... game logic\n * }\n *\n * @experimental\n */\nexport function interval(ms: number): () => Promise<void> {\n\treturn () => sleep(ms);\n}\n\nexport const VERSION = pkgJson.version;\n\nlet _userAgent: string | undefined;\n\nfunction logger() {\n\treturn getLogger(\"utils\");\n}\n\n/**\n * Builds the HTTP user agent used by this library.\n *\n * @experimental\n */\nexport function httpUserAgent(): string {\n\t// Return cached value if already initialized\n\tif (_userAgent !== undefined) {\n\t\treturn _userAgent;\n\t}\n\n\t// Library\n\tlet userAgent = `RivetKit/${VERSION}`;\n\n\t// Navigator\n\tconst navigatorObj =\n\t\ttypeof navigator !== \"undefined\" ? navigator : undefined;\n\tif (navigatorObj?.userAgent) userAgent += ` ${navigatorObj.userAgent}`;\n\n\t_userAgent = userAgent;\n\n\treturn userAgent;\n}\n\nexport type UpgradeWebSocket = (\n\tcreateEvents: (c: HonoContext) => any,\n) => HonoHandler;\n\nexport type GetUpgradeWebSocket = () => UpgradeWebSocket;\n\n/**\n * Reads an environment variable from Deno or Node runtimes.\n *\n * @experimental\n */\nexport function getEnvUniversal(key: string): string | undefined {\n\tif (typeof Deno !== \"undefined\") {\n\t\treturn Deno.env.get(key);\n\t} else if (typeof process !== \"undefined\") {\n\t\t// Do this after Deno since `process` is sometimes polyfilled\n\t\treturn process.env[key];\n\t}\n}\n\n/**\n * Traces a debug value and returns it.\n *\n * @experimental\n */\nexport function dbg<T>(x: T): T {\n\tconsole.trace(`=== DEBUG ===\\n${x}`);\n\treturn x;\n}\n\n/**\n * Converts various ArrayBuffer-like types to Uint8Array.\n * Handles ArrayBuffer, ArrayBufferView (including typed arrays), and passes through existing Uint8Array.\n *\n * @param data - The ArrayBuffer or ArrayBufferView to convert\n * @returns A Uint8Array view of the data\n *\n * @experimental\n */\nexport function toUint8Array(data: ArrayBuffer | ArrayBufferView): Uint8Array {\n\tif (data instanceof Uint8Array) {\n\t\treturn data;\n\t} else if (data instanceof ArrayBuffer) {\n\t\treturn new Uint8Array(data);\n\t} else if (ArrayBuffer.isView(data)) {\n\t\t// Handle other ArrayBufferView types (Int8Array, Uint16Array, DataView, etc.)\n\t\treturn new Uint8Array(\n\t\t\tdata.buffer.slice(\n\t\t\t\tdata.byteOffset,\n\t\t\t\tdata.byteOffset + data.byteLength,\n\t\t\t),\n\t\t);\n\t} else {\n\t\tthrow new TypeError(\"Input must be ArrayBuffer or ArrayBufferView\");\n\t}\n}\n\n// Long timeouts\n//\n// JavaScript timers use a signed 32-bit integer for delays, so values above 2^31-1 (~24.8 days)\n// are not reliable and may fire immediately or overflow.\n//\n// https://developer.mozilla.org/en-US/docs/Web/API/Window/setTimeout#maximum_delay_value\nconst TIMEOUT_MAX = 2147483647; // 2^31-1\n\nexport type LongTimeoutHandle = { abort: () => void };\n\n/**\n * Polyfill for Promise.withResolvers().\n *\n * This is specifically for Cloudflare Workers. Their implementation of Promise.withResolvers does not work correctly.\n *\n * @experimental\n */\nexport function promiseWithResolvers<T>(onReject: (reason?: any) => void): {\n\tpromise: Promise<T>;\n\tresolve: (value: T | PromiseLike<T>) => void;\n\treject: (reason?: any) => void;\n} {\n\tlet resolve!: (value: T | PromiseLike<T>) => void;\n\tlet reject!: (reason?: any) => void;\n\tconst promise = new Promise<T>((res, rej) => {\n\t\tresolve = res;\n\t\treject = rej;\n\t});\n\tpromise.catch(onReject);\n\treturn { promise, resolve, reject };\n}\n\n/**\n * Sets a timeout that supports delays larger than the JavaScript timer limit.\n *\n * @experimental\n */\nexport function setLongTimeout(\n\tlistener: () => void,\n\tafter: number,\n): LongTimeoutHandle {\n\tlet timeout: ReturnType<typeof setTimeout> | undefined;\n\n\tfunction start(remaining: number) {\n\t\tif (remaining <= TIMEOUT_MAX) {\n\t\t\ttimeout = setTimeout(listener, remaining);\n\t\t} else {\n\t\t\ttimeout = setTimeout(() => {\n\t\t\t\tstart(remaining - TIMEOUT_MAX);\n\t\t\t}, TIMEOUT_MAX);\n\t\t}\n\t}\n\n\tstart(after);\n\n\treturn {\n\t\tabort: () => {\n\t\t\tif (timeout !== undefined) clearTimeout(timeout);\n\t\t},\n\t};\n}\n\n/**\n * A tiny utility that coalesces/enqueues async operations so only the latest\n * queued task runs per cycle, while callers receive a promise that resolves\n * when the task for the cycle they joined has completed.\n */\nexport class SinglePromiseQueue {\n\t/** Next operation to execute in the queue. If attempting to enqueue another op, it will override the existing op. */\n\t#queuedOp?: () => Promise<void>;\n\n\t/** The currently running promise of #drainLoop. Do not await this, instead await `pending` to await the current cycle. */\n\trunningDrainLoop?: Promise<void>;\n\n\t/** Pending resolver fro the currently queued entry. */\n\t#pending?: ReturnType<typeof promiseWithResolvers<void>>;\n\n\t/** Queue the next operation and return a promise that resolves when it flushes. */\n\tenqueue(op: () => Promise<void>): Promise<void> {\n\t\t// Replace any previously queued operation with the latest one\n\t\tthis.#queuedOp = op;\n\n\t\t// Ensure a shared resolver exists for all callers in this cycle\n\t\tif (!this.#pending) {\n\t\t\tthis.#pending = promiseWithResolvers<void>((reason) =>\n\t\t\t\tlogger().warn({\n\t\t\t\t\tmsg: \"unhandled single promise queue rejection\",\n\t\t\t\t\treason,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tconst waitForThisCycle = this.#pending.promise;\n\n\t\t// Start runner if not already running\n\t\tif (!this.runningDrainLoop) {\n\t\t\tthis.runningDrainLoop = this.#drainLoop();\n\t\t}\n\n\t\treturn waitForThisCycle;\n\t}\n\n\t/** Drain queued operations sequentially until there is nothing left. */\n\tasync #drainLoop(): Promise<void> {\n\t\ttry {\n\t\t\twhile (this.#queuedOp) {\n\t\t\t\t// Capture current cycle resolver then reset for the next cycle\n\t\t\t\tconst resolver = this.#pending;\n\t\t\t\tthis.#pending = undefined;\n\n\t\t\t\t// Capture and clear the currently queued operation\n\t\t\t\tconst op = this.#queuedOp;\n\t\t\t\tthis.#queuedOp = undefined;\n\n\t\t\t\ttry {\n\t\t\t\t\tawait op();\n\t\t\t\t\t// Notify all waiters for this cycle\n\t\t\t\t\tresolver?.resolve();\n\t\t\t\t} catch (err) {\n\t\t\t\t\tlogger().error({\n\t\t\t\t\t\tmsg: \"error in SinglePromiseQueue drain loop\",\n\t\t\t\t\t\terror: stringifyError(err),\n\t\t\t\t\t});\n\t\t\t\t\t// Reject all waiters for this cycle\n\t\t\t\t\tresolver?.reject(err);\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tthis.runningDrainLoop = undefined;\n\t\t}\n\t}\n}\n\n/**\n * Converts a Buffer or Uint8Array into an ArrayBuffer view.\n *\n * @experimental\n */\nexport function bufferToArrayBuffer(buf: Buffer | Uint8Array): ArrayBuffer {\n\treturn buf.buffer.slice(\n\t\tbuf.byteOffset,\n\t\tbuf.byteOffset + buf.byteLength,\n\t) as ArrayBuffer;\n}\n\n/**\n * Properly combines a base URL endpoint with a path, preserving any base path in the endpoint.\n *\n * @example\n * combineUrlPath(\"http://localhost:8787/rivet\", \"/actors/action\")\n * // Returns: \"http://localhost:8787/rivet/actors/action\"\n *\n * @example\n * combineUrlPath(\"http://localhost:8787/rivet\", \"/actors?type=foo\", { namespace: \"test\" })\n * // Returns: \"http://localhost:8787/rivet/actors?type=foo&namespace=test\"\n *\n * @param endpoint The base URL endpoint that may contain a path component\n * @param path The path to append to the endpoint (may include query parameters)\n * @param queryParams Optional additional query parameters to append\n * @returns The properly combined URL string\n *\n * @experimental\n */\nexport function combineUrlPath(\n\tendpoint: string,\n\tpath: string,\n\tqueryParams?: Record<string, string | undefined>,\n): string {\n\tconst baseUrl = new URL(endpoint);\n\n\t// Extract path and query from the provided path\n\tconst pathParts = path.split(\"?\");\n\tconst pathOnly = pathParts[0];\n\tconst existingQuery = pathParts[1] || \"\";\n\n\t// Remove trailing slash from base path and ensure path starts with /\n\tconst basePath = baseUrl.pathname.replace(/\\/$/, \"\");\n\tconst cleanPath = pathOnly.startsWith(\"/\") ? pathOnly : `/${pathOnly}`;\n\t// Combine paths and remove any double slashes\n\tconst fullPath = (basePath + cleanPath).replace(/\\/\\//g, \"/\");\n\n\t// Build query string\n\tconst queryParts: string[] = [];\n\tif (existingQuery) {\n\t\tqueryParts.push(existingQuery);\n\t}\n\tif (queryParams) {\n\t\tfor (const [key, value] of Object.entries(queryParams)) {\n\t\t\tif (value !== undefined) {\n\t\t\t\tqueryParts.push(\n\t\t\t\t\t`${encodeURIComponent(key)}=${encodeURIComponent(value)}`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst fullQuery = queryParts.length > 0 ? `?${queryParts.join(\"&\")}` : \"\";\n\treturn `${baseUrl.protocol}//${baseUrl.host}${fullPath}${fullQuery}`;\n}\n\n/**\n * Compares two ArrayBuffer values by byte content.\n *\n * @experimental\n */\nexport function arrayBuffersEqual(\n\tbuf1: ArrayBuffer,\n\tbuf2: ArrayBuffer,\n): boolean {\n\tif (buf1.byteLength !== buf2.byteLength) return false;\n\n\tconst view1 = new Uint8Array(buf1);\n\tconst view2 = new Uint8Array(buf2);\n\n\tfor (let i = 0; i < view1.length; i++) {\n\t\tif (view1[i] !== view2[i]) return false;\n\t}\n\treturn true;\n}\n\nexport const EXTRA_ERROR_LOG = {\n\tissues: \"https://github.com/rivet-dev/rivet/issues\",\n\tsupport: \"https://rivet.dev/discord\",\n\tversion: VERSION,\n};\n\nexport type Runtime = \"deno\" | \"bun\" | \"node\";\n\n/**\n * Detects the current JavaScript runtime from the user agent.\n *\n * @experimental\n */\nexport function detectRuntime(): Runtime {\n\tconst userAgent =\n\t\ttypeof navigator !== \"undefined\" ? navigator.userAgent : \"\";\n\tif (userAgent.includes(\"Deno\")) {\n\t\treturn \"deno\";\n\t}\n\tif (userAgent.includes(\"Bun\")) {\n\t\treturn \"bun\";\n\t}\n\treturn \"node\";\n}\n\nexport type DeepReadonly<T> = {\n\treadonly [K in keyof T]: T[K] extends object ? DeepReadonly<T[K]> : T[K];\n};\n\nexport type DeepMutable<T> = {\n\t-readonly [K in keyof T]: T[K] extends object ? DeepMutable<T[K]> : T[K];\n};\n"]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  bufferToArrayBuffer,
3
3
  toUint8Array
4
- } from "./chunk-VRCIXJRN.js";
4
+ } from "./chunk-L2X3YFER.js";
5
5
 
6
6
  // src/common/bare/transport/v1.ts
7
7
  import * as bare from "@rivetkit/bare-ts";
@@ -35,7 +35,10 @@ function readWorkflowPathSegment(bc) {
35
35
  case 0:
36
36
  return { tag: "WorkflowNameIndex", val: readWorkflowNameIndex(bc) };
37
37
  case 1:
38
- return { tag: "WorkflowLoopIterationMarker", val: readWorkflowLoopIterationMarker(bc) };
38
+ return {
39
+ tag: "WorkflowLoopIterationMarker",
40
+ val: readWorkflowLoopIterationMarker(bc)
41
+ };
39
42
  default: {
40
43
  bc.offset = offset;
41
44
  throw new bare.BareError(offset, "invalid tag");
@@ -331,17 +334,29 @@ function readWorkflowEntryKind(bc) {
331
334
  case 1:
332
335
  return { tag: "WorkflowLoopEntry", val: readWorkflowLoopEntry(bc) };
333
336
  case 2:
334
- return { tag: "WorkflowSleepEntry", val: readWorkflowSleepEntry(bc) };
337
+ return {
338
+ tag: "WorkflowSleepEntry",
339
+ val: readWorkflowSleepEntry(bc)
340
+ };
335
341
  case 3:
336
- return { tag: "WorkflowMessageEntry", val: readWorkflowMessageEntry(bc) };
342
+ return {
343
+ tag: "WorkflowMessageEntry",
344
+ val: readWorkflowMessageEntry(bc)
345
+ };
337
346
  case 4:
338
- return { tag: "WorkflowRollbackCheckpointEntry", val: readWorkflowRollbackCheckpointEntry(bc) };
347
+ return {
348
+ tag: "WorkflowRollbackCheckpointEntry",
349
+ val: readWorkflowRollbackCheckpointEntry(bc)
350
+ };
339
351
  case 5:
340
352
  return { tag: "WorkflowJoinEntry", val: readWorkflowJoinEntry(bc) };
341
353
  case 6:
342
354
  return { tag: "WorkflowRaceEntry", val: readWorkflowRaceEntry(bc) };
343
355
  case 7:
344
- return { tag: "WorkflowRemovedEntry", val: readWorkflowRemovedEntry(bc) };
356
+ return {
357
+ tag: "WorkflowRemovedEntry",
358
+ val: readWorkflowRemovedEntry(bc)
359
+ };
345
360
  default: {
346
361
  bc.offset = offset;
347
362
  throw new bare.BareError(offset, "invalid tag");
@@ -531,4 +546,4 @@ export {
531
546
  encodeWorkflowHistoryTransport,
532
547
  decodeWorkflowHistoryTransport
533
548
  };
534
- //# sourceMappingURL=chunk-KJTA3ATT.js.map
549
+ //# sourceMappingURL=chunk-NERUIBOT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/common/bare/transport/v1.ts","../../src/common/inspector-transport.ts"],"sourcesContent":["// Vendored BARE codec. Keep the wire format compatible with the existing runtime.\nimport * as bare from \"@rivetkit/bare-ts\";\n\nconst config = /* @__PURE__ */ bare.Config({});\n\nexport type u32 = number;\nexport type u64 = bigint;\n\nexport type WorkflowCbor = ArrayBuffer;\n\nexport function readWorkflowCbor(bc: bare.ByteCursor): WorkflowCbor {\n\treturn bare.readData(bc);\n}\n\nexport function writeWorkflowCbor(bc: bare.ByteCursor, x: WorkflowCbor): void {\n\tbare.writeData(bc, x);\n}\n\nexport type WorkflowNameIndex = u32;\n\nexport function readWorkflowNameIndex(bc: bare.ByteCursor): WorkflowNameIndex {\n\treturn bare.readU32(bc);\n}\n\nexport function writeWorkflowNameIndex(\n\tbc: bare.ByteCursor,\n\tx: WorkflowNameIndex,\n): void {\n\tbare.writeU32(bc, x);\n}\n\nexport type WorkflowLoopIterationMarker = {\n\treadonly loop: WorkflowNameIndex;\n\treadonly iteration: u32;\n};\n\nexport function readWorkflowLoopIterationMarker(\n\tbc: bare.ByteCursor,\n): WorkflowLoopIterationMarker {\n\treturn {\n\t\tloop: readWorkflowNameIndex(bc),\n\t\titeration: bare.readU32(bc),\n\t};\n}\n\nexport function writeWorkflowLoopIterationMarker(\n\tbc: bare.ByteCursor,\n\tx: WorkflowLoopIterationMarker,\n): void {\n\twriteWorkflowNameIndex(bc, x.loop);\n\tbare.writeU32(bc, x.iteration);\n}\n\nexport type WorkflowPathSegment =\n\t| { readonly tag: \"WorkflowNameIndex\"; readonly val: WorkflowNameIndex }\n\t| {\n\t\t\treadonly tag: \"WorkflowLoopIterationMarker\";\n\t\t\treadonly val: WorkflowLoopIterationMarker;\n\t };\n\nexport function readWorkflowPathSegment(\n\tbc: bare.ByteCursor,\n): WorkflowPathSegment {\n\tconst offset = bc.offset;\n\tconst tag = bare.readU8(bc);\n\tswitch (tag) {\n\t\tcase 0:\n\t\t\treturn { tag: \"WorkflowNameIndex\", val: readWorkflowNameIndex(bc) };\n\t\tcase 1:\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowLoopIterationMarker\",\n\t\t\t\tval: readWorkflowLoopIterationMarker(bc),\n\t\t\t};\n\t\tdefault: {\n\t\t\tbc.offset = offset;\n\t\t\tthrow new bare.BareError(offset, \"invalid tag\");\n\t\t}\n\t}\n}\n\nexport function writeWorkflowPathSegment(\n\tbc: bare.ByteCursor,\n\tx: WorkflowPathSegment,\n): void {\n\tswitch (x.tag) {\n\t\tcase \"WorkflowNameIndex\": {\n\t\t\tbare.writeU8(bc, 0);\n\t\t\twriteWorkflowNameIndex(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"WorkflowLoopIterationMarker\": {\n\t\t\tbare.writeU8(bc, 1);\n\t\t\twriteWorkflowLoopIterationMarker(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nexport type WorkflowLocation = readonly WorkflowPathSegment[];\n\nexport function readWorkflowLocation(bc: bare.ByteCursor): WorkflowLocation {\n\tconst len = bare.readUintSafe(bc);\n\tif (len === 0) {\n\t\treturn [];\n\t}\n\tconst result = [readWorkflowPathSegment(bc)];\n\tfor (let i = 1; i < len; i++) {\n\t\tresult[i] = readWorkflowPathSegment(bc);\n\t}\n\treturn result;\n}\n\nexport function writeWorkflowLocation(\n\tbc: bare.ByteCursor,\n\tx: WorkflowLocation,\n): void {\n\tbare.writeUintSafe(bc, x.length);\n\tfor (let i = 0; i < x.length; i++) {\n\t\twriteWorkflowPathSegment(bc, x[i]);\n\t}\n}\n\nexport enum WorkflowEntryStatus {\n\tPENDING = \"PENDING\",\n\tRUNNING = \"RUNNING\",\n\tCOMPLETED = \"COMPLETED\",\n\tFAILED = \"FAILED\",\n\tEXHAUSTED = \"EXHAUSTED\",\n}\n\nexport function readWorkflowEntryStatus(\n\tbc: bare.ByteCursor,\n): WorkflowEntryStatus {\n\tconst offset = bc.offset;\n\tconst tag = bare.readU8(bc);\n\tswitch (tag) {\n\t\tcase 0:\n\t\t\treturn WorkflowEntryStatus.PENDING;\n\t\tcase 1:\n\t\t\treturn WorkflowEntryStatus.RUNNING;\n\t\tcase 2:\n\t\t\treturn WorkflowEntryStatus.COMPLETED;\n\t\tcase 3:\n\t\t\treturn WorkflowEntryStatus.FAILED;\n\t\tcase 4:\n\t\t\treturn WorkflowEntryStatus.EXHAUSTED;\n\t\tdefault: {\n\t\t\tbc.offset = offset;\n\t\t\tthrow new bare.BareError(offset, \"invalid tag\");\n\t\t}\n\t}\n}\n\nexport function writeWorkflowEntryStatus(\n\tbc: bare.ByteCursor,\n\tx: WorkflowEntryStatus,\n): void {\n\tswitch (x) {\n\t\tcase WorkflowEntryStatus.PENDING: {\n\t\t\tbare.writeU8(bc, 0);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowEntryStatus.RUNNING: {\n\t\t\tbare.writeU8(bc, 1);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowEntryStatus.COMPLETED: {\n\t\t\tbare.writeU8(bc, 2);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowEntryStatus.FAILED: {\n\t\t\tbare.writeU8(bc, 3);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowEntryStatus.EXHAUSTED: {\n\t\t\tbare.writeU8(bc, 4);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nexport enum WorkflowSleepState {\n\tPENDING = \"PENDING\",\n\tCOMPLETED = \"COMPLETED\",\n\tINTERRUPTED = \"INTERRUPTED\",\n}\n\nexport function readWorkflowSleepState(\n\tbc: bare.ByteCursor,\n): WorkflowSleepState {\n\tconst offset = bc.offset;\n\tconst tag = bare.readU8(bc);\n\tswitch (tag) {\n\t\tcase 0:\n\t\t\treturn WorkflowSleepState.PENDING;\n\t\tcase 1:\n\t\t\treturn WorkflowSleepState.COMPLETED;\n\t\tcase 2:\n\t\t\treturn WorkflowSleepState.INTERRUPTED;\n\t\tdefault: {\n\t\t\tbc.offset = offset;\n\t\t\tthrow new bare.BareError(offset, \"invalid tag\");\n\t\t}\n\t}\n}\n\nexport function writeWorkflowSleepState(\n\tbc: bare.ByteCursor,\n\tx: WorkflowSleepState,\n): void {\n\tswitch (x) {\n\t\tcase WorkflowSleepState.PENDING: {\n\t\t\tbare.writeU8(bc, 0);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowSleepState.COMPLETED: {\n\t\t\tbare.writeU8(bc, 1);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowSleepState.INTERRUPTED: {\n\t\t\tbare.writeU8(bc, 2);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nexport enum WorkflowBranchStatusType {\n\tPENDING = \"PENDING\",\n\tRUNNING = \"RUNNING\",\n\tCOMPLETED = \"COMPLETED\",\n\tFAILED = \"FAILED\",\n\tCANCELLED = \"CANCELLED\",\n}\n\nexport function readWorkflowBranchStatusType(\n\tbc: bare.ByteCursor,\n): WorkflowBranchStatusType {\n\tconst offset = bc.offset;\n\tconst tag = bare.readU8(bc);\n\tswitch (tag) {\n\t\tcase 0:\n\t\t\treturn WorkflowBranchStatusType.PENDING;\n\t\tcase 1:\n\t\t\treturn WorkflowBranchStatusType.RUNNING;\n\t\tcase 2:\n\t\t\treturn WorkflowBranchStatusType.COMPLETED;\n\t\tcase 3:\n\t\t\treturn WorkflowBranchStatusType.FAILED;\n\t\tcase 4:\n\t\t\treturn WorkflowBranchStatusType.CANCELLED;\n\t\tdefault: {\n\t\t\tbc.offset = offset;\n\t\t\tthrow new bare.BareError(offset, \"invalid tag\");\n\t\t}\n\t}\n}\n\nexport function writeWorkflowBranchStatusType(\n\tbc: bare.ByteCursor,\n\tx: WorkflowBranchStatusType,\n): void {\n\tswitch (x) {\n\t\tcase WorkflowBranchStatusType.PENDING: {\n\t\t\tbare.writeU8(bc, 0);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowBranchStatusType.RUNNING: {\n\t\t\tbare.writeU8(bc, 1);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowBranchStatusType.COMPLETED: {\n\t\t\tbare.writeU8(bc, 2);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowBranchStatusType.FAILED: {\n\t\t\tbare.writeU8(bc, 3);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowBranchStatusType.CANCELLED: {\n\t\t\tbare.writeU8(bc, 4);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nfunction read0(bc: bare.ByteCursor): WorkflowCbor | null {\n\treturn bare.readBool(bc) ? readWorkflowCbor(bc) : null;\n}\n\nfunction write0(bc: bare.ByteCursor, x: WorkflowCbor | null): void {\n\tbare.writeBool(bc, x !== null);\n\tif (x !== null) {\n\t\twriteWorkflowCbor(bc, x);\n\t}\n}\n\nfunction read1(bc: bare.ByteCursor): string | null {\n\treturn bare.readBool(bc) ? bare.readString(bc) : null;\n}\n\nfunction write1(bc: bare.ByteCursor, x: string | null): void {\n\tbare.writeBool(bc, x !== null);\n\tif (x !== null) {\n\t\tbare.writeString(bc, x);\n\t}\n}\n\nexport type WorkflowStepEntry = {\n\treadonly output: WorkflowCbor | null;\n\treadonly error: string | null;\n};\n\nexport function readWorkflowStepEntry(bc: bare.ByteCursor): WorkflowStepEntry {\n\treturn {\n\t\toutput: read0(bc),\n\t\terror: read1(bc),\n\t};\n}\n\nexport function writeWorkflowStepEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowStepEntry,\n): void {\n\twrite0(bc, x.output);\n\twrite1(bc, x.error);\n}\n\nexport type WorkflowLoopEntry = {\n\treadonly state: WorkflowCbor;\n\treadonly iteration: u32;\n\treadonly output: WorkflowCbor | null;\n};\n\nexport function readWorkflowLoopEntry(bc: bare.ByteCursor): WorkflowLoopEntry {\n\treturn {\n\t\tstate: readWorkflowCbor(bc),\n\t\titeration: bare.readU32(bc),\n\t\toutput: read0(bc),\n\t};\n}\n\nexport function writeWorkflowLoopEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowLoopEntry,\n): void {\n\twriteWorkflowCbor(bc, x.state);\n\tbare.writeU32(bc, x.iteration);\n\twrite0(bc, x.output);\n}\n\nexport type WorkflowSleepEntry = {\n\treadonly deadline: u64;\n\treadonly state: WorkflowSleepState;\n};\n\nexport function readWorkflowSleepEntry(\n\tbc: bare.ByteCursor,\n): WorkflowSleepEntry {\n\treturn {\n\t\tdeadline: bare.readU64(bc),\n\t\tstate: readWorkflowSleepState(bc),\n\t};\n}\n\nexport function writeWorkflowSleepEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowSleepEntry,\n): void {\n\tbare.writeU64(bc, x.deadline);\n\twriteWorkflowSleepState(bc, x.state);\n}\n\nexport type WorkflowMessageEntry = {\n\treadonly name: string;\n\treadonly messageData: WorkflowCbor;\n};\n\nexport function readWorkflowMessageEntry(\n\tbc: bare.ByteCursor,\n): WorkflowMessageEntry {\n\treturn {\n\t\tname: bare.readString(bc),\n\t\tmessageData: readWorkflowCbor(bc),\n\t};\n}\n\nexport function writeWorkflowMessageEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowMessageEntry,\n): void {\n\tbare.writeString(bc, x.name);\n\twriteWorkflowCbor(bc, x.messageData);\n}\n\nexport type WorkflowRollbackCheckpointEntry = {\n\treadonly name: string;\n};\n\nexport function readWorkflowRollbackCheckpointEntry(\n\tbc: bare.ByteCursor,\n): WorkflowRollbackCheckpointEntry {\n\treturn {\n\t\tname: bare.readString(bc),\n\t};\n}\n\nexport function writeWorkflowRollbackCheckpointEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowRollbackCheckpointEntry,\n): void {\n\tbare.writeString(bc, x.name);\n}\n\nexport type WorkflowBranchStatus = {\n\treadonly status: WorkflowBranchStatusType;\n\treadonly output: WorkflowCbor | null;\n\treadonly error: string | null;\n};\n\nexport function readWorkflowBranchStatus(\n\tbc: bare.ByteCursor,\n): WorkflowBranchStatus {\n\treturn {\n\t\tstatus: readWorkflowBranchStatusType(bc),\n\t\toutput: read0(bc),\n\t\terror: read1(bc),\n\t};\n}\n\nexport function writeWorkflowBranchStatus(\n\tbc: bare.ByteCursor,\n\tx: WorkflowBranchStatus,\n): void {\n\twriteWorkflowBranchStatusType(bc, x.status);\n\twrite0(bc, x.output);\n\twrite1(bc, x.error);\n}\n\nfunction read2(bc: bare.ByteCursor): ReadonlyMap<string, WorkflowBranchStatus> {\n\tconst len = bare.readUintSafe(bc);\n\tconst result = new Map<string, WorkflowBranchStatus>();\n\tfor (let i = 0; i < len; i++) {\n\t\tconst offset = bc.offset;\n\t\tconst key = bare.readString(bc);\n\t\tif (result.has(key)) {\n\t\t\tbc.offset = offset;\n\t\t\tthrow new bare.BareError(offset, \"duplicated key\");\n\t\t}\n\t\tresult.set(key, readWorkflowBranchStatus(bc));\n\t}\n\treturn result;\n}\n\nfunction write2(\n\tbc: bare.ByteCursor,\n\tx: ReadonlyMap<string, WorkflowBranchStatus>,\n): void {\n\tbare.writeUintSafe(bc, x.size);\n\tfor (const kv of x) {\n\t\tbare.writeString(bc, kv[0]);\n\t\twriteWorkflowBranchStatus(bc, kv[1]);\n\t}\n}\n\nexport type WorkflowJoinEntry = {\n\treadonly branches: ReadonlyMap<string, WorkflowBranchStatus>;\n};\n\nexport function readWorkflowJoinEntry(bc: bare.ByteCursor): WorkflowJoinEntry {\n\treturn {\n\t\tbranches: read2(bc),\n\t};\n}\n\nexport function writeWorkflowJoinEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowJoinEntry,\n): void {\n\twrite2(bc, x.branches);\n}\n\nexport type WorkflowRaceEntry = {\n\treadonly winner: string | null;\n\treadonly branches: ReadonlyMap<string, WorkflowBranchStatus>;\n};\n\nexport function readWorkflowRaceEntry(bc: bare.ByteCursor): WorkflowRaceEntry {\n\treturn {\n\t\twinner: read1(bc),\n\t\tbranches: read2(bc),\n\t};\n}\n\nexport function writeWorkflowRaceEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowRaceEntry,\n): void {\n\twrite1(bc, x.winner);\n\twrite2(bc, x.branches);\n}\n\nexport type WorkflowRemovedEntry = {\n\treadonly originalType: string;\n\treadonly originalName: string | null;\n};\n\nexport function readWorkflowRemovedEntry(\n\tbc: bare.ByteCursor,\n): WorkflowRemovedEntry {\n\treturn {\n\t\toriginalType: bare.readString(bc),\n\t\toriginalName: read1(bc),\n\t};\n}\n\nexport function writeWorkflowRemovedEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowRemovedEntry,\n): void {\n\tbare.writeString(bc, x.originalType);\n\twrite1(bc, x.originalName);\n}\n\nexport type WorkflowEntryKind =\n\t| { readonly tag: \"WorkflowStepEntry\"; readonly val: WorkflowStepEntry }\n\t| { readonly tag: \"WorkflowLoopEntry\"; readonly val: WorkflowLoopEntry }\n\t| { readonly tag: \"WorkflowSleepEntry\"; readonly val: WorkflowSleepEntry }\n\t| {\n\t\t\treadonly tag: \"WorkflowMessageEntry\";\n\t\t\treadonly val: WorkflowMessageEntry;\n\t }\n\t| {\n\t\t\treadonly tag: \"WorkflowRollbackCheckpointEntry\";\n\t\t\treadonly val: WorkflowRollbackCheckpointEntry;\n\t }\n\t| { readonly tag: \"WorkflowJoinEntry\"; readonly val: WorkflowJoinEntry }\n\t| { readonly tag: \"WorkflowRaceEntry\"; readonly val: WorkflowRaceEntry }\n\t| {\n\t\t\treadonly tag: \"WorkflowRemovedEntry\";\n\t\t\treadonly val: WorkflowRemovedEntry;\n\t };\n\nexport function readWorkflowEntryKind(bc: bare.ByteCursor): WorkflowEntryKind {\n\tconst offset = bc.offset;\n\tconst tag = bare.readU8(bc);\n\tswitch (tag) {\n\t\tcase 0:\n\t\t\treturn { tag: \"WorkflowStepEntry\", val: readWorkflowStepEntry(bc) };\n\t\tcase 1:\n\t\t\treturn { tag: \"WorkflowLoopEntry\", val: readWorkflowLoopEntry(bc) };\n\t\tcase 2:\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowSleepEntry\",\n\t\t\t\tval: readWorkflowSleepEntry(bc),\n\t\t\t};\n\t\tcase 3:\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowMessageEntry\",\n\t\t\t\tval: readWorkflowMessageEntry(bc),\n\t\t\t};\n\t\tcase 4:\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowRollbackCheckpointEntry\",\n\t\t\t\tval: readWorkflowRollbackCheckpointEntry(bc),\n\t\t\t};\n\t\tcase 5:\n\t\t\treturn { tag: \"WorkflowJoinEntry\", val: readWorkflowJoinEntry(bc) };\n\t\tcase 6:\n\t\t\treturn { tag: \"WorkflowRaceEntry\", val: readWorkflowRaceEntry(bc) };\n\t\tcase 7:\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowRemovedEntry\",\n\t\t\t\tval: readWorkflowRemovedEntry(bc),\n\t\t\t};\n\t\tdefault: {\n\t\t\tbc.offset = offset;\n\t\t\tthrow new bare.BareError(offset, \"invalid tag\");\n\t\t}\n\t}\n}\n\nexport function writeWorkflowEntryKind(\n\tbc: bare.ByteCursor,\n\tx: WorkflowEntryKind,\n): void {\n\tswitch (x.tag) {\n\t\tcase \"WorkflowStepEntry\": {\n\t\t\tbare.writeU8(bc, 0);\n\t\t\twriteWorkflowStepEntry(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"WorkflowLoopEntry\": {\n\t\t\tbare.writeU8(bc, 1);\n\t\t\twriteWorkflowLoopEntry(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"WorkflowSleepEntry\": {\n\t\t\tbare.writeU8(bc, 2);\n\t\t\twriteWorkflowSleepEntry(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"WorkflowMessageEntry\": {\n\t\t\tbare.writeU8(bc, 3);\n\t\t\twriteWorkflowMessageEntry(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"WorkflowRollbackCheckpointEntry\": {\n\t\t\tbare.writeU8(bc, 4);\n\t\t\twriteWorkflowRollbackCheckpointEntry(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"WorkflowJoinEntry\": {\n\t\t\tbare.writeU8(bc, 5);\n\t\t\twriteWorkflowJoinEntry(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"WorkflowRaceEntry\": {\n\t\t\tbare.writeU8(bc, 6);\n\t\t\twriteWorkflowRaceEntry(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"WorkflowRemovedEntry\": {\n\t\t\tbare.writeU8(bc, 7);\n\t\t\twriteWorkflowRemovedEntry(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nexport type WorkflowEntry = {\n\treadonly id: string;\n\treadonly location: WorkflowLocation;\n\treadonly kind: WorkflowEntryKind;\n};\n\nexport function readWorkflowEntry(bc: bare.ByteCursor): WorkflowEntry {\n\treturn {\n\t\tid: bare.readString(bc),\n\t\tlocation: readWorkflowLocation(bc),\n\t\tkind: readWorkflowEntryKind(bc),\n\t};\n}\n\nexport function writeWorkflowEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowEntry,\n): void {\n\tbare.writeString(bc, x.id);\n\twriteWorkflowLocation(bc, x.location);\n\twriteWorkflowEntryKind(bc, x.kind);\n}\n\nfunction read3(bc: bare.ByteCursor): u64 | null {\n\treturn bare.readBool(bc) ? bare.readU64(bc) : null;\n}\n\nfunction write3(bc: bare.ByteCursor, x: u64 | null): void {\n\tbare.writeBool(bc, x !== null);\n\tif (x !== null) {\n\t\tbare.writeU64(bc, x);\n\t}\n}\n\nexport type WorkflowEntryMetadata = {\n\treadonly status: WorkflowEntryStatus;\n\treadonly error: string | null;\n\treadonly attempts: u32;\n\treadonly lastAttemptAt: u64;\n\treadonly createdAt: u64;\n\treadonly completedAt: u64 | null;\n\treadonly rollbackCompletedAt: u64 | null;\n\treadonly rollbackError: string | null;\n};\n\nexport function readWorkflowEntryMetadata(\n\tbc: bare.ByteCursor,\n): WorkflowEntryMetadata {\n\treturn {\n\t\tstatus: readWorkflowEntryStatus(bc),\n\t\terror: read1(bc),\n\t\tattempts: bare.readU32(bc),\n\t\tlastAttemptAt: bare.readU64(bc),\n\t\tcreatedAt: bare.readU64(bc),\n\t\tcompletedAt: read3(bc),\n\t\trollbackCompletedAt: read3(bc),\n\t\trollbackError: read1(bc),\n\t};\n}\n\nexport function writeWorkflowEntryMetadata(\n\tbc: bare.ByteCursor,\n\tx: WorkflowEntryMetadata,\n): void {\n\twriteWorkflowEntryStatus(bc, x.status);\n\twrite1(bc, x.error);\n\tbare.writeU32(bc, x.attempts);\n\tbare.writeU64(bc, x.lastAttemptAt);\n\tbare.writeU64(bc, x.createdAt);\n\twrite3(bc, x.completedAt);\n\twrite3(bc, x.rollbackCompletedAt);\n\twrite1(bc, x.rollbackError);\n}\n\nfunction read4(bc: bare.ByteCursor): readonly string[] {\n\tconst len = bare.readUintSafe(bc);\n\tif (len === 0) {\n\t\treturn [];\n\t}\n\tconst result = [bare.readString(bc)];\n\tfor (let i = 1; i < len; i++) {\n\t\tresult[i] = bare.readString(bc);\n\t}\n\treturn result;\n}\n\nfunction write4(bc: bare.ByteCursor, x: readonly string[]): void {\n\tbare.writeUintSafe(bc, x.length);\n\tfor (let i = 0; i < x.length; i++) {\n\t\tbare.writeString(bc, x[i]);\n\t}\n}\n\nfunction read5(bc: bare.ByteCursor): readonly WorkflowEntry[] {\n\tconst len = bare.readUintSafe(bc);\n\tif (len === 0) {\n\t\treturn [];\n\t}\n\tconst result = [readWorkflowEntry(bc)];\n\tfor (let i = 1; i < len; i++) {\n\t\tresult[i] = readWorkflowEntry(bc);\n\t}\n\treturn result;\n}\n\nfunction write5(bc: bare.ByteCursor, x: readonly WorkflowEntry[]): void {\n\tbare.writeUintSafe(bc, x.length);\n\tfor (let i = 0; i < x.length; i++) {\n\t\twriteWorkflowEntry(bc, x[i]);\n\t}\n}\n\nfunction read6(\n\tbc: bare.ByteCursor,\n): ReadonlyMap<string, WorkflowEntryMetadata> {\n\tconst len = bare.readUintSafe(bc);\n\tconst result = new Map<string, WorkflowEntryMetadata>();\n\tfor (let i = 0; i < len; i++) {\n\t\tconst offset = bc.offset;\n\t\tconst key = bare.readString(bc);\n\t\tif (result.has(key)) {\n\t\t\tbc.offset = offset;\n\t\t\tthrow new bare.BareError(offset, \"duplicated key\");\n\t\t}\n\t\tresult.set(key, readWorkflowEntryMetadata(bc));\n\t}\n\treturn result;\n}\n\nfunction write6(\n\tbc: bare.ByteCursor,\n\tx: ReadonlyMap<string, WorkflowEntryMetadata>,\n): void {\n\tbare.writeUintSafe(bc, x.size);\n\tfor (const kv of x) {\n\t\tbare.writeString(bc, kv[0]);\n\t\twriteWorkflowEntryMetadata(bc, kv[1]);\n\t}\n}\n\nexport type WorkflowHistory = {\n\treadonly nameRegistry: readonly string[];\n\treadonly entries: readonly WorkflowEntry[];\n\treadonly entryMetadata: ReadonlyMap<string, WorkflowEntryMetadata>;\n};\n\nexport function readWorkflowHistory(bc: bare.ByteCursor): WorkflowHistory {\n\treturn {\n\t\tnameRegistry: read4(bc),\n\t\tentries: read5(bc),\n\t\tentryMetadata: read6(bc),\n\t};\n}\n\nexport function writeWorkflowHistory(\n\tbc: bare.ByteCursor,\n\tx: WorkflowHistory,\n): void {\n\twrite4(bc, x.nameRegistry);\n\twrite5(bc, x.entries);\n\twrite6(bc, x.entryMetadata);\n}\n\nexport function encodeWorkflowHistory(x: WorkflowHistory): Uint8Array {\n\tconst bc = new bare.ByteCursor(\n\t\tnew Uint8Array(config.initialBufferLength),\n\t\tconfig,\n\t);\n\twriteWorkflowHistory(bc, x);\n\treturn new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);\n}\n\nexport function decodeWorkflowHistory(bytes: Uint8Array): WorkflowHistory {\n\tconst bc = new bare.ByteCursor(bytes, config);\n\tconst result = readWorkflowHistory(bc);\n\tif (bc.offset < bc.view.byteLength) {\n\t\tthrow new bare.BareError(bc.offset, \"remaining bytes\");\n\t}\n\treturn result;\n}\n\nfunction _assert(condition: boolean, message?: string): asserts condition {\n\tif (!condition) throw new Error(message ?? \"Assertion failed\");\n}\n","import type { WorkflowHistory } from \"@/common/bare/transport/v1\";\nimport {\n\tdecodeWorkflowHistory,\n\tencodeWorkflowHistory,\n} from \"@/common/bare/transport/v1\";\nimport { bufferToArrayBuffer, toUint8Array } from \"@/utils\";\n\nexport function encodeWorkflowHistoryTransport(\n\thistory: WorkflowHistory,\n): ArrayBuffer {\n\treturn bufferToArrayBuffer(encodeWorkflowHistory(history));\n}\n\nexport function decodeWorkflowHistoryTransport(\n\tdata: ArrayBuffer | ArrayBufferView,\n): WorkflowHistory {\n\treturn decodeWorkflowHistory(toUint8Array(data));\n}\n"],"mappings":";;;;;;AACA,YAAY,UAAU;AAEtB,IAAM,SAAyB,gBAAK,YAAO,CAAC,CAAC;AAOtC,SAAS,iBAAiB,IAAmC;AACnE,SAAY,cAAS,EAAE;AACxB;AAEO,SAAS,kBAAkB,IAAqB,GAAuB;AAC7E,EAAK,eAAU,IAAI,CAAC;AACrB;AAIO,SAAS,sBAAsB,IAAwC;AAC7E,SAAY,aAAQ,EAAE;AACvB;AAEO,SAAS,uBACf,IACA,GACO;AACP,EAAK,cAAS,IAAI,CAAC;AACpB;AAOO,SAAS,gCACf,IAC8B;AAC9B,SAAO;AAAA,IACN,MAAM,sBAAsB,EAAE;AAAA,IAC9B,WAAgB,aAAQ,EAAE;AAAA,EAC3B;AACD;AAEO,SAAS,iCACf,IACA,GACO;AACP,yBAAuB,IAAI,EAAE,IAAI;AACjC,EAAK,cAAS,IAAI,EAAE,SAAS;AAC9B;AASO,SAAS,wBACf,IACsB;AACtB,QAAM,SAAS,GAAG;AAClB,QAAM,MAAW,YAAO,EAAE;AAC1B,UAAQ,KAAK;AAAA,IACZ,KAAK;AACJ,aAAO,EAAE,KAAK,qBAAqB,KAAK,sBAAsB,EAAE,EAAE;AAAA,IACnE,KAAK;AACJ,aAAO;AAAA,QACN,KAAK;AAAA,QACL,KAAK,gCAAgC,EAAE;AAAA,MACxC;AAAA,IACD,SAAS;AACR,SAAG,SAAS;AACZ,YAAM,IAAS,eAAU,QAAQ,aAAa;AAAA,IAC/C;AAAA,EACD;AACD;AAEO,SAAS,yBACf,IACA,GACO;AACP,UAAQ,EAAE,KAAK;AAAA,IACd,KAAK,qBAAqB;AACzB,MAAK,aAAQ,IAAI,CAAC;AAClB,6BAAuB,IAAI,EAAE,GAAG;AAChC;AAAA,IACD;AAAA,IACA,KAAK,+BAA+B;AACnC,MAAK,aAAQ,IAAI,CAAC;AAClB,uCAAiC,IAAI,EAAE,GAAG;AAC1C;AAAA,IACD;AAAA,EACD;AACD;AAIO,SAAS,qBAAqB,IAAuC;AAC3E,QAAM,MAAW,kBAAa,EAAE;AAChC,MAAI,QAAQ,GAAG;AACd,WAAO,CAAC;AAAA,EACT;AACA,QAAM,SAAS,CAAC,wBAAwB,EAAE,CAAC;AAC3C,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC7B,WAAO,CAAC,IAAI,wBAAwB,EAAE;AAAA,EACvC;AACA,SAAO;AACR;AAEO,SAAS,sBACf,IACA,GACO;AACP,EAAK,mBAAc,IAAI,EAAE,MAAM;AAC/B,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;AAClC,6BAAyB,IAAI,EAAE,CAAC,CAAC;AAAA,EAClC;AACD;AAUO,SAAS,wBACf,IACsB;AACtB,QAAM,SAAS,GAAG;AAClB,QAAM,MAAW,YAAO,EAAE;AAC1B,UAAQ,KAAK;AAAA,IACZ,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,SAAS;AACR,SAAG,SAAS;AACZ,YAAM,IAAS,eAAU,QAAQ,aAAa;AAAA,IAC/C;AAAA,EACD;AACD;AAEO,SAAS,yBACf,IACA,GACO;AACP,UAAQ,GAAG;AAAA,IACV,KAAK,yBAA6B;AACjC,MAAK,aAAQ,IAAI,CAAC;AAClB;AAAA,IACD;AAAA,IACA,KAAK,yBAA6B;AACjC,MAAK,aAAQ,IAAI,CAAC;AAClB;AAAA,IACD;AAAA,IACA,KAAK,6BAA+B;AACnC,MAAK,aAAQ,IAAI,CAAC;AAClB;AAAA,IACD;AAAA,IACA,KAAK,uBAA4B;AAChC,MAAK,aAAQ,IAAI,CAAC;AAClB;AAAA,IACD;AAAA,IACA,KAAK,6BAA+B;AACnC,MAAK,aAAQ,IAAI,CAAC;AAClB;AAAA,IACD;AAAA,EACD;AACD;AAQO,SAAS,uBACf,IACqB;AACrB,QAAM,SAAS,GAAG;AAClB,QAAM,MAAW,YAAO,EAAE;AAC1B,UAAQ,KAAK;AAAA,IACZ,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,SAAS;AACR,SAAG,SAAS;AACZ,YAAM,IAAS,eAAU,QAAQ,aAAa;AAAA,IAC/C;AAAA,EACD;AACD;AAEO,SAAS,wBACf,IACA,GACO;AACP,UAAQ,GAAG;AAAA,IACV,KAAK,yBAA4B;AAChC,MAAK,aAAQ,IAAI,CAAC;AAClB;AAAA,IACD;AAAA,IACA,KAAK,6BAA8B;AAClC,MAAK,aAAQ,IAAI,CAAC;AAClB;AAAA,IACD;AAAA,IACA,KAAK,iCAAgC;AACpC,MAAK,aAAQ,IAAI,CAAC;AAClB;AAAA,IACD;AAAA,EACD;AACD;AAUO,SAAS,6BACf,IAC2B;AAC3B,QAAM,SAAS,GAAG;AAClB,QAAM,MAAW,YAAO,EAAE;AAC1B,UAAQ,KAAK;AAAA,IACZ,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,SAAS;AACR,SAAG,SAAS;AACZ,YAAM,IAAS,eAAU,QAAQ,aAAa;AAAA,IAC/C;AAAA,EACD;AACD;AAEO,SAAS,8BACf,IACA,GACO;AACP,UAAQ,GAAG;AAAA,IACV,KAAK,yBAAkC;AACtC,MAAK,aAAQ,IAAI,CAAC;AAClB;AAAA,IACD;AAAA,IACA,KAAK,yBAAkC;AACtC,MAAK,aAAQ,IAAI,CAAC;AAClB;AAAA,IACD;AAAA,IACA,KAAK,6BAAoC;AACxC,MAAK,aAAQ,IAAI,CAAC;AAClB;AAAA,IACD;AAAA,IACA,KAAK,uBAAiC;AACrC,MAAK,aAAQ,IAAI,CAAC;AAClB;AAAA,IACD;AAAA,IACA,KAAK,6BAAoC;AACxC,MAAK,aAAQ,IAAI,CAAC;AAClB;AAAA,IACD;AAAA,EACD;AACD;AAEA,SAAS,MAAM,IAA0C;AACxD,SAAY,cAAS,EAAE,IAAI,iBAAiB,EAAE,IAAI;AACnD;AAEA,SAAS,OAAO,IAAqB,GAA8B;AAClE,EAAK,eAAU,IAAI,MAAM,IAAI;AAC7B,MAAI,MAAM,MAAM;AACf,sBAAkB,IAAI,CAAC;AAAA,EACxB;AACD;AAEA,SAAS,MAAM,IAAoC;AAClD,SAAY,cAAS,EAAE,IAAS,gBAAW,EAAE,IAAI;AAClD;AAEA,SAAS,OAAO,IAAqB,GAAwB;AAC5D,EAAK,eAAU,IAAI,MAAM,IAAI;AAC7B,MAAI,MAAM,MAAM;AACf,IAAK,iBAAY,IAAI,CAAC;AAAA,EACvB;AACD;AAOO,SAAS,sBAAsB,IAAwC;AAC7E,SAAO;AAAA,IACN,QAAQ,MAAM,EAAE;AAAA,IAChB,OAAO,MAAM,EAAE;AAAA,EAChB;AACD;AAEO,SAAS,uBACf,IACA,GACO;AACP,SAAO,IAAI,EAAE,MAAM;AACnB,SAAO,IAAI,EAAE,KAAK;AACnB;AAQO,SAAS,sBAAsB,IAAwC;AAC7E,SAAO;AAAA,IACN,OAAO,iBAAiB,EAAE;AAAA,IAC1B,WAAgB,aAAQ,EAAE;AAAA,IAC1B,QAAQ,MAAM,EAAE;AAAA,EACjB;AACD;AAEO,SAAS,uBACf,IACA,GACO;AACP,oBAAkB,IAAI,EAAE,KAAK;AAC7B,EAAK,cAAS,IAAI,EAAE,SAAS;AAC7B,SAAO,IAAI,EAAE,MAAM;AACpB;AAOO,SAAS,uBACf,IACqB;AACrB,SAAO;AAAA,IACN,UAAe,aAAQ,EAAE;AAAA,IACzB,OAAO,uBAAuB,EAAE;AAAA,EACjC;AACD;AAEO,SAAS,wBACf,IACA,GACO;AACP,EAAK,cAAS,IAAI,EAAE,QAAQ;AAC5B,0BAAwB,IAAI,EAAE,KAAK;AACpC;AAOO,SAAS,yBACf,IACuB;AACvB,SAAO;AAAA,IACN,MAAW,gBAAW,EAAE;AAAA,IACxB,aAAa,iBAAiB,EAAE;AAAA,EACjC;AACD;AAEO,SAAS,0BACf,IACA,GACO;AACP,EAAK,iBAAY,IAAI,EAAE,IAAI;AAC3B,oBAAkB,IAAI,EAAE,WAAW;AACpC;AAMO,SAAS,oCACf,IACkC;AAClC,SAAO;AAAA,IACN,MAAW,gBAAW,EAAE;AAAA,EACzB;AACD;AAEO,SAAS,qCACf,IACA,GACO;AACP,EAAK,iBAAY,IAAI,EAAE,IAAI;AAC5B;AAQO,SAAS,yBACf,IACuB;AACvB,SAAO;AAAA,IACN,QAAQ,6BAA6B,EAAE;AAAA,IACvC,QAAQ,MAAM,EAAE;AAAA,IAChB,OAAO,MAAM,EAAE;AAAA,EAChB;AACD;AAEO,SAAS,0BACf,IACA,GACO;AACP,gCAA8B,IAAI,EAAE,MAAM;AAC1C,SAAO,IAAI,EAAE,MAAM;AACnB,SAAO,IAAI,EAAE,KAAK;AACnB;AAEA,SAAS,MAAM,IAAgE;AAC9E,QAAM,MAAW,kBAAa,EAAE;AAChC,QAAM,SAAS,oBAAI,IAAkC;AACrD,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC7B,UAAM,SAAS,GAAG;AAClB,UAAM,MAAW,gBAAW,EAAE;AAC9B,QAAI,OAAO,IAAI,GAAG,GAAG;AACpB,SAAG,SAAS;AACZ,YAAM,IAAS,eAAU,QAAQ,gBAAgB;AAAA,IAClD;AACA,WAAO,IAAI,KAAK,yBAAyB,EAAE,CAAC;AAAA,EAC7C;AACA,SAAO;AACR;AAEA,SAAS,OACR,IACA,GACO;AACP,EAAK,mBAAc,IAAI,EAAE,IAAI;AAC7B,aAAW,MAAM,GAAG;AACnB,IAAK,iBAAY,IAAI,GAAG,CAAC,CAAC;AAC1B,8BAA0B,IAAI,GAAG,CAAC,CAAC;AAAA,EACpC;AACD;AAMO,SAAS,sBAAsB,IAAwC;AAC7E,SAAO;AAAA,IACN,UAAU,MAAM,EAAE;AAAA,EACnB;AACD;AAEO,SAAS,uBACf,IACA,GACO;AACP,SAAO,IAAI,EAAE,QAAQ;AACtB;AAOO,SAAS,sBAAsB,IAAwC;AAC7E,SAAO;AAAA,IACN,QAAQ,MAAM,EAAE;AAAA,IAChB,UAAU,MAAM,EAAE;AAAA,EACnB;AACD;AAEO,SAAS,uBACf,IACA,GACO;AACP,SAAO,IAAI,EAAE,MAAM;AACnB,SAAO,IAAI,EAAE,QAAQ;AACtB;AAOO,SAAS,yBACf,IACuB;AACvB,SAAO;AAAA,IACN,cAAmB,gBAAW,EAAE;AAAA,IAChC,cAAc,MAAM,EAAE;AAAA,EACvB;AACD;AAEO,SAAS,0BACf,IACA,GACO;AACP,EAAK,iBAAY,IAAI,EAAE,YAAY;AACnC,SAAO,IAAI,EAAE,YAAY;AAC1B;AAqBO,SAAS,sBAAsB,IAAwC;AAC7E,QAAM,SAAS,GAAG;AAClB,QAAM,MAAW,YAAO,EAAE;AAC1B,UAAQ,KAAK;AAAA,IACZ,KAAK;AACJ,aAAO,EAAE,KAAK,qBAAqB,KAAK,sBAAsB,EAAE,EAAE;AAAA,IACnE,KAAK;AACJ,aAAO,EAAE,KAAK,qBAAqB,KAAK,sBAAsB,EAAE,EAAE;AAAA,IACnE,KAAK;AACJ,aAAO;AAAA,QACN,KAAK;AAAA,QACL,KAAK,uBAAuB,EAAE;AAAA,MAC/B;AAAA,IACD,KAAK;AACJ,aAAO;AAAA,QACN,KAAK;AAAA,QACL,KAAK,yBAAyB,EAAE;AAAA,MACjC;AAAA,IACD,KAAK;AACJ,aAAO;AAAA,QACN,KAAK;AAAA,QACL,KAAK,oCAAoC,EAAE;AAAA,MAC5C;AAAA,IACD,KAAK;AACJ,aAAO,EAAE,KAAK,qBAAqB,KAAK,sBAAsB,EAAE,EAAE;AAAA,IACnE,KAAK;AACJ,aAAO,EAAE,KAAK,qBAAqB,KAAK,sBAAsB,EAAE,EAAE;AAAA,IACnE,KAAK;AACJ,aAAO;AAAA,QACN,KAAK;AAAA,QACL,KAAK,yBAAyB,EAAE;AAAA,MACjC;AAAA,IACD,SAAS;AACR,SAAG,SAAS;AACZ,YAAM,IAAS,eAAU,QAAQ,aAAa;AAAA,IAC/C;AAAA,EACD;AACD;AAEO,SAAS,uBACf,IACA,GACO;AACP,UAAQ,EAAE,KAAK;AAAA,IACd,KAAK,qBAAqB;AACzB,MAAK,aAAQ,IAAI,CAAC;AAClB,6BAAuB,IAAI,EAAE,GAAG;AAChC;AAAA,IACD;AAAA,IACA,KAAK,qBAAqB;AACzB,MAAK,aAAQ,IAAI,CAAC;AAClB,6BAAuB,IAAI,EAAE,GAAG;AAChC;AAAA,IACD;AAAA,IACA,KAAK,sBAAsB;AAC1B,MAAK,aAAQ,IAAI,CAAC;AAClB,8BAAwB,IAAI,EAAE,GAAG;AACjC;AAAA,IACD;AAAA,IACA,KAAK,wBAAwB;AAC5B,MAAK,aAAQ,IAAI,CAAC;AAClB,gCAA0B,IAAI,EAAE,GAAG;AACnC;AAAA,IACD;AAAA,IACA,KAAK,mCAAmC;AACvC,MAAK,aAAQ,IAAI,CAAC;AAClB,2CAAqC,IAAI,EAAE,GAAG;AAC9C;AAAA,IACD;AAAA,IACA,KAAK,qBAAqB;AACzB,MAAK,aAAQ,IAAI,CAAC;AAClB,6BAAuB,IAAI,EAAE,GAAG;AAChC;AAAA,IACD;AAAA,IACA,KAAK,qBAAqB;AACzB,MAAK,aAAQ,IAAI,CAAC;AAClB,6BAAuB,IAAI,EAAE,GAAG;AAChC;AAAA,IACD;AAAA,IACA,KAAK,wBAAwB;AAC5B,MAAK,aAAQ,IAAI,CAAC;AAClB,gCAA0B,IAAI,EAAE,GAAG;AACnC;AAAA,IACD;AAAA,EACD;AACD;AAQO,SAAS,kBAAkB,IAAoC;AACrE,SAAO;AAAA,IACN,IAAS,gBAAW,EAAE;AAAA,IACtB,UAAU,qBAAqB,EAAE;AAAA,IACjC,MAAM,sBAAsB,EAAE;AAAA,EAC/B;AACD;AAEO,SAAS,mBACf,IACA,GACO;AACP,EAAK,iBAAY,IAAI,EAAE,EAAE;AACzB,wBAAsB,IAAI,EAAE,QAAQ;AACpC,yBAAuB,IAAI,EAAE,IAAI;AAClC;AAEA,SAAS,MAAM,IAAiC;AAC/C,SAAY,cAAS,EAAE,IAAS,aAAQ,EAAE,IAAI;AAC/C;AAEA,SAAS,OAAO,IAAqB,GAAqB;AACzD,EAAK,eAAU,IAAI,MAAM,IAAI;AAC7B,MAAI,MAAM,MAAM;AACf,IAAK,cAAS,IAAI,CAAC;AAAA,EACpB;AACD;AAaO,SAAS,0BACf,IACwB;AACxB,SAAO;AAAA,IACN,QAAQ,wBAAwB,EAAE;AAAA,IAClC,OAAO,MAAM,EAAE;AAAA,IACf,UAAe,aAAQ,EAAE;AAAA,IACzB,eAAoB,aAAQ,EAAE;AAAA,IAC9B,WAAgB,aAAQ,EAAE;AAAA,IAC1B,aAAa,MAAM,EAAE;AAAA,IACrB,qBAAqB,MAAM,EAAE;AAAA,IAC7B,eAAe,MAAM,EAAE;AAAA,EACxB;AACD;AAEO,SAAS,2BACf,IACA,GACO;AACP,2BAAyB,IAAI,EAAE,MAAM;AACrC,SAAO,IAAI,EAAE,KAAK;AAClB,EAAK,cAAS,IAAI,EAAE,QAAQ;AAC5B,EAAK,cAAS,IAAI,EAAE,aAAa;AACjC,EAAK,cAAS,IAAI,EAAE,SAAS;AAC7B,SAAO,IAAI,EAAE,WAAW;AACxB,SAAO,IAAI,EAAE,mBAAmB;AAChC,SAAO,IAAI,EAAE,aAAa;AAC3B;AAEA,SAAS,MAAM,IAAwC;AACtD,QAAM,MAAW,kBAAa,EAAE;AAChC,MAAI,QAAQ,GAAG;AACd,WAAO,CAAC;AAAA,EACT;AACA,QAAM,SAAS,CAAM,gBAAW,EAAE,CAAC;AACnC,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC7B,WAAO,CAAC,IAAS,gBAAW,EAAE;AAAA,EAC/B;AACA,SAAO;AACR;AAEA,SAAS,OAAO,IAAqB,GAA4B;AAChE,EAAK,mBAAc,IAAI,EAAE,MAAM;AAC/B,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;AAClC,IAAK,iBAAY,IAAI,EAAE,CAAC,CAAC;AAAA,EAC1B;AACD;AAEA,SAAS,MAAM,IAA+C;AAC7D,QAAM,MAAW,kBAAa,EAAE;AAChC,MAAI,QAAQ,GAAG;AACd,WAAO,CAAC;AAAA,EACT;AACA,QAAM,SAAS,CAAC,kBAAkB,EAAE,CAAC;AACrC,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC7B,WAAO,CAAC,IAAI,kBAAkB,EAAE;AAAA,EACjC;AACA,SAAO;AACR;AAEA,SAAS,OAAO,IAAqB,GAAmC;AACvE,EAAK,mBAAc,IAAI,EAAE,MAAM;AAC/B,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;AAClC,uBAAmB,IAAI,EAAE,CAAC,CAAC;AAAA,EAC5B;AACD;AAEA,SAAS,MACR,IAC6C;AAC7C,QAAM,MAAW,kBAAa,EAAE;AAChC,QAAM,SAAS,oBAAI,IAAmC;AACtD,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC7B,UAAM,SAAS,GAAG;AAClB,UAAM,MAAW,gBAAW,EAAE;AAC9B,QAAI,OAAO,IAAI,GAAG,GAAG;AACpB,SAAG,SAAS;AACZ,YAAM,IAAS,eAAU,QAAQ,gBAAgB;AAAA,IAClD;AACA,WAAO,IAAI,KAAK,0BAA0B,EAAE,CAAC;AAAA,EAC9C;AACA,SAAO;AACR;AAEA,SAAS,OACR,IACA,GACO;AACP,EAAK,mBAAc,IAAI,EAAE,IAAI;AAC7B,aAAW,MAAM,GAAG;AACnB,IAAK,iBAAY,IAAI,GAAG,CAAC,CAAC;AAC1B,+BAA2B,IAAI,GAAG,CAAC,CAAC;AAAA,EACrC;AACD;AAQO,SAAS,oBAAoB,IAAsC;AACzE,SAAO;AAAA,IACN,cAAc,MAAM,EAAE;AAAA,IACtB,SAAS,MAAM,EAAE;AAAA,IACjB,eAAe,MAAM,EAAE;AAAA,EACxB;AACD;AAEO,SAAS,qBACf,IACA,GACO;AACP,SAAO,IAAI,EAAE,YAAY;AACzB,SAAO,IAAI,EAAE,OAAO;AACpB,SAAO,IAAI,EAAE,aAAa;AAC3B;AAEO,SAAS,sBAAsB,GAAgC;AACrE,QAAM,KAAK,IAAS;AAAA,IACnB,IAAI,WAAW,OAAO,mBAAmB;AAAA,IACzC;AAAA,EACD;AACA,uBAAqB,IAAI,CAAC;AAC1B,SAAO,IAAI,WAAW,GAAG,KAAK,QAAQ,GAAG,KAAK,YAAY,GAAG,MAAM;AACpE;AAEO,SAAS,sBAAsB,OAAoC;AACzE,QAAM,KAAK,IAAS,gBAAW,OAAO,MAAM;AAC5C,QAAM,SAAS,oBAAoB,EAAE;AACrC,MAAI,GAAG,SAAS,GAAG,KAAK,YAAY;AACnC,UAAM,IAAS,eAAU,GAAG,QAAQ,iBAAiB;AAAA,EACtD;AACA,SAAO;AACR;;;ACjyBO,SAAS,+BACf,SACc;AACd,SAAO,oBAAoB,sBAAsB,OAAO,CAAC;AAC1D;AAEO,SAAS,+BACf,MACkB;AAClB,SAAO,sBAAsB,aAAa,IAAI,CAAC;AAChD;","names":[]}
@@ -2,29 +2,29 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkGVTOE34Scjs = require('./chunk-GVTOE34S.cjs');
5
+ var _chunk5IWLUJ6Wcjs = require('./chunk-5IWLUJ6W.cjs');
6
6
 
7
7
 
8
-
9
- var _chunkY5NSCZA2cjs = require('./chunk-Y5NSCZA2.cjs');
8
+ var _chunkMNHKOS6Lcjs = require('./chunk-MNHKOS6L.cjs');
10
9
 
11
10
  // src/devtools-loader/log.ts
12
11
  function logger() {
13
- return _chunkY5NSCZA2cjs.getLogger.call(void 0, "devtools");
12
+ return _chunkMNHKOS6Lcjs.getLogger.call(void 0, "devtools");
14
13
  }
15
14
 
16
15
  // src/devtools-loader/index.ts
17
- var DEFAULT_DEVTOOLS_URL = (version = _chunkY5NSCZA2cjs.VERSION) => `https://releases.rivet.dev/rivet/latest/devtools/mod.js?v=${version}`;
18
16
  var scriptId = "rivetkit-devtools-script";
19
17
  function injectDevtools(config) {
18
+ var _a;
20
19
  if (!window) {
21
20
  logger().warn("devtools not available outside browser environment");
22
21
  return;
23
22
  }
24
23
  if (!document.getElementById(scriptId)) {
24
+ const src = `${(_a = config.endpoint) == null ? void 0 : _a.replace(/\/$/, "")}/devtools/mod.js`;
25
25
  const script = document.createElement("script");
26
26
  script.id = scriptId;
27
- script.src = DEFAULT_DEVTOOLS_URL();
27
+ script.src = src;
28
28
  script.async = true;
29
29
  document.head.appendChild(script);
30
30
  }
@@ -35,15 +35,15 @@ function injectDevtools(config) {
35
35
  // src/client/mod.ts
36
36
  function createClient(endpointOrConfig) {
37
37
  const configInput = endpointOrConfig === void 0 ? {} : typeof endpointOrConfig === "string" ? { endpoint: endpointOrConfig } : endpointOrConfig;
38
- const config = _chunkGVTOE34Scjs.ClientConfigSchema.parse(configInput);
39
- const driver = new (0, _chunkGVTOE34Scjs.RemoteEngineControlClient)(config);
38
+ const config = _chunk5IWLUJ6Wcjs.ClientConfigSchema.parse(configInput);
39
+ const driver = new (0, _chunk5IWLUJ6Wcjs.RemoteEngineControlClient)(config);
40
40
  if (config.devtools) {
41
41
  injectDevtools(config);
42
42
  }
43
- return _chunkGVTOE34Scjs.createClientWithDriver.call(void 0, driver, config);
43
+ return _chunk5IWLUJ6Wcjs.createClientWithDriver.call(void 0, driver, config);
44
44
  }
45
45
 
46
46
 
47
47
 
48
48
  exports.createClient = createClient;
49
- //# sourceMappingURL=chunk-4WPEZBK4.cjs.map
49
+ //# sourceMappingURL=chunk-OST76LRW.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-OST76LRW.cjs","../../src/devtools-loader/log.ts","../../src/devtools-loader/index.ts","../../src/client/mod.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACPO,SAAS,MAAA,CAAA,EAAS;AACxB,EAAA,OAAO,yCAAA,UAAoB,CAAA;AAC5B;ADSA;AACA;AENA,IAAM,SAAA,EAAW,0BAAA;AAEV,SAAS,cAAA,CAAe,MAAA,EAA2B;AAV1D,EAAA,IAAA,EAAA;AAWC,EAAA,GAAA,CAAI,CAAC,MAAA,EAAQ;AACZ,IAAA,MAAA,CAAO,CAAA,CAAE,IAAA,CAAK,oDAAoD,CAAA;AAClE,IAAA,MAAA;AAAA,EACD;AAEA,EAAA,GAAA,CAAI,CAAC,QAAA,CAAS,cAAA,CAAe,QAAQ,CAAA,EAAG;AACvC,IAAA,MAAM,IAAA,EAEL,CAAA,EAAA;AACK,IAAA;AACM,IAAA;AACC,IAAA;AACN,IAAA;AACE,IAAA;AACV,EAAA;AAEO,EAAA;AACA,EAAA;AACR;AFIiB;AACA;AGqBD;AAIT,EAAA;AAMS,EAAA;AAGA,EAAA;AAEJ,EAAA;AACV,IAAA;AACD,EAAA;AAEO,EAAA;AACR;AH/BiB;AACA;AACA;AACA","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-OST76LRW.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"devtools\");\n}\n","import type { ClientConfigInput } from \"@/client/client\";\nimport { logger } from \"./log\";\n\ndeclare global {\n\t// Injected via tsup config\n\tvar CUSTOM_RIVETKIT_DEVTOOLS_URL: string | undefined;\n}\n\nconst scriptId = \"rivetkit-devtools-script\";\n\nexport function injectDevtools(config: ClientConfigInput) {\n\tif (!window) {\n\t\tlogger().warn(\"devtools not available outside browser environment\");\n\t\treturn;\n\t}\n\n\tif (!document.getElementById(scriptId)) {\n\t\tconst src =\n\t\t\tglobalThis.CUSTOM_RIVETKIT_DEVTOOLS_URL ||\n\t\t\t`${config.endpoint?.replace(/\\/$/, \"\")}/devtools/mod.js`;\n\t\tconst script = document.createElement(\"script\");\n\t\tscript.id = scriptId;\n\t\tscript.src = src;\n\t\tscript.async = true;\n\t\tdocument.head.appendChild(script);\n\t}\n\n\twindow.__rivetkit = window.__rivetkit || [];\n\twindow.__rivetkit.push(config);\n}\n","import { injectDevtools } from \"@/devtools-loader\";\nimport { RemoteEngineControlClient } from \"@/engine-client/mod\";\nimport type { Registry } from \"@/registry\";\nimport {\n\ttype Client,\n\ttype ClientConfigInput,\n\tcreateClientWithDriver,\n} from \"./client\";\nimport { ClientConfigSchema } from \"./config\";\n\nexport type { ActorDefinition, AnyActorDefinition } from \"@/actor/definition\";\nexport {\n\tActorClientError,\n\tActorConnDisposed,\n\tActorError,\n\tMalformedResponseMessage,\n\tManagerError,\n\tRivetError,\n\tUserError,\n} from \"@/client/errors\";\nexport type { CreateRequest } from \"@/client/query\";\nexport type { Encoding } from \"@/common/encoding\";\nexport type {\n\tActorActionFunction,\n\tActorActionOptions,\n\tActorConnectOptions,\n\tActorGatewayOptions,\n} from \"./actor-common\";\nexport type {\n\tActorConn,\n\tActorConnStatus,\n\tConnectionStateCallback,\n\tEventUnsubscribe,\n\tStatusChangeCallback,\n} from \"./actor-conn\";\nexport { ActorConnRaw } from \"./actor-conn\";\nexport type { ActorHandle } from \"./actor-handle\";\nexport { ActorHandleRaw } from \"./actor-handle\";\nexport type {\n\tActorAccessor,\n\tClient,\n\tClientConfigInput,\n\tClientRaw,\n\tCreateOptions,\n\tExtractActorsFromRegistry,\n\tExtractRegistryFromClient,\n\tGetOptions,\n\tGetWithIdOptions,\n\tQueryOptions,\n\tRegion,\n} from \"./client\";\n\n/**\n * Creates a client with the actor accessor proxy.\n */\nexport function createClient<A extends Registry<any>>(\n\tendpointOrConfig?: string | ClientConfigInput,\n): Client<A> {\n\t// Parse config\n\tconst configInput =\n\t\tendpointOrConfig === undefined\n\t\t\t? {}\n\t\t\t: typeof endpointOrConfig === \"string\"\n\t\t\t\t? { endpoint: endpointOrConfig }\n\t\t\t\t: endpointOrConfig;\n\tconst config = ClientConfigSchema.parse(configInput);\n\n\t// Create client\n\tconst driver = new RemoteEngineControlClient(config);\n\n\tif (config.devtools) {\n\t\tinjectDevtools(config);\n\t}\n\n\treturn createClientWithDriver<A>(driver, config);\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
2
2
 
3
- var _chunkY5NSCZA2cjs = require('./chunk-Y5NSCZA2.cjs');
3
+ var _chunkMNHKOS6Lcjs = require('./chunk-MNHKOS6L.cjs');
4
4
 
5
5
  // src/client/log.ts
6
6
  function logger() {
7
- return _chunkY5NSCZA2cjs.getLogger.call(void 0, "actor-client");
7
+ return _chunkMNHKOS6Lcjs.getLogger.call(void 0, "actor-client");
8
8
  }
9
9
 
10
10
  // src/common/websocket.ts
@@ -46,4 +46,4 @@ async function importWebSocket() {
46
46
 
47
47
 
48
48
  exports.logger = logger; exports.importWebSocket = importWebSocket;
49
- //# sourceMappingURL=chunk-MALSPBAF.cjs.map
49
+ //# sourceMappingURL=chunk-OZBCXBVP.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-MALSPBAF.cjs","../../src/client/log.ts","../../src/common/websocket.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACFO,SAAS,MAAA,CAAA,EAAS;AACxB,EAAA,OAAO,yCAAA,cAAwB,CAAA;AAChC;ADIA;AACA;AENA,IAAI,iBAAA,EAAqD,IAAA;AAEzD,MAAA,SAAsB,eAAA,CAAA,EAA6C;AAElE,EAAA,GAAA,CAAI,iBAAA,IAAqB,IAAA,EAAM;AAC9B,IAAA,OAAO,gBAAA;AAAA,EACR;AAGA,EAAA,iBAAA,EAAA,CAAoB,MAAA,CAAA,EAAA,GAAY;AAC/B,IAAA,IAAI,UAAA;AAEJ,IAAA,GAAA,CAAI,OAAO,UAAA,IAAc,WAAA,EAAa;AAErC,MAAA,WAAA,EAAa,SAAA;AAAA,IACd,EAAA,KAAO;AAEN,MAAA,IAAI;AACH,QAAA,MAAM,WAAA,EAAa,IAAA;AACnB,QAAA,MAAM,GAAA,EAAK,MAAM,4DAAA;AAAA;AAAA,UAAiC;AAAA,QAAA,GAAA;AAClD,QAAA,WAAA,EAAa,EAAA,CAAG,OAAA;AAChB,QAAA,MAAA,CAAO,CAAA,CAAE,KAAA,CAAM,0BAA0B,CAAA;AAAA,MAC1C,EAAA,UAAQ;AAEP,QAAA,WAAA,EAAa,MAAM,cAAc;AAAA,UAChC,WAAA,CAAA,EAAc;AACb,YAAA,MAAM,IAAI,KAAA;AAAA,cACT;AAAA,YACD,CAAA;AAAA,UACD;AAAA,QACD,CAAA;AACA,QAAA,MAAA,CAAO,CAAA,CAAE,KAAA,CAAM,sBAAsB,CAAA;AAAA,MACtC;AAAA,IACD;AAEA,IAAA,OAAO,UAAA;AAAA,EACR,CAAA,CAAA,CAAG,CAAA;AAEH,EAAA,OAAO,gBAAA;AACR;AFCA;AACA;AACE;AACA;AACF,mEAAC","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-MALSPBAF.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"actor-client\");\n}\n","import { logger } from \"@/client/log\";\n\n// Global singleton promise that will be reused for subsequent calls\nlet webSocketPromise: Promise<typeof WebSocket> | null = null;\n\nexport async function importWebSocket(): Promise<typeof WebSocket> {\n\t// Return existing promise if we already started loading\n\tif (webSocketPromise !== null) {\n\t\treturn webSocketPromise;\n\t}\n\n\t// Create and store the promise\n\twebSocketPromise = (async () => {\n\t\tlet _WebSocket: typeof WebSocket;\n\n\t\tif (typeof WebSocket !== \"undefined\") {\n\t\t\t// Browser environment\n\t\t\t_WebSocket = WebSocket as unknown as typeof WebSocket;\n\t\t} else {\n\t\t\t// Node.js environment\n\t\t\ttry {\n\t\t\t\tconst moduleName = \"ws\";\n\t\t\t\tconst ws = await import(/* webpackIgnore: true */ moduleName);\n\t\t\t\t_WebSocket = ws.default as unknown as typeof WebSocket;\n\t\t\t\tlogger().debug(\"using websocket from npm\");\n\t\t\t} catch {\n\t\t\t\t// WS not available\n\t\t\t\t_WebSocket = class MockWebSocket {\n\t\t\t\t\tconstructor() {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t'WebSocket support requires installing the \"ws\" peer dependency.',\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} as unknown as typeof WebSocket;\n\t\t\t\tlogger().debug(\"using mock websocket\");\n\t\t\t}\n\t\t}\n\n\t\treturn _WebSocket;\n\t})();\n\n\treturn webSocketPromise;\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-OZBCXBVP.cjs","../../src/client/log.ts","../../src/common/websocket.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACFO,SAAS,MAAA,CAAA,EAAS;AACxB,EAAA,OAAO,yCAAA,cAAwB,CAAA;AAChC;ADIA;AACA;AENA,IAAI,iBAAA,EAAqD,IAAA;AAEzD,MAAA,SAAsB,eAAA,CAAA,EAA6C;AAElE,EAAA,GAAA,CAAI,iBAAA,IAAqB,IAAA,EAAM;AAC9B,IAAA,OAAO,gBAAA;AAAA,EACR;AAGA,EAAA,iBAAA,EAAA,CAAoB,MAAA,CAAA,EAAA,GAAY;AAC/B,IAAA,IAAI,UAAA;AAEJ,IAAA,GAAA,CAAI,OAAO,UAAA,IAAc,WAAA,EAAa;AAErC,MAAA,WAAA,EAAa,SAAA;AAAA,IACd,EAAA,KAAO;AAEN,MAAA,IAAI;AACH,QAAA,MAAM,WAAA,EAAa,IAAA;AACnB,QAAA,MAAM,GAAA,EAAK,MAAM,4DAAA;AAAA;AAAA,UAAiC;AAAA,QAAA,GAAA;AAClD,QAAA,WAAA,EAAa,EAAA,CAAG,OAAA;AAChB,QAAA,MAAA,CAAO,CAAA,CAAE,KAAA,CAAM,0BAA0B,CAAA;AAAA,MAC1C,EAAA,UAAQ;AAEP,QAAA,WAAA,EAAa,MAAM,cAAc;AAAA,UAChC,WAAA,CAAA,EAAc;AACb,YAAA,MAAM,IAAI,KAAA;AAAA,cACT;AAAA,YACD,CAAA;AAAA,UACD;AAAA,QACD,CAAA;AACA,QAAA,MAAA,CAAO,CAAA,CAAE,KAAA,CAAM,sBAAsB,CAAA;AAAA,MACtC;AAAA,IACD;AAEA,IAAA,OAAO,UAAA;AAAA,EACR,CAAA,CAAA,CAAG,CAAA;AAEH,EAAA,OAAO,gBAAA;AACR;AFCA;AACA;AACE;AACA;AACF,mEAAC","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-OZBCXBVP.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"actor-client\");\n}\n","import { logger } from \"@/client/log\";\n\n// Global singleton promise that will be reused for subsequent calls\nlet webSocketPromise: Promise<typeof WebSocket> | null = null;\n\nexport async function importWebSocket(): Promise<typeof WebSocket> {\n\t// Return existing promise if we already started loading\n\tif (webSocketPromise !== null) {\n\t\treturn webSocketPromise;\n\t}\n\n\t// Create and store the promise\n\twebSocketPromise = (async () => {\n\t\tlet _WebSocket: typeof WebSocket;\n\n\t\tif (typeof WebSocket !== \"undefined\") {\n\t\t\t// Browser environment\n\t\t\t_WebSocket = WebSocket as unknown as typeof WebSocket;\n\t\t} else {\n\t\t\t// Node.js environment\n\t\t\ttry {\n\t\t\t\tconst moduleName = \"ws\";\n\t\t\t\tconst ws = await import(/* webpackIgnore: true */ moduleName);\n\t\t\t\t_WebSocket = ws.default as unknown as typeof WebSocket;\n\t\t\t\tlogger().debug(\"using websocket from npm\");\n\t\t\t} catch {\n\t\t\t\t// WS not available\n\t\t\t\t_WebSocket = class MockWebSocket {\n\t\t\t\t\tconstructor() {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t'WebSocket support requires installing the \"ws\" peer dependency.',\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} as unknown as typeof WebSocket;\n\t\t\t\tlogger().debug(\"using mock websocket\");\n\t\t\t}\n\t\t}\n\n\t\treturn _WebSocket;\n\t})();\n\n\treturn webSocketPromise;\n}\n"]}