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,697 @@
|
|
|
1
|
+
// @generated - post-processed by compile-bare.ts
|
|
2
|
+
import * as bare from "@rivetkit/bare-ts"
|
|
3
|
+
|
|
4
|
+
const config = /* @__PURE__ */ bare.Config({})
|
|
5
|
+
|
|
6
|
+
export type u32 = number
|
|
7
|
+
export type u64 = bigint
|
|
8
|
+
|
|
9
|
+
export type WorkflowCbor = ArrayBuffer
|
|
10
|
+
|
|
11
|
+
export function readWorkflowCbor(bc: bare.ByteCursor): WorkflowCbor {
|
|
12
|
+
return bare.readData(bc)
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function writeWorkflowCbor(bc: bare.ByteCursor, x: WorkflowCbor): void {
|
|
16
|
+
bare.writeData(bc, x)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export type WorkflowNameIndex = u32
|
|
20
|
+
|
|
21
|
+
export function readWorkflowNameIndex(bc: bare.ByteCursor): WorkflowNameIndex {
|
|
22
|
+
return bare.readU32(bc)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function writeWorkflowNameIndex(bc: bare.ByteCursor, x: WorkflowNameIndex): void {
|
|
26
|
+
bare.writeU32(bc, x)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export type WorkflowLoopIterationMarker = {
|
|
30
|
+
readonly loop: WorkflowNameIndex,
|
|
31
|
+
readonly iteration: u32,
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function readWorkflowLoopIterationMarker(bc: bare.ByteCursor): WorkflowLoopIterationMarker {
|
|
35
|
+
return {
|
|
36
|
+
loop: readWorkflowNameIndex(bc),
|
|
37
|
+
iteration: bare.readU32(bc),
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export function writeWorkflowLoopIterationMarker(bc: bare.ByteCursor, x: WorkflowLoopIterationMarker): void {
|
|
42
|
+
writeWorkflowNameIndex(bc, x.loop)
|
|
43
|
+
bare.writeU32(bc, x.iteration)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export type WorkflowPathSegment =
|
|
47
|
+
| { readonly tag: "WorkflowNameIndex", readonly val: WorkflowNameIndex }
|
|
48
|
+
| { readonly tag: "WorkflowLoopIterationMarker", readonly val: WorkflowLoopIterationMarker }
|
|
49
|
+
|
|
50
|
+
export function readWorkflowPathSegment(bc: bare.ByteCursor): WorkflowPathSegment {
|
|
51
|
+
const offset = bc.offset
|
|
52
|
+
const tag = bare.readU8(bc)
|
|
53
|
+
switch (tag) {
|
|
54
|
+
case 0:
|
|
55
|
+
return { tag: "WorkflowNameIndex", val: readWorkflowNameIndex(bc) }
|
|
56
|
+
case 1:
|
|
57
|
+
return { tag: "WorkflowLoopIterationMarker", val: readWorkflowLoopIterationMarker(bc) }
|
|
58
|
+
default: {
|
|
59
|
+
bc.offset = offset
|
|
60
|
+
throw new bare.BareError(offset, "invalid tag")
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export function writeWorkflowPathSegment(bc: bare.ByteCursor, x: WorkflowPathSegment): void {
|
|
66
|
+
switch (x.tag) {
|
|
67
|
+
case "WorkflowNameIndex": {
|
|
68
|
+
bare.writeU8(bc, 0)
|
|
69
|
+
writeWorkflowNameIndex(bc, x.val)
|
|
70
|
+
break
|
|
71
|
+
}
|
|
72
|
+
case "WorkflowLoopIterationMarker": {
|
|
73
|
+
bare.writeU8(bc, 1)
|
|
74
|
+
writeWorkflowLoopIterationMarker(bc, x.val)
|
|
75
|
+
break
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export type WorkflowLocation = readonly WorkflowPathSegment[]
|
|
81
|
+
|
|
82
|
+
export function readWorkflowLocation(bc: bare.ByteCursor): WorkflowLocation {
|
|
83
|
+
const len = bare.readUintSafe(bc)
|
|
84
|
+
if (len === 0) { return [] }
|
|
85
|
+
const result = [readWorkflowPathSegment(bc)]
|
|
86
|
+
for (let i = 1; i < len; i++) {
|
|
87
|
+
result[i] = readWorkflowPathSegment(bc)
|
|
88
|
+
}
|
|
89
|
+
return result
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export function writeWorkflowLocation(bc: bare.ByteCursor, x: WorkflowLocation): void {
|
|
93
|
+
bare.writeUintSafe(bc, x.length)
|
|
94
|
+
for (let i = 0; i < x.length; i++) {
|
|
95
|
+
writeWorkflowPathSegment(bc, x[i])
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export enum WorkflowEntryStatus {
|
|
100
|
+
PENDING = "PENDING",
|
|
101
|
+
RUNNING = "RUNNING",
|
|
102
|
+
COMPLETED = "COMPLETED",
|
|
103
|
+
FAILED = "FAILED",
|
|
104
|
+
EXHAUSTED = "EXHAUSTED",
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export function readWorkflowEntryStatus(bc: bare.ByteCursor): WorkflowEntryStatus {
|
|
108
|
+
const offset = bc.offset
|
|
109
|
+
const tag = bare.readU8(bc)
|
|
110
|
+
switch (tag) {
|
|
111
|
+
case 0:
|
|
112
|
+
return WorkflowEntryStatus.PENDING
|
|
113
|
+
case 1:
|
|
114
|
+
return WorkflowEntryStatus.RUNNING
|
|
115
|
+
case 2:
|
|
116
|
+
return WorkflowEntryStatus.COMPLETED
|
|
117
|
+
case 3:
|
|
118
|
+
return WorkflowEntryStatus.FAILED
|
|
119
|
+
case 4:
|
|
120
|
+
return WorkflowEntryStatus.EXHAUSTED
|
|
121
|
+
default: {
|
|
122
|
+
bc.offset = offset
|
|
123
|
+
throw new bare.BareError(offset, "invalid tag")
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export function writeWorkflowEntryStatus(bc: bare.ByteCursor, x: WorkflowEntryStatus): void {
|
|
129
|
+
switch (x) {
|
|
130
|
+
case WorkflowEntryStatus.PENDING: {
|
|
131
|
+
bare.writeU8(bc, 0)
|
|
132
|
+
break
|
|
133
|
+
}
|
|
134
|
+
case WorkflowEntryStatus.RUNNING: {
|
|
135
|
+
bare.writeU8(bc, 1)
|
|
136
|
+
break
|
|
137
|
+
}
|
|
138
|
+
case WorkflowEntryStatus.COMPLETED: {
|
|
139
|
+
bare.writeU8(bc, 2)
|
|
140
|
+
break
|
|
141
|
+
}
|
|
142
|
+
case WorkflowEntryStatus.FAILED: {
|
|
143
|
+
bare.writeU8(bc, 3)
|
|
144
|
+
break
|
|
145
|
+
}
|
|
146
|
+
case WorkflowEntryStatus.EXHAUSTED: {
|
|
147
|
+
bare.writeU8(bc, 4)
|
|
148
|
+
break
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export enum WorkflowSleepState {
|
|
154
|
+
PENDING = "PENDING",
|
|
155
|
+
COMPLETED = "COMPLETED",
|
|
156
|
+
INTERRUPTED = "INTERRUPTED",
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
export function readWorkflowSleepState(bc: bare.ByteCursor): WorkflowSleepState {
|
|
160
|
+
const offset = bc.offset
|
|
161
|
+
const tag = bare.readU8(bc)
|
|
162
|
+
switch (tag) {
|
|
163
|
+
case 0:
|
|
164
|
+
return WorkflowSleepState.PENDING
|
|
165
|
+
case 1:
|
|
166
|
+
return WorkflowSleepState.COMPLETED
|
|
167
|
+
case 2:
|
|
168
|
+
return WorkflowSleepState.INTERRUPTED
|
|
169
|
+
default: {
|
|
170
|
+
bc.offset = offset
|
|
171
|
+
throw new bare.BareError(offset, "invalid tag")
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export function writeWorkflowSleepState(bc: bare.ByteCursor, x: WorkflowSleepState): void {
|
|
177
|
+
switch (x) {
|
|
178
|
+
case WorkflowSleepState.PENDING: {
|
|
179
|
+
bare.writeU8(bc, 0)
|
|
180
|
+
break
|
|
181
|
+
}
|
|
182
|
+
case WorkflowSleepState.COMPLETED: {
|
|
183
|
+
bare.writeU8(bc, 1)
|
|
184
|
+
break
|
|
185
|
+
}
|
|
186
|
+
case WorkflowSleepState.INTERRUPTED: {
|
|
187
|
+
bare.writeU8(bc, 2)
|
|
188
|
+
break
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export enum WorkflowBranchStatusType {
|
|
194
|
+
PENDING = "PENDING",
|
|
195
|
+
RUNNING = "RUNNING",
|
|
196
|
+
COMPLETED = "COMPLETED",
|
|
197
|
+
FAILED = "FAILED",
|
|
198
|
+
CANCELLED = "CANCELLED",
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
export function readWorkflowBranchStatusType(bc: bare.ByteCursor): WorkflowBranchStatusType {
|
|
202
|
+
const offset = bc.offset
|
|
203
|
+
const tag = bare.readU8(bc)
|
|
204
|
+
switch (tag) {
|
|
205
|
+
case 0:
|
|
206
|
+
return WorkflowBranchStatusType.PENDING
|
|
207
|
+
case 1:
|
|
208
|
+
return WorkflowBranchStatusType.RUNNING
|
|
209
|
+
case 2:
|
|
210
|
+
return WorkflowBranchStatusType.COMPLETED
|
|
211
|
+
case 3:
|
|
212
|
+
return WorkflowBranchStatusType.FAILED
|
|
213
|
+
case 4:
|
|
214
|
+
return WorkflowBranchStatusType.CANCELLED
|
|
215
|
+
default: {
|
|
216
|
+
bc.offset = offset
|
|
217
|
+
throw new bare.BareError(offset, "invalid tag")
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
export function writeWorkflowBranchStatusType(bc: bare.ByteCursor, x: WorkflowBranchStatusType): void {
|
|
223
|
+
switch (x) {
|
|
224
|
+
case WorkflowBranchStatusType.PENDING: {
|
|
225
|
+
bare.writeU8(bc, 0)
|
|
226
|
+
break
|
|
227
|
+
}
|
|
228
|
+
case WorkflowBranchStatusType.RUNNING: {
|
|
229
|
+
bare.writeU8(bc, 1)
|
|
230
|
+
break
|
|
231
|
+
}
|
|
232
|
+
case WorkflowBranchStatusType.COMPLETED: {
|
|
233
|
+
bare.writeU8(bc, 2)
|
|
234
|
+
break
|
|
235
|
+
}
|
|
236
|
+
case WorkflowBranchStatusType.FAILED: {
|
|
237
|
+
bare.writeU8(bc, 3)
|
|
238
|
+
break
|
|
239
|
+
}
|
|
240
|
+
case WorkflowBranchStatusType.CANCELLED: {
|
|
241
|
+
bare.writeU8(bc, 4)
|
|
242
|
+
break
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
function read0(bc: bare.ByteCursor): WorkflowCbor | null {
|
|
248
|
+
return bare.readBool(bc)
|
|
249
|
+
? readWorkflowCbor(bc)
|
|
250
|
+
: null
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
function write0(bc: bare.ByteCursor, x: WorkflowCbor | null): void {
|
|
254
|
+
bare.writeBool(bc, x !== null)
|
|
255
|
+
if (x !== null) {
|
|
256
|
+
writeWorkflowCbor(bc, x)
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
function read1(bc: bare.ByteCursor): string | null {
|
|
261
|
+
return bare.readBool(bc)
|
|
262
|
+
? bare.readString(bc)
|
|
263
|
+
: null
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
function write1(bc: bare.ByteCursor, x: string | null): void {
|
|
267
|
+
bare.writeBool(bc, x !== null)
|
|
268
|
+
if (x !== null) {
|
|
269
|
+
bare.writeString(bc, x)
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
export type WorkflowStepEntry = {
|
|
274
|
+
readonly output: WorkflowCbor | null,
|
|
275
|
+
readonly error: string | null,
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
export function readWorkflowStepEntry(bc: bare.ByteCursor): WorkflowStepEntry {
|
|
279
|
+
return {
|
|
280
|
+
output: read0(bc),
|
|
281
|
+
error: read1(bc),
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
export function writeWorkflowStepEntry(bc: bare.ByteCursor, x: WorkflowStepEntry): void {
|
|
286
|
+
write0(bc, x.output)
|
|
287
|
+
write1(bc, x.error)
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
export type WorkflowLoopEntry = {
|
|
291
|
+
readonly state: WorkflowCbor,
|
|
292
|
+
readonly iteration: u32,
|
|
293
|
+
readonly output: WorkflowCbor | null,
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
export function readWorkflowLoopEntry(bc: bare.ByteCursor): WorkflowLoopEntry {
|
|
297
|
+
return {
|
|
298
|
+
state: readWorkflowCbor(bc),
|
|
299
|
+
iteration: bare.readU32(bc),
|
|
300
|
+
output: read0(bc),
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
export function writeWorkflowLoopEntry(bc: bare.ByteCursor, x: WorkflowLoopEntry): void {
|
|
305
|
+
writeWorkflowCbor(bc, x.state)
|
|
306
|
+
bare.writeU32(bc, x.iteration)
|
|
307
|
+
write0(bc, x.output)
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
export type WorkflowSleepEntry = {
|
|
311
|
+
readonly deadline: u64,
|
|
312
|
+
readonly state: WorkflowSleepState,
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
export function readWorkflowSleepEntry(bc: bare.ByteCursor): WorkflowSleepEntry {
|
|
316
|
+
return {
|
|
317
|
+
deadline: bare.readU64(bc),
|
|
318
|
+
state: readWorkflowSleepState(bc),
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
export function writeWorkflowSleepEntry(bc: bare.ByteCursor, x: WorkflowSleepEntry): void {
|
|
323
|
+
bare.writeU64(bc, x.deadline)
|
|
324
|
+
writeWorkflowSleepState(bc, x.state)
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
export type WorkflowMessageEntry = {
|
|
328
|
+
readonly name: string,
|
|
329
|
+
readonly messageData: WorkflowCbor,
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
export function readWorkflowMessageEntry(bc: bare.ByteCursor): WorkflowMessageEntry {
|
|
333
|
+
return {
|
|
334
|
+
name: bare.readString(bc),
|
|
335
|
+
messageData: readWorkflowCbor(bc),
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
export function writeWorkflowMessageEntry(bc: bare.ByteCursor, x: WorkflowMessageEntry): void {
|
|
340
|
+
bare.writeString(bc, x.name)
|
|
341
|
+
writeWorkflowCbor(bc, x.messageData)
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
export type WorkflowRollbackCheckpointEntry = {
|
|
345
|
+
readonly name: string,
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
export function readWorkflowRollbackCheckpointEntry(bc: bare.ByteCursor): WorkflowRollbackCheckpointEntry {
|
|
349
|
+
return {
|
|
350
|
+
name: bare.readString(bc),
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
export function writeWorkflowRollbackCheckpointEntry(bc: bare.ByteCursor, x: WorkflowRollbackCheckpointEntry): void {
|
|
355
|
+
bare.writeString(bc, x.name)
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
export type WorkflowBranchStatus = {
|
|
359
|
+
readonly status: WorkflowBranchStatusType,
|
|
360
|
+
readonly output: WorkflowCbor | null,
|
|
361
|
+
readonly error: string | null,
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
export function readWorkflowBranchStatus(bc: bare.ByteCursor): WorkflowBranchStatus {
|
|
365
|
+
return {
|
|
366
|
+
status: readWorkflowBranchStatusType(bc),
|
|
367
|
+
output: read0(bc),
|
|
368
|
+
error: read1(bc),
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
export function writeWorkflowBranchStatus(bc: bare.ByteCursor, x: WorkflowBranchStatus): void {
|
|
373
|
+
writeWorkflowBranchStatusType(bc, x.status)
|
|
374
|
+
write0(bc, x.output)
|
|
375
|
+
write1(bc, x.error)
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
function read2(bc: bare.ByteCursor): ReadonlyMap<string, WorkflowBranchStatus> {
|
|
379
|
+
const len = bare.readUintSafe(bc)
|
|
380
|
+
const result = new Map<string, WorkflowBranchStatus>()
|
|
381
|
+
for (let i = 0; i < len; i++) {
|
|
382
|
+
const offset = bc.offset
|
|
383
|
+
const key = bare.readString(bc)
|
|
384
|
+
if (result.has(key)) {
|
|
385
|
+
bc.offset = offset
|
|
386
|
+
throw new bare.BareError(offset, "duplicated key")
|
|
387
|
+
}
|
|
388
|
+
result.set(key, readWorkflowBranchStatus(bc))
|
|
389
|
+
}
|
|
390
|
+
return result
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
function write2(bc: bare.ByteCursor, x: ReadonlyMap<string, WorkflowBranchStatus>): void {
|
|
394
|
+
bare.writeUintSafe(bc, x.size)
|
|
395
|
+
for(const kv of x) {
|
|
396
|
+
bare.writeString(bc, kv[0])
|
|
397
|
+
writeWorkflowBranchStatus(bc, kv[1])
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
export type WorkflowJoinEntry = {
|
|
402
|
+
readonly branches: ReadonlyMap<string, WorkflowBranchStatus>,
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
export function readWorkflowJoinEntry(bc: bare.ByteCursor): WorkflowJoinEntry {
|
|
406
|
+
return {
|
|
407
|
+
branches: read2(bc),
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
export function writeWorkflowJoinEntry(bc: bare.ByteCursor, x: WorkflowJoinEntry): void {
|
|
412
|
+
write2(bc, x.branches)
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
export type WorkflowRaceEntry = {
|
|
416
|
+
readonly winner: string | null,
|
|
417
|
+
readonly branches: ReadonlyMap<string, WorkflowBranchStatus>,
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
export function readWorkflowRaceEntry(bc: bare.ByteCursor): WorkflowRaceEntry {
|
|
421
|
+
return {
|
|
422
|
+
winner: read1(bc),
|
|
423
|
+
branches: read2(bc),
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
export function writeWorkflowRaceEntry(bc: bare.ByteCursor, x: WorkflowRaceEntry): void {
|
|
428
|
+
write1(bc, x.winner)
|
|
429
|
+
write2(bc, x.branches)
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
export type WorkflowRemovedEntry = {
|
|
433
|
+
readonly originalType: string,
|
|
434
|
+
readonly originalName: string | null,
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
export function readWorkflowRemovedEntry(bc: bare.ByteCursor): WorkflowRemovedEntry {
|
|
438
|
+
return {
|
|
439
|
+
originalType: bare.readString(bc),
|
|
440
|
+
originalName: read1(bc),
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
export function writeWorkflowRemovedEntry(bc: bare.ByteCursor, x: WorkflowRemovedEntry): void {
|
|
445
|
+
bare.writeString(bc, x.originalType)
|
|
446
|
+
write1(bc, x.originalName)
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
export type WorkflowEntryKind =
|
|
450
|
+
| { readonly tag: "WorkflowStepEntry", readonly val: WorkflowStepEntry }
|
|
451
|
+
| { readonly tag: "WorkflowLoopEntry", readonly val: WorkflowLoopEntry }
|
|
452
|
+
| { readonly tag: "WorkflowSleepEntry", readonly val: WorkflowSleepEntry }
|
|
453
|
+
| { readonly tag: "WorkflowMessageEntry", readonly val: WorkflowMessageEntry }
|
|
454
|
+
| { readonly tag: "WorkflowRollbackCheckpointEntry", readonly val: WorkflowRollbackCheckpointEntry }
|
|
455
|
+
| { readonly tag: "WorkflowJoinEntry", readonly val: WorkflowJoinEntry }
|
|
456
|
+
| { readonly tag: "WorkflowRaceEntry", readonly val: WorkflowRaceEntry }
|
|
457
|
+
| { readonly tag: "WorkflowRemovedEntry", readonly val: WorkflowRemovedEntry }
|
|
458
|
+
|
|
459
|
+
export function readWorkflowEntryKind(bc: bare.ByteCursor): WorkflowEntryKind {
|
|
460
|
+
const offset = bc.offset
|
|
461
|
+
const tag = bare.readU8(bc)
|
|
462
|
+
switch (tag) {
|
|
463
|
+
case 0:
|
|
464
|
+
return { tag: "WorkflowStepEntry", val: readWorkflowStepEntry(bc) }
|
|
465
|
+
case 1:
|
|
466
|
+
return { tag: "WorkflowLoopEntry", val: readWorkflowLoopEntry(bc) }
|
|
467
|
+
case 2:
|
|
468
|
+
return { tag: "WorkflowSleepEntry", val: readWorkflowSleepEntry(bc) }
|
|
469
|
+
case 3:
|
|
470
|
+
return { tag: "WorkflowMessageEntry", val: readWorkflowMessageEntry(bc) }
|
|
471
|
+
case 4:
|
|
472
|
+
return { tag: "WorkflowRollbackCheckpointEntry", val: readWorkflowRollbackCheckpointEntry(bc) }
|
|
473
|
+
case 5:
|
|
474
|
+
return { tag: "WorkflowJoinEntry", val: readWorkflowJoinEntry(bc) }
|
|
475
|
+
case 6:
|
|
476
|
+
return { tag: "WorkflowRaceEntry", val: readWorkflowRaceEntry(bc) }
|
|
477
|
+
case 7:
|
|
478
|
+
return { tag: "WorkflowRemovedEntry", val: readWorkflowRemovedEntry(bc) }
|
|
479
|
+
default: {
|
|
480
|
+
bc.offset = offset
|
|
481
|
+
throw new bare.BareError(offset, "invalid tag")
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
export function writeWorkflowEntryKind(bc: bare.ByteCursor, x: WorkflowEntryKind): void {
|
|
487
|
+
switch (x.tag) {
|
|
488
|
+
case "WorkflowStepEntry": {
|
|
489
|
+
bare.writeU8(bc, 0)
|
|
490
|
+
writeWorkflowStepEntry(bc, x.val)
|
|
491
|
+
break
|
|
492
|
+
}
|
|
493
|
+
case "WorkflowLoopEntry": {
|
|
494
|
+
bare.writeU8(bc, 1)
|
|
495
|
+
writeWorkflowLoopEntry(bc, x.val)
|
|
496
|
+
break
|
|
497
|
+
}
|
|
498
|
+
case "WorkflowSleepEntry": {
|
|
499
|
+
bare.writeU8(bc, 2)
|
|
500
|
+
writeWorkflowSleepEntry(bc, x.val)
|
|
501
|
+
break
|
|
502
|
+
}
|
|
503
|
+
case "WorkflowMessageEntry": {
|
|
504
|
+
bare.writeU8(bc, 3)
|
|
505
|
+
writeWorkflowMessageEntry(bc, x.val)
|
|
506
|
+
break
|
|
507
|
+
}
|
|
508
|
+
case "WorkflowRollbackCheckpointEntry": {
|
|
509
|
+
bare.writeU8(bc, 4)
|
|
510
|
+
writeWorkflowRollbackCheckpointEntry(bc, x.val)
|
|
511
|
+
break
|
|
512
|
+
}
|
|
513
|
+
case "WorkflowJoinEntry": {
|
|
514
|
+
bare.writeU8(bc, 5)
|
|
515
|
+
writeWorkflowJoinEntry(bc, x.val)
|
|
516
|
+
break
|
|
517
|
+
}
|
|
518
|
+
case "WorkflowRaceEntry": {
|
|
519
|
+
bare.writeU8(bc, 6)
|
|
520
|
+
writeWorkflowRaceEntry(bc, x.val)
|
|
521
|
+
break
|
|
522
|
+
}
|
|
523
|
+
case "WorkflowRemovedEntry": {
|
|
524
|
+
bare.writeU8(bc, 7)
|
|
525
|
+
writeWorkflowRemovedEntry(bc, x.val)
|
|
526
|
+
break
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
export type WorkflowEntry = {
|
|
532
|
+
readonly id: string,
|
|
533
|
+
readonly location: WorkflowLocation,
|
|
534
|
+
readonly kind: WorkflowEntryKind,
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
export function readWorkflowEntry(bc: bare.ByteCursor): WorkflowEntry {
|
|
538
|
+
return {
|
|
539
|
+
id: bare.readString(bc),
|
|
540
|
+
location: readWorkflowLocation(bc),
|
|
541
|
+
kind: readWorkflowEntryKind(bc),
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
export function writeWorkflowEntry(bc: bare.ByteCursor, x: WorkflowEntry): void {
|
|
546
|
+
bare.writeString(bc, x.id)
|
|
547
|
+
writeWorkflowLocation(bc, x.location)
|
|
548
|
+
writeWorkflowEntryKind(bc, x.kind)
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
function read3(bc: bare.ByteCursor): u64 | null {
|
|
552
|
+
return bare.readBool(bc)
|
|
553
|
+
? bare.readU64(bc)
|
|
554
|
+
: null
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
function write3(bc: bare.ByteCursor, x: u64 | null): void {
|
|
558
|
+
bare.writeBool(bc, x !== null)
|
|
559
|
+
if (x !== null) {
|
|
560
|
+
bare.writeU64(bc, x)
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
export type WorkflowEntryMetadata = {
|
|
565
|
+
readonly status: WorkflowEntryStatus,
|
|
566
|
+
readonly error: string | null,
|
|
567
|
+
readonly attempts: u32,
|
|
568
|
+
readonly lastAttemptAt: u64,
|
|
569
|
+
readonly createdAt: u64,
|
|
570
|
+
readonly completedAt: u64 | null,
|
|
571
|
+
readonly rollbackCompletedAt: u64 | null,
|
|
572
|
+
readonly rollbackError: string | null,
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
export function readWorkflowEntryMetadata(bc: bare.ByteCursor): WorkflowEntryMetadata {
|
|
576
|
+
return {
|
|
577
|
+
status: readWorkflowEntryStatus(bc),
|
|
578
|
+
error: read1(bc),
|
|
579
|
+
attempts: bare.readU32(bc),
|
|
580
|
+
lastAttemptAt: bare.readU64(bc),
|
|
581
|
+
createdAt: bare.readU64(bc),
|
|
582
|
+
completedAt: read3(bc),
|
|
583
|
+
rollbackCompletedAt: read3(bc),
|
|
584
|
+
rollbackError: read1(bc),
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
export function writeWorkflowEntryMetadata(bc: bare.ByteCursor, x: WorkflowEntryMetadata): void {
|
|
589
|
+
writeWorkflowEntryStatus(bc, x.status)
|
|
590
|
+
write1(bc, x.error)
|
|
591
|
+
bare.writeU32(bc, x.attempts)
|
|
592
|
+
bare.writeU64(bc, x.lastAttemptAt)
|
|
593
|
+
bare.writeU64(bc, x.createdAt)
|
|
594
|
+
write3(bc, x.completedAt)
|
|
595
|
+
write3(bc, x.rollbackCompletedAt)
|
|
596
|
+
write1(bc, x.rollbackError)
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
function read4(bc: bare.ByteCursor): readonly string[] {
|
|
600
|
+
const len = bare.readUintSafe(bc)
|
|
601
|
+
if (len === 0) { return [] }
|
|
602
|
+
const result = [bare.readString(bc)]
|
|
603
|
+
for (let i = 1; i < len; i++) {
|
|
604
|
+
result[i] = bare.readString(bc)
|
|
605
|
+
}
|
|
606
|
+
return result
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
function write4(bc: bare.ByteCursor, x: readonly string[]): void {
|
|
610
|
+
bare.writeUintSafe(bc, x.length)
|
|
611
|
+
for (let i = 0; i < x.length; i++) {
|
|
612
|
+
bare.writeString(bc, x[i])
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
function read5(bc: bare.ByteCursor): readonly WorkflowEntry[] {
|
|
617
|
+
const len = bare.readUintSafe(bc)
|
|
618
|
+
if (len === 0) { return [] }
|
|
619
|
+
const result = [readWorkflowEntry(bc)]
|
|
620
|
+
for (let i = 1; i < len; i++) {
|
|
621
|
+
result[i] = readWorkflowEntry(bc)
|
|
622
|
+
}
|
|
623
|
+
return result
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
function write5(bc: bare.ByteCursor, x: readonly WorkflowEntry[]): void {
|
|
627
|
+
bare.writeUintSafe(bc, x.length)
|
|
628
|
+
for (let i = 0; i < x.length; i++) {
|
|
629
|
+
writeWorkflowEntry(bc, x[i])
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
function read6(bc: bare.ByteCursor): ReadonlyMap<string, WorkflowEntryMetadata> {
|
|
634
|
+
const len = bare.readUintSafe(bc)
|
|
635
|
+
const result = new Map<string, WorkflowEntryMetadata>()
|
|
636
|
+
for (let i = 0; i < len; i++) {
|
|
637
|
+
const offset = bc.offset
|
|
638
|
+
const key = bare.readString(bc)
|
|
639
|
+
if (result.has(key)) {
|
|
640
|
+
bc.offset = offset
|
|
641
|
+
throw new bare.BareError(offset, "duplicated key")
|
|
642
|
+
}
|
|
643
|
+
result.set(key, readWorkflowEntryMetadata(bc))
|
|
644
|
+
}
|
|
645
|
+
return result
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
function write6(bc: bare.ByteCursor, x: ReadonlyMap<string, WorkflowEntryMetadata>): void {
|
|
649
|
+
bare.writeUintSafe(bc, x.size)
|
|
650
|
+
for(const kv of x) {
|
|
651
|
+
bare.writeString(bc, kv[0])
|
|
652
|
+
writeWorkflowEntryMetadata(bc, kv[1])
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
export type WorkflowHistory = {
|
|
657
|
+
readonly nameRegistry: readonly string[],
|
|
658
|
+
readonly entries: readonly WorkflowEntry[],
|
|
659
|
+
readonly entryMetadata: ReadonlyMap<string, WorkflowEntryMetadata>,
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
export function readWorkflowHistory(bc: bare.ByteCursor): WorkflowHistory {
|
|
663
|
+
return {
|
|
664
|
+
nameRegistry: read4(bc),
|
|
665
|
+
entries: read5(bc),
|
|
666
|
+
entryMetadata: read6(bc),
|
|
667
|
+
}
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
export function writeWorkflowHistory(bc: bare.ByteCursor, x: WorkflowHistory): void {
|
|
671
|
+
write4(bc, x.nameRegistry)
|
|
672
|
+
write5(bc, x.entries)
|
|
673
|
+
write6(bc, x.entryMetadata)
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
export function encodeWorkflowHistory(x: WorkflowHistory): Uint8Array {
|
|
677
|
+
const bc = new bare.ByteCursor(
|
|
678
|
+
new Uint8Array(config.initialBufferLength),
|
|
679
|
+
config
|
|
680
|
+
)
|
|
681
|
+
writeWorkflowHistory(bc, x)
|
|
682
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
export function decodeWorkflowHistory(bytes: Uint8Array): WorkflowHistory {
|
|
686
|
+
const bc = new bare.ByteCursor(bytes, config)
|
|
687
|
+
const result = readWorkflowHistory(bc)
|
|
688
|
+
if (bc.offset < bc.view.byteLength) {
|
|
689
|
+
throw new bare.BareError(bc.offset, "remaining bytes")
|
|
690
|
+
}
|
|
691
|
+
return result
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
|
|
695
|
+
function assert(condition: boolean, message?: string): asserts condition {
|
|
696
|
+
if (!condition) throw new Error(message ?? "Assertion failed")
|
|
697
|
+
}
|