rivetkit 2.1.5 → 2.1.6-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/browser/client.d.ts +593 -588
- package/dist/browser/client.js +215 -35
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/inspector/client.js +109 -10
- package/dist/browser/inspector/client.js.map +1 -1
- package/dist/inspector.tar.gz +0 -0
- package/dist/tsup/actor/errors.cjs +2 -2
- package/dist/tsup/actor/errors.js +1 -1
- package/dist/tsup/{actor-router-consts-D29T1Z-K.d.cts → actor-router-consts-DU-1IdQj.d.cts} +1 -1
- package/dist/tsup/{actor-router-consts-D29T1Z-K.d.ts → actor-router-consts-DU-1IdQj.d.ts} +1 -1
- package/dist/tsup/chunk-2ELYUO6C.cjs +112 -0
- package/dist/tsup/chunk-2ELYUO6C.cjs.map +1 -0
- package/dist/tsup/chunk-2LY7RW3Y.cjs +2316 -0
- package/dist/tsup/chunk-2LY7RW3Y.cjs.map +1 -0
- package/dist/tsup/{chunk-L47L3ZWJ.cjs → chunk-6G7ZNM27.cjs} +11 -6
- package/dist/tsup/chunk-6G7ZNM27.cjs.map +1 -0
- package/dist/tsup/{chunk-PB5AEMKQ.cjs → chunk-A4KEUCB6.cjs} +84 -34
- package/dist/tsup/chunk-A4KEUCB6.cjs.map +1 -0
- package/dist/tsup/{chunk-7HTNH26M.js → chunk-AKUJ5OTO.js} +11 -6
- package/dist/tsup/chunk-AKUJ5OTO.js.map +1 -0
- package/dist/tsup/{chunk-TADUYCHF.js → chunk-C22JYHVT.js} +77 -27
- package/dist/tsup/chunk-C22JYHVT.js.map +1 -0
- package/dist/tsup/chunk-C4EB42ET.js +1459 -0
- package/dist/tsup/chunk-C4EB42ET.js.map +1 -0
- package/dist/tsup/chunk-CGGGBIDP.cjs +1459 -0
- package/dist/tsup/chunk-CGGGBIDP.cjs.map +1 -0
- package/dist/tsup/chunk-CMQPDBBR.cjs +1486 -0
- package/dist/tsup/chunk-CMQPDBBR.cjs.map +1 -0
- package/dist/tsup/{chunk-GQGRQDRL.cjs → chunk-DH6UINWA.cjs} +4 -4
- package/dist/tsup/{chunk-GQGRQDRL.cjs.map → chunk-DH6UINWA.cjs.map} +1 -1
- package/dist/tsup/chunk-DK46YYCJ.js +1486 -0
- package/dist/tsup/chunk-DK46YYCJ.js.map +1 -0
- package/dist/tsup/chunk-EGWXXBZV.js +2316 -0
- package/dist/tsup/chunk-EGWXXBZV.js.map +1 -0
- package/dist/tsup/{chunk-S662Y6ZU.js → chunk-EONWXYMN.js} +2 -2
- package/dist/tsup/{chunk-N4KRDJ56.js → chunk-GFGRBYO2.js} +35 -6
- package/dist/tsup/chunk-GFGRBYO2.js.map +1 -0
- package/dist/tsup/{chunk-IIJNPVPQ.cjs → chunk-GUHXWPGB.cjs} +1515 -1479
- package/dist/tsup/chunk-GUHXWPGB.cjs.map +1 -0
- package/dist/tsup/{chunk-TI5PXQGG.cjs → chunk-HNE2AK6C.cjs} +2375 -3713
- package/dist/tsup/chunk-HNE2AK6C.cjs.map +1 -0
- package/dist/tsup/{chunk-2OK7S6QF.js → chunk-I5I6OALK.js} +2 -2
- package/dist/tsup/chunk-IHQAF2HV.cjs +23 -0
- package/dist/tsup/chunk-IHQAF2HV.cjs.map +1 -0
- package/dist/tsup/{chunk-U5SMSA27.cjs → chunk-JJNZQDUN.cjs} +667 -2517
- package/dist/tsup/chunk-JJNZQDUN.cjs.map +1 -0
- package/dist/tsup/{chunk-ZPWOYQHN.js → chunk-JJSPHLJN.js} +219 -287
- package/dist/tsup/chunk-JJSPHLJN.js.map +1 -0
- package/dist/tsup/chunk-JRKPV5NJ.js +481 -0
- package/dist/tsup/chunk-JRKPV5NJ.js.map +1 -0
- package/dist/tsup/{chunk-VKVNIQRQ.js → chunk-K7MVU5SI.js} +36 -41
- package/dist/tsup/chunk-K7MVU5SI.js.map +1 -0
- package/dist/tsup/{chunk-KJSYAUOM.js → chunk-MLK3GY6P.js} +43 -27
- package/dist/tsup/chunk-MLK3GY6P.js.map +1 -0
- package/dist/tsup/{chunk-HYPIHCDT.cjs → chunk-MPLMTJY5.cjs} +123 -23
- package/dist/tsup/chunk-MPLMTJY5.cjs.map +1 -0
- package/dist/tsup/{chunk-MIX2KB6U.js → chunk-PQWI44WD.js} +1755 -3093
- package/dist/tsup/chunk-PQWI44WD.js.map +1 -0
- package/dist/tsup/{chunk-SR3KQE7Q.cjs → chunk-SQFCIDCG.cjs} +35 -6
- package/dist/tsup/chunk-SQFCIDCG.cjs.map +1 -0
- package/dist/tsup/{chunk-WY2SHWXQ.js → chunk-SVHJSM2E.js} +110 -24
- package/dist/tsup/chunk-SVHJSM2E.js.map +1 -0
- package/dist/tsup/chunk-T5KYKM6R.js +49 -0
- package/dist/tsup/chunk-T5KYKM6R.js.map +1 -0
- package/dist/tsup/{chunk-7WF2QSIC.cjs → chunk-TJ7DKW6F.cjs} +123 -37
- package/dist/tsup/chunk-TJ7DKW6F.cjs.map +1 -0
- package/dist/tsup/chunk-UQZRMTM3.js +23 -0
- package/dist/tsup/chunk-UQZRMTM3.js.map +1 -0
- package/dist/tsup/{chunk-JC6BEPE7.cjs → chunk-V3JSZR5P.cjs} +3 -3
- package/dist/tsup/{chunk-JC6BEPE7.cjs.map → chunk-V3JSZR5P.cjs.map} +1 -1
- package/dist/tsup/{chunk-OAXJWGMU.cjs → chunk-VBR35EQF.cjs} +271 -339
- package/dist/tsup/chunk-VBR35EQF.cjs.map +1 -0
- package/dist/tsup/{chunk-EIATSBYZ.js → chunk-VWYO36X4.js} +117 -17
- package/dist/tsup/chunk-VWYO36X4.js.map +1 -0
- package/dist/tsup/{chunk-JPXO2H55.js → chunk-WW27B6DM.js} +1452 -1416
- package/dist/tsup/chunk-WW27B6DM.js.map +1 -0
- package/dist/tsup/chunk-YAE3MEJM.cjs +49 -0
- package/dist/tsup/chunk-YAE3MEJM.cjs.map +1 -0
- package/dist/tsup/{chunk-SRIM3GHD.js → chunk-YGYGANCA.js} +473 -2323
- package/dist/tsup/chunk-YGYGANCA.js.map +1 -0
- package/dist/tsup/chunk-YZJWZBY5.cjs +481 -0
- package/dist/tsup/chunk-YZJWZBY5.cjs.map +1 -0
- package/dist/tsup/{chunk-ZFY5J2EP.cjs → chunk-ZZLJ5TSM.cjs} +39 -44
- package/dist/tsup/chunk-ZZLJ5TSM.cjs.map +1 -0
- package/dist/tsup/client/mod.cjs +10 -7
- package/dist/tsup/client/mod.cjs.map +1 -1
- package/dist/tsup/client/mod.d.cts +6 -6
- package/dist/tsup/client/mod.d.ts +6 -6
- package/dist/tsup/client/mod.js +11 -8
- package/dist/tsup/common/log.cjs +3 -3
- package/dist/tsup/common/log.js +2 -2
- package/dist/tsup/common/websocket.cjs +4 -4
- package/dist/tsup/common/websocket.js +3 -3
- package/dist/tsup/{config-Qj-zLJPc.d.ts → config-C2Wwnc69.d.ts} +142 -208
- package/dist/tsup/{config-BiNoIHRs.d.ts → config-DROwzBLT.d.cts} +82 -6
- package/dist/tsup/{config-BiNoIHRs.d.cts → config-DROwzBLT.d.ts} +82 -6
- package/dist/tsup/{config-iPj5l1bL.d.cts → config-ehT-_3BB.d.cts} +142 -208
- package/dist/tsup/{context-DzvH1PBK.d.cts → context-DGMJuAyc.d.ts} +16 -3
- package/dist/tsup/{context-CQCMuHND.d.ts → context-Dpp2RJbW.d.cts} +16 -3
- package/dist/tsup/db/drizzle/mod.cjs +3 -3
- package/dist/tsup/db/drizzle/mod.d.cts +1 -1
- package/dist/tsup/db/drizzle/mod.d.ts +1 -1
- package/dist/tsup/db/drizzle/mod.js +2 -2
- package/dist/tsup/db/mod.cjs +3 -3
- package/dist/tsup/db/mod.d.cts +1 -1
- package/dist/tsup/db/mod.d.ts +1 -1
- package/dist/tsup/db/mod.js +2 -2
- package/dist/tsup/{driver-Jo8v-kbU.d.ts → driver-CYZP9QYo.d.ts} +1 -1
- package/dist/tsup/{driver-iV8J-WMv.d.cts → driver-CoTFpipv.d.cts} +1 -1
- package/dist/tsup/driver-helpers/mod.cjs +7 -5
- package/dist/tsup/driver-helpers/mod.cjs.map +1 -1
- package/dist/tsup/driver-helpers/mod.d.cts +17 -18
- package/dist/tsup/driver-helpers/mod.d.ts +17 -18
- package/dist/tsup/driver-helpers/mod.js +11 -9
- package/dist/tsup/driver-test-suite/mod.cjs +1275 -228
- package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/driver-test-suite/mod.d.cts +6 -5
- package/dist/tsup/driver-test-suite/mod.d.ts +6 -5
- package/dist/tsup/driver-test-suite/mod.js +1581 -534
- package/dist/tsup/driver-test-suite/mod.js.map +1 -1
- package/dist/tsup/inspector/mod.cjs +4 -4
- package/dist/tsup/inspector/mod.js +3 -3
- package/dist/tsup/mod.cjs +15 -9
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +9 -9
- package/dist/tsup/mod.d.ts +9 -9
- package/dist/tsup/mod.js +19 -13
- package/dist/tsup/sandbox/client.cjs +28 -0
- package/dist/tsup/sandbox/client.cjs.map +1 -0
- package/dist/tsup/sandbox/client.d.cts +88 -0
- package/dist/tsup/sandbox/client.d.ts +88 -0
- package/dist/tsup/sandbox/client.js +28 -0
- package/dist/tsup/sandbox/client.js.map +1 -0
- package/dist/tsup/sandbox/index.cjs +761 -0
- package/dist/tsup/sandbox/index.cjs.map +1 -0
- package/dist/tsup/sandbox/index.d.cts +120 -0
- package/dist/tsup/sandbox/index.d.ts +120 -0
- package/dist/tsup/sandbox/index.js +761 -0
- package/dist/tsup/sandbox/index.js.map +1 -0
- package/dist/tsup/sandbox/providers/computesdk.cjs +3 -0
- package/dist/tsup/sandbox/providers/computesdk.cjs.map +1 -0
- package/dist/tsup/sandbox/providers/computesdk.d.cts +7 -0
- package/dist/tsup/sandbox/providers/computesdk.d.ts +7 -0
- package/dist/tsup/sandbox/providers/computesdk.js +3 -0
- package/dist/tsup/sandbox/providers/computesdk.js.map +1 -0
- package/dist/tsup/sandbox/providers/daytona.cjs +3 -0
- package/dist/tsup/sandbox/providers/daytona.cjs.map +1 -0
- package/dist/tsup/sandbox/providers/daytona.d.cts +1 -0
- package/dist/tsup/sandbox/providers/daytona.d.ts +1 -0
- package/dist/tsup/sandbox/providers/daytona.js +3 -0
- package/dist/tsup/sandbox/providers/daytona.js.map +1 -0
- package/dist/tsup/sandbox/providers/docker.cjs +3 -0
- package/dist/tsup/sandbox/providers/docker.cjs.map +1 -0
- package/dist/tsup/sandbox/providers/docker.d.cts +1 -0
- package/dist/tsup/sandbox/providers/docker.d.ts +1 -0
- package/dist/tsup/sandbox/providers/docker.js +3 -0
- package/dist/tsup/sandbox/providers/docker.js.map +1 -0
- package/dist/tsup/sandbox/providers/e2b.cjs +3 -0
- package/dist/tsup/sandbox/providers/e2b.cjs.map +1 -0
- package/dist/tsup/sandbox/providers/e2b.d.cts +1 -0
- package/dist/tsup/sandbox/providers/e2b.d.ts +1 -0
- package/dist/tsup/sandbox/providers/e2b.js +3 -0
- package/dist/tsup/sandbox/providers/e2b.js.map +1 -0
- package/dist/tsup/sandbox/providers/local.cjs +3 -0
- package/dist/tsup/sandbox/providers/local.cjs.map +1 -0
- package/dist/tsup/sandbox/providers/local.d.cts +1 -0
- package/dist/tsup/sandbox/providers/local.d.ts +1 -0
- package/dist/tsup/sandbox/providers/local.js +3 -0
- package/dist/tsup/sandbox/providers/local.js.map +1 -0
- package/dist/tsup/sandbox/providers/modal.cjs +3 -0
- package/dist/tsup/sandbox/providers/modal.cjs.map +1 -0
- package/dist/tsup/sandbox/providers/modal.d.cts +1 -0
- package/dist/tsup/sandbox/providers/modal.d.ts +1 -0
- package/dist/tsup/sandbox/providers/modal.js +3 -0
- package/dist/tsup/sandbox/providers/modal.js.map +1 -0
- package/dist/tsup/sandbox/providers/vercel.cjs +3 -0
- package/dist/tsup/sandbox/providers/vercel.cjs.map +1 -0
- package/dist/tsup/sandbox/providers/vercel.d.cts +1 -0
- package/dist/tsup/sandbox/providers/vercel.d.ts +1 -0
- package/dist/tsup/sandbox/providers/vercel.js +3 -0
- package/dist/tsup/sandbox/providers/vercel.js.map +1 -0
- package/dist/tsup/serve-test-suite/mod.cjs +451 -327
- package/dist/tsup/serve-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/serve-test-suite/mod.js +362 -238
- package/dist/tsup/serve-test-suite/mod.js.map +1 -1
- package/dist/tsup/test/mod.cjs +17 -14
- package/dist/tsup/test/mod.cjs.map +1 -1
- package/dist/tsup/test/mod.d.cts +4 -4
- package/dist/tsup/test/mod.d.ts +4 -4
- package/dist/tsup/test/mod.js +14 -11
- package/dist/tsup/test/mod.js.map +1 -1
- package/dist/tsup/utils.cjs +3 -3
- package/dist/tsup/utils.js +2 -2
- package/dist/tsup/workflow/mod.cjs +6 -6
- package/dist/tsup/workflow/mod.d.cts +13 -9
- package/dist/tsup/workflow/mod.d.ts +13 -9
- package/dist/tsup/workflow/mod.js +5 -5
- package/package.json +114 -15
- package/src/actor/config.ts +94 -88
- package/src/actor/conn/drivers/websocket.ts +2 -1
- package/src/actor/contexts/base/actor.ts +27 -4
- package/src/actor/database.ts +6 -1
- package/src/actor/driver.ts +27 -8
- package/src/actor/errors.ts +10 -5
- package/src/actor/instance/connection-manager.ts +4 -3
- package/src/actor/instance/kv.ts +52 -9
- package/src/actor/instance/mod.ts +135 -84
- package/src/actor/instance/queue-manager.ts +2 -5
- package/src/actor/instance/queue.ts +31 -29
- package/src/actor/instance/state-manager.ts +7 -1
- package/src/actor/instance/traces-driver.ts +34 -36
- package/src/actor/metrics.ts +137 -0
- package/src/actor/protocol/old.ts +9 -12
- package/src/actor/router-websocket-endpoints.ts +12 -6
- package/src/actor/router.ts +46 -9
- package/src/actor/schema.ts +14 -22
- package/src/client/actor-common.ts +65 -0
- package/src/client/actor-conn.ts +71 -9
- package/src/client/actor-handle.ts +22 -5
- package/src/client/client.ts +32 -6
- package/src/client/config.ts +18 -21
- package/src/client/mod.ts +1 -0
- package/src/client/queue.ts +8 -6
- package/src/common/inline-websocket-adapter.ts +8 -2
- package/src/common/router.ts +1 -4
- package/src/common/utils.ts +2 -5
- package/src/db/config.ts +10 -5
- package/src/db/drizzle/mod.ts +51 -41
- package/src/db/mod.ts +54 -29
- package/src/db/shared.ts +42 -8
- package/src/driver-helpers/mod.ts +2 -1
- package/src/driver-helpers/sqlite-pool.ts +42 -0
- package/src/driver-helpers/utils.ts +0 -20
- package/src/driver-test-suite/mod.ts +11 -1
- package/src/driver-test-suite/tests/access-control.ts +19 -12
- package/src/driver-test-suite/tests/action-features.ts +20 -8
- package/src/driver-test-suite/tests/actor-conn.ts +94 -8
- package/src/driver-test-suite/tests/actor-db-kv-stats.ts +282 -0
- package/src/driver-test-suite/tests/actor-db-raw.ts +6 -2
- package/src/driver-test-suite/tests/actor-db.ts +101 -31
- package/src/driver-test-suite/tests/actor-inspector.ts +174 -32
- package/src/driver-test-suite/tests/actor-kv.ts +79 -33
- package/src/driver-test-suite/tests/actor-lifecycle.ts +4 -12
- package/src/driver-test-suite/tests/actor-queue.ts +125 -17
- package/src/driver-test-suite/tests/actor-run.ts +59 -55
- package/src/driver-test-suite/tests/actor-sandbox.ts +78 -0
- package/src/driver-test-suite/tests/actor-schedule.ts +1 -4
- package/src/driver-test-suite/tests/actor-sleep.ts +111 -0
- package/src/driver-test-suite/tests/actor-workflow.ts +387 -3
- package/src/driver-test-suite/tests/conn-error-serialization.ts +3 -1
- package/src/driver-test-suite/tests/raw-websocket.ts +5 -1
- package/src/drivers/default.ts +1 -3
- package/src/drivers/engine/actor-driver.ts +94 -21
- package/src/drivers/engine/config.ts +4 -12
- package/src/drivers/engine/mod.ts +1 -5
- package/src/drivers/file-system/actor.ts +43 -8
- package/src/drivers/file-system/global-state.ts +180 -64
- package/src/drivers/file-system/kv-limits.ts +1 -1
- package/src/drivers/file-system/sqlite-runtime.ts +13 -4
- package/src/engine-process/mod.ts +5 -1
- package/src/inspector/actor-inspector.ts +47 -21
- package/src/inspector/config.ts +1 -4
- package/src/inspector/mod.browser.ts +2 -2
- package/src/inspector/mod.ts +4 -1
- package/src/inspector/serve-ui.ts +0 -1
- package/src/inspector/workflow-history-json.ts +309 -0
- package/src/manager/gateway.ts +6 -2
- package/src/manager/router.ts +3 -3
- package/src/registry/config/index.ts +65 -12
- package/src/registry/config/runner.ts +19 -4
- package/src/registry/index.ts +42 -89
- package/src/sandbox/actor/db.ts +36 -0
- package/src/sandbox/actor/index.ts +476 -0
- package/src/sandbox/actor/session.ts +350 -0
- package/src/sandbox/actor.test.ts +36 -0
- package/src/sandbox/client.test.ts +484 -0
- package/src/sandbox/client.ts +707 -0
- package/src/sandbox/config.ts +151 -0
- package/src/sandbox/index.ts +41 -0
- package/src/sandbox/providers/computesdk.ts +1 -0
- package/src/sandbox/providers/daytona.ts +1 -0
- package/src/sandbox/providers/docker.ts +1 -0
- package/src/sandbox/providers/e2b.ts +1 -0
- package/src/sandbox/providers/local.ts +1 -0
- package/src/sandbox/providers/modal.ts +1 -0
- package/src/sandbox/providers/vercel.ts +1 -0
- package/src/sandbox/session-persist-driver.ts +180 -0
- package/src/sandbox/types.ts +138 -0
- package/src/serverless/configure.ts +5 -3
- package/src/serverless/router.test.ts +17 -9
- package/src/serverless/router.ts +20 -13
- package/src/test/mod.ts +3 -4
- package/src/utils/endpoint-parser.test.ts +6 -2
- package/src/utils/endpoint-parser.ts +6 -2
- package/src/utils/env-vars.ts +0 -2
- package/src/utils/node.ts +1 -1
- package/src/utils/serve.ts +10 -5
- package/src/utils.ts +6 -1
- package/src/workflow/constants.ts +1 -2
- package/src/workflow/context.ts +42 -9
- package/src/workflow/driver.ts +57 -23
- package/src/workflow/inspector.ts +7 -13
- package/src/workflow/mod.ts +91 -4
- package/dist/tsup/chunk-6LJAZ5R4.cjs +0 -96
- package/dist/tsup/chunk-6LJAZ5R4.cjs.map +0 -1
- package/dist/tsup/chunk-7HTNH26M.js.map +0 -1
- package/dist/tsup/chunk-7WF2QSIC.cjs.map +0 -1
- package/dist/tsup/chunk-D2SPAJVT.cjs +0 -645
- package/dist/tsup/chunk-D2SPAJVT.cjs.map +0 -1
- package/dist/tsup/chunk-EIATSBYZ.js.map +0 -1
- package/dist/tsup/chunk-HYPIHCDT.cjs.map +0 -1
- package/dist/tsup/chunk-IIJNPVPQ.cjs.map +0 -1
- package/dist/tsup/chunk-JPXO2H55.js.map +0 -1
- package/dist/tsup/chunk-KJSYAUOM.js.map +0 -1
- package/dist/tsup/chunk-L47L3ZWJ.cjs.map +0 -1
- package/dist/tsup/chunk-MIX2KB6U.js.map +0 -1
- package/dist/tsup/chunk-N4KRDJ56.js.map +0 -1
- package/dist/tsup/chunk-OAXJWGMU.cjs.map +0 -1
- package/dist/tsup/chunk-PB5AEMKQ.cjs.map +0 -1
- package/dist/tsup/chunk-R5OQUSLN.js +0 -645
- package/dist/tsup/chunk-R5OQUSLN.js.map +0 -1
- package/dist/tsup/chunk-SR3KQE7Q.cjs.map +0 -1
- package/dist/tsup/chunk-SRIM3GHD.js.map +0 -1
- package/dist/tsup/chunk-TADUYCHF.js.map +0 -1
- package/dist/tsup/chunk-TI5PXQGG.cjs.map +0 -1
- package/dist/tsup/chunk-U5SMSA27.cjs.map +0 -1
- package/dist/tsup/chunk-VKVNIQRQ.js.map +0 -1
- package/dist/tsup/chunk-WY2SHWXQ.js.map +0 -1
- package/dist/tsup/chunk-ZFY5J2EP.cjs.map +0 -1
- package/dist/tsup/chunk-ZPWOYQHN.js.map +0 -1
- package/src/db/sqlite-vfs.ts +0 -12
- /package/dist/tsup/{chunk-S662Y6ZU.js.map → chunk-EONWXYMN.js.map} +0 -0
- /package/dist/tsup/{chunk-2OK7S6QF.js.map → chunk-I5I6OALK.js.map} +0 -0
package/dist/browser/client.d.ts
CHANGED
|
@@ -1,17 +1,90 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Context, Handler, Env, Hono } from 'hono';
|
|
2
|
+
import z$1, { z } from 'zod/v4';
|
|
2
3
|
import { UniversalWebSocket } from '@rivetkit/virtual-websocket';
|
|
3
|
-
import {
|
|
4
|
+
import { ISqliteVfs } from '@rivetkit/sqlite-vfs';
|
|
4
5
|
import { Traces, OtlpExportTraceServiceRequestJson, SpanHandle, SpanStatusInput } from '@rivetkit/traces';
|
|
5
|
-
import { Context, Handler, Env, Hono } from 'hono';
|
|
6
|
-
import { z as z$1 } from 'zod';
|
|
7
6
|
import { Logger } from 'pino';
|
|
8
|
-
import { VersionedDataHandler } from 'vbare';
|
|
9
|
-
import { BaseSQLiteDatabase } from 'drizzle-orm/sqlite-core';
|
|
10
7
|
import * as nanoevents from 'nanoevents';
|
|
11
8
|
import { W as WorkflowHistory, k as QueueStatus } from './v3-DnYObHH3.js';
|
|
12
9
|
import { StandardSchemaV1 } from '@standard-schema/spec';
|
|
10
|
+
import { VersionedDataHandler } from 'vbare';
|
|
11
|
+
import { BaseSQLiteDatabase } from 'drizzle-orm/sqlite-core';
|
|
12
|
+
import { z as z$2 } from 'zod';
|
|
13
13
|
import '@rivetkit/bare-ts';
|
|
14
14
|
|
|
15
|
+
/**
|
|
16
|
+
* Lightweight in-memory metrics for actor instances.
|
|
17
|
+
*
|
|
18
|
+
* Metrics are collected per actor wake cycle and are NOT persisted. They reset
|
|
19
|
+
* when the actor sleeps and wakes again.
|
|
20
|
+
*/
|
|
21
|
+
interface CounterMetric {
|
|
22
|
+
type: "counter";
|
|
23
|
+
help: string;
|
|
24
|
+
value: number;
|
|
25
|
+
}
|
|
26
|
+
interface GaugeMetric {
|
|
27
|
+
type: "gauge";
|
|
28
|
+
help: string;
|
|
29
|
+
value: number;
|
|
30
|
+
}
|
|
31
|
+
interface LabeledCounterMetric {
|
|
32
|
+
type: "labeled_counter";
|
|
33
|
+
help: string;
|
|
34
|
+
values: Record<string, number>;
|
|
35
|
+
}
|
|
36
|
+
interface LabeledTimingMetric {
|
|
37
|
+
type: "labeled_timing";
|
|
38
|
+
help: string;
|
|
39
|
+
values: Record<string, {
|
|
40
|
+
calls: number;
|
|
41
|
+
totalMs: number;
|
|
42
|
+
keys: number;
|
|
43
|
+
}>;
|
|
44
|
+
}
|
|
45
|
+
type Metric = CounterMetric | GaugeMetric | LabeledCounterMetric | LabeledTimingMetric;
|
|
46
|
+
type MetricsSnapshot = Record<string, Metric>;
|
|
47
|
+
declare class ActorMetrics {
|
|
48
|
+
kvGet: {
|
|
49
|
+
calls: number;
|
|
50
|
+
keys: number;
|
|
51
|
+
totalMs: number;
|
|
52
|
+
};
|
|
53
|
+
kvGetBatch: {
|
|
54
|
+
calls: number;
|
|
55
|
+
keys: number;
|
|
56
|
+
totalMs: number;
|
|
57
|
+
};
|
|
58
|
+
kvPut: {
|
|
59
|
+
calls: number;
|
|
60
|
+
keys: number;
|
|
61
|
+
totalMs: number;
|
|
62
|
+
};
|
|
63
|
+
kvPutBatch: {
|
|
64
|
+
calls: number;
|
|
65
|
+
keys: number;
|
|
66
|
+
totalMs: number;
|
|
67
|
+
};
|
|
68
|
+
kvDeleteBatch: {
|
|
69
|
+
calls: number;
|
|
70
|
+
keys: number;
|
|
71
|
+
totalMs: number;
|
|
72
|
+
};
|
|
73
|
+
sqlSelects: number;
|
|
74
|
+
sqlInserts: number;
|
|
75
|
+
sqlUpdates: number;
|
|
76
|
+
sqlDeletes: number;
|
|
77
|
+
sqlOther: number;
|
|
78
|
+
sqlTotalMs: number;
|
|
79
|
+
actionCalls: number;
|
|
80
|
+
actionErrors: number;
|
|
81
|
+
actionTotalMs: number;
|
|
82
|
+
connectionsOpened: number;
|
|
83
|
+
connectionsClosed: number;
|
|
84
|
+
trackSql(query: string, durationMs: number): void;
|
|
85
|
+
snapshot(): MetricsSnapshot;
|
|
86
|
+
}
|
|
87
|
+
|
|
15
88
|
type AnyDatabaseProvider = DatabaseProvider<any> | undefined;
|
|
16
89
|
/**
|
|
17
90
|
* Context provided to database providers for creating database clients
|
|
@@ -40,11 +113,14 @@ interface DatabaseProviderContext {
|
|
|
40
113
|
batchDelete: (keys: Uint8Array[]) => Promise<void>;
|
|
41
114
|
};
|
|
42
115
|
/**
|
|
43
|
-
* SQLite VFS
|
|
44
|
-
*
|
|
45
|
-
|
|
116
|
+
* SQLite VFS handle for creating KV-backed databases.
|
|
117
|
+
* May be a standalone VFS or a pooled handle from SqliteVfsPool.
|
|
118
|
+
*/
|
|
119
|
+
sqliteVfs?: ISqliteVfs;
|
|
120
|
+
/**
|
|
121
|
+
* Actor metrics instance. When provided, KV and SQL operations are tracked.
|
|
46
122
|
*/
|
|
47
|
-
|
|
123
|
+
metrics?: ActorMetrics;
|
|
48
124
|
}
|
|
49
125
|
type DatabaseProvider<DB extends RawAccess> = {
|
|
50
126
|
/**
|
|
@@ -129,6 +205,77 @@ type InferQueueCompleteMap<T extends QueueSchemaConfig> = {
|
|
|
129
205
|
};
|
|
130
206
|
type InferEventArgs<T> = T extends readonly unknown[] ? number extends T["length"] ? [T] : T : [T];
|
|
131
207
|
|
|
208
|
+
/** Data that's been serialized. */
|
|
209
|
+
type OutputData = string | Uint8Array;
|
|
210
|
+
declare const EncodingSchema: z.ZodEnum<{
|
|
211
|
+
json: "json";
|
|
212
|
+
cbor: "cbor";
|
|
213
|
+
bare: "bare";
|
|
214
|
+
}>;
|
|
215
|
+
/**
|
|
216
|
+
* Encoding used to communicate between the client & actor.
|
|
217
|
+
*/
|
|
218
|
+
type Encoding = z.infer<typeof EncodingSchema>;
|
|
219
|
+
/**
|
|
220
|
+
* Helper class that helps serialize data without re-serializing for the same encoding.
|
|
221
|
+
*/
|
|
222
|
+
declare class CachedSerializer<TBare, TJson, T = TBare> {
|
|
223
|
+
#private;
|
|
224
|
+
constructor(data: T, versionedDataHandler: VersionedDataHandler<TBare>, version: number, zodSchema: z.ZodType<TJson>, toJson: (value: T) => TJson, toBare: (value: T) => TBare);
|
|
225
|
+
get rawData(): T;
|
|
226
|
+
serialize(encoding: Encoding): OutputData;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
declare const ActorKeySchema: z.ZodArray<z.ZodString>;
|
|
230
|
+
type ActorKey = z.infer<typeof ActorKeySchema>;
|
|
231
|
+
declare const CreateRequestSchema: z.ZodObject<{
|
|
232
|
+
name: z.ZodString;
|
|
233
|
+
key: z.ZodArray<z.ZodString>;
|
|
234
|
+
input: z.ZodOptional<z.ZodUnknown>;
|
|
235
|
+
region: z.ZodOptional<z.ZodString>;
|
|
236
|
+
}, z.core.$strip>;
|
|
237
|
+
declare const ActorQuerySchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
238
|
+
getForId: z.ZodObject<{
|
|
239
|
+
name: z.ZodString;
|
|
240
|
+
actorId: z.ZodString;
|
|
241
|
+
}, z.core.$strip>;
|
|
242
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
243
|
+
getForKey: z.ZodObject<{
|
|
244
|
+
name: z.ZodString;
|
|
245
|
+
key: z.ZodArray<z.ZodString>;
|
|
246
|
+
}, z.core.$strip>;
|
|
247
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
248
|
+
getOrCreateForKey: z.ZodObject<{
|
|
249
|
+
name: z.ZodString;
|
|
250
|
+
key: z.ZodArray<z.ZodString>;
|
|
251
|
+
input: z.ZodOptional<z.ZodUnknown>;
|
|
252
|
+
region: z.ZodOptional<z.ZodString>;
|
|
253
|
+
}, z.core.$strip>;
|
|
254
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
255
|
+
create: z.ZodObject<{
|
|
256
|
+
name: z.ZodString;
|
|
257
|
+
key: z.ZodArray<z.ZodString>;
|
|
258
|
+
input: z.ZodOptional<z.ZodUnknown>;
|
|
259
|
+
region: z.ZodOptional<z.ZodString>;
|
|
260
|
+
}, z.core.$strip>;
|
|
261
|
+
}, z.core.$strip>]>;
|
|
262
|
+
type ActorQuery = z.infer<typeof ActorQuerySchema>;
|
|
263
|
+
/**
|
|
264
|
+
* Interface representing a request to create a actor.
|
|
265
|
+
*/
|
|
266
|
+
type CreateRequest = z.infer<typeof CreateRequestSchema>;
|
|
267
|
+
|
|
268
|
+
declare const KEYS: {
|
|
269
|
+
PERSIST_DATA: Uint8Array<ArrayBuffer>;
|
|
270
|
+
CONN_PREFIX: Uint8Array<ArrayBuffer>;
|
|
271
|
+
INSPECTOR_TOKEN: Uint8Array<ArrayBuffer>;
|
|
272
|
+
KV: Uint8Array<ArrayBuffer>;
|
|
273
|
+
QUEUE_PREFIX: Uint8Array<ArrayBuffer>;
|
|
274
|
+
WORKFLOW_PREFIX: Uint8Array<ArrayBuffer>;
|
|
275
|
+
TRACES_PREFIX: Uint8Array<ArrayBuffer>;
|
|
276
|
+
SQLITE_PREFIX: Uint8Array<ArrayBuffer>;
|
|
277
|
+
};
|
|
278
|
+
|
|
132
279
|
/**
|
|
133
280
|
* User-facing KV storage interface exposed on ActorContext.
|
|
134
281
|
*/
|
|
@@ -149,6 +296,8 @@ type KvValueOptions<T extends KvValueType = "text"> = {
|
|
|
149
296
|
};
|
|
150
297
|
type KvListOptions<T extends KvValueType = "text", K extends KvKeyType = "text"> = KvValueOptions<T> & {
|
|
151
298
|
keyType?: K;
|
|
299
|
+
reverse?: boolean;
|
|
300
|
+
limit?: number;
|
|
152
301
|
};
|
|
153
302
|
declare class ActorKv {
|
|
154
303
|
#private;
|
|
@@ -177,13 +326,24 @@ declare class ActorKv {
|
|
|
177
326
|
* Delete multiple keys.
|
|
178
327
|
*/
|
|
179
328
|
deleteBatch(keys: KvKey[]): Promise<void>;
|
|
329
|
+
/**
|
|
330
|
+
* Delete all keys in the half-open range [start, end).
|
|
331
|
+
*/
|
|
332
|
+
deleteRange(start: KvKey, end: KvKey): Promise<void>;
|
|
180
333
|
/**
|
|
181
334
|
* List all keys with a given prefix.
|
|
182
335
|
* Returns key-value pairs where keys have the user prefix removed.
|
|
183
336
|
*/
|
|
184
337
|
list<T extends KvValueType = "text", K extends KvKeyType = "text">(prefix: KvKeyTypeMap[K], options?: KvListOptions<T, K>): Promise<[KvKeyTypeMap[K], KvValueTypeMap[T]][]>;
|
|
338
|
+
/**
|
|
339
|
+
* List all key-value pairs in the half-open range [start, end).
|
|
340
|
+
*/
|
|
341
|
+
listRange<T extends KvValueType = "text", K extends KvKeyType = "text">(start: KvKeyTypeMap[K], end: KvKeyTypeMap[K], options?: KvListOptions<T, K>): Promise<[KvKeyTypeMap[K], KvValueTypeMap[T]][]>;
|
|
185
342
|
}
|
|
186
343
|
|
|
344
|
+
type UpgradeWebSocket = (createEvents: (c: Context) => any) => Handler;
|
|
345
|
+
type GetUpgradeWebSocket = () => UpgradeWebSocket;
|
|
346
|
+
|
|
187
347
|
interface QueueMessage {
|
|
188
348
|
id: bigint;
|
|
189
349
|
name: string;
|
|
@@ -369,7 +529,7 @@ declare class ActorContext<TState, TConnParams, TConnState, TVars, TInput, TData
|
|
|
369
529
|
/**
|
|
370
530
|
* Returns the client for the given registry.
|
|
371
531
|
*/
|
|
372
|
-
client<R extends Registry<any>>(): Client<R>;
|
|
532
|
+
client<R extends Registry<any> = Registry<any>>(): Client<R>;
|
|
373
533
|
/**
|
|
374
534
|
* Gets the database.
|
|
375
535
|
*
|
|
@@ -387,16 +547,33 @@ declare class ActorContext<TState, TConnParams, TConnState, TVars, TInput, TData
|
|
|
387
547
|
saveState(opts: SaveStateOptions): Promise<void>;
|
|
388
548
|
/**
|
|
389
549
|
* Prevents the actor from sleeping until promise is complete.
|
|
550
|
+
*
|
|
551
|
+
* @deprecated Use `onSleep` for shutdown or flush work, or
|
|
552
|
+
* `c.setPreventSleep(true)` while work is active if the actor must stay
|
|
553
|
+
* awake until it finishes.
|
|
390
554
|
*/
|
|
391
555
|
waitUntil(promise: Promise<void>): void;
|
|
392
556
|
/**
|
|
393
|
-
* Prevents the actor from sleeping
|
|
557
|
+
* Prevents the actor from automatically sleeping until cleared.
|
|
394
558
|
*
|
|
395
|
-
*
|
|
396
|
-
|
|
559
|
+
* @experimental
|
|
560
|
+
*/
|
|
561
|
+
setPreventSleep(prevent: boolean): void;
|
|
562
|
+
/**
|
|
563
|
+
* True when the actor is explicitly blocking automatic sleep.
|
|
564
|
+
*
|
|
565
|
+
* @experimental
|
|
566
|
+
*/
|
|
567
|
+
get preventSleep(): boolean;
|
|
568
|
+
/**
|
|
569
|
+
* Prevents the actor from sleeping while the given promise is running.
|
|
397
570
|
*
|
|
398
571
|
* Returns the resolved value and resets the sleep timer on completion.
|
|
399
572
|
* Errors are propagated to the caller.
|
|
573
|
+
*
|
|
574
|
+
* @deprecated Use `c.setPreventSleep(true)` while work is active, or move
|
|
575
|
+
* shutdown and flush work to `onSleep` if it can wait until the actor is
|
|
576
|
+
* sleeping.
|
|
400
577
|
*/
|
|
401
578
|
keepAwake<T>(promise: Promise<T>): Promise<T>;
|
|
402
579
|
/**
|
|
@@ -553,79 +730,78 @@ declare class WebSocketContext<TState, TConnParams, TConnState, TVars, TInput, T
|
|
|
553
730
|
readonly request: Request | undefined;
|
|
554
731
|
}
|
|
555
732
|
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
/**
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
733
|
+
type ManagerDriverBuilder = (config: RegistryConfig) => ManagerDriver;
|
|
734
|
+
interface ManagerDriver {
|
|
735
|
+
getForId(input: GetForIdInput): Promise<ActorOutput | undefined>;
|
|
736
|
+
getWithKey(input: GetWithKeyInput): Promise<ActorOutput | undefined>;
|
|
737
|
+
getOrCreateWithKey(input: GetOrCreateWithKeyInput): Promise<ActorOutput>;
|
|
738
|
+
createActor(input: CreateInput): Promise<ActorOutput>;
|
|
739
|
+
listActors(input: ListActorsInput): Promise<ActorOutput[]>;
|
|
740
|
+
sendRequest(actorId: string, actorRequest: Request): Promise<Response>;
|
|
741
|
+
openWebSocket(path: string, actorId: string, encoding: Encoding, params: unknown): Promise<UniversalWebSocket>;
|
|
742
|
+
proxyRequest(c: Context, actorRequest: Request, actorId: string): Promise<Response>;
|
|
743
|
+
proxyWebSocket(c: Context, path: string, actorId: string, encoding: Encoding, params: unknown): Promise<Response>;
|
|
744
|
+
/**
|
|
745
|
+
* Build a public gateway URL for a specific actor.
|
|
746
|
+
*
|
|
747
|
+
* This lives on the driver because the base endpoint varies by runtime.
|
|
748
|
+
*/
|
|
749
|
+
buildGatewayUrl(actorId: string): Promise<string>;
|
|
750
|
+
displayInformation(): ManagerDisplayInformation;
|
|
751
|
+
extraStartupLog?: () => Record<string, unknown>;
|
|
752
|
+
modifyManagerRouter?: (config: RegistryConfig, router: Hono) => void;
|
|
753
|
+
/**
|
|
754
|
+
* Allows lazily setting getUpgradeWebSocket after the manager router has
|
|
755
|
+
* been initialized.
|
|
756
|
+
**/
|
|
757
|
+
setGetUpgradeWebSocket(getUpgradeWebSocket: GetUpgradeWebSocket): void;
|
|
758
|
+
/** Read a key. Returns null if the key doesn't exist. */
|
|
759
|
+
kvGet(actorId: string, key: Uint8Array): Promise<string | null>;
|
|
760
|
+
}
|
|
761
|
+
interface ManagerDisplayInformation {
|
|
762
|
+
properties: Record<string, string>;
|
|
763
|
+
}
|
|
764
|
+
interface GetForIdInput<E extends Env = any> {
|
|
765
|
+
c?: Context | undefined;
|
|
766
|
+
name: string;
|
|
767
|
+
actorId: string;
|
|
768
|
+
}
|
|
769
|
+
interface GetWithKeyInput<E extends Env = any> {
|
|
770
|
+
c?: Context | undefined;
|
|
771
|
+
name: string;
|
|
772
|
+
key: ActorKey;
|
|
773
|
+
}
|
|
774
|
+
interface GetOrCreateWithKeyInput<E extends Env = any> {
|
|
775
|
+
c?: Context | undefined;
|
|
776
|
+
name: string;
|
|
777
|
+
key: ActorKey;
|
|
778
|
+
input?: unknown;
|
|
779
|
+
region?: string;
|
|
780
|
+
}
|
|
781
|
+
interface CreateInput<E extends Env = any> {
|
|
782
|
+
c?: Context | undefined;
|
|
783
|
+
name: string;
|
|
784
|
+
key: ActorKey;
|
|
785
|
+
input?: unknown;
|
|
786
|
+
region?: string;
|
|
787
|
+
}
|
|
788
|
+
interface ListActorsInput<E extends Env = any> {
|
|
789
|
+
c?: Context | undefined;
|
|
790
|
+
name: string;
|
|
791
|
+
key?: string;
|
|
792
|
+
includeDestroyed?: boolean;
|
|
793
|
+
}
|
|
794
|
+
interface ActorOutput {
|
|
795
|
+
actorId: string;
|
|
796
|
+
name: string;
|
|
797
|
+
key: ActorKey;
|
|
798
|
+
createTs?: number;
|
|
799
|
+
startTs?: number | null;
|
|
800
|
+
connectableTs?: number | null;
|
|
801
|
+
sleepTs?: number | null;
|
|
802
|
+
destroyTs?: number | null;
|
|
803
|
+
error?: unknown;
|
|
575
804
|
}
|
|
576
|
-
|
|
577
|
-
type UpgradeWebSocket = (createEvents: (c: Context) => any) => Handler;
|
|
578
|
-
type GetUpgradeWebSocket = () => UpgradeWebSocket;
|
|
579
|
-
|
|
580
|
-
declare const KEYS: {
|
|
581
|
-
PERSIST_DATA: Uint8Array<ArrayBuffer>;
|
|
582
|
-
CONN_PREFIX: Uint8Array<ArrayBuffer>;
|
|
583
|
-
INSPECTOR_TOKEN: Uint8Array<ArrayBuffer>;
|
|
584
|
-
KV: Uint8Array<ArrayBuffer>;
|
|
585
|
-
QUEUE_PREFIX: Uint8Array<ArrayBuffer>;
|
|
586
|
-
WORKFLOW_PREFIX: Uint8Array<ArrayBuffer>;
|
|
587
|
-
TRACES_PREFIX: Uint8Array<ArrayBuffer>;
|
|
588
|
-
SQLITE_PREFIX: Uint8Array<ArrayBuffer>;
|
|
589
|
-
};
|
|
590
|
-
|
|
591
|
-
declare const ActorKeySchema: z.ZodArray<z.ZodString>;
|
|
592
|
-
type ActorKey = z.infer<typeof ActorKeySchema>;
|
|
593
|
-
declare const CreateRequestSchema: z.ZodObject<{
|
|
594
|
-
name: z.ZodString;
|
|
595
|
-
key: z.ZodArray<z.ZodString>;
|
|
596
|
-
input: z.ZodOptional<z.ZodUnknown>;
|
|
597
|
-
region: z.ZodOptional<z.ZodString>;
|
|
598
|
-
}, z.core.$strip>;
|
|
599
|
-
declare const ActorQuerySchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
600
|
-
getForId: z.ZodObject<{
|
|
601
|
-
name: z.ZodString;
|
|
602
|
-
actorId: z.ZodString;
|
|
603
|
-
}, z.core.$strip>;
|
|
604
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
605
|
-
getForKey: z.ZodObject<{
|
|
606
|
-
name: z.ZodString;
|
|
607
|
-
key: z.ZodArray<z.ZodString>;
|
|
608
|
-
}, z.core.$strip>;
|
|
609
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
610
|
-
getOrCreateForKey: z.ZodObject<{
|
|
611
|
-
name: z.ZodString;
|
|
612
|
-
key: z.ZodArray<z.ZodString>;
|
|
613
|
-
input: z.ZodOptional<z.ZodUnknown>;
|
|
614
|
-
region: z.ZodOptional<z.ZodString>;
|
|
615
|
-
}, z.core.$strip>;
|
|
616
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
617
|
-
create: z.ZodObject<{
|
|
618
|
-
name: z.ZodString;
|
|
619
|
-
key: z.ZodArray<z.ZodString>;
|
|
620
|
-
input: z.ZodOptional<z.ZodUnknown>;
|
|
621
|
-
region: z.ZodOptional<z.ZodString>;
|
|
622
|
-
}, z.core.$strip>;
|
|
623
|
-
}, z.core.$strip>]>;
|
|
624
|
-
type ActorQuery = z.infer<typeof ActorQuerySchema>;
|
|
625
|
-
/**
|
|
626
|
-
* Interface representing a request to create a actor.
|
|
627
|
-
*/
|
|
628
|
-
type CreateRequest = z.infer<typeof CreateRequestSchema>;
|
|
629
805
|
|
|
630
806
|
interface ActorInspectorEmitterEvents {
|
|
631
807
|
stateUpdated: (state: unknown) => void;
|
|
@@ -661,6 +837,8 @@ declare class ActorInspector {
|
|
|
661
837
|
executeAction(name: string, params: ArrayBuffer): Promise<ArrayBuffer>;
|
|
662
838
|
getStateJson(): unknown;
|
|
663
839
|
setStateJson(state: unknown): Promise<void>;
|
|
840
|
+
getDatabaseSchemaJson(): Promise<unknown>;
|
|
841
|
+
getDatabaseTableRowsJson(table: string, limit: number, offset: number): Promise<unknown[]>;
|
|
664
842
|
getConnectionsJson(): {
|
|
665
843
|
id: string;
|
|
666
844
|
details: unknown;
|
|
@@ -981,6 +1159,7 @@ declare class ActorInstance<S, CP, CS, V, I, DB extends AnyDatabaseProvider, E e
|
|
|
981
1159
|
get inspector(): ActorInspector;
|
|
982
1160
|
get traces(): Traces<OtlpExportTraceServiceRequestJson>;
|
|
983
1161
|
get inspectorToken(): string | undefined;
|
|
1162
|
+
get metrics(): ActorMetrics;
|
|
984
1163
|
getCurrentTraceSpan(): SpanHandle | null;
|
|
985
1164
|
startTraceSpan(name: string, attributes?: Record<string, unknown>): SpanHandle;
|
|
986
1165
|
endTraceSpan(handle: SpanHandle, status?: SpanStatusInput): void;
|
|
@@ -989,6 +1168,7 @@ declare class ActorInstance<S, CP, CS, V, I, DB extends AnyDatabaseProvider, E e
|
|
|
989
1168
|
get conns(): Map<ConnId, Conn<S, CP, CS, V, I, DB, E, Q>>;
|
|
990
1169
|
get schedule(): Schedule;
|
|
991
1170
|
get abortSignal(): AbortSignal;
|
|
1171
|
+
get preventSleep(): boolean;
|
|
992
1172
|
get actions(): string[];
|
|
993
1173
|
get config(): ActorConfig<S, CP, CS, V, I, DB, E, Q>;
|
|
994
1174
|
get persist(): PersistedActor<S, I>;
|
|
@@ -1041,6 +1221,7 @@ declare class ActorInstance<S, CP, CS, V, I, DB extends AnyDatabaseProvider, E e
|
|
|
1041
1221
|
* Errors are propagated to the caller.
|
|
1042
1222
|
*/
|
|
1043
1223
|
keepAwake<T>(promise: Promise<T>): Promise<T>;
|
|
1224
|
+
setPreventSleep(prevent: boolean): void;
|
|
1044
1225
|
beginQueueWait(): void;
|
|
1045
1226
|
endQueueWait(): void;
|
|
1046
1227
|
resetSleepTimer(): void;
|
|
@@ -1305,19 +1486,24 @@ interface BaseActorConfig<TState, TConnParams, TConnState, TVars, TInput, TDatab
|
|
|
1305
1486
|
* - Custom workflow logic
|
|
1306
1487
|
*
|
|
1307
1488
|
* **Important:** The actor may go to sleep at any time during the `run`
|
|
1308
|
-
* handler. Use `c.
|
|
1309
|
-
*
|
|
1489
|
+
* handler. Use `c.setPreventSleep(true)` while work is active, then clear
|
|
1490
|
+
* it with `c.setPreventSleep(false)` once the actor can sleep again.
|
|
1310
1491
|
*
|
|
1311
1492
|
* The handler receives an abort signal via `c.abortSignal` and a
|
|
1312
1493
|
* `c.aborted` alias for loop checks. Use these to gracefully exit.
|
|
1313
1494
|
*
|
|
1314
|
-
* If this handler exits
|
|
1495
|
+
* If this handler exits, the actor will follow the normal idle sleep timeout
|
|
1496
|
+
* once it becomes idle.
|
|
1497
|
+
* If this handler throws, the actor logs the error and then sleeps once it
|
|
1498
|
+
* becomes idle.
|
|
1499
|
+
* Call `c.destroy()` explicitly if a run handler should destroy the actor.
|
|
1500
|
+
*
|
|
1315
1501
|
* On shutdown, the actor waits for this handler to complete with a
|
|
1316
1502
|
* configurable timeout (options.runStopTimeout, default 15s).
|
|
1317
1503
|
*
|
|
1318
1504
|
* Can be either a function or a RunConfig object with optional name/icon metadata.
|
|
1319
1505
|
*
|
|
1320
|
-
* @returns Void or a Promise.
|
|
1506
|
+
* @returns Void or a Promise.
|
|
1321
1507
|
*/
|
|
1322
1508
|
run?: ((c: RunContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>) => void | Promise<void>) | RunConfig<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>;
|
|
1323
1509
|
/**
|
|
@@ -1417,346 +1603,6 @@ type ActorDatabaseConfig<TDatabase extends AnyDatabaseProvider> = {
|
|
|
1417
1603
|
} | Record<never, never>;
|
|
1418
1604
|
type ActorConfig<TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TEvents extends EventSchemaConfig = Record<never, never>, TQueues extends QueueSchemaConfig = Record<never, never>> = Omit<z.infer<typeof ActorConfigSchema>, "actions" | "events" | "queues" | "onCreate" | "onDestroy" | "onWake" | "onSleep" | "run" | "onStateChange" | "onBeforeConnect" | "onConnect" | "onDisconnect" | "onBeforeActionResponse" | "onRequest" | "onWebSocket" | "state" | "createState" | "connState" | "createConnState" | "vars" | "createVars" | "db"> & BaseActorConfig<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues, Actions<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues>> & CreateState<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues> & CreateConnState<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues> & CreateVars<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TEvents, TQueues> & ActorDatabaseConfig<TDatabase>;
|
|
1419
1605
|
|
|
1420
|
-
type ManagerDriverBuilder = (config: RegistryConfig) => ManagerDriver;
|
|
1421
|
-
interface ManagerDriver {
|
|
1422
|
-
getForId(input: GetForIdInput): Promise<ActorOutput | undefined>;
|
|
1423
|
-
getWithKey(input: GetWithKeyInput): Promise<ActorOutput | undefined>;
|
|
1424
|
-
getOrCreateWithKey(input: GetOrCreateWithKeyInput): Promise<ActorOutput>;
|
|
1425
|
-
createActor(input: CreateInput): Promise<ActorOutput>;
|
|
1426
|
-
listActors(input: ListActorsInput): Promise<ActorOutput[]>;
|
|
1427
|
-
sendRequest(actorId: string, actorRequest: Request): Promise<Response>;
|
|
1428
|
-
openWebSocket(path: string, actorId: string, encoding: Encoding, params: unknown): Promise<UniversalWebSocket>;
|
|
1429
|
-
proxyRequest(c: Context, actorRequest: Request, actorId: string): Promise<Response>;
|
|
1430
|
-
proxyWebSocket(c: Context, path: string, actorId: string, encoding: Encoding, params: unknown): Promise<Response>;
|
|
1431
|
-
/**
|
|
1432
|
-
* Build a public gateway URL for a specific actor.
|
|
1433
|
-
*
|
|
1434
|
-
* This lives on the driver because the base endpoint varies by runtime.
|
|
1435
|
-
*/
|
|
1436
|
-
buildGatewayUrl(actorId: string): Promise<string>;
|
|
1437
|
-
displayInformation(): ManagerDisplayInformation;
|
|
1438
|
-
extraStartupLog?: () => Record<string, unknown>;
|
|
1439
|
-
modifyManagerRouter?: (config: RegistryConfig, router: Hono) => void;
|
|
1440
|
-
/**
|
|
1441
|
-
* Allows lazily setting getUpgradeWebSocket after the manager router has
|
|
1442
|
-
* been initialized.
|
|
1443
|
-
**/
|
|
1444
|
-
setGetUpgradeWebSocket(getUpgradeWebSocket: GetUpgradeWebSocket): void;
|
|
1445
|
-
/** Read a key. Returns null if the key doesn't exist. */
|
|
1446
|
-
kvGet(actorId: string, key: Uint8Array): Promise<string | null>;
|
|
1447
|
-
}
|
|
1448
|
-
interface ManagerDisplayInformation {
|
|
1449
|
-
properties: Record<string, string>;
|
|
1450
|
-
}
|
|
1451
|
-
interface GetForIdInput<E extends Env = any> {
|
|
1452
|
-
c?: Context | undefined;
|
|
1453
|
-
name: string;
|
|
1454
|
-
actorId: string;
|
|
1455
|
-
}
|
|
1456
|
-
interface GetWithKeyInput<E extends Env = any> {
|
|
1457
|
-
c?: Context | undefined;
|
|
1458
|
-
name: string;
|
|
1459
|
-
key: ActorKey;
|
|
1460
|
-
}
|
|
1461
|
-
interface GetOrCreateWithKeyInput<E extends Env = any> {
|
|
1462
|
-
c?: Context | undefined;
|
|
1463
|
-
name: string;
|
|
1464
|
-
key: ActorKey;
|
|
1465
|
-
input?: unknown;
|
|
1466
|
-
region?: string;
|
|
1467
|
-
}
|
|
1468
|
-
interface CreateInput<E extends Env = any> {
|
|
1469
|
-
c?: Context | undefined;
|
|
1470
|
-
name: string;
|
|
1471
|
-
key: ActorKey;
|
|
1472
|
-
input?: unknown;
|
|
1473
|
-
region?: string;
|
|
1474
|
-
}
|
|
1475
|
-
interface ListActorsInput<E extends Env = any> {
|
|
1476
|
-
c?: Context | undefined;
|
|
1477
|
-
name: string;
|
|
1478
|
-
key?: string;
|
|
1479
|
-
includeDestroyed?: boolean;
|
|
1480
|
-
}
|
|
1481
|
-
interface ActorOutput {
|
|
1482
|
-
actorId: string;
|
|
1483
|
-
name: string;
|
|
1484
|
-
key: ActorKey;
|
|
1485
|
-
createTs?: number;
|
|
1486
|
-
startTs?: number | null;
|
|
1487
|
-
connectableTs?: number | null;
|
|
1488
|
-
sleepTs?: number | null;
|
|
1489
|
-
destroyTs?: number | null;
|
|
1490
|
-
error?: unknown;
|
|
1491
|
-
}
|
|
1492
|
-
|
|
1493
|
-
type ActorDriverBuilder = (config: RegistryConfig, managerDriver: ManagerDriver, inlineClient: AnyClient) => ActorDriver;
|
|
1494
|
-
interface ActorDriver {
|
|
1495
|
-
loadActor(actorId: string): Promise<AnyActorInstance>;
|
|
1496
|
-
getContext(actorId: string): unknown;
|
|
1497
|
-
/** Batch write multiple key-value pairs. Keys and values are Uint8Arrays. */
|
|
1498
|
-
kvBatchPut(actorId: string, entries: [Uint8Array, Uint8Array][]): Promise<void>;
|
|
1499
|
-
/** Batch read multiple keys. Returns null for keys that don't exist. */
|
|
1500
|
-
kvBatchGet(actorId: string, keys: Uint8Array[]): Promise<(Uint8Array | null)[]>;
|
|
1501
|
-
/** Batch delete multiple keys. */
|
|
1502
|
-
kvBatchDelete(actorId: string, keys: Uint8Array[]): Promise<void>;
|
|
1503
|
-
/** List all keys with a given prefix. */
|
|
1504
|
-
kvListPrefix(actorId: string, prefix: Uint8Array): Promise<[Uint8Array, Uint8Array][]>;
|
|
1505
|
-
/** ActorInstance ensure that only one instance of setAlarm is called in parallel at a time. */
|
|
1506
|
-
setAlarm(actor: AnyActorInstance, timestamp: number): Promise<void>;
|
|
1507
|
-
/**
|
|
1508
|
-
* Override the default raw database client for the actor.
|
|
1509
|
-
* If not provided, rivetkit will construct a KV-backed SQLite client.
|
|
1510
|
-
* @experimental
|
|
1511
|
-
*/
|
|
1512
|
-
overrideRawDatabaseClient?(actorId: string): Promise<RawDatabaseClient | undefined>;
|
|
1513
|
-
/**
|
|
1514
|
-
* Override the default Drizzle database client for the actor.
|
|
1515
|
-
* If not provided, rivetkit will construct a KV-backed Drizzle client.
|
|
1516
|
-
* @experimental
|
|
1517
|
-
*/
|
|
1518
|
-
overrideDrizzleDatabaseClient?(actorId: string): Promise<BaseSQLiteDatabase<any, any, any, any> | undefined>;
|
|
1519
|
-
/**
|
|
1520
|
-
* Creates a SQLite VFS instance for creating KV-backed databases.
|
|
1521
|
-
* If not provided, the database provider will need an override.
|
|
1522
|
-
*
|
|
1523
|
-
* @rivetkit/sqlite's async build is not re-entrant per module instance. Drivers
|
|
1524
|
-
* should return a new instance per call for actor-level isolation.
|
|
1525
|
-
*
|
|
1526
|
-
* This is a method (not a property) so drivers can use dynamic imports,
|
|
1527
|
-
* keeping the core driver tree-shakeable from @rivetkit/sqlite.
|
|
1528
|
-
*/
|
|
1529
|
-
createSqliteVfs?(): SqliteVfs | Promise<SqliteVfs>;
|
|
1530
|
-
/**
|
|
1531
|
-
* Requests the actor to go to sleep.
|
|
1532
|
-
*
|
|
1533
|
-
* This will call `ActorInstance.onStop` independently.
|
|
1534
|
-
*/
|
|
1535
|
-
startSleep?(actorId: string): void;
|
|
1536
|
-
/**
|
|
1537
|
-
* Destroys the actor and its associated data.
|
|
1538
|
-
*
|
|
1539
|
-
* This will call `ActorInstance.onStop` independently.
|
|
1540
|
-
*/
|
|
1541
|
-
startDestroy(actorId: string): void;
|
|
1542
|
-
/**
|
|
1543
|
-
* Shuts down the actor runner.
|
|
1544
|
-
*/
|
|
1545
|
-
shutdownRunner?(immediate: boolean): Promise<void>;
|
|
1546
|
-
/** This handles the serverless start request. This should manage the lifecycle of the runner tied to the request lifecycle. */
|
|
1547
|
-
serverlessHandleStart?(c: Context): Promise<Response>;
|
|
1548
|
-
/** Extra properties to add to logs for each actor. */
|
|
1549
|
-
getExtraActorLogParams?(): Record<string, string>;
|
|
1550
|
-
onBeforeActorStart?(actor: AnyActorInstance): Promise<void>;
|
|
1551
|
-
onCreateConn?(conn: AnyConn): void;
|
|
1552
|
-
onDestroyConn?(conn: AnyConn): void;
|
|
1553
|
-
onBeforePersistConn?(conn: AnyConn): void;
|
|
1554
|
-
onAfterPersistConn?(conn: AnyConn): void;
|
|
1555
|
-
}
|
|
1556
|
-
|
|
1557
|
-
declare const ActorsSchema: z$1.ZodRecord<z$1.ZodString, z$1.ZodCustom<ActorDefinition<any, any, any, any, any, any, any, any, any>, ActorDefinition<any, any, any, any, any, any, any, any, any>>>;
|
|
1558
|
-
type RegistryActors = z$1.infer<typeof ActorsSchema>;
|
|
1559
|
-
declare const RegistryConfigSchema: z$1.ZodPipe<z$1.ZodObject<{
|
|
1560
|
-
use: z$1.ZodRecord<z$1.ZodString, z$1.ZodCustom<AnyActorDefinition, AnyActorDefinition>>;
|
|
1561
|
-
test: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodObject<{
|
|
1562
|
-
enabled: z$1.ZodBoolean;
|
|
1563
|
-
}, z$1.core.$strip>>>;
|
|
1564
|
-
driver: z$1.ZodOptional<z$1.ZodObject<{
|
|
1565
|
-
name: z$1.ZodString;
|
|
1566
|
-
displayName: z$1.ZodString;
|
|
1567
|
-
manager: z$1.ZodCustom<ManagerDriverBuilder, ManagerDriverBuilder>;
|
|
1568
|
-
actor: z$1.ZodCustom<ActorDriverBuilder, ActorDriverBuilder>;
|
|
1569
|
-
autoStartActorDriver: z$1.ZodBoolean;
|
|
1570
|
-
}, z$1.core.$strip>>;
|
|
1571
|
-
storagePath: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
|
|
1572
|
-
maxIncomingMessageSize: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodNumber>>;
|
|
1573
|
-
maxOutgoingMessageSize: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodNumber>>;
|
|
1574
|
-
noWelcome: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodBoolean>>;
|
|
1575
|
-
logging: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodObject<{
|
|
1576
|
-
baseLogger: z$1.ZodOptional<z$1.ZodCustom<Logger, Logger>>;
|
|
1577
|
-
level: z$1.ZodOptional<z$1.ZodEnum<{
|
|
1578
|
-
error: "error";
|
|
1579
|
-
trace: "trace";
|
|
1580
|
-
fatal: "fatal";
|
|
1581
|
-
warn: "warn";
|
|
1582
|
-
info: "info";
|
|
1583
|
-
debug: "debug";
|
|
1584
|
-
silent: "silent";
|
|
1585
|
-
}>>;
|
|
1586
|
-
}, z$1.core.$strip>>>;
|
|
1587
|
-
endpoint: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
|
|
1588
|
-
token: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
|
|
1589
|
-
namespace: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
|
|
1590
|
-
headers: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodString>>>;
|
|
1591
|
-
serveManager: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
1592
|
-
managerBasePath: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodString>>;
|
|
1593
|
-
managerPort: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodNumber>>;
|
|
1594
|
-
managerHost: z$1.ZodOptional<z$1.ZodString>;
|
|
1595
|
-
inspector: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodObject<{
|
|
1596
|
-
enabled: z$1.ZodDefault<z$1.ZodBoolean>;
|
|
1597
|
-
token: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodCustom<() => string, () => string>>>;
|
|
1598
|
-
defaultEndpoint: z$1.ZodOptional<z$1.ZodString>;
|
|
1599
|
-
}, z$1.core.$strip>>>;
|
|
1600
|
-
serverless: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodObject<{
|
|
1601
|
-
spawnEngine: z$1.ZodDefault<z$1.ZodBoolean>;
|
|
1602
|
-
engineVersion: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodString>>;
|
|
1603
|
-
configureRunnerPool: z$1.ZodOptional<z$1.ZodOptional<z$1.ZodObject<{
|
|
1604
|
-
name: z$1.ZodOptional<z$1.ZodString>;
|
|
1605
|
-
url: z$1.ZodString;
|
|
1606
|
-
headers: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodString>>;
|
|
1607
|
-
maxRunners: z$1.ZodOptional<z$1.ZodNumber>;
|
|
1608
|
-
minRunners: z$1.ZodOptional<z$1.ZodNumber>;
|
|
1609
|
-
requestLifespan: z$1.ZodOptional<z$1.ZodNumber>;
|
|
1610
|
-
runnersMargin: z$1.ZodOptional<z$1.ZodNumber>;
|
|
1611
|
-
slotsPerRunner: z$1.ZodOptional<z$1.ZodNumber>;
|
|
1612
|
-
metadata: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodUnknown>>;
|
|
1613
|
-
metadataPollInterval: z$1.ZodOptional<z$1.ZodNumber>;
|
|
1614
|
-
drainOnVersionUpgrade: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
1615
|
-
}, z$1.core.$strip>>>;
|
|
1616
|
-
basePath: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodString>>;
|
|
1617
|
-
publicEndpoint: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
|
|
1618
|
-
publicToken: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
|
|
1619
|
-
}, z$1.core.$strip>>>;
|
|
1620
|
-
runner: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodObject<{
|
|
1621
|
-
totalSlots: z$1.ZodDefault<z$1.ZodNumber>;
|
|
1622
|
-
runnerName: z$1.ZodDefault<z$1.ZodString>;
|
|
1623
|
-
runnerKey: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
|
|
1624
|
-
version: z$1.ZodDefault<z$1.ZodNumber>;
|
|
1625
|
-
}, z$1.core.$strip>>>;
|
|
1626
|
-
}, z$1.core.$strip>, z$1.ZodTransform<{
|
|
1627
|
-
endpoint: string | undefined;
|
|
1628
|
-
namespace: string;
|
|
1629
|
-
token: string | undefined;
|
|
1630
|
-
serveManager: boolean;
|
|
1631
|
-
publicEndpoint: string | undefined;
|
|
1632
|
-
publicNamespace: string | undefined;
|
|
1633
|
-
publicToken: string | undefined;
|
|
1634
|
-
inspector: {
|
|
1635
|
-
enabled: boolean;
|
|
1636
|
-
token: () => string;
|
|
1637
|
-
defaultEndpoint?: string | undefined;
|
|
1638
|
-
} | {
|
|
1639
|
-
enabled: {
|
|
1640
|
-
manager: boolean;
|
|
1641
|
-
actor: boolean;
|
|
1642
|
-
};
|
|
1643
|
-
token: () => string;
|
|
1644
|
-
defaultEndpoint?: string | undefined;
|
|
1645
|
-
};
|
|
1646
|
-
serverless: {
|
|
1647
|
-
publicEndpoint: string | undefined;
|
|
1648
|
-
spawnEngine: boolean;
|
|
1649
|
-
engineVersion: string;
|
|
1650
|
-
basePath: string;
|
|
1651
|
-
publicToken: string | undefined;
|
|
1652
|
-
configureRunnerPool?: {
|
|
1653
|
-
url: string;
|
|
1654
|
-
name?: string | undefined;
|
|
1655
|
-
headers?: Record<string, string> | undefined;
|
|
1656
|
-
maxRunners?: number | undefined;
|
|
1657
|
-
minRunners?: number | undefined;
|
|
1658
|
-
requestLifespan?: number | undefined;
|
|
1659
|
-
runnersMargin?: number | undefined;
|
|
1660
|
-
slotsPerRunner?: number | undefined;
|
|
1661
|
-
metadata?: Record<string, unknown> | undefined;
|
|
1662
|
-
metadataPollInterval?: number | undefined;
|
|
1663
|
-
drainOnVersionUpgrade?: boolean | undefined;
|
|
1664
|
-
} | undefined;
|
|
1665
|
-
};
|
|
1666
|
-
use: Record<string, AnyActorDefinition>;
|
|
1667
|
-
test: {
|
|
1668
|
-
enabled: boolean;
|
|
1669
|
-
};
|
|
1670
|
-
storagePath: string | undefined;
|
|
1671
|
-
maxIncomingMessageSize: number;
|
|
1672
|
-
maxOutgoingMessageSize: number;
|
|
1673
|
-
noWelcome: boolean;
|
|
1674
|
-
logging: {
|
|
1675
|
-
baseLogger?: Logger | undefined;
|
|
1676
|
-
level?: "error" | "trace" | "fatal" | "warn" | "info" | "debug" | "silent" | undefined;
|
|
1677
|
-
};
|
|
1678
|
-
headers: Record<string, string>;
|
|
1679
|
-
managerBasePath: string;
|
|
1680
|
-
managerPort: number;
|
|
1681
|
-
runner: {
|
|
1682
|
-
totalSlots: number;
|
|
1683
|
-
runnerName: string;
|
|
1684
|
-
runnerKey: string | undefined;
|
|
1685
|
-
version: number;
|
|
1686
|
-
};
|
|
1687
|
-
driver?: {
|
|
1688
|
-
name: string;
|
|
1689
|
-
displayName: string;
|
|
1690
|
-
manager: ManagerDriverBuilder;
|
|
1691
|
-
actor: ActorDriverBuilder;
|
|
1692
|
-
autoStartActorDriver: boolean;
|
|
1693
|
-
} | undefined;
|
|
1694
|
-
managerHost?: string | undefined;
|
|
1695
|
-
}, {
|
|
1696
|
-
use: Record<string, AnyActorDefinition>;
|
|
1697
|
-
test: {
|
|
1698
|
-
enabled: boolean;
|
|
1699
|
-
};
|
|
1700
|
-
storagePath: string | undefined;
|
|
1701
|
-
maxIncomingMessageSize: number;
|
|
1702
|
-
maxOutgoingMessageSize: number;
|
|
1703
|
-
noWelcome: boolean;
|
|
1704
|
-
logging: {
|
|
1705
|
-
baseLogger?: Logger | undefined;
|
|
1706
|
-
level?: "error" | "trace" | "fatal" | "warn" | "info" | "debug" | "silent" | undefined;
|
|
1707
|
-
};
|
|
1708
|
-
endpoint: string | undefined;
|
|
1709
|
-
token: string | undefined;
|
|
1710
|
-
namespace: string | undefined;
|
|
1711
|
-
headers: Record<string, string>;
|
|
1712
|
-
managerBasePath: string;
|
|
1713
|
-
managerPort: number;
|
|
1714
|
-
inspector: {
|
|
1715
|
-
enabled: boolean;
|
|
1716
|
-
token: () => string;
|
|
1717
|
-
defaultEndpoint?: string | undefined;
|
|
1718
|
-
};
|
|
1719
|
-
serverless: {
|
|
1720
|
-
spawnEngine: boolean;
|
|
1721
|
-
engineVersion: string;
|
|
1722
|
-
basePath: string;
|
|
1723
|
-
publicEndpoint: string | undefined;
|
|
1724
|
-
publicToken: string | undefined;
|
|
1725
|
-
configureRunnerPool?: {
|
|
1726
|
-
url: string;
|
|
1727
|
-
name?: string | undefined;
|
|
1728
|
-
headers?: Record<string, string> | undefined;
|
|
1729
|
-
maxRunners?: number | undefined;
|
|
1730
|
-
minRunners?: number | undefined;
|
|
1731
|
-
requestLifespan?: number | undefined;
|
|
1732
|
-
runnersMargin?: number | undefined;
|
|
1733
|
-
slotsPerRunner?: number | undefined;
|
|
1734
|
-
metadata?: Record<string, unknown> | undefined;
|
|
1735
|
-
metadataPollInterval?: number | undefined;
|
|
1736
|
-
drainOnVersionUpgrade?: boolean | undefined;
|
|
1737
|
-
} | undefined;
|
|
1738
|
-
};
|
|
1739
|
-
runner: {
|
|
1740
|
-
totalSlots: number;
|
|
1741
|
-
runnerName: string;
|
|
1742
|
-
runnerKey: string | undefined;
|
|
1743
|
-
version: number;
|
|
1744
|
-
};
|
|
1745
|
-
driver?: {
|
|
1746
|
-
name: string;
|
|
1747
|
-
displayName: string;
|
|
1748
|
-
manager: ManagerDriverBuilder;
|
|
1749
|
-
actor: ActorDriverBuilder;
|
|
1750
|
-
autoStartActorDriver: boolean;
|
|
1751
|
-
} | undefined;
|
|
1752
|
-
serveManager?: boolean | undefined;
|
|
1753
|
-
managerHost?: string | undefined;
|
|
1754
|
-
}>>;
|
|
1755
|
-
type RegistryConfig = z$1.infer<typeof RegistryConfigSchema>;
|
|
1756
|
-
type RegistryConfigInput<A extends RegistryActors> = Omit<z$1.input<typeof RegistryConfigSchema>, "use"> & {
|
|
1757
|
-
use: A;
|
|
1758
|
-
};
|
|
1759
|
-
|
|
1760
1606
|
type AnyActorDefinition = ActorDefinition<any, any, any, any, any, any, any, any, any>;
|
|
1761
1607
|
declare class ActorDefinition<S, CP, CS, V, I, DB extends AnyDatabaseProvider, E extends EventSchemaConfig = Record<never, never>, Q extends QueueSchemaConfig = Record<never, never>, R extends Actions<S, CP, CS, V, I, DB, E, Q> = Actions<S, CP, CS, V, I, DB, E, Q>> {
|
|
1762
1608
|
#private;
|
|
@@ -1765,6 +1611,21 @@ declare class ActorDefinition<S, CP, CS, V, I, DB extends AnyDatabaseProvider, E
|
|
|
1765
1611
|
instantiate(): ActorInstance<S, CP, CS, V, I, DB, E, Q>;
|
|
1766
1612
|
}
|
|
1767
1613
|
|
|
1614
|
+
interface QueueSendWaitOptions {
|
|
1615
|
+
wait: true;
|
|
1616
|
+
timeout?: number;
|
|
1617
|
+
signal?: AbortSignal;
|
|
1618
|
+
}
|
|
1619
|
+
interface QueueSendNoWaitOptions {
|
|
1620
|
+
wait?: false;
|
|
1621
|
+
timeout?: never;
|
|
1622
|
+
signal?: AbortSignal;
|
|
1623
|
+
}
|
|
1624
|
+
interface QueueSendResult<TResponse = unknown> {
|
|
1625
|
+
status: "completed" | "timedOut";
|
|
1626
|
+
response?: TResponse;
|
|
1627
|
+
}
|
|
1628
|
+
|
|
1768
1629
|
/**
|
|
1769
1630
|
* Action function returned by Actor connections and handles.
|
|
1770
1631
|
*
|
|
@@ -1781,6 +1642,23 @@ type ActorActionFunction<Args extends Array<unknown> = unknown[], Response = unk
|
|
|
1781
1642
|
type ActorDefinitionActions<AD extends AnyActorDefinition> = AD extends ActorDefinition<any, any, any, any, any, any, any, any, infer R> ? {
|
|
1782
1643
|
[K in keyof R]: R[K] extends (...args: infer Args) => infer Return ? ActorActionFunction<Args, Return> : never;
|
|
1783
1644
|
} : never;
|
|
1645
|
+
type ActorQueueSend<TQueues extends QueueSchemaConfig> = {
|
|
1646
|
+
<K extends keyof TQueues & string>(name: K, body: InferSchemaMap<TQueues>[K], options: QueueSendWaitOptions): Promise<QueueSendResult<InferQueueCompleteMap<TQueues>[K]>>;
|
|
1647
|
+
<K extends keyof TQueues & string>(name: K, body: InferSchemaMap<TQueues>[K], options?: QueueSendNoWaitOptions): Promise<void>;
|
|
1648
|
+
(name: keyof TQueues extends never ? string : never, body: unknown, options: QueueSendWaitOptions): Promise<QueueSendResult>;
|
|
1649
|
+
(name: keyof TQueues extends never ? string : never, body: unknown, options?: QueueSendNoWaitOptions): Promise<void>;
|
|
1650
|
+
};
|
|
1651
|
+
type ActorEventSubscribe<TEvents extends EventSchemaConfig> = {
|
|
1652
|
+
<K extends keyof TEvents & string>(eventName: K, callback: (...args: InferEventArgs<InferSchemaMap<TEvents>[K]>) => void): () => void;
|
|
1653
|
+
(eventName: keyof TEvents extends never ? string : never, callback: (...args: any[]) => void): () => void;
|
|
1654
|
+
};
|
|
1655
|
+
type ActorDefinitionQueueSend<AD extends AnyActorDefinition> = AD extends ActorDefinition<any, any, any, any, any, any, any, infer Q, any> ? Q extends QueueSchemaConfig ? {
|
|
1656
|
+
send: ActorQueueSend<Q>;
|
|
1657
|
+
} : never : never;
|
|
1658
|
+
type ActorDefinitionEventSubscriptions<AD extends AnyActorDefinition> = AD extends ActorDefinition<any, any, any, any, any, any, infer E, any, any> ? E extends EventSchemaConfig ? {
|
|
1659
|
+
on: ActorEventSubscribe<E>;
|
|
1660
|
+
once: ActorEventSubscribe<E>;
|
|
1661
|
+
} : never : never;
|
|
1784
1662
|
|
|
1785
1663
|
declare class ActorClientError extends Error {
|
|
1786
1664
|
}
|
|
@@ -1803,21 +1681,6 @@ declare class ActorConnDisposed extends ActorClientError {
|
|
|
1803
1681
|
constructor();
|
|
1804
1682
|
}
|
|
1805
1683
|
|
|
1806
|
-
interface QueueSendWaitOptions {
|
|
1807
|
-
wait: true;
|
|
1808
|
-
timeout?: number;
|
|
1809
|
-
signal?: AbortSignal;
|
|
1810
|
-
}
|
|
1811
|
-
interface QueueSendNoWaitOptions {
|
|
1812
|
-
wait?: false;
|
|
1813
|
-
timeout?: never;
|
|
1814
|
-
signal?: AbortSignal;
|
|
1815
|
-
}
|
|
1816
|
-
interface QueueSendResult {
|
|
1817
|
-
status: "completed" | "timedOut";
|
|
1818
|
-
response?: unknown;
|
|
1819
|
-
}
|
|
1820
|
-
|
|
1821
1684
|
/**
|
|
1822
1685
|
* Connection status for an actor connection.
|
|
1823
1686
|
*
|
|
@@ -1866,7 +1729,7 @@ declare class ActorConnRaw {
|
|
|
1866
1729
|
*
|
|
1867
1730
|
* @protected
|
|
1868
1731
|
*/
|
|
1869
|
-
constructor(client: ClientRaw, driver: ManagerDriver, params: unknown, encoding: Encoding, actorQuery: ActorQuery);
|
|
1732
|
+
constructor(client: ClientRaw, driver: ManagerDriver, params: unknown, getParams: (() => Promise<unknown>) | undefined, encoding: Encoding, actorQuery: ActorQuery);
|
|
1870
1733
|
send(name: string, body: unknown, options: QueueSendWaitOptions): Promise<QueueSendResult>;
|
|
1871
1734
|
send(name: string, body: unknown, options?: QueueSendNoWaitOptions): Promise<void>;
|
|
1872
1735
|
/**
|
|
@@ -1981,7 +1844,7 @@ declare class ActorConnRaw {
|
|
|
1981
1844
|
* @template AD The actor class that this connection is for.
|
|
1982
1845
|
* @see {@link ActorConnRaw}
|
|
1983
1846
|
*/
|
|
1984
|
-
type ActorConn<AD extends AnyActorDefinition> = ActorConnRaw & ActorDefinitionActions<AD>;
|
|
1847
|
+
type ActorConn<AD extends AnyActorDefinition> = Omit<ActorConnRaw, "send" | "on" | "once"> & ActorDefinitionQueueSend<AD> & ActorDefinitionEventSubscriptions<AD> & ActorDefinitionActions<AD>;
|
|
1985
1848
|
|
|
1986
1849
|
/**
|
|
1987
1850
|
* Provides underlying functions for stateless {@link ActorHandle} for action calls.
|
|
@@ -1998,7 +1861,7 @@ declare class ActorHandleRaw {
|
|
|
1998
1861
|
*
|
|
1999
1862
|
* @protected
|
|
2000
1863
|
*/
|
|
2001
|
-
constructor(client: any, driver: ManagerDriver, params: unknown, encoding: Encoding, actorQuery: ActorQuery);
|
|
1864
|
+
constructor(client: any, driver: ManagerDriver, params: unknown, getParams: (() => Promise<unknown>) | undefined, encoding: Encoding, actorQuery: ActorQuery);
|
|
2002
1865
|
send(name: string, body: unknown, options: QueueSendWaitOptions): Promise<QueueSendResult>;
|
|
2003
1866
|
send(name: string, body: unknown, options?: QueueSendNoWaitOptions): Promise<void>;
|
|
2004
1867
|
/**
|
|
@@ -2054,26 +1917,26 @@ declare class ActorHandleRaw {
|
|
|
2054
1917
|
* @template AD The actor class that this handle is for.
|
|
2055
1918
|
* @see {@link ActorHandleRaw}
|
|
2056
1919
|
*/
|
|
2057
|
-
type ActorHandle<AD extends AnyActorDefinition> = Omit<ActorHandleRaw, "connect"> & {
|
|
1920
|
+
type ActorHandle<AD extends AnyActorDefinition> = Omit<ActorHandleRaw, "connect" | "send"> & {
|
|
2058
1921
|
connect(): ActorConn<AD>;
|
|
2059
1922
|
resolve(): Promise<string>;
|
|
2060
|
-
} & ActorDefinitionActions<AD>;
|
|
1923
|
+
} & ActorDefinitionQueueSend<AD> & ActorDefinitionActions<AD>;
|
|
2061
1924
|
|
|
2062
|
-
declare const ClientConfigSchema: z$
|
|
2063
|
-
endpoint: z$
|
|
2064
|
-
token: z$
|
|
2065
|
-
namespace: z$
|
|
2066
|
-
runnerName: z$
|
|
2067
|
-
encoding: z$
|
|
1925
|
+
declare const ClientConfigSchema: z$1.ZodPipe<z$1.ZodObject<{
|
|
1926
|
+
endpoint: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string, string | undefined>>;
|
|
1927
|
+
token: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
|
|
1928
|
+
namespace: z$1.ZodPipe<z$1.ZodOptional<z$1.ZodString>, z$1.ZodTransform<string | undefined, string | undefined>>;
|
|
1929
|
+
runnerName: z$1.ZodDefault<z$1.ZodString>;
|
|
1930
|
+
encoding: z$1.ZodDefault<z$1.ZodEnum<{
|
|
2068
1931
|
json: "json";
|
|
2069
1932
|
cbor: "cbor";
|
|
2070
1933
|
bare: "bare";
|
|
2071
1934
|
}>>;
|
|
2072
|
-
headers: z$
|
|
2073
|
-
getUpgradeWebSocket: z$
|
|
2074
|
-
disableMetadataLookup: z$
|
|
2075
|
-
devtools: z$
|
|
2076
|
-
}, z$
|
|
1935
|
+
headers: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodString>>>;
|
|
1936
|
+
getUpgradeWebSocket: z$1.ZodOptional<z$1.ZodCustom<GetUpgradeWebSocket, GetUpgradeWebSocket>>;
|
|
1937
|
+
disableMetadataLookup: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodBoolean>>;
|
|
1938
|
+
devtools: z$1.ZodDefault<z$1.ZodBoolean>;
|
|
1939
|
+
}, z$1.core.$strip>, z$1.ZodTransform<{
|
|
2077
1940
|
endpoint: string | undefined;
|
|
2078
1941
|
namespace: string;
|
|
2079
1942
|
token: string | undefined;
|
|
@@ -2094,7 +1957,7 @@ declare const ClientConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
|
2094
1957
|
devtools: boolean;
|
|
2095
1958
|
getUpgradeWebSocket?: GetUpgradeWebSocket | undefined;
|
|
2096
1959
|
}>>;
|
|
2097
|
-
type ClientConfigInput = z$
|
|
1960
|
+
type ClientConfigInput = z$1.input<typeof ClientConfigSchema>;
|
|
2098
1961
|
|
|
2099
1962
|
/** Extract the actor registry from the registry definition. */
|
|
2100
1963
|
type ExtractActorsFromRegistry<A extends Registry<any>> = A extends Registry<infer Actors> ? Actors : never;
|
|
@@ -2152,6 +2015,11 @@ interface ActorAccessor<AD extends AnyActorDefinition> {
|
|
|
2152
2015
|
interface QueryOptions {
|
|
2153
2016
|
/** Parameters to pass to the connection. */
|
|
2154
2017
|
params?: unknown;
|
|
2018
|
+
/**
|
|
2019
|
+
* Lazily resolves connection parameters for `.connect()` and `.webSocket()`.
|
|
2020
|
+
* This is called each time a new connection is opened.
|
|
2021
|
+
*/
|
|
2022
|
+
getParams?: () => Promise<unknown>;
|
|
2155
2023
|
/** Signal to abort the request. */
|
|
2156
2024
|
signal?: AbortSignal;
|
|
2157
2025
|
}
|
|
@@ -2282,34 +2150,104 @@ type Client<A extends Registry<any>> = ClientRaw & {
|
|
|
2282
2150
|
};
|
|
2283
2151
|
type AnyClient = Client<Registry<any>>;
|
|
2284
2152
|
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
2153
|
+
type ActorDriverBuilder = (config: RegistryConfig, managerDriver: ManagerDriver, inlineClient: AnyClient) => ActorDriver;
|
|
2154
|
+
interface ActorDriver {
|
|
2155
|
+
loadActor(actorId: string): Promise<AnyActorInstance>;
|
|
2156
|
+
getContext(actorId: string): unknown;
|
|
2157
|
+
/** Batch write multiple key-value pairs. Keys and values are Uint8Arrays. */
|
|
2158
|
+
kvBatchPut(actorId: string, entries: [Uint8Array, Uint8Array][]): Promise<void>;
|
|
2159
|
+
/** Batch read multiple keys. Returns null for keys that don't exist. */
|
|
2160
|
+
kvBatchGet(actorId: string, keys: Uint8Array[]): Promise<(Uint8Array | null)[]>;
|
|
2161
|
+
/** Batch delete multiple keys. */
|
|
2162
|
+
kvBatchDelete(actorId: string, keys: Uint8Array[]): Promise<void>;
|
|
2163
|
+
/** Delete all keys in the half-open range [start, end). */
|
|
2164
|
+
kvDeleteRange(actorId: string, start: Uint8Array, end: Uint8Array): Promise<void>;
|
|
2165
|
+
/** List all keys with a given prefix. */
|
|
2166
|
+
kvListPrefix(actorId: string, prefix: Uint8Array, options?: {
|
|
2167
|
+
reverse?: boolean;
|
|
2168
|
+
limit?: number;
|
|
2169
|
+
}): Promise<[Uint8Array, Uint8Array][]>;
|
|
2170
|
+
/** List all keys in the half-open range [start, end). */
|
|
2171
|
+
kvListRange(actorId: string, start: Uint8Array, end: Uint8Array, options?: {
|
|
2172
|
+
reverse?: boolean;
|
|
2173
|
+
limit?: number;
|
|
2174
|
+
}): Promise<[Uint8Array, Uint8Array][]>;
|
|
2175
|
+
/** ActorInstance ensure that only one instance of setAlarm is called in parallel at a time. */
|
|
2176
|
+
setAlarm(actor: AnyActorInstance, timestamp: number): Promise<void>;
|
|
2177
|
+
/**
|
|
2178
|
+
* Override the default raw database client for the actor.
|
|
2179
|
+
* If not provided, rivetkit will construct a KV-backed SQLite client.
|
|
2180
|
+
* @experimental
|
|
2181
|
+
*/
|
|
2182
|
+
overrideRawDatabaseClient?(actorId: string): Promise<RawDatabaseClient | undefined>;
|
|
2183
|
+
/**
|
|
2184
|
+
* Override the default Drizzle database client for the actor.
|
|
2185
|
+
* If not provided, rivetkit will construct a KV-backed Drizzle client.
|
|
2186
|
+
* @experimental
|
|
2187
|
+
*/
|
|
2188
|
+
overrideDrizzleDatabaseClient?(actorId: string): Promise<BaseSQLiteDatabase<any, any, any, any> | undefined>;
|
|
2189
|
+
/**
|
|
2190
|
+
* Creates a SQLite VFS instance for creating KV-backed databases.
|
|
2191
|
+
* If not provided, the database provider will need an override.
|
|
2192
|
+
*
|
|
2193
|
+
* Drivers may use the actorId for pool-based instance assignment.
|
|
2194
|
+
*
|
|
2195
|
+
* This is a method (not a property) so drivers can use dynamic imports,
|
|
2196
|
+
* keeping the core driver tree-shakeable from @rivetkit/sqlite.
|
|
2197
|
+
*/
|
|
2198
|
+
createSqliteVfs?(actorId: string): ISqliteVfs | Promise<ISqliteVfs>;
|
|
2199
|
+
/**
|
|
2200
|
+
* Requests the actor to go to sleep.
|
|
2201
|
+
*
|
|
2202
|
+
* This will call `ActorInstance.onStop` independently.
|
|
2203
|
+
*/
|
|
2204
|
+
startSleep?(actorId: string): void;
|
|
2205
|
+
/**
|
|
2206
|
+
* Destroys the actor and its associated data.
|
|
2207
|
+
*
|
|
2208
|
+
* This will call `ActorInstance.onStop` independently.
|
|
2209
|
+
*/
|
|
2210
|
+
startDestroy(actorId: string): void;
|
|
2211
|
+
/**
|
|
2212
|
+
* Shuts down the actor runner.
|
|
2213
|
+
*/
|
|
2214
|
+
shutdownRunner?(immediate: boolean): Promise<void>;
|
|
2215
|
+
/** This handles the serverless start request. This should manage the lifecycle of the runner tied to the request lifecycle. */
|
|
2216
|
+
serverlessHandleStart?(c: Context): Promise<Response>;
|
|
2217
|
+
/** Extra properties to add to logs for each actor. */
|
|
2218
|
+
getExtraActorLogParams?(): Record<string, string>;
|
|
2219
|
+
onBeforeActorStart?(actor: AnyActorInstance): Promise<void>;
|
|
2220
|
+
onCreateConn?(conn: AnyConn): void;
|
|
2221
|
+
onDestroyConn?(conn: AnyConn): void;
|
|
2222
|
+
onBeforePersistConn?(conn: AnyConn): void;
|
|
2223
|
+
onAfterPersistConn?(conn: AnyConn): void;
|
|
2224
|
+
}
|
|
2225
|
+
|
|
2226
|
+
declare const ActorsSchema: z$2.ZodRecord<z$2.ZodString, z$2.ZodCustom<ActorDefinition<any, any, any, any, any, any, any, any, any>, ActorDefinition<any, any, any, any, any, any, any, any, any>>>;
|
|
2227
|
+
type RegistryActors = z$2.infer<typeof ActorsSchema>;
|
|
2228
|
+
declare const RegistryConfigSchema: z$2.ZodPipe<z$2.ZodObject<{
|
|
2229
|
+
use: z$2.ZodRecord<z$2.ZodString, z$2.ZodCustom<AnyActorDefinition, AnyActorDefinition>>;
|
|
2230
|
+
test: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodObject<{
|
|
2231
|
+
enabled: z$2.ZodBoolean;
|
|
2232
|
+
}, z$2.core.$strip>>>;
|
|
2233
|
+
driver: z$2.ZodOptional<z$2.ZodObject<{
|
|
2234
|
+
name: z$2.ZodString;
|
|
2235
|
+
displayName: z$2.ZodString;
|
|
2236
|
+
manager: z$2.ZodCustom<ManagerDriverBuilder, ManagerDriverBuilder>;
|
|
2237
|
+
actor: z$2.ZodCustom<ActorDriverBuilder, ActorDriverBuilder>;
|
|
2238
|
+
autoStartActorDriver: z$2.ZodBoolean;
|
|
2239
|
+
}, z$2.core.$strip>>;
|
|
2240
|
+
storagePath: z$2.ZodPipe<z$2.ZodOptional<z$2.ZodString>, z$2.ZodTransform<string | undefined, string | undefined>>;
|
|
2241
|
+
sqlitePool: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodObject<{
|
|
2242
|
+
actorsPerInstance: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodNumber>>;
|
|
2243
|
+
idleDestroyMs: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodNumber>>;
|
|
2244
|
+
}, z$2.core.$strip>>>;
|
|
2245
|
+
maxIncomingMessageSize: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodNumber>>;
|
|
2246
|
+
maxOutgoingMessageSize: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodNumber>>;
|
|
2247
|
+
noWelcome: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodBoolean>>;
|
|
2248
|
+
logging: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodObject<{
|
|
2249
|
+
baseLogger: z$2.ZodOptional<z$2.ZodCustom<Logger, Logger>>;
|
|
2250
|
+
level: z$2.ZodOptional<z$2.ZodEnum<{
|
|
2313
2251
|
error: "error";
|
|
2314
2252
|
trace: "trace";
|
|
2315
2253
|
fatal: "fatal";
|
|
@@ -2318,139 +2256,195 @@ declare const LegacyRunnerConfigSchema: z.ZodDefault<z.ZodPipe<z.ZodObject<{
|
|
|
2318
2256
|
debug: "debug";
|
|
2319
2257
|
silent: "silent";
|
|
2320
2258
|
}>>;
|
|
2321
|
-
}, z.core.$strip>>>;
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
|
|
2334
|
-
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2259
|
+
}, z$2.core.$strip>>>;
|
|
2260
|
+
endpoint: z$2.ZodPipe<z$2.ZodOptional<z$2.ZodString>, z$2.ZodTransform<string | undefined, string | undefined>>;
|
|
2261
|
+
token: z$2.ZodPipe<z$2.ZodOptional<z$2.ZodString>, z$2.ZodTransform<string | undefined, string | undefined>>;
|
|
2262
|
+
namespace: z$2.ZodPipe<z$2.ZodOptional<z$2.ZodString>, z$2.ZodTransform<string | undefined, string | undefined>>;
|
|
2263
|
+
headers: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodRecord<z$2.ZodString, z$2.ZodString>>>;
|
|
2264
|
+
serveManager: z$2.ZodOptional<z$2.ZodBoolean>;
|
|
2265
|
+
publicDir: z$2.ZodOptional<z$2.ZodString>;
|
|
2266
|
+
managerBasePath: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodString>>;
|
|
2267
|
+
managerPort: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodNumber>>;
|
|
2268
|
+
managerHost: z$2.ZodOptional<z$2.ZodString>;
|
|
2269
|
+
inspector: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodObject<{
|
|
2270
|
+
enabled: z$2.ZodDefault<z$2.ZodBoolean>;
|
|
2271
|
+
token: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodCustom<() => string, () => string>>>;
|
|
2272
|
+
defaultEndpoint: z$2.ZodOptional<z$2.ZodString>;
|
|
2273
|
+
}, z$2.core.$strip>>>;
|
|
2274
|
+
serverless: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodObject<{
|
|
2275
|
+
spawnEngine: z$2.ZodDefault<z$2.ZodBoolean>;
|
|
2276
|
+
engineVersion: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodString>>;
|
|
2277
|
+
configureRunnerPool: z$2.ZodOptional<z$2.ZodOptional<z$2.ZodObject<{
|
|
2278
|
+
name: z$2.ZodOptional<z$2.ZodString>;
|
|
2279
|
+
url: z$2.ZodString;
|
|
2280
|
+
headers: z$2.ZodOptional<z$2.ZodRecord<z$2.ZodString, z$2.ZodString>>;
|
|
2281
|
+
maxRunners: z$2.ZodOptional<z$2.ZodNumber>;
|
|
2282
|
+
minRunners: z$2.ZodOptional<z$2.ZodNumber>;
|
|
2283
|
+
requestLifespan: z$2.ZodOptional<z$2.ZodNumber>;
|
|
2284
|
+
runnersMargin: z$2.ZodOptional<z$2.ZodNumber>;
|
|
2285
|
+
slotsPerRunner: z$2.ZodOptional<z$2.ZodNumber>;
|
|
2286
|
+
metadata: z$2.ZodOptional<z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>>;
|
|
2287
|
+
metadataPollInterval: z$2.ZodOptional<z$2.ZodNumber>;
|
|
2288
|
+
drainOnVersionUpgrade: z$2.ZodOptional<z$2.ZodBoolean>;
|
|
2289
|
+
}, z$2.core.$strip>>>;
|
|
2290
|
+
basePath: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodString>>;
|
|
2291
|
+
publicEndpoint: z$2.ZodPipe<z$2.ZodOptional<z$2.ZodString>, z$2.ZodTransform<string | undefined, string | undefined>>;
|
|
2292
|
+
publicToken: z$2.ZodPipe<z$2.ZodOptional<z$2.ZodString>, z$2.ZodTransform<string | undefined, string | undefined>>;
|
|
2293
|
+
}, z$2.core.$strip>>>;
|
|
2294
|
+
runner: z$2.ZodDefault<z$2.ZodOptional<z$2.ZodObject<{
|
|
2295
|
+
totalSlots: z$2.ZodDefault<z$2.ZodNumber>;
|
|
2296
|
+
runnerName: z$2.ZodDefault<z$2.ZodString>;
|
|
2297
|
+
runnerKey: z$2.ZodOptional<z$2.ZodString>;
|
|
2298
|
+
version: z$2.ZodDefault<z$2.ZodNumber>;
|
|
2299
|
+
}, z$2.core.$strip>>>;
|
|
2300
|
+
}, z$2.core.$strip>, z$2.ZodTransform<{
|
|
2349
2301
|
endpoint: string | undefined;
|
|
2350
2302
|
namespace: string;
|
|
2351
2303
|
token: string | undefined;
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
devtools: boolean;
|
|
2357
|
-
getUpgradeWebSocket?: GetUpgradeWebSocket | undefined;
|
|
2358
|
-
maxIncomingMessageSize: number;
|
|
2359
|
-
maxOutgoingMessageSize: number;
|
|
2304
|
+
serveManager: boolean;
|
|
2305
|
+
publicEndpoint: string | undefined;
|
|
2306
|
+
publicNamespace: string | undefined;
|
|
2307
|
+
publicToken: string | undefined;
|
|
2360
2308
|
inspector: {
|
|
2361
2309
|
enabled: boolean;
|
|
2362
2310
|
token: () => string;
|
|
2363
2311
|
defaultEndpoint?: string | undefined;
|
|
2312
|
+
} | {
|
|
2313
|
+
enabled: {
|
|
2314
|
+
manager: boolean;
|
|
2315
|
+
actor: boolean;
|
|
2316
|
+
};
|
|
2317
|
+
token: () => string;
|
|
2318
|
+
defaultEndpoint?: string | undefined;
|
|
2364
2319
|
};
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2320
|
+
serverless: {
|
|
2321
|
+
publicEndpoint: string | undefined;
|
|
2322
|
+
spawnEngine: boolean;
|
|
2323
|
+
engineVersion: string;
|
|
2324
|
+
basePath: string;
|
|
2325
|
+
publicToken: string | undefined;
|
|
2326
|
+
configureRunnerPool?: {
|
|
2327
|
+
url: string;
|
|
2328
|
+
name?: string | undefined;
|
|
2329
|
+
headers?: Record<string, string> | undefined;
|
|
2330
|
+
maxRunners?: number | undefined;
|
|
2331
|
+
minRunners?: number | undefined;
|
|
2332
|
+
requestLifespan?: number | undefined;
|
|
2333
|
+
runnersMargin?: number | undefined;
|
|
2334
|
+
slotsPerRunner?: number | undefined;
|
|
2335
|
+
metadata?: Record<string, unknown> | undefined;
|
|
2336
|
+
metadataPollInterval?: number | undefined;
|
|
2337
|
+
drainOnVersionUpgrade?: boolean | undefined;
|
|
2338
|
+
} | undefined;
|
|
2339
|
+
};
|
|
2340
|
+
use: Record<string, AnyActorDefinition>;
|
|
2341
|
+
test: {
|
|
2342
|
+
enabled: boolean;
|
|
2343
|
+
};
|
|
2344
|
+
storagePath: string | undefined;
|
|
2345
|
+
sqlitePool: {
|
|
2346
|
+
actorsPerInstance: number;
|
|
2347
|
+
idleDestroyMs: number;
|
|
2348
|
+
};
|
|
2349
|
+
maxIncomingMessageSize: number;
|
|
2350
|
+
maxOutgoingMessageSize: number;
|
|
2372
2351
|
noWelcome: boolean;
|
|
2373
2352
|
logging: {
|
|
2374
2353
|
baseLogger?: Logger | undefined;
|
|
2375
2354
|
level?: "error" | "trace" | "fatal" | "warn" | "info" | "debug" | "silent" | undefined;
|
|
2376
2355
|
};
|
|
2377
|
-
|
|
2356
|
+
headers: Record<string, string>;
|
|
2357
|
+
managerBasePath: string;
|
|
2358
|
+
managerPort: number;
|
|
2359
|
+
runner: {
|
|
2360
|
+
totalSlots: number;
|
|
2361
|
+
runnerName: string;
|
|
2362
|
+
version: number;
|
|
2363
|
+
runnerKey?: string | undefined;
|
|
2364
|
+
};
|
|
2378
2365
|
driver?: {
|
|
2379
2366
|
name: string;
|
|
2367
|
+
displayName: string;
|
|
2380
2368
|
manager: ManagerDriverBuilder;
|
|
2381
2369
|
actor: ActorDriverBuilder;
|
|
2370
|
+
autoStartActorDriver: boolean;
|
|
2382
2371
|
} | undefined;
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
url?: string | undefined;
|
|
2386
|
-
headers?: Record<string, string> | undefined;
|
|
2387
|
-
maxRunners?: number | undefined;
|
|
2388
|
-
minRunners?: number | undefined;
|
|
2389
|
-
requestLifespan?: number | undefined;
|
|
2390
|
-
runnersMargin?: number | undefined;
|
|
2391
|
-
slotsPerRunner?: number | undefined;
|
|
2392
|
-
metadata?: Record<string, unknown> | undefined;
|
|
2393
|
-
} | undefined;
|
|
2372
|
+
publicDir?: string | undefined;
|
|
2373
|
+
managerHost?: string | undefined;
|
|
2394
2374
|
}, {
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
inspector: {
|
|
2375
|
+
use: Record<string, AnyActorDefinition>;
|
|
2376
|
+
test: {
|
|
2398
2377
|
enabled: boolean;
|
|
2399
|
-
token: () => string;
|
|
2400
|
-
defaultEndpoint?: string | undefined;
|
|
2401
2378
|
};
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2379
|
+
storagePath: string | undefined;
|
|
2380
|
+
sqlitePool: {
|
|
2381
|
+
actorsPerInstance: number;
|
|
2382
|
+
idleDestroyMs: number;
|
|
2383
|
+
};
|
|
2384
|
+
maxIncomingMessageSize: number;
|
|
2385
|
+
maxOutgoingMessageSize: number;
|
|
2409
2386
|
noWelcome: boolean;
|
|
2410
2387
|
logging: {
|
|
2411
2388
|
baseLogger?: Logger | undefined;
|
|
2412
2389
|
level?: "error" | "trace" | "fatal" | "warn" | "info" | "debug" | "silent" | undefined;
|
|
2413
2390
|
};
|
|
2414
|
-
endpoint: string;
|
|
2391
|
+
endpoint: string | undefined;
|
|
2415
2392
|
token: string | undefined;
|
|
2416
2393
|
namespace: string | undefined;
|
|
2417
|
-
runnerName: string;
|
|
2418
|
-
encoding: "json" | "cbor" | "bare";
|
|
2419
2394
|
headers: Record<string, string>;
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2395
|
+
managerBasePath: string;
|
|
2396
|
+
managerPort: number;
|
|
2397
|
+
inspector: {
|
|
2398
|
+
enabled: boolean;
|
|
2399
|
+
token: () => string;
|
|
2400
|
+
defaultEndpoint?: string | undefined;
|
|
2401
|
+
};
|
|
2402
|
+
serverless: {
|
|
2403
|
+
spawnEngine: boolean;
|
|
2404
|
+
engineVersion: string;
|
|
2405
|
+
basePath: string;
|
|
2406
|
+
publicEndpoint: string | undefined;
|
|
2407
|
+
publicToken: string | undefined;
|
|
2408
|
+
configureRunnerPool?: {
|
|
2409
|
+
url: string;
|
|
2410
|
+
name?: string | undefined;
|
|
2411
|
+
headers?: Record<string, string> | undefined;
|
|
2412
|
+
maxRunners?: number | undefined;
|
|
2413
|
+
minRunners?: number | undefined;
|
|
2414
|
+
requestLifespan?: number | undefined;
|
|
2415
|
+
runnersMargin?: number | undefined;
|
|
2416
|
+
slotsPerRunner?: number | undefined;
|
|
2417
|
+
metadata?: Record<string, unknown> | undefined;
|
|
2418
|
+
metadataPollInterval?: number | undefined;
|
|
2419
|
+
drainOnVersionUpgrade?: boolean | undefined;
|
|
2420
|
+
} | undefined;
|
|
2421
|
+
};
|
|
2422
|
+
runner: {
|
|
2423
|
+
totalSlots: number;
|
|
2424
|
+
runnerName: string;
|
|
2425
|
+
version: number;
|
|
2426
|
+
runnerKey?: string | undefined;
|
|
2427
|
+
};
|
|
2424
2428
|
driver?: {
|
|
2425
2429
|
name: string;
|
|
2430
|
+
displayName: string;
|
|
2426
2431
|
manager: ManagerDriverBuilder;
|
|
2427
2432
|
actor: ActorDriverBuilder;
|
|
2433
|
+
autoStartActorDriver: boolean;
|
|
2428
2434
|
} | undefined;
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
slotsPerRunner?: number | undefined;
|
|
2438
|
-
metadata?: Record<string, unknown> | undefined;
|
|
2439
|
-
} | undefined;
|
|
2440
|
-
getUpgradeWebSocket?: GetUpgradeWebSocket | undefined;
|
|
2441
|
-
}>>>;
|
|
2442
|
-
type LegacyRunnerConfigInput = z.input<typeof LegacyRunnerConfigSchema>;
|
|
2435
|
+
serveManager?: boolean | undefined;
|
|
2436
|
+
publicDir?: string | undefined;
|
|
2437
|
+
managerHost?: string | undefined;
|
|
2438
|
+
}>>;
|
|
2439
|
+
type RegistryConfig = z$2.infer<typeof RegistryConfigSchema>;
|
|
2440
|
+
type RegistryConfigInput<A extends RegistryActors> = Omit<z$2.input<typeof RegistryConfigSchema>, "use"> & {
|
|
2441
|
+
use: A;
|
|
2442
|
+
};
|
|
2443
2443
|
|
|
2444
2444
|
type FetchHandler = (request: Request, ...args: any) => Response | Promise<Response>;
|
|
2445
2445
|
interface ServerlessHandler {
|
|
2446
2446
|
fetch: FetchHandler;
|
|
2447
2447
|
}
|
|
2448
|
-
interface LegacyStartServerOutput<A extends Registry<any>> {
|
|
2449
|
-
/** Client to communicate with the actors. */
|
|
2450
|
-
client: Client<A>;
|
|
2451
|
-
/** Fetch handler to manually route requests to the Rivet manager API. */
|
|
2452
|
-
fetch: FetchHandler;
|
|
2453
|
-
}
|
|
2454
2448
|
declare class Registry<A extends RegistryActors> {
|
|
2455
2449
|
#private;
|
|
2456
2450
|
get config(): RegistryConfigInput<A>;
|
|
@@ -2481,11 +2475,22 @@ declare class Registry<A extends RegistryActors> {
|
|
|
2481
2475
|
*/
|
|
2482
2476
|
startRunner(): void;
|
|
2483
2477
|
/**
|
|
2484
|
-
*
|
|
2478
|
+
* Starts the server, serving both the actor API and static files.
|
|
2479
|
+
*
|
|
2480
|
+
* This is the simplest way to run RivetKit. It starts a local manager
|
|
2481
|
+
* server, serves static files from the configured `publicDir` (default
|
|
2482
|
+
* `"public"`), and starts the actor runner.
|
|
2483
|
+
*
|
|
2484
|
+
* When an endpoint is configured (via config or RIVET_ENDPOINT env var),
|
|
2485
|
+
* operates in serverless mode connected to the remote engine instead.
|
|
2485
2486
|
*
|
|
2486
|
-
* @
|
|
2487
|
+
* @example
|
|
2488
|
+
* ```ts
|
|
2489
|
+
* const registry = setup({ use: { counter } });
|
|
2490
|
+
* registry.start();
|
|
2491
|
+
* ```
|
|
2487
2492
|
*/
|
|
2488
|
-
start(
|
|
2493
|
+
start(): void;
|
|
2489
2494
|
}
|
|
2490
2495
|
|
|
2491
2496
|
/**
|
|
@@ -2493,4 +2498,4 @@ declare class Registry<A extends RegistryActors> {
|
|
|
2493
2498
|
*/
|
|
2494
2499
|
declare function createClient<A extends Registry<any>>(endpointOrConfig?: string | ClientConfigInput): Client<A>;
|
|
2495
2500
|
|
|
2496
|
-
export { type ActorAccessor, type ActorActionFunction, ActorClientError, type ActorConn, ActorConnDisposed, ActorConnRaw, type ActorConnStatus, ActorDefinition, ActorError, type ActorHandle, ActorHandleRaw, type AnyActorDefinition, type Client, ClientRaw, type ConnectionStateCallback, type CreateOptions, type CreateRequest, type Encoding, type EventUnsubscribe, type ExtractActorsFromRegistry, type ExtractRegistryFromClient, type GetOptions, type GetWithIdOptions, InternalError, KEYS as KV_KEYS, MalformedResponseMessage, ManagerError, type QueryOptions, type Region, type StatusChangeCallback, createClient };
|
|
2501
|
+
export { type ActorAccessor, type ActorActionFunction, ActorClientError, type ActorConn, ActorConnDisposed, ActorConnRaw, type ActorConnStatus, ActorDefinition, ActorError, type ActorHandle, ActorHandleRaw, type AnyActorDefinition, type Client, type ClientConfigInput, ClientRaw, type ConnectionStateCallback, type CreateOptions, type CreateRequest, type Encoding, type EventUnsubscribe, type ExtractActorsFromRegistry, type ExtractRegistryFromClient, type GetOptions, type GetWithIdOptions, InternalError, KEYS as KV_KEYS, MalformedResponseMessage, ManagerError, type QueryOptions, type Region, type StatusChangeCallback, createClient };
|