@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":"object.js","sourceRoot":"","sources":["../../../src/next/host/object.ts"],"names":[],"mappings":"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","sourcesContent":["// Objects (§6): one per identity, from its first attempt to its end. Its state across attempts (its documents, line\n// and job runs), the instance its references follow (`followed`: decision \"References are the only indirection\"), its\n// holders, retries after failures (backoff, `ref.retry()`, passed\n// on while parked), what it shows while its attempt is parked on dependencies (dependency model §3), its first outcome\n// (the start barrier, decision (a)), a live object's failure (slice 6a §1.4), the waits and cycle checks of activations\n// (Q5, its instance id and the activation chain it was created for), lingering after its last reference (§3, D8), the\n// job runs that keep it alive (§15), its contributions to registries while live and its wake signals (`retryOn`, slice\n// 8), its ending, revocation included (§4, R11), and what a reload does to it (slice 7b §4): a pure swap in place, a\n// native restart after the drain, a retry on the new code, or its end by its type's removal, after which its\n// references wait with their last values and follow the next object of the identity.\n\nimport { awaitWithContext, type Context } from \"../../context/index.ts\";\nimport type { JsonValue } from \"../../json.ts\";\nimport type { Contract, ParamsOf } from \"../contracts/index.ts\";\nimport type { ContractShape } from \"../contracts/internal.ts\";\nimport { ChordError, type FailureCause, type Principal } from \"../data/index.ts\";\nimport { asChordError, binds, invalid, type Provider, sameCause } from \"../data/internal.ts\";\nimport { Documents, type KeyedSlot } from \"../documents/internal.ts\";\nimport type { JobDefinition } from \"../jobs/index.ts\";\nimport { JobRecords } from \"../jobs/internal.ts\";\nimport { CHAIN } from \"../link/internal.ts\";\nimport type { RegistryContribution } from \"../registries/internal.ts\";\nimport type { DeriveSource } from \"../state/internal.ts\";\nimport { refusal } from \"./adapted.ts\";\nimport { Attempt, type PinnedKey, type Self } from \"./attempt.ts\";\nimport type { Caller } from \"./ctx.ts\";\nimport type { Dependency } from \"./dependencies.ts\";\nimport type { AnyHost } from \"./host.ts\";\nimport type { CloseFailed, NativeCloseReason } from \"./native.ts\";\nimport { type Ended, type Failed, LIVE, LOADING, type RefState } from \"./ref-state.ts\";\nimport { type CheckedParams, type Followed, type RetryWalk, retryWalk, type Target } from \"./reference.ts\";\nimport { type RetrySource, RetryWakes } from \"./retry-on.ts\";\nimport { migratesTables, type Recorded } from \"./staging.ts\";\nimport { uuidv7 } from \"./uuid.ts\";\n\n/** A `local` contract, as a served type has it. */\nexport type LocalContract = Contract<ContractShape & { readonly kind: \"local\" }>;\n\n/** A `remote` contract, as a served type has it. */\nexport type RemoteContract = Contract<ContractShape & { readonly kind: \"remote\" }>;\n\n/**\n * A type served on a host, by kind: its contract, factory (a remote one gets the object's principal) and argument\n * checks. Factories are plugin code: what they return is checked at activation.\n */\nexport type Served =\n\t| (ServedType<LocalContract> & {\n\t\t\treadonly kind: \"local\";\n\t\t\treadonly factory: (params: ParamsOf<Contract>, self: Self) => unknown;\n\t\t\t/** A type with empty params: its object lives as long as the host (Q-A). */\n\t\t\treadonly hostLifetime: boolean;\n\t })\n\t| (ServedType<RemoteContract> & {\n\t\t\treadonly kind: \"remote\";\n\t\t\treadonly factory: (params: ParamsOf<Contract>, principal: Principal, self: Self) => unknown;\n\t });\n\ntype ServedType<C extends Contract> = {\n\t/** The plugin whose facet served it: its objects contribute to registries by it. */\n\treadonly plugin: string;\n\treadonly contract: C;\n\treadonly provider: Provider<Contract>;\n\t/** How long a live object stays live after its last reference, in milliseconds (`serve`'s `linger`, 0 by default). */\n\treadonly linger: number;\n};\n\n/** What holds an object: a reference's binding, or a hold arriving over a link. */\nexport interface Holder {\n\t/** The object whose attempt declared the reference: it checks its dependencies again when this object changes. */\n\treadonly dependent: ChordObject | undefined;\n\t/** Whom the reference acts for, with its origin's incarnation (`host.references`). */\n\treadonly caller: Caller;\n\t/** The consumer's contract version and fingerprint (its request's): the provider binds it or it waits unbound. */\n\treadonly contract: { readonly version: number; readonly fingerprint: string };\n\t/**\n\t * Inside a batch, before `moved`: what it follows of the object changed (`ChordObject.followed`): a reference moves its\n\t * members' subscriptions to the new instance, or keeps their last values; a hold over a link has nothing to do here.\n\t */\n\tretarget(): void;\n\t/** Whether `retarget` moves anything (a reference whose members or keys were used): it then runs in a batch. */\n\treadonly following: boolean;\n\t/** The object's state (`state`) changed: an attempt started after a failure, it went live, or it failed. */\n\tmoved(): void;\n\t/** The object ended with `error`. */\n\tend(error: ChordError): void;\n\t/**\n\t * The object ended because a reload removed its type (slice 7b §6): the holder's request is not ended; it waits\n\t * unbound with `removal.cause` (`not_served`) until a publication serves the name again.\n\t */\n\tremoved(removal: Removal): void;\n}\n\n/**\n * What an object tells holders it leaves: why they wait (`not_served` after a removal, `contract_mismatch` after a\n * version refusal), its params (they place their requests again) and its context. A reference keeps its last values\n * meanwhile and moves its subscriptions to the next object of the identity that serves its version (one frame).\n */\nexport type Removal = {\n\treadonly cause: FailureCause;\n\treadonly host: AnyHost;\n\treadonly params: CheckedParams;\n\treadonly context: Context;\n};\n\n/** What a reload does to a live, activating, parked or failed object whose type is still served (slice 7b §4). */\nexport type ReloadFate = \"swap\" | \"restart\" | \"retry\";\n\n/**\n * A pure swap in progress (slice 7b §5): the attempt it replaces (its calls run on, then it is sealed), whether the new\n * attempt parked (holders then see what it shows, and the old one's contributions left the tables), and the end of\n * the swap (its new attempt live, parked or failed, or the object ended), which calls arriving meanwhile wait for.\n */\ntype Swap = { readonly old: Attempt; parked: boolean; readonly done: PromiseWithResolvers<void> };\n\n/**\n * Where an object stands. `waiting`: for its identity's backoff window before its first attempt. `activating` has what\n * its references show: `loading`, or `failed { waiting }` while its attempt is parked on a failed dependency. `failed`\n * has the state its references show.\n */\ntype ObjectState =\n\t| { readonly kind: \"waiting\" }\n\t| {\n\t\t\treadonly kind: \"activating\";\n\t\t\treadonly attempt: Attempt;\n\t\t\treadonly shown: RefState;\n\t\t\t/** Set while a reload's pure swap replaces the live attempt. */\n\t\t\treadonly swap?: Swap;\n\t }\n\t| { readonly kind: \"live\"; readonly attempt: Attempt }\n\t| { readonly kind: \"failed\"; readonly failure: Failed }\n\t| { readonly kind: \"ended\"; readonly ended: Ended };\n\n/**\n * What an ended object still has to do once its previous teardowns finished (`previous`): drain and close its attempt;\n * then drop its documents and job runs (`end` alone).\n */\ntype Teardown =\n\t| { readonly kind: \"none\" }\n\t| { readonly kind: \"end\"; readonly previous: Promise<void> | undefined }\n\t| { readonly kind: \"close\"; readonly attempt: Attempt; readonly previous: Promise<void> | undefined };\n\n/** How an object ends: by an end (its last reference, revocation, the host closing) or by its type's removal. */\ntype Ending =\n\t| { readonly kind: \"end\"; readonly error: ChordError }\n\t| { readonly kind: \"removed\"; readonly error: ChordError; readonly cause: FailureCause };\n\nconst END: NativeCloseReason = { kind: \"end\" };\n\nconst CLOSE: NativeCloseReason = { kind: \"close\" };\n\nconst RELOAD: NativeCloseReason = { kind: \"reload\" };\n\n/** No dependencies waited for: the shared empty list. */\nconst NO_DEPENDENCIES: readonly Dependency[] = [];\n\n/** No contributions leaving: the shared empty list. */\nconst NO_CONTRIBUTIONS: readonly RegistryContribution[] = [];\n\n/**\n * One object. Each attempt is a fresh `Attempt`; the documents, the line, the job runs and the holders outlive it. An\n * attempt parked on its dependencies waits for them without a timer; a transient failure (its own) is retried after its\n * backoff window, or at once when a reference asks (`retry`); a broken one stays failed until a reference asks.\n * The object ends with its last reference, a live one after its type's `linger` (never, for a host-lifetime object),\n * or when the host closes.\n */\nexport class ChordObject implements Target {\n\treadonly host: AnyHost;\n\t/** Its served type: replaced by a reload that swaps, restarts or retries it. */\n\tserved: Served;\n\treadonly params: ParamsOf<Contract>;\n\t/** Its params' identity key (empty for empty params). */\n\treadonly key: string;\n\t/** The principal in a remote object's identity, which its factory gets; `undefined` for a local object. */\n\treadonly principal: Principal | undefined;\n\treadonly identity: string;\n\t/** The object in errors, reports and cycles: its type, and its params key when it has params. */\n\treadonly label: string;\n\t/**\n\t * The activation chain it was created for (Q5): the instance ids of the activations waiting for it, from the hold\n\t * that created it (a trusted link's) or the activation here that declared it; empty otherwise.\n\t */\n\treadonly chain: readonly string[];\n\t/** Its documents and line, across its attempts. */\n\treadonly documents: Documents;\n\t/** The context of every attempt: its creator's, without the creator's cancellation. */\n\treadonly #context: Context;\n\t/** Its job runs by job name, across its attempts. */\n\treadonly #jobs = new Map<string, JobRecords>();\n\t/** This instance's id (uuidv7), minted at its first attempt: a restarted object is a new instance (D4). */\n\t#instance: string | undefined;\n\t#state: ObjectState = { kind: \"waiting\" };\n\t/** References and holds of this object. */\n\treadonly #holders = new Set<Holder>();\n\t/** The dependencies its parked attempt waits for; their objects are followed to find cycles (Q5). */\n\t#waitingFor: readonly Dependency[] = NO_DEPENDENCIES;\n\t/**\n\t * Its first outcome (decision (a)): live, failed, parked with no blocker here still without one, or ended; once.\n\t * The promise is made by the first who waits for it (the start barrier, for host-lifetime objects).\n\t */\n\t#firstOutcome: PromiseWithResolvers<void> | undefined;\n\t#hasFirstOutcome = false;\n\t/** The error of the last failed attempt, or the last cause a parked attempt showed, until one goes live. */\n\t#lastFailure: ChordError | undefined;\n\t/** Ends the object when its type's `linger` passed after its last reference; cleared by a new one. */\n\t#lingering: ReturnType<typeof setTimeout> | undefined;\n\t/** Its running and finishing job runs: they keep it alive like references (D4), without being references. */\n\t#runs = 0;\n\t/**\n\t * The instance its references follow (`followed`): the live one, the old one while a swap brings its successor in\n\t * place, or the last one that went live while it still changes after a failure or a restart (references take their\n\t * last values from it when it stops); `undefined` before the first went live and once it stopped changing.\n\t */\n\t#exposed: Attempt | undefined;\n\t/**\n\t * Whether references still follow `#exposed`, which may still change: while it is live, drains (a restart), retires\n\t * (a swap's old instance until its successor is live or it retired), or failed live until the commits admitted\n\t * before it published (every member, its own and re-exposed ones: audit A10); not once it stopped changing.\n\t */\n\t#following = false;\n\t/** The one timer storing its jobs' held state changes by their earliest deadline (D8), while one is held. */\n\t#flush: { readonly deadline: number; readonly timer: ReturnType<typeof setTimeout> } | undefined;\n\t/** Its wake signals (`retryOn`), the last attempt's declaration; made by the first. */\n\t#wakes: RetryWakes | undefined;\n\t/** Its swapped-out attempts while they retire (bounded by `closeTimeout`); made by the first swap. */\n\t#retiring: Map<Attempt, Promise<void>> | undefined;\n\n\tconstructor(\n\t\thost: AnyHost,\n\t\tserved: Served,\n\t\tparams: ParamsOf<Contract>,\n\t\tprincipal: Principal | undefined,\n\t\tkey: string,\n\t\tidentity: string,\n\t\tcontext: Context,\n\t\tchain: readonly string[],\n\t) {\n\t\tthis.host = host;\n\t\tthis.served = served;\n\t\tthis.params = params;\n\t\tthis.principal = principal;\n\t\tthis.key = key;\n\t\tthis.identity = identity;\n\t\tthis.label = key === \"\" ? served.contract.name : `${served.contract.name}(${key})`;\n\t\tthis.chain = chain;\n\t\tthis.#context = context;\n\t\tconst { store } = host;\n\t\tthis.documents = new Documents({\n\t\t\tlabel: this.label,\n\t\t\tbatch: host.batch,\n\t\t\tcontext,\n\t\t\tstore: store === undefined ? undefined : { store, owner: served.contract.name },\n\t\t\tfail: (error) => {\n\t\t\t\tif (this.#state.kind === \"live\") this.failLive(this.#state.attempt, { kind: \"broken\", error });\n\t\t\t},\n\t\t});\n\t}\n\n\t/** The object's state as its references show it. */\n\tget state(): RefState {\n\t\tconst state = this.#state;\n\t\tif (state.kind === \"failed\") return state.failure;\n\t\tif (state.kind === \"live\") return LIVE;\n\t\tif (state.kind === \"ended\") return state.ended;\n\t\treturn state.kind === \"activating\" ? state.shown : LOADING;\n\t}\n\n\t/** Whether its state members have values: once live (a local object stays live until it ends). */\n\tget hydrated(): boolean {\n\t\treturn this.#state.kind === \"live\";\n\t}\n\n\t/** Resolves at its first outcome (the start barrier waits for it); never rejects. */\n\tget firstOutcome(): Promise<void> {\n\t\tif (this.#hasFirstOutcome) return Promise.resolve();\n\t\tthis.#firstOutcome ??= Promise.withResolvers<void>();\n\t\treturn this.#firstOutcome.promise;\n\t}\n\n\t/** Whether it holds up the start barrier: it has no first outcome yet. */\n\tget blocksFirstPass(): boolean {\n\t\treturn !this.#hasFirstOutcome;\n\t}\n\n\t/**\n\t * The error of its last failure while none went live since: a failed attempt's, or the cause its parked attempt\n\t * showed last (kept when the dependency falls back to `loading`, so a getter's deadline names it).\n\t */\n\tget lastFailure(): ChordError | undefined {\n\t\treturn this.#lastFailure;\n\t}\n\n\t/** Its instance id while an attempt activates; `undefined` otherwise (a hold's chain names only activations). */\n\tget activationId(): string | undefined {\n\t\treturn this.#state.kind === \"activating\" ? this.#instance : undefined;\n\t}\n\n\t/**\n\t * The chain a hold this object's activation makes over a link carries (Q5): its own chain and its instance id, the\n\t * last 32; `undefined` when it is not activating.\n\t */\n\tactivationChain(): string[] | undefined {\n\t\tconst id = this.activationId;\n\t\tif (id === undefined) return undefined;\n\t\tconst { chain } = this;\n\t\treturn [...(chain.length < CHAIN ? chain : chain.slice(chain.length - CHAIN + 1)), id];\n\t}\n\n\t/** Its holders, for a presence list made after they took it. */\n\tget holders(): ReadonlySet<Holder> {\n\t\treturn this.#holders;\n\t}\n\n\t/** The variant a live remote object's factory chose; `undefined` for a local object and before it is live. */\n\tget variant(): string | undefined {\n\t\treturn this.#state.kind === \"live\" ? this.#state.attempt.variant : undefined;\n\t}\n\n\t/** The live object's state members, as Chord follows them. */\n\tget stateMembers(): ReadonlyMap<string, DeriveSource> {\n\t\treturn this.#live().stateMembers;\n\t}\n\n\t/**\n\t * Starts an attempt when waiting or failed and returns it; a trigger while an attempt runs (or once live) is ignored.\n\t * After a failure the holders are told: their references are loading again.\n\t */\n\tattempt(): Attempt | undefined {\n\t\tconst state = this.#state;\n\t\tif (state.kind !== \"waiting\" && state.kind !== \"failed\") return undefined;\n\t\tthis.#instance ??= uuidv7();\n\t\tconst attempt = new Attempt(this, this.#context);\n\t\tthis.#state = { kind: \"activating\", attempt, shown: LOADING };\n\t\tif (state.kind === \"failed\") this.#notify();\n\t\tvoid this.#run(attempt, this.host.endingOf(this.identity));\n\t\treturn attempt;\n\t}\n\n\t/**\n\t * `ref.retry()` and a `retry` message, as a step of `walk` (handled once per walk: a diamond reaches it twice): an\n\t * attempt now when failed (a broken one too) or waiting, its backoff window skipped; passed on to the failed\n\t * dependencies while parked `failed { waiting }`; ignored otherwise (an attempt runs, or it is live).\n\t */\n\tretry(walk: RetryWalk = retryWalk()): void {\n\t\tif (walk.visited.has(this)) return;\n\t\twalk.visited.add(this);\n\t\tconst state = this.#state;\n\t\tif (state.kind === \"activating\") {\n\t\t\tif (state.shown.kind === \"failed\") state.attempt.retryDependencies(walk);\n\t\t\treturn;\n\t\t}\n\t\tif (state.kind !== \"waiting\" && state.kind !== \"failed\") return;\n\t\tthis.host.backoff.skip(this.identity);\n\t\tthis.attempt();\n\t}\n\n\t/**\n\t * Follows `sources` as its wake signals instead of the last attempt's (`self.retryOn`, right after a factory\n\t * returned): a new value retries it while failed, as `ref.retry()` does; one while it activates retries it at once\n\t * if that attempt fails; one while live does nothing.\n\t */\n\tretryOn(sources: readonly RetrySource[]): void {\n\t\tif (this.#wakes === undefined && sources.length === 0) return;\n\t\tthis.#wakes ??= new RetryWakes();\n\t\tthis.#wakes.replace(sources, () => this.#wake());\n\t}\n\n\t/**\n\t * Calls a method of the live object for `caller`, bound at `version` (an older one maps its arguments and result,\n\t * Q10). While a reload's pure swap runs, the call waits for its new attempt (the gate), bounded by `readyTimeout`.\n\t */\n\tasync call(method: string, args: unknown, context: Context, caller: Caller, version: number): Promise<unknown> {\n\t\tconst state = this.#state;\n\t\tif (state.kind === \"activating\" && state.swap !== undefined) await this.#gate(state.swap, context);\n\t\treturn this.#live().call(method, args, context, caller, version);\n\t}\n\n\t/**\n\t * Whether a reload's pure swap runs in place: the new attempt neither parked nor failed yet. Holds stay bound\n\t * meanwhile (their calls wait at the gate) and get a fresh `bound` once it is live.\n\t */\n\tget swapsInPlace(): boolean {\n\t\tconst state = this.#state;\n\t\treturn state.kind === \"activating\" && state.swap !== undefined && !state.swap.parked;\n\t}\n\n\t/** Whether a consumer of `contract`'s version and fingerprint binds to this object's provider now (R6, Q10). */\n\tbinds(contract: Contract): boolean {\n\t\treturn binds(this.served.provider, contract.version, contract.fingerprint);\n\t}\n\n\t/** Its params as checked, with their identity key. */\n\tget checkedParams(): CheckedParams {\n\t\treturn { params: this.params, key: this.key };\n\t}\n\n\t/**\n\t * What a reference of `version` follows for state member `member` now (decision \"References are the only\n\t * indirection\"): the shown instance's member (its mapping at an older version) while that instance is live, while a\n\t * swap brings its successor in place, and after a live failure until its admitted commits published; else nothing:\n\t * `failed` with the cause's error, or `loading`, with that member to take a last value from.\n\t */\n\tfollowed(member: string, version: number): Followed {\n\t\tconst exposed = this.#exposed;\n\t\tlet shown: DeriveSource | undefined;\n\t\tlet lacking: ChordError | undefined;\n\t\tif (exposed !== undefined) {\n\t\t\ttry {\n\t\t\t\tshown = exposed.memberAt(member, version);\n\t\t\t} catch (error) {\n\t\t\t\tconst failure = asChordError(error, this.label);\n\t\t\t\t// The shown instance does not serve this version (a swap's old one, while a reload brings it): nothing yet.\n\t\t\t\tif (failure.code !== \"contract_mismatch\") lacking = failure;\n\t\t\t}\n\t\t}\n\t\tif (exposed !== undefined && this.#following) {\n\t\t\tif (shown !== undefined) return { kind: \"live\", source: shown, instance: exposed };\n\t\t\tif (lacking !== undefined) return { kind: \"lacking\", error: lacking };\n\t\t\treturn { kind: \"loading\", last: undefined, instance: undefined };\n\t\t}\n\t\tconst state = this.#state;\n\t\tconst failure =\n\t\t\tstate.kind === \"failed\"\n\t\t\t\t? state.failure\n\t\t\t\t: state.kind === \"activating\" && state.shown.kind === \"failed\"\n\t\t\t\t\t? state.shown\n\t\t\t\t\t: undefined;\n\t\tif (failure !== undefined) return { kind: \"failed\", error: failure.cause.error, last: shown, instance: exposed };\n\t\treturn { kind: \"loading\", last: shown, instance: exposed };\n\t}\n\n\t/**\n\t * The instance its references follow now (they attach to it; they take last values only from an instance they\n\t * attached to); `undefined` once it stopped changing.\n\t */\n\tget attachable(): Attempt | undefined {\n\t\treturn this.#following ? this.#exposed : undefined;\n\t}\n\n\t/** The live instance, which references pin their keys on (a new one: they pin again); `undefined` when not live. */\n\tget instance(): Attempt | undefined {\n\t\treturn this.#state.kind === \"live\" ? this.#state.attempt : undefined;\n\t}\n\n\t/** The live instance's state member `member` as a consumer of `version` follows it (a hold over a link). */\n\tliveMember(member: string, version: number): DeriveSource {\n\t\treturn this.#live().memberAt(member, version);\n\t}\n\n\t/** How a consumer of `version` reads keyed member `member`'s documents: mapped back when older (`undefined`: as they are). */\n\tkeyedMapping(member: string, version: number): ((current: JsonValue) => JsonValue) | undefined {\n\t\treturn this.#live().keyMapping(member, version);\n\t}\n\n\t/** Waits until `swap` ended (its new attempt live, parked, failed, or the object ended). */\n\tasync #gate(swap: Swap, context: Context): Promise<void> {\n\t\t// No timer of its own: the swap ends when its new attempt is live, parked or failed, and `readyTimeout` bounds\n\t\t// the new attempt's own steps (Fable).\n\t\tawait awaitWithContext(swap.done.promise, context);\n\t}\n\n\t/** The keyed member `member` of the live object: its ultimate slot (slice 6a §12). */\n\tkeyedMember(member: string): KeyedSlot {\n\t\treturn this.#live().keyedMember(member);\n\t}\n\n\t/** Pins `key` of keyed member `member` on the live instance, as a consumer of `version` reads it (`Attempt.pinKey`). */\n\tpinKey(member: string, key: string, version: number, context: Context): Promise<PinnedKey> {\n\t\treturn this.#live().pinKey(member, key, version, context);\n\t}\n\n\t/**\n\t * Counts `holder` as a reference to this object (the holder reads `state` itself), listed in its type's presence; a\n\t * lingering object stays.\n\t */\n\thold(holder: Holder): void {\n\t\t// A version it binds whose member the live provider refuses (an older consumer): it waits unbound instead.\n\t\tconst state = this.#state;\n\t\tconst unfit = state.kind === \"live\" ? this.#unfit(holder, state.attempt) : undefined;\n\t\tif (unfit !== undefined) {\n\t\t\tthis.#unbound(holder, unfit);\n\t\t\treturn;\n\t\t}\n\t\tthis.#holders.add(holder);\n\t\tthis.#stopLingering();\n\t\t// Last: a derive over the presence list may close a link synchronously, which may release this holder again.\n\t\tthis.host.referenced(this, holder, this.#context);\n\t}\n\n\t/** `holder` was released: the object may end (`#idle`). */\n\tunhold(holder: Holder): void {\n\t\tif (!this.#holders.delete(holder)) return;\n\t\tthis.#dropUnheld(holder.contract.version);\n\t\tthis.#idle();\n\t\t// Last: a derive over the presence list may close a link synchronously, which releases other holders again.\n\t\tthis.host.unreferenced(this, [holder], this.#context);\n\t}\n\n\t/**\n\t * The records of job `definition`'s runs, made by its first declaration. A later declaration (a new attempt's, after a\n\t * reload) at another version takes the records over (each run keeps its version, slice 7b §8); one at the same\n\t * version with another fingerprint is refused (`checkJob`).\n\t */\n\tjobRecords(definition: JobDefinition<unknown, unknown, unknown>): JobRecords {\n\t\tconst records = this.#jobs.get(definition.name);\n\t\tif (records === undefined) {\n\t\t\tconst { store } = this.host;\n\t\t\tconst owner = {\n\t\t\t\tlabel: this.label,\n\t\t\t\thost: this.host,\n\t\t\t\tcontext: this.#context,\n\t\t\t\tdocuments: this.documents,\n\t\t\t\tstore: store === undefined ? undefined : { store, owner: this.served.contract.name },\n\t\t\t\tcountRuns: (delta: number) => this.countRuns(delta),\n\t\t\t\theld: (deadline: number) => this.#heldUntil(deadline),\n\t\t\t};\n\t\t\tconst made = new JobRecords(definition, owner);\n\t\t\tthis.#jobs.set(definition.name, made);\n\t\t\treturn made;\n\t\t}\n\t\tthis.checkJob(definition);\n\t\trecords.redefine(definition);\n\t\treturn records;\n\t}\n\n\t/** Refuses a declaration of a job its records cannot take (`JobRecords.check`); a reload's staging checks it too. */\n\tcheckJob(definition: JobDefinition<unknown, unknown, unknown>): void {\n\t\tthis.#jobs.get(definition.name)?.check(definition);\n\t}\n\n\t/**\n\t * Claims table `table` (its SQL name) in the host's store for this object, until its end (slice 6b claims); held by\n\t * another owner: `invalid/args`, which fails the declaring factory.\n\t */\n\tclaimTable(table: string): void {\n\t\tthis.host.store!.claims.table(table, this);\n\t}\n\n\t/** Claims this object's documents in `namespace` of the host's store, as `claimTable`. */\n\tclaimDocuments(namespace: string): void {\n\t\tthis.host.store!.claims.documents(this.served.contract.name, namespace, this);\n\t}\n\n\t/**\n\t * A runtime failure of the live attempt `attempt`: `broken` (a `migrate` failing on access, a stored version newer\n\t * than the code, a refused commit) or `transient` (a followed runtime failed, R4): the attempt is sealed and the\n\t * object `failed` with `cause`; calls reject with it, holders are told, its references keep their last values once the\n\t * admitted commits adopted (`followed`), the natives close in the background (then its references are released),\n\t * `onError` gets `object_failed` once. Documents and job runs stay. Recovery: a broken failure by `ref.retry()`, a\n\t * transient one after its identity's backoff too (a new attempt, whose members its references follow once live). A\n\t * failure of a sealed attempt is ignored, so several at once fail it once.\n\t */\n\tfailLive(attempt: Attempt, cause: FailureCause): void {\n\t\tconst state = this.#state;\n\t\tif (state.kind !== \"live\" || state.attempt !== attempt) return;\n\t\tconst { error } = cause;\n\t\tif (cause.kind === \"transient\") this.host.backoff.failed(this.identity);\n\t\telse this.host.backoff.delete(this.identity);\n\t\tconst failure: Failed = { kind: \"failed\", cause, retryAt: this.host.backoff.until(this.identity) };\n\t\tthis.#state = { kind: \"failed\", failure };\n\t\tthis.#lastFailure = error;\n\t\tthis.#withdraw(attempt);\n\t\tattempt.seal(error);\n\t\t// Its references follow every member on until the commits admitted before the seal adopted and published once\n\t\t// (frames included), then stop. A retry's factory and hydration wait for both (its ending), so no old commit\n\t\t// lands in a new attempt.\n\t\tconst frozen = this.documents.settled().then(() => this.#stopFollowing(attempt));\n\t\tconst closing = Promise.all([attempt.close(END), frozen]).then(([failures]) => {\n\t\t\tattempt.detach();\n\t\t\tattempt.releaseReferences();\n\t\t\treturn failures;\n\t\t});\n\t\tthis.host.ending(this.identity, this.#reported(closing));\n\t\tthis.host.report({ kind: \"object_failed\", object: this.label, failure: cause });\n\t\tthis.#notify();\n\t\tthis.#idle();\n\t}\n\n\t/** A held state change must be stored by `deadline`: the timer is set for the earliest one. */\n\t#heldUntil(deadline: number): void {\n\t\tif (this.#flush !== undefined && this.#flush.deadline <= deadline) return;\n\t\tif (this.#flush !== undefined) clearTimeout(this.#flush.timer);\n\t\t// A foreground timer: what is held is stored before the process may exit.\n\t\tconst timer = setTimeout(() => void this.#flushHeld(), Math.max(0, deadline - Date.now()));\n\t\tthis.#flush = { deadline, timer };\n\t}\n\n\t/** The timer fired: every held change past its deadline is stored, and the timer set for the next one. */\n\tasync #flushHeld(): Promise<void> {\n\t\tthis.#flush = undefined;\n\t\tif (this.#state.kind === \"ended\") return;\n\t\tconst now = Date.now();\n\t\tconst jobs = [...this.#jobs.values()];\n\t\tawait Promise.all(jobs.map((records) => records.flushHeld(now)));\n\t\tconst next = Math.min(...jobs.map((records) => records.nextDeadline()));\n\t\tif (Number.isFinite(next)) this.#heldUntil(next);\n\t}\n\n\t/**\n\t * Adds `delta` to its running and finishing job runs (and `host.activity.jobs`). A new run keeps a lingering object;\n\t * the last one settling on an object without references ends it as its last release would (`#idle`).\n\t */\n\tcountRuns(delta: number): void {\n\t\tthis.#runs += delta;\n\t\tthis.host.count(\"jobs\", delta);\n\t\t// A run started while the object lingers keeps it, like a new reference.\n\t\tif (delta > 0) this.#stopLingering();\n\t\tif (this.#runs === 0) this.#idle();\n\t}\n\n\t/**\n\t * Throws `invalid/cycle` when waiting for `dependency` closes a chain of waits back to this object (Q5). Every other\n\t * object on the chain fails broken with the same error, so no part of a cycle waits for a retry. Counts the objects\n\t * it visits (`chord.cycle.visits`). Otherwise, a dependency whose activation is in this object's chain closes a\n\t * cycle through other hosts (they fail through their dependency on this one).\n\t */\n\tassertNoCycle(dependency: Target, context: Context): void {\n\t\tconst visited = new Set<Target>();\n\t\tconst cycle = dependency.pathTo(this, visited);\n\t\tcontext.telemetry.metrics?.counter(\"chord.cycle.visits\").add(visited.size);\n\t\tif (cycle === undefined) {\n\t\t\tconst across = dependency.activationId;\n\t\t\tif (across === undefined || !this.chain.includes(across)) return;\n\t\t\tthrow this.host.cycle(this.chain, across, [this.label, dependency.label]);\n\t\t}\n\t\tconst error = invalid(\"cycle\", `dependency cycle: ${[this, ...cycle].map(({ label }) => label).join(\" → \")}`);\n\t\tfor (const object of cycle) {\n\t\t\tconst state = object.#state;\n\t\t\tif (object !== this && state.kind === \"activating\") {\n\t\t\t\tstate.attempt.abandon({ kind: \"failed\", cause: { kind: \"broken\", error } });\n\t\t\t}\n\t\t}\n\t\tthrow error;\n\t}\n\n\t/** Its parked attempt waits for `dependencies` (none once it leaves parking): the waits a cycle check follows. */\n\twaitsFor(dependencies: readonly Dependency[]): void {\n\t\tthis.#waitingFor = dependencies;\n\t}\n\n\t/**\n\t * A dependency of its current attempt changed (its state, or its first outcome): a parked attempt checks again; an\n\t * attempt past its dependency check ignores it (R18 after live), and so does any other state.\n\t */\n\tdependencyMoved(): void {\n\t\tconst state = this.#state;\n\t\tif (state.kind === \"activating\") state.attempt.dependencyMoved();\n\t}\n\n\t/**\n\t * Its attempt `attempt` is parked showing `shown` (`loading` or `failed { waiting }`): holders are told when that\n\t * changed (a cause compared by value). `firstPass`: no blocker here is still without its first outcome, so this\n\t * object has its first outcome now.\n\t */\n\tparked(attempt: Attempt, shown: RefState, firstPass: boolean): void {\n\t\tconst state = this.#state;\n\t\tif (state.kind !== \"activating\" || state.attempt !== attempt) return;\n\t\tconst { swap } = state;\n\t\t// A swap's new attempt parks (decision 4): no overlap of old and new code, holders see what it shows.\n\t\tconst parks = swap !== undefined && !swap.parked;\n\t\tif (parks) this.#swapParked(swap);\n\t\tif (parks || !sameState(state.shown, shown)) {\n\t\t\tthis.#state = { kind: \"activating\", attempt, shown, ...(swap === undefined ? {} : { swap }) };\n\t\t\tif (shown.kind === \"failed\") this.#lastFailure = shown.cause.error;\n\t\t\tthis.#notify();\n\t\t}\n\t\tif (firstPass) this.#settleFirstOutcome();\n\t}\n\n\t/** Its attempt `attempt` left parking for its own steps: it shows `loading` until its outcome. */\n\tunparked(attempt: Attempt): void {\n\t\tconst state = this.#state;\n\t\tif (state.kind !== \"activating\" || state.attempt !== attempt) return;\n\t\tif (!sameState(state.shown, LOADING)) this.parked(attempt, LOADING, false);\n\t}\n\n\t/** A swap's new attempt parked: the old attempt's contributions leave the tables (it is not live any more). */\n\t#swapParked(swap: Swap): void {\n\t\tswap.parked = true;\n\t\tthis.#withdraw(swap.old);\n\t\tswap.done.resolve();\n\t}\n\n\t/**\n\t * Ends the object (once): sealed now, its holders and running calls told `error` (`released` by default), torn down\n\t * in the background with reason `end`, close failures reported.\n\t */\n\tend(error: ChordError = this.ended()): void {\n\t\tconst teardown = this.#seal({ kind: \"end\", error });\n\t\tif (teardown.kind !== \"none\") this.host.ending(this.identity, this.#reported(this.#tearDown(teardown, END)));\n\t}\n\n\t/**\n\t * Ends the object for `host.close`: sealed now; returns its teardown (reason `close`), which the host runs once every\n\t * object is sealed, so no reference it releases starts an ending in the background.\n\t */\n\tstop(): () => Promise<CloseFailed[]> {\n\t\tconst teardown = this.#seal({ kind: \"end\", error: this.ended() });\n\t\treturn () => this.#tearDown(teardown, CLOSE);\n\t}\n\n\t/**\n\t * Ends the object because a reload removed its type (slice 7b §4): as `end` (natives close with reason `end`,\n\t * running calls' callers rejected `released`, handlers drained), but its holders' requests are not ended: they wait\n\t * unbound with `cause` (`not_served`), references with their last values, until the next object of its identity\n\t * binds them (`Removal`).\n\t */\n\tremove(cause: FailureCause): void {\n\t\tconst teardown = this.#seal({ kind: \"removed\", error: this.ended(), cause });\n\t\tif (teardown.kind !== \"none\") this.host.ending(this.identity, this.#reported(this.#tearDown(teardown, END)));\n\t}\n\n\t/**\n\t * What a reload with `recorded` (the new factory's declarations) does to this object, whose type is still served:\n\t * a live object swaps in place when neither its live attempt nor the new factory opens natives and no table of the\n\t * new factory is newer than the store's, else it restarts; any other is retried.\n\t */\n\treloadFate(recorded: Recorded): ReloadFate {\n\t\tconst state = this.#state;\n\t\tif (state.kind !== \"live\") return \"retry\";\n\t\tif (state.attempt.opensNatives || recorded.natives > 0 || migratesTables(this, recorded)) return \"restart\";\n\t\treturn \"swap\";\n\t}\n\n\t/**\n\t * Takes `fate` with its new served type (after the reload's commit); returns the new attempt, whose first\n\t * dependency check the reload's report waits for.\n\t */\n\treload(served: Served, fate: ReloadFate): Attempt {\n\t\t// Its members per version stay: the previous version's are mapped once the new attempt goes live.\n\t\tthis.served = served;\n\t\tconst attempt = fate === \"swap\" ? this.#swap() : fate === \"restart\" ? this.#restart() : this.#retryReloaded();\n\t\tattempt.startedByReload();\n\t\treturn attempt;\n\t}\n\n\t/**\n\t * A pure swap (slice 7b §5): a new attempt of the same object (its documents, line and job records, its instance id),\n\t * its activation at once; the live attempt keeps its running calls, its routines aborted, its jobs handed over,\n\t * and is sealed once its calls settled and the new attempt's requests bound (`#retire`). Calls arriving meanwhile\n\t * wait at the gate.\n\t */\n\t#swap(): Attempt {\n\t\t// A swap starts from a live object (`reloadFate`).\n\t\tconst old = (this.#state as Extract<ObjectState, { readonly kind: \"live\" }>).attempt;\n\t\tconst ending = this.host.endingOf(this.identity);\n\t\tconst attempt = new Attempt(this, this.#context);\n\t\tconst swap: Swap = { old, parked: false, done: Promise.withResolvers() };\n\t\tthis.#state = { kind: \"activating\", attempt, shown: LOADING, swap };\n\t\told.handOver();\n\t\tthis.#retiringAdd(old, this.#retire(swap));\n\t\tthis.#notify();\n\t\tvoid this.#run(attempt, ending);\n\t\treturn attempt;\n\t}\n\n\t/**\n\t * Keeps `retire` (a swapped-out attempt's) until it settled: a restart, an end and the host's close wait for it; a\n\t * later swap does not (it holds no natives, its documents are the object's: Fable, Opus F1), so a second reload is\n\t * never held up by the first one's old calls.\n\t */\n\t#retiringAdd(old: Attempt, retire: Promise<void>): void {\n\t\tthis.#retiring ??= new Map();\n\t\tconst retiring = this.#retiring;\n\t\tretiring.set(old, retire);\n\t\tvoid retire.finally(() => {\n\t\t\tretiring.delete(old);\n\t\t});\n\t}\n\n\t/** Its swapped-out attempts still retiring, as one wait; `undefined` when none is. */\n\t#retiringNow(): Promise<void> | undefined {\n\t\tconst retiring = this.#retiring;\n\t\tif (retiring === undefined || retiring.size === 0) return undefined;\n\t\treturn Promise.all(retiring.values()).then(() => {});\n\t}\n\n\t/**\n\t * Seals a swapped attempt once its running calls (and routine calls) settled, bounded by `closeTimeout`, and the swap\n\t * ended (the new attempt live, parked, failed: its requests bound, so no request it shares with the old one ends in\n\t * between, M§3.9, and its holders compared the old members with the new); a parked swap's references take their last\n\t * values from it once the commits it admitted before the seal published; then its references are released. Its job\n\t * invocations run on, on their old code.\n\t */\n\tasync #retire({ old, done }: Swap): Promise<void> {\n\t\tawait Promise.all([old.drainCalls(), done.promise]);\n\t\told.seal(this.#reloaded());\n\t\t// A parked swap's old instance stops changing once its admitted commits published (its successor, live, took over\n\t\t// its references before).\n\t\tawait this.documents.settled();\n\t\tthis.#stopFollowing(old);\n\t\tconst failures = await old.close(END);\n\t\told.detach();\n\t\told.releaseReferences();\n\t\tfor (const failure of failures) this.host.report(failure);\n\t}\n\n\t/**\n\t * A native restart (decision \"A native restart drains first\"): new calls park (it shows `loading`), its\n\t * contributions leave, the live attempt's running calls drain (bounded by `closeTimeout`), then it is sealed (its\n\t * in-memory job runs end `aborted { reload }`), its references take their last values once its admitted commits\n\t * published, its natives close with reason `reload`; the new attempt, a new instance (D4), activates after that\n\t * teardown.\n\t */\n\t#restart(): Attempt {\n\t\tconst old = (this.#state as Extract<ObjectState, { readonly kind: \"live\" }>).attempt;\n\t\tthis.#withdraw(old);\n\t\told.stopRoutines();\n\t\tthis.#instance = uuidv7();\n\t\tconst teardown = (async () => {\n\t\t\tawait Promise.all([old.drainCalls(), this.#retiringNow()]);\n\t\t\told.seal(this.#reloaded(), \"reload\");\n\t\t\t// Drained and sealed: its references take their last values once the commits it admitted before published\n\t\t\t// (a store write is not a running call's promise; Sol).\n\t\t\tawait this.documents.settled();\n\t\t\tthis.#stopFollowing(old);\n\t\t\tconst failures = await old.close(RELOAD);\n\t\t\told.detach();\n\t\t\told.releaseReferences();\n\t\t\treturn failures;\n\t\t})();\n\t\tthis.host.ending(this.identity, this.#reported(teardown));\n\t\tconst attempt = this.#replace();\n\t\tvoid this.#run(attempt, this.host.endingOf(this.identity));\n\t\treturn attempt;\n\t}\n\n\t/**\n\t * A reload retries an object that is not live (slice 7b §9, decision 1): a parked attempt is replaced in one\n\t * handover (it opened nothing: the new attempt's requests bind before the old ones are released, M§3.9); an attempt\n\t * in its own steps is sealed, its natives close with reason `reload`, and the new one activates after that teardown;\n\t * a failed or waiting one gets an attempt now, its backoff skipped.\n\t */\n\t#retryReloaded(): Attempt {\n\t\tconst state = this.#state;\n\t\tif (state.kind === \"activating\") {\n\t\t\tconst { attempt: old, swap } = state;\n\t\t\tif (swap !== undefined && !swap.parked) this.#swapParked(swap);\n\t\t\tswap?.done.resolve();\n\t\t\tconst parked = old.isParked;\n\t\t\t// A parked attempt's successor waits for no teardown of it (its references are released after it bound).\n\t\t\tconst ending = this.host.endingOf(this.identity);\n\t\t\told.seal(this.#reloaded(), \"reload\");\n\t\t\tconst attempt = this.#replace();\n\t\t\tif (parked) void this.#run(attempt, ending);\n\t\t\tconst after = parked ? attempt.checked : Promise.resolve();\n\t\t\tconst closing = after\n\t\t\t\t.then(() => old.close(RELOAD))\n\t\t\t\t.then((failures) => {\n\t\t\t\t\told.detach();\n\t\t\t\t\told.releaseReferences();\n\t\t\t\t\treturn failures;\n\t\t\t\t});\n\t\t\tthis.host.ending(this.identity, this.#reported(closing));\n\t\t\tif (!parked) void this.#run(attempt, this.host.endingOf(this.identity));\n\t\t\treturn attempt;\n\t\t}\n\t\tthis.host.backoff.skip(this.identity);\n\t\t// Waiting or failed (`reloadFate`): an attempt starts.\n\t\treturn this.attempt()!;\n\t}\n\n\t/** A new attempt replacing the current one, holders told; its caller starts it (`#run`) after what it waits for. */\n\t#replace(): Attempt {\n\t\tconst attempt = new Attempt(this, this.#context);\n\t\tthis.#state = { kind: \"activating\", attempt, shown: LOADING };\n\t\tthis.#notify();\n\t\treturn attempt;\n\t}\n\n\t/** The `released` error of an attempt a reload replaced. */\n\t#reloaded(): ChordError {\n\t\treturn new ChordError({ code: \"released\", reason: \"ended\", message: `${this.label}: replaced by a reload` });\n\t}\n\n\t/** The `released` error of this object. */\n\tended(): ChordError {\n\t\treturn new ChordError({ code: \"released\", reason: \"ended\", message: `${this.label}: ended` });\n\t}\n\n\t/** Runs `attempt`'s activation once `ending` (its predecessors' teardowns, if any) finished; takes its outcome. */\n\tasync #run(attempt: Attempt, ending: Promise<void> | undefined): Promise<void> {\n\t\tconst outcome = await attempt.activate(ending);\n\t\t// The object may have ended after the activation's last step.\n\t\tif (this.#state.kind !== \"activating\" || this.#state.attempt !== attempt) return;\n\t\tswitch (outcome.kind) {\n\t\t\tcase \"live\":\n\t\t\t\treturn this.#wentLive(attempt);\n\t\t\tcase \"failed\":\n\t\t\t\treturn this.#failed(attempt, outcome.cause);\n\t\t}\n\t}\n\n\t#wentLive(attempt: Attempt): void {\n\t\tif (this.#wakes !== undefined) this.#wakes.during = undefined;\n\t\tconst swap = this.#swapOf(attempt);\n\t\t// Before the new instance is shown: holders of a version its provider does not bind leave with their last values,\n\t\t// which their references take from the instance shown so far.\n\t\tconst unbound = this.#unbindUnfit(attempt);\n\t\tthis.#state = { kind: \"live\", attempt };\n\t\tthis.#exposed = attempt;\n\t\tthis.#following = true;\n\t\tconst { contributions } = attempt;\n\t\t// The old attempt's contributions leave in the batch the new ones enter (slice 7b §5), so no reader sees a gap.\n\t\tconst leaving = swap !== undefined && !swap.parked ? swap.old.contributions : NO_CONTRIBUTIONS;\n\t\t// In the registries' tables before anyone sees it live (a getter released now reads them recomposed).\n\t\tif (contributions.length > 0 || leaving.length > 0) {\n\t\t\tthis.host.batch.within(() => {\n\t\t\t\tfor (const contribution of leaving) contribution.record.remove(contribution);\n\t\t\t\tfor (const contribution of contributions) contribution.record.add(contribution);\n\t\t\t}, this.#context);\n\t\t}\n\t\tthis.#lastFailure = undefined;\n\t\tthis.host.wentLive(this);\n\t\t// Its references move to the new instance (one frame each); holds get a fresh `bound`.\n\t\tthis.#notify();\n\t\tthis.#settleFirstOutcome();\n\t\tswap?.done.resolve();\n\t\t// A swap's routines start once the old attempt's routine calls finished (the handover, §14).\n\t\tattempt.live(swap?.old);\n\t\tthis.#takeJobs(attempt);\n\t\t// Its last holders may have left for their version: it ends as at their release.\n\t\tif (unbound) this.#idle();\n\t}\n\n\t/**\n\t * After `attempt` went live: the jobs it does not declare block their runs (slice 7b §8); after a reload, the blocked\n\t * runs of the jobs it declares are retried.\n\t */\n\t#takeJobs(attempt: Attempt): void {\n\t\tif (this.#jobs.size === 0) return;\n\t\tconst reloaded = attempt.reloadStarted;\n\t\tfor (const [name, records] of this.#jobs) {\n\t\t\tif (!attempt.declaresJob(name)) records.undeclare();\n\t\t\telse if (reloaded) void records.retryBlocked(this.#context);\n\t\t}\n\t}\n\n\t/**\n\t * Its holders whose version `attempt`'s provider (going live) does not bind (a reload dropped it, slice 7b §6), or\n\t * of which it refuses a member (`contract_mismatch`), leave it: they wait unbound `version` (`failed { waiting }`),\n\t * references with their last values, until a publication serves their version again. The object and its other\n\t * holders stay.\n\t */\n\t#unbindUnfit(attempt: Attempt): boolean {\n\t\tlet unfit: [Holder, ChordError][] | undefined;\n\t\tfor (const holder of this.#holders) {\n\t\t\tconst error = this.#unfit(holder, attempt);\n\t\t\tif (error === undefined) continue;\n\t\t\tunfit ??= [];\n\t\t\tunfit.push([holder, error]);\n\t\t}\n\t\tif (unfit === undefined) return false;\n\t\tfor (const [holder] of unfit) this.#holders.delete(holder);\n\t\tthis.host.unreferenced(\n\t\t\tthis,\n\t\t\tunfit.map(([holder]) => holder),\n\t\t\tthis.#context,\n\t\t);\n\t\tfor (const [holder, error] of unfit) this.#unbound(holder, error);\n\t\treturn true;\n\t}\n\n\t/** Whether a holder of `version` holds it. */\n\t#heldAt(version: number): boolean {\n\t\tfor (const holder of this.#holders) if (holder.contract.version === version) return true;\n\t\treturn false;\n\t}\n\n\t/**\n\t * Why `holder` cannot bind to `attempt` (live): its version is not one the provider binds, or the provider refuses a\n\t * member of it (`contract_mismatch`); `undefined` when it binds.\n\t */\n\t#unfit(holder: Holder, attempt: Attempt): ChordError | undefined {\n\t\tconst { contract, provider } = this.served;\n\t\tconst { version, fingerprint } = holder.contract;\n\t\tif (version === contract.version && fingerprint === contract.fingerprint) return undefined;\n\t\tif (binds(provider, version, fingerprint)) return refusal(this.served, version, attempt.variant);\n\t\treturn new ChordError({ code: \"contract_mismatch\", message: `${contract.name} v${version} is not served here` });\n\t}\n\n\t/**\n\t * `holder` (no longer held) waits unbound with `error` (`failed { waiting }`) until a publication fits it.\n\t */\n\t#unbound(holder: Holder, error: ChordError): void {\n\t\tconst cause: FailureCause = { kind: \"waiting\", error };\n\t\tholder.removed({ cause, host: this.host, params: this.checkedParams, context: this.#context });\n\t}\n\n\t/** The swap `attempt` (still the current one) ends: `undefined` when it is no swap's new attempt. */\n\t#swapOf(attempt: Attempt): Swap | undefined {\n\t\tconst state = this.#state;\n\t\treturn state.kind === \"activating\" && state.attempt === attempt ? state.swap : undefined;\n\t}\n\n\t/**\n\t * Records a failed attempt: reported, torn down in the background (reason `end`), its references released once its\n\t * natives closed, its holders told. Transient: a backoff window, whose end is the failure's `retryAt`; broken: no\n\t * automatic retry.\n\t */\n\t#failed(attempt: Attempt, cause: FailureCause): void {\n\t\tconst swap = this.#swapOf(attempt);\n\t\tif (swap !== undefined && !swap.parked) this.#swapParked(swap);\n\t\tswap?.done.resolve();\n\t\tconst wokenBy = this.#wakes?.during === attempt;\n\t\tif (this.#wakes !== undefined) this.#wakes.during = undefined;\n\t\tif (cause.kind === \"transient\") this.host.backoff.failed(this.identity);\n\t\telse this.host.backoff.delete(this.identity);\n\t\tconst failure: Failed = { kind: \"failed\", cause, retryAt: this.host.backoff.until(this.identity) };\n\t\tthis.#state = { kind: \"failed\", failure };\n\t\tthis.#lastFailure = cause.error;\n\t\tattempt.seal(this.ended());\n\t\tconst closing = attempt.close(END).then((failures) => {\n\t\t\tattempt.detach();\n\t\t\t// Released once its natives closed (a close may use them, §6, §13).\n\t\t\tattempt.releaseReferences();\n\t\t\treturn failures;\n\t\t});\n\t\tthis.host.ending(this.identity, this.#reported(closing));\n\t\tthis.host.report({ kind: \"activation_failed\", object: this.label, failure: cause });\n\t\tthis.#notify();\n\t\tthis.#settleFirstOutcome();\n\t\t// Job runs kept it while it activated; failed, they keep it no longer.\n\t\tthis.#idle();\n\t\t// A wake signal arrived while it activated: it retries it now.\n\t\tif (wokenBy) this.retry();\n\t}\n\n\t/**\n\t * A wake signal's new value (inside its batch): retries a failed object (after the batch: a factory may not run in\n\t * one), remembered while it activates, ignored while live and when its own contributions' leaving made it.\n\t */\n\t#wake(): void {\n\t\tconst state = this.#state;\n\t\t// Called by its wakes only.\n\t\tconst wakes = this.#wakes!;\n\t\tif (state.kind === \"activating\") {\n\t\t\t// While parked its dependencies decide (dependency model §3.8).\n\t\t\tif (!state.attempt.isParked) wakes.during = state.attempt;\n\t\t\treturn;\n\t\t}\n\t\tif (state.kind !== \"failed\" || wakes.leaving) return;\n\t\tqueueMicrotask(() => this.retry());\n\t}\n\n\t/**\n\t * The live attempt `attempt` leaves the registries' tables (it fails or ends), inside a batch; a composition this\n\t * leaving makes wakes no wake signal of this object.\n\t */\n\t#withdraw(attempt: Attempt): void {\n\t\tconst { contributions } = attempt;\n\t\tif (contributions.length === 0) return;\n\t\tconst { batch } = this.host;\n\t\tconst wakes = this.#wakes;\n\t\tbatch.within(() => {\n\t\t\tif (wakes !== undefined) {\n\t\t\t\twakes.leaving = true;\n\t\t\t\tbatch.flushing(() => {\n\t\t\t\t\twakes.leaving = false;\n\t\t\t\t});\n\t\t\t}\n\t\t\tfor (const contribution of contributions) contribution.record.remove(contribution);\n\t\t}, this.#context);\n\t}\n\n\t/**\n\t * `attempt`, the instance shown, stopped changing (a live failure's admitted commits published, a restart's drain, a\n\t * swapped or parked old instance retiring): its references take their last values from it, holds leave it, and the\n\t * object lets it go (a reference made later never attached to it: it takes nothing from it).\n\t */\n\t#stopFollowing(attempt: Attempt): void {\n\t\tif (this.#exposed !== attempt || !this.#following) return;\n\t\tthis.#following = false;\n\t\tthis.#notify();\n\t\t// Its references took their values (`#notify` retargets them at once): a failed object keeps no ended instance.\n\t\tthis.#exposed = undefined;\n\t}\n\n\t/** Tells every holder that the state changed: references first follow what it shows now (`followed`). */\n\t#notify(): void {\n\t\tconst holders = [...this.#holders];\n\t\t// In one batch when some reference's members move (one frame each, a diamond over several sees one change); no\n\t\t// commit at all for references that used none (activation churn).\n\t\tconst retarget = (): void => {\n\t\t\tfor (const holder of holders) holder.retarget();\n\t\t};\n\t\tif (holders.some((holder) => holder.following)) this.host.batch.within(retarget, this.#context);\n\t\telse retarget();\n\t\tfor (const holder of holders) holder.moved();\n\t}\n\n\t/**\n\t * Marks the object ended: forgotten by the host, waits rejected, references to it ended with `error` (and gone from\n\t * its type's presence), its job runs ended (signals fired, waiters rejected), its transactions refused, its attempt\n\t * sealed. Returns what is left to tear down; it releases nothing itself.\n\t */\n\t#seal(ending: Ending): Teardown {\n\t\tconst { error } = ending;\n\t\tconst state = this.#state;\n\t\tif (state.kind === \"ended\") return { kind: \"none\" };\n\t\tconst endings = this.host.endingOf(this.identity);\n\t\t// Its ending rejects the callers of its swapped-out attempts' calls too, at once.\n\t\tif (this.#retiring !== undefined) for (const old of this.#retiring.keys()) old.seal(error);\n\t\tconst retiring = this.#retiringNow();\n\t\t// Its swapped-out attempts end before its teardown completes (they share its documents).\n\t\tconst previous = retiring === undefined ? endings : Promise.all([endings, retiring]).then(() => {});\n\t\tthis.#state = { kind: \"ended\", ended: { kind: \"ended\", error } };\n\t\tfor (const records of this.#jobs.values()) records.end(error);\n\t\tif (this.#flush !== undefined) clearTimeout(this.#flush.timer);\n\t\tthis.#flush = undefined;\n\t\tthis.documents.seal();\n\t\tthis.#stopLingering();\n\t\tthis.#wakes?.stop();\n\t\tthis.host.forget(this);\n\t\t// An object of the start barrier's cohort that ends before its first outcome settles it as ended.\n\t\tthis.#settleFirstOutcome();\n\t\t// Sealed: its instance stops changing; its references take their last values from it.\n\t\tthis.#following = false;\n\t\tconst holders = [...this.#holders];\n\t\tthis.#holders.clear();\n\t\tthis.host.unreferenced(this, holders, this.#context);\n\t\t// Its type removed: its references wait with their last values, which they take from the instance shown (still\n\t\t// here); otherwise they end with it.\n\t\tconst removal: Removal | undefined =\n\t\t\tending.kind === \"removed\"\n\t\t\t\t? { cause: ending.cause, host: this.host, params: this.checkedParams, context: this.#context }\n\t\t\t\t: undefined;\n\t\tfor (const holder of holders) {\n\t\t\tif (removal === undefined) holder.end(error);\n\t\t\telse holder.removed(removal);\n\t\t}\n\t\tthis.#exposed = undefined;\n\t\tif (state.kind === \"activating\" && state.swap !== undefined) {\n\t\t\tif (!state.swap.parked) this.#withdraw(state.swap.old);\n\t\t\tstate.swap.old.seal(error);\n\t\t\tstate.swap.done.resolve();\n\t\t}\n\t\t// A failed attempt is closed (or closing) since it failed.\n\t\tif (state.kind === \"waiting\" || state.kind === \"failed\") return { kind: \"end\", previous };\n\t\tif (state.kind === \"live\") this.#withdraw(state.attempt);\n\t\tstate.attempt.seal(error);\n\t\treturn { kind: \"close\", attempt: state.attempt, previous };\n\t}\n\n\t/**\n\t * The last holder of `version` left: the shown instance's shared mapping for it goes (Opus F2), so a long-lived\n\t * object keeps no mapped value nobody reads.\n\t */\n\t#dropUnheld(version: number): void {\n\t\tif (this.#heldAt(version)) return;\n\t\tthis.#exposed?.dropVersion(version);\n\t}\n\n\t/**\n\t * A remote object or a local one with params ends once it has no references and no running or finishing job runs:\n\t * a live one once its type's `linger` passed without a new reference, any other at once.\n\t */\n\t#idle(): void {\n\t\tconst kind = this.#state.kind;\n\t\t// A run waiting for a live attempt keeps its object only while one is live or activating.\n\t\tconst running = this.#runs > 0 && (kind === \"live\" || kind === \"activating\");\n\t\tconst kept = this.#holders.size > 0 || running || (this.served.kind === \"local\" && this.served.hostLifetime);\n\t\tif (kept || this.#state.kind === \"ended\" || this.#lingering !== undefined) return;\n\t\tif (this.#state.kind !== \"live\" || this.served.linger === 0) {\n\t\t\tthis.end();\n\t\t\treturn;\n\t\t}\n\t\t// A new holder clears the timer (`hold`), so an expiry finds none.\n\t\tthis.#lingering = setTimeout(() => {\n\t\t\tthis.#stopLingering();\n\t\t\tthis.end();\n\t\t}, this.served.linger);\n\t\tthis.host.count(\"lingering\", 1);\n\t}\n\n\t/** Its linger timer stops (a new holder, its expiry, its end): no longer counted as lingering. */\n\t#stopLingering(): void {\n\t\tif (this.#lingering === undefined) return;\n\t\tclearTimeout(this.#lingering);\n\t\tthis.#lingering = undefined;\n\t\tthis.host.count(\"lingering\", -1);\n\t}\n\n\t/**\n\t * Once the previous teardowns finished (a failed attempt's closes may read the documents): drains and closes a\n\t * sealed attempt, then releases its references (after the closes, which may use them), then waits for an admitted\n\t * commit step to adopt and drops the documents and job runs. Resolves with the closes that threw.\n\t */\n\tasync #tearDown(teardown: Teardown, reason: NativeCloseReason): Promise<CloseFailed[]> {\n\t\tif (teardown.kind === \"none\") return [];\n\t\tawait teardown.previous;\n\t\tconst failures = teardown.kind === \"close\" ? await teardown.attempt.close(reason) : [];\n\t\tif (teardown.kind === \"close\") {\n\t\t\tteardown.attempt.detach();\n\t\t\tteardown.attempt.releaseReferences();\n\t\t}\n\t\tawait this.documents.settled();\n\t\tthis.documents.end();\n\t\tthis.host.store?.claims.release(this);\n\t\tfor (const records of this.#jobs.values()) records.drop();\n\t\tthis.#jobs.clear();\n\t\treturn failures;\n\t}\n\n\t/** Reports the close failures of a teardown nobody waits for. */\n\tasync #reported(closing: Promise<CloseFailed[]>): Promise<void> {\n\t\tfor (const failure of await closing) this.host.report(failure);\n\t}\n\n\t/**\n\t * The live attempt; `not_ready` before the object went live and while it activates again, the cause while failed,\n\t * `released` once it ended.\n\t */\n\t#live(): Attempt {\n\t\tconst state = this.#state;\n\t\tif (state.kind === \"live\") return state.attempt;\n\t\tif (state.kind === \"ended\") throw this.ended();\n\t\tif (state.kind === \"failed\") throw state.failure.cause.error;\n\t\tthrow new ChordError({ code: \"not_ready\", message: `${this.label}: not live yet` });\n\t}\n\n\t/** The settlement of its first outcome (once): dependents parked on it check their first pass again. */\n\t#settleFirstOutcome(): void {\n\t\tif (this.#hasFirstOutcome) return;\n\t\tthis.#hasFirstOutcome = true;\n\t\tthis.#firstOutcome?.resolve();\n\t\tthis.#firstOutcome = undefined;\n\t\tfor (const holder of this.#holders) holder.dependent?.dependencyMoved();\n\t}\n\n\t/** The chain of waits from this activation to `target` (see `Target`), through its parked attempt's dependencies. */\n\tpathTo(target: ChordObject, visited: Set<Target>): ChordObject[] | undefined {\n\t\tif (this === target) return [this];\n\t\tvisited.add(this);\n\t\tfor (const dependency of this.#waitingFor) {\n\t\t\tconst next = dependency.kind === \"reference\" ? dependency.binding.target : undefined;\n\t\t\tif (next === undefined || visited.has(next)) continue;\n\t\t\tconst rest = next.pathTo(target, visited);\n\t\t\tif (rest !== undefined) return [this, ...rest];\n\t\t}\n\t\treturn undefined;\n\t}\n}\n\n/** Whether two states of a reference say the same: the same object, or failures with the same cause (by value). */\nfunction sameState(a: RefState, b: RefState): boolean {\n\tif (a === b) return true;\n\treturn a.kind === \"failed\" && b.kind === \"failed\" && a.retryAt === b.retryAt && sameCause(a.cause, b.cause);\n}\n"]}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { Context } from "../../context/index.ts";
|
|
2
|
-
/**
|
|
3
|
-
* The queue of one reference's parked calls. A call leaves it when it is sent, at its deadline (`unavailable/
|
|
4
|
-
* park_timeout`), when its caller cancels, or rejected with the queue (the reference failed or was released).
|
|
5
|
-
*/
|
|
6
|
-
export declare class ParkedCalls {
|
|
7
|
-
#private;
|
|
8
|
-
constructor(timeout: number, label: string);
|
|
9
|
-
/** Whether calls are queued: a new call waits behind them, also while they are being sent. */
|
|
10
|
-
get waiting(): boolean;
|
|
11
|
-
/** Queues a call; settles as the call it becomes once sent, or with why it left the queue. */
|
|
12
|
-
park(method: string, args: unknown, context: Context): Promise<unknown>;
|
|
13
|
-
/**
|
|
14
|
-
* Sends the queued calls in order through `send`, each only while `live()` still holds: sending one runs code
|
|
15
|
-
* (a handler's synchronous part) that may release or drop the reference, and the rest then stays queued or is
|
|
16
|
-
* rejected by that; or that makes a new call, which is queued behind the rest and sent in this loop. A call whose
|
|
17
|
-
* deadline passed while earlier ones ran (their timers could not fire) is rejected instead of sent.
|
|
18
|
-
*/
|
|
19
|
-
flush(send: (method: string, args: unknown, context: Context) => Promise<unknown>, live: () => boolean): void;
|
|
20
|
-
/** Rejects every queued call with `error`. */
|
|
21
|
-
reject(error: unknown): void;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=parked.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parked.d.ts","sourceRoot":"","sources":["../../../src/next/host/parked.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAetD;;;GAGG;AACH,qBAAa,WAAW;;IAMvB,YAAY,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAGzC;IAED,8FAA8F;IAC9F,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,8FAA8F;IAC9F,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBtE;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,GAAG,IAAI,CAU5G;IAED,8CAA8C;IAC9C,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAK3B;CAeD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parked.js","sourceRoot":"","sources":["../../../src/next/host/parked.ts"],"names":[],"mappings":"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","sourcesContent":["// Parked calls (§3, §7): calls made on a loading reference, queued in the order they were made until it goes live,\n// each with its own deadline from the moment it was called (the reference's `readyTimeout`, never renewed).\n\nimport type { Context } from \"../../context/index.ts\";\nimport { ChordError } from \"../data/index.ts\";\n\n/** One queued call: what to send, how its caller is settled, its deadline (`Date.now()` time) and what ends its wait. */\ntype ParkedCall = {\n\treadonly method: string;\n\treadonly args: unknown;\n\treadonly context: Context;\n\treadonly resolve: (value: unknown) => void;\n\treadonly reject: (error: unknown) => void;\n\treadonly due: number;\n\treadonly deadline: ReturnType<typeof setTimeout>;\n\treadonly cancel: (() => void) | undefined;\n};\n\n/**\n * The queue of one reference's parked calls. A call leaves it when it is sent, at its deadline (`unavailable/\n * park_timeout`), when its caller cancels, or rejected with the queue (the reference failed or was released).\n */\nexport class ParkedCalls {\n\t/** In the order the calls were made (a `Set` keeps insertion order and deletes in constant time). */\n\treadonly #calls = new Set<ParkedCall>();\n\treadonly #timeout: number;\n\treadonly #label: string;\n\n\tconstructor(timeout: number, label: string) {\n\t\tthis.#timeout = timeout;\n\t\tthis.#label = label;\n\t}\n\n\t/** Whether calls are queued: a new call waits behind them, also while they are being sent. */\n\tget waiting(): boolean {\n\t\treturn this.#calls.size > 0;\n\t}\n\n\t/** Queues a call; settles as the call it becomes once sent, or with why it left the queue. */\n\tpark(method: string, args: unknown, context: Context): Promise<unknown> {\n\t\tconst signal = context.abortSignal;\n\t\tsignal?.throwIfAborted();\n\t\tconst { promise, resolve, reject } = Promise.withResolvers<unknown>();\n\t\tconst deadline = setTimeout(() => this.#expire(call), this.#timeout);\n\t\tlet cancel: (() => void) | undefined;\n\t\tif (signal !== undefined) {\n\t\t\tcancel = () => {\n\t\t\t\tthis.#take(call);\n\t\t\t\treject(signal.reason);\n\t\t\t};\n\t\t\tsignal.addEventListener(\"abort\", cancel, { once: true });\n\t\t}\n\t\tconst due = Date.now() + this.#timeout;\n\t\tconst call: ParkedCall = { method, args, context, resolve, reject, due, deadline, cancel };\n\t\tthis.#calls.add(call);\n\t\treturn promise;\n\t}\n\n\t/**\n\t * Sends the queued calls in order through `send`, each only while `live()` still holds: sending one runs code\n\t * (a handler's synchronous part) that may release or drop the reference, and the rest then stays queued or is\n\t * rejected by that; or that makes a new call, which is queued behind the rest and sent in this loop. A call whose\n\t * deadline passed while earlier ones ran (their timers could not fire) is rejected instead of sent.\n\t */\n\tflush(send: (method: string, args: unknown, context: Context) => Promise<unknown>, live: () => boolean): void {\n\t\tfor (const call of this.#calls) {\n\t\t\tif (!live()) return;\n\t\t\tif (Date.now() >= call.due) {\n\t\t\t\tthis.#expire(call);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tthis.#take(call);\n\t\t\tsend(call.method, call.args, call.context).then(call.resolve, call.reject);\n\t\t}\n\t}\n\n\t/** Rejects every queued call with `error`. */\n\treject(error: unknown): void {\n\t\tfor (const call of this.#calls) {\n\t\t\tthis.#take(call);\n\t\t\tcall.reject(error);\n\t\t}\n\t}\n\n\t/** `call`'s deadline passed: `unavailable/park_timeout`. */\n\t#expire(call: ParkedCall): void {\n\t\tthis.#take(call);\n\t\tconst message = `${this.#label}: a call waited ${this.#timeout} ms for its reference to go live`;\n\t\tcall.reject(new ChordError({ code: \"unavailable\", reason: \"park_timeout\", message }));\n\t}\n\n\t/** Takes `call` out of the queue: its deadline and cancellation stop. */\n\t#take(call: ParkedCall): void {\n\t\tthis.#calls.delete(call);\n\t\tclearTimeout(call.deadline);\n\t\tif (call.cancel !== undefined) call.context.abortSignal?.removeEventListener(\"abort\", call.cancel);\n\t}\n}\n"]}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { Context } from "../../context/index.ts";
|
|
2
|
-
import type { JsonValue } from "../../json.ts";
|
|
3
|
-
import type { Contract, ParamsOf } from "../contracts/index.ts";
|
|
4
|
-
import type { Principal } from "../data/index.ts";
|
|
5
|
-
import { Source } from "../state/internal.ts";
|
|
6
|
-
import type { ChordObject, Holder } from "./object.ts";
|
|
7
|
-
/**
|
|
8
|
-
* One reference to an object of `C`: the object's params, the principal it acts as (for a remote type), and its
|
|
9
|
-
* incarnation: the host that made it as its caller sees it (a hold's caller over a link; two tabs are two
|
|
10
|
-
* incarnations), the word `ctx.incarnation` uses.
|
|
11
|
-
*/
|
|
12
|
-
export type Presence<C extends Contract = Contract, P extends Principal = Principal> = {
|
|
13
|
-
readonly params: ParamsOf<C>;
|
|
14
|
-
readonly principal?: P;
|
|
15
|
-
readonly incarnation: string;
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* The references of one type, made by the host for its first `host.references(Type)` and kept from then on: one entry
|
|
19
|
-
* per reference, added when it binds and removed when it ends, in the batch where that happens (derives over it
|
|
20
|
-
* recompute there). While watched, a batch's changes are folded into the published list once, with one splice op per
|
|
21
|
-
* removal and one for the additions; otherwise the list is built on its next read.
|
|
22
|
-
*/
|
|
23
|
-
export declare class References extends Source {
|
|
24
|
-
#private;
|
|
25
|
-
get value(): JsonValue;
|
|
26
|
-
/** `holder` references `object`, added in the batch running now or the next one. */
|
|
27
|
-
add(object: ChordObject, holder: Holder, context: Context): void;
|
|
28
|
-
/** `holders` of `object` ended, removed in one batch. */
|
|
29
|
-
remove(holders: Iterable<Holder>, context: Context): void;
|
|
30
|
-
/** Records `holder` without a batch (the list being made) and returns its entry. */
|
|
31
|
-
record(object: ChordObject, holder: Holder): Presence;
|
|
32
|
-
deliver(context: Context): void;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=presence.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../../../src/next/host/presence.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI;IACtF,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,MAAM;;IAWrC,IAAI,KAAK,IAAI,SAAS,CAIrB;IAED,oFAAoF;IACpF,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAM/D;IAED,yDAAyD;IACzD,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAcxD;IAED,oFAAoF;IACpF,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CASpD;IAED,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAM9B;CA0CD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"presence.js","sourceRoot":"","sources":["../../../src/next/host/presence.ts"],"names":[],"mappings":"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","sourcesContent":["// Presence (§19): `host.references(Type)`, a JSON watchable of the references to objects of one type on this host, one\n// entry per reference with the object's params, the reference's principal (remote types) and its incarnation.\n\nimport type { Context } from \"../../context/index.ts\";\nimport type { Op } from \"../../delta/index.ts\";\nimport type { JsonValue } from \"../../json.ts\";\nimport type { Contract, ParamsOf } from \"../contracts/index.ts\";\nimport type { Principal } from \"../data/index.ts\";\nimport { Source } from \"../state/internal.ts\";\nimport type { ChordObject, Holder } from \"./object.ts\";\n\n/**\n * One reference to an object of `C`: the object's params, the principal it acts as (for a remote type), and its\n * incarnation: the host that made it as its caller sees it (a hold's caller over a link; two tabs are two\n * incarnations), the word `ctx.incarnation` uses.\n */\nexport type Presence<C extends Contract = Contract, P extends Principal = Principal> = {\n\treadonly params: ParamsOf<C>;\n\treadonly principal?: P;\n\treadonly incarnation: string;\n};\n\n/**\n * The references of one type, made by the host for its first `host.references(Type)` and kept from then on: one entry\n * per reference, added when it binds and removed when it ends, in the batch where that happens (derives over it\n * recompute there). While watched, a batch's changes are folded into the published list once, with one splice op per\n * removal and one for the additions; otherwise the list is built on its next read.\n */\nexport class References extends Source {\n\treadonly #entries = new Map<Holder, Presence>();\n\t/** The list as last published or read; `undefined` once it changed while nobody watched it. */\n\t#list: readonly Presence[] | undefined;\n\t/** Entries added since `#list`, in order (only while it is defined). */\n\t#added: Presence[] = [];\n\t/** Entries of `#list` removed since. */\n\treadonly #removed = new Set<Presence>();\n\t/** The ops folding `#list` forward, for the current batch's frame. */\n\t#ops: Op[] = [];\n\n\tget value(): JsonValue {\n\t\tthis.#fold();\n\t\t// Entries are JSON: params, a principal and a string.\n\t\treturn this.#list as unknown as JsonValue;\n\t}\n\n\t/** `holder` references `object`, added in the batch running now or the next one. */\n\tadd(object: ChordObject, holder: Holder, context: Context): void {\n\t\tthis.batch.within(() => {\n\t\t\tconst entry = this.record(object, holder);\n\t\t\tif (this.#follows()) this.#added.push(entry);\n\t\t\tthis.changed();\n\t\t}, context);\n\t}\n\n\t/** `holders` of `object` ended, removed in one batch. */\n\tremove(holders: Iterable<Holder>, context: Context): void {\n\t\tthis.batch.within(() => {\n\t\t\tconst follows = this.#follows();\n\t\t\tfor (const holder of holders) {\n\t\t\t\tconst entry = this.#entries.get(holder);\n\t\t\t\tif (entry === undefined) continue;\n\t\t\t\tthis.#entries.delete(holder);\n\t\t\t\tif (!follows) continue;\n\t\t\t\tconst added = this.#added.indexOf(entry);\n\t\t\t\tif (added === -1) this.#removed.add(entry);\n\t\t\t\telse this.#added.splice(added, 1);\n\t\t\t}\n\t\t\tthis.changed();\n\t\t}, context);\n\t}\n\n\t/** Records `holder` without a batch (the list being made) and returns its entry. */\n\trecord(object: ChordObject, holder: Holder): Presence {\n\t\tconst { principal, incarnation } = holder.caller;\n\t\tconst entry: Presence = {\n\t\t\tparams: object.params,\n\t\t\t...(object.served.kind === \"remote\" && principal !== undefined ? { principal } : {}),\n\t\t\tincarnation,\n\t\t};\n\t\tthis.#entries.set(holder, entry);\n\t\treturn entry;\n\t}\n\n\tdeliver(context: Context): void {\n\t\tconst value = this.value;\n\t\tconst ops = this.#ops;\n\t\tthis.#ops = [];\n\t\t// Listed once per change: the batch's first delivery carries all of them.\n\t\tif (ops.length > 0) this.publish(value, ops, false, context);\n\t}\n\n\t/**\n\t * Whether a change is folded into the published list: while watched (a watch read the list first). Otherwise the\n\t * list is dropped and built on its next read.\n\t */\n\t#follows(): boolean {\n\t\tif (this.watched && this.#list !== undefined) return true;\n\t\tthis.#list = undefined;\n\t\treturn false;\n\t}\n\n\t/**\n\t * Folds the changes since `#list` into a new list, once: a removal is one splice op at its index, the additions one\n\t * splice op at the end. Builds the list from the entries when there is none.\n\t */\n\t#fold(): void {\n\t\tif (this.#list === undefined) {\n\t\t\tthis.#list = [...this.#entries.values()];\n\t\t\tthis.#added = [];\n\t\t\tthis.#removed.clear();\n\t\t\tthis.#ops = [];\n\t\t\treturn;\n\t\t}\n\t\tif (this.#added.length === 0 && this.#removed.size === 0) return;\n\t\tlet list = this.#list;\n\t\tif (this.#removed.size > 0) {\n\t\t\tconst kept: Presence[] = [];\n\t\t\tfor (const entry of list) {\n\t\t\t\tif (this.#removed.has(entry)) this.#ops.push([\"p\", [], kept.length, 1, []]);\n\t\t\t\telse kept.push(entry);\n\t\t\t}\n\t\t\tthis.#removed.clear();\n\t\t\tlist = kept;\n\t\t}\n\t\tif (this.#added.length > 0) {\n\t\t\tthis.#ops.push([\"p\", [], list.length, 0, this.#added as unknown as JsonValue[]]);\n\t\t\tlist = [...list, ...this.#added];\n\t\t\tthis.#added = [];\n\t\t}\n\t\tthis.#list = list;\n\t}\n}\n"]}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { type Context } from "../../context/index.ts";
|
|
2
|
-
import { NativeWatch } from "../../watch.ts";
|
|
3
|
-
import type { ChordError, FailureCause } from "../data/index.ts";
|
|
4
|
-
import { type Batch, NativeSource } from "../state/internal.ts";
|
|
5
|
-
/**
|
|
6
|
-
* Where a reference stands. `loading`: its object activates, retries or is parked on dependencies still under way, it
|
|
7
|
-
* waits for its host's publication or a parent link, or its link is down (the reference's coarser view of its object's
|
|
8
|
-
* waiting and activating); `failed`: its object failed and no attempt runs (`transient`: `retryAt` is when its backoff
|
|
9
|
-
* retries it; `broken`: no automatic retry), or nothing fits it or its object is parked on a failed dependency
|
|
10
|
-
* (`waiting`: an event wakes it, `retryAt` undefined); `live`: bound; `ended`: for good, with the error that says why
|
|
11
|
-
* (`released` without a reason: released by its holder; `released/ended`: its object ended; `released/closed`: its
|
|
12
|
-
* host closed; `forbidden/revoked`).
|
|
13
|
-
*/
|
|
14
|
-
export type RefState = {
|
|
15
|
-
readonly kind: "loading";
|
|
16
|
-
} | {
|
|
17
|
-
readonly kind: "live";
|
|
18
|
-
} | {
|
|
19
|
-
readonly kind: "failed";
|
|
20
|
-
readonly cause: FailureCause;
|
|
21
|
-
readonly retryAt: number | undefined;
|
|
22
|
-
} | {
|
|
23
|
-
readonly kind: "ended";
|
|
24
|
-
readonly error: ChordError;
|
|
25
|
-
};
|
|
26
|
-
/** A failed reference's state. */
|
|
27
|
-
export type Failed = Extract<RefState, {
|
|
28
|
-
readonly kind: "failed";
|
|
29
|
-
}>;
|
|
30
|
-
/** An ended reference's state. */
|
|
31
|
-
export type Ended = Extract<RefState, {
|
|
32
|
-
readonly kind: "ended";
|
|
33
|
-
}>;
|
|
34
|
-
/** The states without fields, one object each: a change of state is a new object (a native watch compares by identity). */
|
|
35
|
-
export declare const LOADING: RefState;
|
|
36
|
-
export declare const LIVE: RefState;
|
|
37
|
-
/**
|
|
38
|
-
* `ref.state`, a native source: its value is the reference's state, read through `read`; each watch gets every new
|
|
39
|
-
* state, in its own context (not one call per batch, as a followed source's), and ends `ended` when the reference is
|
|
40
|
-
* released (the end is the notification). Derives reading it are marked in a batch of its own when it changes.
|
|
41
|
-
*/
|
|
42
|
-
export declare class ReferenceState extends NativeSource<RefState> {
|
|
43
|
-
#private;
|
|
44
|
-
constructor(read: () => RefState, batch: Batch | undefined);
|
|
45
|
-
get value(): RefState;
|
|
46
|
-
/** Every state in order: a watch sees each step it went through. */
|
|
47
|
-
watch(context: Context): Promise<NativeWatch<RefState>>;
|
|
48
|
-
/** The reference's state may have changed: every watch gets it when it is another state, derives are marked. */
|
|
49
|
-
moved(): void;
|
|
50
|
-
/** The reference ended (`ended`, the reference's state): every watch ends `ended`, derives are marked a last time. */
|
|
51
|
-
released(ended: Ended): void;
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=ref-state.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ref-state.d.ts","sourceRoot":"","sources":["../../../src/next/host/ref-state.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,KAAK,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,MAAM,QAAQ,GACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC/F;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC;AAE1D,kCAAkC;AAClC,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC;AAEpE,kCAAkC;AAClC,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAElE,2HAA2H;AAC3H,eAAO,MAAM,OAAO,EAAE,QAA8B,CAAC;AAErD,eAAO,MAAM,IAAI,EAAE,QAA2B,CAAC;AAE/C;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,YAAY,CAAC,QAAQ,CAAC;;IAOzD,YAAY,IAAI,EAAE,MAAM,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,EAIzD;IAED,IAAI,KAAK,IAAI,QAAQ,CAEpB;IAED,oEAAoE;IAC9D,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAc5D;IAED,gHAAgH;IAChH,KAAK,IAAI,IAAI,CAMZ;IAED,sHAAsH;IACtH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAe3B;CASD"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
// The state of a reference (§7): loading, live, failed or ended; and `ref.state`, the native watchable that follows
|
|
2
|
-
// it.
|
|
3
|
-
import { BACKGROUND_CONTEXT } from "../../context/index.js";
|
|
4
|
-
import { NativeWatch } from "../../watch.js";
|
|
5
|
-
import { NativeSource } from "../state/internal.js";
|
|
6
|
-
/** The states without fields, one object each: a change of state is a new object (a native watch compares by identity). */
|
|
7
|
-
export const LOADING = { kind: "loading" };
|
|
8
|
-
export const LIVE = { kind: "live" };
|
|
9
|
-
/**
|
|
10
|
-
* `ref.state`, a native source: its value is the reference's state, read through `read`; each watch gets every new
|
|
11
|
-
* state, in its own context (not one call per batch, as a followed source's), and ends `ended` when the reference is
|
|
12
|
-
* released (the end is the notification). Derives reading it are marked in a batch of its own when it changes.
|
|
13
|
-
*/
|
|
14
|
-
export class ReferenceState extends NativeSource {
|
|
15
|
-
#read;
|
|
16
|
-
/** The watches with the contexts they were taken in, which their frames carry. */
|
|
17
|
-
#watches = new Map();
|
|
18
|
-
/** The state the watches have: a change is announced only when the state is another object. */
|
|
19
|
-
#last;
|
|
20
|
-
constructor(read, batch) {
|
|
21
|
-
super(batch);
|
|
22
|
-
this.#read = read;
|
|
23
|
-
this.#last = read();
|
|
24
|
-
}
|
|
25
|
-
get value() {
|
|
26
|
-
return this.#read();
|
|
27
|
-
}
|
|
28
|
-
/** Every state in order: a watch sees each step it went through. */
|
|
29
|
-
async watch(context) {
|
|
30
|
-
const state = this.#read();
|
|
31
|
-
const batch = this.batch;
|
|
32
|
-
// An ended reference has nothing more to announce, and keeps no host to report to.
|
|
33
|
-
if (batch === undefined || state.kind === "ended") {
|
|
34
|
-
const ended = new NativeWatch(state, IGNORE, IGNORE);
|
|
35
|
-
ended.end({ kind: "ended" });
|
|
36
|
-
return ended;
|
|
37
|
-
}
|
|
38
|
-
batch.assertOutside("watch");
|
|
39
|
-
const watch = new NativeWatch(state, () => this.#watches.delete(watch), batch.reportListener);
|
|
40
|
-
this.#watches.set(watch, context);
|
|
41
|
-
if (context.abortSignal !== undefined)
|
|
42
|
-
watch.observeAbort(context.abortSignal);
|
|
43
|
-
return watch;
|
|
44
|
-
}
|
|
45
|
-
/** The reference's state may have changed: every watch gets it when it is another state, derives are marked. */
|
|
46
|
-
moved() {
|
|
47
|
-
const state = this.#read();
|
|
48
|
-
if (state === this.#last)
|
|
49
|
-
return;
|
|
50
|
-
this.#last = state;
|
|
51
|
-
for (const [watch, context] of this.#watches)
|
|
52
|
-
watch.advance(state, context);
|
|
53
|
-
if (this.dependents.size > 0)
|
|
54
|
-
this.#mark();
|
|
55
|
-
}
|
|
56
|
-
/** The reference ended (`ended`, the reference's state): every watch ends `ended`, derives are marked a last time. */
|
|
57
|
-
released(ended) {
|
|
58
|
-
// An ended reference keeps nothing of its object: not the last failure's error, not the host.
|
|
59
|
-
this.#last = ended;
|
|
60
|
-
// Ending detaches, which deletes the current entry (safe while iterating) and runs no listener.
|
|
61
|
-
for (const watch of this.#watches.keys())
|
|
62
|
-
watch.end({ kind: "ended" });
|
|
63
|
-
const batch = this.batch;
|
|
64
|
-
if (batch === undefined || this.dependents.size === 0) {
|
|
65
|
-
this.end();
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
// Ended where the marks run: a release while a batch's flushes send marks in the next commit, after this.
|
|
69
|
-
batch.within(() => {
|
|
70
|
-
this.changed();
|
|
71
|
-
this.end();
|
|
72
|
-
}, BACKGROUND_CONTEXT);
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Marks the derives reading it, in the batch running now or one of its own (apart from `moved`: a closure there
|
|
76
|
-
* would allocate on every state change). A reference has no context of its own: the background context.
|
|
77
|
-
*/
|
|
78
|
-
#mark() {
|
|
79
|
-
this.batch?.within(() => this.changed(), BACKGROUND_CONTEXT);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
const IGNORE = () => { };
|
|
83
|
-
//# sourceMappingURL=ref-state.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ref-state.js","sourceRoot":"","sources":["../../../src/next/host/ref-state.ts"],"names":[],"mappings":"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","sourcesContent":["// The state of a reference (§7): loading, live, failed or ended; and `ref.state`, the native watchable that follows\n// it.\n\nimport { BACKGROUND_CONTEXT, type Context } from \"../../context/index.ts\";\nimport { NativeWatch } from \"../../watch.ts\";\nimport type { ChordError, FailureCause } from \"../data/index.ts\";\nimport { type Batch, NativeSource } from \"../state/internal.ts\";\n\n/**\n * Where a reference stands. `loading`: its object activates, retries or is parked on dependencies still under way, it\n * waits for its host's publication or a parent link, or its link is down (the reference's coarser view of its object's\n * waiting and activating); `failed`: its object failed and no attempt runs (`transient`: `retryAt` is when its backoff\n * retries it; `broken`: no automatic retry), or nothing fits it or its object is parked on a failed dependency\n * (`waiting`: an event wakes it, `retryAt` undefined); `live`: bound; `ended`: for good, with the error that says why\n * (`released` without a reason: released by its holder; `released/ended`: its object ended; `released/closed`: its\n * host closed; `forbidden/revoked`).\n */\nexport type RefState =\n\t| { readonly kind: \"loading\" }\n\t| { readonly kind: \"live\" }\n\t| { readonly kind: \"failed\"; readonly cause: FailureCause; readonly retryAt: number | undefined }\n\t| { readonly kind: \"ended\"; readonly error: ChordError };\n\n/** A failed reference's state. */\nexport type Failed = Extract<RefState, { readonly kind: \"failed\" }>;\n\n/** An ended reference's state. */\nexport type Ended = Extract<RefState, { readonly kind: \"ended\" }>;\n\n/** The states without fields, one object each: a change of state is a new object (a native watch compares by identity). */\nexport const LOADING: RefState = { kind: \"loading\" };\n\nexport const LIVE: RefState = { kind: \"live\" };\n\n/**\n * `ref.state`, a native source: its value is the reference's state, read through `read`; each watch gets every new\n * state, in its own context (not one call per batch, as a followed source's), and ends `ended` when the reference is\n * released (the end is the notification). Derives reading it are marked in a batch of its own when it changes.\n */\nexport class ReferenceState extends NativeSource<RefState> {\n\treadonly #read: () => RefState;\n\t/** The watches with the contexts they were taken in, which their frames carry. */\n\treadonly #watches = new Map<NativeWatch<RefState>, Context>();\n\t/** The state the watches have: a change is announced only when the state is another object. */\n\t#last: RefState;\n\n\tconstructor(read: () => RefState, batch: Batch | undefined) {\n\t\tsuper(batch);\n\t\tthis.#read = read;\n\t\tthis.#last = read();\n\t}\n\n\tget value(): RefState {\n\t\treturn this.#read();\n\t}\n\n\t/** Every state in order: a watch sees each step it went through. */\n\tasync watch(context: Context): Promise<NativeWatch<RefState>> {\n\t\tconst state = this.#read();\n\t\tconst batch = this.batch;\n\t\t// An ended reference has nothing more to announce, and keeps no host to report to.\n\t\tif (batch === undefined || state.kind === \"ended\") {\n\t\t\tconst ended = new NativeWatch<RefState>(state, IGNORE, IGNORE);\n\t\t\tended.end({ kind: \"ended\" });\n\t\t\treturn ended;\n\t\t}\n\t\tbatch.assertOutside(\"watch\");\n\t\tconst watch = new NativeWatch<RefState>(state, () => this.#watches.delete(watch), batch.reportListener);\n\t\tthis.#watches.set(watch, context);\n\t\tif (context.abortSignal !== undefined) watch.observeAbort(context.abortSignal);\n\t\treturn watch;\n\t}\n\n\t/** The reference's state may have changed: every watch gets it when it is another state, derives are marked. */\n\tmoved(): void {\n\t\tconst state = this.#read();\n\t\tif (state === this.#last) return;\n\t\tthis.#last = state;\n\t\tfor (const [watch, context] of this.#watches) watch.advance(state, context);\n\t\tif (this.dependents.size > 0) this.#mark();\n\t}\n\n\t/** The reference ended (`ended`, the reference's state): every watch ends `ended`, derives are marked a last time. */\n\treleased(ended: Ended): void {\n\t\t// An ended reference keeps nothing of its object: not the last failure's error, not the host.\n\t\tthis.#last = ended;\n\t\t// Ending detaches, which deletes the current entry (safe while iterating) and runs no listener.\n\t\tfor (const watch of this.#watches.keys()) watch.end({ kind: \"ended\" });\n\t\tconst batch = this.batch;\n\t\tif (batch === undefined || this.dependents.size === 0) {\n\t\t\tthis.end();\n\t\t\treturn;\n\t\t}\n\t\t// Ended where the marks run: a release while a batch's flushes send marks in the next commit, after this.\n\t\tbatch.within(() => {\n\t\t\tthis.changed();\n\t\t\tthis.end();\n\t\t}, BACKGROUND_CONTEXT);\n\t}\n\n\t/**\n\t * Marks the derives reading it, in the batch running now or one of its own (apart from `moved`: a closure there\n\t * would allocate on every state change). A reference has no context of its own: the background context.\n\t */\n\t#mark(): void {\n\t\tthis.batch?.within(() => this.changed(), BACKGROUND_CONTEXT);\n\t}\n}\n\nconst IGNORE = (): void => {};\n"]}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { type Context } from "../../context/index.ts";
|
|
2
|
-
import { ChordError } from "../data/index.ts";
|
|
3
|
-
import type { Batch } from "../state/internal.ts";
|
|
4
|
-
import type { PinnedKey } from "./attempt.ts";
|
|
5
|
-
import type { Target } from "./reference.ts";
|
|
6
|
-
/** What a reference's keys need of it. */
|
|
7
|
-
export interface KeyHolder {
|
|
8
|
-
readonly batch: Batch;
|
|
9
|
-
/** Its contract version: keys are mapped to it. */
|
|
10
|
-
readonly version: number;
|
|
11
|
-
/** The object it is bound to; `undefined` while unbound. */
|
|
12
|
-
target(): Target | undefined;
|
|
13
|
-
/** What a read throws while a key never had a value. */
|
|
14
|
-
none(): ChordError;
|
|
15
|
-
}
|
|
16
|
-
/** A reference's held keys; every instance pin below them released exactly once. */
|
|
17
|
-
export declare class ReferenceKeys {
|
|
18
|
-
#private;
|
|
19
|
-
constructor(holder: KeyHolder);
|
|
20
|
-
/**
|
|
21
|
-
* Holds `key` of keyed member `member`: its source once pinned and loaded on the live instance; `context` ends only
|
|
22
|
-
* this caller's wait. `release` (once) lets it go with its last holder.
|
|
23
|
-
*/
|
|
24
|
-
hold(member: string, key: string, context: Context): Promise<PinnedKey>;
|
|
25
|
-
/**
|
|
26
|
-
* Its reference's target changed, inside a batch: a key pins again on a new live instance (last value meanwhile);
|
|
27
|
-
* while the target is not live it follows the instance it is pinned on as long as the object does (a commit admitted
|
|
28
|
-
* there still shows), then keeps its last value (one `failed` call for a failure) and its pin goes.
|
|
29
|
-
*/
|
|
30
|
-
follow(context: Context): void;
|
|
31
|
-
/** Its reference left its object (`error`: why it waits), inside a batch: keys keep their last values, pins go. */
|
|
32
|
-
fail(error: ChordError, context: Context): void;
|
|
33
|
-
/** Its reference ended, inside a batch: every key ends with `error` and releases its pin. */
|
|
34
|
-
end(error: ChordError): void;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=reference-keys.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reference-keys.d.ts","sourceRoot":"","sources":["../../../src/next/host/reference-keys.ts"],"names":[],"mappings":"AAQA,OAAO,EAAwC,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C,0CAA0C;AAC1C,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC;IAC7B,wDAAwD;IACxD,IAAI,IAAI,UAAU,CAAC;CACnB;AAgBD,oFAAoF;AACpF,qBAAa,aAAa;;IAIzB,YAAY,MAAM,EAAE,SAAS,EAE5B;IAED;;;OAGG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAgB5E;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkB7B;IAED,mHAAmH;IACnH,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAO9C;IAED,6FAA6F;IAC7F,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAQ3B;CA8ED"}
|