@earendil-works/chord 1.4.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 +92 -0
- package/README.md +115 -90
- package/dist/context/index.d.ts +1 -1
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +1 -1
- package/dist/context/index.js.map +1 -1
- package/dist/contracts/accepts.d.ts +81 -0
- package/dist/contracts/accepts.d.ts.map +1 -0
- package/dist/contracts/accepts.js +123 -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 +50 -0
- package/dist/contracts/contract.js.map +1 -0
- package/dist/contracts/declare.d.ts +107 -0
- package/dist/contracts/declare.d.ts.map +1 -0
- package/dist/contracts/declare.js +136 -0
- package/dist/contracts/declare.js.map +1 -0
- package/dist/contracts/evolve.d.ts +92 -0
- package/dist/contracts/evolve.d.ts.map +1 -0
- package/dist/contracts/evolve.js +179 -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 +50 -0
- package/dist/contracts/fingerprint.js.map +1 -0
- package/dist/contracts/history.d.ts +71 -0
- package/dist/contracts/history.d.ts.map +1 -0
- package/dist/contracts/history.js +3 -0
- package/dist/contracts/history.js.map +1 -0
- package/dist/contracts/host-kind.d.ts +40 -0
- package/dist/contracts/host-kind.d.ts.map +1 -0
- package/dist/contracts/host-kind.js +37 -0
- package/dist/contracts/host-kind.js.map +1 -0
- package/dist/contracts/index.d.ts +7 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +6 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/internal.d.ts +10 -0
- package/dist/contracts/internal.d.ts.map +1 -0
- package/dist/contracts/internal.js +9 -0
- package/dist/contracts/internal.js.map +1 -0
- package/dist/contracts/names.d.ts +3 -0
- package/dist/contracts/names.d.ts.map +1 -0
- package/dist/contracts/names.js +13 -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 +50 -0
- package/dist/contracts/params.js.map +1 -0
- package/dist/contracts/schema.d.ts +102 -0
- package/dist/contracts/schema.d.ts.map +1 -0
- package/dist/contracts/schema.js +103 -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 +83 -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 +26 -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 +31 -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/delta/apply-immutable-trusted.js +3 -4
- package/dist/delta/apply-immutable-trusted.js.map +1 -1
- package/dist/delta/diff.d.ts.map +1 -1
- package/dist/delta/diff.js +5 -3
- package/dist/delta/diff.js.map +1 -1
- package/dist/delta/index.d.ts +9 -1
- package/dist/delta/index.d.ts.map +1 -1
- package/dist/delta/index.js +15 -11
- package/dist/delta/index.js.map +1 -1
- package/dist/delta/pending.d.ts +36 -0
- package/dist/delta/pending.d.ts.map +1 -0
- package/dist/delta/pending.js +143 -0
- package/dist/delta/pending.js.map +1 -0
- package/dist/delta/tracker.d.ts +12 -0
- package/dist/delta/tracker.d.ts.map +1 -1
- package/dist/delta/tracker.js +109 -39
- package/dist/delta/tracker.js.map +1 -1
- 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 +44 -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 +9 -0
- package/dist/documents/fence.d.ts.map +1 -0
- package/dist/documents/fence.js +15 -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 +66 -0
- package/dist/documents/handles.js.map +1 -0
- package/dist/documents/index.d.ts +4 -0
- package/dist/documents/index.d.ts.map +1 -0
- package/dist/documents/index.js +3 -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 +9 -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 +7 -0
- package/dist/documents/line.d.ts.map +1 -0
- package/dist/documents/line.js +14 -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 +93 -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 +214 -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 +29 -0
- package/dist/host/backoff.d.ts.map +1 -0
- package/dist/host/backoff.js +69 -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 +12 -0
- package/dist/host/deadline.d.ts.map +1 -0
- package/dist/host/deadline.js +40 -0
- package/dist/host/deadline.js.map +1 -0
- package/dist/host/dependencies.d.ts +65 -0
- package/dist/host/dependencies.d.ts.map +1 -0
- package/dist/host/dependencies.js +115 -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 +101 -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 +55 -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 +207 -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 +6 -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 +107 -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 +79 -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 +117 -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 +28 -0
- package/dist/host/retry-on.d.ts.map +1 -0
- package/dist/host/retry-on.js +52 -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 +27 -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 +40 -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 +3 -0
- package/dist/host/uuid.d.ts.map +1 -0
- package/dist/host/uuid.js +38 -0
- package/dist/host/uuid.js.map +1 -0
- package/dist/index.d.ts +29 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -9
- package/dist/index.js.map +1 -1
- package/dist/jobs/definition.d.ts +96 -0
- package/dist/jobs/definition.d.ts.map +1 -0
- package/dist/jobs/definition.js +83 -0
- package/dist/jobs/definition.js.map +1 -0
- package/dist/jobs/index.d.ts +5 -0
- package/dist/jobs/index.d.ts.map +1 -0
- package/dist/jobs/index.js +3 -0
- package/dist/jobs/index.js.map +1 -0
- package/dist/jobs/internal.d.ts +3 -0
- package/dist/jobs/internal.d.ts.map +1 -0
- package/dist/jobs/internal.js +4 -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 +95 -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 +117 -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 +55 -0
- package/dist/jobs/stored.js.map +1 -0
- package/dist/link/binary.d.ts +4 -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 +7 -0
- package/dist/link/errors.d.ts.map +1 -0
- package/dist/link/errors.js +21 -0
- package/dist/link/errors.js.map +1 -0
- package/dist/link/index.d.ts +8 -0
- package/dist/link/index.d.ts.map +1 -0
- package/dist/link/index.js +8 -0
- package/dist/link/index.js.map +1 -0
- package/dist/link/internal.d.ts +9 -0
- package/dist/link/internal.d.ts.map +1 -0
- package/dist/link/internal.js +10 -0
- package/dist/link/internal.js.map +1 -0
- package/dist/link/ipc.d.ts +22 -0
- package/dist/link/ipc.d.ts.map +1 -0
- package/dist/link/ipc.js +64 -0
- package/dist/link/ipc.js.map +1 -0
- package/dist/link/link.d.ts +34 -0
- package/dist/link/link.d.ts.map +1 -0
- package/dist/link/link.js +87 -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 +6 -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 +40 -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 +26 -0
- package/dist/link/websocket.d.ts.map +1 -0
- package/dist/link/websocket.js +91 -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 +63 -0
- package/dist/node/http/admission.d.ts.map +1 -0
- package/dist/node/http/admission.js +134 -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 +23 -0
- package/dist/node/http/file.d.ts.map +1 -0
- package/dist/node/http/file.js +94 -0
- package/dist/node/http/file.js.map +1 -0
- package/dist/node/http/headers.d.ts +37 -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 +19 -0
- package/dist/node/http/incoming.d.ts.map +1 -0
- package/dist/node/http/incoming.js +31 -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 +78 -0
- package/dist/node/http/node.d.ts.map +1 -0
- package/dist/node/http/node.js +291 -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 +202 -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 +16 -0
- package/dist/node/plugins/stack.d.ts.map +1 -0
- package/dist/node/plugins/stack.js +61 -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/output.d.ts +1 -1
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +4 -2
- package/dist/output.js.map +1 -1
- 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 +50 -0
- package/dist/registries/contribution.d.ts.map +1 -0
- package/dist/registries/contribution.js +129 -0
- package/dist/registries/contribution.js.map +1 -0
- package/dist/registries/entries.d.ts +18 -0
- package/dist/registries/entries.d.ts.map +1 -0
- package/dist/registries/entries.js +42 -0
- package/dist/registries/entries.js.map +1 -0
- package/dist/registries/index.d.ts +3 -0
- package/dist/registries/index.d.ts.map +1 -0
- package/dist/registries/index.js +5 -0
- package/dist/registries/index.js.map +1 -0
- package/dist/registries/internal.d.ts +4 -0
- package/dist/registries/internal.d.ts.map +1 -0
- package/dist/registries/internal.js +5 -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 +14 -0
- package/dist/registries/registry.js.map +1 -0
- package/dist/registries/value.d.ts +48 -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 +25 -0
- package/dist/remote/calls.d.ts.map +1 -0
- package/dist/remote/calls.js +62 -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 +6 -0
- package/dist/remote/internal.d.ts.map +1 -0
- package/dist/remote/internal.js +6 -0
- package/dist/remote/internal.js.map +1 -0
- package/dist/remote/path.d.ts +46 -0
- package/dist/remote/path.d.ts.map +1 -0
- package/dist/remote/path.js +73 -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/cloudflare.d.ts +2 -0
- package/dist/sqlite/cloudflare.d.ts.map +1 -1
- package/dist/sqlite/cloudflare.js +10 -0
- package/dist/sqlite/cloudflare.js.map +1 -1
- package/dist/sqlite/database.d.ts +5 -2
- package/dist/sqlite/database.d.ts.map +1 -1
- package/dist/sqlite/database.js.map +1 -1
- package/dist/sqlite/node.d.ts +13 -2
- package/dist/sqlite/node.d.ts.map +1 -1
- package/dist/sqlite/node.js +31 -8
- 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 +4 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/internal.d.ts +6 -0
- package/dist/state/internal.d.ts.map +1 -0
- package/dist/state/internal.js +8 -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 +49 -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 +118 -0
- package/dist/store/adapter.js.map +1 -0
- package/dist/store/allocator.d.ts +17 -0
- package/dist/store/allocator.d.ts.map +1 -0
- package/dist/store/allocator.js +30 -0
- package/dist/store/allocator.js.map +1 -0
- package/dist/store/applier.d.ts +8 -0
- package/dist/store/applier.d.ts.map +1 -0
- package/dist/store/applier.js +375 -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 +83 -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 +15 -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 +17 -0
- package/dist/store/catalog.js.map +1 -0
- package/dist/store/claims.d.ts +23 -0
- package/dist/store/claims.d.ts.map +1 -0
- package/dist/store/claims.js +65 -0
- package/dist/store/claims.js.map +1 -0
- package/dist/store/columns.d.ts +77 -0
- package/dist/store/columns.d.ts.map +1 -0
- package/dist/store/columns.js +77 -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 +128 -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 +268 -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 +16 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +13 -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 +9 -0
- package/dist/store/jsonl.d.ts.map +1 -0
- package/dist/store/jsonl.js +61 -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 +80 -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 +97 -0
- package/dist/store/query.js.map +1 -0
- package/dist/store/refusal.d.ts +15 -0
- package/dist/store/refusal.d.ts.map +1 -0
- package/dist/store/refusal.js +36 -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 +183 -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 +234 -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 +102 -0
- package/dist/store/table-changes.js.map +1 -0
- package/dist/store/table-evolve.d.ts +74 -0
- package/dist/store/table-evolve.d.ts.map +1 -0
- package/dist/store/table-evolve.js +201 -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 +75 -0
- package/dist/store/table-history.d.ts.map +1 -0
- package/dist/store/table-history.js +42 -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 +125 -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 +103 -0
- package/dist/store/table.js.map +1 -0
- package/dist/store/text.d.ts +14 -0
- package/dist/store/text.d.ts.map +1 -0
- package/dist/store/text.js +51 -0
- package/dist/store/text.js.map +1 -0
- package/dist/store/writes.d.ts +5 -0
- package/dist/store/writes.d.ts.map +1 -0
- package/dist/store/writes.js +4 -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/watch.d.ts +194 -0
- package/dist/watch.d.ts.map +1 -0
- package/dist/watch.js +383 -0
- package/dist/watch.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/dependencies/model.md +330 -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/flow-control/book.md +333 -0
- package/docs/flow-control/fold/index.html +265 -0
- package/docs/flow-control/index.html +548 -0
- package/docs/flow-control/window/index.html +228 -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-4.md +146 -0
- package/docs/slice-4a.md +418 -0
- package/docs/slice-4b.md +208 -0
- package/docs/slice-5.md +281 -0
- package/docs/slice-6a.md +676 -0
- package/docs/slice-6b.md +332 -0
- package/docs/slice-7a.md +130 -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-8.md +194 -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 +114 -20
- package/src/delta/README.md +69 -0
- 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 -208
- package/dist/contract.d.ts.map +0 -1
- package/dist/contract.js +0 -246
- 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 -1000
- 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/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 -1571
- 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 -21
- package/dist/schema.d.ts.map +0 -1
- package/dist/schema.js +0 -228
- 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 -216
- package/dist/wire.d.ts.map +0 -1
- package/dist/wire.js +0 -165
- package/dist/wire.js.map +0 -1
- package/docs/guide.md +0 -814
- package/docs/spec.md +0 -288
- package/docs/tutorial.md +0 -931
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
// Registry values (slice 8 §1 "Reading", S2, S3): a registry's composed value as the readers of one version see it, a
|
|
2
|
+
// native source. The provider's version reads the composition itself; an older one reads it mapped back with
|
|
3
|
+
// `accepts[old].value`, once per composition, kept only while someone reads or follows it; a version the provider
|
|
4
|
+
// cannot serve fails `contract_mismatch`. Its readers (attempts that declared it) keep the mapping; its waiters
|
|
5
|
+
// (attempts parked on it, a waiting `host.registry`) are woken at every change of whether it is usable, and of its
|
|
6
|
+
// failure while it is not (dependency model §9); waited for while it is not, it is on the host's `UnboundClock`.
|
|
7
|
+
import { ChordError, isChordError } from "../data/index.js";
|
|
8
|
+
import { asChordError } from "../data/internal.js";
|
|
9
|
+
import { FollowedSource } from "../state/internal.js";
|
|
10
|
+
const USABLE = { kind: "usable" };
|
|
11
|
+
/** Whether two failures say the same: the same error, or ChordErrors alike (a version mismatch is made per read). */
|
|
12
|
+
function sameError(a, b) {
|
|
13
|
+
if (a === b)
|
|
14
|
+
return true;
|
|
15
|
+
return isChordError(a) && isChordError(b) && a.code === b.code && a.reason === b.reason && a.message === b.message;
|
|
16
|
+
}
|
|
17
|
+
/** One version's view of a registry's composed value. */
|
|
18
|
+
export class RegistryValueSource extends FollowedSource {
|
|
19
|
+
name;
|
|
20
|
+
version;
|
|
21
|
+
#registered;
|
|
22
|
+
/** Its readers, each a token of its own (one object may read twice), until released. */
|
|
23
|
+
#readers = new Set();
|
|
24
|
+
/** Its waiters, each a token of its own, until released. */
|
|
25
|
+
#waiters = new Set();
|
|
26
|
+
/**
|
|
27
|
+
* What its waiters were last told: usable (a value, or a failure with a last good one), or the error it has none
|
|
28
|
+
* for; a change wakes them.
|
|
29
|
+
*/
|
|
30
|
+
#told;
|
|
31
|
+
#mapped;
|
|
32
|
+
#mapFailure;
|
|
33
|
+
constructor(record, version, batch) {
|
|
34
|
+
super(batch);
|
|
35
|
+
this.name = record.name;
|
|
36
|
+
this.version = version;
|
|
37
|
+
this.#registered = { kind: "open", record };
|
|
38
|
+
}
|
|
39
|
+
/** The composition (or its mapping) at its last good value; throws the failure when there is none. */
|
|
40
|
+
get value() {
|
|
41
|
+
const start = this.start();
|
|
42
|
+
if (start.kind === "value")
|
|
43
|
+
return start.value;
|
|
44
|
+
if (start.last === undefined)
|
|
45
|
+
throw start.error;
|
|
46
|
+
return start.last.value;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Its composition (mapped for an older version), composed now if its table changed; a change of whether it is
|
|
50
|
+
* usable, or of its failure while it is not, wakes its waiters.
|
|
51
|
+
*/
|
|
52
|
+
start() {
|
|
53
|
+
const registered = this.#registered;
|
|
54
|
+
if (registered.kind === "closed")
|
|
55
|
+
return registered.last;
|
|
56
|
+
const start = this.#start(registered.record);
|
|
57
|
+
if (this.#waiters.size > 0)
|
|
58
|
+
this.#tell(start, registered.record);
|
|
59
|
+
return start;
|
|
60
|
+
}
|
|
61
|
+
/** Its composition (or mapping) now; throws while it is failed, though `.value` keeps the last good one. */
|
|
62
|
+
current() {
|
|
63
|
+
const start = this.start();
|
|
64
|
+
if (start.kind === "failed")
|
|
65
|
+
throw start.error;
|
|
66
|
+
return start.value;
|
|
67
|
+
}
|
|
68
|
+
/** Followed while someone watches or observes it, and while waiters wait on it. */
|
|
69
|
+
get watched() {
|
|
70
|
+
return super.watched || this.#waiters.size > 0;
|
|
71
|
+
}
|
|
72
|
+
/** Registers a reader (an attempt that declared it) until the returned release: its mapping is kept meanwhile. */
|
|
73
|
+
read() {
|
|
74
|
+
const token = {};
|
|
75
|
+
this.#readers.add(token);
|
|
76
|
+
return () => {
|
|
77
|
+
this.#readers.delete(token);
|
|
78
|
+
if (this.#readers.size === 0 && !super.watched)
|
|
79
|
+
this.#dropMapping();
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Registers `waiter` (a parked attempt's object, a waiting `host.registry`) until the returned release: it is told
|
|
84
|
+
* of every change of whether this value is usable (inside the batch that made it: it only records).
|
|
85
|
+
*/
|
|
86
|
+
wait(waiter) {
|
|
87
|
+
const token = { waiter };
|
|
88
|
+
if (this.#waiters.size === 0)
|
|
89
|
+
this.#told = undefined;
|
|
90
|
+
this.#waiters.add(token);
|
|
91
|
+
return () => {
|
|
92
|
+
this.#waiters.delete(token);
|
|
93
|
+
if (this.#waiters.size > 0)
|
|
94
|
+
return;
|
|
95
|
+
this.#told = undefined;
|
|
96
|
+
const registered = this.#registered;
|
|
97
|
+
if (registered.kind === "open")
|
|
98
|
+
registered.record.clock.stop(this);
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/** The registry's table changed (inside a batch): its dependents are marked, its followers get the next frame. */
|
|
102
|
+
recomposed() {
|
|
103
|
+
this.changed();
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* The registry's table changed again while not composed since (inside a batch): its dependents are marked already
|
|
107
|
+
* (none read it meanwhile, or it would be composed); its followers get the next frame. Marking stops here, so a
|
|
108
|
+
* cycle of registries through their values ends.
|
|
109
|
+
*/
|
|
110
|
+
relisted() {
|
|
111
|
+
this.list();
|
|
112
|
+
}
|
|
113
|
+
/** The host closed: its watches and observers end, its readers and mapping go; it keeps its last start only. */
|
|
114
|
+
close() {
|
|
115
|
+
const registered = this.#registered;
|
|
116
|
+
let last;
|
|
117
|
+
try {
|
|
118
|
+
last = this.start();
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
last = { kind: "failed", error, last: undefined };
|
|
122
|
+
}
|
|
123
|
+
// After the last start, which a waiter put on the clock again.
|
|
124
|
+
if (registered.kind === "open")
|
|
125
|
+
registered.record.clock.stop(this);
|
|
126
|
+
this.#registered = { kind: "closed", last };
|
|
127
|
+
this.#readers.clear();
|
|
128
|
+
const waiters = [...this.#waiters];
|
|
129
|
+
this.#waiters.clear();
|
|
130
|
+
const error = new ChordError({ code: "released", reason: "closed", message: `registry ${this.name}: closed` });
|
|
131
|
+
for (const { waiter } of waiters)
|
|
132
|
+
waiter.closed(error);
|
|
133
|
+
this.#told = undefined;
|
|
134
|
+
this.#dropMapping();
|
|
135
|
+
this.end();
|
|
136
|
+
}
|
|
137
|
+
/** Nobody follows it: without readers, its mapping goes (computed again on the next read). */
|
|
138
|
+
unfollowed() {
|
|
139
|
+
if (this.#readers.size === 0)
|
|
140
|
+
this.#dropMapping();
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Wakes the waiters when `start` says something else than they were told (by usability, then by the error); while
|
|
144
|
+
* it is not usable, the wait is on its host's clock (`record.clock`).
|
|
145
|
+
*/
|
|
146
|
+
#tell(start, record) {
|
|
147
|
+
const told = this.#told;
|
|
148
|
+
if (start.kind === "value" || start.last !== undefined) {
|
|
149
|
+
if (told?.kind === "usable")
|
|
150
|
+
return;
|
|
151
|
+
this.#told = USABLE;
|
|
152
|
+
record.clock.stop(this);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
if (told?.kind === "failed" && sameError(told.error, start.error))
|
|
156
|
+
return;
|
|
157
|
+
this.#told = { kind: "failed", error: start.error };
|
|
158
|
+
const label = `registry ${this.name}`;
|
|
159
|
+
const error = asChordError(start.error, label);
|
|
160
|
+
if (told?.kind === "failed")
|
|
161
|
+
record.clock.failed(this, error);
|
|
162
|
+
else
|
|
163
|
+
record.clock.start(this, label, error);
|
|
164
|
+
}
|
|
165
|
+
// The first start of a wait wakes nobody: the waiter reads it itself.
|
|
166
|
+
if (told === undefined)
|
|
167
|
+
return;
|
|
168
|
+
for (const { waiter } of this.#waiters)
|
|
169
|
+
waiter.dependencyMoved();
|
|
170
|
+
}
|
|
171
|
+
#dropMapping() {
|
|
172
|
+
this.#mapped = undefined;
|
|
173
|
+
this.#mapFailure = undefined;
|
|
174
|
+
}
|
|
175
|
+
#start(record) {
|
|
176
|
+
const provided = record.providedVersion;
|
|
177
|
+
if (provided === undefined || provided === this.version)
|
|
178
|
+
return record.start();
|
|
179
|
+
const map = provided > this.version ? record.valueAdapter(this.version) : undefined;
|
|
180
|
+
if (map === undefined) {
|
|
181
|
+
const message = `registry ${this.name}: version ${this.version} is not served here (version ${provided} is)`;
|
|
182
|
+
return { kind: "failed", error: new ChordError({ code: "contract_mismatch", message }), last: undefined };
|
|
183
|
+
}
|
|
184
|
+
return this.#mappedStart(record, record.start(), map);
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* The composition `current` mapped back with `map`, once per composition; a throwing mapping fails this version
|
|
188
|
+
* only (reported once per episode), keeping its last good mapping; a composition mapped before heals it.
|
|
189
|
+
*/
|
|
190
|
+
#mappedStart(record, current, map) {
|
|
191
|
+
if (current.kind === "failed" && current.last === undefined)
|
|
192
|
+
return current;
|
|
193
|
+
const from = current.kind === "value" ? current.value : current.last.value;
|
|
194
|
+
// `undefined` is a composition too: the records, not their fields, say whether there is one.
|
|
195
|
+
// A mapping built from a contribution that left is no last good value any more (decision 5).
|
|
196
|
+
if (this.#mapped?.contributions !== undefined && !record.inTable(this.#mapped.contributions)) {
|
|
197
|
+
this.#mapped = undefined;
|
|
198
|
+
}
|
|
199
|
+
const mapped = this.#mapped;
|
|
200
|
+
const failure = this.#mapFailure;
|
|
201
|
+
if (mapped !== undefined && mapped.from === from && mapped.map === map) {
|
|
202
|
+
this.#mapFailure = undefined;
|
|
203
|
+
}
|
|
204
|
+
else if (failure === undefined || failure.from !== from || failure.map !== map) {
|
|
205
|
+
try {
|
|
206
|
+
const value = record.adapt(() => map(from));
|
|
207
|
+
this.#mapped = { from, map, value, contributions: record.composedFrom };
|
|
208
|
+
this.#mapFailure = undefined;
|
|
209
|
+
}
|
|
210
|
+
catch (error) {
|
|
211
|
+
if (failure === undefined)
|
|
212
|
+
record.failed(error);
|
|
213
|
+
this.#mapFailure = { from, map, error };
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
const last = this.#mapped === undefined ? undefined : { value: this.#mapped.value };
|
|
217
|
+
if (this.#mapFailure !== undefined)
|
|
218
|
+
return { kind: "failed", error: this.#mapFailure.error, last };
|
|
219
|
+
if (current.kind === "failed")
|
|
220
|
+
return { kind: "failed", error: current.error, last };
|
|
221
|
+
return { kind: "value", value: last.value };
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=value.js.map
|
|
@@ -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,25 @@
|
|
|
1
|
+
/** A call waiting for a slot: its hold (a rebind or release takes it out) and what sends it. */
|
|
2
|
+
export type QueuedCall = {
|
|
3
|
+
readonly hold: number;
|
|
4
|
+
readonly send: () => void;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* The calls of one link's consumer side. `limit` is the peer's N from its `hello` (0 before it, so every call waits).
|
|
8
|
+
* A relay forwards its downstream calls at once, so only this host's own calls are counted here.
|
|
9
|
+
*/
|
|
10
|
+
export declare class CallWindow<C extends QueuedCall = QueuedCall> {
|
|
11
|
+
#private;
|
|
12
|
+
/** Sends `call` now when a slot is free and nothing waits, otherwise queues it behind the earlier calls. */
|
|
13
|
+
submit(call: C): void;
|
|
14
|
+
/** The peer's window arrived with its `hello`: waiting calls go out. */
|
|
15
|
+
opened(limit: number): void;
|
|
16
|
+
/** A call in flight ended (its reply, its abort sent, its hold released or gone): its slot is free. */
|
|
17
|
+
freed(): void;
|
|
18
|
+
/** Takes a waiting call out (its caller cancelled); nothing happens for one that is not waiting. */
|
|
19
|
+
remove(call: C): void;
|
|
20
|
+
/** Takes every waiting call of `hold` out and returns them (its hold rebinds or was released). */
|
|
21
|
+
removeHold(hold: number): C[];
|
|
22
|
+
/** Takes every waiting call out and returns them (the link closed). */
|
|
23
|
+
clear(): C[];
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=calls.d.ts.map
|
|
@@ -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,62 @@
|
|
|
1
|
+
// The call window (§3, decision log "Flow control: an ack-clocked window"): at most the peer's N calls in flight on a
|
|
2
|
+
// link from this host; further calls wait in one FIFO queue, sent in order as replies free slots.
|
|
3
|
+
/**
|
|
4
|
+
* The calls of one link's consumer side. `limit` is the peer's N from its `hello` (0 before it, so every call waits).
|
|
5
|
+
* A relay forwards its downstream calls at once, so only this host's own calls are counted here.
|
|
6
|
+
*/
|
|
7
|
+
export class CallWindow {
|
|
8
|
+
#limit = 0;
|
|
9
|
+
#inFlight = 0;
|
|
10
|
+
#waiting = new Set();
|
|
11
|
+
/** Sends `call` now when a slot is free and nothing waits, otherwise queues it behind the earlier calls. */
|
|
12
|
+
submit(call) {
|
|
13
|
+
if (this.#waiting.size === 0 && this.#inFlight < this.#limit) {
|
|
14
|
+
this.#inFlight++;
|
|
15
|
+
call.send();
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
this.#waiting.add(call);
|
|
19
|
+
}
|
|
20
|
+
/** The peer's window arrived with its `hello`: waiting calls go out. */
|
|
21
|
+
opened(limit) {
|
|
22
|
+
this.#limit = limit;
|
|
23
|
+
this.#drain();
|
|
24
|
+
}
|
|
25
|
+
/** A call in flight ended (its reply, its abort sent, its hold released or gone): its slot is free. */
|
|
26
|
+
freed() {
|
|
27
|
+
this.#inFlight--;
|
|
28
|
+
this.#drain();
|
|
29
|
+
}
|
|
30
|
+
/** Takes a waiting call out (its caller cancelled); nothing happens for one that is not waiting. */
|
|
31
|
+
remove(call) {
|
|
32
|
+
this.#waiting.delete(call);
|
|
33
|
+
}
|
|
34
|
+
/** Takes every waiting call of `hold` out and returns them (its hold rebinds or was released). */
|
|
35
|
+
removeHold(hold) {
|
|
36
|
+
const removed = [];
|
|
37
|
+
for (const call of this.#waiting) {
|
|
38
|
+
if (call.hold !== hold)
|
|
39
|
+
continue;
|
|
40
|
+
this.#waiting.delete(call);
|
|
41
|
+
removed.push(call);
|
|
42
|
+
}
|
|
43
|
+
return removed;
|
|
44
|
+
}
|
|
45
|
+
/** Takes every waiting call out and returns them (the link closed). */
|
|
46
|
+
clear() {
|
|
47
|
+
const removed = [...this.#waiting];
|
|
48
|
+
this.#waiting.clear();
|
|
49
|
+
return removed;
|
|
50
|
+
}
|
|
51
|
+
/** Sends waiting calls in order while slots are free. */
|
|
52
|
+
#drain() {
|
|
53
|
+
for (const call of this.#waiting) {
|
|
54
|
+
if (this.#inFlight >= this.#limit)
|
|
55
|
+
return;
|
|
56
|
+
this.#waiting.delete(call);
|
|
57
|
+
this.#inFlight++;
|
|
58
|
+
call.send();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=calls.js.map
|
|
@@ -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"}
|