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
|
@@ -6,37 +6,154 @@
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var _chunk2IJTYN6Kcjs = require('../chunk-2IJTYN6K.cjs');
|
|
10
9
|
|
|
11
10
|
|
|
12
11
|
|
|
13
|
-
var _chunkX35U3YNXcjs = require('../chunk-X35U3YNX.cjs');
|
|
14
12
|
|
|
15
13
|
|
|
16
|
-
var _chunkRUW5CZ5Zcjs = require('../chunk-RUW5CZ5Z.cjs');
|
|
17
|
-
require('../chunk-GD7UXGOE.cjs');
|
|
18
|
-
require('../chunk-EJVBH5VF.cjs');
|
|
19
14
|
|
|
20
15
|
|
|
21
|
-
var _chunkRZW2DNNDcjs = require('../chunk-RZW2DNND.cjs');
|
|
22
|
-
require('../chunk-KDFWJKMJ.cjs');
|
|
23
|
-
require('../chunk-H4TB4X25.cjs');
|
|
24
16
|
|
|
25
17
|
|
|
26
|
-
var _chunk2XQS746Mcjs = require('../chunk-2XQS746M.cjs');
|
|
27
18
|
|
|
19
|
+
var _chunkXWBAQO5Hcjs = require('../chunk-XWBAQO5H.cjs');
|
|
20
|
+
require('../chunk-AIYEYMX5.cjs');
|
|
21
|
+
require('../chunk-HAZL2EPK.cjs');
|
|
28
22
|
|
|
29
|
-
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
var _chunkZFY5J2EPcjs = require('../chunk-ZFY5J2EP.cjs');
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
var _chunkTYLXNCA5cjs = require('../chunk-TYLXNCA5.cjs');
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
var _chunkYQ4LDVD6cjs = require('../chunk-YQ4LDVD6.cjs');
|
|
38
|
+
require('../chunk-SSEP6DHP.cjs');
|
|
39
|
+
require('../chunk-TPGXWFQT.cjs');
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
var _chunk6LJAZ5R4cjs = require('../chunk-6LJAZ5R4.cjs');
|
|
43
|
+
require('../chunk-SR3KQE7Q.cjs');
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
var _chunkF6JYU5IKcjs = require('../chunk-F6JYU5IK.cjs');
|
|
47
|
+
require('../chunk-NIYZDWMW.cjs');
|
|
48
|
+
require('../chunk-HIDX4C5Y.cjs');
|
|
49
|
+
require('../chunk-LW6KLR7A.cjs');
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
var _chunkL47L3ZWJcjs = require('../chunk-L47L3ZWJ.cjs');
|
|
53
|
+
require('../chunk-HDQ2JUQT.cjs');
|
|
30
54
|
|
|
31
55
|
// src/serve-test-suite/mod.ts
|
|
32
|
-
var _nodeserver = require('@hono/node-server');
|
|
33
|
-
var _nodews = require('@hono/node-ws');
|
|
34
56
|
var _net = require('net');
|
|
35
57
|
var _url = require('url');
|
|
58
|
+
var _nodeserver = require('@hono/node-server');
|
|
59
|
+
var _nodews = require('@hono/node-ws');
|
|
36
60
|
var _invariant = require('invariant'); var _invariant2 = _interopRequireDefault(_invariant);
|
|
37
61
|
|
|
62
|
+
// fixtures/driver-test-suite/access-control.ts
|
|
63
|
+
var _errors = require('rivetkit/errors');
|
|
64
|
+
var accessControlEvents = {
|
|
65
|
+
allowedEvent: _chunkTYLXNCA5cjs.event.call(void 0, {
|
|
66
|
+
canSubscribe: (c) => {
|
|
67
|
+
c.state.lastCanSubscribeConnId = c.conn.id;
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
}),
|
|
71
|
+
blockedEvent: _chunkTYLXNCA5cjs.event.call(void 0, {
|
|
72
|
+
canSubscribe: (c) => {
|
|
73
|
+
c.state.lastCanSubscribeConnId = c.conn.id;
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
})
|
|
77
|
+
};
|
|
78
|
+
var accessControlQueues = {
|
|
79
|
+
allowedQueue: _chunkTYLXNCA5cjs.queue.call(void 0, {
|
|
80
|
+
canPublish: (c) => {
|
|
81
|
+
c.state.lastCanPublishConnId = c.conn.id;
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
}),
|
|
85
|
+
blockedQueue: _chunkTYLXNCA5cjs.queue.call(void 0, {
|
|
86
|
+
canPublish: (c) => {
|
|
87
|
+
c.state.lastCanPublishConnId = c.conn.id;
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
})
|
|
91
|
+
};
|
|
92
|
+
var accessControlActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
93
|
+
state: {
|
|
94
|
+
lastCanPublishConnId: "",
|
|
95
|
+
lastCanSubscribeConnId: ""
|
|
96
|
+
},
|
|
97
|
+
events: accessControlEvents,
|
|
98
|
+
queues: accessControlQueues,
|
|
99
|
+
onBeforeConnect: (_c, params) => {
|
|
100
|
+
if ((params == null ? void 0 : params.allowRequest) === false || (params == null ? void 0 : params.allowWebSocket) === false) {
|
|
101
|
+
throw new (0, _errors.Forbidden)();
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
onRequest(_c, request) {
|
|
105
|
+
const url = new URL(request.url);
|
|
106
|
+
if (url.pathname === "/status") {
|
|
107
|
+
return Response.json({ ok: true });
|
|
108
|
+
}
|
|
109
|
+
return new Response("Not Found", { status: 404 });
|
|
110
|
+
},
|
|
111
|
+
onWebSocket(_c, websocket) {
|
|
112
|
+
websocket.send(JSON.stringify({ type: "welcome" }));
|
|
113
|
+
},
|
|
114
|
+
actions: {
|
|
115
|
+
allowedAction: (_c, value) => {
|
|
116
|
+
return `allowed:${value}`;
|
|
117
|
+
},
|
|
118
|
+
allowedGetLastCanPublishConnId: (c) => {
|
|
119
|
+
return c.state.lastCanPublishConnId;
|
|
120
|
+
},
|
|
121
|
+
allowedGetLastCanSubscribeConnId: (c) => {
|
|
122
|
+
return c.state.lastCanSubscribeConnId;
|
|
123
|
+
},
|
|
124
|
+
allowedReceiveQueue: async (c) => {
|
|
125
|
+
const [message] = await c.queue.tryNext({
|
|
126
|
+
names: ["allowedQueue"]
|
|
127
|
+
});
|
|
128
|
+
return _nullishCoalesce((message == null ? void 0 : message.body), () => ( null));
|
|
129
|
+
},
|
|
130
|
+
allowedReceiveAnyQueue: async (c) => {
|
|
131
|
+
const [message] = await c.queue.tryNext();
|
|
132
|
+
return _nullishCoalesce((message == null ? void 0 : message.body), () => ( null));
|
|
133
|
+
},
|
|
134
|
+
allowedBroadcastAllowedEvent: (c, value) => {
|
|
135
|
+
c.broadcast("allowedEvent", { value });
|
|
136
|
+
},
|
|
137
|
+
allowedBroadcastBlockedEvent: (c, value) => {
|
|
138
|
+
c.broadcast("blockedEvent", { value });
|
|
139
|
+
},
|
|
140
|
+
allowedBroadcastUndefinedEvent: (c, value) => {
|
|
141
|
+
c.broadcast("undefinedEvent", { value });
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
var accessControlNoQueuesActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
146
|
+
state: {},
|
|
147
|
+
actions: {
|
|
148
|
+
readAnyQueue: async (c) => {
|
|
149
|
+
const [message] = await c.queue.tryNext();
|
|
150
|
+
return _nullishCoalesce((message == null ? void 0 : message.body), () => ( null));
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
|
|
38
155
|
// fixtures/driver-test-suite/action-inputs.ts
|
|
39
|
-
var inputActor =
|
|
156
|
+
var inputActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
40
157
|
createState: (c, input) => {
|
|
41
158
|
return {
|
|
42
159
|
initialInput: input,
|
|
@@ -57,7 +174,7 @@ var inputActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
57
174
|
});
|
|
58
175
|
|
|
59
176
|
// fixtures/driver-test-suite/action-timeout.ts
|
|
60
|
-
var shortTimeoutActor =
|
|
177
|
+
var shortTimeoutActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
61
178
|
state: { value: 0 },
|
|
62
179
|
options: {
|
|
63
180
|
actionTimeout: 50
|
|
@@ -73,7 +190,7 @@ var shortTimeoutActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
73
190
|
}
|
|
74
191
|
}
|
|
75
192
|
});
|
|
76
|
-
var longTimeoutActor =
|
|
193
|
+
var longTimeoutActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
77
194
|
state: { value: 0 },
|
|
78
195
|
options: {
|
|
79
196
|
actionTimeout: 200
|
|
@@ -86,7 +203,7 @@ var longTimeoutActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
86
203
|
}
|
|
87
204
|
}
|
|
88
205
|
});
|
|
89
|
-
var defaultTimeoutActor =
|
|
206
|
+
var defaultTimeoutActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
90
207
|
state: { value: 0 },
|
|
91
208
|
actions: {
|
|
92
209
|
normalAction: async (c) => {
|
|
@@ -95,7 +212,7 @@ var defaultTimeoutActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
95
212
|
}
|
|
96
213
|
}
|
|
97
214
|
});
|
|
98
|
-
var syncTimeoutActor =
|
|
215
|
+
var syncTimeoutActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
99
216
|
state: { value: 0 },
|
|
100
217
|
options: {
|
|
101
218
|
actionTimeout: 50
|
|
@@ -109,7 +226,7 @@ var syncTimeoutActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
109
226
|
});
|
|
110
227
|
|
|
111
228
|
// fixtures/driver-test-suite/action-types.ts
|
|
112
|
-
var syncActionActor =
|
|
229
|
+
var syncActionActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
113
230
|
state: { value: 0 },
|
|
114
231
|
actions: {
|
|
115
232
|
// Simple synchronous action that returns a value directly
|
|
@@ -130,7 +247,7 @@ var syncActionActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
130
247
|
}
|
|
131
248
|
}
|
|
132
249
|
});
|
|
133
|
-
var asyncActionActor =
|
|
250
|
+
var asyncActionActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
134
251
|
state: { value: 0, data: null },
|
|
135
252
|
actions: {
|
|
136
253
|
// Async action with a delay
|
|
@@ -150,13 +267,13 @@ var asyncActionActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
150
267
|
asyncWithError: async (c, shouldError) => {
|
|
151
268
|
await Promise.resolve();
|
|
152
269
|
if (shouldError) {
|
|
153
|
-
throw new (0,
|
|
270
|
+
throw new (0, _chunkL47L3ZWJcjs.UserError)("Intentional error");
|
|
154
271
|
}
|
|
155
272
|
return "Success";
|
|
156
273
|
}
|
|
157
274
|
}
|
|
158
275
|
});
|
|
159
|
-
var promiseActor =
|
|
276
|
+
var promiseActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
160
277
|
state: { results: [] },
|
|
161
278
|
actions: {
|
|
162
279
|
// Action that returns a resolved promise
|
|
@@ -172,7 +289,7 @@ var promiseActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
172
289
|
},
|
|
173
290
|
// Action that returns a rejected promise
|
|
174
291
|
rejectedPromise: (c) => {
|
|
175
|
-
return Promise.reject(new (0,
|
|
292
|
+
return Promise.reject(new (0, _chunkL47L3ZWJcjs.UserError)("promised rejection"));
|
|
176
293
|
},
|
|
177
294
|
// Action to check the collected results
|
|
178
295
|
getResults: (c) => {
|
|
@@ -181,8 +298,682 @@ var promiseActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
181
298
|
}
|
|
182
299
|
});
|
|
183
300
|
|
|
301
|
+
// fixtures/driver-test-suite/actor-db-raw.ts
|
|
302
|
+
function firstRowValue(row) {
|
|
303
|
+
if (!row) {
|
|
304
|
+
return void 0;
|
|
305
|
+
}
|
|
306
|
+
const values = Object.values(row);
|
|
307
|
+
return values.length > 0 ? values[0] : void 0;
|
|
308
|
+
}
|
|
309
|
+
function toSafeInteger(value) {
|
|
310
|
+
if (typeof value === "bigint") {
|
|
311
|
+
return Number(value);
|
|
312
|
+
}
|
|
313
|
+
if (typeof value === "number") {
|
|
314
|
+
return Number.isFinite(value) ? Math.trunc(value) : 0;
|
|
315
|
+
}
|
|
316
|
+
if (typeof value === "string") {
|
|
317
|
+
const parsed = Number.parseInt(value, 10);
|
|
318
|
+
return Number.isFinite(parsed) ? parsed : 0;
|
|
319
|
+
}
|
|
320
|
+
return 0;
|
|
321
|
+
}
|
|
322
|
+
function normalizeRowIds(rowIds) {
|
|
323
|
+
const normalized = rowIds.map((id) => Math.trunc(id)).filter((id) => Number.isFinite(id) && id > 0);
|
|
324
|
+
return Array.from(new Set(normalized));
|
|
325
|
+
}
|
|
326
|
+
function makePayload(size) {
|
|
327
|
+
const normalizedSize = Math.max(0, Math.trunc(size));
|
|
328
|
+
return "x".repeat(normalizedSize);
|
|
329
|
+
}
|
|
330
|
+
var dbActorRaw = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
331
|
+
state: {
|
|
332
|
+
disconnectInsertEnabled: false,
|
|
333
|
+
disconnectInsertDelayMs: 0
|
|
334
|
+
},
|
|
335
|
+
db: _chunk6LJAZ5R4cjs.db.call(void 0, {
|
|
336
|
+
onMigrate: async (db3) => {
|
|
337
|
+
await db3.execute(`
|
|
338
|
+
CREATE TABLE IF NOT EXISTS test_data (
|
|
339
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
340
|
+
value TEXT NOT NULL,
|
|
341
|
+
payload TEXT NOT NULL DEFAULT '',
|
|
342
|
+
created_at INTEGER NOT NULL
|
|
343
|
+
)
|
|
344
|
+
`);
|
|
345
|
+
}
|
|
346
|
+
}),
|
|
347
|
+
onDisconnect: async (c) => {
|
|
348
|
+
if (!c.state.disconnectInsertEnabled) {
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
351
|
+
if (c.state.disconnectInsertDelayMs > 0) {
|
|
352
|
+
await new Promise(
|
|
353
|
+
(resolve) => setTimeout(resolve, c.state.disconnectInsertDelayMs)
|
|
354
|
+
);
|
|
355
|
+
}
|
|
356
|
+
await c.db.execute(
|
|
357
|
+
`INSERT INTO test_data (value, payload, created_at) VALUES ('__disconnect__', '', ${Date.now()})`
|
|
358
|
+
);
|
|
359
|
+
},
|
|
360
|
+
actions: {
|
|
361
|
+
configureDisconnectInsert: (c, enabled, delayMs) => {
|
|
362
|
+
c.state.disconnectInsertEnabled = enabled;
|
|
363
|
+
c.state.disconnectInsertDelayMs = Math.max(
|
|
364
|
+
0,
|
|
365
|
+
Math.floor(delayMs)
|
|
366
|
+
);
|
|
367
|
+
},
|
|
368
|
+
getDisconnectInsertCount: async (c) => {
|
|
369
|
+
var _a;
|
|
370
|
+
const results = await c.db.execute(
|
|
371
|
+
`SELECT COUNT(*) as count FROM test_data WHERE value = '__disconnect__'`
|
|
372
|
+
);
|
|
373
|
+
return _nullishCoalesce(((_a = results[0]) == null ? void 0 : _a.count), () => ( 0));
|
|
374
|
+
},
|
|
375
|
+
reset: async (c) => {
|
|
376
|
+
await c.db.execute(`DELETE FROM test_data`);
|
|
377
|
+
},
|
|
378
|
+
insertValue: async (c, value) => {
|
|
379
|
+
await c.db.execute(
|
|
380
|
+
`INSERT INTO test_data (value, payload, created_at) VALUES ('${value}', '', ${Date.now()})`
|
|
381
|
+
);
|
|
382
|
+
const results = await c.db.execute(
|
|
383
|
+
`SELECT last_insert_rowid() as id`
|
|
384
|
+
);
|
|
385
|
+
return { id: results[0].id };
|
|
386
|
+
},
|
|
387
|
+
getValues: async (c) => {
|
|
388
|
+
const results = await c.db.execute(
|
|
389
|
+
`SELECT * FROM test_data ORDER BY id`
|
|
390
|
+
);
|
|
391
|
+
return results;
|
|
392
|
+
},
|
|
393
|
+
getValue: async (c, id) => {
|
|
394
|
+
var _a;
|
|
395
|
+
const results = await c.db.execute(
|
|
396
|
+
`SELECT value FROM test_data WHERE id = ${id}`
|
|
397
|
+
);
|
|
398
|
+
return _nullishCoalesce(((_a = results[0]) == null ? void 0 : _a.value), () => ( null));
|
|
399
|
+
},
|
|
400
|
+
getCount: async (c) => {
|
|
401
|
+
const results = await c.db.execute(
|
|
402
|
+
`SELECT COUNT(*) as count FROM test_data`
|
|
403
|
+
);
|
|
404
|
+
return results[0].count;
|
|
405
|
+
},
|
|
406
|
+
rawSelectCount: async (c) => {
|
|
407
|
+
const results = await c.db.execute(
|
|
408
|
+
`SELECT COUNT(*) as count FROM test_data`
|
|
409
|
+
);
|
|
410
|
+
return results[0].count;
|
|
411
|
+
},
|
|
412
|
+
insertMany: async (c, count) => {
|
|
413
|
+
if (count <= 0) {
|
|
414
|
+
return { count: 0 };
|
|
415
|
+
}
|
|
416
|
+
const now = Date.now();
|
|
417
|
+
const values = [];
|
|
418
|
+
for (let i = 0; i < count; i++) {
|
|
419
|
+
values.push(`('User ${i}', '', ${now})`);
|
|
420
|
+
}
|
|
421
|
+
await c.db.execute(
|
|
422
|
+
`INSERT INTO test_data (value, payload, created_at) VALUES ${values.join(", ")}`
|
|
423
|
+
);
|
|
424
|
+
return { count };
|
|
425
|
+
},
|
|
426
|
+
updateValue: async (c, id, value) => {
|
|
427
|
+
await c.db.execute(
|
|
428
|
+
`UPDATE test_data SET value = '${value}' WHERE id = ${id}`
|
|
429
|
+
);
|
|
430
|
+
return { success: true };
|
|
431
|
+
},
|
|
432
|
+
deleteValue: async (c, id) => {
|
|
433
|
+
await c.db.execute(`DELETE FROM test_data WHERE id = ${id}`);
|
|
434
|
+
},
|
|
435
|
+
transactionCommit: async (c, value) => {
|
|
436
|
+
await c.db.execute(
|
|
437
|
+
`BEGIN; INSERT INTO test_data (value, payload, created_at) VALUES ('${value}', '', ${Date.now()}); COMMIT;`
|
|
438
|
+
);
|
|
439
|
+
},
|
|
440
|
+
transactionRollback: async (c, value) => {
|
|
441
|
+
await c.db.execute(
|
|
442
|
+
`BEGIN; INSERT INTO test_data (value, payload, created_at) VALUES ('${value}', '', ${Date.now()}); ROLLBACK;`
|
|
443
|
+
);
|
|
444
|
+
},
|
|
445
|
+
insertPayloadOfSize: async (c, size) => {
|
|
446
|
+
const payload = "x".repeat(size);
|
|
447
|
+
await c.db.execute(
|
|
448
|
+
`INSERT INTO test_data (value, payload, created_at) VALUES ('payload', '${payload}', ${Date.now()})`
|
|
449
|
+
);
|
|
450
|
+
const results = await c.db.execute(
|
|
451
|
+
`SELECT last_insert_rowid() as id`
|
|
452
|
+
);
|
|
453
|
+
return { id: results[0].id, size };
|
|
454
|
+
},
|
|
455
|
+
getPayloadSize: async (c, id) => {
|
|
456
|
+
var _a;
|
|
457
|
+
const results = await c.db.execute(
|
|
458
|
+
`SELECT length(payload) as size FROM test_data WHERE id = ${id}`
|
|
459
|
+
);
|
|
460
|
+
return _nullishCoalesce(((_a = results[0]) == null ? void 0 : _a.size), () => ( 0));
|
|
461
|
+
},
|
|
462
|
+
insertPayloadRows: async (c, count, payloadSize) => {
|
|
463
|
+
const normalizedCount = Math.max(0, Math.trunc(count));
|
|
464
|
+
if (normalizedCount === 0) {
|
|
465
|
+
return { count: 0 };
|
|
466
|
+
}
|
|
467
|
+
const payload = makePayload(payloadSize);
|
|
468
|
+
const now = Date.now();
|
|
469
|
+
for (let i = 0; i < normalizedCount; i++) {
|
|
470
|
+
await c.db.execute(
|
|
471
|
+
`INSERT INTO test_data (value, payload, created_at) VALUES ('bulk-${i}', '${payload}', ${now})`
|
|
472
|
+
);
|
|
473
|
+
}
|
|
474
|
+
return { count: normalizedCount };
|
|
475
|
+
},
|
|
476
|
+
roundRobinUpdateValues: async (c, rowIds, iterations) => {
|
|
477
|
+
const normalizedRowIds = normalizeRowIds(rowIds);
|
|
478
|
+
const normalizedIterations = Math.max(0, Math.trunc(iterations));
|
|
479
|
+
if (normalizedRowIds.length === 0 || normalizedIterations === 0) {
|
|
480
|
+
const emptyRows = [];
|
|
481
|
+
return emptyRows;
|
|
482
|
+
}
|
|
483
|
+
for (let i = 0; i < normalizedIterations; i++) {
|
|
484
|
+
const rowId = _nullishCoalesce(normalizedRowIds[i % normalizedRowIds.length], () => ( 0));
|
|
485
|
+
await c.db.execute(
|
|
486
|
+
`UPDATE test_data SET value = 'v-${i}' WHERE id = ${rowId}`
|
|
487
|
+
);
|
|
488
|
+
}
|
|
489
|
+
return await c.db.execute(
|
|
490
|
+
`SELECT id, value FROM test_data WHERE id IN (${normalizedRowIds.join(",")}) ORDER BY id`
|
|
491
|
+
);
|
|
492
|
+
},
|
|
493
|
+
getPageCount: async (c) => {
|
|
494
|
+
const rows = await c.db.execute(
|
|
495
|
+
"PRAGMA page_count"
|
|
496
|
+
);
|
|
497
|
+
return toSafeInteger(firstRowValue(rows[0]));
|
|
498
|
+
},
|
|
499
|
+
vacuum: async (c) => {
|
|
500
|
+
await c.db.execute("VACUUM");
|
|
501
|
+
},
|
|
502
|
+
integrityCheck: async (c) => {
|
|
503
|
+
const rows = await c.db.execute(
|
|
504
|
+
"PRAGMA integrity_check"
|
|
505
|
+
);
|
|
506
|
+
const value = firstRowValue(rows[0]);
|
|
507
|
+
return String(_nullishCoalesce(value, () => ( "")));
|
|
508
|
+
},
|
|
509
|
+
runMixedWorkload: async (c, seedCount, churnCount) => {
|
|
510
|
+
const normalizedSeedCount = Math.max(1, Math.trunc(seedCount));
|
|
511
|
+
const normalizedChurnCount = Math.max(0, Math.trunc(churnCount));
|
|
512
|
+
const now = Date.now();
|
|
513
|
+
for (let i = 0; i < normalizedSeedCount; i++) {
|
|
514
|
+
const payload = makePayload(1024 + i % 5 * 128);
|
|
515
|
+
await c.db.execute(
|
|
516
|
+
`INSERT OR REPLACE INTO test_data (id, value, payload, created_at) VALUES (${i + 1}, 'seed-${i}', '${payload}', ${now})`
|
|
517
|
+
);
|
|
518
|
+
}
|
|
519
|
+
for (let i = 0; i < normalizedChurnCount; i++) {
|
|
520
|
+
const id = i % normalizedSeedCount + 1;
|
|
521
|
+
if (i % 9 === 0) {
|
|
522
|
+
await c.db.execute(`DELETE FROM test_data WHERE id = ${id}`);
|
|
523
|
+
} else {
|
|
524
|
+
const payload = makePayload(768 + i % 7 * 96);
|
|
525
|
+
await c.db.execute(
|
|
526
|
+
`INSERT OR REPLACE INTO test_data (id, value, payload, created_at) VALUES (${id}, 'upd-${i}', '${payload}', ${now + i})`
|
|
527
|
+
);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
},
|
|
531
|
+
repeatUpdate: async (c, id, count) => {
|
|
532
|
+
let value = "";
|
|
533
|
+
if (count <= 0) {
|
|
534
|
+
return { value };
|
|
535
|
+
}
|
|
536
|
+
const statements = ["BEGIN"];
|
|
537
|
+
for (let i = 0; i < count; i++) {
|
|
538
|
+
value = `Updated ${i}`;
|
|
539
|
+
statements.push(
|
|
540
|
+
`UPDATE test_data SET value = '${value}' WHERE id = ${id}`
|
|
541
|
+
);
|
|
542
|
+
}
|
|
543
|
+
statements.push("COMMIT");
|
|
544
|
+
await c.db.execute(statements.join("; "));
|
|
545
|
+
return { value };
|
|
546
|
+
},
|
|
547
|
+
multiStatementInsert: async (c, value) => {
|
|
548
|
+
var _a;
|
|
549
|
+
await c.db.execute(
|
|
550
|
+
`BEGIN; INSERT INTO test_data (value, payload, created_at) VALUES ('${value}', '', ${Date.now()}); UPDATE test_data SET value = '${value}-updated' WHERE id = last_insert_rowid(); COMMIT;`
|
|
551
|
+
);
|
|
552
|
+
const results = await c.db.execute(
|
|
553
|
+
`SELECT value FROM test_data ORDER BY id DESC LIMIT 1`
|
|
554
|
+
);
|
|
555
|
+
return _nullishCoalesce(((_a = results[0]) == null ? void 0 : _a.value), () => ( null));
|
|
556
|
+
},
|
|
557
|
+
triggerSleep: (c) => {
|
|
558
|
+
c.sleep();
|
|
559
|
+
}
|
|
560
|
+
},
|
|
561
|
+
options: {
|
|
562
|
+
sleepTimeout: 100
|
|
563
|
+
}
|
|
564
|
+
});
|
|
565
|
+
|
|
566
|
+
// fixtures/driver-test-suite/db/migrations.ts
|
|
567
|
+
var migrations = {
|
|
568
|
+
journal: {
|
|
569
|
+
entries: [
|
|
570
|
+
{
|
|
571
|
+
idx: 0,
|
|
572
|
+
when: 17e11,
|
|
573
|
+
tag: "0000_init",
|
|
574
|
+
breakpoints: false
|
|
575
|
+
}
|
|
576
|
+
]
|
|
577
|
+
},
|
|
578
|
+
migrations: {
|
|
579
|
+
m0000: `
|
|
580
|
+
CREATE TABLE IF NOT EXISTS test_data (
|
|
581
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
582
|
+
value TEXT NOT NULL,
|
|
583
|
+
payload TEXT NOT NULL DEFAULT '',
|
|
584
|
+
created_at INTEGER NOT NULL
|
|
585
|
+
);
|
|
586
|
+
`
|
|
587
|
+
}
|
|
588
|
+
};
|
|
589
|
+
|
|
590
|
+
// fixtures/driver-test-suite/db/schema.ts
|
|
591
|
+
var testData = _chunkZFY5J2EPcjs.sqliteTable.call(void 0, "test_data", {
|
|
592
|
+
id: _chunkZFY5J2EPcjs.integer.call(void 0, "id").primaryKey({ autoIncrement: true }),
|
|
593
|
+
value: _chunkZFY5J2EPcjs.text.call(void 0, "value").notNull(),
|
|
594
|
+
payload: _chunkZFY5J2EPcjs.text.call(void 0, "payload").notNull().default(""),
|
|
595
|
+
createdAt: _chunkZFY5J2EPcjs.integer.call(void 0, "created_at").notNull()
|
|
596
|
+
});
|
|
597
|
+
var schema = {
|
|
598
|
+
testData
|
|
599
|
+
};
|
|
600
|
+
|
|
601
|
+
// fixtures/driver-test-suite/actor-db-drizzle.ts
|
|
602
|
+
function firstRowValue2(row) {
|
|
603
|
+
if (!row) {
|
|
604
|
+
return void 0;
|
|
605
|
+
}
|
|
606
|
+
const values = Object.values(row);
|
|
607
|
+
return values.length > 0 ? values[0] : void 0;
|
|
608
|
+
}
|
|
609
|
+
function toSafeInteger2(value) {
|
|
610
|
+
if (typeof value === "bigint") {
|
|
611
|
+
return Number(value);
|
|
612
|
+
}
|
|
613
|
+
if (typeof value === "number") {
|
|
614
|
+
return Number.isFinite(value) ? Math.trunc(value) : 0;
|
|
615
|
+
}
|
|
616
|
+
if (typeof value === "string") {
|
|
617
|
+
const parsed = Number.parseInt(value, 10);
|
|
618
|
+
return Number.isFinite(parsed) ? parsed : 0;
|
|
619
|
+
}
|
|
620
|
+
return 0;
|
|
621
|
+
}
|
|
622
|
+
function normalizeRowIds2(rowIds) {
|
|
623
|
+
const normalized = rowIds.map((id) => Math.trunc(id)).filter((id) => Number.isFinite(id) && id > 0);
|
|
624
|
+
return Array.from(new Set(normalized));
|
|
625
|
+
}
|
|
626
|
+
function makePayload2(size) {
|
|
627
|
+
const normalizedSize = Math.max(0, Math.trunc(size));
|
|
628
|
+
return "x".repeat(normalizedSize);
|
|
629
|
+
}
|
|
630
|
+
var dbActorDrizzle = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
631
|
+
state: {
|
|
632
|
+
disconnectInsertEnabled: false,
|
|
633
|
+
disconnectInsertDelayMs: 0
|
|
634
|
+
},
|
|
635
|
+
db: _chunkZFY5J2EPcjs.db.call(void 0, {
|
|
636
|
+
schema,
|
|
637
|
+
migrations
|
|
638
|
+
}),
|
|
639
|
+
onDisconnect: async (c) => {
|
|
640
|
+
if (!c.state.disconnectInsertEnabled) {
|
|
641
|
+
return;
|
|
642
|
+
}
|
|
643
|
+
if (c.state.disconnectInsertDelayMs > 0) {
|
|
644
|
+
await new Promise(
|
|
645
|
+
(resolve) => setTimeout(resolve, c.state.disconnectInsertDelayMs)
|
|
646
|
+
);
|
|
647
|
+
}
|
|
648
|
+
await c.db.execute(
|
|
649
|
+
`INSERT INTO test_data (value, payload, created_at) VALUES ('__disconnect__', '', ${Date.now()})`
|
|
650
|
+
);
|
|
651
|
+
},
|
|
652
|
+
actions: {
|
|
653
|
+
configureDisconnectInsert: (c, enabled, delayMs) => {
|
|
654
|
+
c.state.disconnectInsertEnabled = enabled;
|
|
655
|
+
c.state.disconnectInsertDelayMs = Math.max(
|
|
656
|
+
0,
|
|
657
|
+
Math.floor(delayMs)
|
|
658
|
+
);
|
|
659
|
+
},
|
|
660
|
+
getDisconnectInsertCount: async (c) => {
|
|
661
|
+
var _a;
|
|
662
|
+
const results = await c.db.execute(
|
|
663
|
+
`SELECT COUNT(*) as count FROM test_data WHERE value = '__disconnect__'`
|
|
664
|
+
);
|
|
665
|
+
return _nullishCoalesce(((_a = results[0]) == null ? void 0 : _a.count), () => ( 0));
|
|
666
|
+
},
|
|
667
|
+
reset: async (c) => {
|
|
668
|
+
await c.db.execute(`DELETE FROM test_data`);
|
|
669
|
+
},
|
|
670
|
+
insertValue: async (c, value) => {
|
|
671
|
+
await c.db.execute(
|
|
672
|
+
`INSERT INTO test_data (value, payload, created_at) VALUES ('${value}', '', ${Date.now()})`
|
|
673
|
+
);
|
|
674
|
+
const results = await c.db.execute(
|
|
675
|
+
`SELECT last_insert_rowid() as id`
|
|
676
|
+
);
|
|
677
|
+
return { id: results[0].id };
|
|
678
|
+
},
|
|
679
|
+
getValues: async (c) => {
|
|
680
|
+
const results = await c.db.execute(
|
|
681
|
+
`SELECT * FROM test_data ORDER BY id`
|
|
682
|
+
);
|
|
683
|
+
return results;
|
|
684
|
+
},
|
|
685
|
+
getValue: async (c, id) => {
|
|
686
|
+
var _a;
|
|
687
|
+
const results = await c.db.execute(
|
|
688
|
+
`SELECT value FROM test_data WHERE id = ${id}`
|
|
689
|
+
);
|
|
690
|
+
return _nullishCoalesce(((_a = results[0]) == null ? void 0 : _a.value), () => ( null));
|
|
691
|
+
},
|
|
692
|
+
getCount: async (c) => {
|
|
693
|
+
const results = await c.db.execute(
|
|
694
|
+
`SELECT COUNT(*) as count FROM test_data`
|
|
695
|
+
);
|
|
696
|
+
return results[0].count;
|
|
697
|
+
},
|
|
698
|
+
rawSelectCount: async (c) => {
|
|
699
|
+
var _a;
|
|
700
|
+
const results = await c.db.execute(
|
|
701
|
+
`SELECT COUNT(*) as count FROM test_data`
|
|
702
|
+
);
|
|
703
|
+
return _nullishCoalesce(((_a = results[0]) == null ? void 0 : _a.count), () => ( 0));
|
|
704
|
+
},
|
|
705
|
+
insertMany: async (c, count) => {
|
|
706
|
+
if (count <= 0) {
|
|
707
|
+
return { count: 0 };
|
|
708
|
+
}
|
|
709
|
+
const now = Date.now();
|
|
710
|
+
const values = [];
|
|
711
|
+
for (let i = 0; i < count; i++) {
|
|
712
|
+
values.push(`('User ${i}', '', ${now})`);
|
|
713
|
+
}
|
|
714
|
+
await c.db.execute(
|
|
715
|
+
`INSERT INTO test_data (value, payload, created_at) VALUES ${values.join(", ")}`
|
|
716
|
+
);
|
|
717
|
+
return { count };
|
|
718
|
+
},
|
|
719
|
+
updateValue: async (c, id, value) => {
|
|
720
|
+
await c.db.execute(
|
|
721
|
+
`UPDATE test_data SET value = '${value}' WHERE id = ${id}`
|
|
722
|
+
);
|
|
723
|
+
return { success: true };
|
|
724
|
+
},
|
|
725
|
+
deleteValue: async (c, id) => {
|
|
726
|
+
await c.db.execute(`DELETE FROM test_data WHERE id = ${id}`);
|
|
727
|
+
},
|
|
728
|
+
transactionCommit: async (c, value) => {
|
|
729
|
+
await c.db.execute(
|
|
730
|
+
`BEGIN; INSERT INTO test_data (value, payload, created_at) VALUES ('${value}', '', ${Date.now()}); COMMIT;`
|
|
731
|
+
);
|
|
732
|
+
},
|
|
733
|
+
transactionRollback: async (c, value) => {
|
|
734
|
+
await c.db.execute(
|
|
735
|
+
`BEGIN; INSERT INTO test_data (value, payload, created_at) VALUES ('${value}', '', ${Date.now()}); ROLLBACK;`
|
|
736
|
+
);
|
|
737
|
+
},
|
|
738
|
+
insertPayloadOfSize: async (c, size) => {
|
|
739
|
+
const payload = "x".repeat(size);
|
|
740
|
+
await c.db.execute(
|
|
741
|
+
`INSERT INTO test_data (value, payload, created_at) VALUES ('payload', '${payload}', ${Date.now()})`
|
|
742
|
+
);
|
|
743
|
+
const results = await c.db.execute(
|
|
744
|
+
`SELECT last_insert_rowid() as id`
|
|
745
|
+
);
|
|
746
|
+
return { id: results[0].id, size };
|
|
747
|
+
},
|
|
748
|
+
getPayloadSize: async (c, id) => {
|
|
749
|
+
var _a;
|
|
750
|
+
const results = await c.db.execute(
|
|
751
|
+
`SELECT length(payload) as size FROM test_data WHERE id = ${id}`
|
|
752
|
+
);
|
|
753
|
+
return _nullishCoalesce(((_a = results[0]) == null ? void 0 : _a.size), () => ( 0));
|
|
754
|
+
},
|
|
755
|
+
insertPayloadRows: async (c, count, payloadSize) => {
|
|
756
|
+
const normalizedCount = Math.max(0, Math.trunc(count));
|
|
757
|
+
if (normalizedCount === 0) {
|
|
758
|
+
return { count: 0 };
|
|
759
|
+
}
|
|
760
|
+
const payload = makePayload2(payloadSize);
|
|
761
|
+
const now = Date.now();
|
|
762
|
+
for (let i = 0; i < normalizedCount; i++) {
|
|
763
|
+
await c.db.execute(
|
|
764
|
+
`INSERT INTO test_data (value, payload, created_at) VALUES ('bulk-${i}', '${payload}', ${now})`
|
|
765
|
+
);
|
|
766
|
+
}
|
|
767
|
+
return { count: normalizedCount };
|
|
768
|
+
},
|
|
769
|
+
roundRobinUpdateValues: async (c, rowIds, iterations) => {
|
|
770
|
+
const normalizedRowIds = normalizeRowIds2(rowIds);
|
|
771
|
+
const normalizedIterations = Math.max(0, Math.trunc(iterations));
|
|
772
|
+
if (normalizedRowIds.length === 0 || normalizedIterations === 0) {
|
|
773
|
+
const emptyRows = [];
|
|
774
|
+
return emptyRows;
|
|
775
|
+
}
|
|
776
|
+
for (let i = 0; i < normalizedIterations; i++) {
|
|
777
|
+
const rowId = _nullishCoalesce(normalizedRowIds[i % normalizedRowIds.length], () => ( 0));
|
|
778
|
+
await c.db.execute(
|
|
779
|
+
`UPDATE test_data SET value = 'v-${i}' WHERE id = ${rowId}`
|
|
780
|
+
);
|
|
781
|
+
}
|
|
782
|
+
return await c.db.execute(
|
|
783
|
+
`SELECT id, value FROM test_data WHERE id IN (${normalizedRowIds.join(",")}) ORDER BY id`
|
|
784
|
+
);
|
|
785
|
+
},
|
|
786
|
+
getPageCount: async (c) => {
|
|
787
|
+
const rows = await c.db.execute(
|
|
788
|
+
"PRAGMA page_count"
|
|
789
|
+
);
|
|
790
|
+
return toSafeInteger2(firstRowValue2(rows[0]));
|
|
791
|
+
},
|
|
792
|
+
vacuum: async (c) => {
|
|
793
|
+
await c.db.execute("VACUUM");
|
|
794
|
+
},
|
|
795
|
+
integrityCheck: async (c) => {
|
|
796
|
+
const rows = await c.db.execute(
|
|
797
|
+
"PRAGMA integrity_check"
|
|
798
|
+
);
|
|
799
|
+
const value = firstRowValue2(rows[0]);
|
|
800
|
+
return String(_nullishCoalesce(value, () => ( "")));
|
|
801
|
+
},
|
|
802
|
+
runMixedWorkload: async (c, seedCount, churnCount) => {
|
|
803
|
+
const normalizedSeedCount = Math.max(1, Math.trunc(seedCount));
|
|
804
|
+
const normalizedChurnCount = Math.max(0, Math.trunc(churnCount));
|
|
805
|
+
const now = Date.now();
|
|
806
|
+
for (let i = 0; i < normalizedSeedCount; i++) {
|
|
807
|
+
const payload = makePayload2(1024 + i % 5 * 128);
|
|
808
|
+
await c.db.execute(
|
|
809
|
+
`INSERT OR REPLACE INTO test_data (id, value, payload, created_at) VALUES (${i + 1}, 'seed-${i}', '${payload}', ${now})`
|
|
810
|
+
);
|
|
811
|
+
}
|
|
812
|
+
for (let i = 0; i < normalizedChurnCount; i++) {
|
|
813
|
+
const id = i % normalizedSeedCount + 1;
|
|
814
|
+
if (i % 9 === 0) {
|
|
815
|
+
await c.db.execute(`DELETE FROM test_data WHERE id = ${id}`);
|
|
816
|
+
} else {
|
|
817
|
+
const payload = makePayload2(768 + i % 7 * 96);
|
|
818
|
+
await c.db.execute(
|
|
819
|
+
`INSERT OR REPLACE INTO test_data (id, value, payload, created_at) VALUES (${id}, 'upd-${i}', '${payload}', ${now + i})`
|
|
820
|
+
);
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
},
|
|
824
|
+
repeatUpdate: async (c, id, count) => {
|
|
825
|
+
let value = "";
|
|
826
|
+
if (count <= 0) {
|
|
827
|
+
return { value };
|
|
828
|
+
}
|
|
829
|
+
const statements = ["BEGIN"];
|
|
830
|
+
for (let i = 0; i < count; i++) {
|
|
831
|
+
value = `Updated ${i}`;
|
|
832
|
+
statements.push(
|
|
833
|
+
`UPDATE test_data SET value = '${value}' WHERE id = ${id}`
|
|
834
|
+
);
|
|
835
|
+
}
|
|
836
|
+
statements.push("COMMIT");
|
|
837
|
+
await c.db.execute(statements.join("; "));
|
|
838
|
+
return { value };
|
|
839
|
+
},
|
|
840
|
+
multiStatementInsert: async (c, value) => {
|
|
841
|
+
var _a;
|
|
842
|
+
await c.db.execute(
|
|
843
|
+
`BEGIN; INSERT INTO test_data (value, payload, created_at) VALUES ('${value}', '', ${Date.now()}); UPDATE test_data SET value = '${value}-updated' WHERE id = last_insert_rowid(); COMMIT;`
|
|
844
|
+
);
|
|
845
|
+
const results = await c.db.execute(
|
|
846
|
+
`SELECT value FROM test_data ORDER BY id DESC LIMIT 1`
|
|
847
|
+
);
|
|
848
|
+
return _nullishCoalesce(((_a = results[0]) == null ? void 0 : _a.value), () => ( null));
|
|
849
|
+
},
|
|
850
|
+
triggerSleep: (c) => {
|
|
851
|
+
c.sleep();
|
|
852
|
+
}
|
|
853
|
+
},
|
|
854
|
+
options: {
|
|
855
|
+
sleepTimeout: 100
|
|
856
|
+
}
|
|
857
|
+
});
|
|
858
|
+
|
|
859
|
+
// fixtures/driver-test-suite/db-lifecycle.ts
|
|
860
|
+
var clientActorIds = /* @__PURE__ */ new WeakMap();
|
|
861
|
+
var createCounts = /* @__PURE__ */ new Map();
|
|
862
|
+
var migrateCounts = /* @__PURE__ */ new Map();
|
|
863
|
+
var cleanupCounts = /* @__PURE__ */ new Map();
|
|
864
|
+
function increment(map, actorId) {
|
|
865
|
+
map.set(actorId, (_nullishCoalesce(map.get(actorId), () => ( 0))) + 1);
|
|
866
|
+
}
|
|
867
|
+
function getCounts(actorId) {
|
|
868
|
+
return {
|
|
869
|
+
create: _nullishCoalesce(createCounts.get(actorId), () => ( 0)),
|
|
870
|
+
migrate: _nullishCoalesce(migrateCounts.get(actorId), () => ( 0)),
|
|
871
|
+
cleanup: _nullishCoalesce(cleanupCounts.get(actorId), () => ( 0))
|
|
872
|
+
};
|
|
873
|
+
}
|
|
874
|
+
var baseProvider = _chunk6LJAZ5R4cjs.db.call(void 0, {
|
|
875
|
+
onMigrate: async (dbHandle) => {
|
|
876
|
+
await dbHandle.execute(`
|
|
877
|
+
CREATE TABLE IF NOT EXISTS lifecycle_data (
|
|
878
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
879
|
+
value TEXT NOT NULL,
|
|
880
|
+
created_at INTEGER NOT NULL
|
|
881
|
+
)
|
|
882
|
+
`);
|
|
883
|
+
}
|
|
884
|
+
});
|
|
885
|
+
var lifecycleProvider = {
|
|
886
|
+
createClient: async (ctx) => {
|
|
887
|
+
const client = await baseProvider.createClient(ctx);
|
|
888
|
+
clientActorIds.set(client, ctx.actorId);
|
|
889
|
+
increment(createCounts, ctx.actorId);
|
|
890
|
+
return client;
|
|
891
|
+
},
|
|
892
|
+
onMigrate: async (client) => {
|
|
893
|
+
const actorId = clientActorIds.get(client);
|
|
894
|
+
if (actorId) {
|
|
895
|
+
increment(migrateCounts, actorId);
|
|
896
|
+
}
|
|
897
|
+
await baseProvider.onMigrate(client);
|
|
898
|
+
},
|
|
899
|
+
onDestroy: async (client) => {
|
|
900
|
+
var _a;
|
|
901
|
+
const actorId = clientActorIds.get(client);
|
|
902
|
+
if (actorId) {
|
|
903
|
+
increment(cleanupCounts, actorId);
|
|
904
|
+
}
|
|
905
|
+
await ((_a = baseProvider.onDestroy) == null ? void 0 : _a.call(baseProvider, client));
|
|
906
|
+
}
|
|
907
|
+
};
|
|
908
|
+
var failingLifecycleProvider = {
|
|
909
|
+
createClient: async (ctx) => {
|
|
910
|
+
const client = await baseProvider.createClient(ctx);
|
|
911
|
+
clientActorIds.set(client, ctx.actorId);
|
|
912
|
+
increment(createCounts, ctx.actorId);
|
|
913
|
+
return client;
|
|
914
|
+
},
|
|
915
|
+
onMigrate: async (client) => {
|
|
916
|
+
const actorId = clientActorIds.get(client);
|
|
917
|
+
if (actorId) {
|
|
918
|
+
increment(migrateCounts, actorId);
|
|
919
|
+
}
|
|
920
|
+
throw new Error("forced migrate failure");
|
|
921
|
+
},
|
|
922
|
+
onDestroy: async (client) => {
|
|
923
|
+
var _a;
|
|
924
|
+
const actorId = clientActorIds.get(client);
|
|
925
|
+
if (actorId) {
|
|
926
|
+
increment(cleanupCounts, actorId);
|
|
927
|
+
}
|
|
928
|
+
await ((_a = baseProvider.onDestroy) == null ? void 0 : _a.call(baseProvider, client));
|
|
929
|
+
}
|
|
930
|
+
};
|
|
931
|
+
var dbLifecycle = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
932
|
+
db: lifecycleProvider,
|
|
933
|
+
actions: {
|
|
934
|
+
getActorId: (c) => c.actorId,
|
|
935
|
+
ping: () => "pong",
|
|
936
|
+
insertValue: async (c, value) => {
|
|
937
|
+
await c.db.execute(
|
|
938
|
+
"INSERT INTO lifecycle_data (value, created_at) VALUES (?, ?)",
|
|
939
|
+
value,
|
|
940
|
+
Date.now()
|
|
941
|
+
);
|
|
942
|
+
},
|
|
943
|
+
getCount: async (c) => {
|
|
944
|
+
var _a;
|
|
945
|
+
const results = await c.db.execute(
|
|
946
|
+
`SELECT COUNT(*) as count FROM lifecycle_data`
|
|
947
|
+
);
|
|
948
|
+
return _nullishCoalesce(((_a = results[0]) == null ? void 0 : _a.count), () => ( 0));
|
|
949
|
+
},
|
|
950
|
+
triggerSleep: (c) => {
|
|
951
|
+
c.sleep();
|
|
952
|
+
},
|
|
953
|
+
triggerDestroy: (c) => {
|
|
954
|
+
c.destroy();
|
|
955
|
+
}
|
|
956
|
+
},
|
|
957
|
+
options: {
|
|
958
|
+
sleepTimeout: 100
|
|
959
|
+
}
|
|
960
|
+
});
|
|
961
|
+
var dbLifecycleFailing = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
962
|
+
db: failingLifecycleProvider,
|
|
963
|
+
actions: {
|
|
964
|
+
ping: () => "pong"
|
|
965
|
+
}
|
|
966
|
+
});
|
|
967
|
+
var dbLifecycleObserver = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
968
|
+
actions: {
|
|
969
|
+
getCounts: (_c, actorId) => {
|
|
970
|
+
return getCounts(actorId);
|
|
971
|
+
}
|
|
972
|
+
}
|
|
973
|
+
});
|
|
974
|
+
|
|
184
975
|
// fixtures/driver-test-suite/actor-onstatechange.ts
|
|
185
|
-
var onStateChangeActor =
|
|
976
|
+
var onStateChangeActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
186
977
|
state: {
|
|
187
978
|
value: 0,
|
|
188
979
|
changeCount: 0
|
|
@@ -225,7 +1016,7 @@ var onStateChangeActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
225
1016
|
});
|
|
226
1017
|
|
|
227
1018
|
// fixtures/driver-test-suite/conn-params.ts
|
|
228
|
-
var counterWithParams =
|
|
1019
|
+
var counterWithParams = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
229
1020
|
state: { count: 0, initializers: [] },
|
|
230
1021
|
createConnState: (c, params) => {
|
|
231
1022
|
return {
|
|
@@ -251,7 +1042,7 @@ var counterWithParams = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
251
1042
|
});
|
|
252
1043
|
|
|
253
1044
|
// fixtures/driver-test-suite/conn-state.ts
|
|
254
|
-
var connStateActor =
|
|
1045
|
+
var connStateActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
255
1046
|
state: {
|
|
256
1047
|
sharedCounter: 0,
|
|
257
1048
|
disconnectionCount: 0
|
|
@@ -336,7 +1127,7 @@ var connStateActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
336
1127
|
});
|
|
337
1128
|
|
|
338
1129
|
// fixtures/driver-test-suite/counter.ts
|
|
339
|
-
var counter =
|
|
1130
|
+
var counter = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
340
1131
|
state: { count: 0 },
|
|
341
1132
|
actions: {
|
|
342
1133
|
increment: (c, x) => {
|
|
@@ -351,12 +1142,15 @@ var counter = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
351
1142
|
},
|
|
352
1143
|
getCount: (c) => {
|
|
353
1144
|
return c.state.count;
|
|
1145
|
+
},
|
|
1146
|
+
getKey: (c) => {
|
|
1147
|
+
return c.key;
|
|
354
1148
|
}
|
|
355
1149
|
}
|
|
356
1150
|
});
|
|
357
1151
|
|
|
358
1152
|
// fixtures/driver-test-suite/counter-conn.ts
|
|
359
|
-
var counterConn =
|
|
1153
|
+
var counterConn = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
360
1154
|
state: {
|
|
361
1155
|
connectionCount: 0
|
|
362
1156
|
},
|
|
@@ -386,7 +1180,7 @@ var counterConn = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
386
1180
|
});
|
|
387
1181
|
|
|
388
1182
|
// fixtures/driver-test-suite/destroy.ts
|
|
389
|
-
var destroyObserver =
|
|
1183
|
+
var destroyObserver = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
390
1184
|
state: { destroyedActors: [] },
|
|
391
1185
|
actions: {
|
|
392
1186
|
notifyDestroyed: (c, actorKey) => {
|
|
@@ -400,7 +1194,7 @@ var destroyObserver = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
400
1194
|
}
|
|
401
1195
|
}
|
|
402
1196
|
});
|
|
403
|
-
var destroyActor =
|
|
1197
|
+
var destroyActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
404
1198
|
state: { value: 0, key: "" },
|
|
405
1199
|
onWake: (c) => {
|
|
406
1200
|
c.state.key = c.key.join("/");
|
|
@@ -426,18 +1220,18 @@ var destroyActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
426
1220
|
});
|
|
427
1221
|
|
|
428
1222
|
// fixtures/driver-test-suite/error-handling.ts
|
|
429
|
-
var errorHandlingActor =
|
|
1223
|
+
var errorHandlingActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
430
1224
|
state: {
|
|
431
1225
|
errorLog: []
|
|
432
1226
|
},
|
|
433
1227
|
actions: {
|
|
434
1228
|
// Action that throws a UserError with just a message
|
|
435
1229
|
throwSimpleError: () => {
|
|
436
|
-
throw new (0,
|
|
1230
|
+
throw new (0, _chunkL47L3ZWJcjs.UserError)("Simple error message");
|
|
437
1231
|
},
|
|
438
1232
|
// Action that throws a UserError with code and metadata
|
|
439
1233
|
throwDetailedError: () => {
|
|
440
|
-
throw new (0,
|
|
1234
|
+
throw new (0, _chunkL47L3ZWJcjs.UserError)("Detailed error message", {
|
|
441
1235
|
code: "detailed_error",
|
|
442
1236
|
metadata: {
|
|
443
1237
|
reason: "test",
|
|
@@ -489,7 +1283,7 @@ var errorHandlingActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
489
1283
|
// 500ms timeout for actions
|
|
490
1284
|
}
|
|
491
1285
|
});
|
|
492
|
-
var customTimeoutActor =
|
|
1286
|
+
var customTimeoutActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
493
1287
|
state: {},
|
|
494
1288
|
actions: {
|
|
495
1289
|
quickAction: async () => {
|
|
@@ -507,8 +1301,43 @@ var customTimeoutActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
507
1301
|
}
|
|
508
1302
|
});
|
|
509
1303
|
|
|
1304
|
+
// fixtures/driver-test-suite/file-system-hibernation-cleanup.ts
|
|
1305
|
+
var fileSystemHibernationCleanupActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
1306
|
+
state: {
|
|
1307
|
+
wakeCount: 0,
|
|
1308
|
+
sleepCount: 0,
|
|
1309
|
+
disconnectWakeCounts: []
|
|
1310
|
+
},
|
|
1311
|
+
createConnState: () => ({}),
|
|
1312
|
+
onWake: (c) => {
|
|
1313
|
+
c.state.wakeCount += 1;
|
|
1314
|
+
},
|
|
1315
|
+
onSleep: (c) => {
|
|
1316
|
+
c.state.sleepCount += 1;
|
|
1317
|
+
},
|
|
1318
|
+
onDisconnect: (c, conn) => {
|
|
1319
|
+
if (conn.isHibernatable) {
|
|
1320
|
+
c.state.disconnectWakeCounts.push(c.state.wakeCount);
|
|
1321
|
+
}
|
|
1322
|
+
},
|
|
1323
|
+
actions: {
|
|
1324
|
+
ping: () => "pong",
|
|
1325
|
+
triggerSleep: (c) => {
|
|
1326
|
+
c.sleep();
|
|
1327
|
+
},
|
|
1328
|
+
getCounts: (c) => ({
|
|
1329
|
+
wakeCount: c.state.wakeCount,
|
|
1330
|
+
sleepCount: c.state.sleepCount
|
|
1331
|
+
}),
|
|
1332
|
+
getDisconnectWakeCounts: (c) => c.state.disconnectWakeCounts
|
|
1333
|
+
},
|
|
1334
|
+
options: {
|
|
1335
|
+
sleepTimeout: 500
|
|
1336
|
+
}
|
|
1337
|
+
});
|
|
1338
|
+
|
|
510
1339
|
// fixtures/driver-test-suite/inline-client.ts
|
|
511
|
-
var inlineClientActor =
|
|
1340
|
+
var inlineClientActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
512
1341
|
state: { messages: [] },
|
|
513
1342
|
actions: {
|
|
514
1343
|
// Action that uses client to call another actor (stateless)
|
|
@@ -556,7 +1385,7 @@ var inlineClientActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
556
1385
|
});
|
|
557
1386
|
|
|
558
1387
|
// fixtures/driver-test-suite/kv.ts
|
|
559
|
-
var kvActor =
|
|
1388
|
+
var kvActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
560
1389
|
actions: {
|
|
561
1390
|
putText: async (c, key, value) => {
|
|
562
1391
|
await c.kv.put(key, value);
|
|
@@ -585,7 +1414,7 @@ var kvActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
585
1414
|
});
|
|
586
1415
|
|
|
587
1416
|
// fixtures/driver-test-suite/large-payloads.ts
|
|
588
|
-
var largePayloadActor =
|
|
1417
|
+
var largePayloadActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
589
1418
|
state: {},
|
|
590
1419
|
actions: {
|
|
591
1420
|
/**
|
|
@@ -616,7 +1445,7 @@ var largePayloadActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
616
1445
|
}
|
|
617
1446
|
}
|
|
618
1447
|
});
|
|
619
|
-
var largePayloadConnActor =
|
|
1448
|
+
var largePayloadConnActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
620
1449
|
state: {},
|
|
621
1450
|
connState: {
|
|
622
1451
|
lastRequestSize: 0
|
|
@@ -659,7 +1488,7 @@ var largePayloadConnActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
659
1488
|
});
|
|
660
1489
|
|
|
661
1490
|
// fixtures/driver-test-suite/lifecycle.ts
|
|
662
|
-
var counterWithLifecycle =
|
|
1491
|
+
var counterWithLifecycle = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
663
1492
|
state: {
|
|
664
1493
|
count: 0,
|
|
665
1494
|
events: []
|
|
@@ -693,7 +1522,7 @@ var counterWithLifecycle = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
693
1522
|
});
|
|
694
1523
|
|
|
695
1524
|
// fixtures/driver-test-suite/metadata.ts
|
|
696
|
-
var metadataActor =
|
|
1525
|
+
var metadataActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
697
1526
|
state: {
|
|
698
1527
|
lastMetadata: null,
|
|
699
1528
|
actorName: "",
|
|
@@ -753,9 +1582,204 @@ var metadataActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
753
1582
|
}
|
|
754
1583
|
});
|
|
755
1584
|
|
|
1585
|
+
// fixtures/driver-test-suite/queue.ts
|
|
1586
|
+
var queueSchemas = {
|
|
1587
|
+
greeting: _chunkTYLXNCA5cjs.queue.call(void 0, ),
|
|
1588
|
+
self: _chunkTYLXNCA5cjs.queue.call(void 0, ),
|
|
1589
|
+
a: _chunkTYLXNCA5cjs.queue.call(void 0, ),
|
|
1590
|
+
b: _chunkTYLXNCA5cjs.queue.call(void 0, ),
|
|
1591
|
+
c: _chunkTYLXNCA5cjs.queue.call(void 0, ),
|
|
1592
|
+
one: _chunkTYLXNCA5cjs.queue.call(void 0, ),
|
|
1593
|
+
two: _chunkTYLXNCA5cjs.queue.call(void 0, ),
|
|
1594
|
+
missing: _chunkTYLXNCA5cjs.queue.call(void 0, ),
|
|
1595
|
+
abort: _chunkTYLXNCA5cjs.queue.call(void 0, ),
|
|
1596
|
+
tasks: _chunkTYLXNCA5cjs.queue.call(void 0, ),
|
|
1597
|
+
timeout: _chunkTYLXNCA5cjs.queue.call(void 0, ),
|
|
1598
|
+
nowait: _chunkTYLXNCA5cjs.queue.call(void 0, ),
|
|
1599
|
+
twice: _chunkTYLXNCA5cjs.queue.call(void 0, )
|
|
1600
|
+
};
|
|
1601
|
+
var queueActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
1602
|
+
state: {},
|
|
1603
|
+
queues: queueSchemas,
|
|
1604
|
+
actions: {
|
|
1605
|
+
receiveOne: async (c, name, opts) => {
|
|
1606
|
+
const messages = await c.queue.next({
|
|
1607
|
+
names: [name],
|
|
1608
|
+
count: opts == null ? void 0 : opts.count,
|
|
1609
|
+
timeout: opts == null ? void 0 : opts.timeout
|
|
1610
|
+
});
|
|
1611
|
+
const message = messages[0];
|
|
1612
|
+
if (!message) {
|
|
1613
|
+
return null;
|
|
1614
|
+
}
|
|
1615
|
+
return { name: message.name, body: message.body };
|
|
1616
|
+
},
|
|
1617
|
+
receiveMany: async (c, names, opts) => {
|
|
1618
|
+
const messages = await c.queue.next({
|
|
1619
|
+
names,
|
|
1620
|
+
count: opts == null ? void 0 : opts.count,
|
|
1621
|
+
timeout: opts == null ? void 0 : opts.timeout
|
|
1622
|
+
});
|
|
1623
|
+
return messages.map((message) => ({
|
|
1624
|
+
name: message.name,
|
|
1625
|
+
body: message.body
|
|
1626
|
+
}));
|
|
1627
|
+
},
|
|
1628
|
+
receiveRequest: async (c, request) => {
|
|
1629
|
+
const messages = await c.queue.next(request);
|
|
1630
|
+
return messages.map((message) => ({
|
|
1631
|
+
name: message.name,
|
|
1632
|
+
body: message.body
|
|
1633
|
+
}));
|
|
1634
|
+
},
|
|
1635
|
+
tryReceiveMany: async (c, request) => {
|
|
1636
|
+
const messages = await c.queue.tryNext(request);
|
|
1637
|
+
return messages.map((message) => ({
|
|
1638
|
+
name: message.name,
|
|
1639
|
+
body: message.body
|
|
1640
|
+
}));
|
|
1641
|
+
},
|
|
1642
|
+
receiveWithIterator: async (c, name) => {
|
|
1643
|
+
for await (const message of c.queue.iter({ names: [name] })) {
|
|
1644
|
+
return { name: message.name, body: message.body };
|
|
1645
|
+
}
|
|
1646
|
+
return null;
|
|
1647
|
+
},
|
|
1648
|
+
receiveWithAsyncIterator: async (c) => {
|
|
1649
|
+
for await (const message of c.queue.iter()) {
|
|
1650
|
+
return { name: message.name, body: message.body };
|
|
1651
|
+
}
|
|
1652
|
+
return null;
|
|
1653
|
+
},
|
|
1654
|
+
sendToSelf: async (c, name, body) => {
|
|
1655
|
+
const client = c.client();
|
|
1656
|
+
const handle = client.queueActor.getForId(c.actorId);
|
|
1657
|
+
await handle.send(name, body);
|
|
1658
|
+
return true;
|
|
1659
|
+
},
|
|
1660
|
+
waitForAbort: async (c) => {
|
|
1661
|
+
setTimeout(() => {
|
|
1662
|
+
c.destroy();
|
|
1663
|
+
}, 10);
|
|
1664
|
+
await c.queue.next({ names: ["abort"], timeout: 1e4 });
|
|
1665
|
+
return true;
|
|
1666
|
+
},
|
|
1667
|
+
waitForSignalAbort: async (c) => {
|
|
1668
|
+
const controller = new AbortController();
|
|
1669
|
+
controller.abort();
|
|
1670
|
+
try {
|
|
1671
|
+
await c.queue.next({
|
|
1672
|
+
names: ["abort"],
|
|
1673
|
+
timeout: 1e4,
|
|
1674
|
+
signal: controller.signal
|
|
1675
|
+
});
|
|
1676
|
+
return { ok: false };
|
|
1677
|
+
} catch (error) {
|
|
1678
|
+
const actorError = error;
|
|
1679
|
+
return { group: actorError.group, code: actorError.code };
|
|
1680
|
+
}
|
|
1681
|
+
},
|
|
1682
|
+
waitForActorAbortWithSignal: async (c) => {
|
|
1683
|
+
const controller = new AbortController();
|
|
1684
|
+
setTimeout(() => {
|
|
1685
|
+
c.destroy();
|
|
1686
|
+
}, 10);
|
|
1687
|
+
try {
|
|
1688
|
+
await c.queue.next({
|
|
1689
|
+
names: ["abort"],
|
|
1690
|
+
timeout: 1e4,
|
|
1691
|
+
signal: controller.signal
|
|
1692
|
+
});
|
|
1693
|
+
return { ok: false };
|
|
1694
|
+
} catch (error) {
|
|
1695
|
+
const actorError = error;
|
|
1696
|
+
return { group: actorError.group, code: actorError.code };
|
|
1697
|
+
}
|
|
1698
|
+
},
|
|
1699
|
+
iterWithSignalAbort: async (c) => {
|
|
1700
|
+
const controller = new AbortController();
|
|
1701
|
+
controller.abort();
|
|
1702
|
+
for await (const _message of c.queue.iter({
|
|
1703
|
+
names: ["abort"],
|
|
1704
|
+
signal: controller.signal
|
|
1705
|
+
})) {
|
|
1706
|
+
return { ok: false };
|
|
1707
|
+
}
|
|
1708
|
+
return { ok: true };
|
|
1709
|
+
},
|
|
1710
|
+
receiveAndComplete: async (c, name) => {
|
|
1711
|
+
const messages = await c.queue.next({ names: [name], completable: true });
|
|
1712
|
+
const message = messages[0];
|
|
1713
|
+
if (!message) {
|
|
1714
|
+
return null;
|
|
1715
|
+
}
|
|
1716
|
+
await message.complete({ echo: message.body });
|
|
1717
|
+
return { name: message.name, body: message.body };
|
|
1718
|
+
},
|
|
1719
|
+
receiveWithoutComplete: async (c, name) => {
|
|
1720
|
+
const messages = await c.queue.next({ names: [name], completable: true });
|
|
1721
|
+
const message = messages[0];
|
|
1722
|
+
if (!message) {
|
|
1723
|
+
return null;
|
|
1724
|
+
}
|
|
1725
|
+
return { name: message.name, body: message.body };
|
|
1726
|
+
},
|
|
1727
|
+
receiveManualThenNextWithoutComplete: async (c, name) => {
|
|
1728
|
+
const messages = await c.queue.next({ names: [name], completable: true });
|
|
1729
|
+
const message = messages[0];
|
|
1730
|
+
if (!message) {
|
|
1731
|
+
return { ok: false, reason: "no_message" };
|
|
1732
|
+
}
|
|
1733
|
+
try {
|
|
1734
|
+
await c.queue.next({ names: [name], timeout: 0 });
|
|
1735
|
+
c.destroy();
|
|
1736
|
+
return { ok: false, reason: "next_succeeded" };
|
|
1737
|
+
} catch (error) {
|
|
1738
|
+
c.destroy();
|
|
1739
|
+
const actorError = error;
|
|
1740
|
+
return { group: actorError.group, code: actorError.code };
|
|
1741
|
+
}
|
|
1742
|
+
},
|
|
1743
|
+
receiveAndCompleteTwice: async (c, name) => {
|
|
1744
|
+
const messages = await c.queue.next({ names: [name], completable: true });
|
|
1745
|
+
const message = messages[0];
|
|
1746
|
+
if (!message) {
|
|
1747
|
+
return null;
|
|
1748
|
+
}
|
|
1749
|
+
await message.complete({ ok: true });
|
|
1750
|
+
try {
|
|
1751
|
+
await message.complete({ ok: true });
|
|
1752
|
+
return { ok: false };
|
|
1753
|
+
} catch (error) {
|
|
1754
|
+
const actorError = error;
|
|
1755
|
+
return { group: actorError.group, code: actorError.code };
|
|
1756
|
+
}
|
|
1757
|
+
},
|
|
1758
|
+
receiveWithoutCompleteMethod: async (c, name) => {
|
|
1759
|
+
const messages = await c.queue.next({ names: [name], completable: true });
|
|
1760
|
+
const message = messages[0];
|
|
1761
|
+
return {
|
|
1762
|
+
hasComplete: message !== void 0 && typeof message.complete === "function"
|
|
1763
|
+
};
|
|
1764
|
+
}
|
|
1765
|
+
}
|
|
1766
|
+
});
|
|
1767
|
+
var queueLimitedActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
1768
|
+
state: {},
|
|
1769
|
+
queues: {
|
|
1770
|
+
message: _chunkTYLXNCA5cjs.queue.call(void 0, ),
|
|
1771
|
+
oversize: _chunkTYLXNCA5cjs.queue.call(void 0, )
|
|
1772
|
+
},
|
|
1773
|
+
actions: {},
|
|
1774
|
+
options: {
|
|
1775
|
+
maxQueueSize: 1,
|
|
1776
|
+
maxQueueMessageSize: 64
|
|
1777
|
+
}
|
|
1778
|
+
});
|
|
1779
|
+
|
|
756
1780
|
// fixtures/driver-test-suite/raw-http.ts
|
|
757
1781
|
var _hono = require('hono');
|
|
758
|
-
var rawHttpActor =
|
|
1782
|
+
var rawHttpActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
759
1783
|
state: {
|
|
760
1784
|
requestCount: 0
|
|
761
1785
|
},
|
|
@@ -799,16 +1823,16 @@ var rawHttpActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
799
1823
|
},
|
|
800
1824
|
actions: {}
|
|
801
1825
|
});
|
|
802
|
-
var rawHttpNoHandlerActor =
|
|
1826
|
+
var rawHttpNoHandlerActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
803
1827
|
actions: {}
|
|
804
1828
|
});
|
|
805
|
-
var rawHttpVoidReturnActor =
|
|
1829
|
+
var rawHttpVoidReturnActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
806
1830
|
onRequest(ctx, request) {
|
|
807
1831
|
return void 0;
|
|
808
1832
|
},
|
|
809
1833
|
actions: {}
|
|
810
1834
|
});
|
|
811
|
-
var rawHttpHonoActor =
|
|
1835
|
+
var rawHttpHonoActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
812
1836
|
createVars() {
|
|
813
1837
|
const router = new (0, _hono.Hono)();
|
|
814
1838
|
router.get(
|
|
@@ -851,7 +1875,7 @@ var rawHttpHonoActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
851
1875
|
});
|
|
852
1876
|
|
|
853
1877
|
// fixtures/driver-test-suite/raw-http-request-properties.ts
|
|
854
|
-
var rawHttpRequestPropertiesActor =
|
|
1878
|
+
var rawHttpRequestPropertiesActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
855
1879
|
actions: {},
|
|
856
1880
|
onRequest(ctx, request) {
|
|
857
1881
|
const url = new URL(request.url);
|
|
@@ -867,11 +1891,11 @@ var rawHttpRequestPropertiesActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
867
1891
|
const contentType = request.headers.get("content-type") || "";
|
|
868
1892
|
try {
|
|
869
1893
|
if (contentType.includes("application/json")) {
|
|
870
|
-
const
|
|
871
|
-
return
|
|
1894
|
+
const text2 = await request.text();
|
|
1895
|
+
return text2 ? JSON.parse(text2) : null;
|
|
872
1896
|
} else {
|
|
873
|
-
const
|
|
874
|
-
return
|
|
1897
|
+
const text2 = await request.text();
|
|
1898
|
+
return text2 || null;
|
|
875
1899
|
}
|
|
876
1900
|
} catch (error) {
|
|
877
1901
|
return null;
|
|
@@ -919,7 +1943,7 @@ var rawHttpRequestPropertiesActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
919
1943
|
});
|
|
920
1944
|
|
|
921
1945
|
// fixtures/driver-test-suite/raw-websocket.ts
|
|
922
|
-
var rawWebSocketActor =
|
|
1946
|
+
var rawWebSocketActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
923
1947
|
state: {
|
|
924
1948
|
connectionCount: 0,
|
|
925
1949
|
messageCount: 0
|
|
@@ -936,14 +1960,14 @@ var rawWebSocketActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
936
1960
|
})
|
|
937
1961
|
);
|
|
938
1962
|
console.log("[ACTOR] Sent welcome message");
|
|
939
|
-
websocket.addEventListener("message", (
|
|
1963
|
+
websocket.addEventListener("message", (event2) => {
|
|
940
1964
|
var _a;
|
|
941
1965
|
ctx.state.messageCount = ctx.state.messageCount + 1;
|
|
942
1966
|
console.log(
|
|
943
1967
|
`[ACTOR] Message received, total count: ${ctx.state.messageCount}, data:`,
|
|
944
|
-
|
|
1968
|
+
event2.data
|
|
945
1969
|
);
|
|
946
|
-
const data =
|
|
1970
|
+
const data = event2.data;
|
|
947
1971
|
if (typeof data === "string") {
|
|
948
1972
|
try {
|
|
949
1973
|
const parsed = JSON.parse(data);
|
|
@@ -1002,10 +2026,10 @@ var rawWebSocketActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
1002
2026
|
}
|
|
1003
2027
|
}
|
|
1004
2028
|
});
|
|
1005
|
-
var rawWebSocketBinaryActor =
|
|
2029
|
+
var rawWebSocketBinaryActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
1006
2030
|
onWebSocket(ctx, websocket) {
|
|
1007
|
-
websocket.addEventListener("message", (
|
|
1008
|
-
const data =
|
|
2031
|
+
websocket.addEventListener("message", (event2) => {
|
|
2032
|
+
const data = event2.data;
|
|
1009
2033
|
if (data instanceof ArrayBuffer || data instanceof Uint8Array) {
|
|
1010
2034
|
const bytes = new Uint8Array(data);
|
|
1011
2035
|
const reversed = new Uint8Array(bytes.length);
|
|
@@ -1020,7 +2044,7 @@ var rawWebSocketBinaryActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
1020
2044
|
});
|
|
1021
2045
|
|
|
1022
2046
|
// fixtures/driver-test-suite/request-access.ts
|
|
1023
|
-
var requestAccessActor =
|
|
2047
|
+
var requestAccessActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
1024
2048
|
state: {
|
|
1025
2049
|
// Track request info from different hooks
|
|
1026
2050
|
onBeforeConnectRequest: {
|
|
@@ -1128,8 +2152,8 @@ var requestAccessActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
1128
2152
|
requestHeaders: headers
|
|
1129
2153
|
})
|
|
1130
2154
|
);
|
|
1131
|
-
websocket.addEventListener("message", (
|
|
1132
|
-
websocket.send(
|
|
2155
|
+
websocket.addEventListener("message", (event2) => {
|
|
2156
|
+
websocket.send(event2.data);
|
|
1133
2157
|
});
|
|
1134
2158
|
},
|
|
1135
2159
|
actions: {
|
|
@@ -1145,11 +2169,11 @@ var requestAccessActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
1145
2169
|
});
|
|
1146
2170
|
|
|
1147
2171
|
// fixtures/driver-test-suite/reject-connection.ts
|
|
1148
|
-
var rejectConnectionActor =
|
|
2172
|
+
var rejectConnectionActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
1149
2173
|
onBeforeConnect: async (_c, params) => {
|
|
1150
2174
|
if (params == null ? void 0 : params.reject) {
|
|
1151
2175
|
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
1152
|
-
throw new (0,
|
|
2176
|
+
throw new (0, _chunkL47L3ZWJcjs.UserError)("Rejected connection", {
|
|
1153
2177
|
code: "rejected"
|
|
1154
2178
|
});
|
|
1155
2179
|
}
|
|
@@ -1160,7 +2184,7 @@ var rejectConnectionActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
1160
2184
|
});
|
|
1161
2185
|
|
|
1162
2186
|
// fixtures/driver-test-suite/scheduled.ts
|
|
1163
|
-
var scheduled =
|
|
2187
|
+
var scheduled = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
1164
2188
|
state: {
|
|
1165
2189
|
lastRun: 0,
|
|
1166
2190
|
scheduledCount: 0,
|
|
@@ -1226,8 +2250,35 @@ var scheduled = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
1226
2250
|
}
|
|
1227
2251
|
});
|
|
1228
2252
|
|
|
2253
|
+
// fixtures/driver-test-suite/stateless.ts
|
|
2254
|
+
var statelessActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
2255
|
+
actions: {
|
|
2256
|
+
ping: () => "pong",
|
|
2257
|
+
echo: (c, message) => message,
|
|
2258
|
+
getActorId: (c) => c.actorId,
|
|
2259
|
+
// Try to access state - should throw StateNotEnabled
|
|
2260
|
+
tryGetState: (c) => {
|
|
2261
|
+
try {
|
|
2262
|
+
const state = c.state;
|
|
2263
|
+
return { success: true, state };
|
|
2264
|
+
} catch (error) {
|
|
2265
|
+
return { success: false, error: error.message };
|
|
2266
|
+
}
|
|
2267
|
+
},
|
|
2268
|
+
// Try to access db - should throw DatabaseNotEnabled
|
|
2269
|
+
tryGetDb: (c) => {
|
|
2270
|
+
try {
|
|
2271
|
+
const db3 = c.db;
|
|
2272
|
+
return { success: true, db: db3 };
|
|
2273
|
+
} catch (error) {
|
|
2274
|
+
return { success: false, error: error.message };
|
|
2275
|
+
}
|
|
2276
|
+
}
|
|
2277
|
+
}
|
|
2278
|
+
});
|
|
2279
|
+
|
|
1229
2280
|
// fixtures/driver-test-suite/vars.ts
|
|
1230
|
-
var staticVarActor =
|
|
2281
|
+
var staticVarActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
1231
2282
|
state: { value: 0 },
|
|
1232
2283
|
connState: { hello: "world" },
|
|
1233
2284
|
vars: { counter: 42, name: "test-actor" },
|
|
@@ -1240,7 +2291,7 @@ var staticVarActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
1240
2291
|
}
|
|
1241
2292
|
}
|
|
1242
2293
|
});
|
|
1243
|
-
var nestedVarActor =
|
|
2294
|
+
var nestedVarActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
1244
2295
|
state: { value: 0 },
|
|
1245
2296
|
connState: { hello: "world" },
|
|
1246
2297
|
vars: {
|
|
@@ -1263,7 +2314,7 @@ var nestedVarActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
1263
2314
|
}
|
|
1264
2315
|
}
|
|
1265
2316
|
});
|
|
1266
|
-
var dynamicVarActor =
|
|
2317
|
+
var dynamicVarActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
1267
2318
|
state: { value: 0 },
|
|
1268
2319
|
connState: { hello: "world" },
|
|
1269
2320
|
createVars: () => {
|
|
@@ -1278,7 +2329,7 @@ var dynamicVarActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
1278
2329
|
}
|
|
1279
2330
|
}
|
|
1280
2331
|
});
|
|
1281
|
-
var uniqueVarActor =
|
|
2332
|
+
var uniqueVarActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
1282
2333
|
state: { value: 0 },
|
|
1283
2334
|
connState: { hello: "world" },
|
|
1284
2335
|
createVars: () => {
|
|
@@ -1292,7 +2343,7 @@ var uniqueVarActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
1292
2343
|
}
|
|
1293
2344
|
}
|
|
1294
2345
|
});
|
|
1295
|
-
var driverCtxActor =
|
|
2346
|
+
var driverCtxActor = _chunkTYLXNCA5cjs.actor.call(void 0, {
|
|
1296
2347
|
state: { value: 0 },
|
|
1297
2348
|
connState: { hello: "world" },
|
|
1298
2349
|
createVars: (c, driverCtx) => {
|
|
@@ -1308,7 +2359,7 @@ var driverCtxActor = _chunkX35U3YNXcjs.actor.call(void 0, {
|
|
|
1308
2359
|
});
|
|
1309
2360
|
|
|
1310
2361
|
// fixtures/driver-test-suite/registry.ts
|
|
1311
|
-
var registry =
|
|
2362
|
+
var registry = _chunkTYLXNCA5cjs.setup.call(void 0, {
|
|
1312
2363
|
use: {
|
|
1313
2364
|
// From counter.ts
|
|
1314
2365
|
counter,
|
|
@@ -1319,11 +2370,11 @@ var registry = _chunkX35U3YNXcjs.setup.call(void 0, {
|
|
|
1319
2370
|
// From scheduled.ts
|
|
1320
2371
|
scheduled,
|
|
1321
2372
|
// From sleep.ts
|
|
1322
|
-
sleep:
|
|
1323
|
-
sleepWithLongRpc:
|
|
1324
|
-
sleepWithRawHttp:
|
|
1325
|
-
sleepWithRawWebSocket:
|
|
1326
|
-
sleepWithNoSleepOption:
|
|
2373
|
+
sleep: _chunkXWBAQO5Hcjs.sleep,
|
|
2374
|
+
sleepWithLongRpc: _chunkXWBAQO5Hcjs.sleepWithLongRpc,
|
|
2375
|
+
sleepWithRawHttp: _chunkXWBAQO5Hcjs.sleepWithRawHttp,
|
|
2376
|
+
sleepWithRawWebSocket: _chunkXWBAQO5Hcjs.sleepWithRawWebSocket,
|
|
2377
|
+
sleepWithNoSleepOption: _chunkXWBAQO5Hcjs.sleepWithNoSleepOption,
|
|
1327
2378
|
// From error-handling.ts
|
|
1328
2379
|
errorHandlingActor,
|
|
1329
2380
|
customTimeoutActor,
|
|
@@ -1331,6 +2382,9 @@ var registry = _chunkX35U3YNXcjs.setup.call(void 0, {
|
|
|
1331
2382
|
inlineClientActor,
|
|
1332
2383
|
// From kv.ts
|
|
1333
2384
|
kvActor,
|
|
2385
|
+
// From queue.ts
|
|
2386
|
+
queueActor,
|
|
2387
|
+
queueLimitedActor,
|
|
1334
2388
|
// From action-inputs.ts
|
|
1335
2389
|
inputActor,
|
|
1336
2390
|
// From action-timeout.ts
|
|
@@ -1374,10 +2428,37 @@ var registry = _chunkX35U3YNXcjs.setup.call(void 0, {
|
|
|
1374
2428
|
destroyActor,
|
|
1375
2429
|
destroyObserver,
|
|
1376
2430
|
// From hibernation.ts
|
|
1377
|
-
hibernationActor:
|
|
2431
|
+
hibernationActor: _chunkXWBAQO5Hcjs.hibernationActor,
|
|
2432
|
+
// From file-system-hibernation-cleanup.ts
|
|
2433
|
+
fileSystemHibernationCleanupActor,
|
|
1378
2434
|
// From large-payloads.ts
|
|
1379
2435
|
largePayloadActor,
|
|
1380
|
-
largePayloadConnActor
|
|
2436
|
+
largePayloadConnActor,
|
|
2437
|
+
// From run.ts
|
|
2438
|
+
runWithTicks: _chunkXWBAQO5Hcjs.runWithTicks,
|
|
2439
|
+
runWithQueueConsumer: _chunkXWBAQO5Hcjs.runWithQueueConsumer,
|
|
2440
|
+
runWithEarlyExit: _chunkXWBAQO5Hcjs.runWithEarlyExit,
|
|
2441
|
+
runWithError: _chunkXWBAQO5Hcjs.runWithError,
|
|
2442
|
+
runWithoutHandler: _chunkXWBAQO5Hcjs.runWithoutHandler,
|
|
2443
|
+
// From workflow.ts
|
|
2444
|
+
workflowCounterActor: _chunkXWBAQO5Hcjs.workflowCounterActor,
|
|
2445
|
+
workflowQueueActor: _chunkXWBAQO5Hcjs.workflowQueueActor,
|
|
2446
|
+
workflowAccessActor: _chunkXWBAQO5Hcjs.workflowAccessActor,
|
|
2447
|
+
workflowSleepActor: _chunkXWBAQO5Hcjs.workflowSleepActor,
|
|
2448
|
+
workflowStopTeardownActor: _chunkXWBAQO5Hcjs.workflowStopTeardownActor,
|
|
2449
|
+
// From actor-db-raw.ts
|
|
2450
|
+
dbActorRaw,
|
|
2451
|
+
// From actor-db-drizzle.ts
|
|
2452
|
+
dbActorDrizzle,
|
|
2453
|
+
// From db-lifecycle.ts
|
|
2454
|
+
dbLifecycle,
|
|
2455
|
+
dbLifecycleFailing,
|
|
2456
|
+
dbLifecycleObserver,
|
|
2457
|
+
// From stateless.ts
|
|
2458
|
+
statelessActor,
|
|
2459
|
+
// From access-control.ts
|
|
2460
|
+
accessControlActor,
|
|
2461
|
+
accessControlNoQueuesActor
|
|
1381
2462
|
}
|
|
1382
2463
|
});
|
|
1383
2464
|
|
|
@@ -1431,16 +2512,15 @@ async function serveTestSuite() {
|
|
|
1431
2512
|
...registry.config.serverless,
|
|
1432
2513
|
publicEndpoint: `http://127.0.0.1:${port}`
|
|
1433
2514
|
};
|
|
1434
|
-
const driver = await
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
);
|
|
2515
|
+
const driver = await _chunkYQ4LDVD6cjs.createFileSystemOrMemoryDriver.call(void 0, true, {
|
|
2516
|
+
path: `/tmp/rivetkit-test-suite-${crypto.randomUUID()}`
|
|
2517
|
+
});
|
|
1438
2518
|
registry.config.driver = driver;
|
|
1439
2519
|
let upgradeWebSocket;
|
|
1440
2520
|
const parsedConfig = registry.parseConfig();
|
|
1441
2521
|
const managerDriver = (_a = driver.manager) == null ? void 0 : _a.call(driver, parsedConfig);
|
|
1442
2522
|
_invariant2.default.call(void 0, managerDriver, "missing manager driver");
|
|
1443
|
-
const { router } =
|
|
2523
|
+
const { router } = _chunkF6JYU5IKcjs.buildManagerRouter.call(void 0,
|
|
1444
2524
|
parsedConfig,
|
|
1445
2525
|
managerDriver,
|
|
1446
2526
|
() => upgradeWebSocket
|
|
@@ -1459,13 +2539,15 @@ async function serveTestSuite() {
|
|
|
1459
2539
|
);
|
|
1460
2540
|
nodeWebSocket.injectWebSocket(server);
|
|
1461
2541
|
const endpoint = `http://127.0.0.1:${port}`;
|
|
1462
|
-
|
|
2542
|
+
_chunkXWBAQO5Hcjs.logger.call(void 0, ).info({ msg: "test suite server listening", port });
|
|
1463
2543
|
return {
|
|
1464
2544
|
endpoint,
|
|
1465
2545
|
namespace: "default",
|
|
1466
2546
|
runnerName: "default",
|
|
1467
2547
|
close: async () => {
|
|
1468
|
-
await new Promise(
|
|
2548
|
+
await new Promise(
|
|
2549
|
+
(resolve) => server.close(() => resolve(void 0))
|
|
2550
|
+
);
|
|
1469
2551
|
}
|
|
1470
2552
|
};
|
|
1471
2553
|
}
|
|
@@ -1487,9 +2569,9 @@ async function runCli() {
|
|
|
1487
2569
|
process.on("SIGTERM", shutdown);
|
|
1488
2570
|
}
|
|
1489
2571
|
var mainPath = process.argv[1];
|
|
1490
|
-
if (mainPath && mainPath === _url.fileURLToPath.call(void 0,
|
|
2572
|
+
if (mainPath && mainPath === _url.fileURLToPath.call(void 0, import.meta.url)) {
|
|
1491
2573
|
runCli().catch((err) => {
|
|
1492
|
-
|
|
2574
|
+
_chunkXWBAQO5Hcjs.logger.call(void 0, ).error({ msg: "serve-test-suite failed", error: err });
|
|
1493
2575
|
process.exit(1);
|
|
1494
2576
|
});
|
|
1495
2577
|
}
|