@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value.js","sourceRoot":"","sources":["../../src/registries/value.ts"],"names":[],"mappings":"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","sourcesContent":["// Registry values (slice 8 §1 \"Reading\", S2, S3): a registry's composed value as the readers of one version see it, a\n// native source. The provider's version reads the composition itself; an older one reads it mapped back with\n// `accepts[old].value`, once per composition, kept only while someone reads or follows it; a version the provider\n// cannot serve fails `contract_mismatch`. Its readers (attempts that declared it) keep the mapping; its waiters\n// (attempts parked on it, a waiting `host.registry`) are woken at every change of whether it is usable, and of its\n// failure while it is not (dependency model §9); waited for while it is not, it is on the host's `UnboundClock`.\n\nimport { ChordError, isChordError } from \"../data/index.ts\";\nimport { asChordError } from \"../data/internal.ts\";\nimport { type Batch, FollowedSource, type NativeStart } from \"../state/internal.ts\";\nimport type { RegistryContribution } from \"./contribution.ts\";\nimport type { RegistryRecord } from \"./record.ts\";\n\n/** Who waits for a registry's value (a parked attempt, a `host.registry`): told when it may have changed. */\nexport interface RegistryWaiter {\n\t/** The value may have changed (inside its batch: it only records). */\n\tdependencyMoved(): void;\n\t/** The value closed with its host: the wait ends with `error` (`released/closed`). */\n\tclosed(error: ChordError): void;\n}\n\nconst USABLE = { kind: \"usable\" } as const;\n\n/** Whether two failures say the same: the same error, or ChordErrors alike (a version mismatch is made per read). */\nfunction sameError(a: unknown, b: unknown): boolean {\n\tif (a === b) return true;\n\treturn isChordError(a) && isChordError(b) && a.code === b.code && a.reason === b.reason && a.message === b.message;\n}\n\n/**\n * The last good mapping for an older version, the composition it was made from, and the contributions that composition\n * was built from (kept only while all are in the table, decision 5).\n */\ntype Mapped = {\n\treadonly from: unknown;\n\t/** The adapter it was made with: a reload's provider brings another, which maps again. */\n\treadonly map: (current: never) => unknown;\n\treadonly value: unknown;\n\treadonly contributions: readonly RegistryContribution[] | undefined;\n};\n\n/** A failed mapping of composition `from` by `map`, until another composition or adapter maps. */\ntype MapFailure = { readonly from: unknown; readonly map: (current: never) => unknown; readonly error: unknown };\n\n/**\n * Where a value's registry stands for it: on the host, or closed with the host (its last start kept, the record let\n * go, so a value an app keeps keeps no closed host).\n */\ntype Registered =\n\t| { readonly kind: \"open\"; readonly record: RegistryRecord }\n\t| { readonly kind: \"closed\"; readonly last: NativeStart<unknown> };\n\n/** One version's view of a registry's composed value. */\nexport class RegistryValueSource extends FollowedSource<unknown> {\n\treadonly name: string;\n\treadonly version: number;\n\t#registered: Registered;\n\t/** Its readers, each a token of its own (one object may read twice), until released. */\n\treadonly #readers = new Set<object>();\n\t/** Its waiters, each a token of its own, until released. */\n\treadonly #waiters = new Set<{ readonly waiter: RegistryWaiter }>();\n\t/**\n\t * What its waiters were last told: usable (a value, or a failure with a last good one), or the error it has none\n\t * for; a change wakes them.\n\t */\n\t#told: { readonly kind: \"usable\" } | { readonly kind: \"failed\"; readonly error: unknown } | undefined;\n\t#mapped: Mapped | undefined;\n\t#mapFailure: MapFailure | undefined;\n\n\tconstructor(record: RegistryRecord, version: number, batch: Batch) {\n\t\tsuper(batch);\n\t\tthis.name = record.name;\n\t\tthis.version = version;\n\t\tthis.#registered = { kind: \"open\", record };\n\t}\n\n\t/** The composition (or its mapping) at its last good value; throws the failure when there is none. */\n\tget value(): unknown {\n\t\tconst start = this.start();\n\t\tif (start.kind === \"value\") return start.value;\n\t\tif (start.last === undefined) throw start.error;\n\t\treturn start.last.value;\n\t}\n\n\t/**\n\t * Its composition (mapped for an older version), composed now if its table changed; a change of whether it is\n\t * usable, or of its failure while it is not, wakes its waiters.\n\t */\n\toverride start(): NativeStart<unknown> {\n\t\tconst registered = this.#registered;\n\t\tif (registered.kind === \"closed\") return registered.last;\n\t\tconst start = this.#start(registered.record);\n\t\tif (this.#waiters.size > 0) this.#tell(start, registered.record);\n\t\treturn start;\n\t}\n\n\t/** Its composition (or mapping) now; throws while it is failed, though `.value` keeps the last good one. */\n\toverride current(): unknown {\n\t\tconst start = this.start();\n\t\tif (start.kind === \"failed\") throw start.error;\n\t\treturn start.value;\n\t}\n\n\t/** Followed while someone watches or observes it, and while waiters wait on it. */\n\toverride get watched(): boolean {\n\t\treturn super.watched || this.#waiters.size > 0;\n\t}\n\n\t/** Registers a reader (an attempt that declared it) until the returned release: its mapping is kept meanwhile. */\n\tread(): () => void {\n\t\tconst token = {};\n\t\tthis.#readers.add(token);\n\t\treturn () => {\n\t\t\tthis.#readers.delete(token);\n\t\t\tif (this.#readers.size === 0 && !super.watched) this.#dropMapping();\n\t\t};\n\t}\n\n\t/**\n\t * Registers `waiter` (a parked attempt's object, a waiting `host.registry`) until the returned release: it is told\n\t * of every change of whether this value is usable (inside the batch that made it: it only records).\n\t */\n\twait(waiter: RegistryWaiter): () => void {\n\t\tconst token = { waiter };\n\t\tif (this.#waiters.size === 0) this.#told = undefined;\n\t\tthis.#waiters.add(token);\n\t\treturn () => {\n\t\t\tthis.#waiters.delete(token);\n\t\t\tif (this.#waiters.size > 0) return;\n\t\t\tthis.#told = undefined;\n\t\t\tconst registered = this.#registered;\n\t\t\tif (registered.kind === \"open\") registered.record.clock.stop(this);\n\t\t};\n\t}\n\n\t/** The registry's table changed (inside a batch): its dependents are marked, its followers get the next frame. */\n\trecomposed(): void {\n\t\tthis.changed();\n\t}\n\n\t/**\n\t * The registry's table changed again while not composed since (inside a batch): its dependents are marked already\n\t * (none read it meanwhile, or it would be composed); its followers get the next frame. Marking stops here, so a\n\t * cycle of registries through their values ends.\n\t */\n\trelisted(): void {\n\t\tthis.list();\n\t}\n\n\t/** The host closed: its watches and observers end, its readers and mapping go; it keeps its last start only. */\n\tclose(): void {\n\t\tconst registered = this.#registered;\n\t\tlet last: NativeStart<unknown>;\n\t\ttry {\n\t\t\tlast = this.start();\n\t\t} catch (error) {\n\t\t\tlast = { kind: \"failed\", error, last: undefined };\n\t\t}\n\t\t// After the last start, which a waiter put on the clock again.\n\t\tif (registered.kind === \"open\") registered.record.clock.stop(this);\n\t\tthis.#registered = { kind: \"closed\", last };\n\t\tthis.#readers.clear();\n\t\tconst waiters = [...this.#waiters];\n\t\tthis.#waiters.clear();\n\t\tconst error = new ChordError({ code: \"released\", reason: \"closed\", message: `registry ${this.name}: closed` });\n\t\tfor (const { waiter } of waiters) waiter.closed(error);\n\t\tthis.#told = undefined;\n\t\tthis.#dropMapping();\n\t\tthis.end();\n\t}\n\n\t/** Nobody follows it: without readers, its mapping goes (computed again on the next read). */\n\tprotected override unfollowed(): void {\n\t\tif (this.#readers.size === 0) this.#dropMapping();\n\t}\n\n\t/**\n\t * Wakes the waiters when `start` says something else than they were told (by usability, then by the error); while\n\t * it is not usable, the wait is on its host's clock (`record.clock`).\n\t */\n\t#tell(start: NativeStart<unknown>, record: RegistryRecord): void {\n\t\tconst told = this.#told;\n\t\tif (start.kind === \"value\" || start.last !== undefined) {\n\t\t\tif (told?.kind === \"usable\") return;\n\t\t\tthis.#told = USABLE;\n\t\t\trecord.clock.stop(this);\n\t\t} else {\n\t\t\tif (told?.kind === \"failed\" && sameError(told.error, start.error)) return;\n\t\t\tthis.#told = { kind: \"failed\", error: start.error };\n\t\t\tconst label = `registry ${this.name}`;\n\t\t\tconst error = asChordError(start.error, label);\n\t\t\tif (told?.kind === \"failed\") record.clock.failed(this, error);\n\t\t\telse record.clock.start(this, label, error);\n\t\t}\n\t\t// The first start of a wait wakes nobody: the waiter reads it itself.\n\t\tif (told === undefined) return;\n\t\tfor (const { waiter } of this.#waiters) waiter.dependencyMoved();\n\t}\n\n\t#dropMapping(): void {\n\t\tthis.#mapped = undefined;\n\t\tthis.#mapFailure = undefined;\n\t}\n\n\t#start(record: RegistryRecord): NativeStart<unknown> {\n\t\tconst provided = record.providedVersion;\n\t\tif (provided === undefined || provided === this.version) return record.start();\n\t\tconst map = provided > this.version ? record.valueAdapter(this.version) : undefined;\n\t\tif (map === undefined) {\n\t\t\tconst message = `registry ${this.name}: version ${this.version} is not served here (version ${provided} is)`;\n\t\t\treturn { kind: \"failed\", error: new ChordError({ code: \"contract_mismatch\", message }), last: undefined };\n\t\t}\n\t\treturn this.#mappedStart(record, record.start(), map);\n\t}\n\n\t/**\n\t * The composition `current` mapped back with `map`, once per composition; a throwing mapping fails this version\n\t * only (reported once per episode), keeping its last good mapping; a composition mapped before heals it.\n\t */\n\t#mappedStart(\n\t\trecord: RegistryRecord,\n\t\tcurrent: NativeStart<unknown>,\n\t\tmap: (current: never) => unknown,\n\t): NativeStart<unknown> {\n\t\tif (current.kind === \"failed\" && current.last === undefined) return current;\n\t\tconst from = current.kind === \"value\" ? current.value : current.last!.value;\n\t\t// `undefined` is a composition too: the records, not their fields, say whether there is one.\n\t\t// A mapping built from a contribution that left is no last good value any more (decision 5).\n\t\tif (this.#mapped?.contributions !== undefined && !record.inTable(this.#mapped.contributions)) {\n\t\t\tthis.#mapped = undefined;\n\t\t}\n\t\tconst mapped = this.#mapped;\n\t\tconst failure = this.#mapFailure;\n\t\tif (mapped !== undefined && mapped.from === from && mapped.map === map) {\n\t\t\tthis.#mapFailure = undefined;\n\t\t} else if (failure === undefined || failure.from !== from || failure.map !== map) {\n\t\t\ttry {\n\t\t\t\tconst value = record.adapt(() => map(from as never));\n\t\t\t\tthis.#mapped = { from, map, value, contributions: record.composedFrom };\n\t\t\t\tthis.#mapFailure = undefined;\n\t\t\t} catch (error) {\n\t\t\t\tif (failure === undefined) record.failed(error);\n\t\t\t\tthis.#mapFailure = { from, map, error };\n\t\t\t}\n\t\t}\n\t\tconst last = this.#mapped === undefined ? undefined : { value: this.#mapped.value };\n\t\tif (this.#mapFailure !== undefined) return { kind: \"failed\", error: this.#mapFailure.error, last };\n\t\tif (current.kind === \"failed\") return { kind: \"failed\", error: current.error, last };\n\t\treturn { kind: \"value\", value: last!.value };\n\t}\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../src/remote/calls.ts"],"names":[],"mappings":"AAGA,gGAAgG;AAChG,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAE9E;;;GAGG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;;IAKxD,4GAA4G;IAC5G,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAOpB;IAED,wEAAwE;IACxE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAG1B;IAED,uGAAuG;IACvG,KAAK,IAAI,IAAI,CAGZ;IAED,oGAAoG;IACpG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAEpB;IAED,kGAAkG;IAClG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,CAQ5B;IAED,uEAAuE;IACvE,KAAK,IAAI,CAAC,EAAE,CAIX;CAWD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calls.js","sourceRoot":"","sources":["../../src/remote/calls.ts"],"names":[],"mappings":"AAAA,sHAAsH;AACtH,kGAAkG;AAKlG;;;GAGG;AACH,MAAM,OAAO,UAAU;IACtB,MAAM,GAAG,CAAC,CAAC;IACX,SAAS,GAAG,CAAC,CAAC;IACL,QAAQ,GAAG,IAAI,GAAG,EAAK,CAAC;IAEjC,4GAA4G;IAC5G,MAAM,CAAC,IAAO;QACb,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9D,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO;QACR,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,wEAAwE;IACxE,MAAM,CAAC,KAAa;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAED,uGAAuG;IACvG,KAAK;QACJ,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAED,oGAAoG;IACpG,MAAM,CAAC,IAAO;QACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,kGAAkG;IAClG,UAAU,CAAC,IAAY;QACtB,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;gBAAE,SAAS;YACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,uEAAuE;IACvE,KAAK;QACJ,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,yDAAyD;IACzD,MAAM;QACL,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO;YAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,EAAE,CAAC;QACb,CAAC;IACF,CAAC;CACD","sourcesContent":["// The call window (§3, decision log \"Flow control: an ack-clocked window\"): at most the peer's N calls in flight on a\n// link from this host; further calls wait in one FIFO queue, sent in order as replies free slots.\n\n/** A call waiting for a slot: its hold (a rebind or release takes it out) and what sends it. */\nexport type QueuedCall = { readonly hold: number; readonly send: () => void };\n\n/**\n * The calls of one link's consumer side. `limit` is the peer's N from its `hello` (0 before it, so every call waits).\n * A relay forwards its downstream calls at once, so only this host's own calls are counted here.\n */\nexport class CallWindow<C extends QueuedCall = QueuedCall> {\n\t#limit = 0;\n\t#inFlight = 0;\n\treadonly #waiting = new Set<C>();\n\n\t/** Sends `call` now when a slot is free and nothing waits, otherwise queues it behind the earlier calls. */\n\tsubmit(call: C): void {\n\t\tif (this.#waiting.size === 0 && this.#inFlight < this.#limit) {\n\t\t\tthis.#inFlight++;\n\t\t\tcall.send();\n\t\t\treturn;\n\t\t}\n\t\tthis.#waiting.add(call);\n\t}\n\n\t/** The peer's window arrived with its `hello`: waiting calls go out. */\n\topened(limit: number): void {\n\t\tthis.#limit = limit;\n\t\tthis.#drain();\n\t}\n\n\t/** A call in flight ended (its reply, its abort sent, its hold released or gone): its slot is free. */\n\tfreed(): void {\n\t\tthis.#inFlight--;\n\t\tthis.#drain();\n\t}\n\n\t/** Takes a waiting call out (its caller cancelled); nothing happens for one that is not waiting. */\n\tremove(call: C): void {\n\t\tthis.#waiting.delete(call);\n\t}\n\n\t/** Takes every waiting call of `hold` out and returns them (its hold rebinds or was released). */\n\tremoveHold(hold: number): C[] {\n\t\tconst removed: C[] = [];\n\t\tfor (const call of this.#waiting) {\n\t\t\tif (call.hold !== hold) continue;\n\t\t\tthis.#waiting.delete(call);\n\t\t\tremoved.push(call);\n\t\t}\n\t\treturn removed;\n\t}\n\n\t/** Takes every waiting call out and returns them (the link closed). */\n\tclear(): C[] {\n\t\tconst removed = [...this.#waiting];\n\t\tthis.#waiting.clear();\n\t\treturn removed;\n\t}\n\n\t/** Sends waiting calls in order while slots are free. */\n\t#drain(): void {\n\t\tfor (const call of this.#waiting) {\n\t\t\tif (this.#inFlight >= this.#limit) return;\n\t\t\tthis.#waiting.delete(call);\n\t\t\tthis.#inFlight++;\n\t\t\tcall.send();\n\t\t}\n\t}\n}\n"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { TelemetryCarrier } from "@earendil-works/pi-telemetry";
|
|
2
|
+
import type { Context } from "../context/index.ts";
|
|
3
|
+
import { type MethodData } from "../contracts/internal.ts";
|
|
4
|
+
import { ChordError } from "../data/index.ts";
|
|
5
|
+
import { type ConsumerMessage } from "../link/internal.ts";
|
|
6
|
+
import type { HostLink } from "./host-link.ts";
|
|
7
|
+
import type { RemoteObject } from "./remote-object.ts";
|
|
8
|
+
/**
|
|
9
|
+
* The consumer side of one link. Ids are its own counters, from 0; a reply naming an id this side gave up is ignored
|
|
10
|
+
* (Q1). When the link closes, every call rejects `unavailable` (never resent) and its path tells every holder.
|
|
11
|
+
*/
|
|
12
|
+
export declare class ConsumerSide {
|
|
13
|
+
#private;
|
|
14
|
+
constructor(link: HostLink);
|
|
15
|
+
/**
|
|
16
|
+
* Holds `holder` on this link and returns its new id: its first hold, or a re-hold on a new link; `chain`: the
|
|
17
|
+
* activation chain it is held for, if any (Q5); `trace`: this hold's carrier, if any.
|
|
18
|
+
*/
|
|
19
|
+
attach(holder: RemoteObject, chain: string[] | undefined, trace: TelemetryCarrier | undefined): number;
|
|
20
|
+
/**
|
|
21
|
+
* Calls method `method` (an index into the bound variant) on hold `hold` with `args`: left out for a method without
|
|
22
|
+
* arguments, with byte segments when its argument schema has a `bytes()` leaf, deflated above the threshold except on
|
|
23
|
+
* the parent link; with the carrier of `context`'s span when its adapter propagates. The result is parsed here. The
|
|
24
|
+
* caller's cancellation rejects it at once and sends `abort` when it is in flight.
|
|
25
|
+
*/
|
|
26
|
+
call(hold: number, method: number, data: MethodData, args: unknown, context: Context): Promise<unknown>;
|
|
27
|
+
/** Hold `hold` was released: the provider is told, its calls fail with `error`. */
|
|
28
|
+
release(hold: number, error: ChordError): void;
|
|
29
|
+
/** `ref.retry()` on a failed hold, with `hops` left of its budget: the provider is asked for an attempt now. */
|
|
30
|
+
retry(hold: number, hops: number): void;
|
|
31
|
+
/** Drops hold `hold` from the tables; its calls, in flight and waiting, fail with `error` and free their slots. */
|
|
32
|
+
forget(hold: number, error: ChordError): void;
|
|
33
|
+
/** The peer's `hello` arrived: calls go out within its window. */
|
|
34
|
+
opened(calls: number): void;
|
|
35
|
+
/**
|
|
36
|
+
* Handles one message from the provider: this host's own, or (with an origin) one for a relayed hold. A `bound`,
|
|
37
|
+
* `state` or `result` with deflated parts to inflate asynchronously returns that promise and is handled after it.
|
|
38
|
+
*/
|
|
39
|
+
message(message: ConsumerMessage): void | Promise<void>;
|
|
40
|
+
/** The link closed: calls in flight and waiting reject `unavailable` (never resent, §7); the tables are dropped. */
|
|
41
|
+
closed(): void;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=consumer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../../src/remote/consumer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,UAAU,EAAgB,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAEN,KAAK,eAAe,EAQpB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAyBvD;;;GAGG;AACH,qBAAa,YAAY;;IAQxB,YAAY,IAAI,EAAE,QAAQ,EAEzB;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAarG;IAED;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAoCtG;IAED,mFAAmF;IACnF,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAG7C;IAED,gHAAgH;IAChH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAEtC;IAED,mHAAmH;IACnH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAG5C;IAED,kEAAkE;IAClE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE1B;IAED;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BtD;IAED,oHAAoH;IACpH,MAAM,IAAI,IAAI,CAMb;CA0LD"}
|
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
// The consumer side of a link (§7, §22, W1): the holds this host's own remote references sent on it, by this side's
|
|
2
|
+
// ids, the calls through them within the peer's call window, and each `bound` and `state` message applied to their
|
|
3
|
+
// replicas as one batch, then acknowledged. Messages with an origin answer holds this host relays: they go to that
|
|
4
|
+
// origin's provider side. On a host without a compressor, the deflated parts of this host's own holds and calls are
|
|
5
|
+
// inflated asynchronously first, and the message is handled once they are.
|
|
6
|
+
import { takesNoArgs } from "../contracts/internal.js";
|
|
7
|
+
import { ChordError, isChordError } from "../data/index.js";
|
|
8
|
+
import { asChordError } from "../data/internal.js";
|
|
9
|
+
import { errorFromWire, parsePayload, payloadPart, } from "../link/internal.js";
|
|
10
|
+
import { carrierOf } from "../telemetry.js";
|
|
11
|
+
import { CallWindow } from "./calls.js";
|
|
12
|
+
import { actingFor } from "./hold.js";
|
|
13
|
+
/**
|
|
14
|
+
* The consumer side of one link. Ids are its own counters, from 0; a reply naming an id this side gave up is ignored
|
|
15
|
+
* (Q1). When the link closes, every call rejects `unavailable` (never resent) and its path tells every holder.
|
|
16
|
+
*/
|
|
17
|
+
export class ConsumerSide {
|
|
18
|
+
#link;
|
|
19
|
+
#entries = new Map();
|
|
20
|
+
#calls = new Map();
|
|
21
|
+
#window = new CallWindow();
|
|
22
|
+
#nextHold = 0;
|
|
23
|
+
#nextCall = 0;
|
|
24
|
+
constructor(link) {
|
|
25
|
+
this.#link = link;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Holds `holder` on this link and returns its new id: its first hold, or a re-hold on a new link; `chain`: the
|
|
29
|
+
* activation chain it is held for, if any (Q5); `trace`: this hold's carrier, if any.
|
|
30
|
+
*/
|
|
31
|
+
attach(holder, chain, trace) {
|
|
32
|
+
const id = this.#nextHold++;
|
|
33
|
+
this.#entries.set(id, holder);
|
|
34
|
+
const acting = actingFor(this.#link, holder.caller);
|
|
35
|
+
this.#link.send({
|
|
36
|
+
kind: "hold",
|
|
37
|
+
hold: id,
|
|
38
|
+
...holder.request,
|
|
39
|
+
...acting,
|
|
40
|
+
...(chain === undefined ? {} : { chain }),
|
|
41
|
+
...(trace === undefined ? {} : { trace }),
|
|
42
|
+
});
|
|
43
|
+
return id;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Calls method `method` (an index into the bound variant) on hold `hold` with `args`: left out for a method without
|
|
47
|
+
* arguments, with byte segments when its argument schema has a `bytes()` leaf, deflated above the threshold except on
|
|
48
|
+
* the parent link; with the carrier of `context`'s span when its adapter propagates. The result is parsed here. The
|
|
49
|
+
* caller's cancellation rejects it at once and sends `abort` when it is in flight.
|
|
50
|
+
*/
|
|
51
|
+
call(hold, method, data, args, context) {
|
|
52
|
+
const signal = context.abortSignal;
|
|
53
|
+
signal?.throwIfAborted();
|
|
54
|
+
const payload = takesNoArgs(data) ? undefined : payloadPart(args, data.args.bytes);
|
|
55
|
+
// Up a parent link they travel uncompressed: the parent may have accepted this host as a child, and child links
|
|
56
|
+
// refuse compressed parts (§22).
|
|
57
|
+
const link = this.#link;
|
|
58
|
+
const part = payload === undefined ? undefined : link.role === "parent" ? payload.json : link.part(payload.json, context);
|
|
59
|
+
const { promise, resolve, reject } = Promise.withResolvers();
|
|
60
|
+
const cancel = () => {
|
|
61
|
+
this.#cancel(call);
|
|
62
|
+
reject(signal.reason);
|
|
63
|
+
};
|
|
64
|
+
const done = () => signal?.removeEventListener("abort", cancel);
|
|
65
|
+
const call = {
|
|
66
|
+
hold,
|
|
67
|
+
method,
|
|
68
|
+
args: part,
|
|
69
|
+
segments: payload?.segments,
|
|
70
|
+
trace: carrierOf(context.telemetry),
|
|
71
|
+
old: link.host.oldWork.of(context),
|
|
72
|
+
resolve: (value) => {
|
|
73
|
+
done();
|
|
74
|
+
resolve(value);
|
|
75
|
+
},
|
|
76
|
+
reject: (error) => {
|
|
77
|
+
done();
|
|
78
|
+
reject(error);
|
|
79
|
+
},
|
|
80
|
+
id: undefined,
|
|
81
|
+
send: () => this.#send(call),
|
|
82
|
+
};
|
|
83
|
+
signal?.addEventListener("abort", cancel, { once: true });
|
|
84
|
+
this.#window.submit(call);
|
|
85
|
+
return promise;
|
|
86
|
+
}
|
|
87
|
+
/** Hold `hold` was released: the provider is told, its calls fail with `error`. */
|
|
88
|
+
release(hold, error) {
|
|
89
|
+
this.#link.send({ kind: "release", hold });
|
|
90
|
+
this.forget(hold, error);
|
|
91
|
+
}
|
|
92
|
+
/** `ref.retry()` on a failed hold, with `hops` left of its budget: the provider is asked for an attempt now. */
|
|
93
|
+
retry(hold, hops) {
|
|
94
|
+
this.#link.send({ kind: "retry", hold, hops });
|
|
95
|
+
}
|
|
96
|
+
/** Drops hold `hold` from the tables; its calls, in flight and waiting, fail with `error` and free their slots. */
|
|
97
|
+
forget(hold, error) {
|
|
98
|
+
this.#entries.delete(hold);
|
|
99
|
+
this.#failCalls(hold, error);
|
|
100
|
+
}
|
|
101
|
+
/** The peer's `hello` arrived: calls go out within its window. */
|
|
102
|
+
opened(calls) {
|
|
103
|
+
this.#window.opened(calls);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Handles one message from the provider: this host's own, or (with an origin) one for a relayed hold. A `bound`,
|
|
107
|
+
* `state` or `result` with deflated parts to inflate asynchronously returns that promise and is handled after it.
|
|
108
|
+
*/
|
|
109
|
+
message(message) {
|
|
110
|
+
if (message.origin !== undefined) {
|
|
111
|
+
this.#link.host.relays.get(message.origin)?.forward(message, this.#link);
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
switch (message.kind) {
|
|
115
|
+
case "bound":
|
|
116
|
+
case "state": {
|
|
117
|
+
const deflated = this.#deflated(message.holds);
|
|
118
|
+
if (deflated !== undefined)
|
|
119
|
+
return this.#link.inflate(deflated, () => this.message(message));
|
|
120
|
+
if (message.kind === "bound")
|
|
121
|
+
this.#bound(message.holds);
|
|
122
|
+
else
|
|
123
|
+
this.#state(message.holds);
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
case "failed":
|
|
127
|
+
this.#failed(message);
|
|
128
|
+
break;
|
|
129
|
+
case "loading":
|
|
130
|
+
this.#loading(message.hold);
|
|
131
|
+
break;
|
|
132
|
+
case "result":
|
|
133
|
+
case "error":
|
|
134
|
+
return this.#reply(message);
|
|
135
|
+
case "gone":
|
|
136
|
+
this.#gone(message);
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/** The link closed: calls in flight and waiting reject `unavailable` (never resent, §7); the tables are dropped. */
|
|
141
|
+
closed() {
|
|
142
|
+
const error = new ChordError({ code: "unavailable", message: "the link closed" });
|
|
143
|
+
const calls = [...this.#calls.values(), ...this.#window.clear()];
|
|
144
|
+
this.#calls.clear();
|
|
145
|
+
this.#entries.clear();
|
|
146
|
+
for (const call of calls)
|
|
147
|
+
call.reject(error);
|
|
148
|
+
}
|
|
149
|
+
/** Sends a call that got its slot, with the next id. */
|
|
150
|
+
#send(call) {
|
|
151
|
+
const id = this.#nextCall++;
|
|
152
|
+
call.id = id;
|
|
153
|
+
this.#calls.set(id, call);
|
|
154
|
+
const { hold, method, args, segments, trace } = call;
|
|
155
|
+
this.#link.send({
|
|
156
|
+
kind: "call",
|
|
157
|
+
call: id,
|
|
158
|
+
hold,
|
|
159
|
+
method,
|
|
160
|
+
...(args === undefined ? {} : { args }),
|
|
161
|
+
...(segments === undefined ? {} : { segments }),
|
|
162
|
+
trace,
|
|
163
|
+
...(call.old ? { old: true } : {}),
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Cancels `call`: a waiting one leaves the window and nothing is sent; one in flight sends `abort` and frees its
|
|
168
|
+
* slot. Settling the caller is the caller's.
|
|
169
|
+
*/
|
|
170
|
+
#cancel(call) {
|
|
171
|
+
if (call.id === undefined) {
|
|
172
|
+
this.#window.remove(call);
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
if (!this.#calls.delete(call.id))
|
|
176
|
+
return;
|
|
177
|
+
this.#link.send({ kind: "abort", call: call.id });
|
|
178
|
+
this.#window.freed();
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* The deflated parts of this side's own holds in `entries` that wait for an asynchronous inflate, each with the
|
|
182
|
+
* link's decoded limit; `undefined` when none does (nothing allocated). Entries of holds this side gave up are not
|
|
183
|
+
* inflated (Q1).
|
|
184
|
+
*/
|
|
185
|
+
#deflated(entries) {
|
|
186
|
+
const { limits } = this.#link;
|
|
187
|
+
let deflated;
|
|
188
|
+
for (const entry of entries) {
|
|
189
|
+
if (!this.#entries.has(entry.hold))
|
|
190
|
+
continue;
|
|
191
|
+
for (const member of entry.members) {
|
|
192
|
+
const part = "value" in member ? member.value : member.ops;
|
|
193
|
+
if (!this.#link.inflates(part, limits))
|
|
194
|
+
continue;
|
|
195
|
+
deflated ??= [];
|
|
196
|
+
deflated.push([part, limits.decoded]);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return deflated;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* One `bound` message: every entry prepared first (one that does not fit closes the link before anything changed)
|
|
203
|
+
* and applied in one batch; then the references go live, and the message is acknowledged. An entry with a part past
|
|
204
|
+
* the link's limits fails only its hold (`too_large/part`); the others apply.
|
|
205
|
+
*/
|
|
206
|
+
#bound(holds) {
|
|
207
|
+
const adoptions = [];
|
|
208
|
+
const bound = [];
|
|
209
|
+
let oversized;
|
|
210
|
+
for (const entry of holds) {
|
|
211
|
+
const holder = this.#entries.get(entry.hold);
|
|
212
|
+
if (holder === undefined)
|
|
213
|
+
continue;
|
|
214
|
+
try {
|
|
215
|
+
adoptions.push(holder.prepareBound(entry, this.#link));
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
if (!isChordError(error, "too_large"))
|
|
219
|
+
throw error;
|
|
220
|
+
oversized ??= [];
|
|
221
|
+
oversized.push([holder, error]);
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
224
|
+
bound.push(holder);
|
|
225
|
+
}
|
|
226
|
+
this.#adopt(adoptions);
|
|
227
|
+
// After the batch: the references go live with every replica of the message in place.
|
|
228
|
+
for (const holder of bound)
|
|
229
|
+
holder.wentLive();
|
|
230
|
+
for (const [holder, error] of oversized ?? [])
|
|
231
|
+
holder.tooLarge(error);
|
|
232
|
+
this.#link.send({ kind: "ack" });
|
|
233
|
+
}
|
|
234
|
+
/** One `state` message, as `#bound` does it. */
|
|
235
|
+
#state(holds) {
|
|
236
|
+
const adoptions = [];
|
|
237
|
+
let oversized;
|
|
238
|
+
for (const entry of holds) {
|
|
239
|
+
const holder = this.#entries.get(entry.hold);
|
|
240
|
+
if (holder === undefined)
|
|
241
|
+
continue;
|
|
242
|
+
try {
|
|
243
|
+
adoptions.push(holder.prepare(entry, this.#link));
|
|
244
|
+
}
|
|
245
|
+
catch (error) {
|
|
246
|
+
if (!isChordError(error, "too_large"))
|
|
247
|
+
throw error;
|
|
248
|
+
oversized ??= [];
|
|
249
|
+
oversized.push([holder, error]);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
this.#adopt(adoptions);
|
|
253
|
+
for (const [holder, error] of oversized ?? [])
|
|
254
|
+
holder.tooLarge(error);
|
|
255
|
+
this.#link.send({ kind: "ack" });
|
|
256
|
+
}
|
|
257
|
+
/** Applies prepared entries in one batch of this host, so no watch or derive sees half a provider commit (W1). */
|
|
258
|
+
#adopt(adoptions) {
|
|
259
|
+
if (adoptions.length === 0)
|
|
260
|
+
return;
|
|
261
|
+
this.#link.host.batch.commit(() => {
|
|
262
|
+
for (const adopt of adoptions)
|
|
263
|
+
adopt();
|
|
264
|
+
}, this.#link.context);
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* `loading`: the hold's object, or its relay's upstream, starts over; its calls still waiting for a slot reject
|
|
268
|
+
* `unavailable` (they may name a method of the old variant), its calls in flight wait for their reply (a provider's
|
|
269
|
+
* `loading` keeps them; a relay's upstream drop answered them before).
|
|
270
|
+
*/
|
|
271
|
+
#loading(hold) {
|
|
272
|
+
const holder = this.#entries.get(hold);
|
|
273
|
+
if (holder === undefined)
|
|
274
|
+
return;
|
|
275
|
+
const error = new ChordError({ code: "unavailable", message: `hold ${hold}: rebinding` });
|
|
276
|
+
for (const call of this.#window.removeHold(hold))
|
|
277
|
+
call.reject(error);
|
|
278
|
+
holder.loading();
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* `failed`: its holder fails; its calls still waiting for a slot reject with the cause (a bound hold is unbound by it,
|
|
282
|
+
* slice 7b; its calls in flight are rejected by the provider).
|
|
283
|
+
*/
|
|
284
|
+
#failed(message) {
|
|
285
|
+
const holder = this.#entries.get(message.hold);
|
|
286
|
+
if (holder === undefined)
|
|
287
|
+
return;
|
|
288
|
+
const error = asChordError(errorFromWire(message.cause.error), `hold ${message.hold}`);
|
|
289
|
+
for (const call of this.#window.removeHold(message.hold))
|
|
290
|
+
call.reject(error);
|
|
291
|
+
holder.failed(message);
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* `gone`: one for a hold this side gave up is ignored (Q1); the holder ends, which forgets its hold here and fails
|
|
295
|
+
* its calls.
|
|
296
|
+
*/
|
|
297
|
+
#gone(message) {
|
|
298
|
+
const holder = this.#entries.get(message.hold);
|
|
299
|
+
if (holder === undefined)
|
|
300
|
+
return;
|
|
301
|
+
holder.lost(asChordError(errorFromWire(message.error), `hold ${message.hold}`));
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* A reply: its call settles with the parsed result or the error. A result past the link's limits rejects the call
|
|
305
|
+
* `too_large/part`. A malformed part rejects the call `unavailable` and throws (a protocol error: the link closes).
|
|
306
|
+
* A result to inflate asynchronously is inflated first (for a call still waiting), then handled again.
|
|
307
|
+
*/
|
|
308
|
+
#reply(reply) {
|
|
309
|
+
const call = this.#calls.get(reply.call);
|
|
310
|
+
if (call === undefined)
|
|
311
|
+
return;
|
|
312
|
+
const link = this.#link;
|
|
313
|
+
if (reply.kind === "result" && link.inflates(reply.value, link.limits)) {
|
|
314
|
+
return link.inflate([[reply.value, link.limits.decoded]], () => this.#reply(reply));
|
|
315
|
+
}
|
|
316
|
+
this.#calls.delete(reply.call);
|
|
317
|
+
this.#window.freed();
|
|
318
|
+
try {
|
|
319
|
+
if (reply.kind === "error")
|
|
320
|
+
call.reject(errorFromWire(reply.error));
|
|
321
|
+
else if (reply.value === undefined)
|
|
322
|
+
call.resolve(null);
|
|
323
|
+
else
|
|
324
|
+
call.resolve(parsePayload(link.openPart(reply.value, link.limits, link.context), reply.segments));
|
|
325
|
+
}
|
|
326
|
+
catch (error) {
|
|
327
|
+
if (isChordError(error, "too_large")) {
|
|
328
|
+
call.reject(error);
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
call.reject(new ChordError({ code: "unavailable", message: `call ${reply.call}: a malformed reply` }));
|
|
332
|
+
throw error;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
/** Fails `hold`'s calls in flight and waiting with `error`; each in-flight one frees its slot. */
|
|
336
|
+
#failCalls(hold, error) {
|
|
337
|
+
// Waiting ones first: a freed slot must not send one of them.
|
|
338
|
+
const failed = this.#window.removeHold(hold);
|
|
339
|
+
for (const [id, call] of this.#calls) {
|
|
340
|
+
if (call.hold !== hold)
|
|
341
|
+
continue;
|
|
342
|
+
this.#calls.delete(id);
|
|
343
|
+
this.#window.freed();
|
|
344
|
+
failed.push(call);
|
|
345
|
+
}
|
|
346
|
+
for (const call of failed)
|
|
347
|
+
call.reject(error);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
//# sourceMappingURL=consumer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consumer.js","sourceRoot":"","sources":["../../src/remote/consumer.ts"],"names":[],"mappings":"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","sourcesContent":["// The consumer side of a link (§7, §22, W1): the holds this host's own remote references sent on it, by this side's\n// ids, the calls through them within the peer's call window, and each `bound` and `state` message applied to their\n// replicas as one batch, then acknowledged. Messages with an origin answer holds this host relays: they go to that\n// origin's provider side. On a host without a compressor, the deflated parts of this host's own holds and calls are\n// inflated asynchronously first, and the message is handled once they are.\n\nimport type { TelemetryCarrier } from \"@earendil-works/pi-telemetry\";\nimport type { Context } from \"../context/index.ts\";\nimport { type MethodData, takesNoArgs } from \"../contracts/internal.ts\";\nimport { ChordError, isChordError } from \"../data/index.ts\";\nimport { asChordError } from \"../data/internal.ts\";\nimport {\n\ttype BoundEntry,\n\ttype ConsumerMessage,\n\ttype DeflatedPart,\n\terrorFromWire,\n\ttype Message,\n\ttype Part,\n\tparsePayload,\n\tpayloadPart,\n\ttype StateEntry,\n} from \"../link/internal.ts\";\nimport { carrierOf } from \"../telemetry.ts\";\nimport { CallWindow } from \"./calls.ts\";\nimport { actingFor } from \"./hold.ts\";\nimport type { HostLink } from \"./host-link.ts\";\nimport type { RemoteObject } from \"./remote-object.ts\";\n\n/** A reply to a call. */\ntype Reply = Extract<Message, { readonly kind: \"result\" | \"error\" }>;\n\n/**\n * A call through this side: waiting for a slot of the call window (no id yet), then in flight under its id until its\n * reply, its abort, its hold's release or `gone`, or the link's close.\n */\ntype OutgoingCall = {\n\treadonly hold: number;\n\t/** The method's index in the bound variant and its arguments' part. */\n\treadonly method: number;\n\treadonly args: Part | undefined;\n\treadonly segments: readonly Uint8Array[] | undefined;\n\t/** The caller's trace carrier (its `chord.call` span's), when its adapter propagates. */\n\treadonly trace: TelemetryCarrier | undefined;\n\t/** Whether the caller is old work of a reload here (`call.old`: the provider routes it to open old attempts). */\n\treadonly old: boolean;\n\treadonly resolve: (value: unknown) => void;\n\treadonly reject: (error: unknown) => void;\n\tid: number | undefined;\n\tsend(): void;\n};\n\n/**\n * The consumer side of one link. Ids are its own counters, from 0; a reply naming an id this side gave up is ignored\n * (Q1). When the link closes, every call rejects `unavailable` (never resent) and its path tells every holder.\n */\nexport class ConsumerSide {\n\treadonly #link: HostLink;\n\treadonly #entries = new Map<number, RemoteObject>();\n\treadonly #calls = new Map<number, OutgoingCall>();\n\treadonly #window = new CallWindow<OutgoingCall>();\n\t#nextHold = 0;\n\t#nextCall = 0;\n\n\tconstructor(link: HostLink) {\n\t\tthis.#link = link;\n\t}\n\n\t/**\n\t * Holds `holder` on this link and returns its new id: its first hold, or a re-hold on a new link; `chain`: the\n\t * activation chain it is held for, if any (Q5); `trace`: this hold's carrier, if any.\n\t */\n\tattach(holder: RemoteObject, chain: string[] | undefined, trace: TelemetryCarrier | undefined): number {\n\t\tconst id = this.#nextHold++;\n\t\tthis.#entries.set(id, holder);\n\t\tconst acting = actingFor(this.#link, holder.caller);\n\t\tthis.#link.send({\n\t\t\tkind: \"hold\",\n\t\t\thold: id,\n\t\t\t...holder.request,\n\t\t\t...acting,\n\t\t\t...(chain === undefined ? {} : { chain }),\n\t\t\t...(trace === undefined ? {} : { trace }),\n\t\t});\n\t\treturn id;\n\t}\n\n\t/**\n\t * Calls method `method` (an index into the bound variant) on hold `hold` with `args`: left out for a method without\n\t * arguments, with byte segments when its argument schema has a `bytes()` leaf, deflated above the threshold except on\n\t * the parent link; with the carrier of `context`'s span when its adapter propagates. The result is parsed here. The\n\t * caller's cancellation rejects it at once and sends `abort` when it is in flight.\n\t */\n\tcall(hold: number, method: number, data: MethodData, args: unknown, context: Context): Promise<unknown> {\n\t\tconst signal = context.abortSignal;\n\t\tsignal?.throwIfAborted();\n\t\tconst payload = takesNoArgs(data) ? undefined : payloadPart(args, data.args.bytes);\n\t\t// Up a parent link they travel uncompressed: the parent may have accepted this host as a child, and child links\n\t\t// refuse compressed parts (§22).\n\t\tconst link = this.#link;\n\t\tconst part =\n\t\t\tpayload === undefined ? undefined : link.role === \"parent\" ? payload.json : link.part(payload.json, context);\n\t\tconst { promise, resolve, reject } = Promise.withResolvers<unknown>();\n\t\tconst cancel = (): void => {\n\t\t\tthis.#cancel(call);\n\t\t\treject(signal!.reason);\n\t\t};\n\t\tconst done = (): void => signal?.removeEventListener(\"abort\", cancel);\n\t\tconst call: OutgoingCall = {\n\t\t\thold,\n\t\t\tmethod,\n\t\t\targs: part,\n\t\t\tsegments: payload?.segments,\n\t\t\ttrace: carrierOf(context.telemetry),\n\t\t\told: link.host.oldWork.of(context),\n\t\t\tresolve: (value) => {\n\t\t\t\tdone();\n\t\t\t\tresolve(value);\n\t\t\t},\n\t\t\treject: (error) => {\n\t\t\t\tdone();\n\t\t\t\treject(error);\n\t\t\t},\n\t\t\tid: undefined,\n\t\t\tsend: () => this.#send(call),\n\t\t};\n\t\tsignal?.addEventListener(\"abort\", cancel, { once: true });\n\t\tthis.#window.submit(call);\n\t\treturn promise;\n\t}\n\n\t/** Hold `hold` was released: the provider is told, its calls fail with `error`. */\n\trelease(hold: number, error: ChordError): void {\n\t\tthis.#link.send({ kind: \"release\", hold });\n\t\tthis.forget(hold, error);\n\t}\n\n\t/** `ref.retry()` on a failed hold, with `hops` left of its budget: the provider is asked for an attempt now. */\n\tretry(hold: number, hops: number): void {\n\t\tthis.#link.send({ kind: \"retry\", hold, hops });\n\t}\n\n\t/** Drops hold `hold` from the tables; its calls, in flight and waiting, fail with `error` and free their slots. */\n\tforget(hold: number, error: ChordError): void {\n\t\tthis.#entries.delete(hold);\n\t\tthis.#failCalls(hold, error);\n\t}\n\n\t/** The peer's `hello` arrived: calls go out within its window. */\n\topened(calls: number): void {\n\t\tthis.#window.opened(calls);\n\t}\n\n\t/**\n\t * Handles one message from the provider: this host's own, or (with an origin) one for a relayed hold. A `bound`,\n\t * `state` or `result` with deflated parts to inflate asynchronously returns that promise and is handled after it.\n\t */\n\tmessage(message: ConsumerMessage): void | Promise<void> {\n\t\tif (message.origin !== undefined) {\n\t\t\tthis.#link.host.relays.get(message.origin)?.forward(message, this.#link);\n\t\t\treturn;\n\t\t}\n\t\tswitch (message.kind) {\n\t\t\tcase \"bound\":\n\t\t\tcase \"state\": {\n\t\t\t\tconst deflated = this.#deflated(message.holds);\n\t\t\t\tif (deflated !== undefined) return this.#link.inflate(deflated, () => this.message(message));\n\t\t\t\tif (message.kind === \"bound\") this.#bound(message.holds);\n\t\t\t\telse this.#state(message.holds);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"failed\":\n\t\t\t\tthis.#failed(message);\n\t\t\t\tbreak;\n\t\t\tcase \"loading\":\n\t\t\t\tthis.#loading(message.hold);\n\t\t\t\tbreak;\n\t\t\tcase \"result\":\n\t\t\tcase \"error\":\n\t\t\t\treturn this.#reply(message);\n\t\t\tcase \"gone\":\n\t\t\t\tthis.#gone(message);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/** The link closed: calls in flight and waiting reject `unavailable` (never resent, §7); the tables are dropped. */\n\tclosed(): void {\n\t\tconst error = new ChordError({ code: \"unavailable\", message: \"the link closed\" });\n\t\tconst calls = [...this.#calls.values(), ...this.#window.clear()];\n\t\tthis.#calls.clear();\n\t\tthis.#entries.clear();\n\t\tfor (const call of calls) call.reject(error);\n\t}\n\n\t/** Sends a call that got its slot, with the next id. */\n\t#send(call: OutgoingCall): void {\n\t\tconst id = this.#nextCall++;\n\t\tcall.id = id;\n\t\tthis.#calls.set(id, call);\n\t\tconst { hold, method, args, segments, trace } = call;\n\t\tthis.#link.send({\n\t\t\tkind: \"call\",\n\t\t\tcall: id,\n\t\t\thold,\n\t\t\tmethod,\n\t\t\t...(args === undefined ? {} : { args }),\n\t\t\t...(segments === undefined ? {} : { segments }),\n\t\t\ttrace,\n\t\t\t...(call.old ? { old: true as const } : {}),\n\t\t});\n\t}\n\n\t/**\n\t * Cancels `call`: a waiting one leaves the window and nothing is sent; one in flight sends `abort` and frees its\n\t * slot. Settling the caller is the caller's.\n\t */\n\t#cancel(call: OutgoingCall): void {\n\t\tif (call.id === undefined) {\n\t\t\tthis.#window.remove(call);\n\t\t\treturn;\n\t\t}\n\t\tif (!this.#calls.delete(call.id)) return;\n\t\tthis.#link.send({ kind: \"abort\", call: call.id });\n\t\tthis.#window.freed();\n\t}\n\n\t/**\n\t * The deflated parts of this side's own holds in `entries` that wait for an asynchronous inflate, each with the\n\t * link's decoded limit; `undefined` when none does (nothing allocated). Entries of holds this side gave up are not\n\t * inflated (Q1).\n\t */\n\t#deflated(entries: readonly (BoundEntry | StateEntry)[]): [DeflatedPart, number][] | undefined {\n\t\tconst { limits } = this.#link;\n\t\tlet deflated: [DeflatedPart, number][] | undefined;\n\t\tfor (const entry of entries) {\n\t\t\tif (!this.#entries.has(entry.hold)) continue;\n\t\t\tfor (const member of entry.members) {\n\t\t\t\tconst part = \"value\" in member ? member.value : member.ops;\n\t\t\t\tif (!this.#link.inflates(part, limits)) continue;\n\t\t\t\tdeflated ??= [];\n\t\t\t\tdeflated.push([part, limits.decoded]);\n\t\t\t}\n\t\t}\n\t\treturn deflated;\n\t}\n\n\t/**\n\t * One `bound` message: every entry prepared first (one that does not fit closes the link before anything changed)\n\t * and applied in one batch; then the references go live, and the message is acknowledged. An entry with a part past\n\t * the link's limits fails only its hold (`too_large/part`); the others apply.\n\t */\n\t#bound(holds: readonly BoundEntry[]): void {\n\t\tconst adoptions: (() => void)[] = [];\n\t\tconst bound: RemoteObject[] = [];\n\t\tlet oversized: [RemoteObject, ChordError][] | undefined;\n\t\tfor (const entry of holds) {\n\t\t\tconst holder = this.#entries.get(entry.hold);\n\t\t\tif (holder === undefined) continue;\n\t\t\ttry {\n\t\t\t\tadoptions.push(holder.prepareBound(entry, this.#link));\n\t\t\t} catch (error) {\n\t\t\t\tif (!isChordError(error, \"too_large\")) throw error;\n\t\t\t\toversized ??= [];\n\t\t\t\toversized.push([holder, error]);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tbound.push(holder);\n\t\t}\n\t\tthis.#adopt(adoptions);\n\t\t// After the batch: the references go live with every replica of the message in place.\n\t\tfor (const holder of bound) holder.wentLive();\n\t\tfor (const [holder, error] of oversized ?? []) holder.tooLarge(error);\n\t\tthis.#link.send({ kind: \"ack\" });\n\t}\n\n\t/** One `state` message, as `#bound` does it. */\n\t#state(holds: readonly StateEntry[]): void {\n\t\tconst adoptions: (() => void)[] = [];\n\t\tlet oversized: [RemoteObject, ChordError][] | undefined;\n\t\tfor (const entry of holds) {\n\t\t\tconst holder = this.#entries.get(entry.hold);\n\t\t\tif (holder === undefined) continue;\n\t\t\ttry {\n\t\t\t\tadoptions.push(holder.prepare(entry, this.#link));\n\t\t\t} catch (error) {\n\t\t\t\tif (!isChordError(error, \"too_large\")) throw error;\n\t\t\t\toversized ??= [];\n\t\t\t\toversized.push([holder, error]);\n\t\t\t}\n\t\t}\n\t\tthis.#adopt(adoptions);\n\t\tfor (const [holder, error] of oversized ?? []) holder.tooLarge(error);\n\t\tthis.#link.send({ kind: \"ack\" });\n\t}\n\n\t/** Applies prepared entries in one batch of this host, so no watch or derive sees half a provider commit (W1). */\n\t#adopt(adoptions: readonly (() => void)[]): void {\n\t\tif (adoptions.length === 0) return;\n\t\tthis.#link.host.batch.commit(() => {\n\t\t\tfor (const adopt of adoptions) adopt();\n\t\t}, this.#link.context);\n\t}\n\n\t/**\n\t * `loading`: the hold's object, or its relay's upstream, starts over; its calls still waiting for a slot reject\n\t * `unavailable` (they may name a method of the old variant), its calls in flight wait for their reply (a provider's\n\t * `loading` keeps them; a relay's upstream drop answered them before).\n\t */\n\t#loading(hold: number): void {\n\t\tconst holder = this.#entries.get(hold);\n\t\tif (holder === undefined) return;\n\t\tconst error = new ChordError({ code: \"unavailable\", message: `hold ${hold}: rebinding` });\n\t\tfor (const call of this.#window.removeHold(hold)) call.reject(error);\n\t\tholder.loading();\n\t}\n\n\t/**\n\t * `failed`: its holder fails; its calls still waiting for a slot reject with the cause (a bound hold is unbound by it,\n\t * slice 7b; its calls in flight are rejected by the provider).\n\t */\n\t#failed(message: Extract<Message, { readonly kind: \"failed\" }>): void {\n\t\tconst holder = this.#entries.get(message.hold);\n\t\tif (holder === undefined) return;\n\t\tconst error = asChordError(errorFromWire(message.cause.error), `hold ${message.hold}`);\n\t\tfor (const call of this.#window.removeHold(message.hold)) call.reject(error);\n\t\tholder.failed(message);\n\t}\n\n\t/**\n\t * `gone`: one for a hold this side gave up is ignored (Q1); the holder ends, which forgets its hold here and fails\n\t * its calls.\n\t */\n\t#gone(message: Extract<Message, { readonly kind: \"gone\" }>): void {\n\t\tconst holder = this.#entries.get(message.hold);\n\t\tif (holder === undefined) return;\n\t\tholder.lost(asChordError(errorFromWire(message.error), `hold ${message.hold}`));\n\t}\n\n\t/**\n\t * A reply: its call settles with the parsed result or the error. A result past the link's limits rejects the call\n\t * `too_large/part`. A malformed part rejects the call `unavailable` and throws (a protocol error: the link closes).\n\t * A result to inflate asynchronously is inflated first (for a call still waiting), then handled again.\n\t */\n\t#reply(reply: Reply): void | Promise<void> {\n\t\tconst call = this.#calls.get(reply.call);\n\t\tif (call === undefined) return;\n\t\tconst link = this.#link;\n\t\tif (reply.kind === \"result\" && link.inflates(reply.value, link.limits)) {\n\t\t\treturn link.inflate([[reply.value, link.limits.decoded]], () => this.#reply(reply));\n\t\t}\n\t\tthis.#calls.delete(reply.call);\n\t\tthis.#window.freed();\n\t\ttry {\n\t\t\tif (reply.kind === \"error\") call.reject(errorFromWire(reply.error));\n\t\t\telse if (reply.value === undefined) call.resolve(null);\n\t\t\telse call.resolve(parsePayload(link.openPart(reply.value, link.limits, link.context), reply.segments));\n\t\t} catch (error) {\n\t\t\tif (isChordError(error, \"too_large\")) {\n\t\t\t\tcall.reject(error);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcall.reject(new ChordError({ code: \"unavailable\", message: `call ${reply.call}: a malformed reply` }));\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\t/** Fails `hold`'s calls in flight and waiting with `error`; each in-flight one frees its slot. */\n\t#failCalls(hold: number, error: ChordError): void {\n\t\t// Waiting ones first: a freed slot must not send one of them.\n\t\tconst failed = this.#window.removeHold(hold);\n\t\tfor (const [id, call] of this.#calls) {\n\t\t\tif (call.hold !== hold) continue;\n\t\t\tthis.#calls.delete(id);\n\t\t\tthis.#window.freed();\n\t\t\tfailed.push(call);\n\t\t}\n\t\tfor (const call of failed) call.reject(error);\n\t}\n}\n"]}
|