@earendil-works/chord 1.5.0 → 1.5.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/CHANGELOG.md +51 -0
- package/README.md +50 -90
- package/dist/contracts/accepts.d.ts +81 -0
- package/dist/contracts/accepts.d.ts.map +1 -0
- package/dist/contracts/accepts.js.map +1 -0
- package/dist/contracts/contract.d.ts +121 -0
- package/dist/contracts/contract.d.ts.map +1 -0
- package/dist/contracts/contract.js.map +1 -0
- package/dist/contracts/declare.d.ts.map +1 -0
- package/dist/contracts/declare.js.map +1 -0
- package/dist/contracts/evolve.d.ts.map +1 -0
- package/dist/contracts/evolve.js.map +1 -0
- package/dist/contracts/fingerprint.d.ts +16 -0
- package/dist/contracts/fingerprint.d.ts.map +1 -0
- package/dist/contracts/fingerprint.js.map +1 -0
- package/dist/contracts/history.d.ts.map +1 -0
- package/dist/contracts/history.js.map +1 -0
- package/dist/contracts/host-kind.d.ts.map +1 -0
- package/dist/contracts/host-kind.js.map +1 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/internal.d.ts.map +1 -0
- package/dist/contracts/internal.js.map +1 -0
- package/dist/contracts/names.d.ts.map +1 -0
- package/dist/contracts/names.js.map +1 -0
- package/dist/contracts/params.d.ts +28 -0
- package/dist/contracts/params.d.ts.map +1 -0
- package/dist/contracts/params.js.map +1 -0
- package/dist/contracts/schema.d.ts.map +1 -0
- package/dist/contracts/schema.js.map +1 -0
- package/dist/contracts/snapshot.d.ts +16 -0
- package/dist/contracts/snapshot.d.ts.map +1 -0
- package/dist/contracts/snapshot.js +167 -0
- package/dist/contracts/snapshot.js.map +1 -0
- package/dist/data/args.d.ts +50 -0
- package/dist/data/args.d.ts.map +1 -0
- package/dist/data/args.js.map +1 -0
- package/dist/data/errors.d.ts +80 -0
- package/dist/data/errors.d.ts.map +1 -0
- package/dist/data/errors.js +116 -0
- package/dist/data/errors.js.map +1 -0
- package/dist/data/failure.d.ts.map +1 -0
- package/dist/data/failure.js +77 -0
- package/dist/data/failure.js.map +1 -0
- package/dist/data/index.d.ts +4 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js +5 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data/internal.d.ts +7 -0
- package/dist/data/internal.d.ts.map +1 -0
- package/dist/data/internal.js +8 -0
- package/dist/data/internal.js.map +1 -0
- package/dist/data/params.d.ts +20 -0
- package/dist/data/params.d.ts.map +1 -0
- package/dist/data/params.js.map +1 -0
- package/dist/data/principal.d.ts +22 -0
- package/dist/data/principal.d.ts.map +1 -0
- package/dist/data/principal.js +49 -0
- package/dist/data/principal.js.map +1 -0
- package/dist/data/validator.d.ts +12 -0
- package/dist/data/validator.d.ts.map +1 -0
- package/dist/data/validator.js +35 -0
- package/dist/data/validator.js.map +1 -0
- package/dist/documents/address-source.d.ts +20 -0
- package/dist/documents/address-source.d.ts.map +1 -0
- package/dist/documents/address-source.js.map +1 -0
- package/dist/documents/definition.d.ts +84 -0
- package/dist/documents/definition.d.ts.map +1 -0
- package/dist/documents/definition.js +74 -0
- package/dist/documents/definition.js.map +1 -0
- package/dist/documents/documents.d.ts +126 -0
- package/dist/documents/documents.d.ts.map +1 -0
- package/dist/documents/documents.js +248 -0
- package/dist/documents/documents.js.map +1 -0
- package/dist/documents/fence.d.ts.map +1 -0
- package/dist/documents/fence.js.map +1 -0
- package/dist/documents/handles.d.ts +76 -0
- package/dist/documents/handles.d.ts.map +1 -0
- package/dist/documents/handles.js.map +1 -0
- package/dist/documents/index.d.ts.map +1 -0
- package/dist/documents/index.js.map +1 -0
- package/dist/documents/internal.d.ts +9 -0
- package/dist/documents/internal.d.ts.map +1 -0
- package/dist/documents/internal.js.map +1 -0
- package/dist/documents/keyed-slot.d.ts +103 -0
- package/dist/documents/keyed-slot.d.ts.map +1 -0
- package/dist/documents/keyed-slot.js +395 -0
- package/dist/documents/keyed-slot.js.map +1 -0
- package/dist/documents/line.d.ts.map +1 -0
- package/dist/documents/line.js.map +1 -0
- package/dist/documents/persistence.d.ts +104 -0
- package/dist/documents/persistence.d.ts.map +1 -0
- package/dist/documents/persistence.js +129 -0
- package/dist/documents/persistence.js.map +1 -0
- package/dist/documents/residency.d.ts +31 -0
- package/dist/documents/residency.d.ts.map +1 -0
- package/dist/documents/residency.js.map +1 -0
- package/dist/documents/slot.d.ts +109 -0
- package/dist/documents/slot.d.ts.map +1 -0
- package/dist/documents/slot.js +181 -0
- package/dist/documents/slot.js.map +1 -0
- package/dist/documents/transaction.d.ts +143 -0
- package/dist/documents/transaction.d.ts.map +1 -0
- package/dist/documents/transaction.js +442 -0
- package/dist/documents/transaction.js.map +1 -0
- package/dist/host/activity.d.ts +31 -0
- package/dist/host/activity.d.ts.map +1 -0
- package/dist/host/activity.js +40 -0
- package/dist/host/activity.js.map +1 -0
- package/dist/host/adapted.d.ts +49 -0
- package/dist/host/adapted.d.ts.map +1 -0
- package/dist/host/adapted.js.map +1 -0
- package/dist/host/attempt.d.ts +308 -0
- package/dist/host/attempt.d.ts.map +1 -0
- package/dist/host/attempt.js +1199 -0
- package/dist/host/attempt.js.map +1 -0
- package/dist/host/backoff.d.ts.map +1 -0
- package/dist/host/backoff.js.map +1 -0
- package/dist/host/ctx.d.ts +94 -0
- package/dist/host/ctx.d.ts.map +1 -0
- package/dist/host/ctx.js +200 -0
- package/dist/host/ctx.js.map +1 -0
- package/dist/host/deadline.d.ts.map +1 -0
- package/dist/host/deadline.js.map +1 -0
- package/dist/host/dependencies.d.ts.map +1 -0
- package/dist/host/dependencies.js.map +1 -0
- package/dist/host/destination.d.ts +48 -0
- package/dist/host/destination.d.ts.map +1 -0
- package/dist/host/destination.js.map +1 -0
- package/dist/host/facet.d.ts +84 -0
- package/dist/host/facet.d.ts.map +1 -0
- package/dist/host/facet.js.map +1 -0
- package/dist/host/follow.d.ts +52 -0
- package/dist/host/follow.d.ts.map +1 -0
- package/dist/host/follow.js.map +1 -0
- package/dist/host/host.d.ts +571 -0
- package/dist/host/host.d.ts.map +1 -0
- package/dist/host/host.js +1318 -0
- package/dist/host/host.js.map +1 -0
- package/dist/host/index.d.ts +17 -0
- package/dist/host/index.d.ts.map +1 -0
- package/dist/host/index.js.map +1 -0
- package/dist/host/internal.d.ts +11 -0
- package/dist/host/internal.d.ts.map +1 -0
- package/dist/host/internal.js +9 -0
- package/dist/host/internal.js.map +1 -0
- package/dist/host/members.d.ts +50 -0
- package/dist/host/members.d.ts.map +1 -0
- package/dist/host/members.js.map +1 -0
- package/dist/host/native.d.ts +64 -0
- package/dist/host/native.d.ts.map +1 -0
- package/dist/host/native.js +126 -0
- package/dist/host/native.js.map +1 -0
- package/dist/host/object.d.ts +331 -0
- package/dist/host/object.d.ts.map +1 -0
- package/dist/host/object.js +1296 -0
- package/dist/host/object.js.map +1 -0
- package/dist/host/old-work.d.ts +34 -0
- package/dist/host/old-work.d.ts.map +1 -0
- package/dist/host/old-work.js +52 -0
- package/dist/host/old-work.js.map +1 -0
- package/dist/host/parked.d.ts +23 -0
- package/dist/host/parked.d.ts.map +1 -0
- package/dist/host/parked.js.map +1 -0
- package/dist/host/presence.d.ts +34 -0
- package/dist/host/presence.d.ts.map +1 -0
- package/dist/host/presence.js.map +1 -0
- package/dist/host/readiness.d.ts +27 -0
- package/dist/host/readiness.d.ts.map +1 -0
- package/dist/host/readiness.js +134 -0
- package/dist/host/readiness.js.map +1 -0
- package/dist/host/ref-state.d.ts +53 -0
- package/dist/host/ref-state.d.ts.map +1 -0
- package/dist/host/ref-state.js +83 -0
- package/dist/host/ref-state.js.map +1 -0
- package/dist/host/reference-keys.d.ts +36 -0
- package/dist/host/reference-keys.d.ts.map +1 -0
- package/dist/host/reference-keys.js +168 -0
- package/dist/host/reference-keys.js.map +1 -0
- package/dist/host/reference-source.d.ts +65 -0
- package/dist/host/reference-source.d.ts.map +1 -0
- package/dist/host/reference-source.js +285 -0
- package/dist/host/reference-source.js.map +1 -0
- package/dist/host/reference.d.ts +321 -0
- package/dist/host/reference.d.ts.map +1 -0
- package/dist/host/reference.js +797 -0
- package/dist/host/reference.js.map +1 -0
- package/dist/host/reload-cycle.d.ts +16 -0
- package/dist/host/reload-cycle.d.ts.map +1 -0
- package/dist/host/reload-cycle.js +81 -0
- package/dist/host/reload-cycle.js.map +1 -0
- package/dist/host/retry-on.d.ts.map +1 -0
- package/dist/host/retry-on.js.map +1 -0
- package/dist/host/revocation.d.ts +16 -0
- package/dist/host/revocation.d.ts.map +1 -0
- package/dist/host/revocation.js.map +1 -0
- package/dist/host/root.d.ts +37 -0
- package/dist/host/root.d.ts.map +1 -0
- package/dist/host/root.js +68 -0
- package/dist/host/root.js.map +1 -0
- package/dist/host/route.d.ts +64 -0
- package/dist/host/route.d.ts.map +1 -0
- package/dist/host/route.js +227 -0
- package/dist/host/route.js.map +1 -0
- package/dist/host/routines.d.ts +78 -0
- package/dist/host/routines.d.ts.map +1 -0
- package/dist/host/routines.js +398 -0
- package/dist/host/routines.js.map +1 -0
- package/dist/host/sleep.d.ts +9 -0
- package/dist/host/sleep.d.ts.map +1 -0
- package/dist/host/sleep.js.map +1 -0
- package/dist/host/staging.d.ts +94 -0
- package/dist/host/staging.d.ts.map +1 -0
- package/dist/host/staging.js +304 -0
- package/dist/host/staging.js.map +1 -0
- package/dist/host/unbound-clock.d.ts +23 -0
- package/dist/host/unbound-clock.d.ts.map +1 -0
- package/dist/host/unbound-clock.js +58 -0
- package/dist/host/unbound-clock.js.map +1 -0
- package/dist/host/unbound.d.ts +37 -0
- package/dist/host/unbound.d.ts.map +1 -0
- package/dist/host/unbound.js +88 -0
- package/dist/host/unbound.js.map +1 -0
- package/dist/host/uuid.d.ts.map +1 -0
- package/dist/host/uuid.js.map +1 -0
- package/dist/index.d.ts +29 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -10
- package/dist/index.js.map +1 -1
- package/dist/jobs/definition.d.ts.map +1 -0
- package/dist/jobs/definition.js.map +1 -0
- package/dist/jobs/index.d.ts.map +1 -0
- package/dist/jobs/index.js.map +1 -0
- package/dist/jobs/internal.d.ts.map +1 -0
- package/dist/jobs/internal.js.map +1 -0
- package/dist/jobs/job.d.ts +149 -0
- package/dist/jobs/job.d.ts.map +1 -0
- package/dist/jobs/job.js +387 -0
- package/dist/jobs/job.js.map +1 -0
- package/dist/jobs/persisted.d.ts +38 -0
- package/dist/jobs/persisted.d.ts.map +1 -0
- package/dist/jobs/persisted.js.map +1 -0
- package/dist/jobs/records.d.ts +231 -0
- package/dist/jobs/records.d.ts.map +1 -0
- package/dist/jobs/records.js +871 -0
- package/dist/jobs/records.js.map +1 -0
- package/dist/jobs/run-states.d.ts +69 -0
- package/dist/jobs/run-states.d.ts.map +1 -0
- package/dist/jobs/run-states.js +228 -0
- package/dist/jobs/run-states.js.map +1 -0
- package/dist/jobs/run.d.ts +117 -0
- package/dist/jobs/run.d.ts.map +1 -0
- package/dist/jobs/run.js +204 -0
- package/dist/jobs/run.js.map +1 -0
- package/dist/jobs/running.d.ts +44 -0
- package/dist/jobs/running.d.ts.map +1 -0
- package/dist/jobs/running.js.map +1 -0
- package/dist/jobs/stored.d.ts +63 -0
- package/dist/jobs/stored.d.ts.map +1 -0
- package/dist/jobs/stored.js.map +1 -0
- package/dist/link/binary.d.ts.map +1 -0
- package/dist/link/binary.js +544 -0
- package/dist/link/binary.js.map +1 -0
- package/dist/link/channel.d.ts +68 -0
- package/dist/link/channel.d.ts.map +1 -0
- package/dist/link/channel.js +215 -0
- package/dist/link/channel.js.map +1 -0
- package/dist/link/errors.d.ts.map +1 -0
- package/dist/link/errors.js.map +1 -0
- package/dist/link/index.d.ts.map +1 -0
- package/dist/link/index.js.map +1 -0
- package/dist/link/internal.d.ts.map +1 -0
- package/dist/link/internal.js.map +1 -0
- package/dist/link/ipc.d.ts.map +1 -0
- package/dist/link/ipc.js.map +1 -0
- package/dist/link/link.d.ts.map +1 -0
- package/dist/link/link.js.map +1 -0
- package/dist/link/message.d.ts +262 -0
- package/dist/link/message.d.ts.map +1 -0
- package/dist/link/message.js +156 -0
- package/dist/link/message.js.map +1 -0
- package/dist/link/part.d.ts +80 -0
- package/dist/link/part.d.ts.map +1 -0
- package/dist/link/part.js +165 -0
- package/dist/link/part.js.map +1 -0
- package/dist/link/text.d.ts.map +1 -0
- package/dist/link/text.js +355 -0
- package/dist/link/text.js.map +1 -0
- package/dist/link/values.d.ts.map +1 -0
- package/dist/link/values.js +121 -0
- package/dist/link/values.js.map +1 -0
- package/dist/link/websocket.d.ts.map +1 -0
- package/dist/link/websocket.js.map +1 -0
- package/dist/node/app/app.d.ts +269 -0
- package/dist/node/app/app.d.ts.map +1 -0
- package/dist/node/app/app.js +513 -0
- package/dist/node/app/app.js.map +1 -0
- package/dist/node/app/archive.d.ts +37 -0
- package/dist/node/app/archive.d.ts.map +1 -0
- package/dist/node/app/archive.js +204 -0
- package/dist/node/app/archive.js.map +1 -0
- package/dist/node/app/blobs.d.ts +23 -0
- package/dist/node/app/blobs.d.ts.map +1 -0
- package/dist/node/app/blobs.js +64 -0
- package/dist/node/app/blobs.js.map +1 -0
- package/dist/node/app/data.d.ts +35 -0
- package/dist/node/app/data.d.ts.map +1 -0
- package/dist/node/app/data.js +44 -0
- package/dist/node/app/data.js.map +1 -0
- package/dist/node/app/ephemeral-sessions.d.ts +20 -0
- package/dist/node/app/ephemeral-sessions.d.ts.map +1 -0
- package/dist/node/app/ephemeral-sessions.js +69 -0
- package/dist/node/app/ephemeral-sessions.js.map +1 -0
- package/dist/node/app/ephemeral.d.ts +11 -0
- package/dist/node/app/ephemeral.d.ts.map +1 -0
- package/dist/node/app/ephemeral.js +34 -0
- package/dist/node/app/ephemeral.js.map +1 -0
- package/dist/node/app/files-copy.d.ts +13 -0
- package/dist/node/app/files-copy.d.ts.map +1 -0
- package/dist/node/app/files-copy.js +86 -0
- package/dist/node/app/files-copy.js.map +1 -0
- package/dist/node/app/files-entry.d.ts +4 -0
- package/dist/node/app/files-entry.d.ts.map +1 -0
- package/dist/node/app/files-entry.js +7 -0
- package/dist/node/app/files-entry.js.map +1 -0
- package/dist/node/app/files-index.d.ts +180 -0
- package/dist/node/app/files-index.d.ts.map +1 -0
- package/dist/node/app/files-index.js +535 -0
- package/dist/node/app/files-index.js.map +1 -0
- package/dist/node/app/files.d.ts +363 -0
- package/dist/node/app/files.d.ts.map +1 -0
- package/dist/node/app/files.js +368 -0
- package/dist/node/app/files.js.map +1 -0
- package/dist/node/app/folder-views.d.ts +21 -0
- package/dist/node/app/folder-views.d.ts.map +1 -0
- package/dist/node/app/folder-views.js +55 -0
- package/dist/node/app/folder-views.js.map +1 -0
- package/dist/node/app/index.d.ts +12 -0
- package/dist/node/app/index.d.ts.map +1 -0
- package/dist/node/app/index.js +15 -0
- package/dist/node/app/index.js.map +1 -0
- package/dist/node/app/info.d.ts +66 -0
- package/dist/node/app/info.d.ts.map +1 -0
- package/dist/node/app/info.js +37 -0
- package/dist/node/app/info.js.map +1 -0
- package/dist/node/app/invite.d.ts +5 -0
- package/dist/node/app/invite.d.ts.map +1 -0
- package/dist/node/app/invite.js +64 -0
- package/dist/node/app/invite.js.map +1 -0
- package/dist/node/app/layout.d.ts +36 -0
- package/dist/node/app/layout.d.ts.map +1 -0
- package/dist/node/app/layout.js +87 -0
- package/dist/node/app/layout.js.map +1 -0
- package/dist/node/app/owner.d.ts +31 -0
- package/dist/node/app/owner.d.ts.map +1 -0
- package/dist/node/app/owner.js +104 -0
- package/dist/node/app/owner.js.map +1 -0
- package/dist/node/app/pairing.d.ts +55 -0
- package/dist/node/app/pairing.d.ts.map +1 -0
- package/dist/node/app/pairing.js +183 -0
- package/dist/node/app/pairing.js.map +1 -0
- package/dist/node/app/secrets.d.ts +16 -0
- package/dist/node/app/secrets.d.ts.map +1 -0
- package/dist/node/app/secrets.js +72 -0
- package/dist/node/app/secrets.js.map +1 -0
- package/dist/node/app/sessions.d.ts +72 -0
- package/dist/node/app/sessions.d.ts.map +1 -0
- package/dist/node/app/sessions.js +222 -0
- package/dist/node/app/sessions.js.map +1 -0
- package/dist/node/app/tar.d.ts +24 -0
- package/dist/node/app/tar.d.ts.map +1 -0
- package/dist/node/app/tar.js +167 -0
- package/dist/node/app/tar.js.map +1 -0
- package/dist/node/app/uploads.d.ts +37 -0
- package/dist/node/app/uploads.d.ts.map +1 -0
- package/dist/node/app/uploads.js +157 -0
- package/dist/node/app/uploads.js.map +1 -0
- package/dist/node/app/users.d.ts +37 -0
- package/dist/node/app/users.d.ts.map +1 -0
- package/dist/node/app/users.js +62 -0
- package/dist/node/app/users.js.map +1 -0
- package/dist/node/app/worker.d.ts +18 -0
- package/dist/node/app/worker.d.ts.map +1 -0
- package/dist/node/app/worker.js +84 -0
- package/dist/node/app/worker.js.map +1 -0
- package/dist/node/compression.d.ts +7 -0
- package/dist/node/compression.d.ts.map +1 -0
- package/dist/node/compression.js +25 -0
- package/dist/node/compression.js.map +1 -0
- package/dist/node/http/admission.d.ts.map +1 -0
- package/dist/node/http/admission.js.map +1 -0
- package/dist/node/http/authenticate.d.ts +21 -0
- package/dist/node/http/authenticate.d.ts.map +1 -0
- package/dist/node/http/authenticate.js +34 -0
- package/dist/node/http/authenticate.js.map +1 -0
- package/dist/node/http/cookies.d.ts +32 -0
- package/dist/node/http/cookies.d.ts.map +1 -0
- package/dist/node/http/cookies.js +70 -0
- package/dist/node/http/cookies.js.map +1 -0
- package/dist/node/http/file.d.ts.map +1 -0
- package/dist/node/http/file.js.map +1 -0
- package/dist/node/http/headers.d.ts.map +1 -0
- package/dist/node/http/headers.js +136 -0
- package/dist/node/http/headers.js.map +1 -0
- package/dist/node/http/http.d.ts +111 -0
- package/dist/node/http/http.d.ts.map +1 -0
- package/dist/node/http/http.js +524 -0
- package/dist/node/http/http.js.map +1 -0
- package/dist/node/http/incoming.d.ts.map +1 -0
- package/dist/node/http/incoming.js.map +1 -0
- package/dist/node/http/index.d.ts +11 -0
- package/dist/node/http/index.d.ts.map +1 -0
- package/dist/node/http/index.js +12 -0
- package/dist/node/http/index.js.map +1 -0
- package/dist/node/http/node.d.ts.map +1 -0
- package/dist/node/http/node.js.map +1 -0
- package/dist/node/http/request.d.ts +60 -0
- package/dist/node/http/request.d.ts.map +1 -0
- package/dist/node/http/request.js +118 -0
- package/dist/node/http/request.js.map +1 -0
- package/dist/node/http/response.d.ts +63 -0
- package/dist/node/http/response.d.ts.map +1 -0
- package/dist/node/http/response.js.map +1 -0
- package/dist/node/http/router.d.ts +132 -0
- package/dist/node/http/router.d.ts.map +1 -0
- package/dist/node/http/router.js +267 -0
- package/dist/node/http/router.js.map +1 -0
- package/dist/node/http/upgrades.d.ts +61 -0
- package/dist/node/http/upgrades.d.ts.map +1 -0
- package/dist/node/http/upgrades.js +192 -0
- package/dist/node/http/upgrades.js.map +1 -0
- package/dist/node/plugins/base-inputs.d.ts +14 -0
- package/dist/node/plugins/base-inputs.d.ts.map +1 -0
- package/dist/node/plugins/base-inputs.js +33 -0
- package/dist/node/plugins/base-inputs.js.map +1 -0
- package/dist/node/plugins/build.d.ts +77 -0
- package/dist/node/plugins/build.d.ts.map +1 -0
- package/dist/node/plugins/build.js +576 -0
- package/dist/node/plugins/build.js.map +1 -0
- package/dist/node/plugins/css-modules.d.ts +13 -0
- package/dist/node/plugins/css-modules.d.ts.map +1 -0
- package/dist/node/plugins/css-modules.js +58 -0
- package/dist/node/plugins/css-modules.js.map +1 -0
- package/dist/node/plugins/discover.d.ts +67 -0
- package/dist/node/plugins/discover.d.ts.map +1 -0
- package/dist/node/plugins/discover.js +369 -0
- package/dist/node/plugins/discover.js.map +1 -0
- package/dist/node/plugins/evaluate.d.ts +33 -0
- package/dist/node/plugins/evaluate.d.ts.map +1 -0
- package/dist/node/plugins/evaluate.js +121 -0
- package/dist/node/plugins/evaluate.js.map +1 -0
- package/dist/node/plugins/index.d.ts +11 -0
- package/dist/node/plugins/index.d.ts.map +1 -0
- package/dist/node/plugins/index.js +13 -0
- package/dist/node/plugins/index.js.map +1 -0
- package/dist/node/plugins/install.d.ts +38 -0
- package/dist/node/plugins/install.d.ts.map +1 -0
- package/dist/node/plugins/install.js +213 -0
- package/dist/node/plugins/install.js.map +1 -0
- package/dist/node/plugins/plugins.d.ts +162 -0
- package/dist/node/plugins/plugins.d.ts.map +1 -0
- package/dist/node/plugins/plugins.js +244 -0
- package/dist/node/plugins/plugins.js.map +1 -0
- package/dist/node/plugins/runtime.d.ts +57 -0
- package/dist/node/plugins/runtime.d.ts.map +1 -0
- package/dist/node/plugins/runtime.js +92 -0
- package/dist/node/plugins/runtime.js.map +1 -0
- package/dist/node/plugins/stack.d.ts.map +1 -0
- package/dist/node/plugins/stack.js.map +1 -0
- package/dist/node/plugins/testing.d.ts +58 -0
- package/dist/node/plugins/testing.d.ts.map +1 -0
- package/dist/node/plugins/testing.js +210 -0
- package/dist/node/plugins/testing.js.map +1 -0
- package/dist/node/plugins/watcher.d.ts +69 -0
- package/dist/node/plugins/watcher.d.ts.map +1 -0
- package/dist/node/plugins/watcher.js +622 -0
- package/dist/node/plugins/watcher.js.map +1 -0
- package/dist/node/surfaces/bundle.d.ts +31 -0
- package/dist/node/surfaces/bundle.d.ts.map +1 -0
- package/dist/node/surfaces/bundle.js +118 -0
- package/dist/node/surfaces/bundle.js.map +1 -0
- package/dist/node/surfaces/current.d.ts +17 -0
- package/dist/node/surfaces/current.d.ts.map +1 -0
- package/dist/node/surfaces/current.js +54 -0
- package/dist/node/surfaces/current.js.map +1 -0
- package/dist/node/surfaces/index.d.ts +6 -0
- package/dist/node/surfaces/index.d.ts.map +1 -0
- package/dist/node/surfaces/index.js +6 -0
- package/dist/node/surfaces/index.js.map +1 -0
- package/dist/node/surfaces/published.d.ts +27 -0
- package/dist/node/surfaces/published.d.ts.map +1 -0
- package/dist/node/surfaces/published.js +142 -0
- package/dist/node/surfaces/published.js.map +1 -0
- package/dist/node/surfaces/served.d.ts +15 -0
- package/dist/node/surfaces/served.d.ts.map +1 -0
- package/dist/node/surfaces/served.js +42 -0
- package/dist/node/surfaces/served.js.map +1 -0
- package/dist/node/surfaces/surface-build.d.ts +53 -0
- package/dist/node/surfaces/surface-build.d.ts.map +1 -0
- package/dist/node/surfaces/surface-build.js +105 -0
- package/dist/node/surfaces/surface-build.js.map +1 -0
- package/dist/node/surfaces/tui.d.ts +40 -0
- package/dist/node/surfaces/tui.d.ts.map +1 -0
- package/dist/node/surfaces/tui.js +55 -0
- package/dist/node/surfaces/tui.js.map +1 -0
- package/dist/node/surfaces/web.d.ts +56 -0
- package/dist/node/surfaces/web.d.ts.map +1 -0
- package/dist/node/surfaces/web.js +108 -0
- package/dist/node/surfaces/web.js.map +1 -0
- package/dist/node/tui/actions.d.ts +49 -0
- package/dist/node/tui/actions.d.ts.map +1 -0
- package/dist/node/tui/actions.js +195 -0
- package/dist/node/tui/actions.js.map +1 -0
- package/dist/node/tui/credentials.d.ts +17 -0
- package/dist/node/tui/credentials.d.ts.map +1 -0
- package/dist/node/tui/credentials.js +54 -0
- package/dist/node/tui/credentials.js.map +1 -0
- package/dist/node/tui/filter.d.ts +5 -0
- package/dist/node/tui/filter.d.ts.map +1 -0
- package/dist/node/tui/filter.js +79 -0
- package/dist/node/tui/filter.js.map +1 -0
- package/dist/node/tui/index.d.ts +6 -0
- package/dist/node/tui/index.d.ts.map +1 -0
- package/dist/node/tui/index.js +6 -0
- package/dist/node/tui/index.js.map +1 -0
- package/dist/node/tui/launcher.d.ts +40 -0
- package/dist/node/tui/launcher.d.ts.map +1 -0
- package/dist/node/tui/launcher.js +439 -0
- package/dist/node/tui/launcher.js.map +1 -0
- package/dist/node/tui/pipe.d.ts +18 -0
- package/dist/node/tui/pipe.d.ts.map +1 -0
- package/dist/node/tui/pipe.js +134 -0
- package/dist/node/tui/pipe.js.map +1 -0
- package/dist/node/tui/sandbox.d.ts +54 -0
- package/dist/node/tui/sandbox.d.ts.map +1 -0
- package/dist/node/tui/sandbox.js +431 -0
- package/dist/node/tui/sandbox.js.map +1 -0
- package/dist/node/workers/base.d.ts +30 -0
- package/dist/node/workers/base.d.ts.map +1 -0
- package/dist/node/workers/base.js +255 -0
- package/dist/node/workers/base.js.map +1 -0
- package/dist/node/workers/child.d.ts +4 -0
- package/dist/node/workers/child.d.ts.map +1 -0
- package/dist/node/workers/child.js +6 -0
- package/dist/node/workers/child.js.map +1 -0
- package/dist/node/workers/control.d.ts +83 -0
- package/dist/node/workers/control.d.ts.map +1 -0
- package/dist/node/workers/control.js +77 -0
- package/dist/node/workers/control.js.map +1 -0
- package/dist/node/workers/index.d.ts +4 -0
- package/dist/node/workers/index.d.ts.map +1 -0
- package/dist/node/workers/index.js +7 -0
- package/dist/node/workers/index.js.map +1 -0
- package/dist/node/workers/lock.d.ts +30 -0
- package/dist/node/workers/lock.d.ts.map +1 -0
- package/dist/node/workers/lock.js +180 -0
- package/dist/node/workers/lock.js.map +1 -0
- package/dist/node/workers/main.d.ts +46 -0
- package/dist/node/workers/main.d.ts.map +1 -0
- package/dist/node/workers/main.js +230 -0
- package/dist/node/workers/main.js.map +1 -0
- package/dist/node/workers/process.d.ts +42 -0
- package/dist/node/workers/process.d.ts.map +1 -0
- package/dist/node/workers/process.js +125 -0
- package/dist/node/workers/process.js.map +1 -0
- package/dist/node/workers/workers.d.ts +122 -0
- package/dist/node/workers/workers.d.ts.map +1 -0
- package/dist/node/workers/workers.js +677 -0
- package/dist/node/workers/workers.js.map +1 -0
- package/dist/react/hooks.d.ts +43 -0
- package/dist/react/hooks.d.ts.map +1 -0
- package/dist/react/hooks.js +82 -0
- package/dist/react/hooks.js.map +1 -0
- package/dist/react/index.d.ts +3 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +4 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/stores.d.ts +9 -0
- package/dist/react/stores.d.ts.map +1 -0
- package/dist/react/stores.js +37 -0
- package/dist/react/stores.js.map +1 -0
- package/dist/registries/contribution.d.ts.map +1 -0
- package/dist/registries/contribution.js.map +1 -0
- package/dist/registries/entries.d.ts.map +1 -0
- package/dist/registries/entries.js.map +1 -0
- package/dist/registries/index.d.ts.map +1 -0
- package/dist/registries/index.js.map +1 -0
- package/dist/registries/internal.d.ts.map +1 -0
- package/dist/registries/internal.js.map +1 -0
- package/dist/registries/record.d.ts +115 -0
- package/dist/registries/record.d.ts.map +1 -0
- package/dist/registries/record.js +283 -0
- package/dist/registries/record.js.map +1 -0
- package/dist/registries/registry.d.ts +74 -0
- package/dist/registries/registry.d.ts.map +1 -0
- package/dist/registries/registry.js.map +1 -0
- package/dist/registries/value.d.ts.map +1 -0
- package/dist/registries/value.js +224 -0
- package/dist/registries/value.js.map +1 -0
- package/dist/remote/calls.d.ts.map +1 -0
- package/dist/remote/calls.js.map +1 -0
- package/dist/remote/consumer.d.ts +43 -0
- package/dist/remote/consumer.d.ts.map +1 -0
- package/dist/remote/consumer.js +350 -0
- package/dist/remote/consumer.js.map +1 -0
- package/dist/remote/hold.d.ts +141 -0
- package/dist/remote/hold.d.ts.map +1 -0
- package/dist/remote/hold.js +579 -0
- package/dist/remote/hold.js.map +1 -0
- package/dist/remote/host-link.d.ts +77 -0
- package/dist/remote/host-link.d.ts.map +1 -0
- package/dist/remote/host-link.js +184 -0
- package/dist/remote/host-link.js.map +1 -0
- package/dist/remote/internal.d.ts.map +1 -0
- package/dist/remote/internal.js.map +1 -0
- package/dist/remote/path.d.ts.map +1 -0
- package/dist/remote/path.js.map +1 -0
- package/dist/remote/provider.d.ts +89 -0
- package/dist/remote/provider.d.ts.map +1 -0
- package/dist/remote/provider.js +597 -0
- package/dist/remote/provider.js.map +1 -0
- package/dist/remote/relay.d.ts +69 -0
- package/dist/remote/relay.d.ts.map +1 -0
- package/dist/remote/relay.js +219 -0
- package/dist/remote/relay.js.map +1 -0
- package/dist/remote/remote-object.d.ts +138 -0
- package/dist/remote/remote-object.d.ts.map +1 -0
- package/dist/remote/remote-object.js +492 -0
- package/dist/remote/remote-object.js.map +1 -0
- package/dist/remote/replica.d.ts +59 -0
- package/dist/remote/replica.d.ts.map +1 -0
- package/dist/remote/replica.js +125 -0
- package/dist/remote/replica.js.map +1 -0
- package/dist/sqlite/node.d.ts +9 -1
- package/dist/sqlite/node.d.ts.map +1 -1
- package/dist/sqlite/node.js +9 -3
- package/dist/sqlite/node.js.map +1 -1
- package/dist/state/batch.d.ts +64 -0
- package/dist/state/batch.d.ts.map +1 -0
- package/dist/state/batch.js +164 -0
- package/dist/state/batch.js.map +1 -0
- package/dist/state/derive.d.ts +52 -0
- package/dist/state/derive.d.ts.map +1 -0
- package/dist/state/derive.js +182 -0
- package/dist/state/derive.js.map +1 -0
- package/dist/state/index.d.ts +6 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/internal.d.ts.map +1 -0
- package/dist/state/internal.js.map +1 -0
- package/dist/state/native-source.d.ts +106 -0
- package/dist/state/native-source.d.ts.map +1 -0
- package/dist/state/native-source.js +240 -0
- package/dist/state/native-source.js.map +1 -0
- package/dist/state/watchable.d.ts +114 -0
- package/dist/state/watchable.d.ts.map +1 -0
- package/dist/state/watchable.js +156 -0
- package/dist/state/watchable.js.map +1 -0
- package/dist/state/writable.d.ts +32 -0
- package/dist/state/writable.d.ts.map +1 -0
- package/dist/state/writable.js.map +1 -0
- package/dist/store/adapter.d.ts +67 -0
- package/dist/store/adapter.d.ts.map +1 -0
- package/dist/store/adapter.js.map +1 -0
- package/dist/store/allocator.d.ts.map +1 -0
- package/dist/store/allocator.js.map +1 -0
- package/dist/store/applier.d.ts.map +1 -0
- package/dist/store/applier.js.map +1 -0
- package/dist/store/apply-batch.d.ts +12 -0
- package/dist/store/apply-batch.d.ts.map +1 -0
- package/dist/store/apply-batch.js.map +1 -0
- package/dist/store/archive.d.ts +32 -0
- package/dist/store/archive.d.ts.map +1 -0
- package/dist/store/archive.js +130 -0
- package/dist/store/archive.js.map +1 -0
- package/dist/store/backend.d.ts +10 -0
- package/dist/store/backend.d.ts.map +1 -0
- package/dist/store/backend.js.map +1 -0
- package/dist/store/catalog.d.ts +24 -0
- package/dist/store/catalog.d.ts.map +1 -0
- package/dist/store/catalog.js.map +1 -0
- package/dist/store/claims.d.ts.map +1 -0
- package/dist/store/claims.js.map +1 -0
- package/dist/store/columns.d.ts.map +1 -0
- package/dist/store/columns.js.map +1 -0
- package/dist/store/engine.d.ts +176 -0
- package/dist/store/engine.d.ts.map +1 -0
- package/dist/store/engine.js +283 -0
- package/dist/store/engine.js.map +1 -0
- package/dist/store/evaluate.d.ts +17 -0
- package/dist/store/evaluate.d.ts.map +1 -0
- package/dist/store/evaluate.js.map +1 -0
- package/dist/store/export.d.ts +17 -0
- package/dist/store/export.d.ts.map +1 -0
- package/dist/store/export.js +200 -0
- package/dist/store/export.js.map +1 -0
- package/dist/store/expression.d.ts +150 -0
- package/dist/store/expression.d.ts.map +1 -0
- package/dist/store/expression.js.map +1 -0
- package/dist/store/import.d.ts +10 -0
- package/dist/store/import.d.ts.map +1 -0
- package/dist/store/import.js +276 -0
- package/dist/store/import.js.map +1 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js.map +1 -0
- package/dist/store/json-column.d.ts +33 -0
- package/dist/store/json-column.d.ts.map +1 -0
- package/dist/store/json-column.js +62 -0
- package/dist/store/json-column.js.map +1 -0
- package/dist/store/jsonl.d.ts.map +1 -0
- package/dist/store/jsonl.js.map +1 -0
- package/dist/store/live-query.d.ts +108 -0
- package/dist/store/live-query.d.ts.map +1 -0
- package/dist/store/live-query.js +254 -0
- package/dist/store/live-query.js.map +1 -0
- package/dist/store/outbox.d.ts +26 -0
- package/dist/store/outbox.d.ts.map +1 -0
- package/dist/store/outbox.js.map +1 -0
- package/dist/store/query.d.ts +39 -0
- package/dist/store/query.d.ts.map +1 -0
- package/dist/store/query.js.map +1 -0
- package/dist/store/refusal.d.ts.map +1 -0
- package/dist/store/refusal.js.map +1 -0
- package/dist/store/rows.d.ts +80 -0
- package/dist/store/rows.d.ts.map +1 -0
- package/dist/store/rows.js.map +1 -0
- package/dist/store/schema.d.ts +25 -0
- package/dist/store/schema.d.ts.map +1 -0
- package/dist/store/schema.js +115 -0
- package/dist/store/schema.js.map +1 -0
- package/dist/store/sql.d.ts +73 -0
- package/dist/store/sql.d.ts.map +1 -0
- package/dist/store/sql.js.map +1 -0
- package/dist/store/step.d.ts +50 -0
- package/dist/store/step.d.ts.map +1 -0
- package/dist/store/step.js +52 -0
- package/dist/store/step.js.map +1 -0
- package/dist/store/store.d.ts +171 -0
- package/dist/store/store.d.ts.map +1 -0
- package/dist/store/store.js +818 -0
- package/dist/store/store.js.map +1 -0
- package/dist/store/table-changes.d.ts +29 -0
- package/dist/store/table-changes.d.ts.map +1 -0
- package/dist/store/table-changes.js.map +1 -0
- package/dist/store/table-evolve.d.ts.map +1 -0
- package/dist/store/table-evolve.js.map +1 -0
- package/dist/store/table-handle.d.ts +73 -0
- package/dist/store/table-handle.d.ts.map +1 -0
- package/dist/store/table-handle.js +101 -0
- package/dist/store/table-handle.js.map +1 -0
- package/dist/store/table-history.d.ts.map +1 -0
- package/dist/store/table-history.js.map +1 -0
- package/dist/store/table-migration.d.ts +16 -0
- package/dist/store/table-migration.d.ts.map +1 -0
- package/dist/store/table-migration.js +202 -0
- package/dist/store/table-migration.js.map +1 -0
- package/dist/store/table-writes.d.ts.map +1 -0
- package/dist/store/table-writes.js +170 -0
- package/dist/store/table-writes.js.map +1 -0
- package/dist/store/table.d.ts +80 -0
- package/dist/store/table.d.ts.map +1 -0
- package/dist/store/table.js.map +1 -0
- package/dist/store/text.d.ts.map +1 -0
- package/dist/store/text.js.map +1 -0
- package/dist/store/writes.d.ts.map +1 -0
- package/dist/store/writes.js.map +1 -0
- package/dist/surfaces/active-language.d.ts +20 -0
- package/dist/surfaces/active-language.d.ts.map +1 -0
- package/dist/surfaces/active-language.js +78 -0
- package/dist/surfaces/active-language.js.map +1 -0
- package/dist/surfaces/active-theme.d.ts +16 -0
- package/dist/surfaces/active-theme.d.ts.map +1 -0
- package/dist/surfaces/active-theme.js +47 -0
- package/dist/surfaces/active-theme.js.map +1 -0
- package/dist/surfaces/client.d.ts +96 -0
- package/dist/surfaces/client.d.ts.map +1 -0
- package/dist/surfaces/client.js +264 -0
- package/dist/surfaces/client.js.map +1 -0
- package/dist/surfaces/connection.d.ts +49 -0
- package/dist/surfaces/connection.d.ts.map +1 -0
- package/dist/surfaces/connection.js +142 -0
- package/dist/surfaces/connection.js.map +1 -0
- package/dist/surfaces/format.d.ts +5 -0
- package/dist/surfaces/format.d.ts.map +1 -0
- package/dist/surfaces/format.js +37 -0
- package/dist/surfaces/format.js.map +1 -0
- package/dist/surfaces/index.d.ts +15 -0
- package/dist/surfaces/index.d.ts.map +1 -0
- package/dist/surfaces/index.js +18 -0
- package/dist/surfaces/index.js.map +1 -0
- package/dist/surfaces/language.d.ts +53 -0
- package/dist/surfaces/language.d.ts.map +1 -0
- package/dist/surfaces/language.js +74 -0
- package/dist/surfaces/language.js.map +1 -0
- package/dist/surfaces/loaded.d.ts +42 -0
- package/dist/surfaces/loaded.d.ts.map +1 -0
- package/dist/surfaces/loaded.js +116 -0
- package/dist/surfaces/loaded.js.map +1 -0
- package/dist/surfaces/locale-choice.d.ts +25 -0
- package/dist/surfaces/locale-choice.d.ts.map +1 -0
- package/dist/surfaces/locale-choice.js +14 -0
- package/dist/surfaces/locale-choice.js.map +1 -0
- package/dist/surfaces/messages.d.ts +67 -0
- package/dist/surfaces/messages.d.ts.map +1 -0
- package/dist/surfaces/messages.js +112 -0
- package/dist/surfaces/messages.js.map +1 -0
- package/dist/surfaces/page-state.d.ts +14 -0
- package/dist/surfaces/page-state.d.ts.map +1 -0
- package/dist/surfaces/page-state.js +43 -0
- package/dist/surfaces/page-state.js.map +1 -0
- package/dist/surfaces/preference.d.ts +32 -0
- package/dist/surfaces/preference.d.ts.map +1 -0
- package/dist/surfaces/preference.js +72 -0
- package/dist/surfaces/preference.js.map +1 -0
- package/dist/surfaces/registered.d.ts +33 -0
- package/dist/surfaces/registered.d.ts.map +1 -0
- package/dist/surfaces/registered.js +51 -0
- package/dist/surfaces/registered.js.map +1 -0
- package/dist/surfaces/scripts.d.ts +84 -0
- package/dist/surfaces/scripts.d.ts.map +1 -0
- package/dist/surfaces/scripts.js +28 -0
- package/dist/surfaces/scripts.js.map +1 -0
- package/dist/surfaces/theme-choice.d.ts +31 -0
- package/dist/surfaces/theme-choice.d.ts.map +1 -0
- package/dist/surfaces/theme-choice.js +18 -0
- package/dist/surfaces/theme-choice.js.map +1 -0
- package/dist/surfaces/themes.d.ts +43 -0
- package/dist/surfaces/themes.d.ts.map +1 -0
- package/dist/surfaces/themes.js +110 -0
- package/dist/surfaces/themes.js.map +1 -0
- package/dist/surfaces/translations.d.ts +29 -0
- package/dist/surfaces/translations.d.ts.map +1 -0
- package/dist/surfaces/translations.js +57 -0
- package/dist/surfaces/translations.js.map +1 -0
- package/dist/sync/batch.d.ts +18 -0
- package/dist/sync/batch.d.ts.map +1 -0
- package/dist/sync/batch.js +125 -0
- package/dist/sync/batch.js.map +1 -0
- package/dist/sync/client.d.ts +166 -0
- package/dist/sync/client.d.ts.map +1 -0
- package/dist/sync/client.js +438 -0
- package/dist/sync/client.js.map +1 -0
- package/dist/sync/files.d.ts +46 -0
- package/dist/sync/files.d.ts.map +1 -0
- package/dist/sync/files.js +13 -0
- package/dist/sync/files.js.map +1 -0
- package/dist/sync/filesystem.d.ts +37 -0
- package/dist/sync/filesystem.d.ts.map +1 -0
- package/dist/sync/filesystem.js +185 -0
- package/dist/sync/filesystem.js.map +1 -0
- package/dist/sync/index.d.ts +8 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +9 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/lines.d.ts +18 -0
- package/dist/sync/lines.d.ts.map +1 -0
- package/dist/sync/lines.js +46 -0
- package/dist/sync/lines.js.map +1 -0
- package/dist/sync/remote.d.ts +130 -0
- package/dist/sync/remote.d.ts.map +1 -0
- package/dist/sync/remote.js +46 -0
- package/dist/sync/remote.js.map +1 -0
- package/dist/sync/state.d.ts +17 -0
- package/dist/sync/state.d.ts.map +1 -0
- package/dist/sync/state.js +40 -0
- package/dist/sync/state.js.map +1 -0
- package/dist/telemetry-ingest/batch.d.ts +70 -0
- package/dist/telemetry-ingest/batch.d.ts.map +1 -0
- package/dist/telemetry-ingest/batch.js +110 -0
- package/dist/telemetry-ingest/batch.js.map +1 -0
- package/dist/telemetry-ingest/facet.d.ts +21 -0
- package/dist/telemetry-ingest/facet.d.ts.map +1 -0
- package/dist/telemetry-ingest/facet.js +96 -0
- package/dist/telemetry-ingest/facet.js.map +1 -0
- package/dist/telemetry-ingest/index.d.ts +5 -0
- package/dist/telemetry-ingest/index.d.ts.map +1 -0
- package/dist/telemetry-ingest/index.js +8 -0
- package/dist/telemetry-ingest/index.js.map +1 -0
- package/dist/telemetry-ingest/recorder.d.ts +50 -0
- package/dist/telemetry-ingest/recorder.d.ts.map +1 -0
- package/dist/telemetry-ingest/recorder.js +298 -0
- package/dist/telemetry-ingest/recorder.js.map +1 -0
- package/dist/telemetry-ingest/sender.d.ts +14 -0
- package/dist/telemetry-ingest/sender.d.ts.map +1 -0
- package/dist/telemetry-ingest/sender.js +64 -0
- package/dist/telemetry-ingest/sender.js.map +1 -0
- package/dist/telemetry-sqlite/index.d.ts +13 -4
- package/dist/telemetry-sqlite/index.d.ts.map +1 -1
- package/dist/telemetry-sqlite/index.js +81 -241
- package/dist/telemetry-sqlite/index.js.map +1 -1
- package/dist/telemetry-sqlite/node.d.ts +13 -0
- package/dist/telemetry-sqlite/node.d.ts.map +1 -0
- package/dist/telemetry-sqlite/node.js +27 -0
- package/dist/telemetry-sqlite/node.js.map +1 -0
- package/dist/telemetry-sqlite/schema.d.ts +9 -0
- package/dist/telemetry-sqlite/schema.d.ts.map +1 -0
- package/dist/telemetry-sqlite/schema.js +61 -0
- package/dist/telemetry-sqlite/schema.js.map +1 -0
- package/dist/telemetry-sqlite/store.d.ts +3 -0
- package/dist/telemetry-sqlite/store.d.ts.map +1 -1
- package/dist/telemetry-sqlite/store.js +24 -13
- package/dist/telemetry-sqlite/store.js.map +1 -1
- package/dist/telemetry.d.ts +937 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +470 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/tui/bridge.d.ts +112 -0
- package/dist/tui/bridge.d.ts.map +1 -0
- package/dist/tui/bridge.js +9 -0
- package/dist/tui/bridge.js.map +1 -0
- package/dist/tui/channel.d.ts +44 -0
- package/dist/tui/channel.d.ts.map +1 -0
- package/dist/tui/channel.js +150 -0
- package/dist/tui/channel.js.map +1 -0
- package/dist/tui/frames.d.ts +5 -0
- package/dist/tui/frames.d.ts.map +1 -0
- package/dist/tui/frames.js +52 -0
- package/dist/tui/frames.js.map +1 -0
- package/dist/tui/index.d.ts +7 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +8 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/runtime.d.ts +46 -0
- package/dist/tui/runtime.d.ts.map +1 -0
- package/dist/tui/runtime.js +101 -0
- package/dist/tui/runtime.js.map +1 -0
- package/dist/tui/scope.d.ts +46 -0
- package/dist/tui/scope.d.ts.map +1 -0
- package/dist/tui/scope.js +141 -0
- package/dist/tui/scope.js.map +1 -0
- package/dist/tui/terminal.d.ts +15 -0
- package/dist/tui/terminal.d.ts.map +1 -0
- package/dist/tui/terminal.js +37 -0
- package/dist/tui/terminal.js.map +1 -0
- package/dist/tui/theme.d.ts +17 -0
- package/dist/tui/theme.d.ts.map +1 -0
- package/dist/tui/theme.js +38 -0
- package/dist/tui/theme.js.map +1 -0
- package/dist/web/environment.d.ts +4 -0
- package/dist/web/environment.d.ts.map +1 -0
- package/dist/web/environment.js +37 -0
- package/dist/web/environment.js.map +1 -0
- package/dist/web/index.d.ts +5 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +7 -0
- package/dist/web/index.js.map +1 -0
- package/dist/web/language.d.ts +7 -0
- package/dist/web/language.d.ts.map +1 -0
- package/dist/web/language.js +21 -0
- package/dist/web/language.js.map +1 -0
- package/dist/web/page.d.ts +29 -0
- package/dist/web/page.d.ts.map +1 -0
- package/dist/web/page.js +92 -0
- package/dist/web/page.js.map +1 -0
- package/dist/web/scripts.d.ts +23 -0
- package/dist/web/scripts.d.ts.map +1 -0
- package/dist/web/scripts.js +50 -0
- package/dist/web/scripts.js.map +1 -0
- package/dist/web/styles.d.ts +17 -0
- package/dist/web/styles.d.ts.map +1 -0
- package/dist/web/styles.js +218 -0
- package/dist/web/styles.js.map +1 -0
- package/dist/web/themes.d.ts +6 -0
- package/dist/web/themes.d.ts.map +1 -0
- package/dist/web/themes.js +31 -0
- package/dist/web/themes.js.map +1 -0
- package/docs/benchmarks.md +1036 -0
- package/docs/decisions.md +3436 -0
- package/docs/dependencies/book.md +1671 -0
- package/docs/dependencies/index.html +2641 -0
- package/docs/design.md +3065 -0
- package/docs/durable-observers/book.md +432 -0
- package/docs/durable-observers/index.html +517 -0
- package/docs/guide-plugins-hosts/book.md +957 -0
- package/docs/guide-plugins-hosts/index.html +952 -0
- package/docs/http-workers/book.md +378 -0
- package/docs/http-workers/index.html +515 -0
- package/docs/i18n/book.md +217 -0
- package/docs/i18n/index.html +344 -0
- package/docs/layer-1.md +311 -0
- package/docs/layer-2.md +216 -0
- package/docs/p3-features/README.md +6 -0
- package/docs/p3-features/book.md +478 -0
- package/docs/plugin-authoring.md +276 -0
- package/docs/plugin-model/book.md +186 -0
- package/docs/plugin-model/index.html +310 -0
- package/docs/plugin-primer/book.md +273 -0
- package/docs/plugin-primer/index.html +430 -0
- package/docs/slice-1.md +236 -0
- package/docs/slice-10.md +288 -0
- package/docs/slice-11.md +114 -0
- package/docs/slice-12.md +132 -0
- package/docs/slice-13.md +121 -0
- package/docs/slice-2.md +174 -0
- package/docs/slice-3a.md +296 -0
- package/docs/slice-3b.md +197 -0
- package/docs/slice-4a.md +418 -0
- package/docs/slice-4b.md +208 -0
- package/docs/slice-6a.md +676 -0
- package/docs/slice-6b.md +332 -0
- package/docs/slice-7b/book.md +608 -0
- package/docs/slice-7b/index.html +842 -0
- package/docs/slice-7b.md +255 -0
- package/docs/slice-7c.md +165 -0
- package/docs/slice-9.md +110 -0
- package/docs/slices.md +241 -0
- package/docs/store/book.md +670 -0
- package/docs/store/index.html +861 -0
- package/docs/store/walkthrough.md +193 -0
- package/docs/theming/book.md +223 -0
- package/docs/theming/index.html +371 -0
- package/docs/tutorial/book.md +2169 -0
- package/docs/tutorial/index.html +2112 -0
- package/docs/tutorial/screens/click-after.png +0 -0
- package/docs/tutorial/screens/click-before.png +0 -0
- package/docs/tutorial/screens/edited.png +0 -0
- package/docs/tutorial/screens/french.png +0 -0
- package/docs/tutorial/screens/harbor.png +0 -0
- package/docs/tutorial/screens/page.png +0 -0
- package/docs/tutorial/screens/traces-ada.png +0 -0
- package/docs/tutorial/screens/traces.png +0 -0
- package/package.json +99 -21
- package/dist/cell.d.ts +0 -122
- package/dist/cell.d.ts.map +0 -1
- package/dist/cell.js +0 -356
- package/dist/cell.js.map +0 -1
- package/dist/cluster.d.ts +0 -27
- package/dist/cluster.d.ts.map +0 -1
- package/dist/cluster.js +0 -230
- package/dist/cluster.js.map +0 -1
- package/dist/connection.d.ts +0 -270
- package/dist/connection.d.ts.map +0 -1
- package/dist/connection.js +0 -1216
- package/dist/connection.js.map +0 -1
- package/dist/contract.d.ts +0 -207
- package/dist/contract.d.ts.map +0 -1
- package/dist/contract.js +0 -241
- package/dist/contract.js.map +0 -1
- package/dist/declare.d.ts +0 -33
- package/dist/declare.d.ts.map +0 -1
- package/dist/declare.js +0 -2
- package/dist/declare.js.map +0 -1
- package/dist/errors.d.ts +0 -28
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -59
- package/dist/errors.js.map +0 -1
- package/dist/host.d.ts +0 -348
- package/dist/host.d.ts.map +0 -1
- package/dist/host.js +0 -1002
- package/dist/host.js.map +0 -1
- package/dist/link.d.ts +0 -107
- package/dist/link.d.ts.map +0 -1
- package/dist/link.js +0 -355
- package/dist/link.js.map +0 -1
- package/dist/loader.d.ts +0 -4
- package/dist/loader.d.ts.map +0 -1
- package/dist/loader.js +0 -73
- package/dist/loader.js.map +0 -1
- package/dist/manager.d.ts +0 -115
- package/dist/manager.d.ts.map +0 -1
- package/dist/manager.js +0 -345
- package/dist/manager.js.map +0 -1
- package/dist/next/contracts/accepts.d.ts +0 -81
- package/dist/next/contracts/accepts.d.ts.map +0 -1
- package/dist/next/contracts/accepts.js.map +0 -1
- package/dist/next/contracts/contract.d.ts +0 -121
- package/dist/next/contracts/contract.d.ts.map +0 -1
- package/dist/next/contracts/contract.js.map +0 -1
- package/dist/next/contracts/declare.d.ts.map +0 -1
- package/dist/next/contracts/declare.js.map +0 -1
- package/dist/next/contracts/evolve.d.ts.map +0 -1
- package/dist/next/contracts/evolve.js.map +0 -1
- package/dist/next/contracts/fingerprint.d.ts +0 -16
- package/dist/next/contracts/fingerprint.d.ts.map +0 -1
- package/dist/next/contracts/fingerprint.js.map +0 -1
- package/dist/next/contracts/history.d.ts.map +0 -1
- package/dist/next/contracts/history.js.map +0 -1
- package/dist/next/contracts/host-kind.d.ts.map +0 -1
- package/dist/next/contracts/host-kind.js.map +0 -1
- package/dist/next/contracts/index.d.ts.map +0 -1
- package/dist/next/contracts/index.js.map +0 -1
- package/dist/next/contracts/internal.d.ts.map +0 -1
- package/dist/next/contracts/internal.js.map +0 -1
- package/dist/next/contracts/names.d.ts.map +0 -1
- package/dist/next/contracts/names.js.map +0 -1
- package/dist/next/contracts/params.d.ts +0 -28
- package/dist/next/contracts/params.d.ts.map +0 -1
- package/dist/next/contracts/params.js.map +0 -1
- package/dist/next/contracts/schema.d.ts.map +0 -1
- package/dist/next/contracts/schema.js.map +0 -1
- package/dist/next/contracts/snapshot.d.ts +0 -16
- package/dist/next/contracts/snapshot.d.ts.map +0 -1
- package/dist/next/contracts/snapshot.js +0 -167
- package/dist/next/contracts/snapshot.js.map +0 -1
- package/dist/next/data/args.d.ts +0 -50
- package/dist/next/data/args.d.ts.map +0 -1
- package/dist/next/data/args.js.map +0 -1
- package/dist/next/data/errors.d.ts +0 -73
- package/dist/next/data/errors.d.ts.map +0 -1
- package/dist/next/data/errors.js +0 -107
- package/dist/next/data/errors.js.map +0 -1
- package/dist/next/data/failure.d.ts.map +0 -1
- package/dist/next/data/failure.js +0 -72
- package/dist/next/data/failure.js.map +0 -1
- package/dist/next/data/index.d.ts +0 -4
- package/dist/next/data/index.d.ts.map +0 -1
- package/dist/next/data/index.js +0 -4
- package/dist/next/data/index.js.map +0 -1
- package/dist/next/data/internal.d.ts +0 -7
- package/dist/next/data/internal.d.ts.map +0 -1
- package/dist/next/data/internal.js +0 -8
- package/dist/next/data/internal.js.map +0 -1
- package/dist/next/data/params.d.ts +0 -20
- package/dist/next/data/params.d.ts.map +0 -1
- package/dist/next/data/params.js.map +0 -1
- package/dist/next/data/principal.d.ts +0 -17
- package/dist/next/data/principal.d.ts.map +0 -1
- package/dist/next/data/principal.js +0 -41
- package/dist/next/data/principal.js.map +0 -1
- package/dist/next/data/validator.d.ts +0 -12
- package/dist/next/data/validator.d.ts.map +0 -1
- package/dist/next/data/validator.js +0 -34
- package/dist/next/data/validator.js.map +0 -1
- package/dist/next/documents/address-source.d.ts +0 -20
- package/dist/next/documents/address-source.d.ts.map +0 -1
- package/dist/next/documents/address-source.js.map +0 -1
- package/dist/next/documents/definition.d.ts +0 -84
- package/dist/next/documents/definition.d.ts.map +0 -1
- package/dist/next/documents/definition.js +0 -73
- package/dist/next/documents/definition.js.map +0 -1
- package/dist/next/documents/documents.d.ts +0 -106
- package/dist/next/documents/documents.d.ts.map +0 -1
- package/dist/next/documents/documents.js +0 -224
- package/dist/next/documents/documents.js.map +0 -1
- package/dist/next/documents/fence.d.ts.map +0 -1
- package/dist/next/documents/fence.js.map +0 -1
- package/dist/next/documents/handles.d.ts +0 -76
- package/dist/next/documents/handles.d.ts.map +0 -1
- package/dist/next/documents/handles.js.map +0 -1
- package/dist/next/documents/index.d.ts.map +0 -1
- package/dist/next/documents/index.js.map +0 -1
- package/dist/next/documents/internal.d.ts +0 -9
- package/dist/next/documents/internal.d.ts.map +0 -1
- package/dist/next/documents/internal.js.map +0 -1
- package/dist/next/documents/keyed-slot.d.ts +0 -103
- package/dist/next/documents/keyed-slot.d.ts.map +0 -1
- package/dist/next/documents/keyed-slot.js +0 -395
- package/dist/next/documents/keyed-slot.js.map +0 -1
- package/dist/next/documents/line.d.ts.map +0 -1
- package/dist/next/documents/line.js.map +0 -1
- package/dist/next/documents/persistence.d.ts +0 -104
- package/dist/next/documents/persistence.d.ts.map +0 -1
- package/dist/next/documents/persistence.js +0 -128
- package/dist/next/documents/persistence.js.map +0 -1
- package/dist/next/documents/residency.d.ts +0 -31
- package/dist/next/documents/residency.d.ts.map +0 -1
- package/dist/next/documents/residency.js.map +0 -1
- package/dist/next/documents/slot.d.ts +0 -109
- package/dist/next/documents/slot.d.ts.map +0 -1
- package/dist/next/documents/slot.js +0 -181
- package/dist/next/documents/slot.js.map +0 -1
- package/dist/next/documents/transaction.d.ts +0 -133
- package/dist/next/documents/transaction.d.ts.map +0 -1
- package/dist/next/documents/transaction.js +0 -409
- package/dist/next/documents/transaction.js.map +0 -1
- package/dist/next/host/activity.d.ts +0 -31
- package/dist/next/host/activity.d.ts.map +0 -1
- package/dist/next/host/activity.js +0 -40
- package/dist/next/host/activity.js.map +0 -1
- package/dist/next/host/adapted.d.ts +0 -49
- package/dist/next/host/adapted.d.ts.map +0 -1
- package/dist/next/host/adapted.js.map +0 -1
- package/dist/next/host/attempt.d.ts +0 -278
- package/dist/next/host/attempt.d.ts.map +0 -1
- package/dist/next/host/attempt.js +0 -1072
- package/dist/next/host/attempt.js.map +0 -1
- package/dist/next/host/backoff.d.ts.map +0 -1
- package/dist/next/host/backoff.js.map +0 -1
- package/dist/next/host/ctx.d.ts +0 -47
- package/dist/next/host/ctx.d.ts.map +0 -1
- package/dist/next/host/ctx.js +0 -108
- package/dist/next/host/ctx.js.map +0 -1
- package/dist/next/host/deadline.d.ts.map +0 -1
- package/dist/next/host/deadline.js.map +0 -1
- package/dist/next/host/dependencies.d.ts.map +0 -1
- package/dist/next/host/dependencies.js.map +0 -1
- package/dist/next/host/destination.d.ts +0 -48
- package/dist/next/host/destination.d.ts.map +0 -1
- package/dist/next/host/destination.js.map +0 -1
- package/dist/next/host/facet.d.ts +0 -79
- package/dist/next/host/facet.d.ts.map +0 -1
- package/dist/next/host/facet.js.map +0 -1
- package/dist/next/host/follow.d.ts +0 -52
- package/dist/next/host/follow.d.ts.map +0 -1
- package/dist/next/host/follow.js.map +0 -1
- package/dist/next/host/host.d.ts +0 -495
- package/dist/next/host/host.d.ts.map +0 -1
- package/dist/next/host/host.js +0 -1075
- package/dist/next/host/host.js.map +0 -1
- package/dist/next/host/index.d.ts +0 -17
- package/dist/next/host/index.d.ts.map +0 -1
- package/dist/next/host/index.js.map +0 -1
- package/dist/next/host/internal.d.ts +0 -10
- package/dist/next/host/internal.d.ts.map +0 -1
- package/dist/next/host/internal.js +0 -8
- package/dist/next/host/internal.js.map +0 -1
- package/dist/next/host/members.d.ts +0 -50
- package/dist/next/host/members.d.ts.map +0 -1
- package/dist/next/host/members.js.map +0 -1
- package/dist/next/host/native.d.ts +0 -55
- package/dist/next/host/native.d.ts.map +0 -1
- package/dist/next/host/native.js +0 -92
- package/dist/next/host/native.js.map +0 -1
- package/dist/next/host/object.d.ts +0 -290
- package/dist/next/host/object.d.ts.map +0 -1
- package/dist/next/host/object.js +0 -1127
- package/dist/next/host/object.js.map +0 -1
- package/dist/next/host/parked.d.ts +0 -23
- package/dist/next/host/parked.d.ts.map +0 -1
- package/dist/next/host/parked.js.map +0 -1
- package/dist/next/host/presence.d.ts +0 -34
- package/dist/next/host/presence.d.ts.map +0 -1
- package/dist/next/host/presence.js.map +0 -1
- package/dist/next/host/ref-state.d.ts +0 -53
- package/dist/next/host/ref-state.d.ts.map +0 -1
- package/dist/next/host/ref-state.js +0 -83
- package/dist/next/host/ref-state.js.map +0 -1
- package/dist/next/host/reference-keys.d.ts +0 -36
- package/dist/next/host/reference-keys.d.ts.map +0 -1
- package/dist/next/host/reference-keys.js +0 -168
- package/dist/next/host/reference-keys.js.map +0 -1
- package/dist/next/host/reference-source.d.ts +0 -65
- package/dist/next/host/reference-source.d.ts.map +0 -1
- package/dist/next/host/reference-source.js +0 -285
- package/dist/next/host/reference-source.js.map +0 -1
- package/dist/next/host/reference.d.ts +0 -308
- package/dist/next/host/reference.d.ts.map +0 -1
- package/dist/next/host/reference.js +0 -775
- package/dist/next/host/reference.js.map +0 -1
- package/dist/next/host/retry-on.d.ts.map +0 -1
- package/dist/next/host/retry-on.js.map +0 -1
- package/dist/next/host/revocation.d.ts +0 -16
- package/dist/next/host/revocation.d.ts.map +0 -1
- package/dist/next/host/revocation.js.map +0 -1
- package/dist/next/host/root.d.ts +0 -27
- package/dist/next/host/root.d.ts.map +0 -1
- package/dist/next/host/root.js +0 -68
- package/dist/next/host/root.js.map +0 -1
- package/dist/next/host/route.d.ts +0 -64
- package/dist/next/host/route.d.ts.map +0 -1
- package/dist/next/host/route.js +0 -190
- package/dist/next/host/route.js.map +0 -1
- package/dist/next/host/routines.d.ts +0 -76
- package/dist/next/host/routines.d.ts.map +0 -1
- package/dist/next/host/routines.js +0 -350
- package/dist/next/host/routines.js.map +0 -1
- package/dist/next/host/sleep.d.ts +0 -9
- package/dist/next/host/sleep.d.ts.map +0 -1
- package/dist/next/host/sleep.js.map +0 -1
- package/dist/next/host/staging.d.ts +0 -94
- package/dist/next/host/staging.d.ts.map +0 -1
- package/dist/next/host/staging.js +0 -302
- package/dist/next/host/staging.js.map +0 -1
- package/dist/next/host/unbound.d.ts +0 -30
- package/dist/next/host/unbound.d.ts.map +0 -1
- package/dist/next/host/unbound.js +0 -67
- package/dist/next/host/unbound.js.map +0 -1
- package/dist/next/host/uuid.d.ts.map +0 -1
- package/dist/next/host/uuid.js.map +0 -1
- package/dist/next/index.d.ts +0 -28
- package/dist/next/index.d.ts.map +0 -1
- package/dist/next/index.js +0 -18
- package/dist/next/index.js.map +0 -1
- package/dist/next/jobs/definition.d.ts.map +0 -1
- package/dist/next/jobs/definition.js.map +0 -1
- package/dist/next/jobs/index.d.ts.map +0 -1
- package/dist/next/jobs/index.js.map +0 -1
- package/dist/next/jobs/internal.d.ts.map +0 -1
- package/dist/next/jobs/internal.js.map +0 -1
- package/dist/next/jobs/job.d.ts +0 -152
- package/dist/next/jobs/job.d.ts.map +0 -1
- package/dist/next/jobs/job.js +0 -320
- package/dist/next/jobs/job.js.map +0 -1
- package/dist/next/jobs/persisted.d.ts +0 -38
- package/dist/next/jobs/persisted.d.ts.map +0 -1
- package/dist/next/jobs/persisted.js.map +0 -1
- package/dist/next/jobs/records.d.ts +0 -231
- package/dist/next/jobs/records.d.ts.map +0 -1
- package/dist/next/jobs/records.js +0 -869
- package/dist/next/jobs/records.js.map +0 -1
- package/dist/next/jobs/run-states.d.ts +0 -69
- package/dist/next/jobs/run-states.d.ts.map +0 -1
- package/dist/next/jobs/run-states.js +0 -228
- package/dist/next/jobs/run-states.js.map +0 -1
- package/dist/next/jobs/run.d.ts +0 -113
- package/dist/next/jobs/run.d.ts.map +0 -1
- package/dist/next/jobs/run.js +0 -200
- package/dist/next/jobs/run.js.map +0 -1
- package/dist/next/jobs/running.d.ts +0 -44
- package/dist/next/jobs/running.d.ts.map +0 -1
- package/dist/next/jobs/running.js.map +0 -1
- package/dist/next/jobs/stored.d.ts +0 -63
- package/dist/next/jobs/stored.d.ts.map +0 -1
- package/dist/next/jobs/stored.js.map +0 -1
- package/dist/next/link/binary.d.ts.map +0 -1
- package/dist/next/link/binary.js +0 -534
- package/dist/next/link/binary.js.map +0 -1
- package/dist/next/link/channel.d.ts +0 -63
- package/dist/next/link/channel.d.ts.map +0 -1
- package/dist/next/link/channel.js +0 -202
- package/dist/next/link/channel.js.map +0 -1
- package/dist/next/link/errors.d.ts.map +0 -1
- package/dist/next/link/errors.js.map +0 -1
- package/dist/next/link/index.d.ts.map +0 -1
- package/dist/next/link/index.js.map +0 -1
- package/dist/next/link/internal.d.ts.map +0 -1
- package/dist/next/link/internal.js.map +0 -1
- package/dist/next/link/ipc.d.ts.map +0 -1
- package/dist/next/link/ipc.js.map +0 -1
- package/dist/next/link/link.d.ts.map +0 -1
- package/dist/next/link/link.js.map +0 -1
- package/dist/next/link/message.d.ts +0 -249
- package/dist/next/link/message.d.ts.map +0 -1
- package/dist/next/link/message.js +0 -123
- package/dist/next/link/message.js.map +0 -1
- package/dist/next/link/part.d.ts +0 -80
- package/dist/next/link/part.d.ts.map +0 -1
- package/dist/next/link/part.js +0 -164
- package/dist/next/link/part.js.map +0 -1
- package/dist/next/link/text.d.ts.map +0 -1
- package/dist/next/link/text.js +0 -335
- package/dist/next/link/text.js.map +0 -1
- package/dist/next/link/values.d.ts.map +0 -1
- package/dist/next/link/values.js +0 -117
- package/dist/next/link/values.js.map +0 -1
- package/dist/next/link/websocket.d.ts.map +0 -1
- package/dist/next/link/websocket.js.map +0 -1
- package/dist/next/registries/contribution.d.ts.map +0 -1
- package/dist/next/registries/contribution.js.map +0 -1
- package/dist/next/registries/entries.d.ts.map +0 -1
- package/dist/next/registries/entries.js.map +0 -1
- package/dist/next/registries/index.d.ts.map +0 -1
- package/dist/next/registries/index.js.map +0 -1
- package/dist/next/registries/internal.d.ts.map +0 -1
- package/dist/next/registries/internal.js.map +0 -1
- package/dist/next/registries/record.d.ts +0 -94
- package/dist/next/registries/record.d.ts.map +0 -1
- package/dist/next/registries/record.js +0 -253
- package/dist/next/registries/record.js.map +0 -1
- package/dist/next/registries/registry.d.ts +0 -74
- package/dist/next/registries/registry.d.ts.map +0 -1
- package/dist/next/registries/registry.js.map +0 -1
- package/dist/next/registries/value.d.ts.map +0 -1
- package/dist/next/registries/value.js +0 -199
- package/dist/next/registries/value.js.map +0 -1
- package/dist/next/remote/calls.d.ts.map +0 -1
- package/dist/next/remote/calls.js.map +0 -1
- package/dist/next/remote/consumer.d.ts +0 -42
- package/dist/next/remote/consumer.d.ts.map +0 -1
- package/dist/next/remote/consumer.js +0 -343
- package/dist/next/remote/consumer.js.map +0 -1
- package/dist/next/remote/hold.d.ts +0 -130
- package/dist/next/remote/hold.d.ts.map +0 -1
- package/dist/next/remote/hold.js +0 -537
- package/dist/next/remote/hold.js.map +0 -1
- package/dist/next/remote/host-link.d.ts +0 -77
- package/dist/next/remote/host-link.d.ts.map +0 -1
- package/dist/next/remote/host-link.js +0 -182
- package/dist/next/remote/host-link.js.map +0 -1
- package/dist/next/remote/internal.d.ts.map +0 -1
- package/dist/next/remote/internal.js.map +0 -1
- package/dist/next/remote/path.d.ts.map +0 -1
- package/dist/next/remote/path.js.map +0 -1
- package/dist/next/remote/provider.d.ts +0 -76
- package/dist/next/remote/provider.d.ts.map +0 -1
- package/dist/next/remote/provider.js +0 -506
- package/dist/next/remote/provider.js.map +0 -1
- package/dist/next/remote/relay.d.ts +0 -58
- package/dist/next/remote/relay.d.ts.map +0 -1
- package/dist/next/remote/relay.js +0 -117
- package/dist/next/remote/relay.js.map +0 -1
- package/dist/next/remote/remote-object.d.ts +0 -133
- package/dist/next/remote/remote-object.d.ts.map +0 -1
- package/dist/next/remote/remote-object.js +0 -411
- package/dist/next/remote/remote-object.js.map +0 -1
- package/dist/next/remote/replica.d.ts +0 -59
- package/dist/next/remote/replica.d.ts.map +0 -1
- package/dist/next/remote/replica.js +0 -125
- package/dist/next/remote/replica.js.map +0 -1
- package/dist/next/state/batch.d.ts +0 -64
- package/dist/next/state/batch.d.ts.map +0 -1
- package/dist/next/state/batch.js +0 -163
- package/dist/next/state/batch.js.map +0 -1
- package/dist/next/state/derive.d.ts +0 -52
- package/dist/next/state/derive.d.ts.map +0 -1
- package/dist/next/state/derive.js +0 -182
- package/dist/next/state/derive.js.map +0 -1
- package/dist/next/state/index.d.ts +0 -6
- package/dist/next/state/index.d.ts.map +0 -1
- package/dist/next/state/index.js.map +0 -1
- package/dist/next/state/internal.d.ts.map +0 -1
- package/dist/next/state/internal.js.map +0 -1
- package/dist/next/state/native-source.d.ts +0 -106
- package/dist/next/state/native-source.d.ts.map +0 -1
- package/dist/next/state/native-source.js +0 -240
- package/dist/next/state/native-source.js.map +0 -1
- package/dist/next/state/watchable.d.ts +0 -114
- package/dist/next/state/watchable.d.ts.map +0 -1
- package/dist/next/state/watchable.js +0 -156
- package/dist/next/state/watchable.js.map +0 -1
- package/dist/next/state/writable.d.ts +0 -32
- package/dist/next/state/writable.d.ts.map +0 -1
- package/dist/next/state/writable.js.map +0 -1
- package/dist/next/store/adapter.d.ts +0 -67
- package/dist/next/store/adapter.d.ts.map +0 -1
- package/dist/next/store/adapter.js.map +0 -1
- package/dist/next/store/allocator.d.ts.map +0 -1
- package/dist/next/store/allocator.js.map +0 -1
- package/dist/next/store/applier.d.ts.map +0 -1
- package/dist/next/store/applier.js.map +0 -1
- package/dist/next/store/apply-batch.d.ts +0 -12
- package/dist/next/store/apply-batch.d.ts.map +0 -1
- package/dist/next/store/apply-batch.js.map +0 -1
- package/dist/next/store/archive.d.ts +0 -32
- package/dist/next/store/archive.d.ts.map +0 -1
- package/dist/next/store/archive.js +0 -129
- package/dist/next/store/archive.js.map +0 -1
- package/dist/next/store/backend.d.ts +0 -10
- package/dist/next/store/backend.d.ts.map +0 -1
- package/dist/next/store/backend.js.map +0 -1
- package/dist/next/store/catalog.d.ts +0 -24
- package/dist/next/store/catalog.d.ts.map +0 -1
- package/dist/next/store/catalog.js.map +0 -1
- package/dist/next/store/claims.d.ts.map +0 -1
- package/dist/next/store/claims.js.map +0 -1
- package/dist/next/store/columns.d.ts.map +0 -1
- package/dist/next/store/columns.js.map +0 -1
- package/dist/next/store/engine.d.ts +0 -176
- package/dist/next/store/engine.d.ts.map +0 -1
- package/dist/next/store/engine.js +0 -283
- package/dist/next/store/engine.js.map +0 -1
- package/dist/next/store/evaluate.d.ts +0 -17
- package/dist/next/store/evaluate.d.ts.map +0 -1
- package/dist/next/store/evaluate.js.map +0 -1
- package/dist/next/store/export.d.ts +0 -17
- package/dist/next/store/export.d.ts.map +0 -1
- package/dist/next/store/export.js +0 -200
- package/dist/next/store/export.js.map +0 -1
- package/dist/next/store/expression.d.ts +0 -150
- package/dist/next/store/expression.d.ts.map +0 -1
- package/dist/next/store/expression.js.map +0 -1
- package/dist/next/store/import.d.ts +0 -10
- package/dist/next/store/import.d.ts.map +0 -1
- package/dist/next/store/import.js +0 -276
- package/dist/next/store/import.js.map +0 -1
- package/dist/next/store/index.d.ts.map +0 -1
- package/dist/next/store/index.js.map +0 -1
- package/dist/next/store/json-column.d.ts +0 -33
- package/dist/next/store/json-column.d.ts.map +0 -1
- package/dist/next/store/json-column.js +0 -61
- package/dist/next/store/json-column.js.map +0 -1
- package/dist/next/store/jsonl.d.ts.map +0 -1
- package/dist/next/store/jsonl.js.map +0 -1
- package/dist/next/store/outbox.d.ts +0 -26
- package/dist/next/store/outbox.d.ts.map +0 -1
- package/dist/next/store/outbox.js.map +0 -1
- package/dist/next/store/query.d.ts +0 -39
- package/dist/next/store/query.d.ts.map +0 -1
- package/dist/next/store/query.js.map +0 -1
- package/dist/next/store/refusal.d.ts.map +0 -1
- package/dist/next/store/refusal.js.map +0 -1
- package/dist/next/store/rows.d.ts +0 -80
- package/dist/next/store/rows.d.ts.map +0 -1
- package/dist/next/store/rows.js.map +0 -1
- package/dist/next/store/schema.d.ts +0 -25
- package/dist/next/store/schema.d.ts.map +0 -1
- package/dist/next/store/schema.js +0 -115
- package/dist/next/store/schema.js.map +0 -1
- package/dist/next/store/sql.d.ts +0 -73
- package/dist/next/store/sql.d.ts.map +0 -1
- package/dist/next/store/sql.js.map +0 -1
- package/dist/next/store/step.d.ts +0 -48
- package/dist/next/store/step.d.ts.map +0 -1
- package/dist/next/store/step.js +0 -50
- package/dist/next/store/step.js.map +0 -1
- package/dist/next/store/store.d.ts +0 -161
- package/dist/next/store/store.d.ts.map +0 -1
- package/dist/next/store/store.js +0 -627
- package/dist/next/store/store.js.map +0 -1
- package/dist/next/store/table-changes.d.ts +0 -29
- package/dist/next/store/table-changes.d.ts.map +0 -1
- package/dist/next/store/table-changes.js.map +0 -1
- package/dist/next/store/table-evolve.d.ts.map +0 -1
- package/dist/next/store/table-evolve.js.map +0 -1
- package/dist/next/store/table-handle.d.ts +0 -67
- package/dist/next/store/table-handle.d.ts.map +0 -1
- package/dist/next/store/table-handle.js +0 -101
- package/dist/next/store/table-handle.js.map +0 -1
- package/dist/next/store/table-history.d.ts.map +0 -1
- package/dist/next/store/table-history.js.map +0 -1
- package/dist/next/store/table-migration.d.ts +0 -16
- package/dist/next/store/table-migration.d.ts.map +0 -1
- package/dist/next/store/table-migration.js +0 -202
- package/dist/next/store/table-migration.js.map +0 -1
- package/dist/next/store/table-writes.d.ts.map +0 -1
- package/dist/next/store/table-writes.js +0 -165
- package/dist/next/store/table-writes.js.map +0 -1
- package/dist/next/store/table.d.ts +0 -80
- package/dist/next/store/table.d.ts.map +0 -1
- package/dist/next/store/table.js.map +0 -1
- package/dist/next/store/text.d.ts.map +0 -1
- package/dist/next/store/text.js.map +0 -1
- package/dist/next/store/writes.d.ts.map +0 -1
- package/dist/next/store/writes.js.map +0 -1
- package/dist/next-node/compression.d.ts +0 -7
- package/dist/next-node/compression.d.ts.map +0 -1
- package/dist/next-node/compression.js +0 -24
- package/dist/next-node/compression.js.map +0 -1
- package/dist/next-node/http/admission.d.ts.map +0 -1
- package/dist/next-node/http/admission.js.map +0 -1
- package/dist/next-node/http/authenticate.d.ts +0 -21
- package/dist/next-node/http/authenticate.d.ts.map +0 -1
- package/dist/next-node/http/authenticate.js +0 -34
- package/dist/next-node/http/authenticate.js.map +0 -1
- package/dist/next-node/http/cookies.d.ts +0 -24
- package/dist/next-node/http/cookies.d.ts.map +0 -1
- package/dist/next-node/http/cookies.js +0 -62
- package/dist/next-node/http/cookies.js.map +0 -1
- package/dist/next-node/http/file.d.ts.map +0 -1
- package/dist/next-node/http/file.js.map +0 -1
- package/dist/next-node/http/headers.d.ts.map +0 -1
- package/dist/next-node/http/headers.js +0 -129
- package/dist/next-node/http/headers.js.map +0 -1
- package/dist/next-node/http/http.d.ts +0 -100
- package/dist/next-node/http/http.d.ts.map +0 -1
- package/dist/next-node/http/http.js +0 -462
- package/dist/next-node/http/http.js.map +0 -1
- package/dist/next-node/http/incoming.d.ts.map +0 -1
- package/dist/next-node/http/incoming.js.map +0 -1
- package/dist/next-node/http/index.d.ts +0 -11
- package/dist/next-node/http/index.d.ts.map +0 -1
- package/dist/next-node/http/index.js +0 -12
- package/dist/next-node/http/index.js.map +0 -1
- package/dist/next-node/http/node.d.ts.map +0 -1
- package/dist/next-node/http/node.js.map +0 -1
- package/dist/next-node/http/request.d.ts +0 -54
- package/dist/next-node/http/request.d.ts.map +0 -1
- package/dist/next-node/http/request.js +0 -116
- package/dist/next-node/http/request.js.map +0 -1
- package/dist/next-node/http/response.d.ts +0 -63
- package/dist/next-node/http/response.d.ts.map +0 -1
- package/dist/next-node/http/response.js.map +0 -1
- package/dist/next-node/http/router.d.ts +0 -114
- package/dist/next-node/http/router.d.ts.map +0 -1
- package/dist/next-node/http/router.js +0 -261
- package/dist/next-node/http/router.js.map +0 -1
- package/dist/next-node/http/upgrades.d.ts +0 -58
- package/dist/next-node/http/upgrades.d.ts.map +0 -1
- package/dist/next-node/http/upgrades.js +0 -184
- package/dist/next-node/http/upgrades.js.map +0 -1
- package/dist/next-node/plugins/build.d.ts +0 -57
- package/dist/next-node/plugins/build.d.ts.map +0 -1
- package/dist/next-node/plugins/build.js +0 -334
- package/dist/next-node/plugins/build.js.map +0 -1
- package/dist/next-node/plugins/discover.d.ts +0 -36
- package/dist/next-node/plugins/discover.d.ts.map +0 -1
- package/dist/next-node/plugins/discover.js +0 -91
- package/dist/next-node/plugins/discover.js.map +0 -1
- package/dist/next-node/plugins/evaluate.d.ts +0 -33
- package/dist/next-node/plugins/evaluate.d.ts.map +0 -1
- package/dist/next-node/plugins/evaluate.js +0 -98
- package/dist/next-node/plugins/evaluate.js.map +0 -1
- package/dist/next-node/plugins/index.d.ts +0 -9
- package/dist/next-node/plugins/index.d.ts.map +0 -1
- package/dist/next-node/plugins/index.js +0 -11
- package/dist/next-node/plugins/index.js.map +0 -1
- package/dist/next-node/plugins/install.d.ts +0 -13
- package/dist/next-node/plugins/install.d.ts.map +0 -1
- package/dist/next-node/plugins/install.js +0 -37
- package/dist/next-node/plugins/install.js.map +0 -1
- package/dist/next-node/plugins/plugins.d.ts +0 -135
- package/dist/next-node/plugins/plugins.d.ts.map +0 -1
- package/dist/next-node/plugins/plugins.js +0 -206
- package/dist/next-node/plugins/plugins.js.map +0 -1
- package/dist/next-node/plugins/runtime.d.ts +0 -41
- package/dist/next-node/plugins/runtime.d.ts.map +0 -1
- package/dist/next-node/plugins/runtime.js +0 -136
- package/dist/next-node/plugins/runtime.js.map +0 -1
- package/dist/next-node/plugins/stack.d.ts.map +0 -1
- package/dist/next-node/plugins/stack.js.map +0 -1
- package/dist/next-node/plugins/watcher.d.ts +0 -58
- package/dist/next-node/plugins/watcher.d.ts.map +0 -1
- package/dist/next-node/plugins/watcher.js +0 -281
- package/dist/next-node/plugins/watcher.js.map +0 -1
- package/dist/next-node/workers/control.d.ts +0 -83
- package/dist/next-node/workers/control.d.ts.map +0 -1
- package/dist/next-node/workers/control.js +0 -77
- package/dist/next-node/workers/control.js.map +0 -1
- package/dist/next-node/workers/index.d.ts +0 -5
- package/dist/next-node/workers/index.d.ts.map +0 -1
- package/dist/next-node/workers/index.js +0 -7
- package/dist/next-node/workers/index.js.map +0 -1
- package/dist/next-node/workers/lock.d.ts +0 -21
- package/dist/next-node/workers/lock.d.ts.map +0 -1
- package/dist/next-node/workers/lock.js +0 -137
- package/dist/next-node/workers/lock.js.map +0 -1
- package/dist/next-node/workers/main.d.ts +0 -46
- package/dist/next-node/workers/main.d.ts.map +0 -1
- package/dist/next-node/workers/main.js +0 -230
- package/dist/next-node/workers/main.js.map +0 -1
- package/dist/next-node/workers/process.d.ts +0 -42
- package/dist/next-node/workers/process.d.ts.map +0 -1
- package/dist/next-node/workers/process.js +0 -125
- package/dist/next-node/workers/process.js.map +0 -1
- package/dist/next-node/workers/workers.d.ts +0 -80
- package/dist/next-node/workers/workers.d.ts.map +0 -1
- package/dist/next-node/workers/workers.js +0 -572
- package/dist/next-node/workers/workers.js.map +0 -1
- package/dist/node.d.ts +0 -4
- package/dist/node.d.ts.map +0 -1
- package/dist/node.js +0 -4
- package/dist/node.js.map +0 -1
- package/dist/object.d.ts +0 -438
- package/dist/object.d.ts.map +0 -1
- package/dist/object.js +0 -1570
- package/dist/object.js.map +0 -1
- package/dist/publish.d.ts +0 -5
- package/dist/publish.d.ts.map +0 -1
- package/dist/publish.js +0 -40
- package/dist/publish.js.map +0 -1
- package/dist/registry.d.ts +0 -25
- package/dist/registry.d.ts.map +0 -1
- package/dist/registry.js +0 -6
- package/dist/registry.js.map +0 -1
- package/dist/reload.d.ts +0 -126
- package/dist/reload.d.ts.map +0 -1
- package/dist/reload.js +0 -653
- package/dist/reload.js.map +0 -1
- package/dist/remote.d.ts +0 -165
- package/dist/remote.d.ts.map +0 -1
- package/dist/remote.js +0 -612
- package/dist/remote.js.map +0 -1
- package/dist/schema.d.ts +0 -25
- package/dist/schema.d.ts.map +0 -1
- package/dist/schema.js +0 -403
- package/dist/schema.js.map +0 -1
- package/dist/state.d.ts +0 -92
- package/dist/state.d.ts.map +0 -1
- package/dist/state.js +0 -287
- package/dist/state.js.map +0 -1
- package/dist/types.d.ts +0 -88
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/websocket.d.ts +0 -15
- package/dist/websocket.d.ts.map +0 -1
- package/dist/websocket.js +0 -16
- package/dist/websocket.js.map +0 -1
- package/dist/wire.d.ts +0 -197
- package/dist/wire.d.ts.map +0 -1
- package/dist/wire.js +0 -166
- package/dist/wire.js.map +0 -1
- package/docs/guide.md +0 -814
- package/docs/next/benchmarks.md +0 -959
- package/docs/next/decisions.md +0 -2957
- package/docs/next/dependencies/book.md +0 -1671
- package/docs/next/dependencies/index.html +0 -2641
- package/docs/next/design.md +0 -2554
- package/docs/next/durable-observers/book.md +0 -432
- package/docs/next/durable-observers/index.html +0 -517
- package/docs/next/guide-plugins-hosts/book.md +0 -607
- package/docs/next/guide-plugins-hosts/index.html +0 -652
- package/docs/next/http-workers/book.md +0 -378
- package/docs/next/http-workers/index.html +0 -515
- package/docs/next/layer-1.md +0 -311
- package/docs/next/layer-2.md +0 -216
- package/docs/next/plugin-model/book.md +0 -186
- package/docs/next/plugin-model/index.html +0 -310
- package/docs/next/plugin-primer/book.md +0 -273
- package/docs/next/plugin-primer/index.html +0 -430
- package/docs/next/slice-1.md +0 -236
- package/docs/next/slice-10.md +0 -285
- package/docs/next/slice-11.md +0 -93
- package/docs/next/slice-2.md +0 -174
- package/docs/next/slice-3a.md +0 -296
- package/docs/next/slice-3b.md +0 -197
- package/docs/next/slice-4a.md +0 -418
- package/docs/next/slice-4b.md +0 -208
- package/docs/next/slice-6a.md +0 -676
- package/docs/next/slice-6b.md +0 -332
- package/docs/next/slice-7b/book.md +0 -608
- package/docs/next/slice-7b/index.html +0 -842
- package/docs/next/slice-7b.md +0 -255
- package/docs/next/slice-7c.md +0 -165
- package/docs/next/slices.md +0 -230
- package/docs/next/store/book.md +0 -665
- package/docs/next/store/index.html +0 -861
- package/docs/next/store/walkthrough.md +0 -193
- package/docs/spec.md +0 -288
- package/docs/tutorial.md +0 -932
- /package/dist/{next/contracts → contracts}/accepts.js +0 -0
- /package/dist/{next/contracts → contracts}/contract.js +0 -0
- /package/dist/{next/contracts → contracts}/declare.d.ts +0 -0
- /package/dist/{next/contracts → contracts}/declare.js +0 -0
- /package/dist/{next/contracts → contracts}/evolve.d.ts +0 -0
- /package/dist/{next/contracts → contracts}/evolve.js +0 -0
- /package/dist/{next/contracts → contracts}/fingerprint.js +0 -0
- /package/dist/{next/contracts → contracts}/history.d.ts +0 -0
- /package/dist/{next/contracts → contracts}/history.js +0 -0
- /package/dist/{next/contracts → contracts}/host-kind.d.ts +0 -0
- /package/dist/{next/contracts → contracts}/host-kind.js +0 -0
- /package/dist/{next/contracts → contracts}/index.d.ts +0 -0
- /package/dist/{next/contracts → contracts}/index.js +0 -0
- /package/dist/{next/contracts → contracts}/internal.d.ts +0 -0
- /package/dist/{next/contracts → contracts}/internal.js +0 -0
- /package/dist/{next/contracts → contracts}/names.d.ts +0 -0
- /package/dist/{next/contracts → contracts}/names.js +0 -0
- /package/dist/{next/contracts → contracts}/params.js +0 -0
- /package/dist/{next/contracts → contracts}/schema.d.ts +0 -0
- /package/dist/{next/contracts → contracts}/schema.js +0 -0
- /package/dist/{next/data → data}/args.js +0 -0
- /package/dist/{next/data → data}/failure.d.ts +0 -0
- /package/dist/{next/data → data}/params.js +0 -0
- /package/dist/{next/documents → documents}/address-source.js +0 -0
- /package/dist/{next/documents → documents}/fence.d.ts +0 -0
- /package/dist/{next/documents → documents}/fence.js +0 -0
- /package/dist/{next/documents → documents}/handles.js +0 -0
- /package/dist/{next/documents → documents}/index.d.ts +0 -0
- /package/dist/{next/documents → documents}/index.js +0 -0
- /package/dist/{next/documents → documents}/internal.js +0 -0
- /package/dist/{next/documents → documents}/line.d.ts +0 -0
- /package/dist/{next/documents → documents}/line.js +0 -0
- /package/dist/{next/documents → documents}/residency.js +0 -0
- /package/dist/{next/host → host}/adapted.js +0 -0
- /package/dist/{next/host → host}/backoff.d.ts +0 -0
- /package/dist/{next/host → host}/backoff.js +0 -0
- /package/dist/{next/host → host}/deadline.d.ts +0 -0
- /package/dist/{next/host → host}/deadline.js +0 -0
- /package/dist/{next/host → host}/dependencies.d.ts +0 -0
- /package/dist/{next/host → host}/dependencies.js +0 -0
- /package/dist/{next/host → host}/destination.js +0 -0
- /package/dist/{next/host → host}/facet.js +0 -0
- /package/dist/{next/host → host}/follow.js +0 -0
- /package/dist/{next/host → host}/index.js +0 -0
- /package/dist/{next/host → host}/members.js +0 -0
- /package/dist/{next/host → host}/parked.js +0 -0
- /package/dist/{next/host → host}/presence.js +0 -0
- /package/dist/{next/host → host}/retry-on.d.ts +0 -0
- /package/dist/{next/host → host}/retry-on.js +0 -0
- /package/dist/{next/host → host}/revocation.js +0 -0
- /package/dist/{next/host → host}/sleep.js +0 -0
- /package/dist/{next/host → host}/uuid.d.ts +0 -0
- /package/dist/{next/host → host}/uuid.js +0 -0
- /package/dist/{next/jobs → jobs}/definition.d.ts +0 -0
- /package/dist/{next/jobs → jobs}/definition.js +0 -0
- /package/dist/{next/jobs → jobs}/index.d.ts +0 -0
- /package/dist/{next/jobs → jobs}/index.js +0 -0
- /package/dist/{next/jobs → jobs}/internal.d.ts +0 -0
- /package/dist/{next/jobs → jobs}/internal.js +0 -0
- /package/dist/{next/jobs → jobs}/persisted.js +0 -0
- /package/dist/{next/jobs → jobs}/running.js +0 -0
- /package/dist/{next/jobs → jobs}/stored.js +0 -0
- /package/dist/{next/link → link}/binary.d.ts +0 -0
- /package/dist/{next/link → link}/errors.d.ts +0 -0
- /package/dist/{next/link → link}/errors.js +0 -0
- /package/dist/{next/link → link}/index.d.ts +0 -0
- /package/dist/{next/link → link}/index.js +0 -0
- /package/dist/{next/link → link}/internal.d.ts +0 -0
- /package/dist/{next/link → link}/internal.js +0 -0
- /package/dist/{next/link → link}/ipc.d.ts +0 -0
- /package/dist/{next/link → link}/ipc.js +0 -0
- /package/dist/{next/link → link}/link.d.ts +0 -0
- /package/dist/{next/link → link}/link.js +0 -0
- /package/dist/{next/link → link}/text.d.ts +0 -0
- /package/dist/{next/link → link}/values.d.ts +0 -0
- /package/dist/{next/link → link}/websocket.d.ts +0 -0
- /package/dist/{next/link → link}/websocket.js +0 -0
- /package/dist/{next-node → node}/http/admission.d.ts +0 -0
- /package/dist/{next-node → node}/http/admission.js +0 -0
- /package/dist/{next-node → node}/http/file.d.ts +0 -0
- /package/dist/{next-node → node}/http/file.js +0 -0
- /package/dist/{next-node → node}/http/headers.d.ts +0 -0
- /package/dist/{next-node → node}/http/incoming.d.ts +0 -0
- /package/dist/{next-node → node}/http/incoming.js +0 -0
- /package/dist/{next-node → node}/http/node.d.ts +0 -0
- /package/dist/{next-node → node}/http/node.js +0 -0
- /package/dist/{next-node → node}/http/response.js +0 -0
- /package/dist/{next-node → node}/plugins/stack.d.ts +0 -0
- /package/dist/{next-node → node}/plugins/stack.js +0 -0
- /package/dist/{next/registries → registries}/contribution.d.ts +0 -0
- /package/dist/{next/registries → registries}/contribution.js +0 -0
- /package/dist/{next/registries → registries}/entries.d.ts +0 -0
- /package/dist/{next/registries → registries}/entries.js +0 -0
- /package/dist/{next/registries → registries}/index.d.ts +0 -0
- /package/dist/{next/registries → registries}/index.js +0 -0
- /package/dist/{next/registries → registries}/internal.d.ts +0 -0
- /package/dist/{next/registries → registries}/internal.js +0 -0
- /package/dist/{next/registries → registries}/registry.js +0 -0
- /package/dist/{next/registries → registries}/value.d.ts +0 -0
- /package/dist/{next/remote → remote}/calls.d.ts +0 -0
- /package/dist/{next/remote → remote}/calls.js +0 -0
- /package/dist/{next/remote → remote}/internal.d.ts +0 -0
- /package/dist/{next/remote → remote}/internal.js +0 -0
- /package/dist/{next/remote → remote}/path.d.ts +0 -0
- /package/dist/{next/remote → remote}/path.js +0 -0
- /package/dist/{next/state → state}/index.js +0 -0
- /package/dist/{next/state → state}/internal.d.ts +0 -0
- /package/dist/{next/state → state}/internal.js +0 -0
- /package/dist/{next/state → state}/writable.js +0 -0
- /package/dist/{next/store → store}/adapter.js +0 -0
- /package/dist/{next/store → store}/allocator.d.ts +0 -0
- /package/dist/{next/store → store}/allocator.js +0 -0
- /package/dist/{next/store → store}/applier.d.ts +0 -0
- /package/dist/{next/store → store}/applier.js +0 -0
- /package/dist/{next/store → store}/apply-batch.js +0 -0
- /package/dist/{next/store → store}/backend.js +0 -0
- /package/dist/{next/store → store}/catalog.js +0 -0
- /package/dist/{next/store → store}/claims.d.ts +0 -0
- /package/dist/{next/store → store}/claims.js +0 -0
- /package/dist/{next/store → store}/columns.d.ts +0 -0
- /package/dist/{next/store → store}/columns.js +0 -0
- /package/dist/{next/store → store}/evaluate.js +0 -0
- /package/dist/{next/store → store}/expression.js +0 -0
- /package/dist/{next/store → store}/index.d.ts +0 -0
- /package/dist/{next/store → store}/index.js +0 -0
- /package/dist/{next/store → store}/jsonl.d.ts +0 -0
- /package/dist/{next/store → store}/jsonl.js +0 -0
- /package/dist/{next/store → store}/outbox.js +0 -0
- /package/dist/{next/store → store}/query.js +0 -0
- /package/dist/{next/store → store}/refusal.d.ts +0 -0
- /package/dist/{next/store → store}/refusal.js +0 -0
- /package/dist/{next/store → store}/rows.js +0 -0
- /package/dist/{next/store → store}/sql.js +0 -0
- /package/dist/{next/store → store}/table-changes.js +0 -0
- /package/dist/{next/store → store}/table-evolve.d.ts +0 -0
- /package/dist/{next/store → store}/table-evolve.js +0 -0
- /package/dist/{next/store → store}/table-history.d.ts +0 -0
- /package/dist/{next/store → store}/table-history.js +0 -0
- /package/dist/{next/store → store}/table-writes.d.ts +0 -0
- /package/dist/{next/store → store}/table.js +0 -0
- /package/dist/{next/store → store}/text.d.ts +0 -0
- /package/dist/{next/store → store}/text.js +0 -0
- /package/dist/{next/store → store}/writes.d.ts +0 -0
- /package/dist/{next/store → store}/writes.js +0 -0
- /package/docs/{next/dependencies → dependencies}/model.md +0 -0
- /package/docs/{next/flow-control → flow-control}/book.md +0 -0
- /package/docs/{next/flow-control → flow-control}/fold/index.html +0 -0
- /package/docs/{next/flow-control → flow-control}/index.html +0 -0
- /package/docs/{next/flow-control → flow-control}/window/index.html +0 -0
- /package/docs/{next/slice-4.md → slice-4.md} +0 -0
- /package/docs/{next/slice-5.md → slice-5.md} +0 -0
- /package/docs/{next/slice-7a.md → slice-7a.md} +0 -0
- /package/docs/{next/slice-8.md → slice-8.md} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../src/next/host/route.ts"],"names":[],"mappings":"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","sourcesContent":["// Routes (§3): how a host reaches hosts of one kind. `authorize` admits each hold routed over the route; `resolve`\n// makes the link of one address, at most once at a time. No timer (slice 10 R2): an address resolves for a new hold,\n// on `RouteHandle.retry`, or once after its link dropped while held; a rejected `resolve` (or a link closed before its\n// handshake) fails its holders `failed { waiting }` until then, and a suspended address resolves nothing while held.\n\nimport type { Context } from \"../../context/index.ts\";\nimport type { Address, HostKind, KindShape } from \"../contracts/index.ts\";\nimport { kindParams, type ParamsData } from \"../contracts/internal.ts\";\nimport { ChordError, type Principal } from \"../data/index.ts\";\nimport { asChordError, checkAddress } from \"../data/internal.ts\";\nimport type { Codec, Link, PartLimits } from \"../link/index.ts\";\nimport { type HostLink, Path, type PathEvent, type Upstream } from \"../remote/internal.ts\";\nimport type { AnyHost } from \"./host.ts\";\n\n/** What `host.route` takes for a kind. */\nexport type RouteOptions<P extends Principal, K extends KindShape> = {\n\t/** Whether `principal` may reach `address`; runs for every hold routed over the route, before anything starts. */\n\tauthorize(principal: P, address: Address<K>): boolean;\n\t/**\n\t * The link to `address`: `principal` is who the host at the other end is, `trusted` skips the message check on it,\n\t * `limits` bound its parts (as `accept`'s). `context` is the route's, aborted when this host closes. Runs at most\n\t * once at a time per address.\n\t */\n\tresolve(\n\t\taddress: Address<K>,\n\t\tcontext: Context,\n\t): Promise<{\n\t\treadonly link: Link;\n\t\treadonly principal: P;\n\t\treadonly trusted?: boolean;\n\t\treadonly codec?: Codec;\n\t\treadonly limits?: PartLimits;\n\t}>;\n};\n\n/** What `host.route` returns: the app's controls of its addresses (D10b, R1). */\nexport type RouteHandle<K extends KindShape> = {\n\t/**\n\t * Resolves `address` again now if it has holders and no link: its failure and its suspension end (a Retry button);\n\t * an address nobody holds resolves at its next hold.\n\t */\n\tretry(address: Address<K>): void;\n\t/**\n\t * Resolves nothing for `address` while it has holders: they wait `failed { waiting }` (\"suspended\") once its link is\n\t * gone; the suspension ends with its last holder or `retry`.\n\t */\n\tsuspend(address: Address<K>): void;\n};\n\n/** One address of a route: its path, whether its `resolve` runs, why it fails its holders, whether it is suspended. */\ntype Routed = {\n\treadonly address: Address;\n\treadonly path: Path;\n\tresolving: boolean;\n\t/** A rejected `resolve`, or a link closed before its handshake: its holders fail with it until the next resolve. */\n\tfailure: ChordError | undefined;\n\tsuspended: boolean;\n};\n\n/**\n * A host's route for one kind. An address is kept while it has holders, a link or a running `resolve`: a resolve whose\n * holds were all released meanwhile finishes, and its link is kept until it closes.\n */\nexport class Route {\n\treadonly kind: string;\n\treadonly #params: ParamsData;\n\treadonly #options: RouteOptions<Principal, KindShape>;\n\treadonly #host: AnyHost;\n\t/** The route's context, aborted when the host closes: every `resolve` and its links' work run under it. */\n\treadonly #context: Context;\n\treadonly #addresses = new Map<string, Routed>();\n\t/** The addresses' links, which tell their address when they close, and whether each completed its handshake. */\n\treadonly #links = new Map<HostLink, { readonly routed: Routed; greeted: boolean }>();\n\n\tconstructor(kind: HostKind, options: RouteOptions<Principal, KindShape>, host: AnyHost, context: Context) {\n\t\tthis.kind = kind.kind;\n\t\tthis.#params = kindParams(kind);\n\t\tthis.#options = options;\n\t\tthis.#host = host;\n\t\tthis.#context = context;\n\t}\n\n\t/**\n\t * The path to the address with `params`, for a hold acting as `principal`: the params checked against the kind\n\t * (`invalid/host_address`), then `authorize` (`forbidden` when it refuses; a throw is the hold's failure).\n\t */\n\tpath(params: unknown, principal: Principal | undefined, context: Context): Path {\n\t\tconst address = checkAddress(this.kind, this.#params, params, context);\n\t\tif (principal === undefined || !this.#options.authorize(principal, address)) {\n\t\t\tthrow new ChordError({ code: \"forbidden\", message: `${address.key}: not authorized` });\n\t\t}\n\t\tlet routed = this.#addresses.get(address.key);\n\t\tif (routed === undefined) {\n\t\t\tconst made: Routed = {\n\t\t\t\taddress,\n\t\t\t\tpath: new Path((event) => this.#changed(made, event)),\n\t\t\t\tresolving: false,\n\t\t\t\tfailure: undefined,\n\t\t\t\tsuspended: false,\n\t\t\t};\n\t\t\trouted = made;\n\t\t\tthis.#addresses.set(address.key, made);\n\t\t}\n\t\treturn routed.path;\n\t}\n\n\t/** `RouteHandle.retry`: the address's failure and suspension end; it resolves now if held and unlinked. */\n\tretry(key: string): void {\n\t\tconst routed = this.#addresses.get(key);\n\t\tif (routed === undefined) return;\n\t\trouted.failure = undefined;\n\t\trouted.suspended = false;\n\t\tthis.#resolveIfHeld(routed);\n\t}\n\n\t/** `RouteHandle.suspend`: a held address resolves nothing until `retry` or its last holder; unheld, nothing is kept. */\n\tsuspend(key: string): void {\n\t\tconst routed = this.#addresses.get(key);\n\t\tif (routed === undefined || !routed.path.held) return;\n\t\trouted.suspended = true;\n\t\tif (routed.path.link === undefined && !routed.resolving) routed.path.unreachable(suspended(routed));\n\t}\n\n\t/** One of this route's links completed its handshake: a later drop of it resolves its address again. */\n\topened(link: HostLink): void {\n\t\tconst entry = this.#links.get(link);\n\t\tif (entry !== undefined) entry.greeted = true;\n\t}\n\n\t/**\n\t * One of this route's links closed: its address resolves again once while held if the link had completed its\n\t * handshake, else its holders fail (no loop over a worker that dies at start).\n\t */\n\tclosed(link: HostLink): boolean {\n\t\tconst entry = this.#links.get(link);\n\t\tif (entry === undefined) return false;\n\t\tthis.#links.delete(link);\n\t\tconst { routed } = entry;\n\t\tif (!entry.greeted) {\n\t\t\trouted.failure = new ChordError({\n\t\t\t\tcode: \"unavailable\",\n\t\t\t\tmessage: `${routed.address.key}: the link closed before its handshake`,\n\t\t\t});\n\t\t}\n\t\trouted.path.disconnected(link);\n\t\treturn true;\n\t}\n\n\t/** Every holder of every path of this route, linked or not (revocation ends a revoked principal's). */\n\tholders(): Upstream[] {\n\t\treturn [...this.#addresses.values()].flatMap(({ path }) => path.holders());\n\t}\n\n\t/**\n\t * An address's path changed without a link: a new holder resolves it (a failed address too: a new hold is a new\n\t * request), a dropped link resolves it once (or fails it, closed before its handshake), the last holder's release\n\t * forgets it (its failure and suspension too) unless its link or `resolve` keeps it.\n\t */\n\t#changed(routed: Routed, event: PathEvent): void {\n\t\tif (this.#host.closing) return;\n\t\tswitch (event.kind) {\n\t\t\tcase \"released\":\n\t\t\t\trouted.suspended = false;\n\t\t\t\tif (routed.path.link === undefined && !routed.resolving) this.#addresses.delete(routed.address.key);\n\t\t\t\treturn;\n\t\t\tcase \"attached\":\n\t\t\t\tif (routed.suspended) event.holder.unreachable(suspended(routed));\n\t\t\t\telse if (!routed.resolving) void this.#resolve(routed);\n\t\t\t\treturn;\n\t\t\tcase \"dropped\":\n\t\t\t\tif (!routed.path.held) this.#addresses.delete(routed.address.key);\n\t\t\t\telse if (routed.suspended) routed.path.unreachable(suspended(routed));\n\t\t\t\telse if (routed.failure !== undefined) routed.path.unreachable(routed.failure);\n\t\t\t\telse void this.#resolve(routed);\n\t\t}\n\t}\n\n\t/** Resolves the address if it has holders, no link, no running `resolve` and no suspension. */\n\t#resolveIfHeld(routed: Routed): void {\n\t\tconst { path } = routed;\n\t\tif (!path.held || path.link !== undefined || routed.resolving || this.#host.closing) return;\n\t\tvoid this.#resolve(routed);\n\t}\n\n\t/**\n\t * Runs `resolve` once for the address. A rejection, or a link closed already, fails its holders with the error until\n\t * the next resolve; a link returned after the host closed is closed at once.\n\t */\n\tasync #resolve(routed: Routed): Promise<void> {\n\t\tconst key = routed.address.key;\n\t\trouted.resolving = true;\n\t\tlet resolved: Awaited<ReturnType<RouteOptions<Principal, KindShape>[\"resolve\"]>>;\n\t\ttry {\n\t\t\tresolved = await this.#options.resolve(routed.address, this.#context);\n\t\t} catch (error) {\n\t\t\trouted.resolving = false;\n\t\t\tif (this.#host.closing) return;\n\t\t\tthis.#host.report({ kind: \"resolve_failed\", address: key, error });\n\t\t\tthis.#settle(routed, asChordError(error, key));\n\t\t\treturn;\n\t\t}\n\t\trouted.resolving = false;\n\t\tif (this.#host.closing) {\n\t\t\tresolved.link.close();\n\t\t\treturn;\n\t\t}\n\t\tconst { link: made, ...options } = resolved;\n\t\tconst link = this.#host.routeLink(made, options, this.#context);\n\t\tif (!link.open) {\n\t\t\tthis.#settle(\n\t\t\t\trouted,\n\t\t\t\tnew ChordError({ code: \"unavailable\", message: `${key}: the link closed before its handshake` }),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\trouted.failure = undefined;\n\t\t// A peer that greeted first had its `hello` handled while the link was made, before it was registered here.\n\t\tthis.#links.set(link, { routed, greeted: link.greeted });\n\t\trouted.path.connected(link);\n\t}\n\n\t/**\n\t * A resolve failed with `error`: its holders fail `failed { waiting }` with it (they stay on its path for its next\n\t * link), or the address goes when nobody holds it any more.\n\t */\n\t#settle(routed: Routed, error: ChordError): void {\n\t\tif (!routed.path.held) {\n\t\t\tthis.#addresses.delete(routed.address.key);\n\t\t\treturn;\n\t\t}\n\t\trouted.failure = error;\n\t\trouted.path.unreachable(routed.suspended ? suspended(routed) : error);\n\t}\n}\n\n/** The failure holders of a suspended address see. */\nfunction suspended(routed: Routed): ChordError {\n\treturn new ChordError({ code: \"unavailable\", message: `${routed.address.key}: suspended` });\n}\n"]}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import type { Context } from "../../context/index.ts";
|
|
2
|
-
import { type NativeWatchable, type NativeWatchCall, type Watchable, type WatchCall } from "../../watch.ts";
|
|
3
|
-
import type { Principal } from "../data/index.ts";
|
|
4
|
-
import { type Caller, type Ctx } from "./ctx.ts";
|
|
5
|
-
import type { AnyHost } from "./host.ts";
|
|
6
|
-
/**
|
|
7
|
-
* Where routines run: their owner's label (for reports), its host, whom their calls act for, and the context of their
|
|
8
|
-
* calls, aborted when the owner ends. `admit` adds a running call to the owner's drain.
|
|
9
|
-
*/
|
|
10
|
-
export type RoutineOwner = {
|
|
11
|
-
readonly label: string;
|
|
12
|
-
readonly host: AnyHost;
|
|
13
|
-
readonly caller: Caller;
|
|
14
|
-
readonly context: Context;
|
|
15
|
-
/**
|
|
16
|
-
* Adds a running call to the drain; `cleanup` (its bookkeeping) runs once, when it settles or when the attempt ends
|
|
17
|
-
* with it still running.
|
|
18
|
-
*/
|
|
19
|
-
admit(running: Promise<unknown>, cleanup: () => void): void;
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* A routine's handler of a JSON source: the value call (the value, the ops since the previous call, whether the
|
|
23
|
-
* source's document was retired since then) and the call's ctx. Failures are not calls of a handler (design §11): the
|
|
24
|
-
* routine waits for the next value.
|
|
25
|
-
*/
|
|
26
|
-
export type OnHandler<T, C extends Ctx = Ctx> = (call: WatchValueCall<T>, ctx: C) => void | Promise<void>;
|
|
27
|
-
/** A JSON watch's value call: what an `on` handler gets. */
|
|
28
|
-
export type WatchValueCall<T> = Extract<WatchCall<T>, {
|
|
29
|
-
readonly kind: "value";
|
|
30
|
-
}>;
|
|
31
|
-
/** A native watch's value call. */
|
|
32
|
-
export type NativeWatchValueCall<T> = Extract<NativeWatchCall<T>, {
|
|
33
|
-
readonly kind: "value";
|
|
34
|
-
}>;
|
|
35
|
-
/** A routine's handler of a native source: the value call (the value) and the call's ctx. */
|
|
36
|
-
export type OnNativeHandler<T, C extends Ctx = Ctx> = (call: NativeWatchValueCall<T>, ctx: C) => void | Promise<void>;
|
|
37
|
-
/** An `onLive` routine: called once its owner is live. */
|
|
38
|
-
export type OnLiveHandler<C extends Ctx = Ctx> = (ctx: C) => void | Promise<void>;
|
|
39
|
-
/** What the declarations of an owner (`on`, `onLive`) take; part of the factory's `self` and the facet's. */
|
|
40
|
-
export interface RoutineDeclarations<P extends Principal = Principal> {
|
|
41
|
-
/**
|
|
42
|
-
* A routine over `source`: `fn` gets its current value first (ops `[["r", value]]`), then one call per change,
|
|
43
|
-
* never overlapping: changes during a call fold into one next call (the newest value, the ops since the previous
|
|
44
|
-
* call, `retired` when any of them was a retirement). After a call that threw, it is called again with the whole
|
|
45
|
-
* newest value (`retired` again if the call that threw had it) after a backoff (1 s doubling to 60 s), or at once on
|
|
46
|
-
* a change during the backoff. Ends with its source. A JSON watchable is one whose watch is Chord's shared `Watch`
|
|
47
|
-
* (every Chord and Durable source).
|
|
48
|
-
*/
|
|
49
|
-
on<T>(source: Watchable<T>, fn: OnHandler<T, Ctx<P>>): void;
|
|
50
|
-
/**
|
|
51
|
-
* A routine over a native source (a registry value, `ref.state`): one whose watch is Chord's shared `NativeWatch`.
|
|
52
|
-
* As above without ops: after a busy call, one call with the newest value.
|
|
53
|
-
*/
|
|
54
|
-
on<T>(source: NativeWatchable<T>, fn: OnNativeHandler<T, Ctx<P>>): void;
|
|
55
|
-
/**
|
|
56
|
-
* A routine called once its owner is live. Returning ends it; a throw is reported and restarts it after a backoff
|
|
57
|
-
* (1 s doubling to 60 s, reset after a run of a minute); the owner's end aborts its ctx.
|
|
58
|
-
*/
|
|
59
|
-
onLive(fn: OnLiveHandler<Ctx<P>>): void;
|
|
60
|
-
}
|
|
61
|
-
/** An owner's routines: declared while its factory (or setup) runs, started once when it went live. */
|
|
62
|
-
export declare class Routines {
|
|
63
|
-
#private;
|
|
64
|
-
/** Declares `on(source, fn)`; whether the source is JSON or native is decided by its watch (`OnRoutine`). */
|
|
65
|
-
on(source: Watchable<unknown> | NativeWatchable<unknown>, fn: (...args: never[]) => void | Promise<void>): void;
|
|
66
|
-
/** Whether nothing was declared. */
|
|
67
|
-
get empty(): boolean;
|
|
68
|
-
/** Declares `onLive(fn)`. */
|
|
69
|
-
onLive(fn: OnLiveHandler): void;
|
|
70
|
-
/**
|
|
71
|
-
* Starts every routine for `owner`, which went live; they stop when its context is aborted. A routine whose
|
|
72
|
-
* synchronous start ends the owner (an `onLive` releasing its last reference) starts none of the later ones.
|
|
73
|
-
*/
|
|
74
|
-
start(owner: RoutineOwner): void;
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=routines.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routines.d.ts","sourceRoot":"","sources":["../../../src/next/host/routines.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,350 +0,0 @@
|
|
|
1
|
-
// Routines (§14): the standing behaviour an object or a facet declares, `self.on(source, fn)` and `self.onLive(fn)`.
|
|
2
|
-
// They start once their owner went live and stop when it ends (their ctx aborted, the drain waits for running calls);
|
|
3
|
-
// each call gets its own ctx; a call that throws is reported and called again after a backoff.
|
|
4
|
-
import { PendingOps } from "../../delta/index.js";
|
|
5
|
-
import { NativeWatch, } from "../../watch.js";
|
|
6
|
-
import { NativeSource, Source } from "../state/internal.js";
|
|
7
|
-
import { nextDelay } from "./backoff.js";
|
|
8
|
-
import { CallContext } from "./ctx.js";
|
|
9
|
-
import { resolveWatchable } from "./reference.js";
|
|
10
|
-
import { sleep } from "./sleep.js";
|
|
11
|
-
const DONE = { kind: "done" };
|
|
12
|
-
/** What `#failing` says of a source failed now. */
|
|
13
|
-
const FAILING = { kind: "failed" };
|
|
14
|
-
/** One run of an `onLive` that lasted this long resets its backoff. */
|
|
15
|
-
const LONG_RUN = 60_000;
|
|
16
|
-
/** An owner's routines: declared while its factory (or setup) runs, started once when it went live. */
|
|
17
|
-
export class Routines {
|
|
18
|
-
#declared = [];
|
|
19
|
-
#ons = 0;
|
|
20
|
-
#lives = 0;
|
|
21
|
-
/** Declares `on(source, fn)`; whether the source is JSON or native is decided by its watch (`OnRoutine`). */
|
|
22
|
-
on(source, fn) {
|
|
23
|
-
this.#declared.push({ kind: "on", at: { kind: "on", position: ++this.#ons }, source, fn });
|
|
24
|
-
}
|
|
25
|
-
/** Whether nothing was declared. */
|
|
26
|
-
get empty() {
|
|
27
|
-
return this.#declared.length === 0;
|
|
28
|
-
}
|
|
29
|
-
/** Declares `onLive(fn)`. */
|
|
30
|
-
onLive(fn) {
|
|
31
|
-
this.#declared.push({ kind: "onLive", at: { kind: "onLive", position: ++this.#lives }, fn });
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Starts every routine for `owner`, which went live; they stop when its context is aborted. A routine whose
|
|
35
|
-
* synchronous start ends the owner (an `onLive` releasing its last reference) starts none of the later ones.
|
|
36
|
-
*/
|
|
37
|
-
start(owner) {
|
|
38
|
-
for (const declaration of this.#declared) {
|
|
39
|
-
if (owner.context.abortSignal?.aborted)
|
|
40
|
-
return;
|
|
41
|
-
if (declaration.kind === "on")
|
|
42
|
-
void new OnRoutine(owner, declaration).start();
|
|
43
|
-
else
|
|
44
|
-
void live(owner, declaration);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Runs `onLive`'s handler until it returns or its owner ends; a throw is reported and the handler restarts after the
|
|
50
|
-
* backoff.
|
|
51
|
-
*/
|
|
52
|
-
async function live(owner, { at, fn }) {
|
|
53
|
-
let delay;
|
|
54
|
-
while (!owner.context.abortSignal?.aborted) {
|
|
55
|
-
const started = Date.now();
|
|
56
|
-
const called = await call(owner, fn);
|
|
57
|
-
if (called.kind === "done" || owner.context.abortSignal?.aborted)
|
|
58
|
-
return;
|
|
59
|
-
failed(owner, at, called.error);
|
|
60
|
-
delay = nextDelay(Date.now() - started >= LONG_RUN ? undefined : delay);
|
|
61
|
-
try {
|
|
62
|
-
await sleep(delay, owner.context);
|
|
63
|
-
}
|
|
64
|
-
catch {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Runs one routine call under its own ctx (its `ctx.get` references released when it settles), admitted to the owner's
|
|
71
|
-
* drain before the handler runs: a handler may end its own owner before its first await. Resolves with how it ended;
|
|
72
|
-
* never rejects.
|
|
73
|
-
*/
|
|
74
|
-
function call(owner, invoke) {
|
|
75
|
-
const ctx = new CallContext(owner.context, owner.caller, owner.host);
|
|
76
|
-
const settled = Promise.withResolvers();
|
|
77
|
-
owner.admit(settled.promise, () => ctx.settle());
|
|
78
|
-
const finish = (called) => {
|
|
79
|
-
ctx.settle();
|
|
80
|
-
settled.resolve(called);
|
|
81
|
-
};
|
|
82
|
-
// Plugin code: a synchronous throw becomes the rejection.
|
|
83
|
-
(async () => invoke(ctx))().then(() => finish(DONE), (error) => finish({ kind: "failed", error }));
|
|
84
|
-
return settled.promise;
|
|
85
|
-
}
|
|
86
|
-
/** Reports a failed routine call or source. */
|
|
87
|
-
function failed(owner, routine, error) {
|
|
88
|
-
owner.host.report({ kind: "routine_failed", object: owner.label, routine, error });
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* One `on` routine. Its watch's listener never throws (a throwing listener would end the watch) and never waits: it
|
|
92
|
-
* keeps the newest frame, folding JSON ops, and the routine makes one call at a time from it, the first call and the
|
|
93
|
-
* retries after a throw through the same pending frame.
|
|
94
|
-
*/
|
|
95
|
-
class OnRoutine {
|
|
96
|
-
#owner;
|
|
97
|
-
#declaration;
|
|
98
|
-
#state = { kind: "starting" };
|
|
99
|
-
/** A native source's watch yields values without ops; decided by its watch's class. */
|
|
100
|
-
#native = false;
|
|
101
|
-
/** The newest value no call got yet. */
|
|
102
|
-
#pending;
|
|
103
|
-
/** The ops of the frames since the last call (JSON sources), folded. */
|
|
104
|
-
#ops = new PendingOps();
|
|
105
|
-
/** One of the frames since the last call was a retirement (JSON sources). */
|
|
106
|
-
#retired = false;
|
|
107
|
-
#basis = "none";
|
|
108
|
-
/** The value of the last call: a retry after a throw calls with it. */
|
|
109
|
-
#last;
|
|
110
|
-
/** The last call reported a retirement: a retry after a throw reports it again. */
|
|
111
|
-
#lastRetired = false;
|
|
112
|
-
#delay;
|
|
113
|
-
/** The source failed after its last value: no call until its next value (a retry waits too). */
|
|
114
|
-
#failed = false;
|
|
115
|
-
constructor(owner, declaration) {
|
|
116
|
-
this.#owner = owner;
|
|
117
|
-
this.#declaration = declaration;
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Takes the watch and calls with its value. On a failed Chord source it waits for its first good value instead (a
|
|
121
|
-
* source that never had one is followed until it has). A source that cannot be watched otherwise is reported; an
|
|
122
|
-
* owner or source that ended meanwhile ends the routine. Never rejects.
|
|
123
|
-
*/
|
|
124
|
-
async start() {
|
|
125
|
-
const { source, at } = this.#declaration;
|
|
126
|
-
let failing = this.#failing();
|
|
127
|
-
while (failing?.kind === "no_value") {
|
|
128
|
-
if (!(await this.#firstValue(failing.source))) {
|
|
129
|
-
this.#state = { kind: "ended" };
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
// Asked again: a failure may have followed the first value before this resumed (one receive turn).
|
|
133
|
-
failing = this.#failing();
|
|
134
|
-
}
|
|
135
|
-
let watch;
|
|
136
|
-
try {
|
|
137
|
-
watch = await source.watch(this.#owner.context);
|
|
138
|
-
}
|
|
139
|
-
catch (error) {
|
|
140
|
-
this.#state = { kind: "ended" };
|
|
141
|
-
if (!this.#aborted())
|
|
142
|
-
failed(this.#owner, at, error);
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
this.#native = watch instanceof NativeWatch;
|
|
146
|
-
void watch.closed.then((end) => this.#end(end));
|
|
147
|
-
try {
|
|
148
|
-
// Both listeners return at once.
|
|
149
|
-
watch.start((call) => {
|
|
150
|
-
if (call.kind === "value")
|
|
151
|
-
this.#frame(call);
|
|
152
|
-
else
|
|
153
|
-
this.#failure();
|
|
154
|
-
return Promise.resolve();
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
catch {
|
|
158
|
-
// The watch ended while it was taken (the owner or the source ended): `closed` says how.
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
// A watch opened on a failed source holds its last good value, a stale one: its first call is the failure.
|
|
162
|
-
if (failing?.kind === "failed") {
|
|
163
|
-
this.#state = { kind: "idle" };
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
this.#pending = { value: watch.value };
|
|
167
|
-
this.#next();
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Whether the source is a Chord source failed now (`failed`), or a JSON one with no value yet (`no_value`, with the
|
|
171
|
-
* source to follow); `undefined` otherwise (Durable's views tell their failures through their watches).
|
|
172
|
-
*/
|
|
173
|
-
#failing() {
|
|
174
|
-
const declared = this.#declaration.source;
|
|
175
|
-
// A native source opens its watch at its last good value while failed (a registry whose `compose` threw): its
|
|
176
|
-
// first call is the failure, not that stale value.
|
|
177
|
-
if (declared instanceof NativeSource)
|
|
178
|
-
return declared.start().kind === "failed" ? FAILING : undefined;
|
|
179
|
-
let source;
|
|
180
|
-
try {
|
|
181
|
-
source = resolveWatchable(this.#declaration.source);
|
|
182
|
-
}
|
|
183
|
-
catch {
|
|
184
|
-
// Not bound or ended: the watch says so.
|
|
185
|
-
return undefined;
|
|
186
|
-
}
|
|
187
|
-
if (!(source instanceof Source))
|
|
188
|
-
return undefined;
|
|
189
|
-
let start;
|
|
190
|
-
try {
|
|
191
|
-
start = source.start();
|
|
192
|
-
}
|
|
193
|
-
catch {
|
|
194
|
-
return undefined;
|
|
195
|
-
}
|
|
196
|
-
if (start.kind === "value")
|
|
197
|
-
return undefined;
|
|
198
|
-
return start.last === undefined ? { kind: "no_value", source } : { kind: "failed" };
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Follows `source`, failed with no value, until its first good value (`true`), or until it or the owner ends
|
|
202
|
-
* (`false`): a subscriber of its own, since a watch has nothing to start at.
|
|
203
|
-
*/
|
|
204
|
-
#firstValue(source) {
|
|
205
|
-
const signal = this.#owner.context.abortSignal;
|
|
206
|
-
return new Promise((resolve) => {
|
|
207
|
-
const done = (got) => {
|
|
208
|
-
source.unsubscribe(subscriber);
|
|
209
|
-
signal?.removeEventListener("abort", aborted);
|
|
210
|
-
resolve(got);
|
|
211
|
-
};
|
|
212
|
-
const subscriber = {
|
|
213
|
-
advance: (call) => {
|
|
214
|
-
if (call.kind === "value")
|
|
215
|
-
done(true);
|
|
216
|
-
},
|
|
217
|
-
end: () => done(false),
|
|
218
|
-
endAfterDelivery: () => done(false),
|
|
219
|
-
};
|
|
220
|
-
const aborted = () => done(false);
|
|
221
|
-
signal?.addEventListener("abort", aborted, { once: true });
|
|
222
|
-
if (signal?.aborted)
|
|
223
|
-
aborted();
|
|
224
|
-
else
|
|
225
|
-
source.subscribe(subscriber);
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
|
-
/**
|
|
229
|
-
* The source failed: what was pending goes (a value a failure followed is stale), a pending retry or settle is
|
|
230
|
-
* dropped, and the next call waits for the next value, as a whole value; a running call runs on.
|
|
231
|
-
*/
|
|
232
|
-
#failure() {
|
|
233
|
-
const state = this.#state;
|
|
234
|
-
if (state.kind === "ended")
|
|
235
|
-
return;
|
|
236
|
-
this.#failed = true;
|
|
237
|
-
this.#pending = undefined;
|
|
238
|
-
this.#ops.take();
|
|
239
|
-
this.#basis = "none";
|
|
240
|
-
if (state.kind === "backoff" || state.kind === "settling") {
|
|
241
|
-
clearTimeout(state.timer);
|
|
242
|
-
this.#state = { kind: "idle" };
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* A frame of the watch: kept as the newest; it is called at once when nothing runs or waits, during a backoff too
|
|
247
|
-
* (the backoff ends); while a call runs or settles it waits for the next call.
|
|
248
|
-
*/
|
|
249
|
-
#frame(call) {
|
|
250
|
-
const state = this.#state;
|
|
251
|
-
if (state.kind === "ended")
|
|
252
|
-
return;
|
|
253
|
-
this.#failed = false;
|
|
254
|
-
this.#pending = { value: call.value };
|
|
255
|
-
if (!this.#native) {
|
|
256
|
-
// A JSON watch's call, as its class decided.
|
|
257
|
-
const { ops, retired } = call;
|
|
258
|
-
this.#ops.push(ops);
|
|
259
|
-
if (retired)
|
|
260
|
-
this.#retired = true;
|
|
261
|
-
}
|
|
262
|
-
if (state.kind === "backoff")
|
|
263
|
-
clearTimeout(state.timer);
|
|
264
|
-
if (state.kind === "backoff" || state.kind === "idle")
|
|
265
|
-
this.#next();
|
|
266
|
-
}
|
|
267
|
-
/** Makes the next call from the pending frame, if there is one and the owner still runs; otherwise idles. */
|
|
268
|
-
#next() {
|
|
269
|
-
const pending = this.#pending;
|
|
270
|
-
if (pending === undefined || this.#aborted()) {
|
|
271
|
-
this.#state = { kind: "idle" };
|
|
272
|
-
return;
|
|
273
|
-
}
|
|
274
|
-
this.#pending = undefined;
|
|
275
|
-
const { value } = pending;
|
|
276
|
-
this.#state = { kind: "calling" };
|
|
277
|
-
this.#last = value;
|
|
278
|
-
void call(this.#owner, this.#invocation(value)).then((called) => this.#called(called));
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* The handler's call with `value`: a native one with the value alone, a JSON one with the folded ops or the whole
|
|
282
|
-
* value, and whether a retirement came since the last call.
|
|
283
|
-
*/
|
|
284
|
-
#invocation(value) {
|
|
285
|
-
const { fn } = this.#declaration;
|
|
286
|
-
// The overloads typed `fn` for its source's kind, which the watch decided.
|
|
287
|
-
if (this.#native)
|
|
288
|
-
return (ctx) => fn({ kind: "value", value }, ctx);
|
|
289
|
-
const taken = this.#ops.take();
|
|
290
|
-
// A JSON source's values are JSON.
|
|
291
|
-
const ops = this.#basis === "none" || taken.kind === "replace" ? [["r", value]] : taken.ops;
|
|
292
|
-
const retired = this.#retired;
|
|
293
|
-
this.#retired = false;
|
|
294
|
-
this.#lastRetired = retired;
|
|
295
|
-
return (ctx) => fn({ kind: "value", value, ops, retired }, ctx);
|
|
296
|
-
}
|
|
297
|
-
/**
|
|
298
|
-
* A call settled. After a success the next frame's ops build on it, and changes that arrived during the call are
|
|
299
|
-
* called after one macrotask (`settling`). After a throw (reported) the backoff always starts, also when changes
|
|
300
|
-
* arrived during the call (a handler that changes its own source and throws would feed itself otherwise); its timer
|
|
301
|
-
* calls with the newest value, or the last call's, as a whole value.
|
|
302
|
-
*/
|
|
303
|
-
#called(called) {
|
|
304
|
-
if (this.#state.kind === "ended")
|
|
305
|
-
return;
|
|
306
|
-
if (called.kind === "done") {
|
|
307
|
-
this.#basis = "last";
|
|
308
|
-
this.#delay = undefined;
|
|
309
|
-
if (this.#pending === undefined)
|
|
310
|
-
this.#state = { kind: "idle" };
|
|
311
|
-
else
|
|
312
|
-
this.#state = { kind: "settling", timer: setTimeout(() => this.#next(), 0) };
|
|
313
|
-
return;
|
|
314
|
-
}
|
|
315
|
-
if (this.#aborted())
|
|
316
|
-
return;
|
|
317
|
-
failed(this.#owner, this.#declaration.at, called.error);
|
|
318
|
-
this.#basis = "none";
|
|
319
|
-
// The handler may not have applied the retirement either.
|
|
320
|
-
if (this.#lastRetired)
|
|
321
|
-
this.#retired = true;
|
|
322
|
-
this.#delay = nextDelay(this.#delay);
|
|
323
|
-
// The source failed meanwhile: the retry waits for its next value, never the stale last one.
|
|
324
|
-
if (this.#failed) {
|
|
325
|
-
this.#state = { kind: "idle" };
|
|
326
|
-
return;
|
|
327
|
-
}
|
|
328
|
-
const timer = setTimeout(() => {
|
|
329
|
-
this.#pending ??= { value: this.#last };
|
|
330
|
-
this.#next();
|
|
331
|
-
}, this.#delay);
|
|
332
|
-
this.#state = { kind: "backoff", timer };
|
|
333
|
-
}
|
|
334
|
-
/** The watch ended: the owner ended (aborted), or the source ended (no report) or failed (reported once). */
|
|
335
|
-
#end(end) {
|
|
336
|
-
const state = this.#state;
|
|
337
|
-
this.#state = { kind: "ended" };
|
|
338
|
-
if (state.kind === "settling" || state.kind === "backoff")
|
|
339
|
-
clearTimeout(state.timer);
|
|
340
|
-
this.#pending = undefined;
|
|
341
|
-
this.#ops.take();
|
|
342
|
-
this.#retired = false;
|
|
343
|
-
if (end.kind === "failed" && !this.#aborted())
|
|
344
|
-
failed(this.#owner, this.#declaration.at, end.error);
|
|
345
|
-
}
|
|
346
|
-
#aborted() {
|
|
347
|
-
return this.#owner.context.abortSignal?.aborted === true;
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
//# sourceMappingURL=routines.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routines.js","sourceRoot":"","sources":["../../../src/next/host/routines.ts"],"names":[],"mappings":"AAAA,qHAAqH;AACrH,sHAAsH;AACtH,+FAA+F;AAG/F,OAAO,EAAW,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EACN,WAAW,GAMX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAyB,MAAM,UAAU,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAyEnC,MAAM,IAAI,GAAW,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAEtC,mDAAmD;AACnD,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAW,CAAC;AAE5C,uEAAuE;AACvE,MAAM,QAAQ,GAAG,MAAM,CAAC;AAExB,uGAAuG;AACvG,MAAM,OAAO,QAAQ;IACX,SAAS,GAAkB,EAAE,CAAC;IACvC,IAAI,GAAG,CAAC,CAAC;IACT,MAAM,GAAG,CAAC,CAAC;IAEX,6GAA6G;IAC7G,EAAE,CAAC,MAAqD,EAAE,EAA8C;QACvG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,oCAAoC;IACpC,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,6BAA6B;IAC7B,MAAM,CAAC,EAAiB;QACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAmB;QACxB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO;gBAAE,OAAO;YAC/C,IAAI,WAAW,CAAC,IAAI,KAAK,IAAI;gBAAE,KAAK,IAAI,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;;gBACzE,KAAK,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACpC,CAAC;IACF,CAAC;CACD;AAED;;;GAGG;AACH,KAAK,UAAU,IAAI,CAAC,KAAmB,EAAE,EAAE,EAAE,EAAE,EAAE,EAA4C;IAC5F,IAAI,KAAyB,CAAC;IAC9B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO;YAAE,OAAO;QACzE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,CAAC;YACJ,MAAM,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACR,OAAO;QACR,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,IAAI,CAAC,KAAmB,EAAE,MAA0C;IAC5E,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,EAAU,CAAC;IAChD,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,CAAC,MAAc,EAAQ,EAAE;QACvC,GAAG,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC,CAAC;IACF,0DAA0D;IAC1D,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAC/B,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAClB,CAAC,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CACrD,CAAC;IACF,OAAO,OAAO,CAAC,OAAO,CAAC;AACxB,CAAC;AAED,+CAA+C;AAC/C,SAAS,MAAM,CAAC,KAAmB,EAAE,OAAiB,EAAE,KAAc;IACrE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACpF,CAAC;AAmBD;;;;GAIG;AACH,MAAM,SAAS;IACL,MAAM,CAAe;IACrB,YAAY,CAAuC;IAC5D,MAAM,GAAY,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACvC,uFAAuF;IACvF,OAAO,GAAG,KAAK,CAAC;IAChB,wCAAwC;IACxC,QAAQ,CAA0C;IAClD,wEAAwE;IAC/D,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;IACjC,6EAA6E;IAC7E,QAAQ,GAAG,KAAK,CAAC;IACjB,MAAM,GAAU,MAAM,CAAC;IACvB,uEAAuE;IACvE,KAAK,CAAU;IACf,mFAAmF;IACnF,YAAY,GAAG,KAAK,CAAC;IACrB,MAAM,CAAqB;IAC3B,gGAAgG;IAChG,OAAO,GAAG,KAAK,CAAC;IAEhB,YAAY,KAAmB,EAAE,WAAiD;QACjF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACV,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,OAAO,OAAO,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YACrC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBAChC,OAAO;YACR,CAAC;YACD,mGAAmG;YACnG,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,KAA+C,CAAC;QACpD,IAAI,CAAC;YACJ,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO;QACR,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,YAAY,WAAW,CAAC;QAC5C,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC;YACJ,iCAAiC;YACjC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAmD,EAAE,EAAE;gBACnE,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;oBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;oBACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACR,yFAAyF;YACzF,OAAO;QACR,CAAC;QACD,2GAA2G;QAC3G,IAAI,OAAO,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC/B,OAAO;QACR,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,QAAQ;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAC1C,8GAA8G;QAC9G,mDAAmD;QACnD,IAAI,QAAQ,YAAY,YAAY;YAAE,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACtG,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACJ,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACR,yCAAyC;YACzC,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC;YAAE,OAAO,SAAS,CAAC;QAClD,IAAI,KAAkC,CAAC;QACvC,IAAI,CAAC;YACJ,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,SAAS,CAAC;QAC7C,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACrF,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,MAAc;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;QAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,CAAC,GAAY,EAAQ,EAAE;gBACnC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC/B,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC;YACF,MAAM,UAAU,GAAG;gBAClB,OAAO,EAAE,CAAC,IAA0B,EAAE,EAAE;oBACvC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;wBAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvC,CAAC;gBACD,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBACtB,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;aACnC,CAAC;YACF,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,IAAI,MAAM,EAAE,OAAO;gBAAE,OAAO,EAAE,CAAC;;gBAC1B,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,QAAQ;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC3D,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAChC,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAA6D;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO;QACnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,6CAA6C;YAC7C,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAA+B,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,IAAI,OAAO;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACrE,CAAC;IAED,6GAA6G;IAC7G,KAAK;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC/B,OAAO;QACR,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACxF,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,KAAc;QACzB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QACjC,2EAA2E;QAC3E,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAE,EAA+B,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;QAClG,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,mCAAmC;QACnC,MAAM,GAAG,GACR,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QAC9F,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,OAAO,CAAC,GAAG,EAAE,EAAE,CAAE,EAAyB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;IACzF,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,MAAc;QACrB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO;QACzC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;gBAC3D,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;YAClF,OAAO;QACR,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;QAC5B,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,0DAA0D;QAC1D,IAAI,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,6FAA6F;QAC7F,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC/B,OAAO;QACR,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,IAAI,CAAC,QAAQ,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACd,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,6GAA6G;IAC7G,IAAI,CAAC,GAAa;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrF,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACrG,CAAC;IAED,QAAQ;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1D,CAAC;CACD","sourcesContent":["// Routines (§14): the standing behaviour an object or a facet declares, `self.on(source, fn)` and `self.onLive(fn)`.\n// They start once their owner went live and stop when it ends (their ctx aborted, the drain waits for running calls);\n// each call gets its own ctx; a call that throws is reported and called again after a backoff.\n\nimport type { Context } from \"../../context/index.ts\";\nimport { type Op, PendingOps } from \"../../delta/index.ts\";\nimport type { JsonValue } from \"../../json.ts\";\nimport {\n\tNativeWatch,\n\ttype NativeWatchable,\n\ttype NativeWatchCall,\n\ttype Watchable,\n\ttype WatchCall,\n\ttype WatchEnd,\n} from \"../../watch.ts\";\nimport type { Principal } from \"../data/index.ts\";\nimport { NativeSource, Source } from \"../state/internal.ts\";\nimport { nextDelay } from \"./backoff.ts\";\nimport { CallContext, type Caller, type Ctx } from \"./ctx.ts\";\nimport type { AnyHost, Position } from \"./host.ts\";\nimport { resolveWatchable } from \"./reference.ts\";\nimport { sleep } from \"./sleep.ts\";\n\n/**\n * Where routines run: their owner's label (for reports), its host, whom their calls act for, and the context of their\n * calls, aborted when the owner ends. `admit` adds a running call to the owner's drain.\n */\nexport type RoutineOwner = {\n\treadonly label: string;\n\treadonly host: AnyHost;\n\treadonly caller: Caller;\n\treadonly context: Context;\n\t/**\n\t * Adds a running call to the drain; `cleanup` (its bookkeeping) runs once, when it settles or when the attempt ends\n\t * with it still running.\n\t */\n\tadmit(running: Promise<unknown>, cleanup: () => void): void;\n};\n\n/**\n * A routine's handler of a JSON source: the value call (the value, the ops since the previous call, whether the\n * source's document was retired since then) and the call's ctx. Failures are not calls of a handler (design §11): the\n * routine waits for the next value.\n */\nexport type OnHandler<T, C extends Ctx = Ctx> = (call: WatchValueCall<T>, ctx: C) => void | Promise<void>;\n\n/** A JSON watch's value call: what an `on` handler gets. */\nexport type WatchValueCall<T> = Extract<WatchCall<T>, { readonly kind: \"value\" }>;\n\n/** A native watch's value call. */\nexport type NativeWatchValueCall<T> = Extract<NativeWatchCall<T>, { readonly kind: \"value\" }>;\n\n/** A routine's handler of a native source: the value call (the value) and the call's ctx. */\nexport type OnNativeHandler<T, C extends Ctx = Ctx> = (call: NativeWatchValueCall<T>, ctx: C) => void | Promise<void>;\n\n/** An `onLive` routine: called once its owner is live. */\nexport type OnLiveHandler<C extends Ctx = Ctx> = (ctx: C) => void | Promise<void>;\n\n/** What the declarations of an owner (`on`, `onLive`) take; part of the factory's `self` and the facet's. */\nexport interface RoutineDeclarations<P extends Principal = Principal> {\n\t/**\n\t * A routine over `source`: `fn` gets its current value first (ops `[[\"r\", value]]`), then one call per change,\n\t * never overlapping: changes during a call fold into one next call (the newest value, the ops since the previous\n\t * call, `retired` when any of them was a retirement). After a call that threw, it is called again with the whole\n\t * newest value (`retired` again if the call that threw had it) after a backoff (1 s doubling to 60 s), or at once on\n\t * a change during the backoff. Ends with its source. A JSON watchable is one whose watch is Chord's shared `Watch`\n\t * (every Chord and Durable source).\n\t */\n\ton<T>(source: Watchable<T>, fn: OnHandler<T, Ctx<P>>): void;\n\t/**\n\t * A routine over a native source (a registry value, `ref.state`): one whose watch is Chord's shared `NativeWatch`.\n\t * As above without ops: after a busy call, one call with the newest value.\n\t */\n\ton<T>(source: NativeWatchable<T>, fn: OnNativeHandler<T, Ctx<P>>): void;\n\t/**\n\t * A routine called once its owner is live. Returning ends it; a throw is reported and restarts it after a backoff\n\t * (1 s doubling to 60 s, reset after a run of a minute); the owner's end aborts its ctx.\n\t */\n\tonLive(fn: OnLiveHandler<Ctx<P>>): void;\n}\n\n/** A declared routine: its kind and position in reports (`{ kind: \"on\", position: 2 }`), its source and its handler. */\ntype Declaration =\n\t| {\n\t\t\treadonly kind: \"on\";\n\t\t\treadonly at: Position;\n\t\t\treadonly source: Watchable<unknown> | NativeWatchable<unknown>;\n\t\t\treadonly fn: (...args: never[]) => void | Promise<void>;\n\t }\n\t| { readonly kind: \"onLive\"; readonly at: Position; readonly fn: OnLiveHandler };\n\n/** How one routine call ended. */\ntype Called = { readonly kind: \"done\" } | { readonly kind: \"failed\"; readonly error: unknown };\n\nconst DONE: Called = { kind: \"done\" };\n\n/** What `#failing` says of a source failed now. */\nconst FAILING = { kind: \"failed\" } as const;\n\n/** One run of an `onLive` that lasted this long resets its backoff. */\nconst LONG_RUN = 60_000;\n\n/** An owner's routines: declared while its factory (or setup) runs, started once when it went live. */\nexport class Routines {\n\treadonly #declared: Declaration[] = [];\n\t#ons = 0;\n\t#lives = 0;\n\n\t/** Declares `on(source, fn)`; whether the source is JSON or native is decided by its watch (`OnRoutine`). */\n\ton(source: Watchable<unknown> | NativeWatchable<unknown>, fn: (...args: never[]) => void | Promise<void>): void {\n\t\tthis.#declared.push({ kind: \"on\", at: { kind: \"on\", position: ++this.#ons }, source, fn });\n\t}\n\n\t/** Whether nothing was declared. */\n\tget empty(): boolean {\n\t\treturn this.#declared.length === 0;\n\t}\n\n\t/** Declares `onLive(fn)`. */\n\tonLive(fn: OnLiveHandler): void {\n\t\tthis.#declared.push({ kind: \"onLive\", at: { kind: \"onLive\", position: ++this.#lives }, fn });\n\t}\n\n\t/**\n\t * Starts every routine for `owner`, which went live; they stop when its context is aborted. A routine whose\n\t * synchronous start ends the owner (an `onLive` releasing its last reference) starts none of the later ones.\n\t */\n\tstart(owner: RoutineOwner): void {\n\t\tfor (const declaration of this.#declared) {\n\t\t\tif (owner.context.abortSignal?.aborted) return;\n\t\t\tif (declaration.kind === \"on\") void new OnRoutine(owner, declaration).start();\n\t\t\telse void live(owner, declaration);\n\t\t}\n\t}\n}\n\n/**\n * Runs `onLive`'s handler until it returns or its owner ends; a throw is reported and the handler restarts after the\n * backoff.\n */\nasync function live(owner: RoutineOwner, { at, fn }: Extract<Declaration, { kind: \"onLive\" }>): Promise<void> {\n\tlet delay: number | undefined;\n\twhile (!owner.context.abortSignal?.aborted) {\n\t\tconst started = Date.now();\n\t\tconst called = await call(owner, fn);\n\t\tif (called.kind === \"done\" || owner.context.abortSignal?.aborted) return;\n\t\tfailed(owner, at, called.error);\n\t\tdelay = nextDelay(Date.now() - started >= LONG_RUN ? undefined : delay);\n\t\ttry {\n\t\t\tawait sleep(delay, owner.context);\n\t\t} catch {\n\t\t\treturn;\n\t\t}\n\t}\n}\n\n/**\n * Runs one routine call under its own ctx (its `ctx.get` references released when it settles), admitted to the owner's\n * drain before the handler runs: a handler may end its own owner before its first await. Resolves with how it ended;\n * never rejects.\n */\nfunction call(owner: RoutineOwner, invoke: (ctx: Ctx) => void | Promise<void>): Promise<Called> {\n\tconst ctx = new CallContext(owner.context, owner.caller, owner.host);\n\tconst settled = Promise.withResolvers<Called>();\n\towner.admit(settled.promise, () => ctx.settle());\n\tconst finish = (called: Called): void => {\n\t\tctx.settle();\n\t\tsettled.resolve(called);\n\t};\n\t// Plugin code: a synchronous throw becomes the rejection.\n\t(async () => invoke(ctx))().then(\n\t\t() => finish(DONE),\n\t\t(error: unknown) => finish({ kind: \"failed\", error }),\n\t);\n\treturn settled.promise;\n}\n\n/** Reports a failed routine call or source. */\nfunction failed(owner: RoutineOwner, routine: Position, error: unknown): void {\n\towner.host.report({ kind: \"routine_failed\", object: owner.label, routine, error });\n}\n\n/**\n * Where an `on` routine stands. `starting`: taking its watch; `idle`: waiting for a change; `calling`: a call runs\n * (changes meanwhile wait, folded, for the next); `settling`: a call succeeded while changes arrived, and the next one\n * waits for one macrotask, so every value its watch still buffers (a native watch replays them one per microtask) is\n * taken first; `backoff`: the last call threw and its timer calls again, unless a change during the backoff calls\n * first; `ended`: its watch ended (the owner ended, or the source ended or failed).\n */\ntype OnState =\n\t| { readonly kind: \"starting\" | \"idle\" | \"calling\" | \"ended\" }\n\t| { readonly kind: \"settling\" | \"backoff\"; readonly timer: ReturnType<typeof setTimeout> };\n\n/**\n * What the next call's ops are relative to: `none` before the first call and after a throw (the handler may not have\n * applied what it got: the next call gets the whole value), `last` after a call that succeeded.\n */\ntype Basis = \"none\" | \"last\";\n\n/**\n * One `on` routine. Its watch's listener never throws (a throwing listener would end the watch) and never waits: it\n * keeps the newest frame, folding JSON ops, and the routine makes one call at a time from it, the first call and the\n * retries after a throw through the same pending frame.\n */\nclass OnRoutine {\n\treadonly #owner: RoutineOwner;\n\treadonly #declaration: Extract<Declaration, { kind: \"on\" }>;\n\t#state: OnState = { kind: \"starting\" };\n\t/** A native source's watch yields values without ops; decided by its watch's class. */\n\t#native = false;\n\t/** The newest value no call got yet. */\n\t#pending: { readonly value: unknown } | undefined;\n\t/** The ops of the frames since the last call (JSON sources), folded. */\n\treadonly #ops = new PendingOps();\n\t/** One of the frames since the last call was a retirement (JSON sources). */\n\t#retired = false;\n\t#basis: Basis = \"none\";\n\t/** The value of the last call: a retry after a throw calls with it. */\n\t#last: unknown;\n\t/** The last call reported a retirement: a retry after a throw reports it again. */\n\t#lastRetired = false;\n\t#delay: number | undefined;\n\t/** The source failed after its last value: no call until its next value (a retry waits too). */\n\t#failed = false;\n\n\tconstructor(owner: RoutineOwner, declaration: Extract<Declaration, { kind: \"on\" }>) {\n\t\tthis.#owner = owner;\n\t\tthis.#declaration = declaration;\n\t}\n\n\t/**\n\t * Takes the watch and calls with its value. On a failed Chord source it waits for its first good value instead (a\n\t * source that never had one is followed until it has). A source that cannot be watched otherwise is reported; an\n\t * owner or source that ended meanwhile ends the routine. Never rejects.\n\t */\n\tasync start(): Promise<void> {\n\t\tconst { source, at } = this.#declaration;\n\t\tlet failing = this.#failing();\n\t\twhile (failing?.kind === \"no_value\") {\n\t\t\tif (!(await this.#firstValue(failing.source))) {\n\t\t\t\tthis.#state = { kind: \"ended\" };\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Asked again: a failure may have followed the first value before this resumed (one receive turn).\n\t\t\tfailing = this.#failing();\n\t\t}\n\t\tlet watch: Awaited<ReturnType<typeof source.watch>>;\n\t\ttry {\n\t\t\twatch = await source.watch(this.#owner.context);\n\t\t} catch (error) {\n\t\t\tthis.#state = { kind: \"ended\" };\n\t\t\tif (!this.#aborted()) failed(this.#owner, at, error);\n\t\t\treturn;\n\t\t}\n\t\tthis.#native = watch instanceof NativeWatch;\n\t\tvoid watch.closed.then((end) => this.#end(end));\n\t\ttry {\n\t\t\t// Both listeners return at once.\n\t\t\twatch.start((call: WatchCall<unknown> | NativeWatchCall<unknown>) => {\n\t\t\t\tif (call.kind === \"value\") this.#frame(call);\n\t\t\t\telse this.#failure();\n\t\t\t\treturn Promise.resolve();\n\t\t\t});\n\t\t} catch {\n\t\t\t// The watch ended while it was taken (the owner or the source ended): `closed` says how.\n\t\t\treturn;\n\t\t}\n\t\t// A watch opened on a failed source holds its last good value, a stale one: its first call is the failure.\n\t\tif (failing?.kind === \"failed\") {\n\t\t\tthis.#state = { kind: \"idle\" };\n\t\t\treturn;\n\t\t}\n\t\tthis.#pending = { value: watch.value };\n\t\tthis.#next();\n\t}\n\n\t/**\n\t * Whether the source is a Chord source failed now (`failed`), or a JSON one with no value yet (`no_value`, with the\n\t * source to follow); `undefined` otherwise (Durable's views tell their failures through their watches).\n\t */\n\t#failing(): { readonly kind: \"failed\" } | { readonly kind: \"no_value\"; readonly source: Source } | undefined {\n\t\tconst declared = this.#declaration.source;\n\t\t// A native source opens its watch at its last good value while failed (a registry whose `compose` threw): its\n\t\t// first call is the failure, not that stale value.\n\t\tif (declared instanceof NativeSource) return declared.start().kind === \"failed\" ? FAILING : undefined;\n\t\tlet source: unknown;\n\t\ttry {\n\t\t\tsource = resolveWatchable(this.#declaration.source);\n\t\t} catch {\n\t\t\t// Not bound or ended: the watch says so.\n\t\t\treturn undefined;\n\t\t}\n\t\tif (!(source instanceof Source)) return undefined;\n\t\tlet start: ReturnType<Source[\"start\"]>;\n\t\ttry {\n\t\t\tstart = source.start();\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t}\n\t\tif (start.kind === \"value\") return undefined;\n\t\treturn start.last === undefined ? { kind: \"no_value\", source } : { kind: \"failed\" };\n\t}\n\n\t/**\n\t * Follows `source`, failed with no value, until its first good value (`true`), or until it or the owner ends\n\t * (`false`): a subscriber of its own, since a watch has nothing to start at.\n\t */\n\t#firstValue(source: Source): Promise<boolean> {\n\t\tconst signal = this.#owner.context.abortSignal;\n\t\treturn new Promise((resolve) => {\n\t\t\tconst done = (got: boolean): void => {\n\t\t\t\tsource.unsubscribe(subscriber);\n\t\t\t\tsignal?.removeEventListener(\"abort\", aborted);\n\t\t\t\tresolve(got);\n\t\t\t};\n\t\t\tconst subscriber = {\n\t\t\t\tadvance: (call: WatchCall<JsonValue>) => {\n\t\t\t\t\tif (call.kind === \"value\") done(true);\n\t\t\t\t},\n\t\t\t\tend: () => done(false),\n\t\t\t\tendAfterDelivery: () => done(false),\n\t\t\t};\n\t\t\tconst aborted = (): void => done(false);\n\t\t\tsignal?.addEventListener(\"abort\", aborted, { once: true });\n\t\t\tif (signal?.aborted) aborted();\n\t\t\telse source.subscribe(subscriber);\n\t\t});\n\t}\n\n\t/**\n\t * The source failed: what was pending goes (a value a failure followed is stale), a pending retry or settle is\n\t * dropped, and the next call waits for the next value, as a whole value; a running call runs on.\n\t */\n\t#failure(): void {\n\t\tconst state = this.#state;\n\t\tif (state.kind === \"ended\") return;\n\t\tthis.#failed = true;\n\t\tthis.#pending = undefined;\n\t\tthis.#ops.take();\n\t\tthis.#basis = \"none\";\n\t\tif (state.kind === \"backoff\" || state.kind === \"settling\") {\n\t\t\tclearTimeout(state.timer);\n\t\t\tthis.#state = { kind: \"idle\" };\n\t\t}\n\t}\n\n\t/**\n\t * A frame of the watch: kept as the newest; it is called at once when nothing runs or waits, during a backoff too\n\t * (the backoff ends); while a call runs or settles it waits for the next call.\n\t */\n\t#frame(call: WatchValueCall<unknown> | NativeWatchValueCall<unknown>): void {\n\t\tconst state = this.#state;\n\t\tif (state.kind === \"ended\") return;\n\t\tthis.#failed = false;\n\t\tthis.#pending = { value: call.value };\n\t\tif (!this.#native) {\n\t\t\t// A JSON watch's call, as its class decided.\n\t\t\tconst { ops, retired } = call as WatchValueCall<unknown>;\n\t\t\tthis.#ops.push(ops);\n\t\t\tif (retired) this.#retired = true;\n\t\t}\n\t\tif (state.kind === \"backoff\") clearTimeout(state.timer);\n\t\tif (state.kind === \"backoff\" || state.kind === \"idle\") this.#next();\n\t}\n\n\t/** Makes the next call from the pending frame, if there is one and the owner still runs; otherwise idles. */\n\t#next(): void {\n\t\tconst pending = this.#pending;\n\t\tif (pending === undefined || this.#aborted()) {\n\t\t\tthis.#state = { kind: \"idle\" };\n\t\t\treturn;\n\t\t}\n\t\tthis.#pending = undefined;\n\t\tconst { value } = pending;\n\t\tthis.#state = { kind: \"calling\" };\n\t\tthis.#last = value;\n\t\tvoid call(this.#owner, this.#invocation(value)).then((called) => this.#called(called));\n\t}\n\n\t/**\n\t * The handler's call with `value`: a native one with the value alone, a JSON one with the folded ops or the whole\n\t * value, and whether a retirement came since the last call.\n\t */\n\t#invocation(value: unknown): (ctx: Ctx) => void | Promise<void> {\n\t\tconst { fn } = this.#declaration;\n\t\t// The overloads typed `fn` for its source's kind, which the watch decided.\n\t\tif (this.#native) return (ctx) => (fn as OnNativeHandler<unknown>)({ kind: \"value\", value }, ctx);\n\t\tconst taken = this.#ops.take();\n\t\t// A JSON source's values are JSON.\n\t\tconst ops: readonly Op[] =\n\t\t\tthis.#basis === \"none\" || taken.kind === \"replace\" ? [[\"r\", value as JsonValue]] : taken.ops;\n\t\tconst retired = this.#retired;\n\t\tthis.#retired = false;\n\t\tthis.#lastRetired = retired;\n\t\treturn (ctx) => (fn as OnHandler<unknown>)({ kind: \"value\", value, ops, retired }, ctx);\n\t}\n\n\t/**\n\t * A call settled. After a success the next frame's ops build on it, and changes that arrived during the call are\n\t * called after one macrotask (`settling`). After a throw (reported) the backoff always starts, also when changes\n\t * arrived during the call (a handler that changes its own source and throws would feed itself otherwise); its timer\n\t * calls with the newest value, or the last call's, as a whole value.\n\t */\n\t#called(called: Called): void {\n\t\tif (this.#state.kind === \"ended\") return;\n\t\tif (called.kind === \"done\") {\n\t\t\tthis.#basis = \"last\";\n\t\t\tthis.#delay = undefined;\n\t\t\tif (this.#pending === undefined) this.#state = { kind: \"idle\" };\n\t\t\telse this.#state = { kind: \"settling\", timer: setTimeout(() => this.#next(), 0) };\n\t\t\treturn;\n\t\t}\n\t\tif (this.#aborted()) return;\n\t\tfailed(this.#owner, this.#declaration.at, called.error);\n\t\tthis.#basis = \"none\";\n\t\t// The handler may not have applied the retirement either.\n\t\tif (this.#lastRetired) this.#retired = true;\n\t\tthis.#delay = nextDelay(this.#delay);\n\t\t// The source failed meanwhile: the retry waits for its next value, never the stale last one.\n\t\tif (this.#failed) {\n\t\t\tthis.#state = { kind: \"idle\" };\n\t\t\treturn;\n\t\t}\n\t\tconst timer = setTimeout(() => {\n\t\t\tthis.#pending ??= { value: this.#last };\n\t\t\tthis.#next();\n\t\t}, this.#delay);\n\t\tthis.#state = { kind: \"backoff\", timer };\n\t}\n\n\t/** The watch ended: the owner ended (aborted), or the source ended (no report) or failed (reported once). */\n\t#end(end: WatchEnd): void {\n\t\tconst state = this.#state;\n\t\tthis.#state = { kind: \"ended\" };\n\t\tif (state.kind === \"settling\" || state.kind === \"backoff\") clearTimeout(state.timer);\n\t\tthis.#pending = undefined;\n\t\tthis.#ops.take();\n\t\tthis.#retired = false;\n\t\tif (end.kind === \"failed\" && !this.#aborted()) failed(this.#owner, this.#declaration.at, end.error);\n\t}\n\n\t#aborted(): boolean {\n\t\treturn this.#owner.context.abortSignal?.aborted === true;\n\t}\n}\n"]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { Context } from "../../context/index.ts";
|
|
2
|
-
/**
|
|
3
|
-
* Resolves after `ms` milliseconds; rejects with the abort reason once `context` is aborted, clearing its timer and
|
|
4
|
-
* listener. Delays above the timer limit (2^31-1 ms) are chained timers.
|
|
5
|
-
*/
|
|
6
|
-
export declare function sleep(ms: number, context: Context): Promise<void>;
|
|
7
|
-
/** Resolves once `context` is aborted (never without an abort signal); leaves no listener behind. */
|
|
8
|
-
export declare function untilAborted(context: Context): Promise<void>;
|
|
9
|
-
//# sourceMappingURL=sleep.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sleep.d.ts","sourceRoot":"","sources":["../../../src/next/host/sleep.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAKtD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBjE;AAED,qGAAqG;AACrG,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAK5D"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sleep.js","sourceRoot":"","sources":["../../../src/next/host/sleep.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAClH,+FAA+F;AAI/F,sEAAsE;AACtE,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAE9B;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,EAAU,EAAE,OAAgB;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IACnC,IAAI,MAAM,EAAE,OAAO;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAC;IACnE,IAAI,KAAgD,CAAC;IACrD,MAAM,KAAK,GAAG,GAAS,EAAE;QACxB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAQ,EAAE;QACnC,KAAK,GAAG,UAAU,CACjB,GAAG,EAAE;YACJ,IAAI,IAAI,GAAG,SAAS;gBAAE,OAAO,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;YACpD,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,EAAE,CAAC;QACX,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CACzB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IACnC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACpG,CAAC","sourcesContent":["// Waiting helpers for routines, jobs and handlers (§14): `sleep(ms, ctx)` and `untilAborted(ctx)`, which end with\n// their context, leaving no timer or listener behind. Portable: timers and `AbortSignal` only.\n\nimport type { Context } from \"../../context/index.ts\";\n\n/** The longest delay one timer takes (a longer one fires at once). */\nconst MAX_TIMER = 2 ** 31 - 1;\n\n/**\n * Resolves after `ms` milliseconds; rejects with the abort reason once `context` is aborted, clearing its timer and\n * listener. Delays above the timer limit (2^31-1 ms) are chained timers.\n */\nexport function sleep(ms: number, context: Context): Promise<void> {\n\tconst signal = context.abortSignal;\n\tif (signal?.aborted) return Promise.reject(signal.reason);\n\tconst { promise, resolve, reject } = Promise.withResolvers<void>();\n\tlet timer: ReturnType<typeof setTimeout> | undefined;\n\tconst abort = (): void => {\n\t\tclearTimeout(timer);\n\t\treject(signal?.reason);\n\t};\n\tconst wait = (left: number): void => {\n\t\ttimer = setTimeout(\n\t\t\t() => {\n\t\t\t\tif (left > MAX_TIMER) return wait(left - MAX_TIMER);\n\t\t\t\tsignal?.removeEventListener(\"abort\", abort);\n\t\t\t\tresolve();\n\t\t\t},\n\t\t\tMath.min(left, MAX_TIMER),\n\t\t);\n\t};\n\tsignal?.addEventListener(\"abort\", abort, { once: true });\n\twait(ms);\n\treturn promise;\n}\n\n/** Resolves once `context` is aborted (never without an abort signal); leaves no listener behind. */\nexport function untilAborted(context: Context): Promise<void> {\n\tconst signal = context.abortSignal;\n\tif (signal === undefined) return new Promise(() => {});\n\tif (signal.aborted) return Promise.resolve();\n\treturn new Promise((resolve) => signal.addEventListener(\"abort\", () => resolve(), { once: true }));\n}\n"]}
|