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
|
@@ -5,17 +5,18 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
+
var _chunkYQ4LDVD6cjs = require('./chunk-YQ4LDVD6.cjs');
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
|
|
13
|
-
var _chunkRUW5CZ5Zcjs = require('./chunk-RUW5CZ5Z.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
|
+
var _chunkSSEP6DHPcjs = require('./chunk-SSEP6DHP.cjs');
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
|
|
@@ -23,7 +24,6 @@ var _chunkRUW5CZ5Zcjs = require('./chunk-RUW5CZ5Z.cjs');
|
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
|
|
26
|
-
var _chunkGD7UXGOEcjs = require('./chunk-GD7UXGOE.cjs');
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
@@ -45,13 +45,14 @@ var _chunkGD7UXGOEcjs = require('./chunk-GD7UXGOE.cjs');
|
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
|
|
48
|
+
var _chunkF6JYU5IKcjs = require('./chunk-F6JYU5IK.cjs');
|
|
48
49
|
|
|
49
50
|
|
|
50
|
-
var _chunkRZW2DNNDcjs = require('./chunk-RZW2DNND.cjs');
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
|
|
55
|
+
var _chunkHIDX4C5Ycjs = require('./chunk-HIDX4C5Y.cjs');
|
|
55
56
|
|
|
56
57
|
|
|
57
58
|
|
|
@@ -65,172 +66,26 @@ var _chunkRZW2DNNDcjs = require('./chunk-RZW2DNND.cjs');
|
|
|
65
66
|
|
|
66
67
|
|
|
67
68
|
|
|
68
|
-
var _chunkH4TB4X25cjs = require('./chunk-H4TB4X25.cjs');
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
|
|
72
72
|
|
|
73
73
|
|
|
74
|
-
var
|
|
74
|
+
var _chunkLW6KLR7Acjs = require('./chunk-LW6KLR7A.cjs');
|
|
75
75
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
onDestroy: zFunction().optional(),
|
|
82
|
-
onWake: zFunction().optional(),
|
|
83
|
-
onSleep: zFunction().optional(),
|
|
84
|
-
onStateChange: zFunction().optional(),
|
|
85
|
-
onBeforeConnect: zFunction().optional(),
|
|
86
|
-
onConnect: zFunction().optional(),
|
|
87
|
-
onDisconnect: zFunction().optional(),
|
|
88
|
-
onBeforeActionResponse: zFunction().optional(),
|
|
89
|
-
onRequest: zFunction().optional(),
|
|
90
|
-
onWebSocket: zFunction().optional(),
|
|
91
|
-
actions: _zod.z.record(_zod.z.string(), zFunction()).default(() => ({})),
|
|
92
|
-
state: _zod.z.any().optional(),
|
|
93
|
-
createState: zFunction().optional(),
|
|
94
|
-
connState: _zod.z.any().optional(),
|
|
95
|
-
createConnState: zFunction().optional(),
|
|
96
|
-
vars: _zod.z.any().optional(),
|
|
97
|
-
db: _zod.z.any().optional(),
|
|
98
|
-
createVars: zFunction().optional(),
|
|
99
|
-
options: _zod.z.object({
|
|
100
|
-
createVarsTimeout: _zod.z.number().positive().default(5e3),
|
|
101
|
-
createConnStateTimeout: _zod.z.number().positive().default(5e3),
|
|
102
|
-
onConnectTimeout: _zod.z.number().positive().default(5e3),
|
|
103
|
-
// This must be less than ACTOR_STOP_THRESHOLD_MS
|
|
104
|
-
onSleepTimeout: _zod.z.number().positive().default(5e3),
|
|
105
|
-
onDestroyTimeout: _zod.z.number().positive().default(5e3),
|
|
106
|
-
stateSaveInterval: _zod.z.number().positive().default(1e4),
|
|
107
|
-
actionTimeout: _zod.z.number().positive().default(6e4),
|
|
108
|
-
// Max time to wait for waitUntil background promises during shutdown
|
|
109
|
-
waitUntilTimeout: _zod.z.number().positive().default(15e3),
|
|
110
|
-
connectionLivenessTimeout: _zod.z.number().positive().default(2500),
|
|
111
|
-
connectionLivenessInterval: _zod.z.number().positive().default(5e3),
|
|
112
|
-
noSleep: _zod.z.boolean().default(false),
|
|
113
|
-
sleepTimeout: _zod.z.number().positive().default(3e4),
|
|
114
|
-
/**
|
|
115
|
-
* Can hibernate WebSockets for onWebSocket.
|
|
116
|
-
*
|
|
117
|
-
* WebSockets using actions/events are hibernatable by default.
|
|
118
|
-
*
|
|
119
|
-
* @experimental
|
|
120
|
-
**/
|
|
121
|
-
canHibernateWebSocket: _zod.z.union([
|
|
122
|
-
_zod.z.boolean(),
|
|
123
|
-
zFunction()
|
|
124
|
-
]).default(false)
|
|
125
|
-
}).strict().prefault(() => ({}))
|
|
126
|
-
}).strict().refine(
|
|
127
|
-
(data) => !(data.state !== void 0 && data.createState !== void 0),
|
|
128
|
-
{
|
|
129
|
-
message: "Cannot define both 'state' and 'createState'",
|
|
130
|
-
path: ["state"]
|
|
131
|
-
}
|
|
132
|
-
).refine(
|
|
133
|
-
(data) => !(data.connState !== void 0 && data.createConnState !== void 0),
|
|
134
|
-
{
|
|
135
|
-
message: "Cannot define both 'connState' and 'createConnState'",
|
|
136
|
-
path: ["connState"]
|
|
137
|
-
}
|
|
138
|
-
).refine(
|
|
139
|
-
(data) => !(data.vars !== void 0 && data.createVars !== void 0),
|
|
140
|
-
{
|
|
141
|
-
message: "Cannot define both 'vars' and 'createVars'",
|
|
142
|
-
path: ["vars"]
|
|
143
|
-
}
|
|
144
|
-
);
|
|
145
|
-
var DocActorOptionsSchema = _zod.z.object({
|
|
146
|
-
createVarsTimeout: _zod.z.number().optional().describe("Timeout in ms for createVars handler. Default: 5000"),
|
|
147
|
-
createConnStateTimeout: _zod.z.number().optional().describe(
|
|
148
|
-
"Timeout in ms for createConnState handler. Default: 5000"
|
|
149
|
-
),
|
|
150
|
-
onConnectTimeout: _zod.z.number().optional().describe("Timeout in ms for onConnect handler. Default: 5000"),
|
|
151
|
-
onSleepTimeout: _zod.z.number().optional().describe(
|
|
152
|
-
"Timeout in ms for onSleep handler. Must be less than ACTOR_STOP_THRESHOLD_MS. Default: 5000"
|
|
153
|
-
),
|
|
154
|
-
onDestroyTimeout: _zod.z.number().optional().describe("Timeout in ms for onDestroy handler. Default: 5000"),
|
|
155
|
-
stateSaveInterval: _zod.z.number().optional().describe(
|
|
156
|
-
"Interval in ms between automatic state saves. Default: 10000"
|
|
157
|
-
),
|
|
158
|
-
actionTimeout: _zod.z.number().optional().describe("Timeout in ms for action handlers. Default: 60000"),
|
|
159
|
-
waitUntilTimeout: _zod.z.number().optional().describe(
|
|
160
|
-
"Max time in ms to wait for waitUntil background promises during shutdown. Default: 15000"
|
|
161
|
-
),
|
|
162
|
-
connectionLivenessTimeout: _zod.z.number().optional().describe(
|
|
163
|
-
"Timeout in ms for connection liveness checks. Default: 2500"
|
|
164
|
-
),
|
|
165
|
-
connectionLivenessInterval: _zod.z.number().optional().describe(
|
|
166
|
-
"Interval in ms between connection liveness checks. Default: 5000"
|
|
167
|
-
),
|
|
168
|
-
noSleep: _zod.z.boolean().optional().describe("If true, the actor will never sleep. Default: false"),
|
|
169
|
-
sleepTimeout: _zod.z.number().optional().describe(
|
|
170
|
-
"Time in ms of inactivity before the actor sleeps. Default: 30000"
|
|
171
|
-
),
|
|
172
|
-
canHibernateWebSocket: _zod.z.boolean().optional().describe(
|
|
173
|
-
"Whether WebSockets using onWebSocket can be hibernated. WebSockets using actions/events are hibernatable by default. Default: false"
|
|
174
|
-
)
|
|
175
|
-
}).describe("Actor options for timeouts and behavior configuration.");
|
|
176
|
-
var DocActorConfigSchema = _zod.z.object({
|
|
177
|
-
state: _zod.z.unknown().optional().describe(
|
|
178
|
-
"Initial state value for the actor. Cannot be used with createState."
|
|
179
|
-
),
|
|
180
|
-
createState: _zod.z.unknown().optional().describe(
|
|
181
|
-
"Function to create initial state. Receives context and input. Cannot be used with state."
|
|
182
|
-
),
|
|
183
|
-
connState: _zod.z.unknown().optional().describe(
|
|
184
|
-
"Initial connection state value. Cannot be used with createConnState."
|
|
185
|
-
),
|
|
186
|
-
createConnState: _zod.z.unknown().optional().describe(
|
|
187
|
-
"Function to create connection state. Receives context and connection params. Cannot be used with connState."
|
|
188
|
-
),
|
|
189
|
-
vars: _zod.z.unknown().optional().describe(
|
|
190
|
-
"Initial ephemeral variables value. Cannot be used with createVars."
|
|
191
|
-
),
|
|
192
|
-
createVars: _zod.z.unknown().optional().describe(
|
|
193
|
-
"Function to create ephemeral variables. Receives context and driver context. Cannot be used with vars."
|
|
194
|
-
),
|
|
195
|
-
db: _zod.z.unknown().optional().describe("Database provider instance for the actor."),
|
|
196
|
-
onCreate: _zod.z.unknown().optional().describe(
|
|
197
|
-
"Called when the actor is first initialized. Use to initialize state."
|
|
198
|
-
),
|
|
199
|
-
onDestroy: _zod.z.unknown().optional().describe("Called when the actor is destroyed."),
|
|
200
|
-
onWake: _zod.z.unknown().optional().describe(
|
|
201
|
-
"Called when the actor wakes up and is ready to receive connections and actions."
|
|
202
|
-
),
|
|
203
|
-
onSleep: _zod.z.unknown().optional().describe(
|
|
204
|
-
"Called when the actor is stopping or sleeping. Use to clean up resources."
|
|
205
|
-
),
|
|
206
|
-
onStateChange: _zod.z.unknown().optional().describe(
|
|
207
|
-
"Called when the actor's state changes. State changes within this hook won't trigger recursion."
|
|
208
|
-
),
|
|
209
|
-
onBeforeConnect: _zod.z.unknown().optional().describe(
|
|
210
|
-
"Called before a client connects. Throw an error to reject the connection."
|
|
211
|
-
),
|
|
212
|
-
onConnect: _zod.z.unknown().optional().describe("Called when a client successfully connects."),
|
|
213
|
-
onDisconnect: _zod.z.unknown().optional().describe("Called when a client disconnects."),
|
|
214
|
-
onBeforeActionResponse: _zod.z.unknown().optional().describe(
|
|
215
|
-
"Called before sending an action response. Use to transform output."
|
|
216
|
-
),
|
|
217
|
-
onRequest: _zod.z.unknown().optional().describe(
|
|
218
|
-
"Called for raw HTTP requests to /actors/{name}/http/* endpoints."
|
|
219
|
-
),
|
|
220
|
-
onWebSocket: _zod.z.unknown().optional().describe(
|
|
221
|
-
"Called for raw WebSocket connections to /actors/{name}/websocket/* endpoints."
|
|
222
|
-
),
|
|
223
|
-
actions: _zod.z.record(_zod.z.string(), _zod.z.unknown()).optional().describe(
|
|
224
|
-
"Map of action name to handler function. Defaults to an empty object."
|
|
225
|
-
),
|
|
226
|
-
options: DocActorOptionsSchema.optional()
|
|
227
|
-
}).describe("Actor configuration passed to the actor() function.");
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
var _chunkL47L3ZWJcjs = require('./chunk-L47L3ZWJ.cjs');
|
|
228
81
|
|
|
229
82
|
// src/actor/mod.ts
|
|
230
83
|
function actor(input) {
|
|
231
|
-
const config = ActorConfigSchema.parse(input);
|
|
232
|
-
return new (0,
|
|
84
|
+
const config = _chunkHIDX4C5Ycjs.ActorConfigSchema.parse(input);
|
|
85
|
+
return new (0, _chunkYQ4LDVD6cjs.ActorDefinition)(config);
|
|
233
86
|
}
|
|
87
|
+
var event2 = _chunkHIDX4C5Ycjs.event;
|
|
88
|
+
var queue2 = _chunkHIDX4C5Ycjs.queue;
|
|
234
89
|
|
|
235
90
|
// src/drivers/engine/actor-driver.ts
|
|
236
91
|
var _enginerunner = require('@rivetkit/engine-runner');
|
|
@@ -241,7 +96,7 @@ var _invariant = require('invariant'); var _invariant2 = _interopRequireDefault(
|
|
|
241
96
|
|
|
242
97
|
// src/drivers/engine/log.ts
|
|
243
98
|
function logger() {
|
|
244
|
-
return
|
|
99
|
+
return _chunkLW6KLR7Acjs.getLogger.call(void 0, "driver-engine");
|
|
245
100
|
}
|
|
246
101
|
|
|
247
102
|
// src/drivers/engine/actor-driver.ts
|
|
@@ -255,8 +110,8 @@ var EngineActorDriver = class {
|
|
|
255
110
|
#runner;
|
|
256
111
|
#actors = /* @__PURE__ */ new Map();
|
|
257
112
|
#actorRouter;
|
|
258
|
-
#runnerStarted =
|
|
259
|
-
#runnerStopped =
|
|
113
|
+
#runnerStarted = _chunkLW6KLR7Acjs.promiseWithResolvers.call(void 0, (reason) => logger().warn({ msg: "unhandled runner started promise rejection", reason }));
|
|
114
|
+
#runnerStopped = _chunkLW6KLR7Acjs.promiseWithResolvers.call(void 0, (reason) => logger().warn({ msg: "unhandled runner stopped promise rejection", reason }));
|
|
260
115
|
#isRunnerStopped = false;
|
|
261
116
|
// HACK: Track actor stop intent locally since the runner protocol doesn't
|
|
262
117
|
// pass the stop reason to onActorStop. This will be fixed when the runner
|
|
@@ -280,7 +135,7 @@ var EngineActorDriver = class {
|
|
|
280
135
|
this.#managerDriver = managerDriver;
|
|
281
136
|
this.#inlineClient = inlineClient;
|
|
282
137
|
const token = config.token;
|
|
283
|
-
this.#actorRouter =
|
|
138
|
+
this.#actorRouter = _chunkYQ4LDVD6cjs.createActorRouter.call(void 0,
|
|
284
139
|
config,
|
|
285
140
|
this,
|
|
286
141
|
void 0,
|
|
@@ -288,16 +143,16 @@ var EngineActorDriver = class {
|
|
|
288
143
|
);
|
|
289
144
|
const engineRunnerConfig = {
|
|
290
145
|
version: config.runner.version,
|
|
291
|
-
endpoint:
|
|
146
|
+
endpoint: _chunkSSEP6DHPcjs.getEndpoint.call(void 0, config),
|
|
292
147
|
token,
|
|
293
148
|
namespace: config.namespace,
|
|
294
149
|
totalSlots: config.runner.totalSlots,
|
|
295
150
|
runnerName: config.runner.runnerName,
|
|
296
151
|
runnerKey: _nullishCoalesce(config.runner.runnerKey, () => ( crypto.randomUUID())),
|
|
297
152
|
metadata: {
|
|
298
|
-
rivetkit: { version:
|
|
153
|
+
rivetkit: { version: _chunkLW6KLR7Acjs.VERSION }
|
|
299
154
|
},
|
|
300
|
-
prepopulateActorNames:
|
|
155
|
+
prepopulateActorNames: _chunkF6JYU5IKcjs.buildActorNames.call(void 0, config),
|
|
301
156
|
onConnected: () => {
|
|
302
157
|
this.#runnerStarted.resolve(void 0);
|
|
303
158
|
},
|
|
@@ -314,7 +169,7 @@ var EngineActorDriver = class {
|
|
|
314
169
|
},
|
|
315
170
|
onActorStart: this.#runnerOnActorStart.bind(this),
|
|
316
171
|
onActorStop: this.#runnerOnActorStop.bind(this),
|
|
317
|
-
logger:
|
|
172
|
+
logger: _chunkLW6KLR7Acjs.getLogger.call(void 0, "engine-runner")
|
|
318
173
|
};
|
|
319
174
|
this.#runner = new (0, _enginerunner.Runner)(engineRunnerConfig);
|
|
320
175
|
this.#runner.start();
|
|
@@ -352,15 +207,13 @@ var EngineActorDriver = class {
|
|
|
352
207
|
handler.alarmTimeout = void 0;
|
|
353
208
|
}
|
|
354
209
|
const delay = Math.max(0, timestamp - Date.now());
|
|
355
|
-
handler.alarmTimeout =
|
|
210
|
+
handler.alarmTimeout = _chunkLW6KLR7Acjs.setLongTimeout.call(void 0, () => {
|
|
356
211
|
actor2.onAlarm();
|
|
357
212
|
handler.alarmTimeout = void 0;
|
|
358
213
|
}, delay);
|
|
359
214
|
this.#runner.setAlarm(actor2.id, timestamp);
|
|
360
215
|
}
|
|
361
|
-
|
|
362
|
-
return void 0;
|
|
363
|
-
}
|
|
216
|
+
// No database overrides - will use KV-backed implementation from rivetkit/db
|
|
364
217
|
// MARK: - Batch KV operations
|
|
365
218
|
async kvBatchPut(actorId, entries) {
|
|
366
219
|
await this.#runner.kvPut(actorId, entries);
|
|
@@ -424,7 +277,7 @@ var EngineActorDriver = class {
|
|
|
424
277
|
var _a;
|
|
425
278
|
(_a = handler.actor) == null ? void 0 : _a.rLog.error({
|
|
426
279
|
msg: "onStop errored",
|
|
427
|
-
error:
|
|
280
|
+
error: _chunkLW6KLR7Acjs.stringifyError.call(void 0, err)
|
|
428
281
|
});
|
|
429
282
|
})
|
|
430
283
|
);
|
|
@@ -468,6 +321,7 @@ var EngineActorDriver = class {
|
|
|
468
321
|
});
|
|
469
322
|
}
|
|
470
323
|
async #runnerOnActorStart(actorId, generation, actorConfig) {
|
|
324
|
+
var _a;
|
|
471
325
|
logger().debug({
|
|
472
326
|
msg: "runner actor starting",
|
|
473
327
|
actorId,
|
|
@@ -482,42 +336,52 @@ var EngineActorDriver = class {
|
|
|
482
336
|
let handler = this.#actors.get(actorId);
|
|
483
337
|
if (!handler) {
|
|
484
338
|
handler = {
|
|
485
|
-
actorStartPromise:
|
|
339
|
+
actorStartPromise: _chunkLW6KLR7Acjs.promiseWithResolvers.call(void 0, (reason) => logger().warn({ msg: "unhandled actor start promise rejection", reason }))
|
|
486
340
|
};
|
|
487
341
|
this.#actors.set(actorId, handler);
|
|
488
342
|
}
|
|
489
343
|
const name = actorConfig.name;
|
|
490
344
|
_invariant2.default.call(void 0, actorConfig.key, "actor should have a key");
|
|
491
|
-
const key =
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
345
|
+
const key = _chunkF6JYU5IKcjs.deserializeActorKey.call(void 0, actorConfig.key);
|
|
346
|
+
try {
|
|
347
|
+
const [persistDataBuffer] = await this.#runner.kvGet(actorId, [
|
|
348
|
+
_chunkHIDX4C5Ycjs.KEYS.PERSIST_DATA
|
|
349
|
+
]);
|
|
350
|
+
if (persistDataBuffer === null) {
|
|
351
|
+
const initialKvState = _chunkF6JYU5IKcjs.getInitialActorKvState.call(void 0, input);
|
|
352
|
+
await this.#runner.kvPut(actorId, initialKvState);
|
|
353
|
+
logger().debug({
|
|
354
|
+
msg: "initialized persist data for new actor",
|
|
355
|
+
actorId
|
|
356
|
+
});
|
|
357
|
+
} else {
|
|
358
|
+
logger().debug({
|
|
359
|
+
msg: "found existing persist data for actor",
|
|
360
|
+
actorId,
|
|
361
|
+
dataSize: persistDataBuffer.byteLength
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
const definition = _chunkYQ4LDVD6cjs.lookupInRegistry.call(void 0, this.#config, actorConfig.name);
|
|
365
|
+
handler.actor = await definition.instantiate();
|
|
366
|
+
await handler.actor.start(
|
|
367
|
+
this,
|
|
368
|
+
this.#inlineClient,
|
|
505
369
|
actorId,
|
|
506
|
-
|
|
507
|
-
|
|
370
|
+
name,
|
|
371
|
+
key,
|
|
372
|
+
"unknown"
|
|
373
|
+
// TODO: Add regions
|
|
374
|
+
);
|
|
375
|
+
logger().debug({ msg: "runner actor started", actorId, name, key });
|
|
376
|
+
} catch (innerError) {
|
|
377
|
+
const error = new Error(
|
|
378
|
+
`Failed to start actor ${actorId}: ${innerError}`,
|
|
379
|
+
{ cause: innerError }
|
|
380
|
+
);
|
|
381
|
+
(_a = handler.actorStartPromise) == null ? void 0 : _a.reject(error);
|
|
382
|
+
handler.actorStartPromise = void 0;
|
|
383
|
+
throw error;
|
|
508
384
|
}
|
|
509
|
-
const definition = _chunkGD7UXGOEcjs.lookupInRegistry.call(void 0, this.#config, actorConfig.name);
|
|
510
|
-
handler.actor = definition.instantiate();
|
|
511
|
-
await handler.actor.start(
|
|
512
|
-
this,
|
|
513
|
-
this.#inlineClient,
|
|
514
|
-
actorId,
|
|
515
|
-
name,
|
|
516
|
-
key,
|
|
517
|
-
"unknown"
|
|
518
|
-
// TODO: Add regions
|
|
519
|
-
);
|
|
520
|
-
logger().debug({ msg: "runner actor started", actorId, name, key });
|
|
521
385
|
}
|
|
522
386
|
async #runnerOnActorStop(actorId, generation) {
|
|
523
387
|
logger().debug({ msg: "runner actor stopping", actorId, generation });
|
|
@@ -530,7 +394,7 @@ var EngineActorDriver = class {
|
|
|
530
394
|
} catch (err) {
|
|
531
395
|
logger().error({
|
|
532
396
|
msg: "error in onStop, proceeding with removing actor",
|
|
533
|
-
err:
|
|
397
|
+
err: _chunkLW6KLR7Acjs.stringifyError.call(void 0, err)
|
|
534
398
|
});
|
|
535
399
|
}
|
|
536
400
|
this.#actors.delete(actorId);
|
|
@@ -563,10 +427,10 @@ var EngineActorDriver = class {
|
|
|
563
427
|
websocketProps: websocketRaw ? Object.keys(websocketRaw).join(", ") : "null"
|
|
564
428
|
});
|
|
565
429
|
const protocols = request.headers.get("sec-websocket-protocol");
|
|
566
|
-
const { encoding, connParams } =
|
|
430
|
+
const { encoding, connParams } = _chunkF6JYU5IKcjs.parseWebSocketProtocols.call(void 0, protocols);
|
|
567
431
|
let wsHandler;
|
|
568
432
|
try {
|
|
569
|
-
wsHandler = await
|
|
433
|
+
wsHandler = await _chunkF6JYU5IKcjs.routeWebSocket.call(void 0,
|
|
570
434
|
request,
|
|
571
435
|
requestPath,
|
|
572
436
|
requestHeaders,
|
|
@@ -589,7 +453,7 @@ var EngineActorDriver = class {
|
|
|
589
453
|
const wsContext = new (0, _ws.WSContext)(websocket);
|
|
590
454
|
const conn = wsHandler.conn;
|
|
591
455
|
const actor2 = wsHandler.actor;
|
|
592
|
-
const connStateManager = conn == null ? void 0 : conn[
|
|
456
|
+
const connStateManager = conn == null ? void 0 : conn[_chunkF6JYU5IKcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
593
457
|
logger().debug({
|
|
594
458
|
msg: "attaching websocket event listeners",
|
|
595
459
|
actorId,
|
|
@@ -601,55 +465,55 @@ var EngineActorDriver = class {
|
|
|
601
465
|
if (isRestoringHibernatable) {
|
|
602
466
|
(_c = wsHandler.onRestore) == null ? void 0 : _c.call(wsHandler, wsContext);
|
|
603
467
|
}
|
|
604
|
-
websocket.addEventListener("open", (
|
|
605
|
-
wsHandler.onOpen(
|
|
468
|
+
websocket.addEventListener("open", (event3) => {
|
|
469
|
+
wsHandler.onOpen(event3, wsContext);
|
|
606
470
|
});
|
|
607
|
-
websocket.addEventListener("message", (
|
|
471
|
+
websocket.addEventListener("message", (event3) => {
|
|
608
472
|
var _a2, _b2;
|
|
609
473
|
logger().debug({
|
|
610
474
|
msg: "websocket message event listener triggered",
|
|
611
475
|
connId: conn == null ? void 0 : conn.id,
|
|
612
476
|
actorId: actor2 == null ? void 0 : actor2.id,
|
|
613
|
-
messageIndex:
|
|
477
|
+
messageIndex: event3.rivetMessageIndex,
|
|
614
478
|
hasWsHandler: !!wsHandler,
|
|
615
479
|
hasOnMessage: !!(wsHandler == null ? void 0 : wsHandler.onMessage),
|
|
616
480
|
actorIsStopping: actor2 == null ? void 0 : actor2.isStopping,
|
|
617
481
|
websocketType: (_a2 = websocket == null ? void 0 : websocket.constructor) == null ? void 0 : _a2.name,
|
|
618
482
|
wsUniqueId: websocket.__rivet_ws_id,
|
|
619
|
-
eventTargetWsId: (_b2 =
|
|
483
|
+
eventTargetWsId: (_b2 = event3.target) == null ? void 0 : _b2.__rivet_ws_id
|
|
620
484
|
});
|
|
621
485
|
if (actor2 == null ? void 0 : actor2.isStopping) {
|
|
622
486
|
logger().debug({
|
|
623
487
|
msg: "ignoring ws message, actor is stopping",
|
|
624
488
|
connId: conn == null ? void 0 : conn.id,
|
|
625
489
|
actorId: actor2 == null ? void 0 : actor2.id,
|
|
626
|
-
messageIndex:
|
|
490
|
+
messageIndex: event3.rivetMessageIndex
|
|
627
491
|
});
|
|
628
492
|
return;
|
|
629
493
|
}
|
|
630
494
|
logger().debug({
|
|
631
495
|
msg: "calling wsHandler.onMessage",
|
|
632
496
|
connId: conn == null ? void 0 : conn.id,
|
|
633
|
-
messageIndex:
|
|
497
|
+
messageIndex: event3.rivetMessageIndex
|
|
634
498
|
});
|
|
635
|
-
wsHandler.onMessage(
|
|
499
|
+
wsHandler.onMessage(event3, wsContext);
|
|
636
500
|
const hibernate = connStateManager == null ? void 0 : connStateManager.hibernatableData;
|
|
637
501
|
if (hibernate && conn && actor2) {
|
|
638
502
|
_invariant2.default.call(void 0,
|
|
639
|
-
typeof
|
|
503
|
+
typeof event3.rivetMessageIndex === "number",
|
|
640
504
|
"missing event.rivetMessageIndex"
|
|
641
505
|
);
|
|
642
506
|
const previousMsgIndex = hibernate.serverMessageIndex;
|
|
643
|
-
hibernate.serverMessageIndex =
|
|
507
|
+
hibernate.serverMessageIndex = event3.rivetMessageIndex;
|
|
644
508
|
logger().info({
|
|
645
509
|
msg: "persisting message index",
|
|
646
510
|
connId: conn.id,
|
|
647
511
|
previousMsgIndex,
|
|
648
|
-
newMsgIndex:
|
|
512
|
+
newMsgIndex: event3.rivetMessageIndex
|
|
649
513
|
});
|
|
650
514
|
const entry = this.#hwsMessageIndex.get(conn.id);
|
|
651
515
|
if (entry) {
|
|
652
|
-
const messageLength =
|
|
516
|
+
const messageLength = _chunkF6JYU5IKcjs.getValueLength.call(void 0, event3.data);
|
|
653
517
|
entry.bufferedMessageSize += messageLength;
|
|
654
518
|
if (entry.bufferedMessageSize >= CONN_BUFFERED_MESSAGE_SIZE_THRESHOLD) {
|
|
655
519
|
entry.bufferedMessageSize = 0;
|
|
@@ -669,11 +533,11 @@ var EngineActorDriver = class {
|
|
|
669
533
|
}
|
|
670
534
|
}
|
|
671
535
|
});
|
|
672
|
-
websocket.addEventListener("close", (
|
|
673
|
-
wsHandler.onClose(
|
|
536
|
+
websocket.addEventListener("close", (event3) => {
|
|
537
|
+
wsHandler.onClose(event3, wsContext);
|
|
674
538
|
});
|
|
675
|
-
websocket.addEventListener("error", (
|
|
676
|
-
wsHandler.onError(
|
|
539
|
+
websocket.addEventListener("error", (event3) => {
|
|
540
|
+
wsHandler.onError(event3, wsContext);
|
|
677
541
|
});
|
|
678
542
|
if (isRestoringHibernatable) {
|
|
679
543
|
logger().info({
|
|
@@ -720,10 +584,10 @@ var EngineActorDriver = class {
|
|
|
720
584
|
gatewayId: _enginerunner.idToStr.call(void 0, gatewayId),
|
|
721
585
|
requestId: _enginerunner.idToStr.call(void 0, requestId)
|
|
722
586
|
});
|
|
723
|
-
if (path ===
|
|
587
|
+
if (path === _chunkF6JYU5IKcjs.PATH_CONNECT) {
|
|
724
588
|
return true;
|
|
725
|
-
} else if (path ===
|
|
726
|
-
const definition =
|
|
589
|
+
} else if (path === _chunkF6JYU5IKcjs.PATH_WEBSOCKET_BASE || path.startsWith(_chunkF6JYU5IKcjs.PATH_WEBSOCKET_PREFIX)) {
|
|
590
|
+
const definition = _chunkYQ4LDVD6cjs.lookupInRegistry.call(void 0,
|
|
727
591
|
this.#config,
|
|
728
592
|
actorInstance.config.name
|
|
729
593
|
);
|
|
@@ -732,7 +596,7 @@ var EngineActorDriver = class {
|
|
|
732
596
|
return true;
|
|
733
597
|
} else if (typeof canHibernateWebSocket === "function") {
|
|
734
598
|
try {
|
|
735
|
-
const newPath =
|
|
599
|
+
const newPath = _chunkF6JYU5IKcjs.truncateRawWebSocketPathPrefix.call(void 0,
|
|
736
600
|
url.pathname
|
|
737
601
|
);
|
|
738
602
|
const truncatedRequest = new Request(
|
|
@@ -751,7 +615,7 @@ var EngineActorDriver = class {
|
|
|
751
615
|
} else {
|
|
752
616
|
return false;
|
|
753
617
|
}
|
|
754
|
-
} else if (path ===
|
|
618
|
+
} else if (path === _chunkF6JYU5IKcjs.PATH_INSPECTOR_CONNECT) {
|
|
755
619
|
return false;
|
|
756
620
|
} else {
|
|
757
621
|
logger().warn({
|
|
@@ -764,7 +628,7 @@ var EngineActorDriver = class {
|
|
|
764
628
|
async #hwsLoadAll(actorId) {
|
|
765
629
|
const actor2 = await this.loadActor(actorId);
|
|
766
630
|
return actor2.conns.values().map((conn) => {
|
|
767
|
-
const connStateManager = conn[
|
|
631
|
+
const connStateManager = conn[_chunkF6JYU5IKcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
768
632
|
const hibernatable = connStateManager.hibernatableData;
|
|
769
633
|
if (!hibernatable) return void 0;
|
|
770
634
|
return {
|
|
@@ -787,7 +651,7 @@ var EngineActorDriver = class {
|
|
|
787
651
|
await this.#runner.restoreHibernatingRequests(actor2.id, metaEntries);
|
|
788
652
|
}
|
|
789
653
|
onCreateConn(conn) {
|
|
790
|
-
const hibernatable = conn[
|
|
654
|
+
const hibernatable = conn[_chunkF6JYU5IKcjs.CONN_STATE_MANAGER_SYMBOL].hibernatableData;
|
|
791
655
|
if (!hibernatable) return;
|
|
792
656
|
this.#hwsMessageIndex.set(conn.id, {
|
|
793
657
|
serverMessageIndex: hibernatable.serverMessageIndex,
|
|
@@ -809,7 +673,7 @@ var EngineActorDriver = class {
|
|
|
809
673
|
});
|
|
810
674
|
}
|
|
811
675
|
onBeforePersistConn(conn) {
|
|
812
|
-
const stateManager = conn[
|
|
676
|
+
const stateManager = conn[_chunkF6JYU5IKcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
813
677
|
const hibernatable = stateManager.hibernatableDataOrError();
|
|
814
678
|
const entry = this.#hwsMessageIndex.get(conn.id);
|
|
815
679
|
if (!entry) {
|
|
@@ -823,7 +687,7 @@ var EngineActorDriver = class {
|
|
|
823
687
|
entry.serverMessageIndex = hibernatable.serverMessageIndex;
|
|
824
688
|
}
|
|
825
689
|
onAfterPersistConn(conn) {
|
|
826
|
-
const stateManager = conn[
|
|
690
|
+
const stateManager = conn[_chunkF6JYU5IKcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
827
691
|
const hibernatable = stateManager.hibernatableDataOrError();
|
|
828
692
|
const entry = this.#hwsMessageIndex.get(conn.id);
|
|
829
693
|
if (!entry) {
|
|
@@ -847,12 +711,12 @@ var EngineActorDriver = class {
|
|
|
847
711
|
};
|
|
848
712
|
|
|
849
713
|
// src/drivers/engine/config.ts
|
|
850
|
-
|
|
851
|
-
var EngineConfigSchemaBase =
|
|
714
|
+
var _v4 = require('zod/v4');
|
|
715
|
+
var EngineConfigSchemaBase = _chunkSSEP6DHPcjs.ClientConfigSchemaBase.extend({
|
|
852
716
|
/** Unique key for this runner. Runners connecting a given key will replace any other runner connected with the same key. */
|
|
853
|
-
runnerKey:
|
|
717
|
+
runnerKey: _v4.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkLW6KLR7Acjs.getRivetRunnerKey.call(void 0, )))),
|
|
854
718
|
/** How many actors this runner can run. */
|
|
855
|
-
totalSlots:
|
|
719
|
+
totalSlots: _v4.z.number().default(1e5)
|
|
856
720
|
});
|
|
857
721
|
var EngineConfigSchemaTransformed = EngineConfigSchemaBase.transform(
|
|
858
722
|
(config, ctx) => transformEngineConfig(config, ctx)
|
|
@@ -862,7 +726,7 @@ var EngineConfigSchema = EngineConfigSchemaTransformed.default(
|
|
|
862
726
|
);
|
|
863
727
|
function transformEngineConfig(config, ctx) {
|
|
864
728
|
return {
|
|
865
|
-
...
|
|
729
|
+
..._chunkSSEP6DHPcjs.transformClientConfig.call(void 0, config, ctx),
|
|
866
730
|
runnerKey: config.runnerKey
|
|
867
731
|
};
|
|
868
732
|
}
|
|
@@ -873,8 +737,8 @@ function createEngineDriver() {
|
|
|
873
737
|
name: "engine",
|
|
874
738
|
displayName: "Engine",
|
|
875
739
|
manager: (config) => {
|
|
876
|
-
const clientConfig =
|
|
877
|
-
return new (0,
|
|
740
|
+
const clientConfig = _chunkSSEP6DHPcjs.convertRegistryConfigToClientConfig.call(void 0, config);
|
|
741
|
+
return new (0, _chunkSSEP6DHPcjs.RemoteManagerDriver)(clientConfig);
|
|
878
742
|
},
|
|
879
743
|
actor: (config, managerDriver, inlineClient) => {
|
|
880
744
|
return new EngineActorDriver(
|
|
@@ -889,42 +753,42 @@ function createEngineDriver() {
|
|
|
889
753
|
|
|
890
754
|
// src/registry/config/legacy-runner.ts
|
|
891
755
|
|
|
892
|
-
var LegacyDriverConfigSchema =
|
|
756
|
+
var LegacyDriverConfigSchema = _v4.z.object({
|
|
893
757
|
/** Machine-readable name to identify this driver by. */
|
|
894
|
-
name:
|
|
895
|
-
manager:
|
|
896
|
-
actor:
|
|
758
|
+
name: _v4.z.string(),
|
|
759
|
+
manager: _v4.z.custom(),
|
|
760
|
+
actor: _v4.z.custom()
|
|
897
761
|
});
|
|
898
|
-
var LegacyRunnerConfigSchemaUnmerged =
|
|
762
|
+
var LegacyRunnerConfigSchemaUnmerged = _v4.z.object({
|
|
899
763
|
driver: LegacyDriverConfigSchema.optional(),
|
|
900
764
|
/** @experimental */
|
|
901
|
-
maxIncomingMessageSize:
|
|
765
|
+
maxIncomingMessageSize: _v4.z.number().optional().default(65536),
|
|
902
766
|
/** @experimental */
|
|
903
|
-
maxOutgoingMessageSize:
|
|
767
|
+
maxOutgoingMessageSize: _v4.z.number().optional().default(1048576),
|
|
904
768
|
/** @experimental */
|
|
905
|
-
inspector:
|
|
769
|
+
inspector: _chunkF6JYU5IKcjs.InspectorConfigSchema,
|
|
906
770
|
/** @experimental */
|
|
907
|
-
disableDefaultServer:
|
|
771
|
+
disableDefaultServer: _v4.z.boolean().optional().default(false),
|
|
908
772
|
/** @experimental */
|
|
909
|
-
defaultServerPort:
|
|
773
|
+
defaultServerPort: _v4.z.number().default(6420),
|
|
910
774
|
/** @experimental */
|
|
911
|
-
runEngine:
|
|
775
|
+
runEngine: _v4.z.boolean().optional().default(() => _chunkLW6KLR7Acjs.getRivetRunEngine.call(void 0, )),
|
|
912
776
|
/** @experimental */
|
|
913
|
-
runEngineVersion:
|
|
777
|
+
runEngineVersion: _v4.z.string().optional().default(() => _nullishCoalesce(_chunkLW6KLR7Acjs.getRivetRunEngineVersion.call(void 0, ), () => ( _chunkLW6KLR7Acjs.VERSION))),
|
|
914
778
|
/** @experimental */
|
|
915
|
-
overrideServerAddress:
|
|
779
|
+
overrideServerAddress: _v4.z.string().optional(),
|
|
916
780
|
/** @experimental */
|
|
917
|
-
disableActorDriver:
|
|
781
|
+
disableActorDriver: _v4.z.boolean().optional().default(false),
|
|
918
782
|
/**
|
|
919
783
|
* @experimental
|
|
920
784
|
*
|
|
921
785
|
* Whether to run runners normally or have them managed
|
|
922
786
|
* serverlessly (by the Rivet Engine for example).
|
|
923
787
|
*/
|
|
924
|
-
runnerKind:
|
|
925
|
-
() =>
|
|
788
|
+
runnerKind: _v4.z.enum(["serverless", "normal"]).optional().default(
|
|
789
|
+
() => _chunkLW6KLR7Acjs.getRivetRunnerKind.call(void 0, ) === "serverless" ? "serverless" : "normal"
|
|
926
790
|
),
|
|
927
|
-
totalSlots:
|
|
791
|
+
totalSlots: _v4.z.number().optional(),
|
|
928
792
|
/**
|
|
929
793
|
* @experimental
|
|
930
794
|
*
|
|
@@ -932,19 +796,19 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
|
|
|
932
796
|
* For example, if the base path is `/api`, then the route `/actors` will be
|
|
933
797
|
* available at `/api/actors`.
|
|
934
798
|
*/
|
|
935
|
-
basePath:
|
|
799
|
+
basePath: _v4.z.string().optional().default("/"),
|
|
936
800
|
/**
|
|
937
801
|
* @experimental
|
|
938
802
|
*
|
|
939
803
|
* Disable welcome message.
|
|
940
804
|
* */
|
|
941
|
-
noWelcome:
|
|
805
|
+
noWelcome: _v4.z.boolean().optional().default(false),
|
|
942
806
|
/**
|
|
943
807
|
* @experimental
|
|
944
808
|
* */
|
|
945
|
-
logging:
|
|
946
|
-
baseLogger:
|
|
947
|
-
level:
|
|
809
|
+
logging: _v4.z.object({
|
|
810
|
+
baseLogger: _v4.z.custom().optional(),
|
|
811
|
+
level: _chunkLW6KLR7Acjs.LogLevelSchema.optional()
|
|
948
812
|
}).optional().default(() => ({})),
|
|
949
813
|
/**
|
|
950
814
|
* @experimental
|
|
@@ -953,26 +817,26 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
|
|
|
953
817
|
* Can only be used when runnerKind is "serverless".
|
|
954
818
|
* If true, uses default configuration. Can also provide custom configuration.
|
|
955
819
|
*/
|
|
956
|
-
autoConfigureServerless:
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
url:
|
|
960
|
-
headers:
|
|
961
|
-
maxRunners:
|
|
962
|
-
minRunners:
|
|
963
|
-
requestLifespan:
|
|
964
|
-
runnersMargin:
|
|
965
|
-
slotsPerRunner:
|
|
966
|
-
metadata:
|
|
820
|
+
autoConfigureServerless: _v4.z.union([
|
|
821
|
+
_v4.z.boolean(),
|
|
822
|
+
_v4.z.object({
|
|
823
|
+
url: _v4.z.string().optional(),
|
|
824
|
+
headers: _v4.z.record(_v4.z.string(), _v4.z.string()).optional(),
|
|
825
|
+
maxRunners: _v4.z.number().optional(),
|
|
826
|
+
minRunners: _v4.z.number().optional(),
|
|
827
|
+
requestLifespan: _v4.z.number().optional(),
|
|
828
|
+
runnersMargin: _v4.z.number().optional(),
|
|
829
|
+
slotsPerRunner: _v4.z.number().optional(),
|
|
830
|
+
metadata: _v4.z.record(_v4.z.string(), _v4.z.unknown()).optional()
|
|
967
831
|
})
|
|
968
832
|
]).optional(),
|
|
969
833
|
// This is a function to allow for lazy configuration of upgradeWebSocket on the
|
|
970
834
|
// fly. This is required since the dependencies that upgradeWebSocket
|
|
971
835
|
// (specifically Node.js) can sometimes only be specified after the router is
|
|
972
836
|
// created or must be imported async using `await import(...)`
|
|
973
|
-
getUpgradeWebSocket:
|
|
837
|
+
getUpgradeWebSocket: _v4.z.custom().optional(),
|
|
974
838
|
/** @experimental */
|
|
975
|
-
token:
|
|
839
|
+
token: _v4.z.string().optional().transform((v) => v || _chunkLW6KLR7Acjs.getRivetToken.call(void 0, ))
|
|
976
840
|
}).merge(EngineConfigSchemaBase);
|
|
977
841
|
var LegacyRunnerConfigSchemaTransformed = LegacyRunnerConfigSchemaUnmerged.transform((config, ctx) => ({
|
|
978
842
|
...config,
|
|
@@ -988,7 +852,7 @@ var LegacyRunnerConfigSchema = LegacyRunnerConfigSchemaTransformed.default(
|
|
|
988
852
|
// src/drivers/default.ts
|
|
989
853
|
function chooseDefaultDriver(config) {
|
|
990
854
|
if (config.endpoint && config.driver) {
|
|
991
|
-
throw new (0,
|
|
855
|
+
throw new (0, _chunkL47L3ZWJcjs.UserError)(
|
|
992
856
|
"Cannot specify both 'endpoint' and 'driver' in configuration"
|
|
993
857
|
);
|
|
994
858
|
}
|
|
@@ -996,38 +860,43 @@ function chooseDefaultDriver(config) {
|
|
|
996
860
|
return config.driver;
|
|
997
861
|
}
|
|
998
862
|
if (config.endpoint || config.token) {
|
|
999
|
-
|
|
863
|
+
_chunkHIDX4C5Ycjs.loggerWithoutContext.call(void 0, ).debug({
|
|
1000
864
|
msg: "using rivet engine driver",
|
|
1001
865
|
endpoint: config.endpoint
|
|
1002
866
|
});
|
|
1003
867
|
return createEngineDriver();
|
|
1004
868
|
}
|
|
1005
|
-
|
|
1006
|
-
|
|
869
|
+
_chunkHIDX4C5Ycjs.loggerWithoutContext.call(void 0, ).debug({
|
|
870
|
+
msg: "using default file system driver",
|
|
871
|
+
storagePath: config.storagePath
|
|
872
|
+
});
|
|
873
|
+
return _chunkYQ4LDVD6cjs.createFileSystemOrMemoryDriver.call(void 0, true, {
|
|
874
|
+
path: config.storagePath
|
|
875
|
+
});
|
|
1007
876
|
}
|
|
1008
877
|
|
|
1009
878
|
// src/engine-process/log.ts
|
|
1010
879
|
function logger2() {
|
|
1011
|
-
return
|
|
880
|
+
return _chunkLW6KLR7Acjs.getLogger.call(void 0, "engine-process");
|
|
1012
881
|
}
|
|
1013
882
|
|
|
1014
883
|
// src/engine-process/mod.ts
|
|
1015
884
|
var ENGINE_BASE_URL = "https://releases.rivet.dev/rivet";
|
|
1016
885
|
var ENGINE_BINARY_NAME = "rivet-engine";
|
|
1017
886
|
async function ensureEngineProcess(options) {
|
|
1018
|
-
|
|
887
|
+
_chunkF6JYU5IKcjs.importNodeDependencies.call(void 0, );
|
|
1019
888
|
logger2().debug({
|
|
1020
889
|
msg: "ensuring engine process",
|
|
1021
890
|
version: options.version
|
|
1022
891
|
});
|
|
1023
|
-
const path =
|
|
1024
|
-
const storageRoot =
|
|
892
|
+
const path = _chunkF6JYU5IKcjs.getNodePath.call(void 0, );
|
|
893
|
+
const storageRoot = _chunkYQ4LDVD6cjs.getStoragePath.call(void 0, );
|
|
1025
894
|
const binDir = path.join(storageRoot, "bin");
|
|
1026
895
|
const varDir = path.join(storageRoot, "var");
|
|
1027
896
|
const logsDir = path.join(varDir, "logs", "rivet-engine");
|
|
1028
|
-
await
|
|
1029
|
-
await
|
|
1030
|
-
await
|
|
897
|
+
await _chunkYQ4LDVD6cjs.ensureDirectoryExists.call(void 0, binDir);
|
|
898
|
+
await _chunkYQ4LDVD6cjs.ensureDirectoryExists.call(void 0, varDir);
|
|
899
|
+
await _chunkYQ4LDVD6cjs.ensureDirectoryExists.call(void 0, logsDir);
|
|
1031
900
|
if (await isEngineRunning()) {
|
|
1032
901
|
try {
|
|
1033
902
|
const health = await waitForEngineHealth();
|
|
@@ -1052,7 +921,7 @@ async function ensureEngineProcess(options) {
|
|
|
1052
921
|
const timestamp = (/* @__PURE__ */ new Date()).toISOString().replace(/:/g, "-").replace(/\./g, "-");
|
|
1053
922
|
const stdoutLogPath = path.join(logsDir, `engine-${timestamp}-stdout.log`);
|
|
1054
923
|
const stderrLogPath = path.join(logsDir, `engine-${timestamp}-stderr.log`);
|
|
1055
|
-
const fsSync =
|
|
924
|
+
const fsSync = _chunkF6JYU5IKcjs.getNodeFsSync.call(void 0, );
|
|
1056
925
|
const stdoutStream = fsSync.createWriteStream(stdoutLogPath, {
|
|
1057
926
|
flags: "a"
|
|
1058
927
|
});
|
|
@@ -1064,7 +933,7 @@ async function ensureEngineProcess(options) {
|
|
|
1064
933
|
stdout: stdoutLogPath,
|
|
1065
934
|
stderr: stderrLogPath
|
|
1066
935
|
});
|
|
1067
|
-
const childProcess =
|
|
936
|
+
const childProcess = _chunkF6JYU5IKcjs.getNodeChildProcess.call(void 0, );
|
|
1068
937
|
const child = childProcess.spawn(binaryPath, ["start"], {
|
|
1069
938
|
cwd: path.dirname(binaryPath),
|
|
1070
939
|
stdio: ["inherit", "pipe", "pipe"],
|
|
@@ -1200,7 +1069,7 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
|
|
|
1200
1069
|
`failed to download rivet engine binary from ${downloadUrl}: ${response.status} ${response.statusText}`
|
|
1201
1070
|
);
|
|
1202
1071
|
}
|
|
1203
|
-
const crypto2 =
|
|
1072
|
+
const crypto2 = _chunkF6JYU5IKcjs.getNodeCrypto.call(void 0, );
|
|
1204
1073
|
const tempPath = `${binaryPath}.${crypto2.randomUUID()}.tmp`;
|
|
1205
1074
|
const startTime = Date.now();
|
|
1206
1075
|
logger2().debug({
|
|
@@ -1215,14 +1084,14 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
|
|
|
1215
1084
|
});
|
|
1216
1085
|
}, 5e3);
|
|
1217
1086
|
try {
|
|
1218
|
-
const stream =
|
|
1219
|
-
const fsSync =
|
|
1087
|
+
const stream = _chunkF6JYU5IKcjs.getNodeStream.call(void 0, );
|
|
1088
|
+
const fsSync = _chunkF6JYU5IKcjs.getNodeFsSync.call(void 0, );
|
|
1220
1089
|
await stream.pipeline(
|
|
1221
1090
|
response.body,
|
|
1222
1091
|
fsSync.createWriteStream(tempPath)
|
|
1223
1092
|
);
|
|
1224
1093
|
clearTimeout(slowDownloadWarning);
|
|
1225
|
-
const fs =
|
|
1094
|
+
const fs = _chunkF6JYU5IKcjs.getNodeFs.call(void 0, );
|
|
1226
1095
|
const stats = await fs.stat(tempPath);
|
|
1227
1096
|
const downloadDuration = Date.now() - startTime;
|
|
1228
1097
|
if (process.platform !== "win32") {
|
|
@@ -1251,7 +1120,7 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
|
|
|
1251
1120
|
support: "https://rivet.dev/discord"
|
|
1252
1121
|
});
|
|
1253
1122
|
try {
|
|
1254
|
-
const fs =
|
|
1123
|
+
const fs = _chunkF6JYU5IKcjs.getNodeFs.call(void 0, );
|
|
1255
1124
|
await fs.unlink(tempPath);
|
|
1256
1125
|
} catch (unlinkError) {
|
|
1257
1126
|
}
|
|
@@ -1293,7 +1162,7 @@ function resolveTargetTripletFor(platform, arch) {
|
|
|
1293
1162
|
);
|
|
1294
1163
|
}
|
|
1295
1164
|
async function isEngineRunning() {
|
|
1296
|
-
return await checkIfEngineAlreadyRunningOnPort(
|
|
1165
|
+
return await checkIfEngineAlreadyRunningOnPort(_chunkF6JYU5IKcjs.ENGINE_PORT);
|
|
1297
1166
|
}
|
|
1298
1167
|
async function checkIfEngineAlreadyRunningOnPort(port) {
|
|
1299
1168
|
let response;
|
|
@@ -1328,7 +1197,7 @@ async function checkIfEngineAlreadyRunningOnPort(port) {
|
|
|
1328
1197
|
}
|
|
1329
1198
|
async function fileExists(filePath) {
|
|
1330
1199
|
try {
|
|
1331
|
-
const fs =
|
|
1200
|
+
const fs = _chunkF6JYU5IKcjs.getNodeFs.call(void 0, );
|
|
1332
1201
|
await fs.access(filePath);
|
|
1333
1202
|
return true;
|
|
1334
1203
|
} catch (e) {
|
|
@@ -1342,7 +1211,7 @@ async function waitForEngineHealth() {
|
|
|
1342
1211
|
logger2().debug({ msg: "waiting for engine health check" });
|
|
1343
1212
|
for (let i = 0; i < maxRetries; i++) {
|
|
1344
1213
|
try {
|
|
1345
|
-
const response = await fetch(`${
|
|
1214
|
+
const response = await fetch(`${_chunkF6JYU5IKcjs.ENGINE_ENDPOINT}/health`, {
|
|
1346
1215
|
signal: AbortSignal.timeout(1e3)
|
|
1347
1216
|
});
|
|
1348
1217
|
if (response.ok) {
|
|
@@ -1376,17 +1245,13 @@ async function waitForEngineHealth() {
|
|
|
1376
1245
|
var _factory = require('hono/factory');
|
|
1377
1246
|
function getInspectorUrl(config, managerPort) {
|
|
1378
1247
|
if (!config.inspector.enabled) return void 0;
|
|
1379
|
-
const
|
|
1380
|
-
|
|
1381
|
-
if (endpoint) {
|
|
1382
|
-
url.searchParams.set("u", endpoint);
|
|
1383
|
-
}
|
|
1384
|
-
return url.href;
|
|
1248
|
+
const base = _nullishCoalesce(config.inspector.defaultEndpoint, () => ( `http://127.0.0.1:${managerPort}`));
|
|
1249
|
+
return new URL("/ui/", base).href;
|
|
1385
1250
|
}
|
|
1386
1251
|
|
|
1387
1252
|
// src/serverless/log.ts
|
|
1388
1253
|
function logger3() {
|
|
1389
|
-
return
|
|
1254
|
+
return _chunkLW6KLR7Acjs.getLogger.call(void 0, "serverless");
|
|
1390
1255
|
}
|
|
1391
1256
|
|
|
1392
1257
|
// src/serverless/configure.ts
|
|
@@ -1406,12 +1271,12 @@ async function configureServerlessRunner(config) {
|
|
|
1406
1271
|
}
|
|
1407
1272
|
const customConfig = config.serverless.configureRunnerPool;
|
|
1408
1273
|
_invariant2.default.call(void 0, customConfig, "configureRunnerPool should exist");
|
|
1409
|
-
const clientConfig =
|
|
1274
|
+
const clientConfig = _chunkSSEP6DHPcjs.convertRegistryConfigToClientConfig.call(void 0, config);
|
|
1410
1275
|
logger3().debug({
|
|
1411
1276
|
msg: "fetching datacenters",
|
|
1412
1277
|
endpoint: config.endpoint
|
|
1413
1278
|
});
|
|
1414
|
-
const dcsRes = await
|
|
1279
|
+
const dcsRes = await _chunkSSEP6DHPcjs.getDatacenters.call(void 0, clientConfig);
|
|
1415
1280
|
const runnerName = _nullishCoalesce(customConfig.name, () => ( "default"));
|
|
1416
1281
|
logger3().debug({
|
|
1417
1282
|
msg: "configuring serverless runner",
|
|
@@ -1433,7 +1298,7 @@ async function configureServerlessRunner(config) {
|
|
|
1433
1298
|
drain_on_version_upgrade: _nullishCoalesce(customConfig.drainOnVersionUpgrade, () => ( true)),
|
|
1434
1299
|
metadataPollInterval: _nullishCoalesce(customConfig.metadataPollInterval, () => ( 1e3))
|
|
1435
1300
|
};
|
|
1436
|
-
await
|
|
1301
|
+
await _chunkSSEP6DHPcjs.updateRunnerConfig.call(void 0, clientConfig, runnerName, {
|
|
1437
1302
|
datacenters: Object.fromEntries(
|
|
1438
1303
|
dcsRes.datacenters.map((dc) => [dc.name, serverlessConfig])
|
|
1439
1304
|
)
|
|
@@ -1453,7 +1318,7 @@ async function configureServerlessRunner(config) {
|
|
|
1453
1318
|
|
|
1454
1319
|
// src/registry/log.ts
|
|
1455
1320
|
function logger4() {
|
|
1456
|
-
return
|
|
1321
|
+
return _chunkLW6KLR7Acjs.getLogger.call(void 0, "registry");
|
|
1457
1322
|
}
|
|
1458
1323
|
|
|
1459
1324
|
// src/registry/serve.ts
|
|
@@ -1468,7 +1333,7 @@ async function findFreePort(startPort = DEFAULT_PORT) {
|
|
|
1468
1333
|
return _getport2.default.call(void 0, { port: portRange(startPort) });
|
|
1469
1334
|
}
|
|
1470
1335
|
async function crossPlatformServe(config, managerPort, app) {
|
|
1471
|
-
const runtime =
|
|
1336
|
+
const runtime = _chunkLW6KLR7Acjs.detectRuntime.call(void 0, );
|
|
1472
1337
|
logger4().debug({ msg: "detected runtime for serve", runtime });
|
|
1473
1338
|
switch (runtime) {
|
|
1474
1339
|
case "deno":
|
|
@@ -1493,7 +1358,7 @@ async function serveNode(config, managerPort, app) {
|
|
|
1493
1358
|
} catch (err) {
|
|
1494
1359
|
logger4().error({
|
|
1495
1360
|
msg: "failed to import @hono/node-server. please run 'npm install @hono/node-server @hono/node-ws'",
|
|
1496
|
-
error:
|
|
1361
|
+
error: _chunkLW6KLR7Acjs.stringifyError.call(void 0, err)
|
|
1497
1362
|
});
|
|
1498
1363
|
process.exit(1);
|
|
1499
1364
|
}
|
|
@@ -1508,7 +1373,7 @@ async function serveNode(config, managerPort, app) {
|
|
|
1508
1373
|
} catch (err) {
|
|
1509
1374
|
logger4().error({
|
|
1510
1375
|
msg: "failed to import @hono/node-ws. please run 'npm install @hono/node-server @hono/node-ws'",
|
|
1511
|
-
error:
|
|
1376
|
+
error: _chunkLW6KLR7Acjs.stringifyError.call(void 0, err)
|
|
1512
1377
|
});
|
|
1513
1378
|
process.exit(1);
|
|
1514
1379
|
}
|
|
@@ -1536,7 +1401,7 @@ async function serveDeno(config, managerPort, app) {
|
|
|
1536
1401
|
} catch (err) {
|
|
1537
1402
|
logger4().error({
|
|
1538
1403
|
msg: "failed to import hono/deno",
|
|
1539
|
-
error:
|
|
1404
|
+
error: _chunkLW6KLR7Acjs.stringifyError.call(void 0, err)
|
|
1540
1405
|
});
|
|
1541
1406
|
process.exit(1);
|
|
1542
1407
|
}
|
|
@@ -1558,7 +1423,7 @@ async function serveBun(config, managerPort, app) {
|
|
|
1558
1423
|
} catch (err) {
|
|
1559
1424
|
logger4().error({
|
|
1560
1425
|
msg: "failed to import hono/bun",
|
|
1561
|
-
error:
|
|
1426
|
+
error: _chunkLW6KLR7Acjs.stringifyError.call(void 0, err)
|
|
1562
1427
|
});
|
|
1563
1428
|
process.exit(1);
|
|
1564
1429
|
}
|
|
@@ -1580,25 +1445,25 @@ async function serveBun(config, managerPort, app) {
|
|
|
1580
1445
|
|
|
1581
1446
|
// src/manager/router-schema.ts
|
|
1582
1447
|
|
|
1583
|
-
var ServerlessStartHeadersSchema =
|
|
1584
|
-
endpoint:
|
|
1448
|
+
var ServerlessStartHeadersSchema = _v4.z.object({
|
|
1449
|
+
endpoint: _v4.z.string({
|
|
1585
1450
|
error: "x-rivet-endpoint header is required"
|
|
1586
1451
|
}),
|
|
1587
|
-
token:
|
|
1588
|
-
totalSlots:
|
|
1452
|
+
token: _v4.z.string({ error: "x-rivet-token header must be a string" }).optional(),
|
|
1453
|
+
totalSlots: _v4.z.coerce.number({
|
|
1589
1454
|
error: "x-rivet-total-slots header must be a number"
|
|
1590
1455
|
}).int({ error: "x-rivet-total-slots header must be an integer" }).gte(1, { error: "x-rivet-total-slots header must be positive" }),
|
|
1591
|
-
runnerName:
|
|
1456
|
+
runnerName: _v4.z.string({
|
|
1592
1457
|
error: "x-rivet-runner-name header is required"
|
|
1593
1458
|
}),
|
|
1594
|
-
namespace:
|
|
1459
|
+
namespace: _v4.z.string({
|
|
1595
1460
|
error: "x-rivet-namespace-name header is required"
|
|
1596
1461
|
})
|
|
1597
1462
|
});
|
|
1598
1463
|
|
|
1599
1464
|
// src/serverless/router.ts
|
|
1600
1465
|
function buildServerlessRouter(driverConfig, config) {
|
|
1601
|
-
return
|
|
1466
|
+
return _chunkF6JYU5IKcjs.createRouter.call(void 0, config.serverless.basePath, (router) => {
|
|
1602
1467
|
router.get("/", (c) => {
|
|
1603
1468
|
return c.text(
|
|
1604
1469
|
"This is a RivetKit server.\n\nLearn more at https://rivetkit.org"
|
|
@@ -1614,7 +1479,7 @@ function buildServerlessRouter(driverConfig, config) {
|
|
|
1614
1479
|
namespace: c.req.header("x-rivet-namespace-name")
|
|
1615
1480
|
});
|
|
1616
1481
|
if (!parseResult.success) {
|
|
1617
|
-
throw new (0,
|
|
1482
|
+
throw new (0, _chunkL47L3ZWJcjs.InvalidRequest)(
|
|
1618
1483
|
_nullishCoalesce(((_a = parseResult.error.issues[0]) == null ? void 0 : _a.message), () => ( "invalid serverless start headers"))
|
|
1619
1484
|
);
|
|
1620
1485
|
}
|
|
@@ -1628,10 +1493,10 @@ function buildServerlessRouter(driverConfig, config) {
|
|
|
1628
1493
|
});
|
|
1629
1494
|
if (config.endpoint) {
|
|
1630
1495
|
if (!endpointsMatch(endpoint, config.endpoint)) {
|
|
1631
|
-
throw new (0,
|
|
1496
|
+
throw new (0, _chunkL47L3ZWJcjs.EndpointMismatch)(config.endpoint, endpoint);
|
|
1632
1497
|
}
|
|
1633
1498
|
if (namespace !== config.namespace) {
|
|
1634
|
-
throw new (0,
|
|
1499
|
+
throw new (0, _chunkL47L3ZWJcjs.NamespaceMismatch)(config.namespace, namespace);
|
|
1635
1500
|
}
|
|
1636
1501
|
}
|
|
1637
1502
|
const newConfig = {
|
|
@@ -1647,10 +1512,10 @@ function buildServerlessRouter(driverConfig, config) {
|
|
|
1647
1512
|
runnerKey: void 0
|
|
1648
1513
|
}
|
|
1649
1514
|
};
|
|
1650
|
-
const managerDriver = new (0,
|
|
1651
|
-
|
|
1515
|
+
const managerDriver = new (0, _chunkSSEP6DHPcjs.RemoteManagerDriver)(
|
|
1516
|
+
_chunkSSEP6DHPcjs.convertRegistryConfigToClientConfig.call(void 0, newConfig)
|
|
1652
1517
|
);
|
|
1653
|
-
const client =
|
|
1518
|
+
const client = _chunkSSEP6DHPcjs.createClientWithDriver.call(void 0, managerDriver);
|
|
1654
1519
|
const actorDriver = driverConfig.actor(
|
|
1655
1520
|
newConfig,
|
|
1656
1521
|
managerDriver,
|
|
@@ -1662,10 +1527,10 @@ function buildServerlessRouter(driverConfig, config) {
|
|
|
1662
1527
|
);
|
|
1663
1528
|
return await actorDriver.serverlessHandleStart(c);
|
|
1664
1529
|
});
|
|
1665
|
-
router.get("/health", (c) =>
|
|
1530
|
+
router.get("/health", (c) => _chunkF6JYU5IKcjs.handleHealthRequest.call(void 0, c));
|
|
1666
1531
|
router.get(
|
|
1667
1532
|
"/metadata",
|
|
1668
|
-
(c) =>
|
|
1533
|
+
(c) => _chunkF6JYU5IKcjs.handleMetadataRequest.call(void 0,
|
|
1669
1534
|
c,
|
|
1670
1535
|
config,
|
|
1671
1536
|
{ serverless: {} },
|
|
@@ -1750,9 +1615,9 @@ var Runtime = class _Runtime {
|
|
|
1750
1615
|
logger4().info("rivetkit starting");
|
|
1751
1616
|
const config = registry.parseConfig();
|
|
1752
1617
|
if ((_a = config.logging) == null ? void 0 : _a.baseLogger) {
|
|
1753
|
-
|
|
1618
|
+
_chunkLW6KLR7Acjs.configureBaseLogger.call(void 0, config.logging.baseLogger);
|
|
1754
1619
|
} else {
|
|
1755
|
-
|
|
1620
|
+
_chunkLW6KLR7Acjs.configureDefaultLogger.call(void 0, (_b = config.logging) == null ? void 0 : _b.level);
|
|
1756
1621
|
}
|
|
1757
1622
|
_invariant2.default.call(void 0,
|
|
1758
1623
|
!(config.serverless.spawnEngine && config.serveManager),
|
|
@@ -1762,7 +1627,7 @@ var Runtime = class _Runtime {
|
|
|
1762
1627
|
const managerDriver = driver.manager(config);
|
|
1763
1628
|
let managerPort;
|
|
1764
1629
|
if (config.serverless.spawnEngine) {
|
|
1765
|
-
managerPort =
|
|
1630
|
+
managerPort = _chunkF6JYU5IKcjs.ENGINE_PORT;
|
|
1766
1631
|
logger4().debug({
|
|
1767
1632
|
msg: "spawning engine",
|
|
1768
1633
|
version: config.serverless.engineVersion
|
|
@@ -1771,10 +1636,11 @@ var Runtime = class _Runtime {
|
|
|
1771
1636
|
version: config.serverless.engineVersion
|
|
1772
1637
|
});
|
|
1773
1638
|
} else if (config.serveManager) {
|
|
1639
|
+
const configuredManagerPort = config.managerPort;
|
|
1774
1640
|
let upgradeWebSocket;
|
|
1775
1641
|
const getUpgradeWebSocket = () => upgradeWebSocket;
|
|
1776
1642
|
managerDriver.setGetUpgradeWebSocket(getUpgradeWebSocket);
|
|
1777
|
-
const { router: managerRouter } =
|
|
1643
|
+
const { router: managerRouter } = _chunkF6JYU5IKcjs.buildManagerRouter.call(void 0,
|
|
1778
1644
|
config,
|
|
1779
1645
|
managerDriver,
|
|
1780
1646
|
getUpgradeWebSocket
|
|
@@ -1784,6 +1650,11 @@ var Runtime = class _Runtime {
|
|
|
1784
1650
|
msg: "serving manager",
|
|
1785
1651
|
port: managerPort
|
|
1786
1652
|
});
|
|
1653
|
+
if (config.publicEndpoint === `http://127.0.0.1:${configuredManagerPort}`) {
|
|
1654
|
+
config.publicEndpoint = `http://127.0.0.1:${managerPort}`;
|
|
1655
|
+
config.serverless.publicEndpoint = config.publicEndpoint;
|
|
1656
|
+
}
|
|
1657
|
+
config.managerPort = managerPort;
|
|
1787
1658
|
const out = await crossPlatformServe(
|
|
1788
1659
|
config,
|
|
1789
1660
|
managerPort,
|
|
@@ -1826,7 +1697,7 @@ var Runtime = class _Runtime {
|
|
|
1826
1697
|
this.#startKind = "runner";
|
|
1827
1698
|
if (this.#config.runner && this.#driver.autoStartActorDriver) {
|
|
1828
1699
|
logger4().debug("starting actor driver");
|
|
1829
|
-
const inlineClient =
|
|
1700
|
+
const inlineClient = _chunkSSEP6DHPcjs.createClientWithDriver.call(void 0,
|
|
1830
1701
|
this.#managerDriver
|
|
1831
1702
|
);
|
|
1832
1703
|
this.#driver.actor(this.#config, this.#managerDriver, inlineClient);
|
|
@@ -1838,7 +1709,7 @@ var Runtime = class _Runtime {
|
|
|
1838
1709
|
const inspectorUrl = this.managerPort ? getInspectorUrl(this.#config, this.managerPort) : void 0;
|
|
1839
1710
|
console.log();
|
|
1840
1711
|
console.log(
|
|
1841
|
-
` RivetKit ${
|
|
1712
|
+
` RivetKit ${_chunkLW6KLR7Acjs.package_default.version} (${this.#driver.displayName} - ${this.#startKind === "serverless" ? "Serverless" : "Runner"})`
|
|
1842
1713
|
);
|
|
1843
1714
|
if (this.#config.namespace !== "default") {
|
|
1844
1715
|
logLine("Namespace", this.#config.namespace);
|
|
@@ -1879,16 +1750,18 @@ var Registry = class {
|
|
|
1879
1750
|
return this.#config;
|
|
1880
1751
|
}
|
|
1881
1752
|
parseConfig() {
|
|
1882
|
-
return
|
|
1753
|
+
return _chunkF6JYU5IKcjs.RegistryConfigSchema.parse(this.#config);
|
|
1883
1754
|
}
|
|
1884
1755
|
// Shared runtime instance
|
|
1885
1756
|
#runtime;
|
|
1886
1757
|
#runtimePromise;
|
|
1887
1758
|
constructor(config) {
|
|
1888
1759
|
this.#config = config;
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1760
|
+
if (_chunkLW6KLR7Acjs.getNodeEnv.call(void 0, ) !== "test") {
|
|
1761
|
+
setTimeout(() => {
|
|
1762
|
+
this.#ensureRuntime();
|
|
1763
|
+
}, 0);
|
|
1764
|
+
}
|
|
1892
1765
|
}
|
|
1893
1766
|
/** Creates runtime if not already created. Idempotent. */
|
|
1894
1767
|
#ensureRuntime() {
|
|
@@ -1945,7 +1818,7 @@ var Registry = class {
|
|
|
1945
1818
|
"autoConfigureServerless can only be configured when runnerKind is 'serverless'"
|
|
1946
1819
|
);
|
|
1947
1820
|
}
|
|
1948
|
-
const isDevEnv =
|
|
1821
|
+
const isDevEnv = _chunkLW6KLR7Acjs.isDev.call(void 0, );
|
|
1949
1822
|
if (isDevEnv && config.runnerKind === "serverless") {
|
|
1950
1823
|
if ((inputConfig == null ? void 0 : inputConfig.runEngine) === void 0) config.runEngine = true;
|
|
1951
1824
|
if ((inputConfig == null ? void 0 : inputConfig.autoConfigureServerless) === void 0)
|
|
@@ -1958,7 +1831,7 @@ var Registry = class {
|
|
|
1958
1831
|
}
|
|
1959
1832
|
}
|
|
1960
1833
|
#legacyStartServerless(config, _inputConfig) {
|
|
1961
|
-
const client =
|
|
1834
|
+
const client = _chunkSSEP6DHPcjs.createClient.call(void 0, {
|
|
1962
1835
|
endpoint: config.endpoint,
|
|
1963
1836
|
token: config.token,
|
|
1964
1837
|
namespace: config.namespace,
|
|
@@ -1971,7 +1844,7 @@ var Registry = class {
|
|
|
1971
1844
|
}
|
|
1972
1845
|
#legacyStartNormal(config) {
|
|
1973
1846
|
this.#ensureRuntime().then((runtime) => runtime.startRunner());
|
|
1974
|
-
const client =
|
|
1847
|
+
const client = _chunkSSEP6DHPcjs.createClient.call(void 0, {
|
|
1975
1848
|
endpoint: config.endpoint,
|
|
1976
1849
|
token: config.token,
|
|
1977
1850
|
namespace: config.namespace,
|
|
@@ -1992,5 +1865,7 @@ function setup(input) {
|
|
|
1992
1865
|
|
|
1993
1866
|
|
|
1994
1867
|
|
|
1995
|
-
|
|
1996
|
-
|
|
1868
|
+
|
|
1869
|
+
|
|
1870
|
+
exports.actor = actor; exports.event = event2; exports.queue = queue2; exports.createEngineDriver = createEngineDriver; exports.Registry = Registry; exports.setup = setup;
|
|
1871
|
+
//# sourceMappingURL=chunk-TYLXNCA5.cjs.map
|