@rikalabs/akter 0.1.0-alpha.0
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/CHANGELOG.md +15 -0
- package/LICENSE +202 -0
- package/NOTICE +8 -0
- package/README.md +116 -0
- package/dist/actor/codecs.d.ts +77 -0
- package/dist/actor/codecs.js +87 -0
- package/dist/actor/connections.d.ts +34 -0
- package/dist/actor/connections.js +145 -0
- package/dist/actor/definition.d.ts +893 -0
- package/dist/actor/definition.js +147 -0
- package/dist/actor/descriptor.d.ts +172 -0
- package/dist/actor/descriptor.js +367 -0
- package/dist/actor/handles.d.ts +77 -0
- package/dist/actor/handles.js +265 -0
- package/dist/actor/jobs.d.ts +10 -0
- package/dist/actor/jobs.js +137 -0
- package/dist/actor/layers.d.ts +41 -0
- package/dist/actor/layers.js +177 -0
- package/dist/actor/reads.d.ts +47 -0
- package/dist/actor/reads.js +224 -0
- package/dist/actor/served.d.ts +120 -0
- package/dist/actor/served.js +72 -0
- package/dist/actor/turns.d.ts +13 -0
- package/dist/actor/turns.js +332 -0
- package/dist/actor/workflows.d.ts +16 -0
- package/dist/actor/workflows.js +37 -0
- package/dist/client/calls.d.ts +47 -0
- package/dist/client/calls.js +425 -0
- package/dist/client/clock.d.ts +56 -0
- package/dist/client/clock.js +119 -0
- package/dist/client/fleet-page.d.ts +15 -0
- package/dist/client/fleet-page.js +13 -0
- package/dist/client/fleet.d.ts +29 -0
- package/dist/client/fleet.js +51 -0
- package/dist/client/index.d.ts +17 -0
- package/dist/client/index.js +6 -0
- package/dist/client/make.d.ts +157 -0
- package/dist/client/make.js +221 -0
- package/dist/client/offline/queue.d.ts +118 -0
- package/dist/client/offline/queue.js +292 -0
- package/dist/client/offline/store.d.ts +74 -0
- package/dist/client/offline/store.js +78 -0
- package/dist/client/optimistic.d.ts +57 -0
- package/dist/client/optimistic.js +136 -0
- package/dist/client/report.d.ts +2 -0
- package/dist/client/report.js +8 -0
- package/dist/client/sessions/connection.d.ts +118 -0
- package/dist/client/sessions/connection.js +162 -0
- package/dist/client/sessions/feed.d.ts +42 -0
- package/dist/client/sessions/feed.js +43 -0
- package/dist/client/sessions/sse.d.ts +47 -0
- package/dist/client/sessions/sse.js +112 -0
- package/dist/client/sessions/stream.d.ts +28 -0
- package/dist/client/sessions/stream.js +35 -0
- package/dist/client/sessions/watch.d.ts +34 -0
- package/dist/client/sessions/watch.js +40 -0
- package/dist/client/transport.d.ts +37 -0
- package/dist/client/transport.js +66 -0
- package/dist/contexts/command.d.ts +132 -0
- package/dist/contexts/command.js +20 -0
- package/dist/contexts/connection.d.ts +68 -0
- package/dist/contexts/connection.js +0 -0
- package/dist/contexts/job.d.ts +49 -0
- package/dist/contexts/job.js +0 -0
- package/dist/contexts/workflow.d.ts +147 -0
- package/dist/contexts/workflow.js +22 -0
- package/dist/errors/actor.d.ts +200 -0
- package/dist/errors/actor.js +271 -0
- package/dist/errors/content.d.ts +19 -0
- package/dist/errors/content.js +14 -0
- package/dist/errors/database.d.ts +22 -0
- package/dist/errors/database.js +23 -0
- package/dist/errors/events.d.ts +17 -0
- package/dist/errors/events.js +14 -0
- package/dist/errors/subscription.d.ts +12 -0
- package/dist/errors/subscription.js +8 -0
- package/dist/errors/workflow.d.ts +28 -0
- package/dist/errors/workflow.js +17 -0
- package/dist/handles/actors.d.ts +17 -0
- package/dist/handles/actors.js +7 -0
- package/dist/handles/content.d.ts +59 -0
- package/dist/handles/content.js +36 -0
- package/dist/handles/intents.d.ts +164 -0
- package/dist/handles/intents.js +214 -0
- package/dist/handles/run.d.ts +31 -0
- package/dist/handles/run.js +21 -0
- package/dist/handles/workflow.d.ts +27 -0
- package/dist/handles/workflow.js +23 -0
- package/dist/identity/caller.d.ts +105 -0
- package/dist/identity/caller.js +68 -0
- package/dist/identity/child.d.ts +18 -0
- package/dist/identity/child.js +39 -0
- package/dist/identity/command.d.ts +19 -0
- package/dist/identity/command.js +21 -0
- package/dist/identity/connection.d.ts +24 -0
- package/dist/identity/connection.js +29 -0
- package/dist/identity/content.d.ts +18 -0
- package/dist/identity/content.js +12 -0
- package/dist/identity/digest.d.ts +4 -0
- package/dist/identity/digest.js +5 -0
- package/dist/identity/execution.d.ts +32 -0
- package/dist/identity/execution.js +63 -0
- package/dist/identity/mint.d.ts +51 -0
- package/dist/identity/mint.js +76 -0
- package/dist/identity/version.d.ts +2 -0
- package/dist/identity/version.js +3 -0
- package/dist/index.d.ts +159 -0
- package/dist/index.js +97 -0
- package/dist/members/blob.d.ts +43 -0
- package/dist/members/blob.js +29 -0
- package/dist/members/command.d.ts +109 -0
- package/dist/members/command.js +61 -0
- package/dist/members/connection.d.ts +55 -0
- package/dist/members/connection.js +49 -0
- package/dist/members/event.d.ts +36 -0
- package/dist/members/event.js +24 -0
- package/dist/members/job.d.ts +157 -0
- package/dist/members/job.js +67 -0
- package/dist/members/payload.d.ts +93 -0
- package/dist/members/payload.js +145 -0
- package/dist/members/reducer.d.ts +64 -0
- package/dist/members/reducer.js +27 -0
- package/dist/members/stream.d.ts +36 -0
- package/dist/members/stream.js +14 -0
- package/dist/members/subscription.d.ts +182 -0
- package/dist/members/subscription.js +91 -0
- package/dist/members/workflow.d.ts +99 -0
- package/dist/members/workflow.js +2 -0
- package/dist/policies/access.d.ts +35 -0
- package/dist/policies/access.js +6 -0
- package/dist/policies/command.d.ts +127 -0
- package/dist/policies/command.js +45 -0
- package/dist/policies/job.d.ts +28 -0
- package/dist/policies/job.js +60 -0
- package/dist/policies/schedules.d.ts +33 -0
- package/dist/policies/schedules.js +131 -0
- package/dist/protocol/frames.d.ts +66 -0
- package/dist/protocol/frames.js +55 -0
- package/dist/protocol/inspection.d.ts +807 -0
- package/dist/protocol/inspection.js +243 -0
- package/dist/protocol/wire.d.ts +184 -0
- package/dist/protocol/wire.js +150 -0
- package/dist/runtime/actors.d.ts +155 -0
- package/dist/runtime/actors.js +4 -0
- package/dist/runtime/admission.d.ts +34 -0
- package/dist/runtime/admission.js +72 -0
- package/dist/runtime/adoption/backfill.d.ts +27 -0
- package/dist/runtime/adoption/backfill.js +144 -0
- package/dist/runtime/adoption/enforce.d.ts +55 -0
- package/dist/runtime/adoption/enforce.js +241 -0
- package/dist/runtime/adoption/observe.d.ts +43 -0
- package/dist/runtime/adoption/observe.js +139 -0
- package/dist/runtime/adoption/plan.d.ts +45 -0
- package/dist/runtime/adoption/plan.js +192 -0
- package/dist/runtime/adoption/startup.d.ts +32 -0
- package/dist/runtime/adoption/startup.js +76 -0
- package/dist/runtime/adoption/status.d.ts +23 -0
- package/dist/runtime/adoption/status.js +47 -0
- package/dist/runtime/adoption/target.d.ts +33 -0
- package/dist/runtime/adoption/target.js +49 -0
- package/dist/runtime/connections/holder.d.ts +221 -0
- package/dist/runtime/connections/holder.js +816 -0
- package/dist/runtime/connections/owner.d.ts +263 -0
- package/dist/runtime/connections/owner.js +896 -0
- package/dist/runtime/connections/protocol.d.ts +441 -0
- package/dist/runtime/connections/protocol.js +222 -0
- package/dist/runtime/connections/reads.d.ts +24 -0
- package/dist/runtime/connections/reads.js +19 -0
- package/dist/runtime/connections/streams.d.ts +62 -0
- package/dist/runtime/connections/streams.js +128 -0
- package/dist/runtime/connections/transport.d.ts +40 -0
- package/dist/runtime/connections/transport.js +68 -0
- package/dist/runtime/connections/watch.d.ts +52 -0
- package/dist/runtime/connections/watch.js +159 -0
- package/dist/runtime/content/grant.d.ts +34 -0
- package/dist/runtime/content/grant.js +58 -0
- package/dist/runtime/content/store.d.ts +63 -0
- package/dist/runtime/content/store.js +294 -0
- package/dist/runtime/cron/key.d.ts +2 -0
- package/dist/runtime/cron/key.js +2 -0
- package/dist/runtime/cron/schedule.d.ts +69 -0
- package/dist/runtime/cron/schedule.js +144 -0
- package/dist/runtime/database/bounded.d.ts +43 -0
- package/dist/runtime/database/bounded.js +108 -0
- package/dist/runtime/database/connection.d.ts +8 -0
- package/dist/runtime/database/connection.js +18 -0
- package/dist/runtime/database/coordination.d.ts +19 -0
- package/dist/runtime/database/coordination.js +72 -0
- package/dist/runtime/database/flock.d.ts +10 -0
- package/dist/runtime/database/flock.js +60 -0
- package/dist/runtime/database/gate.d.ts +26 -0
- package/dist/runtime/database/gate.js +54 -0
- package/dist/runtime/database/keepalive.d.ts +11 -0
- package/dist/runtime/database/keepalive.js +22 -0
- package/dist/runtime/database/migrations.d.ts +177 -0
- package/dist/runtime/database/migrations.js +1018 -0
- package/dist/runtime/database/neki/migrations.d.ts +31 -0
- package/dist/runtime/database/neki/migrations.js +276 -0
- package/dist/runtime/database/neki/session.d.ts +23 -0
- package/dist/runtime/database/neki/session.js +31 -0
- package/dist/runtime/database/pglite.d.ts +21 -0
- package/dist/runtime/database/pglite.js +74 -0
- package/dist/runtime/database/replica.d.ts +41 -0
- package/dist/runtime/database/replica.js +51 -0
- package/dist/runtime/database/shards.d.ts +21 -0
- package/dist/runtime/database/shards.js +37 -0
- package/dist/runtime/database/snapshot.d.ts +7 -0
- package/dist/runtime/database/snapshot.js +7 -0
- package/dist/runtime/database/tenancy.d.ts +69 -0
- package/dist/runtime/database/tenancy.js +145 -0
- package/dist/runtime/database/transient.d.ts +10 -0
- package/dist/runtime/database/transient.js +25 -0
- package/dist/runtime/drain.d.ts +132 -0
- package/dist/runtime/drain.js +109 -0
- package/dist/runtime/entity/mailbox.d.ts +86 -0
- package/dist/runtime/entity/mailbox.js +121 -0
- package/dist/runtime/entity/register.d.ts +424 -0
- package/dist/runtime/entity/register.js +669 -0
- package/dist/runtime/events/append.d.ts +192 -0
- package/dist/runtime/events/append.js +128 -0
- package/dist/runtime/events/cursor.d.ts +2 -0
- package/dist/runtime/events/cursor.js +5 -0
- package/dist/runtime/events/replay.d.ts +20 -0
- package/dist/runtime/events/replay.js +45 -0
- package/dist/runtime/feeds.d.ts +26 -0
- package/dist/runtime/feeds.js +100 -0
- package/dist/runtime/fleet/checks.d.ts +17 -0
- package/dist/runtime/fleet/checks.js +106 -0
- package/dist/runtime/fleet/maintainer.d.ts +38 -0
- package/dist/runtime/fleet/maintainer.js +383 -0
- package/dist/runtime/fleet/pgoutput.d.ts +41 -0
- package/dist/runtime/fleet/pgoutput.js +102 -0
- package/dist/runtime/fleet/setup.d.ts +36 -0
- package/dist/runtime/fleet/setup.js +58 -0
- package/dist/runtime/fleet/subscribe.d.ts +42 -0
- package/dist/runtime/fleet/subscribe.js +147 -0
- package/dist/runtime/index.d.ts +66 -0
- package/dist/runtime/index.js +37 -0
- package/dist/runtime/inspector/http.d.ts +19 -0
- package/dist/runtime/inspector/http.js +36 -0
- package/dist/runtime/inspector/layer.d.ts +46 -0
- package/dist/runtime/inspector/layer.js +180 -0
- package/dist/runtime/inspector/queries.d.ts +711 -0
- package/dist/runtime/inspector/queries.js +494 -0
- package/dist/runtime/jobs/attempt.d.ts +254 -0
- package/dist/runtime/jobs/attempt.js +413 -0
- package/dist/runtime/jobs/isolation.d.ts +20 -0
- package/dist/runtime/jobs/isolation.js +10 -0
- package/dist/runtime/jobs/progress.d.ts +95 -0
- package/dist/runtime/jobs/progress.js +144 -0
- package/dist/runtime/layer.d.ts +260 -0
- package/dist/runtime/layer.js +876 -0
- package/dist/runtime/members.d.ts +381 -0
- package/dist/runtime/members.js +8 -0
- package/dist/runtime/operators/audit.d.ts +64 -0
- package/dist/runtime/operators/audit.js +56 -0
- package/dist/runtime/operators/auth.d.ts +29 -0
- package/dist/runtime/operators/auth.js +42 -0
- package/dist/runtime/operators/export.d.ts +68 -0
- package/dist/runtime/operators/export.js +137 -0
- package/dist/runtime/operators/grants.d.ts +45 -0
- package/dist/runtime/operators/grants.js +40 -0
- package/dist/runtime/operators/repair.d.ts +206 -0
- package/dist/runtime/operators/repair.js +226 -0
- package/dist/runtime/operators/routes.d.ts +35 -0
- package/dist/runtime/operators/routes.js +190 -0
- package/dist/runtime/operators/seed.d.ts +123 -0
- package/dist/runtime/operators/seed.js +123 -0
- package/dist/runtime/payloads/versions.d.ts +65 -0
- package/dist/runtime/payloads/versions.js +240 -0
- package/dist/runtime/peering/authority.d.ts +42 -0
- package/dist/runtime/peering/authority.js +132 -0
- package/dist/runtime/peering/credentials.d.ts +21 -0
- package/dist/runtime/peering/credentials.js +13 -0
- package/dist/runtime/peering/transport.d.ts +51 -0
- package/dist/runtime/peering/transport.js +175 -0
- package/dist/runtime/queries.d.ts +18 -0
- package/dist/runtime/queries.js +169 -0
- package/dist/runtime/readiness.d.ts +36 -0
- package/dist/runtime/readiness.js +44 -0
- package/dist/runtime/registration.d.ts +58 -0
- package/dist/runtime/registration.js +186 -0
- package/dist/runtime/request.d.ts +158 -0
- package/dist/runtime/request.js +102 -0
- package/dist/runtime/retry.d.ts +8 -0
- package/dist/runtime/retry.js +11 -0
- package/dist/runtime/runner.d.ts +93 -0
- package/dist/runtime/runner.js +122 -0
- package/dist/runtime/storage/codec.d.ts +39 -0
- package/dist/runtime/storage/codec.js +41 -0
- package/dist/runtime/storage/generation.d.ts +69 -0
- package/dist/runtime/storage/generation.js +49 -0
- package/dist/runtime/storage/placements.d.ts +15 -0
- package/dist/runtime/storage/placements.js +38 -0
- package/dist/runtime/storage/platform.d.ts +6 -0
- package/dist/runtime/storage/platform.js +9 -0
- package/dist/runtime/storage/retention.d.ts +73 -0
- package/dist/runtime/storage/retention.js +158 -0
- package/dist/runtime/subscriptions/identity.d.ts +31 -0
- package/dist/runtime/subscriptions/identity.js +45 -0
- package/dist/runtime/subscriptions/relay.d.ts +175 -0
- package/dist/runtime/subscriptions/relay.js +763 -0
- package/dist/runtime/subscriptions/storage.d.ts +40 -0
- package/dist/runtime/subscriptions/storage.js +98 -0
- package/dist/runtime/sweeps.d.ts +39 -0
- package/dist/runtime/sweeps.js +54 -0
- package/dist/runtime/telemetry/defects.d.ts +57 -0
- package/dist/runtime/telemetry/defects.js +43 -0
- package/dist/runtime/telemetry/metrics.d.ts +52 -0
- package/dist/runtime/telemetry/metrics.js +138 -0
- package/dist/runtime/telemetry/routes.d.ts +19 -0
- package/dist/runtime/telemetry/routes.js +18 -0
- package/dist/runtime/telemetry/sampler.d.ts +26 -0
- package/dist/runtime/telemetry/sampler.js +101 -0
- package/dist/runtime/telemetry/spans.d.ts +38 -0
- package/dist/runtime/telemetry/spans.js +44 -0
- package/dist/runtime/telemetry/usage.d.ts +52 -0
- package/dist/runtime/telemetry/usage.js +30 -0
- package/dist/runtime/topology/admission.d.ts +13 -0
- package/dist/runtime/topology/admission.js +36 -0
- package/dist/runtime/topology/locks.d.ts +56 -0
- package/dist/runtime/topology/locks.js +81 -0
- package/dist/runtime/topology/messages.d.ts +15 -0
- package/dist/runtime/topology/messages.js +32 -0
- package/dist/runtime/turn/admission.d.ts +22 -0
- package/dist/runtime/turn/admission.js +41 -0
- package/dist/runtime/turn/blobs.d.ts +38 -0
- package/dist/runtime/turn/blobs.js +215 -0
- package/dist/runtime/turn/execute.d.ts +208 -0
- package/dist/runtime/turn/execute.js +972 -0
- package/dist/runtime/turn/group.d.ts +165 -0
- package/dist/runtime/turn/group.js +326 -0
- package/dist/runtime/turn/hooks.d.ts +44 -0
- package/dist/runtime/turn/hooks.js +28 -0
- package/dist/runtime/turn/outbox.d.ts +159 -0
- package/dist/runtime/turn/outbox.js +269 -0
- package/dist/runtime/turn/pipeline.d.ts +68 -0
- package/dist/runtime/turn/pipeline.js +83 -0
- package/dist/runtime/turn/receipt.d.ts +81 -0
- package/dist/runtime/turn/receipt.js +32 -0
- package/dist/runtime/turn/relay.d.ts +179 -0
- package/dist/runtime/turn/relay.js +685 -0
- package/dist/runtime/turn/rows.d.ts +43 -0
- package/dist/runtime/turn/rows.js +592 -0
- package/dist/runtime/workflows/compatibility.d.ts +125 -0
- package/dist/runtime/workflows/compatibility.js +285 -0
- package/dist/runtime/workflows/engine.d.ts +107 -0
- package/dist/runtime/workflows/engine.js +826 -0
- package/dist/runtime/workflows/manifest.d.ts +34 -0
- package/dist/runtime/workflows/manifest.js +39 -0
- package/dist/runtime/workflows/steps.d.ts +33 -0
- package/dist/runtime/workflows/steps.js +152 -0
- package/dist/serve/api.d.ts +99 -0
- package/dist/serve/api.js +403 -0
- package/dist/serve/assertion/binding.d.ts +41 -0
- package/dist/serve/assertion/binding.js +92 -0
- package/dist/serve/assertion/verify.d.ts +93 -0
- package/dist/serve/assertion/verify.js +189 -0
- package/dist/serve/auth.d.ts +200 -0
- package/dist/serve/auth.js +92 -0
- package/dist/serve/clock.d.ts +10 -0
- package/dist/serve/clock.js +25 -0
- package/dist/serve/jwt.d.ts +65 -0
- package/dist/serve/jwt.js +202 -0
- package/dist/serve/layer.d.ts +98 -0
- package/dist/serve/layer.js +809 -0
- package/dist/serve/mcp/endpoint.d.ts +39 -0
- package/dist/serve/mcp/endpoint.js +187 -0
- package/dist/serve/mcp/tools.d.ts +37 -0
- package/dist/serve/mcp/tools.js +125 -0
- package/dist/serve/origin.d.ts +6 -0
- package/dist/serve/origin.js +21 -0
- package/dist/serve/sessions/feed.d.ts +79 -0
- package/dist/serve/sessions/feed.js +115 -0
- package/dist/serve/sessions/socket.d.ts +56 -0
- package/dist/serve/sessions/socket.js +212 -0
- package/dist/serve/sessions/sse.d.ts +27 -0
- package/dist/serve/sessions/sse.js +26 -0
- package/dist/serve/sessions/stream.d.ts +9 -0
- package/dist/serve/sessions/stream.js +9 -0
- package/dist/serve/sessions/watch.d.ts +12 -0
- package/dist/serve/sessions/watch.js +11 -0
- package/dist/serve/wire.d.ts +16 -0
- package/dist/serve/wire.js +50 -0
- package/dist/state/blob.d.ts +71 -0
- package/dist/state/blob.js +0 -0
- package/dist/state/migration.d.ts +53 -0
- package/dist/state/migration.js +29 -0
- package/dist/tables/fleet.d.ts +170 -0
- package/dist/tables/fleet.js +214 -0
- package/dist/tables/owned.d.ts +250 -0
- package/dist/tables/owned.js +233 -0
- package/dist/testing/actor-test.d.ts +360 -0
- package/dist/testing/actor-test.js +337 -0
- package/dist/testing/cluster.d.ts +93 -0
- package/dist/testing/cluster.js +296 -0
- package/dist/testing/conformance/access.d.ts +5 -0
- package/dist/testing/conformance/access.js +531 -0
- package/dist/testing/conformance/admission.d.ts +11 -0
- package/dist/testing/conformance/admission.js +182 -0
- package/dist/testing/conformance/adoption.d.ts +2 -0
- package/dist/testing/conformance/adoption.js +1019 -0
- package/dist/testing/conformance/assertions.d.ts +202 -0
- package/dist/testing/conformance/assertions.js +849 -0
- package/dist/testing/conformance/batches.d.ts +41 -0
- package/dist/testing/conformance/batches.js +388 -0
- package/dist/testing/conformance/blobs.d.ts +14 -0
- package/dist/testing/conformance/blobs.js +405 -0
- package/dist/testing/conformance/capacity.d.ts +8 -0
- package/dist/testing/conformance/capacity.js +433 -0
- package/dist/testing/conformance/client.d.ts +5 -0
- package/dist/testing/conformance/client.js +719 -0
- package/dist/testing/conformance/cold-serve.d.ts +16 -0
- package/dist/testing/conformance/cold-serve.js +254 -0
- package/dist/testing/conformance/connections/actors.d.ts +1143 -0
- package/dist/testing/conformance/connections/actors.js +180 -0
- package/dist/testing/conformance/connections/harness.d.ts +1754 -0
- package/dist/testing/conformance/connections/harness.js +142 -0
- package/dist/testing/conformance/connections/holders.d.ts +4 -0
- package/dist/testing/conformance/connections/holders.js +165 -0
- package/dist/testing/conformance/connections/lifecycle.d.ts +4 -0
- package/dist/testing/conformance/connections/lifecycle.js +113 -0
- package/dist/testing/conformance/connections/limits.d.ts +4 -0
- package/dist/testing/conformance/connections/limits.js +127 -0
- package/dist/testing/conformance/connections/reauthorization.d.ts +4 -0
- package/dist/testing/conformance/connections/reauthorization.js +170 -0
- package/dist/testing/conformance/connections/resync.d.ts +4 -0
- package/dist/testing/conformance/connections/resync.js +360 -0
- package/dist/testing/conformance/connections/takeover.d.ts +4 -0
- package/dist/testing/conformance/connections/takeover.js +287 -0
- package/dist/testing/conformance/connections.d.ts +4 -0
- package/dist/testing/conformance/connections.js +15 -0
- package/dist/testing/conformance/content-blobs.d.ts +16 -0
- package/dist/testing/conformance/content-blobs.js +534 -0
- package/dist/testing/conformance/counter.d.ts +16 -0
- package/dist/testing/conformance/counter.js +813 -0
- package/dist/testing/conformance/cron.d.ts +5 -0
- package/dist/testing/conformance/cron.js +665 -0
- package/dist/testing/conformance/drain.d.ts +26 -0
- package/dist/testing/conformance/drain.js +540 -0
- package/dist/testing/conformance/effect-control.d.ts +38 -0
- package/dist/testing/conformance/effect-control.js +1059 -0
- package/dist/testing/conformance/effects.d.ts +23 -0
- package/dist/testing/conformance/effects.js +432 -0
- package/dist/testing/conformance/events.d.ts +28 -0
- package/dist/testing/conformance/events.js +335 -0
- package/dist/testing/conformance/export.d.ts +2 -0
- package/dist/testing/conformance/export.js +368 -0
- package/dist/testing/conformance/fleet.d.ts +444 -0
- package/dist/testing/conformance/fleet.js +1009 -0
- package/dist/testing/conformance/groups.d.ts +7 -0
- package/dist/testing/conformance/groups.js +353 -0
- package/dist/testing/conformance/heap.d.ts +3 -0
- package/dist/testing/conformance/heap.js +149 -0
- package/dist/testing/conformance/http.d.ts +2809 -0
- package/dist/testing/conformance/http.js +1234 -0
- package/dist/testing/conformance/inspection-views.d.ts +8 -0
- package/dist/testing/conformance/inspection-views.js +272 -0
- package/dist/testing/conformance/inspector.d.ts +7 -0
- package/dist/testing/conformance/inspector.js +650 -0
- package/dist/testing/conformance/mint.d.ts +58 -0
- package/dist/testing/conformance/mint.js +692 -0
- package/dist/testing/conformance/multi-runner.d.ts +8 -0
- package/dist/testing/conformance/multi-runner.js +403 -0
- package/dist/testing/conformance/neki/plan.d.ts +19 -0
- package/dist/testing/conformance/neki/plan.js +30 -0
- package/dist/testing/conformance/observability.d.ts +3 -0
- package/dist/testing/conformance/observability.js +343 -0
- package/dist/testing/conformance/offline.d.ts +4 -0
- package/dist/testing/conformance/offline.js +474 -0
- package/dist/testing/conformance/operator-harness.d.ts +57 -0
- package/dist/testing/conformance/operator-harness.js +78 -0
- package/dist/testing/conformance/operator.d.ts +3 -0
- package/dist/testing/conformance/operator.js +379 -0
- package/dist/testing/conformance/outbox-cross-shard.d.ts +14 -0
- package/dist/testing/conformance/outbox-cross-shard.js +160 -0
- package/dist/testing/conformance/outbox.d.ts +36 -0
- package/dist/testing/conformance/outbox.js +437 -0
- package/dist/testing/conformance/payload-migrations.d.ts +3 -0
- package/dist/testing/conformance/payload-migrations.js +612 -0
- package/dist/testing/conformance/pipeline.d.ts +3 -0
- package/dist/testing/conformance/pipeline.js +1040 -0
- package/dist/testing/conformance/placement.d.ts +22 -0
- package/dist/testing/conformance/placement.js +539 -0
- package/dist/testing/conformance/platform.d.ts +40 -0
- package/dist/testing/conformance/platform.js +101 -0
- package/dist/testing/conformance/progress.d.ts +39 -0
- package/dist/testing/conformance/progress.js +666 -0
- package/dist/testing/conformance/properties.d.ts +6 -0
- package/dist/testing/conformance/properties.js +295 -0
- package/dist/testing/conformance/protocols.d.ts +4 -0
- package/dist/testing/conformance/protocols.js +618 -0
- package/dist/testing/conformance/provider/advertise.d.ts +21 -0
- package/dist/testing/conformance/provider/advertise.js +44 -0
- package/dist/testing/conformance/read-your-writes.d.ts +20 -0
- package/dist/testing/conformance/read-your-writes.js +192 -0
- package/dist/testing/conformance/reducers.d.ts +8 -0
- package/dist/testing/conformance/reducers.js +258 -0
- package/dist/testing/conformance/relay.d.ts +42 -0
- package/dist/testing/conformance/relay.js +1115 -0
- package/dist/testing/conformance/restore.d.ts +43 -0
- package/dist/testing/conformance/restore.js +341 -0
- package/dist/testing/conformance/retention.d.ts +14 -0
- package/dist/testing/conformance/retention.js +463 -0
- package/dist/testing/conformance/rls.d.ts +24 -0
- package/dist/testing/conformance/rls.js +576 -0
- package/dist/testing/conformance/simulation.d.ts +31 -0
- package/dist/testing/conformance/simulation.js +167 -0
- package/dist/testing/conformance/single-shard.d.ts +2 -0
- package/dist/testing/conformance/single-shard.js +125 -0
- package/dist/testing/conformance/singleton.d.ts +3 -0
- package/dist/testing/conformance/singleton.js +293 -0
- package/dist/testing/conformance/statements.d.ts +60 -0
- package/dist/testing/conformance/statements.js +108 -0
- package/dist/testing/conformance/streams.d.ts +7 -0
- package/dist/testing/conformance/streams.js +280 -0
- package/dist/testing/conformance/subscriptions/access.d.ts +4 -0
- package/dist/testing/conformance/subscriptions/access.js +98 -0
- package/dist/testing/conformance/subscriptions/actors.d.ts +4910 -0
- package/dist/testing/conformance/subscriptions/actors.js +372 -0
- package/dist/testing/conformance/subscriptions/cluster.d.ts +4 -0
- package/dist/testing/conformance/subscriptions/cluster.js +89 -0
- package/dist/testing/conformance/subscriptions/delivery.d.ts +4 -0
- package/dist/testing/conformance/subscriptions/delivery.js +253 -0
- package/dist/testing/conformance/subscriptions/deploys.d.ts +4 -0
- package/dist/testing/conformance/subscriptions/deploys.js +162 -0
- package/dist/testing/conformance/subscriptions/epochs.d.ts +4 -0
- package/dist/testing/conformance/subscriptions/epochs.js +169 -0
- package/dist/testing/conformance/subscriptions/failures.d.ts +4 -0
- package/dist/testing/conformance/subscriptions/failures.js +108 -0
- package/dist/testing/conformance/subscriptions/feeds.d.ts +4 -0
- package/dist/testing/conformance/subscriptions/feeds.js +218 -0
- package/dist/testing/conformance/subscriptions/harness.d.ts +124 -0
- package/dist/testing/conformance/subscriptions/harness.js +143 -0
- package/dist/testing/conformance/subscriptions/operator.d.ts +4 -0
- package/dist/testing/conformance/subscriptions/operator.js +128 -0
- package/dist/testing/conformance/subscriptions/retention.d.ts +4 -0
- package/dist/testing/conformance/subscriptions/retention.js +288 -0
- package/dist/testing/conformance/subscriptions/routing.d.ts +4 -0
- package/dist/testing/conformance/subscriptions/routing.js +179 -0
- package/dist/testing/conformance/subscriptions.d.ts +4 -0
- package/dist/testing/conformance/subscriptions.js +19 -0
- package/dist/testing/conformance/tables.d.ts +125 -0
- package/dist/testing/conformance/tables.js +664 -0
- package/dist/testing/conformance/transports/actors.d.ts +1907 -0
- package/dist/testing/conformance/transports/actors.js +163 -0
- package/dist/testing/conformance/transports/client.d.ts +3 -0
- package/dist/testing/conformance/transports/client.js +237 -0
- package/dist/testing/conformance/transports/feeds.d.ts +3 -0
- package/dist/testing/conformance/transports/feeds.js +232 -0
- package/dist/testing/conformance/transports/harness.d.ts +93 -0
- package/dist/testing/conformance/transports/harness.js +84 -0
- package/dist/testing/conformance/transports/streams.d.ts +3 -0
- package/dist/testing/conformance/transports/streams.js +96 -0
- package/dist/testing/conformance/transports/websocket.d.ts +3 -0
- package/dist/testing/conformance/transports/websocket.js +384 -0
- package/dist/testing/conformance/transports/wire.d.ts +141 -0
- package/dist/testing/conformance/transports/wire.js +204 -0
- package/dist/testing/conformance/transports.d.ts +3 -0
- package/dist/testing/conformance/transports.js +11 -0
- package/dist/testing/conformance/watch.d.ts +59 -0
- package/dist/testing/conformance/watch.js +879 -0
- package/dist/testing/conformance/workflow-engine.d.ts +97 -0
- package/dist/testing/conformance/workflow-engine.js +253 -0
- package/dist/testing/conformance/workflow-versions.d.ts +3 -0
- package/dist/testing/conformance/workflow-versions.js +545 -0
- package/dist/testing/conformance/workflows/access.d.ts +4 -0
- package/dist/testing/conformance/workflows/access.js +147 -0
- package/dist/testing/conformance/workflows/actors.d.ts +2317 -0
- package/dist/testing/conformance/workflows/actors.js +305 -0
- package/dist/testing/conformance/workflows/basics.d.ts +4 -0
- package/dist/testing/conformance/workflows/basics.js +144 -0
- package/dist/testing/conformance/workflows/engine.d.ts +4 -0
- package/dist/testing/conformance/workflows/engine.js +80 -0
- package/dist/testing/conformance/workflows/guards.d.ts +4 -0
- package/dist/testing/conformance/workflows/guards.js +172 -0
- package/dist/testing/conformance/workflows/harness.d.ts +14 -0
- package/dist/testing/conformance/workflows/harness.js +44 -0
- package/dist/testing/conformance/workflows/recovery.d.ts +4 -0
- package/dist/testing/conformance/workflows/recovery.js +181 -0
- package/dist/testing/conformance/workflows/starts.d.ts +4 -0
- package/dist/testing/conformance/workflows/starts.js +57 -0
- package/dist/testing/conformance/workflows/suspension.d.ts +4 -0
- package/dist/testing/conformance/workflows/suspension.js +106 -0
- package/dist/testing/conformance/workflows/waits.d.ts +4 -0
- package/dist/testing/conformance/workflows/waits.js +284 -0
- package/dist/testing/conformance/workflows.d.ts +4 -0
- package/dist/testing/conformance/workflows.js +19 -0
- package/dist/testing/conformance.d.ts +330 -0
- package/dist/testing/conformance.js +364 -0
- package/dist/testing/database.d.ts +31 -0
- package/dist/testing/database.js +70 -0
- package/dist/testing/foundation.d.ts +41 -0
- package/dist/testing/foundation.js +517 -0
- package/dist/testing/index.d.ts +20 -0
- package/dist/testing/index.js +12 -0
- package/dist/testing/property.d.ts +40 -0
- package/dist/testing/property.js +95 -0
- package/dist/testing/simulate-cluster.d.ts +112 -0
- package/dist/testing/simulate-cluster.js +257 -0
- package/dist/testing/simulate.d.ts +90 -0
- package/dist/testing/simulate.js +127 -0
- package/package.json +1 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Crypto, Effect, Schema } from "effect";
|
|
2
|
+
import { ActorError, CommandConflict, Unauthorized } from "../../errors/actor.js";
|
|
3
|
+
import { Outcome } from "../request.js";
|
|
4
|
+
import { callerKey } from "../../identity/caller.js";
|
|
5
|
+
const OutcomeJson = Schema.fromJsonString(Outcome);
|
|
6
|
+
const encodeOutcomeJson = Schema.encodeEffect(OutcomeJson);
|
|
7
|
+
/** Encodes an outcome to the JSON text a receipt stores. */
|
|
8
|
+
export const encodeOutcome = (outcome) => encodeOutcomeJson(outcome);
|
|
9
|
+
const decodeOutcome = Schema.decodeEffect(OutcomeJson);
|
|
10
|
+
const utf8 = new TextEncoder();
|
|
11
|
+
/** SHA-256 over Postgres's JSONB text normalization of a payload, as stored in receipts. */
|
|
12
|
+
export const hashCanonical = Effect.fnUntraced(function* (canonical) {
|
|
13
|
+
const bytes = yield* (yield* Crypto.Crypto)
|
|
14
|
+
.digest("SHA-256", utf8.encode(canonical))
|
|
15
|
+
.pipe(Effect.orDie);
|
|
16
|
+
return Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength).toString("hex");
|
|
17
|
+
});
|
|
18
|
+
/**
|
|
19
|
+
* Access and conflict rules for a retained receipt, shared by admission and
|
|
20
|
+
* replay. Fails with `ActorError` `Unauthorized` when the caller differs and
|
|
21
|
+
* `CommandConflict` when the command or payload hash differs; otherwise it
|
|
22
|
+
* returns the stored outcome. A stored outcome that cannot be decoded is a defect.
|
|
23
|
+
*/
|
|
24
|
+
export const checkReceipt = Effect.fnUntraced(function* (request, hash, receipt) {
|
|
25
|
+
if (receipt.caller_key !== callerKey(request.caller))
|
|
26
|
+
return yield* ActorError.make({ reason: Unauthorized.make({ code: "receipt_access_denied" }) });
|
|
27
|
+
if (receipt.command !== request.command || receipt.payload_hash !== hash)
|
|
28
|
+
return yield* ActorError.make({
|
|
29
|
+
reason: CommandConflict.make({ commandId: request.commandId }),
|
|
30
|
+
});
|
|
31
|
+
return yield* decodeOutcome(receipt.outcome).pipe(Effect.orDie);
|
|
32
|
+
});
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { Crypto, Effect } from "effect";
|
|
2
|
+
import { SqlClient, Statement } from "effect/sql";
|
|
3
|
+
import type { ActorError } from "../../errors/actor.ts";
|
|
4
|
+
import { Outcome, Request } from "../request.ts";
|
|
5
|
+
import { type RegisteredJob } from "../members.ts";
|
|
6
|
+
import { type CappedGroup, type ClaimedJob } from "../jobs/attempt.ts";
|
|
7
|
+
import { type CronSchedule } from "../cron/schedule.ts";
|
|
8
|
+
import { type BucketRange } from "../database/shards.ts";
|
|
9
|
+
import type { Handoff, SubscriptionError, SubscriptionClaim, SubscriptionSlots, SubscriptionWork } from "../subscriptions/relay.ts";
|
|
10
|
+
/** The relay and executor pool settings of one runner, resolved from `Actors.layer`. */
|
|
11
|
+
export interface RelaySettings {
|
|
12
|
+
/** Durable polling interval; each wait is jittered by ±10%. */
|
|
13
|
+
readonly pollMs: number;
|
|
14
|
+
/** Intent rows claimed by one claim statement at most. */
|
|
15
|
+
readonly passLimit: number;
|
|
16
|
+
/** Intents delivered at once on this runner. */
|
|
17
|
+
readonly deliveryConcurrency: number;
|
|
18
|
+
/** How long a claimed intent stays out of every runner's scans. */
|
|
19
|
+
readonly claimLeaseMs: () => number;
|
|
20
|
+
/** Cap on intent redelivery backoff. */
|
|
21
|
+
readonly maxBackoffMs: number;
|
|
22
|
+
/** Job attempts running at once on this runner. */
|
|
23
|
+
readonly executorConcurrency: number;
|
|
24
|
+
/** An attempt's claim; renewed every third of it while the attempt runs. */
|
|
25
|
+
readonly executorLeaseMs: number;
|
|
26
|
+
/** How long after its due time a relay-written command id stays retryable. */
|
|
27
|
+
readonly retryWindowMs: number;
|
|
28
|
+
/**
|
|
29
|
+
* How often a running attempt renews its claim and checks for a
|
|
30
|
+
* cancellation committed on another runner; at most a third of the lease.
|
|
31
|
+
*/
|
|
32
|
+
readonly cancelCheckMs?: number | undefined;
|
|
33
|
+
}
|
|
34
|
+
/** An executor this runner has, by actor type and job tag. */
|
|
35
|
+
interface LocalExecutor {
|
|
36
|
+
readonly actor: string;
|
|
37
|
+
readonly job: string;
|
|
38
|
+
readonly registered: RegisteredJob;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* One row of the claim statement. An `intent` or `job` row is a claimed
|
|
42
|
+
* outbox row; a `skipped-*` row claims nothing and reports a probe whose
|
|
43
|
+
* candidates were all taken or locked; a `work` row carries claimed
|
|
44
|
+
* subscription work in `work`.
|
|
45
|
+
*/
|
|
46
|
+
interface ClaimedRow extends ClaimedJob {
|
|
47
|
+
readonly kind: "intent" | "job" | "skipped-intent" | "skipped-job" | "work";
|
|
48
|
+
readonly target_type: string;
|
|
49
|
+
readonly target_id: string;
|
|
50
|
+
readonly timer_key: string | null;
|
|
51
|
+
readonly scheduled_at: string;
|
|
52
|
+
readonly candidates: number;
|
|
53
|
+
readonly work: string | null;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The due-work probe: up to `limit` due rows of `kind` from one
|
|
57
|
+
* `(bucket, kind, due_at_ms)` index range per bucket, so its cost follows due
|
|
58
|
+
* rows of one kind, not stored actors or future timers. It takes no locks; a
|
|
59
|
+
* claim locks only the rows it takes from it. `only` filters inside each
|
|
60
|
+
* bucket's probe, so due rows the caller cannot claim never fill the
|
|
61
|
+
* per-bucket limit ahead of rows it can.
|
|
62
|
+
*/
|
|
63
|
+
export declare const candidates: ({ sql, kind, now, limit, only, range, }: {
|
|
64
|
+
readonly sql: SqlClient.SqlClient;
|
|
65
|
+
readonly kind: "intent" | "job" | "feed" | "control";
|
|
66
|
+
readonly now: Statement.Fragment;
|
|
67
|
+
readonly limit: number;
|
|
68
|
+
readonly only?: Statement.Fragment;
|
|
69
|
+
readonly range?: BucketRange | undefined;
|
|
70
|
+
}) => Statement.Statement<import("effect/sql/SqlConnection").Row>;
|
|
71
|
+
/** Intents to claim in one statement: up to `limit` free delivery slots. */
|
|
72
|
+
interface IntentClaim {
|
|
73
|
+
readonly limit: number;
|
|
74
|
+
readonly leaseMs: number;
|
|
75
|
+
readonly maxBackoffMs: number;
|
|
76
|
+
/** Due candidates probed before locking; defaults to twice `limit`. */
|
|
77
|
+
readonly probe?: number | undefined;
|
|
78
|
+
/** Actor types registered here; `$cron:` ticks of any other type are left for their runners. */
|
|
79
|
+
readonly cronActors?: ReadonlyArray<string> | undefined;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Claims one capped group's jobs in its own transaction, under its actor's
|
|
83
|
+
* generation row lock, so claims on every runner see each other's running rows. It
|
|
84
|
+
* settles cancelled rows whose attempt ended, starts the oldest rows by
|
|
85
|
+
* `(ready_at_ms, intent_id)` while fewer than `cap` attempts hold a live
|
|
86
|
+
* lease, and moves the group's other due rows out of the due range as
|
|
87
|
+
* waiting, so they never fill a probe ahead of other actors' work. A waiting
|
|
88
|
+
* row becomes due again when an attempt of its group settles, or after one
|
|
89
|
+
* lease.
|
|
90
|
+
*
|
|
91
|
+
* An attempt renews, backs off, and settles its own row without the group's
|
|
92
|
+
* lock, so before it counts live leases the claim waits for those writes on
|
|
93
|
+
* the group's running rows. Otherwise `SKIP LOCKED` would pass over an older
|
|
94
|
+
* row whose lost lease is being renewed and start a younger one, and the
|
|
95
|
+
* renewal would then leave two attempts holding leases under a cap of one.
|
|
96
|
+
*/
|
|
97
|
+
export declare const claimCapped: ({ sql, now, group, cap, maxAttempts, permits, leaseMs, }: {
|
|
98
|
+
readonly sql: SqlClient.SqlClient;
|
|
99
|
+
readonly now: Statement.Fragment;
|
|
100
|
+
readonly group: CappedGroup;
|
|
101
|
+
readonly cap: number;
|
|
102
|
+
readonly maxAttempts: number;
|
|
103
|
+
readonly permits: number;
|
|
104
|
+
readonly leaseMs: number;
|
|
105
|
+
}) => Effect.Effect<readonly ClaimedRow[], import("effect/sql/SqlError").SqlError, never>;
|
|
106
|
+
/** The outbox clock inside a statement: its start time on the database plus the test offset. */
|
|
107
|
+
export declare const outboxNow: ({ sql, offsetMillis, }: {
|
|
108
|
+
readonly sql: SqlClient.SqlClient;
|
|
109
|
+
readonly offsetMillis: number;
|
|
110
|
+
}) => Statement.Statement<import("effect/sql/SqlConnection").Row>;
|
|
111
|
+
/** The intent half of `claimDue` at a fixed `now`, as a statement to inspect. */
|
|
112
|
+
export declare const claimIntents: ({ sql, now, range, ...intents }: IntentClaim & {
|
|
113
|
+
readonly sql: SqlClient.SqlClient;
|
|
114
|
+
readonly now: number;
|
|
115
|
+
readonly range?: BucketRange | undefined;
|
|
116
|
+
}) => Statement.Statement<ClaimedRow>;
|
|
117
|
+
/**
|
|
118
|
+
* The outbox relay of one runner among any number sharing the database. Each
|
|
119
|
+
* pass claims, for every family of work (intents, job attempts, and feed,
|
|
120
|
+
* control, and subscription work), only as many rows as the family has free
|
|
121
|
+
* fibers, then starts each one at once. A pass runs uninterruptibly under a
|
|
122
|
+
* lock, so every row a claim returns reaches a fiber that can release it.
|
|
123
|
+
* When both capped and uncapped jobs are due, passes alternate which claims
|
|
124
|
+
* first, so a steady stream of either can't take every permit.
|
|
125
|
+
*
|
|
126
|
+
* An intent is delivered as a direct command whose command id is the intent
|
|
127
|
+
* id, and its row is deleted only after the receiver's receipt has committed.
|
|
128
|
+
* A crash leaves the claim in place until its lease ends; any runner then
|
|
129
|
+
* redelivers, and the receipt deduplicates. A row that cannot form a request,
|
|
130
|
+
* a delivery that fails, and a defect outcome back off and retry with no retry
|
|
131
|
+
* limit; the logged warning and `attempts` are the operator signal. A declared
|
|
132
|
+
* failure is a committed receipt, so only a missing receipt retries. An
|
|
133
|
+
* interrupted delivery makes its row due at once.
|
|
134
|
+
*
|
|
135
|
+
* A job attempt runs on its own family and settles its row itself; see
|
|
136
|
+
* `jobAttempts`. A running attempt is registered before the pass releases its
|
|
137
|
+
* lock and until its outcome is written, so every clock jump after the claim
|
|
138
|
+
* moves its lease; a local cancellation signals running attempts directly.
|
|
139
|
+
*
|
|
140
|
+
* Subscription work runs in its own families, so a subscription backlog never
|
|
141
|
+
* delays intents, timers, or jobs; expansion work starts the rows it leased
|
|
142
|
+
* without a claim pass; `schedules` names the cron actors whose ticks this
|
|
143
|
+
* runner claims. The returned handle: `run` loops passes on a jittered poll
|
|
144
|
+
* and `wake`; `drain` waits for in-flight work, which may stage more, then
|
|
145
|
+
* claims again until a claim finds nothing while nothing was running (work
|
|
146
|
+
* runs only on fibers a pass starts, so none running means nothing can stage
|
|
147
|
+
* rows after that claim read), failing if deliveries keep staging due work,
|
|
148
|
+
* and counting toward that limit only rounds that drained every due row;
|
|
149
|
+
* `stop` ends claims and interrupts deliveries at once, since a delivery only
|
|
150
|
+
* waits on a turn its receiver's owner finishes or rolls back on its own, and
|
|
151
|
+
* the receiver's receipt answers a redelivery of work that did commit;
|
|
152
|
+
* `interruptAttempts` interrupts running attempts and returns how many,
|
|
153
|
+
* leaving their claims and `ambiguous` marks because the provider may have
|
|
154
|
+
* applied the call, so another runner takes the job over once the lease ends;
|
|
155
|
+
* `attemptsIdle` waits for attempts to end; `extendLeases` moves running
|
|
156
|
+
* attempts' leases with a jump of the outbox clock, as the renewals during
|
|
157
|
+
* that time would have, holding the pass lock so no claim reads the clock
|
|
158
|
+
* between the moved leases and the jump; `cancelled` makes running attempts
|
|
159
|
+
* check for cancellation now. Closing the scope stops further claims, after
|
|
160
|
+
* taking the lock so a pass in progress hands its rows to fibers first and
|
|
161
|
+
* they are interrupted and released.
|
|
162
|
+
*/
|
|
163
|
+
export declare const outboxRelay: (deliver: (request: Request) => Effect.Effect<Outcome, ActorError>, executors: () => ReadonlyArray<LocalExecutor>, settings: RelaySettings, subscriptions?: {
|
|
164
|
+
/** Feed, control, and subscription-delivery slots, each; separate from intent slots. */
|
|
165
|
+
readonly concurrency: number;
|
|
166
|
+
readonly claim: (slots: SubscriptionSlots, range: BucketRange) => SubscriptionClaim | undefined;
|
|
167
|
+
readonly decode: (work: string) => Effect.Effect<SubscriptionWork>;
|
|
168
|
+
readonly run: (work: SubscriptionWork, handoff: Handoff) => Effect.Effect<void, SubscriptionError>;
|
|
169
|
+
} | undefined, schedules?: (() => ReadonlyMap<string, CronSchedule>) | undefined) => Effect.Effect<{
|
|
170
|
+
run: Effect.Effect<never, never, never>;
|
|
171
|
+
drain: Effect.Effect<undefined, never, never>;
|
|
172
|
+
stop: Effect.Effect<void, never, never>;
|
|
173
|
+
attemptsIdle: Effect.Effect<void, never, never>;
|
|
174
|
+
interruptAttempts: Effect.Effect<number, never, never>;
|
|
175
|
+
extendLeases: (millis: number, jump: Effect.Effect<void>) => Effect.Effect<void, never, never>;
|
|
176
|
+
wake: Effect.Effect<void, never, never>;
|
|
177
|
+
cancelled: Effect.Effect<void, never, never>;
|
|
178
|
+
}, import("effect/sql/SqlError").SqlError, Crypto.Crypto | import("effect/Scope").Scope | SqlClient.SqlClient>;
|
|
179
|
+
export {};
|