rivetkit 2.0.2 → 2.0.4-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/README.md +3 -5
- package/dist/browser/client.d.ts +2485 -0
- 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/inspector.tar.gz +0 -0
- package/dist/schemas/actor-inspector/v1.ts +784 -0
- package/dist/schemas/actor-inspector/v2.ts +796 -0
- package/dist/schemas/actor-inspector/v3.ts +899 -0
- package/dist/schemas/actor-persist/v1.ts +225 -0
- package/dist/schemas/actor-persist/v2.ts +268 -0
- package/dist/schemas/actor-persist/v3.ts +280 -0
- package/dist/schemas/actor-persist/v4.ts +406 -0
- package/dist/schemas/client-protocol/v1.ts +441 -0
- package/dist/schemas/client-protocol/v2.ts +438 -0
- package/dist/schemas/client-protocol/v3.ts +554 -0
- package/dist/schemas/file-system-driver/v1.ts +108 -0
- package/dist/schemas/file-system-driver/v2.ts +142 -0
- package/dist/schemas/file-system-driver/v3.ts +167 -0
- package/dist/schemas/persist/v1.ts +781 -0
- package/dist/schemas/transport/v1.ts +697 -0
- package/dist/tsup/actor/errors.cjs +106 -0
- package/dist/tsup/actor/errors.cjs.map +1 -0
- package/dist/tsup/actor/errors.d.cts +188 -0
- package/dist/tsup/actor/errors.d.ts +188 -0
- package/dist/tsup/actor/errors.js +106 -0
- package/dist/tsup/actor/errors.js.map +1 -0
- package/dist/tsup/actor-router-consts-D29T1Z-K.d.cts +24 -0
- package/dist/tsup/actor-router-consts-D29T1Z-K.d.ts +24 -0
- package/dist/tsup/chunk-325TLXJT.js +1060 -0
- package/dist/tsup/chunk-325TLXJT.js.map +1 -0
- package/dist/tsup/chunk-424PT5DM.js +23 -0
- package/dist/tsup/chunk-424PT5DM.js.map +1 -0
- package/dist/tsup/chunk-4JVIG3SS.cjs +6289 -0
- package/dist/tsup/chunk-4JVIG3SS.cjs.map +1 -0
- package/dist/tsup/chunk-6LJAZ5R4.cjs +96 -0
- package/dist/tsup/chunk-6LJAZ5R4.cjs.map +1 -0
- package/dist/tsup/chunk-6XU3FMCB.cjs +534 -0
- package/dist/tsup/chunk-6XU3FMCB.cjs.map +1 -0
- package/dist/tsup/chunk-7HTNH26M.js +509 -0
- package/dist/tsup/chunk-7HTNH26M.js.map +1 -0
- package/dist/tsup/chunk-AUVH72RE.cjs +5977 -0
- package/dist/tsup/chunk-AUVH72RE.cjs.map +1 -0
- package/dist/tsup/chunk-D4BYUPNQ.js +645 -0
- package/dist/tsup/chunk-D4BYUPNQ.js.map +1 -0
- package/dist/tsup/chunk-HDQ2JUQT.cjs +23 -0
- package/dist/tsup/chunk-HDQ2JUQT.cjs.map +1 -0
- package/dist/tsup/chunk-HHXX2VRM.js +6289 -0
- package/dist/tsup/chunk-HHXX2VRM.js.map +1 -0
- package/dist/tsup/chunk-JEAEA2PB.js +49 -0
- package/dist/tsup/chunk-JEAEA2PB.js.map +1 -0
- package/dist/tsup/chunk-JYSEG3VF.cjs +642 -0
- package/dist/tsup/chunk-JYSEG3VF.cjs.map +1 -0
- package/dist/tsup/chunk-K6DGYILQ.js +2657 -0
- package/dist/tsup/chunk-K6DGYILQ.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-L47L3ZWJ.cjs +509 -0
- package/dist/tsup/chunk-L47L3ZWJ.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-MXNPAB5W.js +5977 -0
- package/dist/tsup/chunk-MXNPAB5W.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-PQZHDKRW.cjs +1060 -0
- package/dist/tsup/chunk-PQZHDKRW.cjs.map +1 -0
- package/dist/tsup/chunk-PVOE6BU7.cjs +1050 -0
- package/dist/tsup/chunk-PVOE6BU7.cjs.map +1 -0
- package/dist/tsup/chunk-Q4UD2GA4.cjs +1810 -0
- package/dist/tsup/chunk-Q4UD2GA4.cjs.map +1 -0
- package/dist/tsup/chunk-QUD664YZ.js +1810 -0
- package/dist/tsup/chunk-QUD664YZ.js.map +1 -0
- package/dist/tsup/chunk-RTOCTWME.js +1050 -0
- package/dist/tsup/chunk-RTOCTWME.js.map +1 -0
- package/dist/tsup/chunk-SAZZ4SB2.cjs +2657 -0
- package/dist/tsup/chunk-SAZZ4SB2.cjs.map +1 -0
- package/dist/tsup/chunk-SR3KQE7Q.cjs +72 -0
- package/dist/tsup/chunk-SR3KQE7Q.cjs.map +1 -0
- package/dist/tsup/chunk-V2GHLYC6.cjs +49 -0
- package/dist/tsup/chunk-V2GHLYC6.cjs.map +1 -0
- package/dist/tsup/chunk-V3WG7XTW.cjs +645 -0
- package/dist/tsup/chunk-V3WG7XTW.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-WMPW7JYC.js +642 -0
- package/dist/tsup/chunk-WMPW7JYC.js.map +1 -0
- package/dist/tsup/chunk-Z7HNQ2WF.js +534 -0
- package/dist/tsup/chunk-Z7HNQ2WF.js.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 +33 -0
- package/dist/tsup/client/mod.cjs.map +1 -0
- package/dist/tsup/client/mod.d.cts +64 -0
- package/dist/tsup/client/mod.d.ts +64 -0
- package/dist/tsup/client/mod.js +33 -0
- package/dist/tsup/client/mod.js.map +1 -0
- package/dist/tsup/common/log.cjs +21 -0
- package/dist/tsup/common/log.cjs.map +1 -0
- package/dist/tsup/common/log.d.cts +34 -0
- package/dist/tsup/common/log.d.ts +34 -0
- package/dist/tsup/common/log.js +21 -0
- package/dist/tsup/common/log.js.map +1 -0
- package/dist/tsup/common/websocket.cjs +10 -0
- package/dist/tsup/common/websocket.cjs.map +1 -0
- package/dist/tsup/common/websocket.d.cts +3 -0
- package/dist/tsup/common/websocket.d.ts +3 -0
- package/dist/tsup/common/websocket.js +10 -0
- package/dist/tsup/common/websocket.js.map +1 -0
- package/dist/tsup/config-BiNoIHRs.d.cts +80 -0
- package/dist/tsup/config-BiNoIHRs.d.ts +80 -0
- package/dist/tsup/config-P3XujgRr.d.ts +2594 -0
- package/dist/tsup/config-_gfywqqI.d.cts +2594 -0
- package/dist/tsup/context-Bxd8Cx4H.d.cts +75 -0
- package/dist/tsup/context-uNA4TRn3.d.ts +75 -0
- 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-BcLvZcKl.d.cts +13 -0
- package/dist/tsup/driver-CPGHKXyh.d.ts +13 -0
- package/dist/tsup/driver-helpers/mod.cjs +53 -0
- package/dist/tsup/driver-helpers/mod.cjs.map +1 -0
- package/dist/tsup/driver-helpers/mod.d.cts +47 -0
- package/dist/tsup/driver-helpers/mod.d.ts +47 -0
- package/dist/tsup/driver-helpers/mod.js +53 -0
- package/dist/tsup/driver-helpers/mod.js.map +1 -0
- package/dist/tsup/driver-test-suite/mod.cjs +4974 -0
- package/dist/tsup/driver-test-suite/mod.cjs.map +1 -0
- package/dist/tsup/driver-test-suite/mod.d.cts +73 -0
- package/dist/tsup/driver-test-suite/mod.d.ts +73 -0
- package/dist/tsup/driver-test-suite/mod.js +4974 -0
- package/dist/tsup/driver-test-suite/mod.js.map +1 -0
- package/dist/tsup/inspector/mod.cjs +164 -0
- package/dist/tsup/inspector/mod.cjs.map +1 -0
- package/dist/tsup/inspector/mod.d.cts +130 -0
- package/dist/tsup/inspector/mod.d.ts +130 -0
- package/dist/tsup/inspector/mod.js +164 -0
- package/dist/tsup/inspector/mod.js.map +1 -0
- package/dist/tsup/keys-CydblqMh.d.cts +13 -0
- package/dist/tsup/keys-CydblqMh.d.ts +13 -0
- package/dist/tsup/mod.cjs +82 -0
- package/dist/tsup/mod.cjs.map +1 -0
- package/dist/tsup/mod.d.cts +126 -0
- package/dist/tsup/mod.d.ts +126 -0
- package/dist/tsup/mod.js +82 -0
- package/dist/tsup/mod.js.map +1 -0
- package/dist/tsup/serve-test-suite/mod.cjs +2601 -0
- package/dist/tsup/serve-test-suite/mod.cjs.map +1 -0
- package/dist/tsup/serve-test-suite/mod.d.cts +9 -0
- package/dist/tsup/serve-test-suite/mod.d.ts +9 -0
- package/dist/tsup/serve-test-suite/mod.js +2601 -0
- package/dist/tsup/serve-test-suite/mod.js.map +1 -0
- package/dist/tsup/test/mod.cjs +90 -0
- package/dist/tsup/test/mod.cjs.map +1 -0
- package/dist/tsup/test/mod.d.cts +26 -0
- package/dist/tsup/test/mod.d.ts +26 -0
- package/dist/tsup/test/mod.js +90 -0
- package/dist/tsup/test/mod.js.map +1 -0
- package/dist/tsup/utils-fwx3o3K9.d.cts +18 -0
- package/dist/tsup/utils-fwx3o3K9.d.ts +18 -0
- package/dist/tsup/utils.cjs +43 -0
- package/dist/tsup/utils.cjs.map +1 -0
- package/dist/tsup/utils.d.cts +148 -0
- package/dist/tsup/utils.d.ts +148 -0
- package/dist/tsup/utils.js +43 -0
- package/dist/tsup/utils.js.map +1 -0
- 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 +25 -0
- package/dist/tsup/workflow/mod.d.ts +25 -0
- package/dist/tsup/workflow/mod.js +16 -0
- package/dist/tsup/workflow/mod.js.map +1 -0
- package/package.json +293 -5
- package/src/actor/config.ts +1221 -0
- package/src/actor/conn/driver.ts +61 -0
- package/src/actor/conn/drivers/http.ts +17 -0
- package/src/actor/conn/drivers/raw-request.ts +24 -0
- package/src/actor/conn/drivers/raw-websocket.ts +65 -0
- package/src/actor/conn/drivers/websocket.ts +144 -0
- package/src/actor/conn/mod.ts +288 -0
- package/src/actor/conn/persisted.ts +81 -0
- package/src/actor/conn/state-manager.ts +196 -0
- package/src/actor/contexts/action.ts +47 -0
- package/src/actor/contexts/base/actor.ts +347 -0
- package/src/actor/contexts/base/conn-init.ts +68 -0
- package/src/actor/contexts/base/conn.ts +73 -0
- package/src/actor/contexts/before-action-response.ts +42 -0
- package/src/actor/contexts/before-connect.ts +31 -0
- package/src/actor/contexts/connect.ts +42 -0
- package/src/actor/contexts/create-conn-state.ts +32 -0
- package/src/actor/contexts/create-vars.ts +39 -0
- package/src/actor/contexts/create.ts +39 -0
- package/src/actor/contexts/destroy.ts +42 -0
- package/src/actor/contexts/disconnect.ts +43 -0
- package/src/actor/contexts/index.ts +33 -0
- package/src/actor/contexts/request.ts +80 -0
- package/src/actor/contexts/run.ts +47 -0
- package/src/actor/contexts/sleep.ts +42 -0
- package/src/actor/contexts/state-change.ts +42 -0
- package/src/actor/contexts/wake.ts +42 -0
- package/src/actor/contexts/websocket.ts +80 -0
- package/src/actor/database.ts +13 -0
- package/src/actor/definition.ts +64 -0
- package/src/actor/driver.ts +114 -0
- package/src/actor/errors.ts +556 -0
- package/src/actor/instance/connection-manager.ts +574 -0
- package/src/actor/instance/event-manager.ts +314 -0
- package/src/actor/instance/keys.ts +146 -0
- package/src/actor/instance/kv.ts +241 -0
- package/src/actor/instance/mod.ts +1658 -0
- package/src/actor/instance/persisted.ts +67 -0
- package/src/actor/instance/queue-manager.ts +603 -0
- package/src/actor/instance/queue.ts +345 -0
- package/src/actor/instance/schedule-manager.ts +392 -0
- package/src/actor/instance/state-manager.ts +542 -0
- package/src/actor/instance/traces-driver.ts +128 -0
- package/src/actor/keys.test.ts +275 -0
- package/src/actor/keys.ts +89 -0
- package/src/actor/log.ts +6 -0
- package/src/actor/mod.ts +110 -0
- package/src/actor/protocol/old.ts +416 -0
- package/src/actor/protocol/serde.ts +222 -0
- package/src/actor/router-endpoints.ts +400 -0
- package/src/actor/router-websocket-endpoints.test.ts +54 -0
- package/src/actor/router-websocket-endpoints.ts +405 -0
- package/src/actor/router.ts +380 -0
- package/src/actor/schedule.ts +17 -0
- package/src/actor/schema.ts +291 -0
- package/src/actor/utils.test.ts +48 -0
- package/src/actor/utils.ts +158 -0
- package/src/client/actor-common.ts +32 -0
- package/src/client/actor-conn.ts +1262 -0
- package/src/client/actor-handle.ts +344 -0
- package/src/client/actor-query.ts +112 -0
- package/src/client/client.ts +558 -0
- package/src/client/config.ts +151 -0
- package/src/client/errors.ts +76 -0
- package/src/client/log.ts +5 -0
- package/src/client/mod.browser.ts +2 -0
- package/src/client/mod.ts +70 -0
- package/src/client/queue.ts +146 -0
- package/src/client/raw-utils.ts +149 -0
- package/src/client/test.ts +44 -0
- package/src/client/utils.ts +252 -0
- package/src/common/actor-router-consts.ts +59 -0
- package/src/common/cors.ts +57 -0
- package/src/common/eventsource-interface.ts +47 -0
- package/src/common/eventsource.ts +44 -0
- package/src/common/inline-websocket-adapter.ts +154 -0
- package/src/common/log-levels.ts +27 -0
- package/src/common/log.ts +229 -0
- package/src/common/logfmt.ts +221 -0
- package/src/common/network.ts +2 -0
- package/src/common/router.ts +174 -0
- package/src/common/utils.ts +339 -0
- package/src/common/websocket-interface.ts +7 -0
- package/src/common/websocket.ts +43 -0
- 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/devtools-loader/index.ts +33 -0
- package/src/devtools-loader/log.ts +5 -0
- package/src/driver-helpers/mod.ts +33 -0
- package/src/driver-helpers/utils.ts +54 -0
- package/src/driver-test-suite/log.ts +5 -0
- package/src/driver-test-suite/mod.ts +293 -0
- package/src/driver-test-suite/test-inline-client-driver.ts +307 -0
- package/src/driver-test-suite/tests/access-control.ts +218 -0
- package/src/driver-test-suite/tests/action-features.ts +203 -0
- package/src/driver-test-suite/tests/actor-conn-hibernation.ts +152 -0
- package/src/driver-test-suite/tests/actor-conn-state.ts +300 -0
- package/src/driver-test-suite/tests/actor-conn.ts +596 -0
- package/src/driver-test-suite/tests/actor-db-raw.ts +73 -0
- package/src/driver-test-suite/tests/actor-db.ts +477 -0
- package/src/driver-test-suite/tests/actor-destroy.ts +294 -0
- package/src/driver-test-suite/tests/actor-driver.ts +18 -0
- package/src/driver-test-suite/tests/actor-error-handling.ts +150 -0
- package/src/driver-test-suite/tests/actor-handle.ts +312 -0
- package/src/driver-test-suite/tests/actor-inline-client.ts +163 -0
- package/src/driver-test-suite/tests/actor-inspector.ts +264 -0
- package/src/driver-test-suite/tests/actor-kv.ts +65 -0
- package/src/driver-test-suite/tests/actor-metadata.ts +116 -0
- package/src/driver-test-suite/tests/actor-onstatechange.ts +95 -0
- package/src/driver-test-suite/tests/actor-queue.ts +325 -0
- package/src/driver-test-suite/tests/actor-run.ts +181 -0
- package/src/driver-test-suite/tests/actor-schedule.ts +97 -0
- package/src/driver-test-suite/tests/actor-sleep.ts +415 -0
- package/src/driver-test-suite/tests/actor-state.ts +54 -0
- package/src/driver-test-suite/tests/actor-stateless.ts +70 -0
- package/src/driver-test-suite/tests/actor-vars.ts +97 -0
- package/src/driver-test-suite/tests/actor-workflow.ts +118 -0
- package/src/driver-test-suite/tests/manager-driver.ts +388 -0
- package/src/driver-test-suite/tests/raw-http-direct-registry.ts +227 -0
- package/src/driver-test-suite/tests/raw-http-request-properties.ts +454 -0
- package/src/driver-test-suite/tests/raw-http.ts +359 -0
- package/src/driver-test-suite/tests/raw-websocket-direct-registry.ts +393 -0
- package/src/driver-test-suite/tests/raw-websocket.ts +513 -0
- package/src/driver-test-suite/tests/request-access.ts +240 -0
- package/src/driver-test-suite/utils.ts +80 -0
- package/src/drivers/default.ts +38 -0
- package/src/drivers/engine/actor-driver.ts +1027 -0
- package/src/drivers/engine/config.ts +43 -0
- package/src/drivers/engine/log.ts +5 -0
- package/src/drivers/engine/mod.ts +36 -0
- package/src/drivers/file-system/actor.ts +102 -0
- package/src/drivers/file-system/global-state.ts +1445 -0
- package/src/drivers/file-system/kv-limits.ts +70 -0
- package/src/drivers/file-system/log.ts +5 -0
- package/src/drivers/file-system/manager.ts +300 -0
- package/src/drivers/file-system/mod.ts +78 -0
- package/src/drivers/file-system/sqlite-runtime.ts +210 -0
- package/src/drivers/file-system/utils.ts +125 -0
- package/src/engine-process/constants.ts +2 -0
- package/src/engine-process/log.ts +5 -0
- package/src/engine-process/mod.ts +464 -0
- package/src/globals.d.ts +35 -0
- package/src/inspector/actor-inspector.ts +352 -0
- package/src/inspector/config.ts +49 -0
- package/src/inspector/handler.ts +273 -0
- package/src/inspector/log.ts +5 -0
- package/src/inspector/mod.browser.ts +8 -0
- package/src/inspector/mod.ts +4 -0
- package/src/inspector/serve-ui.ts +40 -0
- package/src/inspector/transport.ts +18 -0
- package/src/inspector/utils.ts +32 -0
- package/src/manager/driver.ts +106 -0
- package/src/manager/gateway.ts +668 -0
- package/src/manager/log.ts +5 -0
- package/src/manager/mod.ts +2 -0
- package/src/manager/protocol/mod.ts +22 -0
- package/src/manager/protocol/query.ts +85 -0
- package/src/manager/router-schema.ts +22 -0
- package/src/manager/router.ts +660 -0
- package/src/manager-api/actors.ts +83 -0
- package/src/manager-api/common.ts +4 -0
- package/src/mod.ts +24 -0
- package/src/registry/config/driver.ts +21 -0
- package/src/registry/config/index.ts +510 -0
- package/src/registry/config/legacy-runner.ts +157 -0
- package/src/registry/config/runner.ts +21 -0
- package/src/registry/config/serverless.ts +94 -0
- package/src/registry/index.ts +194 -0
- package/src/registry/log.ts +5 -0
- package/src/remote-manager-driver/actor-http-client.ts +84 -0
- package/src/remote-manager-driver/actor-websocket-client.ts +81 -0
- package/src/remote-manager-driver/api-endpoints.ts +159 -0
- package/src/remote-manager-driver/api-utils.ts +69 -0
- package/src/remote-manager-driver/log.ts +5 -0
- package/src/remote-manager-driver/metadata.ts +64 -0
- package/src/remote-manager-driver/mod.ts +414 -0
- package/src/remote-manager-driver/ws-proxy.ts +189 -0
- package/src/schemas/actor-inspector/mod.ts +1 -0
- package/src/schemas/actor-inspector/versioned.ts +233 -0
- package/src/schemas/actor-persist/mod.ts +1 -0
- package/src/schemas/actor-persist/versioned.ts +217 -0
- package/src/schemas/client-protocol/mod.ts +1 -0
- package/src/schemas/client-protocol/versioned.ts +330 -0
- package/src/schemas/client-protocol-zod/mod.ts +118 -0
- package/src/schemas/file-system-driver/mod.ts +1 -0
- package/src/schemas/file-system-driver/versioned.ts +135 -0
- package/src/schemas/persist/mod.ts +1 -0
- package/src/schemas/transport/mod.ts +1 -0
- package/src/serde.ts +138 -0
- package/src/serve-test-suite/mod.ts +148 -0
- package/src/serverless/configure.ts +82 -0
- package/src/serverless/log.ts +5 -0
- package/src/serverless/router.test.ts +299 -0
- package/src/serverless/router.ts +215 -0
- package/src/test/log.ts +5 -0
- package/src/test/mod.ts +99 -0
- package/src/utils/crypto.ts +24 -0
- package/src/utils/endpoint-parser.test.ts +202 -0
- package/src/utils/endpoint-parser.ts +124 -0
- package/src/utils/env-vars.ts +78 -0
- package/src/utils/node.ts +178 -0
- package/src/utils/router.ts +83 -0
- package/src/utils/serve.ts +212 -0
- package/src/utils.test.ts +34 -0
- package/src/utils.ts +437 -0
- package/src/workflow/constants.ts +2 -0
- package/src/workflow/context.ts +597 -0
- package/src/workflow/driver.ts +194 -0
- package/src/workflow/inspector.ts +268 -0
- package/src/workflow/mod.ts +128 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { Conn } from "../conn/mod";
|
|
2
|
+
import type { AnyDatabaseProvider } from "../database";
|
|
3
|
+
import type { ActorDefinition, AnyActorDefinition } from "../definition";
|
|
4
|
+
import type { ActorInstance } from "../instance/mod";
|
|
5
|
+
import type { EventSchemaConfig, QueueSchemaConfig } from "../schema";
|
|
6
|
+
import { ConnContext } from "./base/conn";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Context for raw WebSocket handlers (onWebSocket).
|
|
10
|
+
*/
|
|
11
|
+
export class WebSocketContext<
|
|
12
|
+
TState,
|
|
13
|
+
TConnParams,
|
|
14
|
+
TConnState,
|
|
15
|
+
TVars,
|
|
16
|
+
TInput,
|
|
17
|
+
TDatabase extends AnyDatabaseProvider,
|
|
18
|
+
TEvents extends EventSchemaConfig = Record<never, never>,
|
|
19
|
+
TQueues extends QueueSchemaConfig = Record<never, never>,
|
|
20
|
+
> extends ConnContext<
|
|
21
|
+
TState,
|
|
22
|
+
TConnParams,
|
|
23
|
+
TConnState,
|
|
24
|
+
TVars,
|
|
25
|
+
TInput,
|
|
26
|
+
TDatabase,
|
|
27
|
+
TEvents,
|
|
28
|
+
TQueues
|
|
29
|
+
> {
|
|
30
|
+
/**
|
|
31
|
+
* The incoming HTTP request that initiated the WebSocket upgrade.
|
|
32
|
+
* May be undefined for WebSocket connections initiated without a direct HTTP request.
|
|
33
|
+
*/
|
|
34
|
+
public readonly request: Request | undefined;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
39
|
+
constructor(
|
|
40
|
+
actor: ActorInstance<
|
|
41
|
+
TState,
|
|
42
|
+
TConnParams,
|
|
43
|
+
TConnState,
|
|
44
|
+
TVars,
|
|
45
|
+
TInput,
|
|
46
|
+
TDatabase,
|
|
47
|
+
TEvents,
|
|
48
|
+
TQueues
|
|
49
|
+
>,
|
|
50
|
+
conn: Conn<
|
|
51
|
+
TState,
|
|
52
|
+
TConnParams,
|
|
53
|
+
TConnState,
|
|
54
|
+
TVars,
|
|
55
|
+
TInput,
|
|
56
|
+
TDatabase,
|
|
57
|
+
TEvents,
|
|
58
|
+
TQueues
|
|
59
|
+
>,
|
|
60
|
+
request?: Request,
|
|
61
|
+
) {
|
|
62
|
+
super(actor, conn);
|
|
63
|
+
this.request = request;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export type WebSocketContextOf<AD extends AnyActorDefinition> =
|
|
68
|
+
AD extends ActorDefinition<
|
|
69
|
+
infer S,
|
|
70
|
+
infer CP,
|
|
71
|
+
infer CS,
|
|
72
|
+
infer V,
|
|
73
|
+
infer I,
|
|
74
|
+
infer DB extends AnyDatabaseProvider,
|
|
75
|
+
infer E extends EventSchemaConfig,
|
|
76
|
+
infer Q extends QueueSchemaConfig,
|
|
77
|
+
any
|
|
78
|
+
>
|
|
79
|
+
? WebSocketContext<S, CP, CS, V, I, DB, E, Q>
|
|
80
|
+
: never;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
AnyDatabaseProvider,
|
|
3
|
+
DatabaseProvider,
|
|
4
|
+
RawDatabaseClient,
|
|
5
|
+
DrizzleDatabaseClient,
|
|
6
|
+
} from "@/db/config";
|
|
7
|
+
|
|
8
|
+
export type InferDatabaseClient<DBProvider extends AnyDatabaseProvider> =
|
|
9
|
+
DBProvider extends DatabaseProvider<any>
|
|
10
|
+
? Awaited<ReturnType<DBProvider["createClient"]>>
|
|
11
|
+
: never;
|
|
12
|
+
|
|
13
|
+
export type { AnyDatabaseProvider, DatabaseProvider, RawDatabaseClient, DrizzleDatabaseClient };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { RegistryConfig } from "@/registry/config";
|
|
2
|
+
import { DeepMutable } from "@/utils";
|
|
3
|
+
import type { Actions, ActorConfig } from "./config";
|
|
4
|
+
import type { ActionContextOf, ActorContext } from "./contexts";
|
|
5
|
+
import type { AnyDatabaseProvider } from "./database";
|
|
6
|
+
import { ActorInstance } from "./instance/mod";
|
|
7
|
+
import type { EventSchemaConfig, QueueSchemaConfig } from "./schema";
|
|
8
|
+
|
|
9
|
+
export type AnyActorDefinition = ActorDefinition<
|
|
10
|
+
any,
|
|
11
|
+
any,
|
|
12
|
+
any,
|
|
13
|
+
any,
|
|
14
|
+
any,
|
|
15
|
+
any,
|
|
16
|
+
any,
|
|
17
|
+
any,
|
|
18
|
+
any
|
|
19
|
+
>;
|
|
20
|
+
|
|
21
|
+
export class ActorDefinition<
|
|
22
|
+
S,
|
|
23
|
+
CP,
|
|
24
|
+
CS,
|
|
25
|
+
V,
|
|
26
|
+
I,
|
|
27
|
+
DB extends AnyDatabaseProvider,
|
|
28
|
+
E extends EventSchemaConfig = Record<never, never>,
|
|
29
|
+
Q extends QueueSchemaConfig = Record<never, never>,
|
|
30
|
+
R extends Actions<S, CP, CS, V, I, DB, E, Q> = Actions<
|
|
31
|
+
S,
|
|
32
|
+
CP,
|
|
33
|
+
CS,
|
|
34
|
+
V,
|
|
35
|
+
I,
|
|
36
|
+
DB,
|
|
37
|
+
E,
|
|
38
|
+
Q
|
|
39
|
+
>,
|
|
40
|
+
> {
|
|
41
|
+
#config: ActorConfig<S, CP, CS, V, I, DB, E, Q>;
|
|
42
|
+
|
|
43
|
+
constructor(config: ActorConfig<S, CP, CS, V, I, DB, E, Q>) {
|
|
44
|
+
this.#config = config;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
get config(): ActorConfig<S, CP, CS, V, I, DB, E, Q> {
|
|
48
|
+
return this.#config;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
instantiate(): ActorInstance<S, CP, CS, V, I, DB, E, Q> {
|
|
52
|
+
return new ActorInstance(this.#config);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function lookupInRegistry(
|
|
57
|
+
config: RegistryConfig,
|
|
58
|
+
name: string,
|
|
59
|
+
): AnyActorDefinition {
|
|
60
|
+
// Build actor
|
|
61
|
+
const definition = config.use[name];
|
|
62
|
+
if (!definition) throw new Error(`no actor in registry for name ${name}`);
|
|
63
|
+
return definition;
|
|
64
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import type { Context as HonoContext } from "hono";
|
|
2
|
+
import type { AnyClient } from "@/client/client";
|
|
3
|
+
import type { ManagerDriver } from "@/manager/driver";
|
|
4
|
+
import { type AnyConn } from "./conn/mod";
|
|
5
|
+
import type { AnyActorInstance } from "./instance/mod";
|
|
6
|
+
import type { RegistryConfig } from "@/registry/config";
|
|
7
|
+
import type {
|
|
8
|
+
RawDatabaseClient,
|
|
9
|
+
} from "@/db/config";
|
|
10
|
+
import type { SqliteVfs } from "@rivetkit/sqlite-vfs";
|
|
11
|
+
import { BaseSQLiteDatabase } from "drizzle-orm/sqlite-core";
|
|
12
|
+
|
|
13
|
+
export type ActorDriverBuilder = (
|
|
14
|
+
config: RegistryConfig,
|
|
15
|
+
managerDriver: ManagerDriver,
|
|
16
|
+
inlineClient: AnyClient,
|
|
17
|
+
) => ActorDriver;
|
|
18
|
+
|
|
19
|
+
export interface ActorDriver {
|
|
20
|
+
//load(): Promise<LoadOutput>;
|
|
21
|
+
|
|
22
|
+
loadActor(actorId: string): Promise<AnyActorInstance>;
|
|
23
|
+
|
|
24
|
+
getContext(actorId: string): unknown;
|
|
25
|
+
|
|
26
|
+
// Batch KV operations
|
|
27
|
+
/** Batch write multiple key-value pairs. Keys and values are Uint8Arrays. */
|
|
28
|
+
kvBatchPut(
|
|
29
|
+
actorId: string,
|
|
30
|
+
entries: [Uint8Array, Uint8Array][],
|
|
31
|
+
): Promise<void>;
|
|
32
|
+
|
|
33
|
+
/** Batch read multiple keys. Returns null for keys that don't exist. */
|
|
34
|
+
kvBatchGet(
|
|
35
|
+
actorId: string,
|
|
36
|
+
keys: Uint8Array[],
|
|
37
|
+
): Promise<(Uint8Array | null)[]>;
|
|
38
|
+
|
|
39
|
+
/** Batch delete multiple keys. */
|
|
40
|
+
kvBatchDelete(actorId: string, keys: Uint8Array[]): Promise<void>;
|
|
41
|
+
|
|
42
|
+
/** List all keys with a given prefix. */
|
|
43
|
+
kvListPrefix(
|
|
44
|
+
actorId: string,
|
|
45
|
+
prefix: Uint8Array,
|
|
46
|
+
): Promise<[Uint8Array, Uint8Array][]>;
|
|
47
|
+
|
|
48
|
+
// Schedule
|
|
49
|
+
/** ActorInstance ensure that only one instance of setAlarm is called in parallel at a time. */
|
|
50
|
+
setAlarm(actor: AnyActorInstance, timestamp: number): Promise<void>;
|
|
51
|
+
|
|
52
|
+
// Database
|
|
53
|
+
/**
|
|
54
|
+
* Override the default raw database client for the actor.
|
|
55
|
+
* If not provided, rivetkit will construct a KV-backed SQLite client.
|
|
56
|
+
* @experimental
|
|
57
|
+
*/
|
|
58
|
+
overrideRawDatabaseClient?(
|
|
59
|
+
actorId: string,
|
|
60
|
+
): Promise<RawDatabaseClient | undefined>;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Override the default Drizzle database client for the actor.
|
|
64
|
+
* If not provided, rivetkit will construct a KV-backed Drizzle client.
|
|
65
|
+
* @experimental
|
|
66
|
+
*/
|
|
67
|
+
overrideDrizzleDatabaseClient?(
|
|
68
|
+
actorId: string,
|
|
69
|
+
): Promise<BaseSQLiteDatabase<any,any,any,any> | undefined>;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Creates a SQLite VFS instance for creating KV-backed databases.
|
|
73
|
+
* If not provided, the database provider will need an override.
|
|
74
|
+
*
|
|
75
|
+
* @rivetkit/sqlite's async build is not re-entrant per module instance. Drivers
|
|
76
|
+
* should return a new instance per call for actor-level isolation.
|
|
77
|
+
*
|
|
78
|
+
* This is a method (not a property) so drivers can use dynamic imports,
|
|
79
|
+
* keeping the core driver tree-shakeable from @rivetkit/sqlite.
|
|
80
|
+
*/
|
|
81
|
+
createSqliteVfs?(): SqliteVfs | Promise<SqliteVfs>;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Requests the actor to go to sleep.
|
|
85
|
+
*
|
|
86
|
+
* This will call `ActorInstance.onStop` independently.
|
|
87
|
+
*/
|
|
88
|
+
startSleep?(actorId: string): void;
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Destroys the actor and its associated data.
|
|
92
|
+
*
|
|
93
|
+
* This will call `ActorInstance.onStop` independently.
|
|
94
|
+
*/
|
|
95
|
+
startDestroy(actorId: string): void;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Shuts down the actor runner.
|
|
99
|
+
*/
|
|
100
|
+
shutdownRunner?(immediate: boolean): Promise<void>;
|
|
101
|
+
|
|
102
|
+
// Serverless
|
|
103
|
+
/** This handles the serverless start request. This should manage the lifecycle of the runner tied to the request lifecycle. */
|
|
104
|
+
serverlessHandleStart?(c: HonoContext): Promise<Response>;
|
|
105
|
+
|
|
106
|
+
/** Extra properties to add to logs for each actor. */
|
|
107
|
+
getExtraActorLogParams?(): Record<string, string>;
|
|
108
|
+
|
|
109
|
+
onBeforeActorStart?(actor: AnyActorInstance): Promise<void>;
|
|
110
|
+
onCreateConn?(conn: AnyConn): void;
|
|
111
|
+
onDestroyConn?(conn: AnyConn): void;
|
|
112
|
+
onBeforePersistConn?(conn: AnyConn): void;
|
|
113
|
+
onAfterPersistConn?(conn: AnyConn): void;
|
|
114
|
+
}
|