rivetkit 2.0.42 → 2.1.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{tsup/config-CLnylLYY.d.ts → browser/client.d.ts} +2127 -1910
- package/dist/browser/client.js +5182 -0
- package/dist/browser/client.js.map +1 -0
- package/dist/browser/inspector/client.d.ts +130 -0
- package/dist/browser/inspector/client.js +2854 -0
- package/dist/browser/inspector/client.js.map +1 -0
- package/dist/browser/v3-DnYObHH3.d.ts +279 -0
- package/dist/schemas/actor-inspector/v2.ts +796 -0
- package/dist/schemas/actor-inspector/v3.ts +899 -0
- package/dist/schemas/actor-persist/v4.ts +406 -0
- package/dist/schemas/client-protocol/v3.ts +554 -0
- package/dist/schemas/persist/v1.ts +781 -0
- package/dist/schemas/transport/v1.ts +697 -0
- package/dist/tsup/actor/errors.cjs +27 -3
- package/dist/tsup/actor/errors.cjs.map +1 -1
- package/dist/tsup/actor/errors.d.cts +37 -1
- package/dist/tsup/actor/errors.d.ts +37 -1
- package/dist/tsup/actor/errors.js +26 -1
- package/dist/tsup/{actor-router-consts-DzI2szci.d.cts → actor-router-consts-D29T1Z-K.d.cts} +1 -1
- package/dist/tsup/{actor-router-consts-DzI2szci.d.ts → actor-router-consts-D29T1Z-K.d.ts} +1 -1
- package/dist/tsup/chunk-424PT5DM.js +23 -0
- package/dist/tsup/chunk-424PT5DM.js.map +1 -0
- package/dist/tsup/{chunk-JDAD2YFA.js → chunk-5ESWDTHJ.js} +148 -273
- package/dist/tsup/chunk-5ESWDTHJ.js.map +1 -0
- package/dist/tsup/{chunk-FJ3KTN4V.js → chunk-6LIBPELE.js} +119 -11
- package/dist/tsup/chunk-6LIBPELE.js.map +1 -0
- package/dist/tsup/chunk-6LJAZ5R4.cjs +96 -0
- package/dist/tsup/chunk-6LJAZ5R4.cjs.map +1 -0
- package/dist/tsup/{chunk-LFVF5SCU.js → chunk-7HTNH26M.js} +126 -1
- package/dist/tsup/chunk-7HTNH26M.js.map +1 -0
- package/dist/tsup/chunk-7K4CYDGD.js +630 -0
- package/dist/tsup/chunk-7K4CYDGD.js.map +1 -0
- package/dist/tsup/{chunk-XXGJCOL6.js → chunk-A6YIZWTK.js} +2 -2
- package/dist/tsup/chunk-AIYEYMX5.cjs +630 -0
- package/dist/tsup/chunk-AIYEYMX5.cjs.map +1 -0
- package/dist/tsup/{chunk-Q6W7RJJP.js → chunk-DIGBC2VI.js} +211 -2316
- package/dist/tsup/chunk-DIGBC2VI.js.map +1 -0
- package/dist/tsup/{chunk-RZW2DNND.cjs → chunk-F6JYU5IK.cjs} +1957 -1039
- package/dist/tsup/chunk-F6JYU5IK.cjs.map +1 -0
- package/dist/tsup/chunk-HAZL2EPK.cjs +534 -0
- package/dist/tsup/chunk-HAZL2EPK.cjs.map +1 -0
- package/dist/tsup/chunk-HDQ2JUQT.cjs +23 -0
- package/dist/tsup/chunk-HDQ2JUQT.cjs.map +1 -0
- package/dist/tsup/chunk-HIDX4C5Y.cjs +1036 -0
- package/dist/tsup/chunk-HIDX4C5Y.cjs.map +1 -0
- package/dist/tsup/chunk-IVG73YCW.js +534 -0
- package/dist/tsup/chunk-IVG73YCW.js.map +1 -0
- package/dist/tsup/chunk-KJSYAUOM.js +96 -0
- package/dist/tsup/chunk-KJSYAUOM.js.map +1 -0
- package/dist/tsup/{chunk-2XQS746M.cjs → chunk-L47L3ZWJ.cjs} +127 -2
- package/dist/tsup/chunk-L47L3ZWJ.cjs.map +1 -0
- package/dist/tsup/{chunk-H4TB4X25.cjs → chunk-LW6KLR7A.cjs} +126 -18
- package/dist/tsup/chunk-LW6KLR7A.cjs.map +1 -0
- package/dist/tsup/chunk-LXUQ667X.js +2006 -0
- package/dist/tsup/chunk-LXUQ667X.js.map +1 -0
- package/dist/tsup/{chunk-GMAVRZSF.js → chunk-M2T62AZQ.js} +1790 -872
- package/dist/tsup/chunk-M2T62AZQ.js.map +1 -0
- package/dist/tsup/chunk-MZ37VV3P.js +5974 -0
- package/dist/tsup/chunk-MZ37VV3P.js.map +1 -0
- package/dist/tsup/chunk-N4KRDJ56.js +72 -0
- package/dist/tsup/chunk-N4KRDJ56.js.map +1 -0
- package/dist/tsup/chunk-NIYZDWMW.cjs +2006 -0
- package/dist/tsup/chunk-NIYZDWMW.cjs.map +1 -0
- package/dist/tsup/chunk-OMEPCQK2.js +649 -0
- package/dist/tsup/chunk-OMEPCQK2.js.map +1 -0
- package/dist/tsup/chunk-SR3KQE7Q.cjs +72 -0
- package/dist/tsup/chunk-SR3KQE7Q.cjs.map +1 -0
- package/dist/tsup/chunk-SSEP6DHP.cjs +2657 -0
- package/dist/tsup/chunk-SSEP6DHP.cjs.map +1 -0
- package/dist/tsup/chunk-T5YCUGVS.js +1036 -0
- package/dist/tsup/chunk-T5YCUGVS.js.map +1 -0
- package/dist/tsup/{chunk-EJVBH5VF.cjs → chunk-TPGXWFQT.cjs} +3 -3
- package/dist/tsup/{chunk-EJVBH5VF.cjs.map → chunk-TPGXWFQT.cjs.map} +1 -1
- package/dist/tsup/{chunk-X35U3YNX.cjs → chunk-TYLXNCA5.cjs} +214 -339
- package/dist/tsup/chunk-TYLXNCA5.cjs.map +1 -0
- package/dist/tsup/chunk-VKVNIQRQ.js +257 -0
- package/dist/tsup/chunk-VKVNIQRQ.js.map +1 -0
- package/dist/tsup/chunk-XWBAQO5H.cjs +649 -0
- package/dist/tsup/chunk-XWBAQO5H.cjs.map +1 -0
- package/dist/tsup/chunk-YQ4LDVD6.cjs +5974 -0
- package/dist/tsup/chunk-YQ4LDVD6.cjs.map +1 -0
- package/dist/tsup/chunk-ZFY5J2EP.cjs +257 -0
- package/dist/tsup/chunk-ZFY5J2EP.cjs.map +1 -0
- package/dist/tsup/client/mod.cjs +9 -10
- package/dist/tsup/client/mod.cjs.map +1 -1
- package/dist/tsup/client/mod.d.cts +11 -5
- package/dist/tsup/client/mod.d.ts +11 -5
- package/dist/tsup/client/mod.js +8 -8
- package/dist/tsup/common/log.cjs +4 -4
- package/dist/tsup/common/log.d.cts +2 -2
- package/dist/tsup/common/log.d.ts +2 -2
- package/dist/tsup/common/log.js +3 -2
- package/dist/tsup/common/websocket.cjs +5 -5
- package/dist/tsup/common/websocket.js +4 -3
- package/dist/tsup/config-BFqid9Gr.d.ts +2574 -0
- package/dist/tsup/config-BiNoIHRs.d.cts +80 -0
- package/dist/tsup/config-BiNoIHRs.d.ts +80 -0
- package/dist/tsup/{config-CZB2-W8x.d.cts → config-CAZphOS1.d.cts} +681 -355
- package/dist/tsup/db/drizzle/mod.cjs +49 -0
- package/dist/tsup/db/drizzle/mod.cjs.map +1 -0
- package/dist/tsup/db/drizzle/mod.d.cts +17 -0
- package/dist/tsup/db/drizzle/mod.d.ts +17 -0
- package/dist/tsup/db/drizzle/mod.js +49 -0
- package/dist/tsup/db/drizzle/mod.js.map +1 -0
- package/dist/tsup/db/mod.cjs +9 -0
- package/dist/tsup/db/mod.cjs.map +1 -0
- package/dist/tsup/db/mod.d.cts +9 -0
- package/dist/tsup/db/mod.d.ts +9 -0
- package/dist/tsup/db/mod.js +9 -0
- package/dist/tsup/db/mod.js.map +1 -0
- package/dist/tsup/{driver-D0QX9M11.d.ts → driver-Bxv62E2p.d.ts} +2 -2
- package/dist/tsup/{driver-q-zqG7fc.d.cts → driver-DYXwJR5D.d.cts} +2 -2
- package/dist/tsup/driver-helpers/mod.cjs +12 -6
- package/dist/tsup/driver-helpers/mod.cjs.map +1 -1
- package/dist/tsup/driver-helpers/mod.d.cts +12 -5
- package/dist/tsup/driver-helpers/mod.d.ts +12 -5
- package/dist/tsup/driver-helpers/mod.js +12 -5
- package/dist/tsup/driver-test-suite/mod.cjs +1370 -116
- package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/driver-test-suite/mod.d.cts +10 -4
- package/dist/tsup/driver-test-suite/mod.d.ts +10 -4
- package/dist/tsup/driver-test-suite/mod.js +2093 -838
- package/dist/tsup/driver-test-suite/mod.js.map +1 -1
- package/dist/tsup/inspector/mod.cjs +29 -3
- package/dist/tsup/inspector/mod.cjs.map +1 -1
- package/dist/tsup/inspector/mod.d.cts +124 -3
- package/dist/tsup/inspector/mod.d.ts +124 -3
- package/dist/tsup/inspector/mod.js +72 -45
- package/dist/tsup/keys-CydblqMh.d.cts +13 -0
- package/dist/tsup/keys-CydblqMh.d.ts +13 -0
- package/dist/tsup/mod.cjs +16 -10
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +26 -14
- package/dist/tsup/mod.d.ts +26 -14
- package/dist/tsup/mod.js +20 -13
- package/dist/tsup/serve-test-suite/mod.cjs +1165 -83
- package/dist/tsup/serve-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/serve-test-suite/mod.js +1114 -29
- package/dist/tsup/serve-test-suite/mod.js.map +1 -1
- package/dist/tsup/test/mod.cjs +84 -11
- package/dist/tsup/test/mod.cjs.map +1 -1
- package/dist/tsup/test/mod.d.cts +10 -5
- package/dist/tsup/test/mod.d.ts +10 -5
- package/dist/tsup/test/mod.js +85 -11
- package/dist/tsup/test/mod.js.map +1 -1
- package/dist/tsup/utils.cjs +10 -4
- package/dist/tsup/utils.cjs.map +1 -1
- package/dist/tsup/utils.d.cts +72 -2
- package/dist/tsup/utils.d.ts +72 -2
- package/dist/tsup/utils.js +9 -2
- package/dist/tsup/v3-DnYObHH3.d.cts +279 -0
- package/dist/tsup/v3-DnYObHH3.d.ts +279 -0
- package/dist/tsup/workflow/mod.cjs +16 -0
- package/dist/tsup/workflow/mod.cjs.map +1 -0
- package/dist/tsup/workflow/mod.d.cts +83 -0
- package/dist/tsup/workflow/mod.d.ts +83 -0
- package/dist/tsup/workflow/mod.js +16 -0
- package/dist/tsup/workflow/mod.js.map +1 -0
- package/package.json +62 -5
- package/src/actor/config.ts +478 -68
- package/src/actor/conn/mod.ts +68 -16
- package/src/actor/conn/state-manager.ts +2 -2
- package/src/actor/contexts/action.ts +20 -12
- package/src/actor/contexts/base/actor.ts +137 -7
- package/src/actor/contexts/base/conn-init.ts +27 -7
- package/src/actor/contexts/base/conn.ts +27 -18
- package/src/actor/contexts/before-action-response.ts +9 -2
- package/src/actor/contexts/before-connect.ts +7 -2
- package/src/actor/contexts/connect.ts +9 -2
- package/src/actor/contexts/create-conn-state.ts +7 -2
- package/src/actor/contexts/create-vars.ts +16 -3
- package/src/actor/contexts/create.ts +16 -3
- package/src/actor/contexts/destroy.ts +9 -3
- package/src/actor/contexts/disconnect.ts +10 -4
- package/src/actor/contexts/index.ts +4 -3
- package/src/actor/contexts/request.ts +23 -6
- package/src/actor/contexts/run.ts +47 -0
- package/src/actor/contexts/sleep.ts +9 -3
- package/src/actor/contexts/state-change.ts +9 -3
- package/src/actor/contexts/wake.ts +9 -3
- package/src/actor/contexts/websocket.ts +23 -6
- package/src/actor/database.ts +8 -18
- package/src/actor/definition.ts +20 -6
- package/src/actor/driver.ts +32 -3
- package/src/actor/errors.ts +127 -0
- package/src/actor/instance/connection-manager.ts +183 -80
- package/src/actor/instance/event-manager.ts +26 -15
- package/src/actor/instance/keys.ts +117 -0
- package/src/actor/instance/mod.ts +784 -174
- package/src/actor/instance/queue-manager.ts +603 -0
- package/src/actor/instance/queue.ts +287 -0
- package/src/actor/instance/schedule-manager.ts +49 -7
- package/src/actor/instance/state-manager.ts +35 -11
- package/src/actor/instance/traces-driver.ts +128 -0
- package/src/actor/mod.ts +26 -2
- package/src/actor/protocol/old.ts +28 -13
- package/src/actor/protocol/serde.ts +1 -1
- package/src/actor/router-endpoints.ts +177 -21
- package/src/actor/router-websocket-endpoints.ts +18 -29
- package/src/actor/router.ts +177 -0
- package/src/actor/schema.ts +291 -0
- package/src/actor/utils.ts +40 -0
- package/src/client/actor-common.ts +1 -1
- package/src/client/actor-conn.ts +100 -33
- package/src/client/actor-handle.ts +61 -33
- package/src/client/client.ts +2 -4
- package/src/client/config.ts +1 -1
- package/src/client/mod.browser.ts +2 -0
- package/src/client/mod.ts +1 -4
- package/src/client/queue.ts +146 -0
- package/src/client/utils.ts +1 -1
- package/src/common/log.ts +1 -1
- package/src/common/utils.ts +3 -3
- package/src/db/config.ts +100 -0
- package/src/db/drizzle/mod.ts +226 -0
- package/src/db/drizzle/sqlite-core.ts +22 -0
- package/src/db/mod.ts +125 -0
- package/src/db/shared.ts +92 -0
- package/src/db/sqlite-vfs.ts +12 -0
- package/src/driver-helpers/mod.ts +1 -0
- package/src/driver-test-suite/mod.ts +69 -43
- package/src/driver-test-suite/tests/access-control.ts +218 -0
- package/src/driver-test-suite/tests/actor-db-raw.ts +73 -0
- package/src/driver-test-suite/tests/actor-db.ts +394 -0
- package/src/driver-test-suite/tests/actor-inspector.ts +259 -358
- package/src/driver-test-suite/tests/actor-kv.ts +41 -20
- package/src/driver-test-suite/tests/actor-queue.ts +324 -0
- package/src/driver-test-suite/tests/actor-run.ts +181 -0
- package/src/driver-test-suite/tests/actor-schedule.ts +5 -2
- package/src/driver-test-suite/tests/actor-sleep.ts +3 -3
- package/src/driver-test-suite/tests/actor-stateless.ts +70 -0
- package/src/driver-test-suite/tests/actor-workflow.ts +108 -0
- package/src/driver-test-suite/tests/manager-driver.ts +11 -0
- package/src/driver-test-suite/tests/raw-http-request-properties.ts +1 -1
- package/src/driver-test-suite/tests/raw-websocket.ts +12 -12
- package/src/drivers/default.ts +7 -2
- package/src/drivers/engine/actor-driver.ts +45 -37
- package/src/drivers/engine/config.ts +1 -1
- package/src/drivers/file-system/actor.ts +20 -2
- package/src/drivers/file-system/global-state.ts +569 -258
- package/src/drivers/file-system/kv-limits.ts +70 -0
- package/src/drivers/file-system/manager.ts +22 -6
- package/src/drivers/file-system/mod.ts +39 -16
- package/src/drivers/file-system/sqlite-runtime.ts +210 -0
- package/src/inspector/actor-inspector.ts +224 -102
- package/src/inspector/config.ts +1 -1
- package/src/inspector/handler.ts +102 -20
- package/src/inspector/mod.browser.ts +8 -0
- package/src/inspector/mod.ts +2 -0
- package/src/inspector/serve-ui.ts +40 -0
- package/src/inspector/transport.ts +18 -0
- package/src/inspector/utils.ts +5 -39
- package/src/manager/gateway.ts +1 -1
- package/src/manager/protocol/mod.ts +1 -1
- package/src/manager/protocol/query.ts +1 -1
- package/src/manager/router-schema.ts +1 -1
- package/src/manager/router.ts +38 -12
- package/src/manager-api/actors.ts +1 -1
- package/src/manager-api/common.ts +1 -1
- package/src/registry/config/driver.ts +1 -1
- package/src/registry/config/index.ts +212 -43
- package/src/registry/config/legacy-runner.ts +1 -1
- package/src/registry/config/runner.ts +1 -1
- package/src/registry/config/serverless.ts +1 -1
- package/src/registry/index.ts +7 -5
- package/src/remote-manager-driver/api-utils.ts +1 -1
- package/src/schemas/actor-inspector/mod.ts +1 -1
- package/src/schemas/actor-inspector/versioned.ts +195 -8
- package/src/schemas/actor-persist/versioned.ts +87 -7
- package/src/schemas/client-protocol/mod.ts +1 -1
- package/src/schemas/client-protocol/versioned.ts +127 -11
- package/src/schemas/client-protocol-zod/mod.ts +16 -1
- package/src/schemas/persist/mod.ts +1 -0
- package/src/schemas/transport/mod.ts +1 -0
- package/src/serde.ts +1 -1
- package/src/serve-test-suite/mod.ts +10 -9
- package/src/test/mod.ts +15 -56
- package/src/utils/endpoint-parser.test.ts +1 -1
- package/src/utils/endpoint-parser.ts +1 -1
- package/src/utils/env-vars.ts +12 -1
- package/src/utils/node.ts +15 -2
- package/src/utils.test.ts +34 -0
- package/src/utils.ts +140 -6
- package/src/workflow/constants.ts +2 -0
- package/src/workflow/context.ts +532 -0
- package/src/workflow/driver.ts +191 -0
- package/src/workflow/inspector.ts +268 -0
- package/src/workflow/mod.ts +122 -0
- package/dist/tsup/chunk-2IJTYN6K.cjs +0 -278
- package/dist/tsup/chunk-2IJTYN6K.cjs.map +0 -1
- package/dist/tsup/chunk-2XQS746M.cjs.map +0 -1
- package/dist/tsup/chunk-3VP5CSHV.cjs +0 -114
- package/dist/tsup/chunk-3VP5CSHV.cjs.map +0 -1
- package/dist/tsup/chunk-AQFSQMBG.js +0 -114
- package/dist/tsup/chunk-AQFSQMBG.js.map +0 -1
- package/dist/tsup/chunk-E6ZE2YEA.js +0 -664
- package/dist/tsup/chunk-E6ZE2YEA.js.map +0 -1
- package/dist/tsup/chunk-FJ3KTN4V.js.map +0 -1
- package/dist/tsup/chunk-GBENOENJ.cjs +0 -8
- package/dist/tsup/chunk-GBENOENJ.cjs.map +0 -1
- package/dist/tsup/chunk-GD7UXGOE.cjs +0 -4762
- package/dist/tsup/chunk-GD7UXGOE.cjs.map +0 -1
- package/dist/tsup/chunk-GMAVRZSF.js.map +0 -1
- package/dist/tsup/chunk-H4TB4X25.cjs.map +0 -1
- package/dist/tsup/chunk-JDAD2YFA.js.map +0 -1
- package/dist/tsup/chunk-KCOVZOPS.js +0 -1946
- package/dist/tsup/chunk-KCOVZOPS.js.map +0 -1
- package/dist/tsup/chunk-KDFWJKMJ.cjs +0 -664
- package/dist/tsup/chunk-KDFWJKMJ.cjs.map +0 -1
- package/dist/tsup/chunk-LFVF5SCU.js.map +0 -1
- package/dist/tsup/chunk-Q6W7RJJP.js.map +0 -1
- package/dist/tsup/chunk-RUW5CZ5Z.cjs +0 -1949
- package/dist/tsup/chunk-RUW5CZ5Z.cjs.map +0 -1
- package/dist/tsup/chunk-RZW2DNND.cjs.map +0 -1
- package/dist/tsup/chunk-TCOEBUUE.js +0 -278
- package/dist/tsup/chunk-TCOEBUUE.js.map +0 -1
- package/dist/tsup/chunk-X35U3YNX.cjs.map +0 -1
- package/dist/tsup/keys-Chhy4ylv.d.cts +0 -8
- package/dist/tsup/keys-Chhy4ylv.d.ts +0 -8
- package/dist/tsup/v1-Gq4avTK3.d.cts +0 -240
- package/dist/tsup/v1-Gq4avTK3.d.ts +0 -240
- /package/dist/tsup/{chunk-XXGJCOL6.js.map → chunk-A6YIZWTK.js.map} +0 -0
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
|
+
CURRENT_VERSION,
|
|
2
3
|
TO_CLIENT_VERSIONED,
|
|
3
4
|
TO_SERVER_VERSIONED
|
|
4
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-LXUQ667X.js";
|
|
6
|
+
import {
|
|
7
|
+
ActorContext,
|
|
8
|
+
KEYS,
|
|
9
|
+
assertUnreachable as assertUnreachable2,
|
|
10
|
+
getRunMetadata,
|
|
11
|
+
hasSchemaConfigKey,
|
|
12
|
+
loggerWithoutContext,
|
|
13
|
+
validateSchemaSync
|
|
14
|
+
} from "./chunk-T5YCUGVS.js";
|
|
5
15
|
import {
|
|
6
16
|
LogLevelSchema,
|
|
7
17
|
VERSION,
|
|
@@ -26,28 +36,30 @@ import {
|
|
|
26
36
|
getRivetTotalSlots,
|
|
27
37
|
getRivetkitInspectorDisable,
|
|
28
38
|
getRivetkitInspectorToken,
|
|
39
|
+
getRivetkitStoragePath,
|
|
29
40
|
isCborSerializable,
|
|
30
41
|
isDev,
|
|
31
42
|
noopNext,
|
|
32
43
|
promiseWithResolvers,
|
|
33
44
|
stringifyError
|
|
34
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-6LIBPELE.js";
|
|
35
46
|
import {
|
|
36
47
|
ConnStateNotEnabled,
|
|
48
|
+
EventPayloadInvalid,
|
|
37
49
|
Forbidden,
|
|
38
50
|
IncomingMessageTooLong,
|
|
39
51
|
InternalError,
|
|
40
52
|
InvalidEncoding,
|
|
41
53
|
InvalidParams,
|
|
54
|
+
InvalidRequest,
|
|
42
55
|
InvalidStateType,
|
|
43
56
|
MalformedMessage,
|
|
44
57
|
MissingActorHeader,
|
|
45
58
|
OutgoingMessageTooLong,
|
|
46
59
|
RestrictedFeature,
|
|
47
|
-
Unreachable,
|
|
48
60
|
Unsupported,
|
|
49
61
|
WebSocketsNotEnabled
|
|
50
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-7HTNH26M.js";
|
|
51
63
|
|
|
52
64
|
// src/common/actor-router-consts.ts
|
|
53
65
|
var PATH_CONNECT = "/connect";
|
|
@@ -83,10 +95,11 @@ var ALLOWED_PUBLIC_HEADERS = [
|
|
|
83
95
|
];
|
|
84
96
|
|
|
85
97
|
// src/manager/router.ts
|
|
98
|
+
import { serveStatic } from "@hono/node-server/serve-static";
|
|
86
99
|
import { createRoute } from "@hono/zod-openapi";
|
|
87
100
|
import * as cbor6 from "cbor-x";
|
|
88
101
|
import invariant5 from "invariant";
|
|
89
|
-
import { z as z10 } from "zod";
|
|
102
|
+
import { z as z10 } from "zod/v4";
|
|
90
103
|
|
|
91
104
|
// src/actor/keys.ts
|
|
92
105
|
var EMPTY_KEY = "/";
|
|
@@ -152,344 +165,6 @@ import * as cbor3 from "cbor-x";
|
|
|
152
165
|
// src/actor/router-endpoints.ts
|
|
153
166
|
import * as cbor2 from "cbor-x";
|
|
154
167
|
|
|
155
|
-
// src/actor/instance/keys.ts
|
|
156
|
-
var KEYS = {
|
|
157
|
-
PERSIST_DATA: Uint8Array.from([1]),
|
|
158
|
-
CONN_PREFIX: Uint8Array.from([2]),
|
|
159
|
-
// Prefix for connection keys
|
|
160
|
-
INSPECTOR_TOKEN: Uint8Array.from([3]),
|
|
161
|
-
// Inspector token key
|
|
162
|
-
KV: Uint8Array.from([4])
|
|
163
|
-
// Prefix for user-facing KV storage
|
|
164
|
-
};
|
|
165
|
-
function makePrefixedKey(key) {
|
|
166
|
-
const prefixed = new Uint8Array(KEYS.KV.length + key.length);
|
|
167
|
-
prefixed.set(KEYS.KV, 0);
|
|
168
|
-
prefixed.set(key, KEYS.KV.length);
|
|
169
|
-
return prefixed;
|
|
170
|
-
}
|
|
171
|
-
function removePrefixFromKey(prefixedKey) {
|
|
172
|
-
return prefixedKey.slice(KEYS.KV.length);
|
|
173
|
-
}
|
|
174
|
-
function makeConnKey(connId) {
|
|
175
|
-
const encoder = new TextEncoder();
|
|
176
|
-
const connIdBytes = encoder.encode(connId);
|
|
177
|
-
const key = new Uint8Array(KEYS.CONN_PREFIX.length + connIdBytes.length);
|
|
178
|
-
key.set(KEYS.CONN_PREFIX, 0);
|
|
179
|
-
key.set(connIdBytes, KEYS.CONN_PREFIX.length);
|
|
180
|
-
return key;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
// src/actor/instance/kv.ts
|
|
184
|
-
var textEncoder = new TextEncoder();
|
|
185
|
-
var textDecoder = new TextDecoder();
|
|
186
|
-
function encodeKey(key, keyType) {
|
|
187
|
-
if (key instanceof Uint8Array) {
|
|
188
|
-
return key;
|
|
189
|
-
}
|
|
190
|
-
const resolvedKeyType = keyType ?? "text";
|
|
191
|
-
if (resolvedKeyType === "binary") {
|
|
192
|
-
throw new TypeError("Expected a Uint8Array when keyType is binary");
|
|
193
|
-
}
|
|
194
|
-
return textEncoder.encode(key);
|
|
195
|
-
}
|
|
196
|
-
function decodeKey(key, keyType) {
|
|
197
|
-
const resolvedKeyType = keyType ?? "text";
|
|
198
|
-
switch (resolvedKeyType) {
|
|
199
|
-
case "text":
|
|
200
|
-
return textDecoder.decode(key);
|
|
201
|
-
case "binary":
|
|
202
|
-
return key;
|
|
203
|
-
default:
|
|
204
|
-
throw new TypeError("Invalid kv key type");
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
function resolveValueType(value) {
|
|
208
|
-
if (typeof value === "string") {
|
|
209
|
-
return "text";
|
|
210
|
-
}
|
|
211
|
-
if (value instanceof Uint8Array) {
|
|
212
|
-
return "binary";
|
|
213
|
-
}
|
|
214
|
-
if (value instanceof ArrayBuffer) {
|
|
215
|
-
return "arrayBuffer";
|
|
216
|
-
}
|
|
217
|
-
throw new TypeError("Invalid kv value");
|
|
218
|
-
}
|
|
219
|
-
function encodeValue(value, options) {
|
|
220
|
-
const type = (options == null ? void 0 : options.type) ?? resolveValueType(value);
|
|
221
|
-
switch (type) {
|
|
222
|
-
case "text":
|
|
223
|
-
if (typeof value !== "string") {
|
|
224
|
-
throw new TypeError("Expected a string when type is text");
|
|
225
|
-
}
|
|
226
|
-
return textEncoder.encode(value);
|
|
227
|
-
case "arrayBuffer":
|
|
228
|
-
if (!(value instanceof ArrayBuffer)) {
|
|
229
|
-
throw new TypeError("Expected an ArrayBuffer when type is arrayBuffer");
|
|
230
|
-
}
|
|
231
|
-
return new Uint8Array(value);
|
|
232
|
-
case "binary":
|
|
233
|
-
if (!(value instanceof Uint8Array)) {
|
|
234
|
-
throw new TypeError("Expected a Uint8Array when type is binary");
|
|
235
|
-
}
|
|
236
|
-
return value;
|
|
237
|
-
default:
|
|
238
|
-
throw new TypeError("Invalid kv value type");
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
function decodeValue(value, options) {
|
|
242
|
-
const type = (options == null ? void 0 : options.type) ?? "text";
|
|
243
|
-
switch (type) {
|
|
244
|
-
case "text":
|
|
245
|
-
return textDecoder.decode(value);
|
|
246
|
-
case "arrayBuffer": {
|
|
247
|
-
const copy = new Uint8Array(value.byteLength);
|
|
248
|
-
copy.set(value);
|
|
249
|
-
return copy.buffer;
|
|
250
|
-
}
|
|
251
|
-
case "binary":
|
|
252
|
-
return value;
|
|
253
|
-
default:
|
|
254
|
-
throw new TypeError("Invalid kv value type");
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
var ActorKv = class {
|
|
258
|
-
#driver;
|
|
259
|
-
#actorId;
|
|
260
|
-
constructor(driver, actorId) {
|
|
261
|
-
this.#driver = driver;
|
|
262
|
-
this.#actorId = actorId;
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Get a single value by key.
|
|
266
|
-
*/
|
|
267
|
-
async get(key, options) {
|
|
268
|
-
const results = await this.#driver.kvBatchGet(this.#actorId, [
|
|
269
|
-
makePrefixedKey(encodeKey(key))
|
|
270
|
-
]);
|
|
271
|
-
const result = results[0];
|
|
272
|
-
if (!result) {
|
|
273
|
-
return null;
|
|
274
|
-
}
|
|
275
|
-
return decodeValue(result, options);
|
|
276
|
-
}
|
|
277
|
-
/**
|
|
278
|
-
* Get multiple values by keys.
|
|
279
|
-
*/
|
|
280
|
-
async getBatch(keys, options) {
|
|
281
|
-
const prefixedKeys = keys.map(
|
|
282
|
-
(key) => makePrefixedKey(encodeKey(key))
|
|
283
|
-
);
|
|
284
|
-
const results = await this.#driver.kvBatchGet(
|
|
285
|
-
this.#actorId,
|
|
286
|
-
prefixedKeys
|
|
287
|
-
);
|
|
288
|
-
return results.map(
|
|
289
|
-
(result) => result ? decodeValue(result, options) : null
|
|
290
|
-
);
|
|
291
|
-
}
|
|
292
|
-
/**
|
|
293
|
-
* Put a single key-value pair.
|
|
294
|
-
*/
|
|
295
|
-
async put(key, value, options) {
|
|
296
|
-
await this.#driver.kvBatchPut(this.#actorId, [
|
|
297
|
-
[makePrefixedKey(encodeKey(key)), encodeValue(value, options)]
|
|
298
|
-
]);
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Put multiple key-value pairs.
|
|
302
|
-
*/
|
|
303
|
-
async putBatch(entries, options) {
|
|
304
|
-
const prefixedEntries = entries.map(
|
|
305
|
-
([key, value]) => [
|
|
306
|
-
makePrefixedKey(encodeKey(key)),
|
|
307
|
-
encodeValue(value, options)
|
|
308
|
-
]
|
|
309
|
-
);
|
|
310
|
-
await this.#driver.kvBatchPut(this.#actorId, prefixedEntries);
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* Delete a single key.
|
|
314
|
-
*/
|
|
315
|
-
async delete(key) {
|
|
316
|
-
await this.#driver.kvBatchDelete(this.#actorId, [
|
|
317
|
-
makePrefixedKey(encodeKey(key))
|
|
318
|
-
]);
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* Delete multiple keys.
|
|
322
|
-
*/
|
|
323
|
-
async deleteBatch(keys) {
|
|
324
|
-
const prefixedKeys = keys.map(
|
|
325
|
-
(key) => makePrefixedKey(encodeKey(key))
|
|
326
|
-
);
|
|
327
|
-
await this.#driver.kvBatchDelete(this.#actorId, prefixedKeys);
|
|
328
|
-
}
|
|
329
|
-
/**
|
|
330
|
-
* List all keys with a given prefix.
|
|
331
|
-
* Returns key-value pairs where keys have the user prefix removed.
|
|
332
|
-
*/
|
|
333
|
-
async list(prefix, options) {
|
|
334
|
-
const prefixedPrefix = makePrefixedKey(
|
|
335
|
-
encodeKey(prefix, options == null ? void 0 : options.keyType)
|
|
336
|
-
);
|
|
337
|
-
const results = await this.#driver.kvListPrefix(
|
|
338
|
-
this.#actorId,
|
|
339
|
-
prefixedPrefix
|
|
340
|
-
);
|
|
341
|
-
return results.map(([key, value]) => [
|
|
342
|
-
decodeKey(removePrefixFromKey(key), options == null ? void 0 : options.keyType),
|
|
343
|
-
decodeValue(value, options)
|
|
344
|
-
]);
|
|
345
|
-
}
|
|
346
|
-
};
|
|
347
|
-
|
|
348
|
-
// src/actor/contexts/base/actor.ts
|
|
349
|
-
var ActorContext = class {
|
|
350
|
-
#actor;
|
|
351
|
-
#kv;
|
|
352
|
-
constructor(actor) {
|
|
353
|
-
this.#actor = actor;
|
|
354
|
-
}
|
|
355
|
-
/**
|
|
356
|
-
* Gets the KV storage interface.
|
|
357
|
-
*/
|
|
358
|
-
get kv() {
|
|
359
|
-
if (!this.#kv) {
|
|
360
|
-
this.#kv = new ActorKv(this.#actor.driver, this.#actor.id);
|
|
361
|
-
}
|
|
362
|
-
return this.#kv;
|
|
363
|
-
}
|
|
364
|
-
/**
|
|
365
|
-
* Get the actor state
|
|
366
|
-
*
|
|
367
|
-
* @remarks
|
|
368
|
-
* This property is not available in `createState` since the state hasn't been created yet.
|
|
369
|
-
*/
|
|
370
|
-
get state() {
|
|
371
|
-
return this.#actor.state;
|
|
372
|
-
}
|
|
373
|
-
/**
|
|
374
|
-
* Get the actor variables
|
|
375
|
-
*
|
|
376
|
-
* @remarks
|
|
377
|
-
* This property is not available in `createVars` since the variables haven't been created yet.
|
|
378
|
-
* Variables are only available if you define `vars` or `createVars` in your actor config.
|
|
379
|
-
*/
|
|
380
|
-
get vars() {
|
|
381
|
-
return this.#actor.vars;
|
|
382
|
-
}
|
|
383
|
-
/**
|
|
384
|
-
* Broadcasts an event to all connected clients.
|
|
385
|
-
* @param name - The name of the event.
|
|
386
|
-
* @param args - The arguments to send with the event.
|
|
387
|
-
*/
|
|
388
|
-
broadcast(name, ...args) {
|
|
389
|
-
this.#actor.eventManager.broadcast(name, ...args);
|
|
390
|
-
return;
|
|
391
|
-
}
|
|
392
|
-
/**
|
|
393
|
-
* Gets the logger instance.
|
|
394
|
-
*/
|
|
395
|
-
get log() {
|
|
396
|
-
return this.#actor.log;
|
|
397
|
-
}
|
|
398
|
-
/**
|
|
399
|
-
* Gets actor ID.
|
|
400
|
-
*/
|
|
401
|
-
get actorId() {
|
|
402
|
-
return this.#actor.id;
|
|
403
|
-
}
|
|
404
|
-
/**
|
|
405
|
-
* Gets the actor name.
|
|
406
|
-
*/
|
|
407
|
-
get name() {
|
|
408
|
-
return this.#actor.name;
|
|
409
|
-
}
|
|
410
|
-
/**
|
|
411
|
-
* Gets the actor key.
|
|
412
|
-
*/
|
|
413
|
-
get key() {
|
|
414
|
-
return this.#actor.key;
|
|
415
|
-
}
|
|
416
|
-
/**
|
|
417
|
-
* Gets the region.
|
|
418
|
-
*/
|
|
419
|
-
get region() {
|
|
420
|
-
return this.#actor.region;
|
|
421
|
-
}
|
|
422
|
-
/**
|
|
423
|
-
* Gets the scheduler.
|
|
424
|
-
*/
|
|
425
|
-
get schedule() {
|
|
426
|
-
return this.#actor.schedule;
|
|
427
|
-
}
|
|
428
|
-
/**
|
|
429
|
-
* Gets the map of connections.
|
|
430
|
-
*/
|
|
431
|
-
get conns() {
|
|
432
|
-
return this.#actor.conns;
|
|
433
|
-
}
|
|
434
|
-
/**
|
|
435
|
-
* Returns the client for the given registry.
|
|
436
|
-
*/
|
|
437
|
-
client() {
|
|
438
|
-
return this.#actor.inlineClient;
|
|
439
|
-
}
|
|
440
|
-
/**
|
|
441
|
-
* Gets the database.
|
|
442
|
-
*
|
|
443
|
-
* @experimental
|
|
444
|
-
* @remarks
|
|
445
|
-
* This property is only available if you define a `db` provider in your actor config.
|
|
446
|
-
* @throws {DatabaseNotEnabled} If the database is not enabled.
|
|
447
|
-
*/
|
|
448
|
-
get db() {
|
|
449
|
-
return this.#actor.db;
|
|
450
|
-
}
|
|
451
|
-
/**
|
|
452
|
-
* Forces the state to get saved.
|
|
453
|
-
*
|
|
454
|
-
* @param opts - Options for saving the state.
|
|
455
|
-
*/
|
|
456
|
-
async saveState(opts) {
|
|
457
|
-
return this.#actor.stateManager.saveState(opts);
|
|
458
|
-
}
|
|
459
|
-
/**
|
|
460
|
-
* Prevents the actor from sleeping until promise is complete.
|
|
461
|
-
*/
|
|
462
|
-
waitUntil(promise) {
|
|
463
|
-
this.#actor.waitUntil(promise);
|
|
464
|
-
}
|
|
465
|
-
/**
|
|
466
|
-
* AbortSignal that fires when the actor is stopping.
|
|
467
|
-
*/
|
|
468
|
-
get abortSignal() {
|
|
469
|
-
return this.#actor.abortSignal;
|
|
470
|
-
}
|
|
471
|
-
/**
|
|
472
|
-
* Forces the actor to sleep.
|
|
473
|
-
*
|
|
474
|
-
* Not supported on all drivers.
|
|
475
|
-
*
|
|
476
|
-
* @experimental
|
|
477
|
-
*/
|
|
478
|
-
sleep() {
|
|
479
|
-
this.#actor.startSleep();
|
|
480
|
-
}
|
|
481
|
-
/**
|
|
482
|
-
* Forces the actor to destroy.
|
|
483
|
-
*
|
|
484
|
-
* This will return immediately, then call `onStop` and `onDestroy`.
|
|
485
|
-
*
|
|
486
|
-
* @experimental
|
|
487
|
-
*/
|
|
488
|
-
destroy() {
|
|
489
|
-
this.#actor.startDestroy();
|
|
490
|
-
}
|
|
491
|
-
};
|
|
492
|
-
|
|
493
168
|
// src/actor/contexts/base/conn.ts
|
|
494
169
|
var ConnContext = class extends ActorContext {
|
|
495
170
|
/**
|
|
@@ -501,6 +176,10 @@ var ConnContext = class extends ActorContext {
|
|
|
501
176
|
}
|
|
502
177
|
};
|
|
503
178
|
|
|
179
|
+
// src/actor/contexts/action.ts
|
|
180
|
+
var ActionContext = class extends ConnContext {
|
|
181
|
+
};
|
|
182
|
+
|
|
504
183
|
// src/actor/contexts/base/conn-init.ts
|
|
505
184
|
var ConnInitContext = class extends ActorContext {
|
|
506
185
|
/**
|
|
@@ -517,10 +196,6 @@ var ConnInitContext = class extends ActorContext {
|
|
|
517
196
|
}
|
|
518
197
|
};
|
|
519
198
|
|
|
520
|
-
// src/actor/contexts/action.ts
|
|
521
|
-
var ActionContext = class extends ConnContext {
|
|
522
|
-
};
|
|
523
|
-
|
|
524
199
|
// src/actor/contexts/before-connect.ts
|
|
525
200
|
var BeforeConnectContext = class extends ConnInitContext {
|
|
526
201
|
};
|
|
@@ -566,7 +241,7 @@ var WebSocketContext = class extends ConnContext {
|
|
|
566
241
|
};
|
|
567
242
|
|
|
568
243
|
// src/actor/protocol/serde.ts
|
|
569
|
-
import { z } from "zod";
|
|
244
|
+
import { z } from "zod/v4";
|
|
570
245
|
|
|
571
246
|
// src/serde.ts
|
|
572
247
|
import * as cbor from "cbor-x";
|
|
@@ -655,58 +330,6 @@ function deserializeWithEncoding(encoding, buffer, versionedDataHandler, zodSche
|
|
|
655
330
|
}
|
|
656
331
|
}
|
|
657
332
|
|
|
658
|
-
// src/actor/log.ts
|
|
659
|
-
function loggerWithoutContext() {
|
|
660
|
-
return getLogger("actor-runtime");
|
|
661
|
-
}
|
|
662
|
-
|
|
663
|
-
// src/actor/utils.ts
|
|
664
|
-
function assertUnreachable2(x) {
|
|
665
|
-
loggerWithoutContext().error({
|
|
666
|
-
msg: "unreachable",
|
|
667
|
-
value: `${x}`,
|
|
668
|
-
stack: new Error().stack
|
|
669
|
-
});
|
|
670
|
-
throw new Unreachable(x);
|
|
671
|
-
}
|
|
672
|
-
var DeadlineError = class extends Error {
|
|
673
|
-
constructor() {
|
|
674
|
-
super("Promise did not complete before deadline.");
|
|
675
|
-
}
|
|
676
|
-
};
|
|
677
|
-
function deadline(promise, timeout) {
|
|
678
|
-
const controller = new AbortController();
|
|
679
|
-
const signal = controller.signal;
|
|
680
|
-
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
681
|
-
return Promise.race([
|
|
682
|
-
promise,
|
|
683
|
-
new Promise((_, reject) => {
|
|
684
|
-
signal.addEventListener("abort", () => reject(new DeadlineError()));
|
|
685
|
-
})
|
|
686
|
-
]).finally(() => {
|
|
687
|
-
clearTimeout(timeoutId);
|
|
688
|
-
});
|
|
689
|
-
}
|
|
690
|
-
function generateSecureToken(length = 32) {
|
|
691
|
-
const array = new Uint8Array(length);
|
|
692
|
-
crypto.getRandomValues(array);
|
|
693
|
-
return btoa(String.fromCharCode(...array)).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
|
|
694
|
-
}
|
|
695
|
-
function isStatePath(path) {
|
|
696
|
-
return path === "state" || path.startsWith("state.");
|
|
697
|
-
}
|
|
698
|
-
function isConnStatePath(path) {
|
|
699
|
-
if (!path.startsWith("connections.")) {
|
|
700
|
-
return false;
|
|
701
|
-
}
|
|
702
|
-
const stateIndex = path.indexOf(".state", 12);
|
|
703
|
-
if (stateIndex === -1) {
|
|
704
|
-
return false;
|
|
705
|
-
}
|
|
706
|
-
const afterState = stateIndex + 6;
|
|
707
|
-
return path.length === afterState || path[afterState] === ".";
|
|
708
|
-
}
|
|
709
|
-
|
|
710
333
|
// src/actor/protocol/serde.ts
|
|
711
334
|
var EncodingSchema = z.enum(["json", "cbor", "bare"]);
|
|
712
335
|
var CachedSerializer = class {
|
|
@@ -1435,71 +1058,488 @@ function decodeHttpResolveResponse2(bytes) {
|
|
|
1435
1058
|
return result;
|
|
1436
1059
|
}
|
|
1437
1060
|
|
|
1438
|
-
//
|
|
1439
|
-
|
|
1440
|
-
var
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1061
|
+
// dist/schemas/client-protocol/v3.ts
|
|
1062
|
+
import * as bare3 from "@rivetkit/bare-ts";
|
|
1063
|
+
var config3 = /* @__PURE__ */ bare3.Config({});
|
|
1064
|
+
function readInit3(bc) {
|
|
1065
|
+
return {
|
|
1066
|
+
actorId: bare3.readString(bc),
|
|
1067
|
+
connectionId: bare3.readString(bc)
|
|
1068
|
+
};
|
|
1069
|
+
}
|
|
1070
|
+
function writeInit3(bc, x) {
|
|
1071
|
+
bare3.writeString(bc, x.actorId);
|
|
1072
|
+
bare3.writeString(bc, x.connectionId);
|
|
1073
|
+
}
|
|
1074
|
+
function read03(bc) {
|
|
1075
|
+
return bare3.readBool(bc) ? bare3.readData(bc) : null;
|
|
1076
|
+
}
|
|
1077
|
+
function write03(bc, x) {
|
|
1078
|
+
bare3.writeBool(bc, x !== null);
|
|
1079
|
+
if (x !== null) {
|
|
1080
|
+
bare3.writeData(bc, x);
|
|
1452
1081
|
}
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
val: {
|
|
1462
|
-
actorId,
|
|
1463
|
-
connectionId,
|
|
1464
|
-
connectionToken: ""
|
|
1465
|
-
// Add empty connectionToken for v1 compatibility
|
|
1466
|
-
}
|
|
1467
|
-
}
|
|
1468
|
-
};
|
|
1082
|
+
}
|
|
1083
|
+
function read13(bc) {
|
|
1084
|
+
return bare3.readBool(bc) ? bare3.readUint(bc) : null;
|
|
1085
|
+
}
|
|
1086
|
+
function write13(bc, x) {
|
|
1087
|
+
bare3.writeBool(bc, x !== null);
|
|
1088
|
+
if (x !== null) {
|
|
1089
|
+
bare3.writeUint(bc, x);
|
|
1469
1090
|
}
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1091
|
+
}
|
|
1092
|
+
function readError3(bc) {
|
|
1093
|
+
return {
|
|
1094
|
+
group: bare3.readString(bc),
|
|
1095
|
+
code: bare3.readString(bc),
|
|
1096
|
+
message: bare3.readString(bc),
|
|
1097
|
+
metadata: read03(bc),
|
|
1098
|
+
actionId: read13(bc)
|
|
1099
|
+
};
|
|
1100
|
+
}
|
|
1101
|
+
function writeError3(bc, x) {
|
|
1102
|
+
bare3.writeString(bc, x.group);
|
|
1103
|
+
bare3.writeString(bc, x.code);
|
|
1104
|
+
bare3.writeString(bc, x.message);
|
|
1105
|
+
write03(bc, x.metadata);
|
|
1106
|
+
write13(bc, x.actionId);
|
|
1107
|
+
}
|
|
1108
|
+
function readActionResponse3(bc) {
|
|
1109
|
+
return {
|
|
1110
|
+
id: bare3.readUint(bc),
|
|
1111
|
+
output: bare3.readData(bc)
|
|
1112
|
+
};
|
|
1113
|
+
}
|
|
1114
|
+
function writeActionResponse3(bc, x) {
|
|
1115
|
+
bare3.writeUint(bc, x.id);
|
|
1116
|
+
bare3.writeData(bc, x.output);
|
|
1117
|
+
}
|
|
1118
|
+
function readEvent3(bc) {
|
|
1119
|
+
return {
|
|
1120
|
+
name: bare3.readString(bc),
|
|
1121
|
+
args: bare3.readData(bc)
|
|
1122
|
+
};
|
|
1123
|
+
}
|
|
1124
|
+
function writeEvent3(bc, x) {
|
|
1125
|
+
bare3.writeString(bc, x.name);
|
|
1126
|
+
bare3.writeData(bc, x.args);
|
|
1127
|
+
}
|
|
1128
|
+
function readToClientBody3(bc) {
|
|
1129
|
+
const offset = bc.offset;
|
|
1130
|
+
const tag = bare3.readU8(bc);
|
|
1131
|
+
switch (tag) {
|
|
1132
|
+
case 0:
|
|
1133
|
+
return { tag: "Init", val: readInit3(bc) };
|
|
1134
|
+
case 1:
|
|
1135
|
+
return { tag: "Error", val: readError3(bc) };
|
|
1136
|
+
case 2:
|
|
1137
|
+
return { tag: "ActionResponse", val: readActionResponse3(bc) };
|
|
1138
|
+
case 3:
|
|
1139
|
+
return { tag: "Event", val: readEvent3(bc) };
|
|
1140
|
+
default: {
|
|
1141
|
+
bc.offset = offset;
|
|
1142
|
+
throw new bare3.BareError(offset, "invalid tag");
|
|
1481
1143
|
}
|
|
1482
|
-
}
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
throw new Error(`Unknown version ${version}`);
|
|
1144
|
+
}
|
|
1145
|
+
}
|
|
1146
|
+
function writeToClientBody3(bc, x) {
|
|
1147
|
+
switch (x.tag) {
|
|
1148
|
+
case "Init": {
|
|
1149
|
+
bare3.writeU8(bc, 0);
|
|
1150
|
+
writeInit3(bc, x.val);
|
|
1151
|
+
break;
|
|
1491
1152
|
}
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1153
|
+
case "Error": {
|
|
1154
|
+
bare3.writeU8(bc, 1);
|
|
1155
|
+
writeError3(bc, x.val);
|
|
1156
|
+
break;
|
|
1157
|
+
}
|
|
1158
|
+
case "ActionResponse": {
|
|
1159
|
+
bare3.writeU8(bc, 2);
|
|
1160
|
+
writeActionResponse3(bc, x.val);
|
|
1161
|
+
break;
|
|
1162
|
+
}
|
|
1163
|
+
case "Event": {
|
|
1164
|
+
bare3.writeU8(bc, 3);
|
|
1165
|
+
writeEvent3(bc, x.val);
|
|
1166
|
+
break;
|
|
1167
|
+
}
|
|
1168
|
+
}
|
|
1169
|
+
}
|
|
1170
|
+
function readToClient3(bc) {
|
|
1171
|
+
return {
|
|
1172
|
+
body: readToClientBody3(bc)
|
|
1173
|
+
};
|
|
1174
|
+
}
|
|
1175
|
+
function writeToClient3(bc, x) {
|
|
1176
|
+
writeToClientBody3(bc, x.body);
|
|
1177
|
+
}
|
|
1178
|
+
function encodeToClient3(x) {
|
|
1179
|
+
const bc = new bare3.ByteCursor(
|
|
1180
|
+
new Uint8Array(config3.initialBufferLength),
|
|
1181
|
+
config3
|
|
1182
|
+
);
|
|
1183
|
+
writeToClient3(bc, x);
|
|
1184
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
1185
|
+
}
|
|
1186
|
+
function decodeToClient3(bytes) {
|
|
1187
|
+
const bc = new bare3.ByteCursor(bytes, config3);
|
|
1188
|
+
const result = readToClient3(bc);
|
|
1189
|
+
if (bc.offset < bc.view.byteLength) {
|
|
1190
|
+
throw new bare3.BareError(bc.offset, "remaining bytes");
|
|
1191
|
+
}
|
|
1192
|
+
return result;
|
|
1193
|
+
}
|
|
1194
|
+
function readActionRequest3(bc) {
|
|
1195
|
+
return {
|
|
1196
|
+
id: bare3.readUint(bc),
|
|
1197
|
+
name: bare3.readString(bc),
|
|
1198
|
+
args: bare3.readData(bc)
|
|
1199
|
+
};
|
|
1200
|
+
}
|
|
1201
|
+
function writeActionRequest3(bc, x) {
|
|
1202
|
+
bare3.writeUint(bc, x.id);
|
|
1203
|
+
bare3.writeString(bc, x.name);
|
|
1204
|
+
bare3.writeData(bc, x.args);
|
|
1205
|
+
}
|
|
1206
|
+
function readSubscriptionRequest3(bc) {
|
|
1207
|
+
return {
|
|
1208
|
+
eventName: bare3.readString(bc),
|
|
1209
|
+
subscribe: bare3.readBool(bc)
|
|
1210
|
+
};
|
|
1211
|
+
}
|
|
1212
|
+
function writeSubscriptionRequest3(bc, x) {
|
|
1213
|
+
bare3.writeString(bc, x.eventName);
|
|
1214
|
+
bare3.writeBool(bc, x.subscribe);
|
|
1215
|
+
}
|
|
1216
|
+
function readToServerBody3(bc) {
|
|
1217
|
+
const offset = bc.offset;
|
|
1218
|
+
const tag = bare3.readU8(bc);
|
|
1219
|
+
switch (tag) {
|
|
1220
|
+
case 0:
|
|
1221
|
+
return { tag: "ActionRequest", val: readActionRequest3(bc) };
|
|
1222
|
+
case 1:
|
|
1223
|
+
return { tag: "SubscriptionRequest", val: readSubscriptionRequest3(bc) };
|
|
1224
|
+
default: {
|
|
1225
|
+
bc.offset = offset;
|
|
1226
|
+
throw new bare3.BareError(offset, "invalid tag");
|
|
1227
|
+
}
|
|
1228
|
+
}
|
|
1229
|
+
}
|
|
1230
|
+
function writeToServerBody3(bc, x) {
|
|
1231
|
+
switch (x.tag) {
|
|
1232
|
+
case "ActionRequest": {
|
|
1233
|
+
bare3.writeU8(bc, 0);
|
|
1234
|
+
writeActionRequest3(bc, x.val);
|
|
1235
|
+
break;
|
|
1236
|
+
}
|
|
1237
|
+
case "SubscriptionRequest": {
|
|
1238
|
+
bare3.writeU8(bc, 1);
|
|
1239
|
+
writeSubscriptionRequest3(bc, x.val);
|
|
1240
|
+
break;
|
|
1241
|
+
}
|
|
1242
|
+
}
|
|
1243
|
+
}
|
|
1244
|
+
function readToServer3(bc) {
|
|
1245
|
+
return {
|
|
1246
|
+
body: readToServerBody3(bc)
|
|
1247
|
+
};
|
|
1248
|
+
}
|
|
1249
|
+
function writeToServer3(bc, x) {
|
|
1250
|
+
writeToServerBody3(bc, x.body);
|
|
1251
|
+
}
|
|
1252
|
+
function encodeToServer3(x) {
|
|
1253
|
+
const bc = new bare3.ByteCursor(
|
|
1254
|
+
new Uint8Array(config3.initialBufferLength),
|
|
1255
|
+
config3
|
|
1256
|
+
);
|
|
1257
|
+
writeToServer3(bc, x);
|
|
1258
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
1259
|
+
}
|
|
1260
|
+
function decodeToServer3(bytes) {
|
|
1261
|
+
const bc = new bare3.ByteCursor(bytes, config3);
|
|
1262
|
+
const result = readToServer3(bc);
|
|
1263
|
+
if (bc.offset < bc.view.byteLength) {
|
|
1264
|
+
throw new bare3.BareError(bc.offset, "remaining bytes");
|
|
1265
|
+
}
|
|
1266
|
+
return result;
|
|
1267
|
+
}
|
|
1268
|
+
function readHttpActionRequest3(bc) {
|
|
1269
|
+
return {
|
|
1270
|
+
args: bare3.readData(bc)
|
|
1271
|
+
};
|
|
1272
|
+
}
|
|
1273
|
+
function writeHttpActionRequest3(bc, x) {
|
|
1274
|
+
bare3.writeData(bc, x.args);
|
|
1275
|
+
}
|
|
1276
|
+
function encodeHttpActionRequest3(x) {
|
|
1277
|
+
const bc = new bare3.ByteCursor(
|
|
1278
|
+
new Uint8Array(config3.initialBufferLength),
|
|
1279
|
+
config3
|
|
1280
|
+
);
|
|
1281
|
+
writeHttpActionRequest3(bc, x);
|
|
1282
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
1283
|
+
}
|
|
1284
|
+
function decodeHttpActionRequest3(bytes) {
|
|
1285
|
+
const bc = new bare3.ByteCursor(bytes, config3);
|
|
1286
|
+
const result = readHttpActionRequest3(bc);
|
|
1287
|
+
if (bc.offset < bc.view.byteLength) {
|
|
1288
|
+
throw new bare3.BareError(bc.offset, "remaining bytes");
|
|
1289
|
+
}
|
|
1290
|
+
return result;
|
|
1291
|
+
}
|
|
1292
|
+
function readHttpActionResponse3(bc) {
|
|
1293
|
+
return {
|
|
1294
|
+
output: bare3.readData(bc)
|
|
1295
|
+
};
|
|
1296
|
+
}
|
|
1297
|
+
function writeHttpActionResponse3(bc, x) {
|
|
1298
|
+
bare3.writeData(bc, x.output);
|
|
1299
|
+
}
|
|
1300
|
+
function encodeHttpActionResponse3(x) {
|
|
1301
|
+
const bc = new bare3.ByteCursor(
|
|
1302
|
+
new Uint8Array(config3.initialBufferLength),
|
|
1303
|
+
config3
|
|
1304
|
+
);
|
|
1305
|
+
writeHttpActionResponse3(bc, x);
|
|
1306
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
1307
|
+
}
|
|
1308
|
+
function decodeHttpActionResponse3(bytes) {
|
|
1309
|
+
const bc = new bare3.ByteCursor(bytes, config3);
|
|
1310
|
+
const result = readHttpActionResponse3(bc);
|
|
1311
|
+
if (bc.offset < bc.view.byteLength) {
|
|
1312
|
+
throw new bare3.BareError(bc.offset, "remaining bytes");
|
|
1313
|
+
}
|
|
1314
|
+
return result;
|
|
1315
|
+
}
|
|
1316
|
+
function read2(bc) {
|
|
1317
|
+
return bare3.readBool(bc) ? bare3.readString(bc) : null;
|
|
1318
|
+
}
|
|
1319
|
+
function write2(bc, x) {
|
|
1320
|
+
bare3.writeBool(bc, x !== null);
|
|
1321
|
+
if (x !== null) {
|
|
1322
|
+
bare3.writeString(bc, x);
|
|
1323
|
+
}
|
|
1324
|
+
}
|
|
1325
|
+
function read3(bc) {
|
|
1326
|
+
return bare3.readBool(bc) ? bare3.readBool(bc) : null;
|
|
1327
|
+
}
|
|
1328
|
+
function write3(bc, x) {
|
|
1329
|
+
bare3.writeBool(bc, x !== null);
|
|
1330
|
+
if (x !== null) {
|
|
1331
|
+
bare3.writeBool(bc, x);
|
|
1332
|
+
}
|
|
1333
|
+
}
|
|
1334
|
+
function read4(bc) {
|
|
1335
|
+
return bare3.readBool(bc) ? bare3.readU64(bc) : null;
|
|
1336
|
+
}
|
|
1337
|
+
function write4(bc, x) {
|
|
1338
|
+
bare3.writeBool(bc, x !== null);
|
|
1339
|
+
if (x !== null) {
|
|
1340
|
+
bare3.writeU64(bc, x);
|
|
1341
|
+
}
|
|
1342
|
+
}
|
|
1343
|
+
function readHttpQueueSendRequest(bc) {
|
|
1344
|
+
return {
|
|
1345
|
+
body: bare3.readData(bc),
|
|
1346
|
+
name: read2(bc),
|
|
1347
|
+
wait: read3(bc),
|
|
1348
|
+
timeout: read4(bc)
|
|
1349
|
+
};
|
|
1350
|
+
}
|
|
1351
|
+
function writeHttpQueueSendRequest(bc, x) {
|
|
1352
|
+
bare3.writeData(bc, x.body);
|
|
1353
|
+
write2(bc, x.name);
|
|
1354
|
+
write3(bc, x.wait);
|
|
1355
|
+
write4(bc, x.timeout);
|
|
1356
|
+
}
|
|
1357
|
+
function encodeHttpQueueSendRequest(x) {
|
|
1358
|
+
const bc = new bare3.ByteCursor(
|
|
1359
|
+
new Uint8Array(config3.initialBufferLength),
|
|
1360
|
+
config3
|
|
1361
|
+
);
|
|
1362
|
+
writeHttpQueueSendRequest(bc, x);
|
|
1363
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
1364
|
+
}
|
|
1365
|
+
function decodeHttpQueueSendRequest(bytes) {
|
|
1366
|
+
const bc = new bare3.ByteCursor(bytes, config3);
|
|
1367
|
+
const result = readHttpQueueSendRequest(bc);
|
|
1368
|
+
if (bc.offset < bc.view.byteLength) {
|
|
1369
|
+
throw new bare3.BareError(bc.offset, "remaining bytes");
|
|
1370
|
+
}
|
|
1371
|
+
return result;
|
|
1372
|
+
}
|
|
1373
|
+
function readHttpQueueSendResponse(bc) {
|
|
1374
|
+
return {
|
|
1375
|
+
status: bare3.readString(bc),
|
|
1376
|
+
response: read03(bc)
|
|
1377
|
+
};
|
|
1378
|
+
}
|
|
1379
|
+
function writeHttpQueueSendResponse(bc, x) {
|
|
1380
|
+
bare3.writeString(bc, x.status);
|
|
1381
|
+
write03(bc, x.response);
|
|
1382
|
+
}
|
|
1383
|
+
function encodeHttpQueueSendResponse(x) {
|
|
1384
|
+
const bc = new bare3.ByteCursor(
|
|
1385
|
+
new Uint8Array(config3.initialBufferLength),
|
|
1386
|
+
config3
|
|
1387
|
+
);
|
|
1388
|
+
writeHttpQueueSendResponse(bc, x);
|
|
1389
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
1390
|
+
}
|
|
1391
|
+
function decodeHttpQueueSendResponse(bytes) {
|
|
1392
|
+
const bc = new bare3.ByteCursor(bytes, config3);
|
|
1393
|
+
const result = readHttpQueueSendResponse(bc);
|
|
1394
|
+
if (bc.offset < bc.view.byteLength) {
|
|
1395
|
+
throw new bare3.BareError(bc.offset, "remaining bytes");
|
|
1396
|
+
}
|
|
1397
|
+
return result;
|
|
1398
|
+
}
|
|
1399
|
+
function readHttpResponseError3(bc) {
|
|
1400
|
+
return {
|
|
1401
|
+
group: bare3.readString(bc),
|
|
1402
|
+
code: bare3.readString(bc),
|
|
1403
|
+
message: bare3.readString(bc),
|
|
1404
|
+
metadata: read03(bc)
|
|
1405
|
+
};
|
|
1406
|
+
}
|
|
1407
|
+
function writeHttpResponseError3(bc, x) {
|
|
1408
|
+
bare3.writeString(bc, x.group);
|
|
1409
|
+
bare3.writeString(bc, x.code);
|
|
1410
|
+
bare3.writeString(bc, x.message);
|
|
1411
|
+
write03(bc, x.metadata);
|
|
1412
|
+
}
|
|
1413
|
+
function encodeHttpResponseError3(x) {
|
|
1414
|
+
const bc = new bare3.ByteCursor(
|
|
1415
|
+
new Uint8Array(config3.initialBufferLength),
|
|
1416
|
+
config3
|
|
1417
|
+
);
|
|
1418
|
+
writeHttpResponseError3(bc, x);
|
|
1419
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
1420
|
+
}
|
|
1421
|
+
function decodeHttpResponseError3(bytes) {
|
|
1422
|
+
const bc = new bare3.ByteCursor(bytes, config3);
|
|
1423
|
+
const result = readHttpResponseError3(bc);
|
|
1424
|
+
if (bc.offset < bc.view.byteLength) {
|
|
1425
|
+
throw new bare3.BareError(bc.offset, "remaining bytes");
|
|
1426
|
+
}
|
|
1427
|
+
return result;
|
|
1428
|
+
}
|
|
1429
|
+
function readHttpResolveResponse3(bc) {
|
|
1430
|
+
return {
|
|
1431
|
+
actorId: bare3.readString(bc)
|
|
1432
|
+
};
|
|
1433
|
+
}
|
|
1434
|
+
function writeHttpResolveResponse3(bc, x) {
|
|
1435
|
+
bare3.writeString(bc, x.actorId);
|
|
1436
|
+
}
|
|
1437
|
+
function encodeHttpResolveResponse3(x) {
|
|
1438
|
+
const bc = new bare3.ByteCursor(
|
|
1439
|
+
new Uint8Array(config3.initialBufferLength),
|
|
1440
|
+
config3
|
|
1441
|
+
);
|
|
1442
|
+
writeHttpResolveResponse3(bc, x);
|
|
1443
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
1444
|
+
}
|
|
1445
|
+
function decodeHttpResolveResponse3(bytes) {
|
|
1446
|
+
const bc = new bare3.ByteCursor(bytes, config3);
|
|
1447
|
+
const result = readHttpResolveResponse3(bc);
|
|
1448
|
+
if (bc.offset < bc.view.byteLength) {
|
|
1449
|
+
throw new bare3.BareError(bc.offset, "remaining bytes");
|
|
1450
|
+
}
|
|
1451
|
+
return result;
|
|
1452
|
+
}
|
|
1453
|
+
|
|
1454
|
+
// src/schemas/client-protocol/versioned.ts
|
|
1455
|
+
var CURRENT_VERSION2 = 3;
|
|
1456
|
+
var v1ToV2 = (v1Data) => {
|
|
1457
|
+
if (v1Data.body.tag === "Init") {
|
|
1458
|
+
const { actorId, connectionId } = v1Data.body.val;
|
|
1459
|
+
return {
|
|
1460
|
+
body: {
|
|
1461
|
+
tag: "Init",
|
|
1462
|
+
val: {
|
|
1463
|
+
actorId,
|
|
1464
|
+
connectionId
|
|
1465
|
+
}
|
|
1466
|
+
}
|
|
1467
|
+
};
|
|
1468
|
+
}
|
|
1469
|
+
return v1Data;
|
|
1470
|
+
};
|
|
1471
|
+
var v2ToV1 = (v2Data) => {
|
|
1472
|
+
if (v2Data.body.tag === "Init") {
|
|
1473
|
+
const { actorId, connectionId } = v2Data.body.val;
|
|
1474
|
+
return {
|
|
1475
|
+
body: {
|
|
1476
|
+
tag: "Init",
|
|
1477
|
+
val: {
|
|
1478
|
+
actorId,
|
|
1479
|
+
connectionId,
|
|
1480
|
+
connectionToken: ""
|
|
1481
|
+
// Add empty connectionToken for v1 compatibility
|
|
1482
|
+
}
|
|
1483
|
+
}
|
|
1484
|
+
};
|
|
1485
|
+
}
|
|
1486
|
+
return v2Data;
|
|
1487
|
+
};
|
|
1488
|
+
var v2ToV3 = (v2Data) => {
|
|
1489
|
+
return v2Data;
|
|
1490
|
+
};
|
|
1491
|
+
var v3ToV2 = (v3Data) => {
|
|
1492
|
+
return v3Data;
|
|
1493
|
+
};
|
|
1494
|
+
var v1ToServerV2 = (v1Data) => {
|
|
1495
|
+
return v1Data;
|
|
1496
|
+
};
|
|
1497
|
+
var v2ToServerV3 = (v2Data) => {
|
|
1498
|
+
return v2Data;
|
|
1499
|
+
};
|
|
1500
|
+
var v3ToServerV2 = (v3Data) => {
|
|
1501
|
+
return v3Data;
|
|
1502
|
+
};
|
|
1503
|
+
var v2ToServerV1 = (v2Data) => {
|
|
1504
|
+
return v2Data;
|
|
1505
|
+
};
|
|
1506
|
+
var TO_SERVER_VERSIONED2 = createVersionedDataHandler({
|
|
1507
|
+
deserializeVersion: (bytes, version) => {
|
|
1508
|
+
switch (version) {
|
|
1509
|
+
case 1:
|
|
1510
|
+
return decodeToServer(bytes);
|
|
1511
|
+
case 2:
|
|
1512
|
+
return decodeToServer2(bytes);
|
|
1513
|
+
case 3:
|
|
1514
|
+
return decodeToServer3(bytes);
|
|
1515
|
+
default:
|
|
1516
|
+
throw new Error(`Unknown version ${version}`);
|
|
1517
|
+
}
|
|
1518
|
+
},
|
|
1519
|
+
serializeVersion: (data, version) => {
|
|
1520
|
+
switch (version) {
|
|
1521
|
+
case 1:
|
|
1522
|
+
return encodeToServer(data);
|
|
1523
|
+
case 2:
|
|
1524
|
+
return encodeToServer2(data);
|
|
1525
|
+
case 3:
|
|
1526
|
+
return encodeToServer3(data);
|
|
1527
|
+
default:
|
|
1528
|
+
throw new Error(`Unknown version ${version}`);
|
|
1529
|
+
}
|
|
1530
|
+
},
|
|
1531
|
+
deserializeConverters: () => [v1ToServerV2, v2ToServerV3],
|
|
1532
|
+
serializeConverters: () => [v3ToServerV2, v2ToServerV1]
|
|
1533
|
+
});
|
|
1534
|
+
var TO_CLIENT_VERSIONED2 = createVersionedDataHandler({
|
|
1535
|
+
deserializeVersion: (bytes, version) => {
|
|
1536
|
+
switch (version) {
|
|
1537
|
+
case 1:
|
|
1538
|
+
return decodeToClient(bytes);
|
|
1539
|
+
case 2:
|
|
1540
|
+
return decodeToClient2(bytes);
|
|
1541
|
+
case 3:
|
|
1542
|
+
return decodeToClient3(bytes);
|
|
1503
1543
|
default:
|
|
1504
1544
|
throw new Error(`Unknown version ${version}`);
|
|
1505
1545
|
}
|
|
@@ -1510,12 +1550,14 @@ var TO_CLIENT_VERSIONED2 = createVersionedDataHandler({
|
|
|
1510
1550
|
return encodeToClient(data);
|
|
1511
1551
|
case 2:
|
|
1512
1552
|
return encodeToClient2(data);
|
|
1553
|
+
case 3:
|
|
1554
|
+
return encodeToClient3(data);
|
|
1513
1555
|
default:
|
|
1514
1556
|
throw new Error(`Unknown version ${version}`);
|
|
1515
1557
|
}
|
|
1516
1558
|
},
|
|
1517
|
-
deserializeConverters: () => [v1ToV2],
|
|
1518
|
-
serializeConverters: () => [v2ToV1]
|
|
1559
|
+
deserializeConverters: () => [v1ToV2, v2ToV3],
|
|
1560
|
+
serializeConverters: () => [v3ToV2, v2ToV1]
|
|
1519
1561
|
});
|
|
1520
1562
|
var HTTP_ACTION_REQUEST_VERSIONED = createVersionedDataHandler({
|
|
1521
1563
|
deserializeVersion: (bytes, version) => {
|
|
@@ -1524,6 +1566,8 @@ var HTTP_ACTION_REQUEST_VERSIONED = createVersionedDataHandler({
|
|
|
1524
1566
|
return decodeHttpActionRequest(bytes);
|
|
1525
1567
|
case 2:
|
|
1526
1568
|
return decodeHttpActionRequest2(bytes);
|
|
1569
|
+
case 3:
|
|
1570
|
+
return decodeHttpActionRequest3(bytes);
|
|
1527
1571
|
default:
|
|
1528
1572
|
throw new Error(`Unknown version ${version}`);
|
|
1529
1573
|
}
|
|
@@ -1538,6 +1582,10 @@ var HTTP_ACTION_REQUEST_VERSIONED = createVersionedDataHandler({
|
|
|
1538
1582
|
return encodeHttpActionRequest2(
|
|
1539
1583
|
data
|
|
1540
1584
|
);
|
|
1585
|
+
case 3:
|
|
1586
|
+
return encodeHttpActionRequest3(
|
|
1587
|
+
data
|
|
1588
|
+
);
|
|
1541
1589
|
default:
|
|
1542
1590
|
throw new Error(`Unknown version ${version}`);
|
|
1543
1591
|
}
|
|
@@ -1552,6 +1600,8 @@ var HTTP_ACTION_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
1552
1600
|
return decodeHttpActionResponse(bytes);
|
|
1553
1601
|
case 2:
|
|
1554
1602
|
return decodeHttpActionResponse2(bytes);
|
|
1603
|
+
case 3:
|
|
1604
|
+
return decodeHttpActionResponse3(bytes);
|
|
1555
1605
|
default:
|
|
1556
1606
|
throw new Error(`Unknown version ${version}`);
|
|
1557
1607
|
}
|
|
@@ -1566,6 +1616,10 @@ var HTTP_ACTION_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
1566
1616
|
return encodeHttpActionResponse2(
|
|
1567
1617
|
data
|
|
1568
1618
|
);
|
|
1619
|
+
case 3:
|
|
1620
|
+
return encodeHttpActionResponse3(
|
|
1621
|
+
data
|
|
1622
|
+
);
|
|
1569
1623
|
default:
|
|
1570
1624
|
throw new Error(`Unknown version ${version}`);
|
|
1571
1625
|
}
|
|
@@ -1573,6 +1627,58 @@ var HTTP_ACTION_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
1573
1627
|
deserializeConverters: () => [],
|
|
1574
1628
|
serializeConverters: () => []
|
|
1575
1629
|
});
|
|
1630
|
+
var HTTP_QUEUE_SEND_REQUEST_VERSIONED = createVersionedDataHandler({
|
|
1631
|
+
deserializeVersion: (bytes, version) => {
|
|
1632
|
+
switch (version) {
|
|
1633
|
+
case 3:
|
|
1634
|
+
return decodeHttpQueueSendRequest(bytes);
|
|
1635
|
+
default:
|
|
1636
|
+
throw new Error(
|
|
1637
|
+
`HttpQueueSendRequest only exists in version 3+, got version ${version}`
|
|
1638
|
+
);
|
|
1639
|
+
}
|
|
1640
|
+
},
|
|
1641
|
+
serializeVersion: (data, version) => {
|
|
1642
|
+
switch (version) {
|
|
1643
|
+
case 3:
|
|
1644
|
+
return encodeHttpQueueSendRequest(
|
|
1645
|
+
data
|
|
1646
|
+
);
|
|
1647
|
+
default:
|
|
1648
|
+
throw new Error(
|
|
1649
|
+
`HttpQueueSendRequest only exists in version 3+, got version ${version}`
|
|
1650
|
+
);
|
|
1651
|
+
}
|
|
1652
|
+
},
|
|
1653
|
+
deserializeConverters: () => [],
|
|
1654
|
+
serializeConverters: () => []
|
|
1655
|
+
});
|
|
1656
|
+
var HTTP_QUEUE_SEND_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
1657
|
+
deserializeVersion: (bytes, version) => {
|
|
1658
|
+
switch (version) {
|
|
1659
|
+
case 3:
|
|
1660
|
+
return decodeHttpQueueSendResponse(bytes);
|
|
1661
|
+
default:
|
|
1662
|
+
throw new Error(
|
|
1663
|
+
`HttpQueueSendResponse only exists in version 3+, got version ${version}`
|
|
1664
|
+
);
|
|
1665
|
+
}
|
|
1666
|
+
},
|
|
1667
|
+
serializeVersion: (data, version) => {
|
|
1668
|
+
switch (version) {
|
|
1669
|
+
case 3:
|
|
1670
|
+
return encodeHttpQueueSendResponse(
|
|
1671
|
+
data
|
|
1672
|
+
);
|
|
1673
|
+
default:
|
|
1674
|
+
throw new Error(
|
|
1675
|
+
`HttpQueueSendResponse only exists in version 3+, got version ${version}`
|
|
1676
|
+
);
|
|
1677
|
+
}
|
|
1678
|
+
},
|
|
1679
|
+
deserializeConverters: () => [],
|
|
1680
|
+
serializeConverters: () => []
|
|
1681
|
+
});
|
|
1576
1682
|
var HTTP_RESPONSE_ERROR_VERSIONED = createVersionedDataHandler({
|
|
1577
1683
|
deserializeVersion: (bytes, version) => {
|
|
1578
1684
|
switch (version) {
|
|
@@ -1580,6 +1686,8 @@ var HTTP_RESPONSE_ERROR_VERSIONED = createVersionedDataHandler({
|
|
|
1580
1686
|
return decodeHttpResponseError(bytes);
|
|
1581
1687
|
case 2:
|
|
1582
1688
|
return decodeHttpResponseError2(bytes);
|
|
1689
|
+
case 3:
|
|
1690
|
+
return decodeHttpResponseError3(bytes);
|
|
1583
1691
|
default:
|
|
1584
1692
|
throw new Error(`Unknown version ${version}`);
|
|
1585
1693
|
}
|
|
@@ -1594,6 +1702,10 @@ var HTTP_RESPONSE_ERROR_VERSIONED = createVersionedDataHandler({
|
|
|
1594
1702
|
return encodeHttpResponseError2(
|
|
1595
1703
|
data
|
|
1596
1704
|
);
|
|
1705
|
+
case 3:
|
|
1706
|
+
return encodeHttpResponseError3(
|
|
1707
|
+
data
|
|
1708
|
+
);
|
|
1597
1709
|
default:
|
|
1598
1710
|
throw new Error(`Unknown version ${version}`);
|
|
1599
1711
|
}
|
|
@@ -1608,6 +1720,8 @@ var HTTP_RESOLVE_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
1608
1720
|
return decodeHttpResolveResponse(bytes);
|
|
1609
1721
|
case 2:
|
|
1610
1722
|
return decodeHttpResolveResponse2(bytes);
|
|
1723
|
+
case 3:
|
|
1724
|
+
return decodeHttpResolveResponse3(bytes);
|
|
1611
1725
|
default:
|
|
1612
1726
|
throw new Error(`Unknown version ${version}`);
|
|
1613
1727
|
}
|
|
@@ -1622,6 +1736,10 @@ var HTTP_RESOLVE_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
1622
1736
|
return encodeHttpResolveResponse2(
|
|
1623
1737
|
data
|
|
1624
1738
|
);
|
|
1739
|
+
case 3:
|
|
1740
|
+
return encodeHttpResolveResponse3(
|
|
1741
|
+
data
|
|
1742
|
+
);
|
|
1625
1743
|
default:
|
|
1626
1744
|
throw new Error(`Unknown version ${version}`);
|
|
1627
1745
|
}
|
|
@@ -1631,7 +1749,7 @@ var HTTP_RESOLVE_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
1631
1749
|
});
|
|
1632
1750
|
|
|
1633
1751
|
// src/schemas/client-protocol-zod/mod.ts
|
|
1634
|
-
import { z as z2 } from "zod";
|
|
1752
|
+
import { z as z2 } from "zod/v4";
|
|
1635
1753
|
var UintSchema = z2.bigint();
|
|
1636
1754
|
var OptionalUintSchema = UintSchema.nullable();
|
|
1637
1755
|
var InitSchema = z2.object({
|
|
@@ -1687,6 +1805,16 @@ var HttpActionRequestSchema = z2.object({
|
|
|
1687
1805
|
var HttpActionResponseSchema = z2.object({
|
|
1688
1806
|
output: z2.unknown()
|
|
1689
1807
|
});
|
|
1808
|
+
var HttpQueueSendRequestSchema = z2.object({
|
|
1809
|
+
body: z2.unknown(),
|
|
1810
|
+
name: z2.string().optional(),
|
|
1811
|
+
wait: z2.boolean().optional(),
|
|
1812
|
+
timeout: z2.number().optional()
|
|
1813
|
+
});
|
|
1814
|
+
var HttpQueueSendResponseSchema = z2.object({
|
|
1815
|
+
status: z2.enum(["completed", "timedOut"]),
|
|
1816
|
+
response: z2.unknown().optional()
|
|
1817
|
+
});
|
|
1690
1818
|
var HttpResponseErrorSchema = z2.object({
|
|
1691
1819
|
group: z2.string(),
|
|
1692
1820
|
code: z2.string(),
|
|
@@ -1723,11 +1851,11 @@ function createRawRequestDriver() {
|
|
|
1723
1851
|
}
|
|
1724
1852
|
|
|
1725
1853
|
// src/actor/router-endpoints.ts
|
|
1726
|
-
async function handleAction(c,
|
|
1854
|
+
async function handleAction(c, config8, actorDriver, actionName, actorId) {
|
|
1727
1855
|
const encoding = getRequestEncoding(c.req);
|
|
1728
1856
|
const parameters = getRequestConnParams(c.req);
|
|
1729
1857
|
const arrayBuffer = await c.req.arrayBuffer();
|
|
1730
|
-
if (arrayBuffer.byteLength >
|
|
1858
|
+
if (arrayBuffer.byteLength > config8.maxIncomingMessageSize) {
|
|
1731
1859
|
throw new IncomingMessageTooLong();
|
|
1732
1860
|
}
|
|
1733
1861
|
const request = deserializeWithEncoding(
|
|
@@ -1738,47 +1866,157 @@ async function handleAction(c, config6, actorDriver, actionName, actorId) {
|
|
|
1738
1866
|
// JSON: args is already the decoded value (raw object/array)
|
|
1739
1867
|
(json) => json.args,
|
|
1740
1868
|
// BARE/CBOR: args is ArrayBuffer that needs CBOR-decoding
|
|
1741
|
-
(
|
|
1869
|
+
(bare8) => cbor2.decode(new Uint8Array(bare8.args))
|
|
1742
1870
|
);
|
|
1743
1871
|
const actionArgs = request;
|
|
1744
|
-
let actor;
|
|
1745
|
-
let conn;
|
|
1746
1872
|
let output;
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1873
|
+
let outputReady = false;
|
|
1874
|
+
const maxAttempts = 3;
|
|
1875
|
+
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
1876
|
+
let actor;
|
|
1877
|
+
let conn;
|
|
1878
|
+
try {
|
|
1879
|
+
actor = await actorDriver.loadActor(actorId);
|
|
1880
|
+
actor.rLog.debug({ msg: "handling action", actionName, encoding });
|
|
1881
|
+
conn = await actor.connectionManager.prepareAndConnectConn(
|
|
1882
|
+
createHttpDriver(),
|
|
1883
|
+
parameters,
|
|
1884
|
+
c.req.raw,
|
|
1885
|
+
c.req.path,
|
|
1886
|
+
c.req.header()
|
|
1887
|
+
);
|
|
1888
|
+
const ctx = new ActionContext(actor, conn);
|
|
1889
|
+
output = await actor.executeAction(ctx, actionName, actionArgs);
|
|
1890
|
+
outputReady = true;
|
|
1891
|
+
break;
|
|
1892
|
+
} catch (error) {
|
|
1893
|
+
const shouldRetry = error instanceof InternalError && error.message === "Actor is stopping" && attempt < maxAttempts - 1;
|
|
1894
|
+
if (shouldRetry) {
|
|
1895
|
+
await new Promise((resolve) => setTimeout(resolve, 25));
|
|
1896
|
+
continue;
|
|
1897
|
+
}
|
|
1898
|
+
throw error;
|
|
1899
|
+
} finally {
|
|
1900
|
+
if (conn) {
|
|
1901
|
+
conn.disconnect();
|
|
1902
|
+
}
|
|
1762
1903
|
}
|
|
1763
1904
|
}
|
|
1905
|
+
if (!outputReady) {
|
|
1906
|
+
throw new InternalError("Action did not complete");
|
|
1907
|
+
}
|
|
1764
1908
|
const serialized = serializeWithEncoding(
|
|
1765
1909
|
encoding,
|
|
1766
1910
|
output,
|
|
1767
1911
|
HTTP_ACTION_RESPONSE_VERSIONED,
|
|
1768
|
-
|
|
1912
|
+
CURRENT_VERSION2,
|
|
1769
1913
|
HttpActionResponseSchema,
|
|
1770
1914
|
// JSON: output is the raw value (will be serialized by jsonStringifyCompat)
|
|
1771
1915
|
(value) => ({ output: value }),
|
|
1772
1916
|
// BARE/CBOR: output needs to be CBOR-encoded to ArrayBuffer
|
|
1773
1917
|
(value) => ({
|
|
1774
|
-
output: bufferToArrayBuffer(cbor2.encode(value))
|
|
1918
|
+
output: bufferToArrayBuffer(cbor2.encode(value))
|
|
1919
|
+
})
|
|
1920
|
+
);
|
|
1921
|
+
const messageSize = serialized instanceof Uint8Array ? serialized.byteLength : serialized.length;
|
|
1922
|
+
if (messageSize > config8.maxOutgoingMessageSize) {
|
|
1923
|
+
throw new OutgoingMessageTooLong();
|
|
1924
|
+
}
|
|
1925
|
+
return c.body(serialized, 200, {
|
|
1926
|
+
"Content-Type": contentTypeForEncoding(encoding)
|
|
1927
|
+
});
|
|
1928
|
+
}
|
|
1929
|
+
async function handleQueueSend(c, config8, actorDriver, actorId, queueName) {
|
|
1930
|
+
const encoding = getRequestEncoding(c.req);
|
|
1931
|
+
const params = getRequestConnParams(c.req);
|
|
1932
|
+
const arrayBuffer = await c.req.arrayBuffer();
|
|
1933
|
+
if (arrayBuffer.byteLength > config8.maxIncomingMessageSize) {
|
|
1934
|
+
throw new IncomingMessageTooLong();
|
|
1935
|
+
}
|
|
1936
|
+
const request = deserializeWithEncoding(
|
|
1937
|
+
encoding,
|
|
1938
|
+
new Uint8Array(arrayBuffer),
|
|
1939
|
+
HTTP_QUEUE_SEND_REQUEST_VERSIONED,
|
|
1940
|
+
HttpQueueSendRequestSchema,
|
|
1941
|
+
(json) => json,
|
|
1942
|
+
(bare8) => ({
|
|
1943
|
+
name: bare8.name ?? void 0,
|
|
1944
|
+
body: cbor2.decode(new Uint8Array(bare8.body)),
|
|
1945
|
+
wait: bare8.wait ?? void 0,
|
|
1946
|
+
timeout: bare8.timeout !== null && bare8.timeout !== void 0 ? Number(bare8.timeout) : void 0
|
|
1947
|
+
})
|
|
1948
|
+
);
|
|
1949
|
+
const name = queueName ?? request.name;
|
|
1950
|
+
if (!name) {
|
|
1951
|
+
throw new InvalidRequest("missing queue name");
|
|
1952
|
+
}
|
|
1953
|
+
const actor = await actorDriver.loadActor(actorId);
|
|
1954
|
+
if (!hasSchemaConfigKey(actor.config.queues, name)) {
|
|
1955
|
+
actor.rLog.warn({
|
|
1956
|
+
msg: "ignoring incoming queue message for undefined queue",
|
|
1957
|
+
queueName: name,
|
|
1958
|
+
hasQueueConfig: actor.config.queues !== void 0
|
|
1959
|
+
});
|
|
1960
|
+
const ignoredResponse = serializeWithEncoding(
|
|
1961
|
+
encoding,
|
|
1962
|
+
{ status: "completed", response: void 0 },
|
|
1963
|
+
HTTP_QUEUE_SEND_RESPONSE_VERSIONED,
|
|
1964
|
+
CURRENT_VERSION2,
|
|
1965
|
+
HttpQueueSendResponseSchema,
|
|
1966
|
+
(value) => ({
|
|
1967
|
+
status: value.status,
|
|
1968
|
+
response: value.response
|
|
1969
|
+
}),
|
|
1970
|
+
(value) => ({
|
|
1971
|
+
status: value.status,
|
|
1972
|
+
response: value.response !== void 0 ? bufferToArrayBuffer(cbor2.encode(value.response)) : null
|
|
1973
|
+
})
|
|
1974
|
+
);
|
|
1975
|
+
return c.body(ignoredResponse, 200, {
|
|
1976
|
+
"Content-Type": contentTypeForEncoding(encoding)
|
|
1977
|
+
});
|
|
1978
|
+
}
|
|
1979
|
+
const conn = await actor.connectionManager.prepareAndConnectConn(
|
|
1980
|
+
createHttpDriver(),
|
|
1981
|
+
params,
|
|
1982
|
+
c.req.raw,
|
|
1983
|
+
c.req.path,
|
|
1984
|
+
c.req.header()
|
|
1985
|
+
);
|
|
1986
|
+
let result = {
|
|
1987
|
+
status: "completed"
|
|
1988
|
+
};
|
|
1989
|
+
try {
|
|
1990
|
+
const ctx = new ActionContext(actor, conn);
|
|
1991
|
+
await actor.assertCanPublish(ctx, name);
|
|
1992
|
+
if (request.wait) {
|
|
1993
|
+
result = await actor.queueManager.enqueueAndWait(
|
|
1994
|
+
name,
|
|
1995
|
+
request.body,
|
|
1996
|
+
request.timeout
|
|
1997
|
+
);
|
|
1998
|
+
} else {
|
|
1999
|
+
await actor.queueManager.enqueue(name, request.body);
|
|
2000
|
+
}
|
|
2001
|
+
} finally {
|
|
2002
|
+
conn.disconnect();
|
|
2003
|
+
}
|
|
2004
|
+
const response = serializeWithEncoding(
|
|
2005
|
+
encoding,
|
|
2006
|
+
result,
|
|
2007
|
+
HTTP_QUEUE_SEND_RESPONSE_VERSIONED,
|
|
2008
|
+
CURRENT_VERSION2,
|
|
2009
|
+
HttpQueueSendResponseSchema,
|
|
2010
|
+
(value) => ({
|
|
2011
|
+
status: value.status,
|
|
2012
|
+
response: value.response
|
|
2013
|
+
}),
|
|
2014
|
+
(value) => ({
|
|
2015
|
+
status: value.status,
|
|
2016
|
+
response: value.response !== void 0 ? bufferToArrayBuffer(cbor2.encode(value.response)) : null
|
|
1775
2017
|
})
|
|
1776
2018
|
);
|
|
1777
|
-
|
|
1778
|
-
if (messageSize > config6.maxOutgoingMessageSize) {
|
|
1779
|
-
throw new OutgoingMessageTooLong();
|
|
1780
|
-
}
|
|
1781
|
-
return c.body(serialized, 200, {
|
|
2019
|
+
return c.body(response, 200, {
|
|
1782
2020
|
"Content-Type": contentTypeForEncoding(encoding)
|
|
1783
2021
|
});
|
|
1784
2022
|
}
|
|
@@ -1838,7 +2076,7 @@ var ENGINE_PORT = 6420;
|
|
|
1838
2076
|
var ENGINE_ENDPOINT = `http://127.0.0.1:${ENGINE_PORT}`;
|
|
1839
2077
|
|
|
1840
2078
|
// src/inspector/config.ts
|
|
1841
|
-
import { z as z3 } from "zod";
|
|
2079
|
+
import { z as z3 } from "zod/v4";
|
|
1842
2080
|
var defaultTokenFn = () => {
|
|
1843
2081
|
const envToken = getRivetkitInspectorToken();
|
|
1844
2082
|
if (envToken) {
|
|
@@ -1931,7 +2169,7 @@ function tryParseEndpoint(ctx, options) {
|
|
|
1931
2169
|
}
|
|
1932
2170
|
|
|
1933
2171
|
// src/registry/config/driver.ts
|
|
1934
|
-
import { z as z4 } from "zod";
|
|
2172
|
+
import { z as z4 } from "zod/v4";
|
|
1935
2173
|
var DriverConfigSchema = z4.object({
|
|
1936
2174
|
/** Machine-readable name to identify this driver by. */
|
|
1937
2175
|
name: z4.string(),
|
|
@@ -1949,7 +2187,7 @@ var DriverConfigSchema = z4.object({
|
|
|
1949
2187
|
});
|
|
1950
2188
|
|
|
1951
2189
|
// src/registry/config/runner.ts
|
|
1952
|
-
import { z as z5 } from "zod";
|
|
2190
|
+
import { z as z5 } from "zod/v4";
|
|
1953
2191
|
var RunnerConfigSchema = z5.object({
|
|
1954
2192
|
// MARK: Runner
|
|
1955
2193
|
totalSlots: z5.number().default(() => getRivetTotalSlots() ?? 1e5),
|
|
@@ -1959,7 +2197,7 @@ var RunnerConfigSchema = z5.object({
|
|
|
1959
2197
|
});
|
|
1960
2198
|
|
|
1961
2199
|
// src/registry/config/serverless.ts
|
|
1962
|
-
import { z as z6 } from "zod";
|
|
2200
|
+
import { z as z6 } from "zod/v4";
|
|
1963
2201
|
var ConfigureRunnerPoolSchema = z6.object({
|
|
1964
2202
|
name: z6.string().optional(),
|
|
1965
2203
|
url: z6.string(),
|
|
@@ -2045,6 +2283,14 @@ var RegistryConfigSchema = z7.object({
|
|
|
2045
2283
|
test: TestConfigSchema.optional().default({ enabled: false }),
|
|
2046
2284
|
// MARK: Driver
|
|
2047
2285
|
driver: DriverConfigSchema.optional(),
|
|
2286
|
+
/**
|
|
2287
|
+
* Storage path for RivetKit file-system state when using the default driver.
|
|
2288
|
+
*
|
|
2289
|
+
* If not set, RivetKit uses the platform default data location.
|
|
2290
|
+
*
|
|
2291
|
+
* Can also be set via RIVETKIT_STORAGE_PATH.
|
|
2292
|
+
*/
|
|
2293
|
+
storagePath: z7.string().optional().transform((val) => val ?? getRivetkitStoragePath()),
|
|
2048
2294
|
// MARK: Networking
|
|
2049
2295
|
/** @experimental */
|
|
2050
2296
|
maxIncomingMessageSize: z7.number().optional().default(65536),
|
|
@@ -2122,37 +2368,37 @@ var RegistryConfigSchema = z7.object({
|
|
|
2122
2368
|
runner: RunnerConfigSchema.optional().default(
|
|
2123
2369
|
() => RunnerConfigSchema.parse({})
|
|
2124
2370
|
)
|
|
2125
|
-
}).transform((
|
|
2371
|
+
}).transform((config8, ctx) => {
|
|
2126
2372
|
const isDevEnv = isDev();
|
|
2127
|
-
const parsedEndpoint =
|
|
2128
|
-
endpoint:
|
|
2373
|
+
const parsedEndpoint = config8.endpoint ? tryParseEndpoint(ctx, {
|
|
2374
|
+
endpoint: config8.endpoint,
|
|
2129
2375
|
path: ["endpoint"],
|
|
2130
|
-
namespace:
|
|
2131
|
-
token:
|
|
2376
|
+
namespace: config8.namespace,
|
|
2377
|
+
token: config8.token
|
|
2132
2378
|
}) : void 0;
|
|
2133
|
-
if (parsedEndpoint &&
|
|
2379
|
+
if (parsedEndpoint && config8.serveManager) {
|
|
2134
2380
|
ctx.addIssue({
|
|
2135
2381
|
code: "custom",
|
|
2136
2382
|
message: "cannot specify both endpoint and serveManager"
|
|
2137
2383
|
});
|
|
2138
2384
|
}
|
|
2139
|
-
if (
|
|
2385
|
+
if (config8.serverless.spawnEngine && parsedEndpoint) {
|
|
2140
2386
|
ctx.addIssue({
|
|
2141
2387
|
code: "custom",
|
|
2142
2388
|
message: "cannot specify both spawnEngine and endpoint"
|
|
2143
2389
|
});
|
|
2144
2390
|
}
|
|
2145
|
-
if (
|
|
2391
|
+
if (config8.serverless.configureRunnerPool && !parsedEndpoint && !config8.serverless.spawnEngine) {
|
|
2146
2392
|
ctx.addIssue({
|
|
2147
2393
|
code: "custom",
|
|
2148
2394
|
message: "configureRunnerPool requires either endpoint or spawnEngine"
|
|
2149
2395
|
});
|
|
2150
2396
|
}
|
|
2151
|
-
const endpoint =
|
|
2152
|
-
const namespace = (parsedEndpoint == null ? void 0 : parsedEndpoint.namespace) ??
|
|
2153
|
-
const token = (parsedEndpoint == null ? void 0 : parsedEndpoint.token) ??
|
|
2154
|
-
const parsedPublicEndpoint =
|
|
2155
|
-
endpoint:
|
|
2397
|
+
const endpoint = config8.serverless.spawnEngine ? ENGINE_ENDPOINT : parsedEndpoint == null ? void 0 : parsedEndpoint.endpoint;
|
|
2398
|
+
const namespace = (parsedEndpoint == null ? void 0 : parsedEndpoint.namespace) ?? config8.namespace ?? "default";
|
|
2399
|
+
const token = (parsedEndpoint == null ? void 0 : parsedEndpoint.token) ?? config8.token;
|
|
2400
|
+
const parsedPublicEndpoint = config8.serverless.publicEndpoint ? tryParseEndpoint(ctx, {
|
|
2401
|
+
endpoint: config8.serverless.publicEndpoint,
|
|
2156
2402
|
path: ["serverless", "publicEndpoint"]
|
|
2157
2403
|
}) : void 0;
|
|
2158
2404
|
if ((parsedPublicEndpoint == null ? void 0 : parsedPublicEndpoint.namespace) && parsedPublicEndpoint.namespace !== namespace) {
|
|
@@ -2162,17 +2408,17 @@ var RegistryConfigSchema = z7.object({
|
|
|
2162
2408
|
path: ["serverless", "publicEndpoint"]
|
|
2163
2409
|
});
|
|
2164
2410
|
}
|
|
2165
|
-
const serveManager =
|
|
2166
|
-
const publicEndpoint = (parsedPublicEndpoint == null ? void 0 : parsedPublicEndpoint.endpoint) ?? (isDevEnv && (serveManager ||
|
|
2411
|
+
const serveManager = config8.serveManager ?? (isDevEnv && !endpoint);
|
|
2412
|
+
const publicEndpoint = (parsedPublicEndpoint == null ? void 0 : parsedPublicEndpoint.endpoint) ?? (isDevEnv && (serveManager || config8.serverless.spawnEngine) ? `http://127.0.0.1:${config8.managerPort}` : void 0);
|
|
2167
2413
|
const publicNamespace = parsedPublicEndpoint == null ? void 0 : parsedPublicEndpoint.namespace;
|
|
2168
|
-
const publicToken = (parsedPublicEndpoint == null ? void 0 : parsedPublicEndpoint.token) ??
|
|
2169
|
-
const willUseEngine = !!endpoint ||
|
|
2414
|
+
const publicToken = (parsedPublicEndpoint == null ? void 0 : parsedPublicEndpoint.token) ?? config8.serverless.publicToken;
|
|
2415
|
+
const willUseEngine = !!endpoint || config8.serverless.spawnEngine;
|
|
2170
2416
|
const inspector = willUseEngine ? {
|
|
2171
|
-
...
|
|
2417
|
+
...config8.inspector,
|
|
2172
2418
|
enabled: { manager: false, actor: true }
|
|
2173
|
-
} :
|
|
2419
|
+
} : config8.inspector;
|
|
2174
2420
|
return {
|
|
2175
|
-
...
|
|
2421
|
+
...config8,
|
|
2176
2422
|
endpoint,
|
|
2177
2423
|
namespace,
|
|
2178
2424
|
token,
|
|
@@ -2182,40 +2428,72 @@ var RegistryConfigSchema = z7.object({
|
|
|
2182
2428
|
publicToken,
|
|
2183
2429
|
inspector,
|
|
2184
2430
|
serverless: {
|
|
2185
|
-
...
|
|
2431
|
+
...config8.serverless,
|
|
2186
2432
|
publicEndpoint
|
|
2187
2433
|
}
|
|
2188
2434
|
};
|
|
2189
2435
|
});
|
|
2190
|
-
function buildActorNames(
|
|
2436
|
+
function buildActorNames(config8) {
|
|
2191
2437
|
return Object.fromEntries(
|
|
2192
|
-
Object.keys(
|
|
2438
|
+
Object.keys(config8.use).map((actorName) => {
|
|
2439
|
+
const definition = config8.use[actorName];
|
|
2440
|
+
const options = definition.config.options ?? {};
|
|
2441
|
+
const runMeta = getRunMetadata(definition.config.run);
|
|
2442
|
+
const metadata = {};
|
|
2443
|
+
metadata.icon = options.icon ?? runMeta.icon;
|
|
2444
|
+
metadata.name = options.name ?? runMeta.name;
|
|
2445
|
+
if (!metadata.icon) delete metadata.icon;
|
|
2446
|
+
if (!metadata.name) delete metadata.name;
|
|
2447
|
+
return [actorName, { metadata }];
|
|
2448
|
+
})
|
|
2193
2449
|
);
|
|
2194
2450
|
}
|
|
2195
2451
|
var DocInspectorConfigSchema = z7.object({
|
|
2196
|
-
enabled: z7.boolean().optional().describe(
|
|
2452
|
+
enabled: z7.boolean().optional().describe(
|
|
2453
|
+
"Whether to enable the Rivet Inspector. Defaults to true in development mode."
|
|
2454
|
+
),
|
|
2197
2455
|
token: z7.string().optional().describe("Token used to access the Inspector."),
|
|
2198
|
-
defaultEndpoint: z7.string().optional().describe(
|
|
2456
|
+
defaultEndpoint: z7.string().optional().describe(
|
|
2457
|
+
"Default RivetKit server endpoint for Rivet Inspector to connect to."
|
|
2458
|
+
)
|
|
2199
2459
|
}).optional().describe("Inspector configuration for debugging and development.");
|
|
2200
2460
|
var DocConfigureRunnerPoolSchema = z7.object({
|
|
2201
2461
|
name: z7.string().optional().describe("Name of the runner pool."),
|
|
2202
2462
|
url: z7.string().describe("URL of the serverless platform to configure runners."),
|
|
2203
|
-
headers: z7.record(z7.string(), z7.string()).optional().describe(
|
|
2463
|
+
headers: z7.record(z7.string(), z7.string()).optional().describe(
|
|
2464
|
+
"Headers to include in requests to the serverless platform."
|
|
2465
|
+
),
|
|
2204
2466
|
maxRunners: z7.number().optional().describe("Maximum number of runners in the pool."),
|
|
2205
2467
|
minRunners: z7.number().optional().describe("Minimum number of runners to keep warm."),
|
|
2206
2468
|
requestLifespan: z7.number().optional().describe("Maximum lifespan of a request in milliseconds."),
|
|
2207
2469
|
runnersMargin: z7.number().optional().describe("Buffer margin for scaling runners."),
|
|
2208
2470
|
slotsPerRunner: z7.number().optional().describe("Number of actor slots per runner."),
|
|
2209
|
-
metadata: z7.record(z7.string(), z7.unknown()).optional().describe(
|
|
2210
|
-
|
|
2471
|
+
metadata: z7.record(z7.string(), z7.unknown()).optional().describe(
|
|
2472
|
+
"Additional metadata to pass to the serverless platform."
|
|
2473
|
+
),
|
|
2474
|
+
metadataPollInterval: z7.number().optional().describe(
|
|
2475
|
+
"Interval in milliseconds between metadata polls from the engine. Defaults to 10000 milliseconds (10 seconds)."
|
|
2476
|
+
)
|
|
2211
2477
|
}).optional();
|
|
2212
2478
|
var DocServerlessConfigSchema = z7.object({
|
|
2213
|
-
spawnEngine: z7.boolean().optional().describe(
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2479
|
+
spawnEngine: z7.boolean().optional().describe(
|
|
2480
|
+
"Downloads and starts the full Rust engine process. Auto-enabled in development mode when no endpoint is provided. Default: false"
|
|
2481
|
+
),
|
|
2482
|
+
engineVersion: z7.string().optional().describe(
|
|
2483
|
+
"Version of the engine to download. Defaults to the current RivetKit version."
|
|
2484
|
+
),
|
|
2485
|
+
configureRunnerPool: DocConfigureRunnerPoolSchema.describe(
|
|
2486
|
+
"Automatically configure serverless runners in the engine."
|
|
2487
|
+
),
|
|
2488
|
+
basePath: z7.string().optional().describe(
|
|
2489
|
+
"Base path for serverless API routes. Default: '/api/rivet'"
|
|
2490
|
+
),
|
|
2491
|
+
publicEndpoint: z7.string().optional().describe(
|
|
2492
|
+
"The endpoint that clients should connect to. Supports URL auth syntax: https://namespace:token@api.rivet.dev"
|
|
2493
|
+
),
|
|
2494
|
+
publicToken: z7.string().optional().describe(
|
|
2495
|
+
"Token that clients should use when connecting via the public endpoint."
|
|
2496
|
+
)
|
|
2219
2497
|
}).describe("Configuration for serverless deployment mode.");
|
|
2220
2498
|
var DocRunnerConfigSchema = z7.object({
|
|
2221
2499
|
totalSlots: z7.number().optional().describe("Total number of actor slots available. Default: 100000"),
|
|
@@ -2224,18 +2502,39 @@ var DocRunnerConfigSchema = z7.object({
|
|
|
2224
2502
|
version: z7.number().optional().describe("Version number of this runner. Default: 1")
|
|
2225
2503
|
}).describe("Configuration for runner mode.");
|
|
2226
2504
|
var DocRegistryConfigSchema = z7.object({
|
|
2227
|
-
use: z7.record(z7.string(), z7.unknown()).describe(
|
|
2228
|
-
|
|
2229
|
-
|
|
2505
|
+
use: z7.record(z7.string(), z7.unknown()).describe(
|
|
2506
|
+
"Actor definitions. Keys are actor names, values are actor definitions."
|
|
2507
|
+
),
|
|
2508
|
+
storagePath: z7.string().optional().describe(
|
|
2509
|
+
"Storage path for RivetKit file-system state when using the default driver. Can also be set via RIVETKIT_STORAGE_PATH."
|
|
2510
|
+
),
|
|
2511
|
+
maxIncomingMessageSize: z7.number().optional().describe(
|
|
2512
|
+
"Maximum size of incoming WebSocket messages in bytes. Default: 65536"
|
|
2513
|
+
),
|
|
2514
|
+
maxOutgoingMessageSize: z7.number().optional().describe(
|
|
2515
|
+
"Maximum size of outgoing WebSocket messages in bytes. Default: 1048576"
|
|
2516
|
+
),
|
|
2230
2517
|
noWelcome: z7.boolean().optional().describe("Disable the welcome message on startup. Default: false"),
|
|
2231
2518
|
logging: z7.object({
|
|
2232
|
-
level: LogLevelSchema.optional().describe(
|
|
2519
|
+
level: LogLevelSchema.optional().describe(
|
|
2520
|
+
"Log level for RivetKit. Default: 'warn'"
|
|
2521
|
+
)
|
|
2233
2522
|
}).optional().describe("Logging configuration."),
|
|
2234
|
-
endpoint: z7.string().optional().describe(
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2523
|
+
endpoint: z7.string().optional().describe(
|
|
2524
|
+
"Endpoint URL to connect to Rivet Engine. Supports URL auth syntax: https://namespace:token@api.rivet.dev. Can also be set via RIVET_ENDPOINT environment variable."
|
|
2525
|
+
),
|
|
2526
|
+
token: z7.string().optional().describe(
|
|
2527
|
+
"Authentication token for Rivet Engine. Can also be set via RIVET_TOKEN environment variable."
|
|
2528
|
+
),
|
|
2529
|
+
namespace: z7.string().optional().describe(
|
|
2530
|
+
"Namespace to use. Default: 'default'. Can also be set via RIVET_NAMESPACE environment variable."
|
|
2531
|
+
),
|
|
2532
|
+
headers: z7.record(z7.string(), z7.string()).optional().describe(
|
|
2533
|
+
"Additional headers to include in requests to Rivet Engine."
|
|
2534
|
+
),
|
|
2535
|
+
serveManager: z7.boolean().optional().describe(
|
|
2536
|
+
"Whether to start the local manager server. Auto-determined based on endpoint and NODE_ENV if not specified."
|
|
2537
|
+
),
|
|
2239
2538
|
managerBasePath: z7.string().optional().describe("Base path for the manager API. Default: '/'"),
|
|
2240
2539
|
managerPort: z7.number().optional().describe("Port to run the manager on. Default: 6420"),
|
|
2241
2540
|
inspector: DocInspectorConfigSchema,
|
|
@@ -2292,7 +2591,7 @@ function handleRouteError(error, c) {
|
|
|
2292
2591
|
encoding,
|
|
2293
2592
|
errorData,
|
|
2294
2593
|
HTTP_RESPONSE_ERROR_VERSIONED,
|
|
2295
|
-
|
|
2594
|
+
CURRENT_VERSION2,
|
|
2296
2595
|
HttpResponseErrorSchema,
|
|
2297
2596
|
// JSON: metadata is the raw value (will be serialized by jsonStringifyCompat)
|
|
2298
2597
|
(value) => ({
|
|
@@ -2311,15 +2610,15 @@ function handleRouteError(error, c) {
|
|
|
2311
2610
|
);
|
|
2312
2611
|
return c.body(output, { status: statusCode });
|
|
2313
2612
|
}
|
|
2314
|
-
function handleMetadataRequest(c,
|
|
2613
|
+
function handleMetadataRequest(c, config8, runnerKind, clientEndpoint, clientNamespace, clientToken) {
|
|
2315
2614
|
const response = {
|
|
2316
2615
|
runtime: "rivetkit",
|
|
2317
2616
|
version: VERSION,
|
|
2318
2617
|
runner: {
|
|
2319
2618
|
kind: runnerKind,
|
|
2320
|
-
version:
|
|
2619
|
+
version: config8.runner.version
|
|
2321
2620
|
},
|
|
2322
|
-
actorNames: buildActorNames(
|
|
2621
|
+
actorNames: buildActorNames(config8),
|
|
2323
2622
|
clientEndpoint,
|
|
2324
2623
|
clientNamespace,
|
|
2325
2624
|
clientToken
|
|
@@ -2334,11 +2633,169 @@ function handleHealthRequest(c) {
|
|
|
2334
2633
|
});
|
|
2335
2634
|
}
|
|
2336
2635
|
|
|
2636
|
+
// src/inspector/serve-ui.ts
|
|
2637
|
+
import { extract } from "tar";
|
|
2638
|
+
|
|
2639
|
+
// src/utils/node.ts
|
|
2640
|
+
import { createRequire } from "module";
|
|
2641
|
+
var nodeCrypto;
|
|
2642
|
+
var nodeFsSync;
|
|
2643
|
+
var nodeFs;
|
|
2644
|
+
var nodePath;
|
|
2645
|
+
var nodeOs;
|
|
2646
|
+
var nodeChildProcess;
|
|
2647
|
+
var nodeStream;
|
|
2648
|
+
var nodeUrl;
|
|
2649
|
+
var hasImportedDependencies = false;
|
|
2650
|
+
function getRequireFn() {
|
|
2651
|
+
return createRequire(import.meta.url);
|
|
2652
|
+
}
|
|
2653
|
+
function importNodeDependencies() {
|
|
2654
|
+
if (hasImportedDependencies) return;
|
|
2655
|
+
try {
|
|
2656
|
+
const requireFn = getRequireFn();
|
|
2657
|
+
nodeCrypto = requireFn(
|
|
2658
|
+
/* webpackIgnore: true */
|
|
2659
|
+
"node:crypto"
|
|
2660
|
+
);
|
|
2661
|
+
nodeFsSync = requireFn(
|
|
2662
|
+
/* webpackIgnore: true */
|
|
2663
|
+
"node:fs"
|
|
2664
|
+
);
|
|
2665
|
+
nodeFs = requireFn(
|
|
2666
|
+
/* webpackIgnore: true */
|
|
2667
|
+
"node:fs/promises"
|
|
2668
|
+
);
|
|
2669
|
+
nodePath = requireFn(
|
|
2670
|
+
/* webpackIgnore: true */
|
|
2671
|
+
"node:path"
|
|
2672
|
+
);
|
|
2673
|
+
nodeOs = requireFn(
|
|
2674
|
+
/* webpackIgnore: true */
|
|
2675
|
+
"node:os"
|
|
2676
|
+
);
|
|
2677
|
+
nodeChildProcess = requireFn(
|
|
2678
|
+
/* webpackIgnore: true */
|
|
2679
|
+
"node:child_process"
|
|
2680
|
+
);
|
|
2681
|
+
nodeStream = requireFn(
|
|
2682
|
+
/* webpackIgnore: true */
|
|
2683
|
+
"node:stream/promises"
|
|
2684
|
+
);
|
|
2685
|
+
nodeUrl = requireFn(
|
|
2686
|
+
/* webpackIgnore: true */
|
|
2687
|
+
"node:url"
|
|
2688
|
+
);
|
|
2689
|
+
hasImportedDependencies = true;
|
|
2690
|
+
} catch (err) {
|
|
2691
|
+
console.warn(
|
|
2692
|
+
"Node.js modules not available, file system driver will not work",
|
|
2693
|
+
err
|
|
2694
|
+
);
|
|
2695
|
+
throw err;
|
|
2696
|
+
}
|
|
2697
|
+
}
|
|
2698
|
+
function getNodeCrypto() {
|
|
2699
|
+
if (!nodeCrypto) {
|
|
2700
|
+
throw new Error(
|
|
2701
|
+
"Node crypto module not loaded. Ensure importNodeDependencies() has been called."
|
|
2702
|
+
);
|
|
2703
|
+
}
|
|
2704
|
+
return nodeCrypto;
|
|
2705
|
+
}
|
|
2706
|
+
function getNodeFsSync() {
|
|
2707
|
+
if (!nodeFsSync) {
|
|
2708
|
+
throw new Error(
|
|
2709
|
+
"Node fs module not loaded. Ensure importNodeDependencies() has been called."
|
|
2710
|
+
);
|
|
2711
|
+
}
|
|
2712
|
+
return nodeFsSync;
|
|
2713
|
+
}
|
|
2714
|
+
function getNodeFs() {
|
|
2715
|
+
if (!nodeFs) {
|
|
2716
|
+
throw new Error(
|
|
2717
|
+
"Node fs/promises module not loaded. Ensure importNodeDependencies() has been called."
|
|
2718
|
+
);
|
|
2719
|
+
}
|
|
2720
|
+
return nodeFs;
|
|
2721
|
+
}
|
|
2722
|
+
function getNodePath() {
|
|
2723
|
+
if (!nodePath) {
|
|
2724
|
+
throw new Error(
|
|
2725
|
+
"Node path module not loaded. Ensure importNodeDependencies() has been called."
|
|
2726
|
+
);
|
|
2727
|
+
}
|
|
2728
|
+
return nodePath;
|
|
2729
|
+
}
|
|
2730
|
+
function getNodeOs() {
|
|
2731
|
+
if (!nodeOs) {
|
|
2732
|
+
throw new Error(
|
|
2733
|
+
"Node os module not loaded. Ensure importNodeDependencies() has been called."
|
|
2734
|
+
);
|
|
2735
|
+
}
|
|
2736
|
+
return nodeOs;
|
|
2737
|
+
}
|
|
2738
|
+
function getNodeChildProcess() {
|
|
2739
|
+
if (!nodeChildProcess) {
|
|
2740
|
+
throw new Error(
|
|
2741
|
+
"Node child_process module not loaded. Ensure importNodeDependencies() has been called."
|
|
2742
|
+
);
|
|
2743
|
+
}
|
|
2744
|
+
return nodeChildProcess;
|
|
2745
|
+
}
|
|
2746
|
+
function getNodeStream() {
|
|
2747
|
+
if (!nodeStream) {
|
|
2748
|
+
throw new Error(
|
|
2749
|
+
"Node stream/promises module not loaded. Ensure importNodeDependencies() has been called."
|
|
2750
|
+
);
|
|
2751
|
+
}
|
|
2752
|
+
return nodeStream;
|
|
2753
|
+
}
|
|
2754
|
+
function getNodeUrl() {
|
|
2755
|
+
if (!nodeUrl) {
|
|
2756
|
+
throw new Error(
|
|
2757
|
+
"Node url module not loaded. Ensure importNodeDependencies() has been called."
|
|
2758
|
+
);
|
|
2759
|
+
}
|
|
2760
|
+
return nodeUrl;
|
|
2761
|
+
}
|
|
2762
|
+
|
|
2763
|
+
// src/inspector/serve-ui.ts
|
|
2764
|
+
var extractedDir;
|
|
2765
|
+
var extractionPromise;
|
|
2766
|
+
async function getInspectorDir() {
|
|
2767
|
+
if (extractedDir !== void 0) return extractedDir;
|
|
2768
|
+
if (extractionPromise !== void 0) return extractionPromise;
|
|
2769
|
+
const nodeFs2 = getNodeFs();
|
|
2770
|
+
const os = getNodeOs();
|
|
2771
|
+
const url = getNodeUrl();
|
|
2772
|
+
const path = getNodePath();
|
|
2773
|
+
extractionPromise = (async () => {
|
|
2774
|
+
const tarball = path.join(
|
|
2775
|
+
path.dirname(url.fileURLToPath(import.meta.url)),
|
|
2776
|
+
"../../dist/inspector.tar.gz"
|
|
2777
|
+
);
|
|
2778
|
+
try {
|
|
2779
|
+
await nodeFs2.access(tarball);
|
|
2780
|
+
} catch {
|
|
2781
|
+
throw new Error(
|
|
2782
|
+
`Inspector tarball not found at ${tarball}. Run 'pnpm build:pack-inspector' first.`
|
|
2783
|
+
);
|
|
2784
|
+
}
|
|
2785
|
+
const dest = path.join(os.tmpdir(), "rivetkit-inspector");
|
|
2786
|
+
await nodeFs2.mkdir(dest, { recursive: true });
|
|
2787
|
+
await extract({ file: tarball, cwd: dest });
|
|
2788
|
+
extractedDir = dest;
|
|
2789
|
+
return dest;
|
|
2790
|
+
})();
|
|
2791
|
+
return extractionPromise;
|
|
2792
|
+
}
|
|
2793
|
+
|
|
2337
2794
|
// src/manager-api/actors.ts
|
|
2338
|
-
import { z as z9 } from "zod";
|
|
2795
|
+
import { z as z9 } from "zod/v4";
|
|
2339
2796
|
|
|
2340
2797
|
// src/manager-api/common.ts
|
|
2341
|
-
import { z as z8 } from "zod";
|
|
2798
|
+
import { z as z8 } from "zod/v4";
|
|
2342
2799
|
var RivetIdSchema = z8.string();
|
|
2343
2800
|
|
|
2344
2801
|
// src/manager-api/actors.ts
|
|
@@ -2502,6 +2959,9 @@ import invariant4 from "invariant";
|
|
|
2502
2959
|
// src/actor/router-websocket-endpoints.ts
|
|
2503
2960
|
import invariant3 from "invariant";
|
|
2504
2961
|
|
|
2962
|
+
// src/inspector/handler.ts
|
|
2963
|
+
import { encodeReadRangeWire } from "@rivetkit/traces/encoding";
|
|
2964
|
+
|
|
2505
2965
|
// src/inspector/log.ts
|
|
2506
2966
|
function inspectorLogger() {
|
|
2507
2967
|
return getLogger("inspector");
|
|
@@ -2512,6 +2972,7 @@ async function handleWebSocketInspectorConnect({
|
|
|
2512
2972
|
actor
|
|
2513
2973
|
}) {
|
|
2514
2974
|
const inspector = actor.inspector;
|
|
2975
|
+
const maxQueueStatusLimit = 200;
|
|
2515
2976
|
const listeners = [];
|
|
2516
2977
|
return {
|
|
2517
2978
|
// NOTE: onOpen cannot be async since this messes up the open event listener order
|
|
@@ -2521,11 +2982,13 @@ async function handleWebSocketInspectorConnect({
|
|
|
2521
2982
|
tag: "Init",
|
|
2522
2983
|
val: {
|
|
2523
2984
|
connections: inspector.getConnections(),
|
|
2524
|
-
events: inspector.getLastEvents(),
|
|
2525
2985
|
rpcs: inspector.getRpcs(),
|
|
2526
2986
|
state: inspector.isStateEnabled() ? inspector.getState() : null,
|
|
2527
2987
|
isStateEnabled: inspector.isStateEnabled(),
|
|
2528
|
-
isDatabaseEnabled: inspector.isDatabaseEnabled()
|
|
2988
|
+
isDatabaseEnabled: inspector.isDatabaseEnabled(),
|
|
2989
|
+
queueSize: BigInt(inspector.getQueueSize()),
|
|
2990
|
+
workflowHistory: inspector.getWorkflowHistory(),
|
|
2991
|
+
isWorkflowEnabled: inspector.isWorkflowEnabled()
|
|
2529
2992
|
}
|
|
2530
2993
|
}
|
|
2531
2994
|
});
|
|
@@ -2546,19 +3009,21 @@ async function handleWebSocketInspectorConnect({
|
|
|
2546
3009
|
}
|
|
2547
3010
|
});
|
|
2548
3011
|
}),
|
|
2549
|
-
inspector.emitter.on("
|
|
3012
|
+
inspector.emitter.on("queueUpdated", () => {
|
|
2550
3013
|
sendMessage(ws, {
|
|
2551
3014
|
body: {
|
|
2552
|
-
tag: "
|
|
2553
|
-
val: {
|
|
3015
|
+
tag: "QueueUpdated",
|
|
3016
|
+
val: {
|
|
3017
|
+
queueSize: BigInt(inspector.getQueueSize())
|
|
3018
|
+
}
|
|
2554
3019
|
}
|
|
2555
3020
|
});
|
|
2556
3021
|
}),
|
|
2557
|
-
inspector.emitter.on("
|
|
3022
|
+
inspector.emitter.on("workflowHistoryUpdated", (history) => {
|
|
2558
3023
|
sendMessage(ws, {
|
|
2559
3024
|
body: {
|
|
2560
|
-
tag: "
|
|
2561
|
-
val: {
|
|
3025
|
+
tag: "WorkflowHistoryUpdated",
|
|
3026
|
+
val: { history }
|
|
2562
3027
|
}
|
|
2563
3028
|
});
|
|
2564
3029
|
})
|
|
@@ -2604,37 +3069,111 @@ async function handleWebSocketInspectorConnect({
|
|
|
2604
3069
|
}
|
|
2605
3070
|
}
|
|
2606
3071
|
});
|
|
2607
|
-
} else if (message.body.tag === "
|
|
3072
|
+
} else if (message.body.tag === "RpcsListRequest") {
|
|
2608
3073
|
sendMessage(ws, {
|
|
2609
3074
|
body: {
|
|
2610
|
-
tag: "
|
|
3075
|
+
tag: "RpcsListResponse",
|
|
2611
3076
|
val: {
|
|
2612
3077
|
rid: message.body.val.id,
|
|
2613
|
-
|
|
3078
|
+
rpcs: inspector.getRpcs()
|
|
2614
3079
|
}
|
|
2615
3080
|
}
|
|
2616
3081
|
});
|
|
2617
|
-
} else if (message.body.tag === "
|
|
2618
|
-
|
|
3082
|
+
} else if (message.body.tag === "TraceQueryRequest") {
|
|
3083
|
+
const { id, startMs, endMs, limit } = message.body.val;
|
|
3084
|
+
const wire = await actor.traces.readRangeWire({
|
|
3085
|
+
startMs: Number(startMs),
|
|
3086
|
+
endMs: Number(endMs),
|
|
3087
|
+
limit: Number(limit)
|
|
3088
|
+
});
|
|
2619
3089
|
sendMessage(ws, {
|
|
2620
3090
|
body: {
|
|
2621
|
-
tag: "
|
|
3091
|
+
tag: "TraceQueryResponse",
|
|
2622
3092
|
val: {
|
|
2623
|
-
rid:
|
|
2624
|
-
|
|
3093
|
+
rid: id,
|
|
3094
|
+
payload: bufferToArrayBuffer(
|
|
3095
|
+
encodeReadRangeWire(wire)
|
|
3096
|
+
)
|
|
2625
3097
|
}
|
|
2626
3098
|
}
|
|
2627
3099
|
});
|
|
2628
|
-
} else if (message.body.tag === "
|
|
3100
|
+
} else if (message.body.tag === "QueueRequest") {
|
|
3101
|
+
const { id, limit } = message.body.val;
|
|
3102
|
+
const status = await inspector.getQueueStatus(
|
|
3103
|
+
Math.min(Number(limit), maxQueueStatusLimit)
|
|
3104
|
+
);
|
|
2629
3105
|
sendMessage(ws, {
|
|
2630
3106
|
body: {
|
|
2631
|
-
tag: "
|
|
3107
|
+
tag: "QueueResponse",
|
|
3108
|
+
val: {
|
|
3109
|
+
rid: id,
|
|
3110
|
+
status
|
|
3111
|
+
}
|
|
3112
|
+
}
|
|
3113
|
+
});
|
|
3114
|
+
} else if (message.body.tag === "WorkflowHistoryRequest") {
|
|
3115
|
+
sendMessage(ws, {
|
|
3116
|
+
body: {
|
|
3117
|
+
tag: "WorkflowHistoryResponse",
|
|
2632
3118
|
val: {
|
|
2633
3119
|
rid: message.body.val.id,
|
|
2634
|
-
|
|
3120
|
+
history: inspector.getWorkflowHistory(),
|
|
3121
|
+
isWorkflowEnabled: inspector.isWorkflowEnabled()
|
|
2635
3122
|
}
|
|
2636
3123
|
}
|
|
2637
3124
|
});
|
|
3125
|
+
} else if (message.body.tag === "DatabaseSchemaRequest") {
|
|
3126
|
+
const { id } = message.body.val;
|
|
3127
|
+
try {
|
|
3128
|
+
const schema = await inspector.getDatabaseSchema();
|
|
3129
|
+
sendMessage(ws, {
|
|
3130
|
+
body: {
|
|
3131
|
+
tag: "DatabaseSchemaResponse",
|
|
3132
|
+
val: { rid: id, schema }
|
|
3133
|
+
}
|
|
3134
|
+
});
|
|
3135
|
+
} catch (error) {
|
|
3136
|
+
inspectorLogger().warn(
|
|
3137
|
+
{ error },
|
|
3138
|
+
"Failed to get database schema"
|
|
3139
|
+
);
|
|
3140
|
+
sendMessage(ws, {
|
|
3141
|
+
body: {
|
|
3142
|
+
tag: "Error",
|
|
3143
|
+
val: {
|
|
3144
|
+
message: `Failed to get database schema: ${error instanceof Error ? error.message : String(error)}`
|
|
3145
|
+
}
|
|
3146
|
+
}
|
|
3147
|
+
});
|
|
3148
|
+
}
|
|
3149
|
+
} else if (message.body.tag === "DatabaseTableRowsRequest") {
|
|
3150
|
+
const { id, table, limit, offset } = message.body.val;
|
|
3151
|
+
try {
|
|
3152
|
+
const result = await inspector.getDatabaseTableRows(
|
|
3153
|
+
table,
|
|
3154
|
+
Number(limit),
|
|
3155
|
+
Number(offset)
|
|
3156
|
+
);
|
|
3157
|
+
sendMessage(ws, {
|
|
3158
|
+
body: {
|
|
3159
|
+
tag: "DatabaseTableRowsResponse",
|
|
3160
|
+
val: { rid: id, result }
|
|
3161
|
+
}
|
|
3162
|
+
});
|
|
3163
|
+
} catch (error) {
|
|
3164
|
+
inspectorLogger().warn(
|
|
3165
|
+
{ error },
|
|
3166
|
+
"Failed to get database table rows"
|
|
3167
|
+
);
|
|
3168
|
+
sendMessage(ws, {
|
|
3169
|
+
body: {
|
|
3170
|
+
tag: "Error",
|
|
3171
|
+
val: {
|
|
3172
|
+
message: `Failed to get database rows: ${error instanceof Error ? error.message : String(error)}`
|
|
3173
|
+
}
|
|
3174
|
+
}
|
|
3175
|
+
});
|
|
3176
|
+
}
|
|
2638
3177
|
} else {
|
|
2639
3178
|
assertUnreachable(message.body);
|
|
2640
3179
|
}
|
|
@@ -2662,7 +3201,7 @@ function sendMessage(ws, message) {
|
|
|
2662
3201
|
ws.send(
|
|
2663
3202
|
TO_CLIENT_VERSIONED.serializeWithEmbeddedVersion(
|
|
2664
3203
|
message,
|
|
2665
|
-
|
|
3204
|
+
CURRENT_VERSION
|
|
2666
3205
|
)
|
|
2667
3206
|
);
|
|
2668
3207
|
}
|
|
@@ -2705,7 +3244,7 @@ function createRawWebSocketDriver(hibernatable, closePromise) {
|
|
|
2705
3244
|
}
|
|
2706
3245
|
|
|
2707
3246
|
// src/actor/conn/drivers/websocket.ts
|
|
2708
|
-
function createWebSocketDriver(hibernatable, encoding, closePromise,
|
|
3247
|
+
function createWebSocketDriver(hibernatable, encoding, closePromise, config8) {
|
|
2709
3248
|
loggerWithoutContext().debug({
|
|
2710
3249
|
msg: "createWebSocketDriver creating driver",
|
|
2711
3250
|
hibernatable
|
|
@@ -2741,11 +3280,11 @@ function createWebSocketDriver(hibernatable, encoding, closePromise, config6) {
|
|
|
2741
3280
|
dataLength: serialized.byteLength || serialized.length
|
|
2742
3281
|
});
|
|
2743
3282
|
const messageSize = serialized.byteLength || serialized.length;
|
|
2744
|
-
if (messageSize >
|
|
3283
|
+
if (messageSize > config8.maxOutgoingMessageSize) {
|
|
2745
3284
|
actor.rLog.error({
|
|
2746
3285
|
msg: "outgoing message exceeds maxOutgoingMessageSize",
|
|
2747
3286
|
messageSize,
|
|
2748
|
-
maxOutgoingMessageSize:
|
|
3287
|
+
maxOutgoingMessageSize: config8.maxOutgoingMessageSize
|
|
2749
3288
|
});
|
|
2750
3289
|
throw new OutgoingMessageTooLong();
|
|
2751
3290
|
}
|
|
@@ -2936,12 +3475,12 @@ var StateManager = class {
|
|
|
2936
3475
|
};
|
|
2937
3476
|
|
|
2938
3477
|
// src/actor/conn/mod.ts
|
|
2939
|
-
var CONN_CONNECTED_SYMBOL = Symbol("connected");
|
|
2940
|
-
var CONN_SPEAKS_RIVETKIT_SYMBOL = Symbol("speaksRivetKit");
|
|
2941
|
-
var CONN_DRIVER_SYMBOL = Symbol("driver");
|
|
2942
|
-
var CONN_ACTOR_SYMBOL = Symbol("actor");
|
|
2943
|
-
var CONN_STATE_MANAGER_SYMBOL = Symbol("stateManager");
|
|
2944
|
-
var CONN_SEND_MESSAGE_SYMBOL = Symbol("sendMessage");
|
|
3478
|
+
var CONN_CONNECTED_SYMBOL = /* @__PURE__ */ Symbol("connected");
|
|
3479
|
+
var CONN_SPEAKS_RIVETKIT_SYMBOL = /* @__PURE__ */ Symbol("speaksRivetKit");
|
|
3480
|
+
var CONN_DRIVER_SYMBOL = /* @__PURE__ */ Symbol("driver");
|
|
3481
|
+
var CONN_ACTOR_SYMBOL = /* @__PURE__ */ Symbol("actor");
|
|
3482
|
+
var CONN_STATE_MANAGER_SYMBOL = /* @__PURE__ */ Symbol("stateManager");
|
|
3483
|
+
var CONN_SEND_MESSAGE_SYMBOL = /* @__PURE__ */ Symbol("sendMessage");
|
|
2945
3484
|
var Conn = class {
|
|
2946
3485
|
#actor;
|
|
2947
3486
|
get [CONN_ACTOR_SYMBOL]() {
|
|
@@ -3007,8 +3546,7 @@ var Conn = class {
|
|
|
3007
3546
|
* If the underlying connection can hibernate.
|
|
3008
3547
|
*/
|
|
3009
3548
|
get isHibernatable() {
|
|
3010
|
-
|
|
3011
|
-
return ((_a = this[CONN_DRIVER_SYMBOL]) == null ? void 0 : _a.hibernatable) !== void 0;
|
|
3549
|
+
return this.#stateManager.hibernatableDataRaw !== void 0;
|
|
3012
3550
|
}
|
|
3013
3551
|
/**
|
|
3014
3552
|
* Initializes a new instance of the Connection class.
|
|
@@ -3042,13 +3580,6 @@ var Conn = class {
|
|
|
3042
3580
|
});
|
|
3043
3581
|
}
|
|
3044
3582
|
}
|
|
3045
|
-
/**
|
|
3046
|
-
* Sends an event with arguments to the client.
|
|
3047
|
-
*
|
|
3048
|
-
* @param eventName - The name of the event.
|
|
3049
|
-
* @param args - The arguments for the event.
|
|
3050
|
-
* @see {@link https://rivet.dev/docs/events|Events Documentation}
|
|
3051
|
-
*/
|
|
3052
3583
|
send(eventName, ...args) {
|
|
3053
3584
|
var _a;
|
|
3054
3585
|
this.#assertConnected();
|
|
@@ -3059,18 +3590,33 @@ var Conn = class {
|
|
|
3059
3590
|
connType: (_a = this[CONN_DRIVER_SYMBOL]) == null ? void 0 : _a.type
|
|
3060
3591
|
});
|
|
3061
3592
|
}
|
|
3062
|
-
this.#actor.
|
|
3063
|
-
|
|
3593
|
+
if (this.#actor.config.events !== void 0 && !hasSchemaConfigKey(this.#actor.config.events, eventName)) {
|
|
3594
|
+
this.#actor.rLog.warn({
|
|
3595
|
+
msg: "sending event not defined in actor events config",
|
|
3596
|
+
eventName,
|
|
3597
|
+
connId: this.id
|
|
3598
|
+
});
|
|
3599
|
+
}
|
|
3600
|
+
const payload = args.length === 1 ? args[0] : args;
|
|
3601
|
+
const result = validateSchemaSync(
|
|
3602
|
+
this.#actor.config.events,
|
|
3064
3603
|
eventName,
|
|
3065
|
-
|
|
3066
|
-
|
|
3604
|
+
payload
|
|
3605
|
+
);
|
|
3606
|
+
if (!result.success) {
|
|
3607
|
+
throw new EventPayloadInvalid(eventName, result.issues);
|
|
3608
|
+
}
|
|
3609
|
+
const eventArgs = args.length === 1 ? [result.data] : Array.isArray(result.data) ? result.data : args;
|
|
3610
|
+
this.#actor.emitTraceEvent("message.send", {
|
|
3611
|
+
"rivet.event.name": eventName,
|
|
3612
|
+
"rivet.conn.id": this.id
|
|
3067
3613
|
});
|
|
3068
|
-
const eventData = { name: eventName, args };
|
|
3614
|
+
const eventData = { name: eventName, args: eventArgs };
|
|
3069
3615
|
this[CONN_SEND_MESSAGE_SYMBOL](
|
|
3070
3616
|
new CachedSerializer(
|
|
3071
3617
|
eventData,
|
|
3072
3618
|
TO_CLIENT_VERSIONED2,
|
|
3073
|
-
|
|
3619
|
+
CURRENT_VERSION2,
|
|
3074
3620
|
ToClientSchema,
|
|
3075
3621
|
// JSON: args is the raw value (array of arguments)
|
|
3076
3622
|
(value) => ({
|
|
@@ -3111,14 +3657,18 @@ var Conn = class {
|
|
|
3111
3657
|
conn: this.id
|
|
3112
3658
|
});
|
|
3113
3659
|
}
|
|
3114
|
-
|
|
3660
|
+
try {
|
|
3661
|
+
await this.#actor.connectionManager.connDisconnected(this);
|
|
3662
|
+
} finally {
|
|
3663
|
+
this[CONN_DRIVER_SYMBOL] = void 0;
|
|
3664
|
+
}
|
|
3115
3665
|
} else {
|
|
3116
3666
|
this.#actor.rLog.warn({
|
|
3117
3667
|
msg: "missing connection driver state for disconnect",
|
|
3118
3668
|
conn: this.id
|
|
3119
3669
|
});
|
|
3670
|
+
this[CONN_DRIVER_SYMBOL] = void 0;
|
|
3120
3671
|
}
|
|
3121
|
-
this[CONN_DRIVER_SYMBOL] = void 0;
|
|
3122
3672
|
}
|
|
3123
3673
|
};
|
|
3124
3674
|
|
|
@@ -3165,22 +3715,22 @@ async function parseMessage(value, opts) {
|
|
|
3165
3715
|
// JSON: values are already the correct type
|
|
3166
3716
|
(json) => json,
|
|
3167
3717
|
// BARE: need to decode ArrayBuffer fields back to unknown
|
|
3168
|
-
(
|
|
3169
|
-
if (
|
|
3718
|
+
(bare8) => {
|
|
3719
|
+
if (bare8.body.tag === "ActionRequest") {
|
|
3170
3720
|
return {
|
|
3171
3721
|
body: {
|
|
3172
3722
|
tag: "ActionRequest",
|
|
3173
3723
|
val: {
|
|
3174
|
-
id:
|
|
3175
|
-
name:
|
|
3724
|
+
id: bare8.body.val.id,
|
|
3725
|
+
name: bare8.body.val.name,
|
|
3176
3726
|
args: cbor5.decode(
|
|
3177
|
-
new Uint8Array(
|
|
3727
|
+
new Uint8Array(bare8.body.val.args)
|
|
3178
3728
|
)
|
|
3179
3729
|
}
|
|
3180
3730
|
}
|
|
3181
3731
|
};
|
|
3182
3732
|
} else {
|
|
3183
|
-
return
|
|
3733
|
+
return bare8;
|
|
3184
3734
|
}
|
|
3185
3735
|
}
|
|
3186
3736
|
);
|
|
@@ -3201,7 +3751,10 @@ async function processMessage(message, actor, conn, handler) {
|
|
|
3201
3751
|
actionId: id,
|
|
3202
3752
|
actionName: name
|
|
3203
3753
|
});
|
|
3204
|
-
const ctx = new ActionContext(
|
|
3754
|
+
const ctx = new ActionContext(
|
|
3755
|
+
actor,
|
|
3756
|
+
conn
|
|
3757
|
+
);
|
|
3205
3758
|
const output = await handler.onExecuteAction(
|
|
3206
3759
|
ctx,
|
|
3207
3760
|
name,
|
|
@@ -3218,7 +3771,7 @@ async function processMessage(message, actor, conn, handler) {
|
|
|
3218
3771
|
new CachedSerializer(
|
|
3219
3772
|
output,
|
|
3220
3773
|
TO_CLIENT_VERSIONED2,
|
|
3221
|
-
|
|
3774
|
+
CURRENT_VERSION2,
|
|
3222
3775
|
ToClientSchema,
|
|
3223
3776
|
// JSON: output is the raw value
|
|
3224
3777
|
(value) => ({
|
|
@@ -3254,6 +3807,13 @@ async function processMessage(message, actor, conn, handler) {
|
|
|
3254
3807
|
subscribe
|
|
3255
3808
|
});
|
|
3256
3809
|
if (subscribe) {
|
|
3810
|
+
await actor.assertCanSubscribe(
|
|
3811
|
+
new ActionContext(
|
|
3812
|
+
actor,
|
|
3813
|
+
conn
|
|
3814
|
+
),
|
|
3815
|
+
eventName
|
|
3816
|
+
);
|
|
3257
3817
|
await handler.onSubscribe(eventName, conn);
|
|
3258
3818
|
} else {
|
|
3259
3819
|
await handler.onUnsubscribe(eventName, conn);
|
|
@@ -3289,7 +3849,7 @@ async function processMessage(message, actor, conn, handler) {
|
|
|
3289
3849
|
new CachedSerializer(
|
|
3290
3850
|
errorData,
|
|
3291
3851
|
TO_CLIENT_VERSIONED2,
|
|
3292
|
-
|
|
3852
|
+
CURRENT_VERSION2,
|
|
3293
3853
|
ToClientSchema,
|
|
3294
3854
|
// JSON: metadata is the raw value (keep as undefined if not present)
|
|
3295
3855
|
(value) => {
|
|
@@ -3332,7 +3892,7 @@ async function processMessage(message, actor, conn, handler) {
|
|
|
3332
3892
|
}
|
|
3333
3893
|
|
|
3334
3894
|
// src/actor/router-websocket-endpoints.ts
|
|
3335
|
-
async function routeWebSocket(request, requestPath, requestHeaders,
|
|
3895
|
+
async function routeWebSocket(request, requestPath, requestHeaders, config8, actorDriver, actorId, encoding, parameters, gatewayId, requestId, isHibernatable, isRestoringHibernatable) {
|
|
3336
3896
|
var _a;
|
|
3337
3897
|
const exposeInternalError = request ? getRequestExposeInternalError(request) : false;
|
|
3338
3898
|
let createdConn;
|
|
@@ -3344,7 +3904,7 @@ async function routeWebSocket(request, requestPath, requestHeaders, config6, act
|
|
|
3344
3904
|
requestPath,
|
|
3345
3905
|
isHibernatable
|
|
3346
3906
|
});
|
|
3347
|
-
const closePromiseResolvers = promiseWithResolvers();
|
|
3907
|
+
const closePromiseResolvers = promiseWithResolvers((reason) => loggerWithoutContext().warn({ msg: "unhandled websocket close promise rejection", reason }));
|
|
3348
3908
|
const requestPathWithoutQuery = requestPath.split("?")[0];
|
|
3349
3909
|
let handler;
|
|
3350
3910
|
let connDriver;
|
|
@@ -3353,7 +3913,7 @@ async function routeWebSocket(request, requestPath, requestHeaders, config6, act
|
|
|
3353
3913
|
isHibernatable ? { gatewayId, requestId } : void 0,
|
|
3354
3914
|
encoding,
|
|
3355
3915
|
closePromiseResolvers.promise,
|
|
3356
|
-
|
|
3916
|
+
config8
|
|
3357
3917
|
);
|
|
3358
3918
|
handler = handleWebSocketConnect.bind(void 0, setWebSocket);
|
|
3359
3919
|
connDriver = driver;
|
|
@@ -3389,7 +3949,7 @@ async function routeWebSocket(request, requestPath, requestHeaders, config6, act
|
|
|
3389
3949
|
);
|
|
3390
3950
|
createdConn = conn;
|
|
3391
3951
|
return await handler({
|
|
3392
|
-
config:
|
|
3952
|
+
config: config8,
|
|
3393
3953
|
request,
|
|
3394
3954
|
encoding,
|
|
3395
3955
|
actor,
|
|
@@ -3410,7 +3970,7 @@ async function routeWebSocket(request, requestPath, requestHeaders, config6, act
|
|
|
3410
3970
|
return {
|
|
3411
3971
|
conn: createdConn,
|
|
3412
3972
|
onOpen: (_evt, ws) => {
|
|
3413
|
-
ws.close(1011, code);
|
|
3973
|
+
ws.close(1011, `${group}.${code}`);
|
|
3414
3974
|
},
|
|
3415
3975
|
onMessage: (_evt, ws) => {
|
|
3416
3976
|
ws.close(1011, "actor.not_loaded");
|
|
@@ -3430,6 +3990,7 @@ async function handleWebSocketConnect(setWebSocket, {
|
|
|
3430
3990
|
conn,
|
|
3431
3991
|
exposeInternalError
|
|
3432
3992
|
}) {
|
|
3993
|
+
let pendingMessage = Promise.resolve();
|
|
3433
3994
|
return {
|
|
3434
3995
|
conn,
|
|
3435
3996
|
actor,
|
|
@@ -3445,23 +4006,14 @@ async function handleWebSocketConnect(setWebSocket, {
|
|
|
3445
4006
|
onMessage: (evt, ws) => {
|
|
3446
4007
|
actor.rLog.debug({ msg: "received message" });
|
|
3447
4008
|
const value = evt.data.valueOf();
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
actor.processMessage(message, conn).catch((error) => {
|
|
3453
|
-
const { code } = deconstructError(
|
|
3454
|
-
error,
|
|
3455
|
-
actor.rLog,
|
|
3456
|
-
{
|
|
3457
|
-
wsEvent: "message"
|
|
3458
|
-
},
|
|
3459
|
-
exposeInternalError
|
|
3460
|
-
);
|
|
3461
|
-
ws.close(1011, code);
|
|
4009
|
+
pendingMessage = pendingMessage.then(async () => {
|
|
4010
|
+
const message = await parseMessage(value, {
|
|
4011
|
+
encoding,
|
|
4012
|
+
maxIncomingMessageSize: runConfig.maxIncomingMessageSize
|
|
3462
4013
|
});
|
|
4014
|
+
await actor.processMessage(message, conn);
|
|
3463
4015
|
}).catch((error) => {
|
|
3464
|
-
const { code } = deconstructError(
|
|
4016
|
+
const { group, code } = deconstructError(
|
|
3465
4017
|
error,
|
|
3466
4018
|
actor.rLog,
|
|
3467
4019
|
{
|
|
@@ -3469,7 +4021,7 @@ async function handleWebSocketConnect(setWebSocket, {
|
|
|
3469
4021
|
},
|
|
3470
4022
|
exposeInternalError
|
|
3471
4023
|
);
|
|
3472
|
-
ws.close(1011, code);
|
|
4024
|
+
ws.close(1011, `${group}.${code}`);
|
|
3473
4025
|
});
|
|
3474
4026
|
},
|
|
3475
4027
|
onClose: (event, ws) => {
|
|
@@ -3569,7 +4121,7 @@ function logger3() {
|
|
|
3569
4121
|
}
|
|
3570
4122
|
|
|
3571
4123
|
// src/manager/gateway.ts
|
|
3572
|
-
async function handleWebSocketGatewayPathBased(
|
|
4124
|
+
async function handleWebSocketGatewayPathBased(config8, managerDriver, c, actorPathInfo, getUpgradeWebSocket) {
|
|
3573
4125
|
const upgradeWebSocket = getUpgradeWebSocket == null ? void 0 : getUpgradeWebSocket();
|
|
3574
4126
|
if (!upgradeWebSocket) {
|
|
3575
4127
|
throw new WebSocketsNotEnabled();
|
|
@@ -3614,13 +4166,13 @@ async function handleHttpGatewayPathBased(managerDriver, c, actorPathInfo) {
|
|
|
3614
4166
|
actorPathInfo.actorId
|
|
3615
4167
|
);
|
|
3616
4168
|
}
|
|
3617
|
-
async function actorGateway(
|
|
4169
|
+
async function actorGateway(config8, managerDriver, getUpgradeWebSocket, c, next) {
|
|
3618
4170
|
if (c.req.path.startsWith("/.test/")) {
|
|
3619
4171
|
return next();
|
|
3620
4172
|
}
|
|
3621
4173
|
let strippedPath = c.req.path;
|
|
3622
|
-
if (
|
|
3623
|
-
strippedPath = strippedPath.slice(
|
|
4174
|
+
if (config8.managerBasePath && strippedPath.startsWith(config8.managerBasePath)) {
|
|
4175
|
+
strippedPath = strippedPath.slice(config8.managerBasePath.length);
|
|
3624
4176
|
if (!strippedPath.startsWith("/")) {
|
|
3625
4177
|
strippedPath = "/" + strippedPath;
|
|
3626
4178
|
}
|
|
@@ -3635,7 +4187,7 @@ async function actorGateway(config6, managerDriver, getUpgradeWebSocket, c, next
|
|
|
3635
4187
|
const isWebSocket = c.req.header("upgrade") === "websocket";
|
|
3636
4188
|
if (isWebSocket) {
|
|
3637
4189
|
return await handleWebSocketGatewayPathBased(
|
|
3638
|
-
|
|
4190
|
+
config8,
|
|
3639
4191
|
managerDriver,
|
|
3640
4192
|
c,
|
|
3641
4193
|
actorPathInfo,
|
|
@@ -3650,7 +4202,7 @@ async function actorGateway(config6, managerDriver, getUpgradeWebSocket, c, next
|
|
|
3650
4202
|
}
|
|
3651
4203
|
if (c.req.header("upgrade") === "websocket") {
|
|
3652
4204
|
return await handleWebSocketGateway(
|
|
3653
|
-
|
|
4205
|
+
config8,
|
|
3654
4206
|
managerDriver,
|
|
3655
4207
|
getUpgradeWebSocket,
|
|
3656
4208
|
c,
|
|
@@ -3659,7 +4211,7 @@ async function actorGateway(config6, managerDriver, getUpgradeWebSocket, c, next
|
|
|
3659
4211
|
}
|
|
3660
4212
|
return await handleHttpGateway(managerDriver, c, next, strippedPath);
|
|
3661
4213
|
}
|
|
3662
|
-
async function handleWebSocketGateway(
|
|
4214
|
+
async function handleWebSocketGateway(config8, managerDriver, getUpgradeWebSocket, c, strippedPath) {
|
|
3663
4215
|
const upgradeWebSocket = getUpgradeWebSocket == null ? void 0 : getUpgradeWebSocket();
|
|
3664
4216
|
if (!upgradeWebSocket) {
|
|
3665
4217
|
throw new WebSocketsNotEnabled();
|
|
@@ -3801,7 +4353,7 @@ async function createTestWebSocketProxy(proxyToActorWsPromise) {
|
|
|
3801
4353
|
promise: clientToProxyWsPromise,
|
|
3802
4354
|
resolve: clientToProxyWsResolve,
|
|
3803
4355
|
reject: clientToProxyWsReject
|
|
3804
|
-
} = promiseWithResolvers();
|
|
4356
|
+
} = promiseWithResolvers((reason) => logger3().warn({ msg: "unhandled client websocket promise rejection", reason }));
|
|
3805
4357
|
try {
|
|
3806
4358
|
logger3().debug({ msg: "awaiting client websocket promise" });
|
|
3807
4359
|
proxyToActorWs = await proxyToActorWsPromise;
|
|
@@ -3978,14 +4530,14 @@ async function createTestWebSocketProxy(proxyToActorWsPromise) {
|
|
|
3978
4530
|
}
|
|
3979
4531
|
|
|
3980
4532
|
// src/manager/router.ts
|
|
3981
|
-
function buildManagerRouter(
|
|
3982
|
-
return createRouter(
|
|
4533
|
+
function buildManagerRouter(config8, managerDriver, getUpgradeWebSocket) {
|
|
4534
|
+
return createRouter(config8.managerBasePath, (router) => {
|
|
3983
4535
|
var _a;
|
|
3984
4536
|
router.use(
|
|
3985
4537
|
"*",
|
|
3986
4538
|
actorGateway.bind(
|
|
3987
4539
|
void 0,
|
|
3988
|
-
|
|
4540
|
+
config8,
|
|
3989
4541
|
managerDriver,
|
|
3990
4542
|
getUpgradeWebSocket
|
|
3991
4543
|
)
|
|
@@ -4053,7 +4605,7 @@ function buildManagerRouter(config6, managerDriver, getUpgradeWebSocket) {
|
|
|
4053
4605
|
actors.push(actorOutput);
|
|
4054
4606
|
}
|
|
4055
4607
|
} else {
|
|
4056
|
-
for (const actorName of Object.keys(
|
|
4608
|
+
for (const actorName of Object.keys(config8.use)) {
|
|
4057
4609
|
const actorOutput = await managerDriver.getForId({
|
|
4058
4610
|
c,
|
|
4059
4611
|
name: actorName,
|
|
@@ -4070,8 +4622,7 @@ function buildManagerRouter(config6, managerDriver, getUpgradeWebSocket) {
|
|
|
4070
4622
|
const actorOutput = await managerDriver.getWithKey({
|
|
4071
4623
|
c,
|
|
4072
4624
|
name,
|
|
4073
|
-
key:
|
|
4074
|
-
// Convert string to ActorKey array
|
|
4625
|
+
key: deserializeActorKey(key)
|
|
4075
4626
|
});
|
|
4076
4627
|
if (actorOutput) {
|
|
4077
4628
|
actors.push(actorOutput);
|
|
@@ -4110,7 +4661,7 @@ function buildManagerRouter(config6, managerDriver, getUpgradeWebSocket) {
|
|
|
4110
4661
|
responses: buildOpenApiResponses(ActorsListNamesResponseSchema)
|
|
4111
4662
|
});
|
|
4112
4663
|
router.openapi(route, async (c) => {
|
|
4113
|
-
const names = buildActorNames(
|
|
4664
|
+
const names = buildActorNames(config8);
|
|
4114
4665
|
return c.json({
|
|
4115
4666
|
names
|
|
4116
4667
|
});
|
|
@@ -4134,8 +4685,7 @@ function buildManagerRouter(config6, managerDriver, getUpgradeWebSocket) {
|
|
|
4134
4685
|
const existingActor = await managerDriver.getWithKey({
|
|
4135
4686
|
c,
|
|
4136
4687
|
name: body.name,
|
|
4137
|
-
key:
|
|
4138
|
-
// Convert string to ActorKey array
|
|
4688
|
+
key: deserializeActorKey(body.key)
|
|
4139
4689
|
});
|
|
4140
4690
|
if (existingActor) {
|
|
4141
4691
|
return c.json({
|
|
@@ -4146,8 +4696,7 @@ function buildManagerRouter(config6, managerDriver, getUpgradeWebSocket) {
|
|
|
4146
4696
|
const newActor = await managerDriver.getOrCreateWithKey({
|
|
4147
4697
|
c,
|
|
4148
4698
|
name: body.name,
|
|
4149
|
-
key:
|
|
4150
|
-
// Convert string to ActorKey array
|
|
4699
|
+
key: deserializeActorKey(body.key),
|
|
4151
4700
|
input: body.input ? cbor6.decode(Buffer.from(body.input, "base64")) : void 0,
|
|
4152
4701
|
region: void 0
|
|
4153
4702
|
// Not provided in the request schema
|
|
@@ -4172,8 +4721,7 @@ function buildManagerRouter(config6, managerDriver, getUpgradeWebSocket) {
|
|
|
4172
4721
|
const actorOutput = await managerDriver.createActor({
|
|
4173
4722
|
c,
|
|
4174
4723
|
name: body.name,
|
|
4175
|
-
key:
|
|
4176
|
-
// Generate key if not provided, convert to ActorKey array
|
|
4724
|
+
key: deserializeActorKey(body.key || crypto.randomUUID()),
|
|
4177
4725
|
input: body.input ? cbor6.decode(Buffer.from(body.input, "base64")) : void 0,
|
|
4178
4726
|
region: void 0
|
|
4179
4727
|
// Not provided in the request schema
|
|
@@ -4195,17 +4743,17 @@ function buildManagerRouter(config6, managerDriver, getUpgradeWebSocket) {
|
|
|
4195
4743
|
responses: buildOpenApiResponses(ActorsKvGetResponseSchema)
|
|
4196
4744
|
});
|
|
4197
4745
|
router.openapi(route, async (c) => {
|
|
4198
|
-
if (getNodeEnv() === "development" && !
|
|
4746
|
+
if (getNodeEnv() === "development" && !config8.token) {
|
|
4199
4747
|
logger3().warn({
|
|
4200
4748
|
msg: "RIVET_TOKEN is not set, skipping KV store access checks in development mode. This endpoint will be disabled in production, unless you set the token."
|
|
4201
4749
|
});
|
|
4202
4750
|
}
|
|
4203
4751
|
if (getNodeEnv() !== "development") {
|
|
4204
|
-
if (!
|
|
4752
|
+
if (!config8.token) {
|
|
4205
4753
|
throw new RestrictedFeature("KV store access");
|
|
4206
4754
|
}
|
|
4207
4755
|
if (timingSafeEqual(
|
|
4208
|
-
|
|
4756
|
+
config8.token,
|
|
4209
4757
|
c.req.header(HEADER_RIVET_TOKEN) || ""
|
|
4210
4758
|
) === false) {
|
|
4211
4759
|
throw new Forbidden();
|
|
@@ -4221,7 +4769,7 @@ function buildManagerRouter(config6, managerDriver, getUpgradeWebSocket) {
|
|
|
4221
4769
|
});
|
|
4222
4770
|
});
|
|
4223
4771
|
}
|
|
4224
|
-
if (
|
|
4772
|
+
if (config8.test.enabled) {
|
|
4225
4773
|
router.post(".test/inline-driver/call", async (c) => {
|
|
4226
4774
|
const buffer = await c.req.arrayBuffer();
|
|
4227
4775
|
const { encoding, method, args } = cbor6.decode(new Uint8Array(buffer));
|
|
@@ -4380,19 +4928,40 @@ function buildManagerRouter(config6, managerDriver, getUpgradeWebSocket) {
|
|
|
4380
4928
|
}
|
|
4381
4929
|
});
|
|
4382
4930
|
}
|
|
4931
|
+
if (config8.inspector.enabled) {
|
|
4932
|
+
let inspectorRoot;
|
|
4933
|
+
router.get("/ui/*", async (c, next) => {
|
|
4934
|
+
if (!inspectorRoot) {
|
|
4935
|
+
inspectorRoot = await getInspectorDir();
|
|
4936
|
+
}
|
|
4937
|
+
const root = inspectorRoot;
|
|
4938
|
+
const rewrite = (path) => path.replace(/^\/ui/, "") || "/";
|
|
4939
|
+
return serveStatic({
|
|
4940
|
+
root,
|
|
4941
|
+
rewriteRequestPath: rewrite,
|
|
4942
|
+
onNotFound: async (_path, c2) => {
|
|
4943
|
+
await serveStatic({ root, path: "index.html" })(
|
|
4944
|
+
c2,
|
|
4945
|
+
next
|
|
4946
|
+
);
|
|
4947
|
+
}
|
|
4948
|
+
})(c, next);
|
|
4949
|
+
});
|
|
4950
|
+
router.get("/ui", (c) => c.redirect("/ui/"));
|
|
4951
|
+
}
|
|
4383
4952
|
router.get("/health", (c) => handleHealthRequest(c));
|
|
4384
4953
|
router.get(
|
|
4385
4954
|
"/metadata",
|
|
4386
4955
|
(c) => handleMetadataRequest(
|
|
4387
4956
|
c,
|
|
4388
|
-
|
|
4957
|
+
config8,
|
|
4389
4958
|
{ normal: {} },
|
|
4390
|
-
|
|
4391
|
-
|
|
4392
|
-
|
|
4959
|
+
config8.publicEndpoint,
|
|
4960
|
+
config8.publicNamespace,
|
|
4961
|
+
config8.publicToken
|
|
4393
4962
|
)
|
|
4394
4963
|
);
|
|
4395
|
-
(_a = managerDriver.modifyManagerRouter) == null ? void 0 : _a.call(managerDriver,
|
|
4964
|
+
(_a = managerDriver.modifyManagerRouter) == null ? void 0 : _a.call(managerDriver, config8, router);
|
|
4396
4965
|
});
|
|
4397
4966
|
}
|
|
4398
4967
|
function createApiActor(actor) {
|
|
@@ -4418,18 +4987,18 @@ import * as cbor7 from "cbor-x";
|
|
|
4418
4987
|
import { createVersionedDataHandler as createVersionedDataHandler2 } from "vbare";
|
|
4419
4988
|
|
|
4420
4989
|
// dist/schemas/actor-persist/v1.ts
|
|
4421
|
-
import * as
|
|
4422
|
-
var
|
|
4990
|
+
import * as bare4 from "@rivetkit/bare-ts";
|
|
4991
|
+
var config4 = /* @__PURE__ */ bare4.Config({});
|
|
4423
4992
|
function readPersistedSubscription(bc) {
|
|
4424
4993
|
return {
|
|
4425
|
-
eventName:
|
|
4994
|
+
eventName: bare4.readString(bc)
|
|
4426
4995
|
};
|
|
4427
4996
|
}
|
|
4428
4997
|
function writePersistedSubscription(bc, x) {
|
|
4429
|
-
|
|
4998
|
+
bare4.writeString(bc, x.eventName);
|
|
4430
4999
|
}
|
|
4431
|
-
function
|
|
4432
|
-
const len =
|
|
5000
|
+
function read04(bc) {
|
|
5001
|
+
const len = bare4.readUintSafe(bc);
|
|
4433
5002
|
if (len === 0) {
|
|
4434
5003
|
return [];
|
|
4435
5004
|
}
|
|
@@ -4439,65 +5008,65 @@ function read03(bc) {
|
|
|
4439
5008
|
}
|
|
4440
5009
|
return result;
|
|
4441
5010
|
}
|
|
4442
|
-
function
|
|
4443
|
-
|
|
5011
|
+
function write04(bc, x) {
|
|
5012
|
+
bare4.writeUintSafe(bc, x.length);
|
|
4444
5013
|
for (let i = 0; i < x.length; i++) {
|
|
4445
5014
|
writePersistedSubscription(bc, x[i]);
|
|
4446
5015
|
}
|
|
4447
5016
|
}
|
|
4448
5017
|
function readPersistedConnection(bc) {
|
|
4449
5018
|
return {
|
|
4450
|
-
id:
|
|
4451
|
-
token:
|
|
4452
|
-
parameters:
|
|
4453
|
-
state:
|
|
4454
|
-
subscriptions:
|
|
4455
|
-
lastSeen:
|
|
5019
|
+
id: bare4.readString(bc),
|
|
5020
|
+
token: bare4.readString(bc),
|
|
5021
|
+
parameters: bare4.readData(bc),
|
|
5022
|
+
state: bare4.readData(bc),
|
|
5023
|
+
subscriptions: read04(bc),
|
|
5024
|
+
lastSeen: bare4.readU64(bc)
|
|
4456
5025
|
};
|
|
4457
5026
|
}
|
|
4458
5027
|
function writePersistedConnection(bc, x) {
|
|
4459
|
-
|
|
4460
|
-
|
|
4461
|
-
|
|
4462
|
-
|
|
4463
|
-
|
|
4464
|
-
|
|
5028
|
+
bare4.writeString(bc, x.id);
|
|
5029
|
+
bare4.writeString(bc, x.token);
|
|
5030
|
+
bare4.writeData(bc, x.parameters);
|
|
5031
|
+
bare4.writeData(bc, x.state);
|
|
5032
|
+
write04(bc, x.subscriptions);
|
|
5033
|
+
bare4.writeU64(bc, x.lastSeen);
|
|
4465
5034
|
}
|
|
4466
|
-
function
|
|
4467
|
-
return
|
|
5035
|
+
function read14(bc) {
|
|
5036
|
+
return bare4.readBool(bc) ? bare4.readData(bc) : null;
|
|
4468
5037
|
}
|
|
4469
|
-
function
|
|
4470
|
-
|
|
5038
|
+
function write14(bc, x) {
|
|
5039
|
+
bare4.writeBool(bc, x !== null);
|
|
4471
5040
|
if (x !== null) {
|
|
4472
|
-
|
|
5041
|
+
bare4.writeData(bc, x);
|
|
4473
5042
|
}
|
|
4474
5043
|
}
|
|
4475
5044
|
function readGenericPersistedScheduleEvent(bc) {
|
|
4476
5045
|
return {
|
|
4477
|
-
action:
|
|
4478
|
-
args:
|
|
5046
|
+
action: bare4.readString(bc),
|
|
5047
|
+
args: read14(bc)
|
|
4479
5048
|
};
|
|
4480
5049
|
}
|
|
4481
5050
|
function writeGenericPersistedScheduleEvent(bc, x) {
|
|
4482
|
-
|
|
4483
|
-
|
|
5051
|
+
bare4.writeString(bc, x.action);
|
|
5052
|
+
write14(bc, x.args);
|
|
4484
5053
|
}
|
|
4485
5054
|
function readPersistedScheduleEventKind(bc) {
|
|
4486
5055
|
const offset = bc.offset;
|
|
4487
|
-
const tag =
|
|
5056
|
+
const tag = bare4.readU8(bc);
|
|
4488
5057
|
switch (tag) {
|
|
4489
5058
|
case 0:
|
|
4490
5059
|
return { tag: "GenericPersistedScheduleEvent", val: readGenericPersistedScheduleEvent(bc) };
|
|
4491
5060
|
default: {
|
|
4492
5061
|
bc.offset = offset;
|
|
4493
|
-
throw new
|
|
5062
|
+
throw new bare4.BareError(offset, "invalid tag");
|
|
4494
5063
|
}
|
|
4495
5064
|
}
|
|
4496
5065
|
}
|
|
4497
5066
|
function writePersistedScheduleEventKind(bc, x) {
|
|
4498
5067
|
switch (x.tag) {
|
|
4499
5068
|
case "GenericPersistedScheduleEvent": {
|
|
4500
|
-
|
|
5069
|
+
bare4.writeU8(bc, 0);
|
|
4501
5070
|
writeGenericPersistedScheduleEvent(bc, x.val);
|
|
4502
5071
|
break;
|
|
4503
5072
|
}
|
|
@@ -4505,18 +5074,18 @@ function writePersistedScheduleEventKind(bc, x) {
|
|
|
4505
5074
|
}
|
|
4506
5075
|
function readPersistedScheduleEvent(bc) {
|
|
4507
5076
|
return {
|
|
4508
|
-
eventId:
|
|
4509
|
-
timestamp:
|
|
5077
|
+
eventId: bare4.readString(bc),
|
|
5078
|
+
timestamp: bare4.readU64(bc),
|
|
4510
5079
|
kind: readPersistedScheduleEventKind(bc)
|
|
4511
5080
|
};
|
|
4512
5081
|
}
|
|
4513
5082
|
function writePersistedScheduleEvent(bc, x) {
|
|
4514
|
-
|
|
4515
|
-
|
|
5083
|
+
bare4.writeString(bc, x.eventId);
|
|
5084
|
+
bare4.writeU64(bc, x.timestamp);
|
|
4516
5085
|
writePersistedScheduleEventKind(bc, x.kind);
|
|
4517
5086
|
}
|
|
4518
|
-
function
|
|
4519
|
-
const len =
|
|
5087
|
+
function read22(bc) {
|
|
5088
|
+
const len = bare4.readUintSafe(bc);
|
|
4520
5089
|
if (len === 0) {
|
|
4521
5090
|
return [];
|
|
4522
5091
|
}
|
|
@@ -4526,14 +5095,14 @@ function read2(bc) {
|
|
|
4526
5095
|
}
|
|
4527
5096
|
return result;
|
|
4528
5097
|
}
|
|
4529
|
-
function
|
|
4530
|
-
|
|
5098
|
+
function write22(bc, x) {
|
|
5099
|
+
bare4.writeUintSafe(bc, x.length);
|
|
4531
5100
|
for (let i = 0; i < x.length; i++) {
|
|
4532
5101
|
writePersistedConnection(bc, x[i]);
|
|
4533
5102
|
}
|
|
4534
5103
|
}
|
|
4535
|
-
function
|
|
4536
|
-
const len =
|
|
5104
|
+
function read32(bc) {
|
|
5105
|
+
const len = bare4.readUintSafe(bc);
|
|
4537
5106
|
if (len === 0) {
|
|
4538
5107
|
return [];
|
|
4539
5108
|
}
|
|
@@ -4543,58 +5112,58 @@ function read3(bc) {
|
|
|
4543
5112
|
}
|
|
4544
5113
|
return result;
|
|
4545
5114
|
}
|
|
4546
|
-
function
|
|
4547
|
-
|
|
5115
|
+
function write32(bc, x) {
|
|
5116
|
+
bare4.writeUintSafe(bc, x.length);
|
|
4548
5117
|
for (let i = 0; i < x.length; i++) {
|
|
4549
5118
|
writePersistedScheduleEvent(bc, x[i]);
|
|
4550
5119
|
}
|
|
4551
5120
|
}
|
|
4552
5121
|
function readPersistedActor(bc) {
|
|
4553
5122
|
return {
|
|
4554
|
-
input:
|
|
4555
|
-
hasInitialized:
|
|
4556
|
-
state:
|
|
4557
|
-
connections:
|
|
4558
|
-
scheduledEvents:
|
|
5123
|
+
input: read14(bc),
|
|
5124
|
+
hasInitialized: bare4.readBool(bc),
|
|
5125
|
+
state: bare4.readData(bc),
|
|
5126
|
+
connections: read22(bc),
|
|
5127
|
+
scheduledEvents: read32(bc)
|
|
4559
5128
|
};
|
|
4560
5129
|
}
|
|
4561
5130
|
function writePersistedActor(bc, x) {
|
|
4562
|
-
|
|
4563
|
-
|
|
4564
|
-
|
|
4565
|
-
|
|
4566
|
-
|
|
5131
|
+
write14(bc, x.input);
|
|
5132
|
+
bare4.writeBool(bc, x.hasInitialized);
|
|
5133
|
+
bare4.writeData(bc, x.state);
|
|
5134
|
+
write22(bc, x.connections);
|
|
5135
|
+
write32(bc, x.scheduledEvents);
|
|
4567
5136
|
}
|
|
4568
5137
|
function encodePersistedActor(x) {
|
|
4569
|
-
const bc = new
|
|
4570
|
-
new Uint8Array(
|
|
4571
|
-
|
|
5138
|
+
const bc = new bare4.ByteCursor(
|
|
5139
|
+
new Uint8Array(config4.initialBufferLength),
|
|
5140
|
+
config4
|
|
4572
5141
|
);
|
|
4573
5142
|
writePersistedActor(bc, x);
|
|
4574
5143
|
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
4575
5144
|
}
|
|
4576
5145
|
function decodePersistedActor(bytes) {
|
|
4577
|
-
const bc = new
|
|
5146
|
+
const bc = new bare4.ByteCursor(bytes, config4);
|
|
4578
5147
|
const result = readPersistedActor(bc);
|
|
4579
5148
|
if (bc.offset < bc.view.byteLength) {
|
|
4580
|
-
throw new
|
|
5149
|
+
throw new bare4.BareError(bc.offset, "remaining bytes");
|
|
4581
5150
|
}
|
|
4582
5151
|
return result;
|
|
4583
5152
|
}
|
|
4584
5153
|
|
|
4585
5154
|
// dist/schemas/actor-persist/v2.ts
|
|
4586
|
-
import * as
|
|
4587
|
-
var
|
|
5155
|
+
import * as bare5 from "@rivetkit/bare-ts";
|
|
5156
|
+
var config5 = /* @__PURE__ */ bare5.Config({});
|
|
4588
5157
|
function readPersistedSubscription2(bc) {
|
|
4589
5158
|
return {
|
|
4590
|
-
eventName:
|
|
5159
|
+
eventName: bare5.readString(bc)
|
|
4591
5160
|
};
|
|
4592
5161
|
}
|
|
4593
5162
|
function writePersistedSubscription2(bc, x) {
|
|
4594
|
-
|
|
5163
|
+
bare5.writeString(bc, x.eventName);
|
|
4595
5164
|
}
|
|
4596
|
-
function
|
|
4597
|
-
const len =
|
|
5165
|
+
function read05(bc) {
|
|
5166
|
+
const len = bare5.readUintSafe(bc);
|
|
4598
5167
|
if (len === 0) {
|
|
4599
5168
|
return [];
|
|
4600
5169
|
}
|
|
@@ -4604,67 +5173,67 @@ function read04(bc) {
|
|
|
4604
5173
|
}
|
|
4605
5174
|
return result;
|
|
4606
5175
|
}
|
|
4607
|
-
function
|
|
4608
|
-
|
|
5176
|
+
function write05(bc, x) {
|
|
5177
|
+
bare5.writeUintSafe(bc, x.length);
|
|
4609
5178
|
for (let i = 0; i < x.length; i++) {
|
|
4610
5179
|
writePersistedSubscription2(bc, x[i]);
|
|
4611
5180
|
}
|
|
4612
5181
|
}
|
|
4613
|
-
function
|
|
4614
|
-
return
|
|
5182
|
+
function read15(bc) {
|
|
5183
|
+
return bare5.readBool(bc) ? bare5.readData(bc) : null;
|
|
4615
5184
|
}
|
|
4616
|
-
function
|
|
4617
|
-
|
|
5185
|
+
function write15(bc, x) {
|
|
5186
|
+
bare5.writeBool(bc, x !== null);
|
|
4618
5187
|
if (x !== null) {
|
|
4619
|
-
|
|
5188
|
+
bare5.writeData(bc, x);
|
|
4620
5189
|
}
|
|
4621
5190
|
}
|
|
4622
5191
|
function readPersistedConnection2(bc) {
|
|
4623
5192
|
return {
|
|
4624
|
-
id:
|
|
4625
|
-
token:
|
|
4626
|
-
parameters:
|
|
4627
|
-
state:
|
|
4628
|
-
subscriptions:
|
|
4629
|
-
lastSeen:
|
|
4630
|
-
hibernatableRequestId:
|
|
4631
|
-
};
|
|
4632
|
-
}
|
|
4633
|
-
function writePersistedConnection2(bc, x) {
|
|
4634
|
-
|
|
4635
|
-
|
|
4636
|
-
|
|
4637
|
-
|
|
4638
|
-
|
|
4639
|
-
|
|
4640
|
-
|
|
5193
|
+
id: bare5.readString(bc),
|
|
5194
|
+
token: bare5.readString(bc),
|
|
5195
|
+
parameters: bare5.readData(bc),
|
|
5196
|
+
state: bare5.readData(bc),
|
|
5197
|
+
subscriptions: read05(bc),
|
|
5198
|
+
lastSeen: bare5.readI64(bc),
|
|
5199
|
+
hibernatableRequestId: read15(bc)
|
|
5200
|
+
};
|
|
5201
|
+
}
|
|
5202
|
+
function writePersistedConnection2(bc, x) {
|
|
5203
|
+
bare5.writeString(bc, x.id);
|
|
5204
|
+
bare5.writeString(bc, x.token);
|
|
5205
|
+
bare5.writeData(bc, x.parameters);
|
|
5206
|
+
bare5.writeData(bc, x.state);
|
|
5207
|
+
write05(bc, x.subscriptions);
|
|
5208
|
+
bare5.writeI64(bc, x.lastSeen);
|
|
5209
|
+
write15(bc, x.hibernatableRequestId);
|
|
4641
5210
|
}
|
|
4642
5211
|
function readGenericPersistedScheduleEvent2(bc) {
|
|
4643
5212
|
return {
|
|
4644
|
-
action:
|
|
4645
|
-
args:
|
|
5213
|
+
action: bare5.readString(bc),
|
|
5214
|
+
args: read15(bc)
|
|
4646
5215
|
};
|
|
4647
5216
|
}
|
|
4648
5217
|
function writeGenericPersistedScheduleEvent2(bc, x) {
|
|
4649
|
-
|
|
4650
|
-
|
|
5218
|
+
bare5.writeString(bc, x.action);
|
|
5219
|
+
write15(bc, x.args);
|
|
4651
5220
|
}
|
|
4652
5221
|
function readPersistedScheduleEventKind2(bc) {
|
|
4653
5222
|
const offset = bc.offset;
|
|
4654
|
-
const tag =
|
|
5223
|
+
const tag = bare5.readU8(bc);
|
|
4655
5224
|
switch (tag) {
|
|
4656
5225
|
case 0:
|
|
4657
5226
|
return { tag: "GenericPersistedScheduleEvent", val: readGenericPersistedScheduleEvent2(bc) };
|
|
4658
5227
|
default: {
|
|
4659
5228
|
bc.offset = offset;
|
|
4660
|
-
throw new
|
|
5229
|
+
throw new bare5.BareError(offset, "invalid tag");
|
|
4661
5230
|
}
|
|
4662
5231
|
}
|
|
4663
5232
|
}
|
|
4664
5233
|
function writePersistedScheduleEventKind2(bc, x) {
|
|
4665
5234
|
switch (x.tag) {
|
|
4666
5235
|
case "GenericPersistedScheduleEvent": {
|
|
4667
|
-
|
|
5236
|
+
bare5.writeU8(bc, 0);
|
|
4668
5237
|
writeGenericPersistedScheduleEvent2(bc, x.val);
|
|
4669
5238
|
break;
|
|
4670
5239
|
}
|
|
@@ -4672,30 +5241,30 @@ function writePersistedScheduleEventKind2(bc, x) {
|
|
|
4672
5241
|
}
|
|
4673
5242
|
function readPersistedScheduleEvent2(bc) {
|
|
4674
5243
|
return {
|
|
4675
|
-
eventId:
|
|
4676
|
-
timestamp:
|
|
5244
|
+
eventId: bare5.readString(bc),
|
|
5245
|
+
timestamp: bare5.readI64(bc),
|
|
4677
5246
|
kind: readPersistedScheduleEventKind2(bc)
|
|
4678
5247
|
};
|
|
4679
5248
|
}
|
|
4680
5249
|
function writePersistedScheduleEvent2(bc, x) {
|
|
4681
|
-
|
|
4682
|
-
|
|
5250
|
+
bare5.writeString(bc, x.eventId);
|
|
5251
|
+
bare5.writeI64(bc, x.timestamp);
|
|
4683
5252
|
writePersistedScheduleEventKind2(bc, x.kind);
|
|
4684
5253
|
}
|
|
4685
5254
|
function readPersistedHibernatableWebSocket(bc) {
|
|
4686
5255
|
return {
|
|
4687
|
-
requestId:
|
|
4688
|
-
lastSeenTimestamp:
|
|
4689
|
-
msgIndex:
|
|
5256
|
+
requestId: bare5.readData(bc),
|
|
5257
|
+
lastSeenTimestamp: bare5.readI64(bc),
|
|
5258
|
+
msgIndex: bare5.readI64(bc)
|
|
4690
5259
|
};
|
|
4691
5260
|
}
|
|
4692
5261
|
function writePersistedHibernatableWebSocket(bc, x) {
|
|
4693
|
-
|
|
4694
|
-
|
|
4695
|
-
|
|
5262
|
+
bare5.writeData(bc, x.requestId);
|
|
5263
|
+
bare5.writeI64(bc, x.lastSeenTimestamp);
|
|
5264
|
+
bare5.writeI64(bc, x.msgIndex);
|
|
4696
5265
|
}
|
|
4697
|
-
function
|
|
4698
|
-
const len =
|
|
5266
|
+
function read23(bc) {
|
|
5267
|
+
const len = bare5.readUintSafe(bc);
|
|
4699
5268
|
if (len === 0) {
|
|
4700
5269
|
return [];
|
|
4701
5270
|
}
|
|
@@ -4705,14 +5274,14 @@ function read22(bc) {
|
|
|
4705
5274
|
}
|
|
4706
5275
|
return result;
|
|
4707
5276
|
}
|
|
4708
|
-
function
|
|
4709
|
-
|
|
5277
|
+
function write23(bc, x) {
|
|
5278
|
+
bare5.writeUintSafe(bc, x.length);
|
|
4710
5279
|
for (let i = 0; i < x.length; i++) {
|
|
4711
5280
|
writePersistedConnection2(bc, x[i]);
|
|
4712
5281
|
}
|
|
4713
5282
|
}
|
|
4714
|
-
function
|
|
4715
|
-
const len =
|
|
5283
|
+
function read33(bc) {
|
|
5284
|
+
const len = bare5.readUintSafe(bc);
|
|
4716
5285
|
if (len === 0) {
|
|
4717
5286
|
return [];
|
|
4718
5287
|
}
|
|
@@ -4722,14 +5291,14 @@ function read32(bc) {
|
|
|
4722
5291
|
}
|
|
4723
5292
|
return result;
|
|
4724
5293
|
}
|
|
4725
|
-
function
|
|
4726
|
-
|
|
5294
|
+
function write33(bc, x) {
|
|
5295
|
+
bare5.writeUintSafe(bc, x.length);
|
|
4727
5296
|
for (let i = 0; i < x.length; i++) {
|
|
4728
5297
|
writePersistedScheduleEvent2(bc, x[i]);
|
|
4729
5298
|
}
|
|
4730
5299
|
}
|
|
4731
|
-
function
|
|
4732
|
-
const len =
|
|
5300
|
+
function read42(bc) {
|
|
5301
|
+
const len = bare5.readUintSafe(bc);
|
|
4733
5302
|
if (len === 0) {
|
|
4734
5303
|
return [];
|
|
4735
5304
|
}
|
|
@@ -4739,80 +5308,80 @@ function read4(bc) {
|
|
|
4739
5308
|
}
|
|
4740
5309
|
return result;
|
|
4741
5310
|
}
|
|
4742
|
-
function
|
|
4743
|
-
|
|
5311
|
+
function write42(bc, x) {
|
|
5312
|
+
bare5.writeUintSafe(bc, x.length);
|
|
4744
5313
|
for (let i = 0; i < x.length; i++) {
|
|
4745
5314
|
writePersistedHibernatableWebSocket(bc, x[i]);
|
|
4746
5315
|
}
|
|
4747
5316
|
}
|
|
4748
5317
|
function readPersistedActor2(bc) {
|
|
4749
5318
|
return {
|
|
4750
|
-
input:
|
|
4751
|
-
hasInitialized:
|
|
4752
|
-
state:
|
|
4753
|
-
connections:
|
|
4754
|
-
scheduledEvents:
|
|
4755
|
-
hibernatableWebSockets:
|
|
5319
|
+
input: read15(bc),
|
|
5320
|
+
hasInitialized: bare5.readBool(bc),
|
|
5321
|
+
state: bare5.readData(bc),
|
|
5322
|
+
connections: read23(bc),
|
|
5323
|
+
scheduledEvents: read33(bc),
|
|
5324
|
+
hibernatableWebSockets: read42(bc)
|
|
4756
5325
|
};
|
|
4757
5326
|
}
|
|
4758
5327
|
function writePersistedActor2(bc, x) {
|
|
4759
|
-
|
|
4760
|
-
|
|
4761
|
-
|
|
4762
|
-
|
|
4763
|
-
|
|
4764
|
-
|
|
5328
|
+
write15(bc, x.input);
|
|
5329
|
+
bare5.writeBool(bc, x.hasInitialized);
|
|
5330
|
+
bare5.writeData(bc, x.state);
|
|
5331
|
+
write23(bc, x.connections);
|
|
5332
|
+
write33(bc, x.scheduledEvents);
|
|
5333
|
+
write42(bc, x.hibernatableWebSockets);
|
|
4765
5334
|
}
|
|
4766
5335
|
function encodePersistedActor2(x) {
|
|
4767
|
-
const bc = new
|
|
4768
|
-
new Uint8Array(
|
|
4769
|
-
|
|
5336
|
+
const bc = new bare5.ByteCursor(
|
|
5337
|
+
new Uint8Array(config5.initialBufferLength),
|
|
5338
|
+
config5
|
|
4770
5339
|
);
|
|
4771
5340
|
writePersistedActor2(bc, x);
|
|
4772
5341
|
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
4773
5342
|
}
|
|
4774
5343
|
function decodePersistedActor2(bytes) {
|
|
4775
|
-
const bc = new
|
|
5344
|
+
const bc = new bare5.ByteCursor(bytes, config5);
|
|
4776
5345
|
const result = readPersistedActor2(bc);
|
|
4777
5346
|
if (bc.offset < bc.view.byteLength) {
|
|
4778
|
-
throw new
|
|
5347
|
+
throw new bare5.BareError(bc.offset, "remaining bytes");
|
|
4779
5348
|
}
|
|
4780
5349
|
return result;
|
|
4781
5350
|
}
|
|
4782
5351
|
|
|
4783
5352
|
// dist/schemas/actor-persist/v3.ts
|
|
4784
|
-
import * as
|
|
4785
|
-
var
|
|
5353
|
+
import * as bare6 from "@rivetkit/bare-ts";
|
|
5354
|
+
var config6 = /* @__PURE__ */ bare6.Config({});
|
|
4786
5355
|
function readGatewayId(bc) {
|
|
4787
|
-
return
|
|
5356
|
+
return bare6.readFixedData(bc, 4);
|
|
4788
5357
|
}
|
|
4789
5358
|
function writeGatewayId(bc, x) {
|
|
4790
5359
|
assert(x.byteLength === 4);
|
|
4791
|
-
|
|
5360
|
+
bare6.writeFixedData(bc, x);
|
|
4792
5361
|
}
|
|
4793
5362
|
function readRequestId(bc) {
|
|
4794
|
-
return
|
|
5363
|
+
return bare6.readFixedData(bc, 4);
|
|
4795
5364
|
}
|
|
4796
5365
|
function writeRequestId(bc, x) {
|
|
4797
5366
|
assert(x.byteLength === 4);
|
|
4798
|
-
|
|
5367
|
+
bare6.writeFixedData(bc, x);
|
|
4799
5368
|
}
|
|
4800
5369
|
function readCbor(bc) {
|
|
4801
|
-
return
|
|
5370
|
+
return bare6.readData(bc);
|
|
4802
5371
|
}
|
|
4803
5372
|
function writeCbor(bc, x) {
|
|
4804
|
-
|
|
5373
|
+
bare6.writeData(bc, x);
|
|
4805
5374
|
}
|
|
4806
5375
|
function readSubscription(bc) {
|
|
4807
5376
|
return {
|
|
4808
|
-
eventName:
|
|
5377
|
+
eventName: bare6.readString(bc)
|
|
4809
5378
|
};
|
|
4810
5379
|
}
|
|
4811
5380
|
function writeSubscription(bc, x) {
|
|
4812
|
-
|
|
5381
|
+
bare6.writeString(bc, x.eventName);
|
|
4813
5382
|
}
|
|
4814
|
-
function
|
|
4815
|
-
const len =
|
|
5383
|
+
function read06(bc) {
|
|
5384
|
+
const len = bare6.readUintSafe(bc);
|
|
4816
5385
|
if (len === 0) {
|
|
4817
5386
|
return [];
|
|
4818
5387
|
}
|
|
@@ -4822,100 +5391,100 @@ function read05(bc) {
|
|
|
4822
5391
|
}
|
|
4823
5392
|
return result;
|
|
4824
5393
|
}
|
|
4825
|
-
function
|
|
4826
|
-
|
|
5394
|
+
function write06(bc, x) {
|
|
5395
|
+
bare6.writeUintSafe(bc, x.length);
|
|
4827
5396
|
for (let i = 0; i < x.length; i++) {
|
|
4828
5397
|
writeSubscription(bc, x[i]);
|
|
4829
5398
|
}
|
|
4830
5399
|
}
|
|
4831
|
-
function
|
|
4832
|
-
const len =
|
|
5400
|
+
function read16(bc) {
|
|
5401
|
+
const len = bare6.readUintSafe(bc);
|
|
4833
5402
|
const result = /* @__PURE__ */ new Map();
|
|
4834
5403
|
for (let i = 0; i < len; i++) {
|
|
4835
5404
|
const offset = bc.offset;
|
|
4836
|
-
const key =
|
|
5405
|
+
const key = bare6.readString(bc);
|
|
4837
5406
|
if (result.has(key)) {
|
|
4838
5407
|
bc.offset = offset;
|
|
4839
|
-
throw new
|
|
5408
|
+
throw new bare6.BareError(offset, "duplicated key");
|
|
4840
5409
|
}
|
|
4841
|
-
result.set(key,
|
|
5410
|
+
result.set(key, bare6.readString(bc));
|
|
4842
5411
|
}
|
|
4843
5412
|
return result;
|
|
4844
5413
|
}
|
|
4845
|
-
function
|
|
4846
|
-
|
|
5414
|
+
function write16(bc, x) {
|
|
5415
|
+
bare6.writeUintSafe(bc, x.size);
|
|
4847
5416
|
for (const kv of x) {
|
|
4848
|
-
|
|
4849
|
-
|
|
5417
|
+
bare6.writeString(bc, kv[0]);
|
|
5418
|
+
bare6.writeString(bc, kv[1]);
|
|
4850
5419
|
}
|
|
4851
5420
|
}
|
|
4852
5421
|
function readConn(bc) {
|
|
4853
5422
|
return {
|
|
4854
|
-
id:
|
|
5423
|
+
id: bare6.readString(bc),
|
|
4855
5424
|
parameters: readCbor(bc),
|
|
4856
5425
|
state: readCbor(bc),
|
|
4857
|
-
subscriptions:
|
|
5426
|
+
subscriptions: read06(bc),
|
|
4858
5427
|
gatewayId: readGatewayId(bc),
|
|
4859
5428
|
requestId: readRequestId(bc),
|
|
4860
|
-
serverMessageIndex:
|
|
4861
|
-
clientMessageIndex:
|
|
4862
|
-
requestPath:
|
|
4863
|
-
requestHeaders:
|
|
5429
|
+
serverMessageIndex: bare6.readU16(bc),
|
|
5430
|
+
clientMessageIndex: bare6.readU16(bc),
|
|
5431
|
+
requestPath: bare6.readString(bc),
|
|
5432
|
+
requestHeaders: read16(bc)
|
|
4864
5433
|
};
|
|
4865
5434
|
}
|
|
4866
5435
|
function writeConn(bc, x) {
|
|
4867
|
-
|
|
5436
|
+
bare6.writeString(bc, x.id);
|
|
4868
5437
|
writeCbor(bc, x.parameters);
|
|
4869
5438
|
writeCbor(bc, x.state);
|
|
4870
|
-
|
|
5439
|
+
write06(bc, x.subscriptions);
|
|
4871
5440
|
writeGatewayId(bc, x.gatewayId);
|
|
4872
5441
|
writeRequestId(bc, x.requestId);
|
|
4873
|
-
|
|
4874
|
-
|
|
4875
|
-
|
|
4876
|
-
|
|
5442
|
+
bare6.writeU16(bc, x.serverMessageIndex);
|
|
5443
|
+
bare6.writeU16(bc, x.clientMessageIndex);
|
|
5444
|
+
bare6.writeString(bc, x.requestPath);
|
|
5445
|
+
write16(bc, x.requestHeaders);
|
|
4877
5446
|
}
|
|
4878
5447
|
function encodeConn(x) {
|
|
4879
|
-
const bc = new
|
|
4880
|
-
new Uint8Array(
|
|
4881
|
-
|
|
5448
|
+
const bc = new bare6.ByteCursor(
|
|
5449
|
+
new Uint8Array(config6.initialBufferLength),
|
|
5450
|
+
config6
|
|
4882
5451
|
);
|
|
4883
5452
|
writeConn(bc, x);
|
|
4884
5453
|
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
4885
5454
|
}
|
|
4886
5455
|
function decodeConn(bytes) {
|
|
4887
|
-
const bc = new
|
|
5456
|
+
const bc = new bare6.ByteCursor(bytes, config6);
|
|
4888
5457
|
const result = readConn(bc);
|
|
4889
5458
|
if (bc.offset < bc.view.byteLength) {
|
|
4890
|
-
throw new
|
|
5459
|
+
throw new bare6.BareError(bc.offset, "remaining bytes");
|
|
4891
5460
|
}
|
|
4892
5461
|
return result;
|
|
4893
5462
|
}
|
|
4894
|
-
function
|
|
4895
|
-
return
|
|
5463
|
+
function read24(bc) {
|
|
5464
|
+
return bare6.readBool(bc) ? readCbor(bc) : null;
|
|
4896
5465
|
}
|
|
4897
|
-
function
|
|
4898
|
-
|
|
5466
|
+
function write24(bc, x) {
|
|
5467
|
+
bare6.writeBool(bc, x !== null);
|
|
4899
5468
|
if (x !== null) {
|
|
4900
5469
|
writeCbor(bc, x);
|
|
4901
5470
|
}
|
|
4902
5471
|
}
|
|
4903
5472
|
function readScheduleEvent(bc) {
|
|
4904
5473
|
return {
|
|
4905
|
-
eventId:
|
|
4906
|
-
timestamp:
|
|
4907
|
-
action:
|
|
4908
|
-
args:
|
|
5474
|
+
eventId: bare6.readString(bc),
|
|
5475
|
+
timestamp: bare6.readI64(bc),
|
|
5476
|
+
action: bare6.readString(bc),
|
|
5477
|
+
args: read24(bc)
|
|
4909
5478
|
};
|
|
4910
5479
|
}
|
|
4911
5480
|
function writeScheduleEvent(bc, x) {
|
|
4912
|
-
|
|
4913
|
-
|
|
4914
|
-
|
|
4915
|
-
|
|
5481
|
+
bare6.writeString(bc, x.eventId);
|
|
5482
|
+
bare6.writeI64(bc, x.timestamp);
|
|
5483
|
+
bare6.writeString(bc, x.action);
|
|
5484
|
+
write24(bc, x.args);
|
|
4916
5485
|
}
|
|
4917
|
-
function
|
|
4918
|
-
const len =
|
|
5486
|
+
function read34(bc) {
|
|
5487
|
+
const len = bare6.readUintSafe(bc);
|
|
4919
5488
|
if (len === 0) {
|
|
4920
5489
|
return [];
|
|
4921
5490
|
}
|
|
@@ -4925,39 +5494,39 @@ function read33(bc) {
|
|
|
4925
5494
|
}
|
|
4926
5495
|
return result;
|
|
4927
5496
|
}
|
|
4928
|
-
function
|
|
4929
|
-
|
|
5497
|
+
function write34(bc, x) {
|
|
5498
|
+
bare6.writeUintSafe(bc, x.length);
|
|
4930
5499
|
for (let i = 0; i < x.length; i++) {
|
|
4931
5500
|
writeScheduleEvent(bc, x[i]);
|
|
4932
5501
|
}
|
|
4933
5502
|
}
|
|
4934
5503
|
function readActor(bc) {
|
|
4935
5504
|
return {
|
|
4936
|
-
input:
|
|
4937
|
-
hasInitialized:
|
|
5505
|
+
input: read24(bc),
|
|
5506
|
+
hasInitialized: bare6.readBool(bc),
|
|
4938
5507
|
state: readCbor(bc),
|
|
4939
|
-
scheduledEvents:
|
|
5508
|
+
scheduledEvents: read34(bc)
|
|
4940
5509
|
};
|
|
4941
5510
|
}
|
|
4942
5511
|
function writeActor(bc, x) {
|
|
4943
|
-
|
|
4944
|
-
|
|
5512
|
+
write24(bc, x.input);
|
|
5513
|
+
bare6.writeBool(bc, x.hasInitialized);
|
|
4945
5514
|
writeCbor(bc, x.state);
|
|
4946
|
-
|
|
5515
|
+
write34(bc, x.scheduledEvents);
|
|
4947
5516
|
}
|
|
4948
5517
|
function encodeActor(x) {
|
|
4949
|
-
const bc = new
|
|
4950
|
-
new Uint8Array(
|
|
4951
|
-
|
|
5518
|
+
const bc = new bare6.ByteCursor(
|
|
5519
|
+
new Uint8Array(config6.initialBufferLength),
|
|
5520
|
+
config6
|
|
4952
5521
|
);
|
|
4953
5522
|
writeActor(bc, x);
|
|
4954
5523
|
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
4955
5524
|
}
|
|
4956
5525
|
function decodeActor(bytes) {
|
|
4957
|
-
const bc = new
|
|
5526
|
+
const bc = new bare6.ByteCursor(bytes, config6);
|
|
4958
5527
|
const result = readActor(bc);
|
|
4959
5528
|
if (bc.offset < bc.view.byteLength) {
|
|
4960
|
-
throw new
|
|
5529
|
+
throw new bare6.BareError(bc.offset, "remaining bytes");
|
|
4961
5530
|
}
|
|
4962
5531
|
return result;
|
|
4963
5532
|
}
|
|
@@ -4965,8 +5534,282 @@ function assert(condition, message) {
|
|
|
4965
5534
|
if (!condition) throw new Error(message ?? "Assertion failed");
|
|
4966
5535
|
}
|
|
4967
5536
|
|
|
5537
|
+
// dist/schemas/actor-persist/v4.ts
|
|
5538
|
+
import * as bare7 from "@rivetkit/bare-ts";
|
|
5539
|
+
var config7 = /* @__PURE__ */ bare7.Config({});
|
|
5540
|
+
function readGatewayId2(bc) {
|
|
5541
|
+
return bare7.readFixedData(bc, 4);
|
|
5542
|
+
}
|
|
5543
|
+
function writeGatewayId2(bc, x) {
|
|
5544
|
+
assert2(x.byteLength === 4);
|
|
5545
|
+
bare7.writeFixedData(bc, x);
|
|
5546
|
+
}
|
|
5547
|
+
function readRequestId2(bc) {
|
|
5548
|
+
return bare7.readFixedData(bc, 4);
|
|
5549
|
+
}
|
|
5550
|
+
function writeRequestId2(bc, x) {
|
|
5551
|
+
assert2(x.byteLength === 4);
|
|
5552
|
+
bare7.writeFixedData(bc, x);
|
|
5553
|
+
}
|
|
5554
|
+
function readCbor2(bc) {
|
|
5555
|
+
return bare7.readData(bc);
|
|
5556
|
+
}
|
|
5557
|
+
function writeCbor2(bc, x) {
|
|
5558
|
+
bare7.writeData(bc, x);
|
|
5559
|
+
}
|
|
5560
|
+
function readSubscription2(bc) {
|
|
5561
|
+
return {
|
|
5562
|
+
eventName: bare7.readString(bc)
|
|
5563
|
+
};
|
|
5564
|
+
}
|
|
5565
|
+
function writeSubscription2(bc, x) {
|
|
5566
|
+
bare7.writeString(bc, x.eventName);
|
|
5567
|
+
}
|
|
5568
|
+
function read07(bc) {
|
|
5569
|
+
const len = bare7.readUintSafe(bc);
|
|
5570
|
+
if (len === 0) {
|
|
5571
|
+
return [];
|
|
5572
|
+
}
|
|
5573
|
+
const result = [readSubscription2(bc)];
|
|
5574
|
+
for (let i = 1; i < len; i++) {
|
|
5575
|
+
result[i] = readSubscription2(bc);
|
|
5576
|
+
}
|
|
5577
|
+
return result;
|
|
5578
|
+
}
|
|
5579
|
+
function write07(bc, x) {
|
|
5580
|
+
bare7.writeUintSafe(bc, x.length);
|
|
5581
|
+
for (let i = 0; i < x.length; i++) {
|
|
5582
|
+
writeSubscription2(bc, x[i]);
|
|
5583
|
+
}
|
|
5584
|
+
}
|
|
5585
|
+
function read17(bc) {
|
|
5586
|
+
const len = bare7.readUintSafe(bc);
|
|
5587
|
+
const result = /* @__PURE__ */ new Map();
|
|
5588
|
+
for (let i = 0; i < len; i++) {
|
|
5589
|
+
const offset = bc.offset;
|
|
5590
|
+
const key = bare7.readString(bc);
|
|
5591
|
+
if (result.has(key)) {
|
|
5592
|
+
bc.offset = offset;
|
|
5593
|
+
throw new bare7.BareError(offset, "duplicated key");
|
|
5594
|
+
}
|
|
5595
|
+
result.set(key, bare7.readString(bc));
|
|
5596
|
+
}
|
|
5597
|
+
return result;
|
|
5598
|
+
}
|
|
5599
|
+
function write17(bc, x) {
|
|
5600
|
+
bare7.writeUintSafe(bc, x.size);
|
|
5601
|
+
for (const kv of x) {
|
|
5602
|
+
bare7.writeString(bc, kv[0]);
|
|
5603
|
+
bare7.writeString(bc, kv[1]);
|
|
5604
|
+
}
|
|
5605
|
+
}
|
|
5606
|
+
function readConn2(bc) {
|
|
5607
|
+
return {
|
|
5608
|
+
id: bare7.readString(bc),
|
|
5609
|
+
parameters: readCbor2(bc),
|
|
5610
|
+
state: readCbor2(bc),
|
|
5611
|
+
subscriptions: read07(bc),
|
|
5612
|
+
gatewayId: readGatewayId2(bc),
|
|
5613
|
+
requestId: readRequestId2(bc),
|
|
5614
|
+
serverMessageIndex: bare7.readU16(bc),
|
|
5615
|
+
clientMessageIndex: bare7.readU16(bc),
|
|
5616
|
+
requestPath: bare7.readString(bc),
|
|
5617
|
+
requestHeaders: read17(bc)
|
|
5618
|
+
};
|
|
5619
|
+
}
|
|
5620
|
+
function writeConn2(bc, x) {
|
|
5621
|
+
bare7.writeString(bc, x.id);
|
|
5622
|
+
writeCbor2(bc, x.parameters);
|
|
5623
|
+
writeCbor2(bc, x.state);
|
|
5624
|
+
write07(bc, x.subscriptions);
|
|
5625
|
+
writeGatewayId2(bc, x.gatewayId);
|
|
5626
|
+
writeRequestId2(bc, x.requestId);
|
|
5627
|
+
bare7.writeU16(bc, x.serverMessageIndex);
|
|
5628
|
+
bare7.writeU16(bc, x.clientMessageIndex);
|
|
5629
|
+
bare7.writeString(bc, x.requestPath);
|
|
5630
|
+
write17(bc, x.requestHeaders);
|
|
5631
|
+
}
|
|
5632
|
+
function encodeConn2(x) {
|
|
5633
|
+
const bc = new bare7.ByteCursor(
|
|
5634
|
+
new Uint8Array(config7.initialBufferLength),
|
|
5635
|
+
config7
|
|
5636
|
+
);
|
|
5637
|
+
writeConn2(bc, x);
|
|
5638
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
5639
|
+
}
|
|
5640
|
+
function decodeConn2(bytes) {
|
|
5641
|
+
const bc = new bare7.ByteCursor(bytes, config7);
|
|
5642
|
+
const result = readConn2(bc);
|
|
5643
|
+
if (bc.offset < bc.view.byteLength) {
|
|
5644
|
+
throw new bare7.BareError(bc.offset, "remaining bytes");
|
|
5645
|
+
}
|
|
5646
|
+
return result;
|
|
5647
|
+
}
|
|
5648
|
+
function read25(bc) {
|
|
5649
|
+
return bare7.readBool(bc) ? readCbor2(bc) : null;
|
|
5650
|
+
}
|
|
5651
|
+
function write25(bc, x) {
|
|
5652
|
+
bare7.writeBool(bc, x !== null);
|
|
5653
|
+
if (x !== null) {
|
|
5654
|
+
writeCbor2(bc, x);
|
|
5655
|
+
}
|
|
5656
|
+
}
|
|
5657
|
+
function readScheduleEvent2(bc) {
|
|
5658
|
+
return {
|
|
5659
|
+
eventId: bare7.readString(bc),
|
|
5660
|
+
timestamp: bare7.readI64(bc),
|
|
5661
|
+
action: bare7.readString(bc),
|
|
5662
|
+
args: read25(bc)
|
|
5663
|
+
};
|
|
5664
|
+
}
|
|
5665
|
+
function writeScheduleEvent2(bc, x) {
|
|
5666
|
+
bare7.writeString(bc, x.eventId);
|
|
5667
|
+
bare7.writeI64(bc, x.timestamp);
|
|
5668
|
+
bare7.writeString(bc, x.action);
|
|
5669
|
+
write25(bc, x.args);
|
|
5670
|
+
}
|
|
5671
|
+
function read35(bc) {
|
|
5672
|
+
const len = bare7.readUintSafe(bc);
|
|
5673
|
+
if (len === 0) {
|
|
5674
|
+
return [];
|
|
5675
|
+
}
|
|
5676
|
+
const result = [readScheduleEvent2(bc)];
|
|
5677
|
+
for (let i = 1; i < len; i++) {
|
|
5678
|
+
result[i] = readScheduleEvent2(bc);
|
|
5679
|
+
}
|
|
5680
|
+
return result;
|
|
5681
|
+
}
|
|
5682
|
+
function write35(bc, x) {
|
|
5683
|
+
bare7.writeUintSafe(bc, x.length);
|
|
5684
|
+
for (let i = 0; i < x.length; i++) {
|
|
5685
|
+
writeScheduleEvent2(bc, x[i]);
|
|
5686
|
+
}
|
|
5687
|
+
}
|
|
5688
|
+
function readActor2(bc) {
|
|
5689
|
+
return {
|
|
5690
|
+
input: read25(bc),
|
|
5691
|
+
hasInitialized: bare7.readBool(bc),
|
|
5692
|
+
state: readCbor2(bc),
|
|
5693
|
+
scheduledEvents: read35(bc)
|
|
5694
|
+
};
|
|
5695
|
+
}
|
|
5696
|
+
function writeActor2(bc, x) {
|
|
5697
|
+
write25(bc, x.input);
|
|
5698
|
+
bare7.writeBool(bc, x.hasInitialized);
|
|
5699
|
+
writeCbor2(bc, x.state);
|
|
5700
|
+
write35(bc, x.scheduledEvents);
|
|
5701
|
+
}
|
|
5702
|
+
function encodeActor2(x) {
|
|
5703
|
+
const bc = new bare7.ByteCursor(
|
|
5704
|
+
new Uint8Array(config7.initialBufferLength),
|
|
5705
|
+
config7
|
|
5706
|
+
);
|
|
5707
|
+
writeActor2(bc, x);
|
|
5708
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
5709
|
+
}
|
|
5710
|
+
function decodeActor2(bytes) {
|
|
5711
|
+
const bc = new bare7.ByteCursor(bytes, config7);
|
|
5712
|
+
const result = readActor2(bc);
|
|
5713
|
+
if (bc.offset < bc.view.byteLength) {
|
|
5714
|
+
throw new bare7.BareError(bc.offset, "remaining bytes");
|
|
5715
|
+
}
|
|
5716
|
+
return result;
|
|
5717
|
+
}
|
|
5718
|
+
function readQueueMetadata(bc) {
|
|
5719
|
+
return {
|
|
5720
|
+
nextId: bare7.readU64(bc),
|
|
5721
|
+
size: bare7.readU32(bc)
|
|
5722
|
+
};
|
|
5723
|
+
}
|
|
5724
|
+
function writeQueueMetadata(bc, x) {
|
|
5725
|
+
bare7.writeU64(bc, x.nextId);
|
|
5726
|
+
bare7.writeU32(bc, x.size);
|
|
5727
|
+
}
|
|
5728
|
+
function encodeQueueMetadata(x) {
|
|
5729
|
+
const bc = new bare7.ByteCursor(
|
|
5730
|
+
new Uint8Array(config7.initialBufferLength),
|
|
5731
|
+
config7
|
|
5732
|
+
);
|
|
5733
|
+
writeQueueMetadata(bc, x);
|
|
5734
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
5735
|
+
}
|
|
5736
|
+
function decodeQueueMetadata(bytes) {
|
|
5737
|
+
const bc = new bare7.ByteCursor(bytes, config7);
|
|
5738
|
+
const result = readQueueMetadata(bc);
|
|
5739
|
+
if (bc.offset < bc.view.byteLength) {
|
|
5740
|
+
throw new bare7.BareError(bc.offset, "remaining bytes");
|
|
5741
|
+
}
|
|
5742
|
+
return result;
|
|
5743
|
+
}
|
|
5744
|
+
function read43(bc) {
|
|
5745
|
+
return bare7.readBool(bc) ? bare7.readU32(bc) : null;
|
|
5746
|
+
}
|
|
5747
|
+
function write43(bc, x) {
|
|
5748
|
+
bare7.writeBool(bc, x !== null);
|
|
5749
|
+
if (x !== null) {
|
|
5750
|
+
bare7.writeU32(bc, x);
|
|
5751
|
+
}
|
|
5752
|
+
}
|
|
5753
|
+
function read5(bc) {
|
|
5754
|
+
return bare7.readBool(bc) ? bare7.readI64(bc) : null;
|
|
5755
|
+
}
|
|
5756
|
+
function write5(bc, x) {
|
|
5757
|
+
bare7.writeBool(bc, x !== null);
|
|
5758
|
+
if (x !== null) {
|
|
5759
|
+
bare7.writeI64(bc, x);
|
|
5760
|
+
}
|
|
5761
|
+
}
|
|
5762
|
+
function read6(bc) {
|
|
5763
|
+
return bare7.readBool(bc) ? bare7.readBool(bc) : null;
|
|
5764
|
+
}
|
|
5765
|
+
function write6(bc, x) {
|
|
5766
|
+
bare7.writeBool(bc, x !== null);
|
|
5767
|
+
if (x !== null) {
|
|
5768
|
+
bare7.writeBool(bc, x);
|
|
5769
|
+
}
|
|
5770
|
+
}
|
|
5771
|
+
function readQueueMessage(bc) {
|
|
5772
|
+
return {
|
|
5773
|
+
name: bare7.readString(bc),
|
|
5774
|
+
body: readCbor2(bc),
|
|
5775
|
+
createdAt: bare7.readI64(bc),
|
|
5776
|
+
failureCount: read43(bc),
|
|
5777
|
+
availableAt: read5(bc),
|
|
5778
|
+
inFlight: read6(bc),
|
|
5779
|
+
inFlightAt: read5(bc)
|
|
5780
|
+
};
|
|
5781
|
+
}
|
|
5782
|
+
function writeQueueMessage(bc, x) {
|
|
5783
|
+
bare7.writeString(bc, x.name);
|
|
5784
|
+
writeCbor2(bc, x.body);
|
|
5785
|
+
bare7.writeI64(bc, x.createdAt);
|
|
5786
|
+
write43(bc, x.failureCount);
|
|
5787
|
+
write5(bc, x.availableAt);
|
|
5788
|
+
write6(bc, x.inFlight);
|
|
5789
|
+
write5(bc, x.inFlightAt);
|
|
5790
|
+
}
|
|
5791
|
+
function encodeQueueMessage(x) {
|
|
5792
|
+
const bc = new bare7.ByteCursor(
|
|
5793
|
+
new Uint8Array(config7.initialBufferLength),
|
|
5794
|
+
config7
|
|
5795
|
+
);
|
|
5796
|
+
writeQueueMessage(bc, x);
|
|
5797
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
5798
|
+
}
|
|
5799
|
+
function decodeQueueMessage(bytes) {
|
|
5800
|
+
const bc = new bare7.ByteCursor(bytes, config7);
|
|
5801
|
+
const result = readQueueMessage(bc);
|
|
5802
|
+
if (bc.offset < bc.view.byteLength) {
|
|
5803
|
+
throw new bare7.BareError(bc.offset, "remaining bytes");
|
|
5804
|
+
}
|
|
5805
|
+
return result;
|
|
5806
|
+
}
|
|
5807
|
+
function assert2(condition, message) {
|
|
5808
|
+
if (!condition) throw new Error(message ?? "Assertion failed");
|
|
5809
|
+
}
|
|
5810
|
+
|
|
4968
5811
|
// src/schemas/actor-persist/versioned.ts
|
|
4969
|
-
var
|
|
5812
|
+
var CURRENT_VERSION3 = 4;
|
|
4970
5813
|
var v1ToV22 = (v1Data) => ({
|
|
4971
5814
|
...v1Data,
|
|
4972
5815
|
connections: v1Data.connections.map((conn) => ({
|
|
@@ -4975,7 +5818,7 @@ var v1ToV22 = (v1Data) => ({
|
|
|
4975
5818
|
})),
|
|
4976
5819
|
hibernatableWebSockets: []
|
|
4977
5820
|
});
|
|
4978
|
-
var
|
|
5821
|
+
var v2ToV32 = (v2Data) => {
|
|
4979
5822
|
const scheduledEvents = v2Data.scheduledEvents.map(
|
|
4980
5823
|
(event) => {
|
|
4981
5824
|
if (event.kind.tag === "GenericPersistedScheduleEvent") {
|
|
@@ -4996,7 +5839,13 @@ var v2ToV3 = (v2Data) => {
|
|
|
4996
5839
|
scheduledEvents
|
|
4997
5840
|
};
|
|
4998
5841
|
};
|
|
4999
|
-
var
|
|
5842
|
+
var v3ToV4 = (v3Data) => {
|
|
5843
|
+
return v3Data;
|
|
5844
|
+
};
|
|
5845
|
+
var v4ToV3 = (v4Data) => {
|
|
5846
|
+
return v4Data;
|
|
5847
|
+
};
|
|
5848
|
+
var v3ToV22 = (v3Data) => {
|
|
5000
5849
|
const scheduledEvents = v3Data.scheduledEvents.map((event) => ({
|
|
5001
5850
|
eventId: event.eventId,
|
|
5002
5851
|
timestamp: event.timestamp,
|
|
@@ -5038,6 +5887,8 @@ var ACTOR_VERSIONED = createVersionedDataHandler2({
|
|
|
5038
5887
|
return decodePersistedActor2(bytes);
|
|
5039
5888
|
case 3:
|
|
5040
5889
|
return decodeActor(bytes);
|
|
5890
|
+
case 4:
|
|
5891
|
+
return decodeActor2(bytes);
|
|
5041
5892
|
default:
|
|
5042
5893
|
throw new Error(`Unknown version ${version}`);
|
|
5043
5894
|
}
|
|
@@ -5050,18 +5901,28 @@ var ACTOR_VERSIONED = createVersionedDataHandler2({
|
|
|
5050
5901
|
return encodePersistedActor2(data);
|
|
5051
5902
|
case 3:
|
|
5052
5903
|
return encodeActor(data);
|
|
5904
|
+
case 4:
|
|
5905
|
+
return encodeActor2(data);
|
|
5053
5906
|
default:
|
|
5054
5907
|
throw new Error(`Unknown version ${version}`);
|
|
5055
5908
|
}
|
|
5056
5909
|
},
|
|
5057
|
-
deserializeConverters: () => [v1ToV22,
|
|
5058
|
-
serializeConverters: () => [
|
|
5910
|
+
deserializeConverters: () => [v1ToV22, v2ToV32, v3ToV4],
|
|
5911
|
+
serializeConverters: () => [v4ToV3, v3ToV22, v2ToV12]
|
|
5059
5912
|
});
|
|
5913
|
+
var v3ConnToV4 = (v3Data) => {
|
|
5914
|
+
return v3Data;
|
|
5915
|
+
};
|
|
5916
|
+
var v4ConnToV3 = (v4Data) => {
|
|
5917
|
+
return v4Data;
|
|
5918
|
+
};
|
|
5060
5919
|
var CONN_VERSIONED = createVersionedDataHandler2({
|
|
5061
5920
|
deserializeVersion: (bytes, version) => {
|
|
5062
5921
|
switch (version) {
|
|
5063
5922
|
case 3:
|
|
5064
5923
|
return decodeConn(bytes);
|
|
5924
|
+
case 4:
|
|
5925
|
+
return decodeConn2(bytes);
|
|
5065
5926
|
default:
|
|
5066
5927
|
throw new Error(
|
|
5067
5928
|
`Conn type only exists in version 3+, got version ${version}`
|
|
@@ -5072,12 +5933,62 @@ var CONN_VERSIONED = createVersionedDataHandler2({
|
|
|
5072
5933
|
switch (version) {
|
|
5073
5934
|
case 3:
|
|
5074
5935
|
return encodeConn(data);
|
|
5936
|
+
case 4:
|
|
5937
|
+
return encodeConn2(data);
|
|
5075
5938
|
default:
|
|
5076
5939
|
throw new Error(
|
|
5077
5940
|
`Conn type only exists in version 3+, got version ${version}`
|
|
5078
5941
|
);
|
|
5079
5942
|
}
|
|
5080
5943
|
},
|
|
5944
|
+
deserializeConverters: () => [v3ConnToV4],
|
|
5945
|
+
serializeConverters: () => [v4ConnToV3]
|
|
5946
|
+
});
|
|
5947
|
+
var QUEUE_METADATA_VERSIONED = createVersionedDataHandler2({
|
|
5948
|
+
deserializeVersion: (bytes, version) => {
|
|
5949
|
+
switch (version) {
|
|
5950
|
+
case 4:
|
|
5951
|
+
return decodeQueueMetadata(bytes);
|
|
5952
|
+
default:
|
|
5953
|
+
throw new Error(
|
|
5954
|
+
`QueueMetadata type only exists in version 4+, got version ${version}`
|
|
5955
|
+
);
|
|
5956
|
+
}
|
|
5957
|
+
},
|
|
5958
|
+
serializeVersion: (data, version) => {
|
|
5959
|
+
switch (version) {
|
|
5960
|
+
case 4:
|
|
5961
|
+
return encodeQueueMetadata(data);
|
|
5962
|
+
default:
|
|
5963
|
+
throw new Error(
|
|
5964
|
+
`QueueMetadata type only exists in version 4+, got version ${version}`
|
|
5965
|
+
);
|
|
5966
|
+
}
|
|
5967
|
+
},
|
|
5968
|
+
deserializeConverters: () => [],
|
|
5969
|
+
serializeConverters: () => []
|
|
5970
|
+
});
|
|
5971
|
+
var QUEUE_MESSAGE_VERSIONED = createVersionedDataHandler2({
|
|
5972
|
+
deserializeVersion: (bytes, version) => {
|
|
5973
|
+
switch (version) {
|
|
5974
|
+
case 4:
|
|
5975
|
+
return decodeQueueMessage(bytes);
|
|
5976
|
+
default:
|
|
5977
|
+
throw new Error(
|
|
5978
|
+
`QueueMessage type only exists in version 4+, got version ${version}`
|
|
5979
|
+
);
|
|
5980
|
+
}
|
|
5981
|
+
},
|
|
5982
|
+
serializeVersion: (data, version) => {
|
|
5983
|
+
switch (version) {
|
|
5984
|
+
case 4:
|
|
5985
|
+
return encodeQueueMessage(data);
|
|
5986
|
+
default:
|
|
5987
|
+
throw new Error(
|
|
5988
|
+
`QueueMessage type only exists in version 4+, got version ${version}`
|
|
5989
|
+
);
|
|
5990
|
+
}
|
|
5991
|
+
},
|
|
5081
5992
|
deserializeConverters: () => [],
|
|
5082
5993
|
serializeConverters: () => []
|
|
5083
5994
|
});
|
|
@@ -5092,7 +6003,7 @@ function serializeEmptyPersistData(input) {
|
|
|
5092
6003
|
};
|
|
5093
6004
|
return ACTOR_VERSIONED.serializeWithEmbeddedVersion(
|
|
5094
6005
|
persistData,
|
|
5095
|
-
|
|
6006
|
+
CURRENT_VERSION3
|
|
5096
6007
|
);
|
|
5097
6008
|
}
|
|
5098
6009
|
function getInitialActorKvState(input) {
|
|
@@ -5102,28 +6013,25 @@ function getInitialActorKvState(input) {
|
|
|
5102
6013
|
|
|
5103
6014
|
export {
|
|
5104
6015
|
createHttpDriver,
|
|
5105
|
-
CURRENT_VERSION,
|
|
6016
|
+
CURRENT_VERSION2 as CURRENT_VERSION,
|
|
5106
6017
|
TO_SERVER_VERSIONED2 as TO_SERVER_VERSIONED,
|
|
5107
6018
|
TO_CLIENT_VERSIONED2 as TO_CLIENT_VERSIONED,
|
|
5108
6019
|
HTTP_ACTION_REQUEST_VERSIONED,
|
|
5109
6020
|
HTTP_ACTION_RESPONSE_VERSIONED,
|
|
6021
|
+
HTTP_QUEUE_SEND_REQUEST_VERSIONED,
|
|
6022
|
+
HTTP_QUEUE_SEND_RESPONSE_VERSIONED,
|
|
5110
6023
|
HTTP_RESPONSE_ERROR_VERSIONED,
|
|
5111
6024
|
ToClientSchema,
|
|
5112
6025
|
ToServerSchema,
|
|
5113
6026
|
HttpActionRequestSchema,
|
|
5114
6027
|
HttpActionResponseSchema,
|
|
6028
|
+
HttpQueueSendRequestSchema,
|
|
6029
|
+
HttpQueueSendResponseSchema,
|
|
5115
6030
|
HttpResponseErrorSchema,
|
|
5116
6031
|
uint8ArrayToBase64,
|
|
5117
6032
|
contentTypeForEncoding,
|
|
5118
6033
|
serializeWithEncoding,
|
|
5119
6034
|
deserializeWithEncoding,
|
|
5120
|
-
loggerWithoutContext,
|
|
5121
|
-
assertUnreachable2 as assertUnreachable,
|
|
5122
|
-
DeadlineError,
|
|
5123
|
-
deadline,
|
|
5124
|
-
generateSecureToken,
|
|
5125
|
-
isStatePath,
|
|
5126
|
-
isConnStatePath,
|
|
5127
6035
|
EncodingSchema,
|
|
5128
6036
|
CachedSerializer,
|
|
5129
6037
|
jsonStringifyCompat,
|
|
@@ -5133,14 +6041,12 @@ export {
|
|
|
5133
6041
|
CONN_STATE_MANAGER_SYMBOL,
|
|
5134
6042
|
CONN_SEND_MESSAGE_SYMBOL,
|
|
5135
6043
|
Conn,
|
|
5136
|
-
KEYS,
|
|
5137
|
-
makeConnKey,
|
|
5138
|
-
ActorKv,
|
|
5139
|
-
ActorContext,
|
|
5140
6044
|
ActionContext,
|
|
5141
|
-
CURRENT_VERSION2,
|
|
6045
|
+
CURRENT_VERSION3 as CURRENT_VERSION2,
|
|
5142
6046
|
ACTOR_VERSIONED,
|
|
5143
6047
|
CONN_VERSIONED,
|
|
6048
|
+
QUEUE_METADATA_VERSIONED,
|
|
6049
|
+
QUEUE_MESSAGE_VERSIONED,
|
|
5144
6050
|
BeforeConnectContext,
|
|
5145
6051
|
ConnectContext,
|
|
5146
6052
|
CreateConnStateContext,
|
|
@@ -5170,6 +6076,7 @@ export {
|
|
|
5170
6076
|
WS_TEST_PROTOCOL_PATH,
|
|
5171
6077
|
ALLOWED_PUBLIC_HEADERS,
|
|
5172
6078
|
handleAction,
|
|
6079
|
+
handleQueueSend,
|
|
5173
6080
|
handleRawRequest,
|
|
5174
6081
|
ENGINE_PORT,
|
|
5175
6082
|
ENGINE_ENDPOINT,
|
|
@@ -5190,11 +6097,22 @@ export {
|
|
|
5190
6097
|
handleRouteError,
|
|
5191
6098
|
handleMetadataRequest,
|
|
5192
6099
|
handleHealthRequest,
|
|
6100
|
+
inspectorLogger,
|
|
6101
|
+
timingSafeEqual,
|
|
5193
6102
|
routeWebSocket,
|
|
5194
6103
|
parseWebSocketProtocols,
|
|
5195
6104
|
truncateRawWebSocketPathPrefix,
|
|
6105
|
+
getRequireFn,
|
|
6106
|
+
importNodeDependencies,
|
|
6107
|
+
getNodeCrypto,
|
|
6108
|
+
getNodeFsSync,
|
|
6109
|
+
getNodeFs,
|
|
6110
|
+
getNodePath,
|
|
6111
|
+
getNodeOs,
|
|
6112
|
+
getNodeChildProcess,
|
|
6113
|
+
getNodeStream,
|
|
5196
6114
|
createRouter,
|
|
5197
6115
|
buildManagerRouter,
|
|
5198
6116
|
getInitialActorKvState
|
|
5199
6117
|
};
|
|
5200
|
-
//# sourceMappingURL=chunk-
|
|
6118
|
+
//# sourceMappingURL=chunk-M2T62AZQ.js.map
|