@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,165 @@
|
|
|
1
|
+
// Parts on links (R1, R2, Q2, §22): a value as it crosses a link (JSON text at its origin, its bytes once received, or
|
|
2
|
+
// deflated by its origin), the size limits per part, compression at the origin, and opening a part where it is owned:
|
|
3
|
+
// its size checked before anything is parsed or inflated, a deflated part inflated within the decoded limit.
|
|
4
|
+
import { ChordError } from "../data/index.js";
|
|
5
|
+
import { chordMetrics } from "../telemetry.js";
|
|
6
|
+
/**
|
|
7
|
+
* A JSON part deflated (raw deflate) by its origin. A host without a synchronous compressor inflates it before its
|
|
8
|
+
* owner handles the message (`inflateAsync`) and keeps the outcome here for the owner to open.
|
|
9
|
+
*/
|
|
10
|
+
export class DeflatedPart {
|
|
11
|
+
bytes;
|
|
12
|
+
/** The asynchronous inflate's outcome; `undefined` until one ran. */
|
|
13
|
+
inflated;
|
|
14
|
+
constructor(bytes) {
|
|
15
|
+
this.bytes = bytes;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const MiB = 1024 * 1024;
|
|
19
|
+
/** The limits of untrusted links unless set (Q2); trusted links (IPC) have none. */
|
|
20
|
+
const UNTRUSTED = { part: 16 * MiB, decoded: 64 * MiB };
|
|
21
|
+
const NONE = { part: Number.POSITIVE_INFINITY, decoded: Number.POSITIVE_INFINITY };
|
|
22
|
+
/** The limits of a link: the ones set, the defaults of its trust for the others. */
|
|
23
|
+
export function linkLimits(trusted, limits = {}) {
|
|
24
|
+
const defaults = trusted ? NONE : UNTRUSTED;
|
|
25
|
+
return { part: limits.part ?? defaults.part, decoded: limits.decoded ?? defaults.decoded };
|
|
26
|
+
}
|
|
27
|
+
/** JSON parts above this many UTF-8 bytes are compressed at their origin (a protocol constant). */
|
|
28
|
+
export const COMPRESS_ABOVE = 16 * 1024;
|
|
29
|
+
const UTF8 = new TextEncoder();
|
|
30
|
+
/**
|
|
31
|
+
* A JSON part at its origin: deflated when the host compresses, its UTF-8 bytes are above `COMPRESS_ABOVE` and
|
|
32
|
+
* deflating made it smaller; otherwise the text, or its bytes once they were encoded (never encoded twice). Counts one
|
|
33
|
+
* deflate (`chord.link.deflates`).
|
|
34
|
+
*/
|
|
35
|
+
export function originPart(json, compression, context) {
|
|
36
|
+
// A UTF-16 unit is at most three UTF-8 bytes: a text this short is within the threshold without encoding it.
|
|
37
|
+
if (compression === undefined || json.length * 3 <= COMPRESS_ABOVE)
|
|
38
|
+
return json;
|
|
39
|
+
const bytes = UTF8.encode(json);
|
|
40
|
+
if (bytes.byteLength <= COMPRESS_ABOVE)
|
|
41
|
+
return bytes;
|
|
42
|
+
chordMetrics(context.telemetry.metrics).counter("chord.link.deflates").add(1);
|
|
43
|
+
const deflated = compression.deflate(bytes);
|
|
44
|
+
return deflated.byteLength < bytes.byteLength ? new DeflatedPart(deflated) : bytes;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The `too_large/part` error of a part whose size on the wire (its UTF-8 bytes; a deflated part's deflated bytes) is
|
|
48
|
+
* above `limit`; `undefined` within it. Nothing is parsed or inflated.
|
|
49
|
+
*/
|
|
50
|
+
export function oversized(part, limit) {
|
|
51
|
+
if (limit === Number.POSITIVE_INFINITY)
|
|
52
|
+
return undefined;
|
|
53
|
+
const size = sizeOf(part);
|
|
54
|
+
return size > limit ? tooLarge(size, limit, "wire") : undefined;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The JSON of a part its owner is about to parse: its size checked against `limits.part` first, then its decoded size
|
|
58
|
+
* against `limits.decoded`, a deflated part inflated within it (synchronously with `compression`, or by the
|
|
59
|
+
* asynchronous inflate that ran ahead of its owner). Throws `too_large/part` past a limit; throws a plain error for a
|
|
60
|
+
* deflated part nothing inflated or that is no raw deflate stream (a protocol error). Counts one synchronous inflate
|
|
61
|
+
* (`chord.link.inflates`).
|
|
62
|
+
*/
|
|
63
|
+
export function openPart(part, limits, compression, context) {
|
|
64
|
+
const wire = oversized(part, limits.part);
|
|
65
|
+
if (wire !== undefined)
|
|
66
|
+
throw wire;
|
|
67
|
+
if (!(part instanceof DeflatedPart)) {
|
|
68
|
+
// Not deflated: its decoded size is its size.
|
|
69
|
+
const size = limits.decoded === Number.POSITIVE_INFINITY ? 0 : sizeOf(part);
|
|
70
|
+
if (size > limits.decoded)
|
|
71
|
+
throw tooLarge(size, limits.decoded, "decoded");
|
|
72
|
+
return part;
|
|
73
|
+
}
|
|
74
|
+
let inflated = part.inflated;
|
|
75
|
+
if (inflated === undefined) {
|
|
76
|
+
if (compression === undefined)
|
|
77
|
+
throw new Error("part: a deflated part this host did not inflate");
|
|
78
|
+
chordMetrics(context.telemetry.metrics).counter("chord.link.inflates").add(1);
|
|
79
|
+
inflated = compression.inflate(part.bytes, limits.decoded);
|
|
80
|
+
}
|
|
81
|
+
switch (inflated.kind) {
|
|
82
|
+
case "bytes":
|
|
83
|
+
return inflated.bytes;
|
|
84
|
+
case "too_large":
|
|
85
|
+
throw tooLarge(undefined, limits.decoded, "decoded");
|
|
86
|
+
case "corrupt":
|
|
87
|
+
throw new Error("part: no raw deflate stream", { cause: inflated.error });
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Inflates `part` with the web `DecompressionStream` (a host without a synchronous compressor), counting output bytes
|
|
92
|
+
* and stopping past `limit`; the outcome is kept on the part. `signal` (the link's close) cancels the stream at once,
|
|
93
|
+
* leaving no outcome. Counts one inflate (`chord.link.inflates`).
|
|
94
|
+
*/
|
|
95
|
+
export async function inflateAsync(part, limit, signal, context) {
|
|
96
|
+
chordMetrics(context.telemetry.metrics).counter("chord.link.inflates").add(1);
|
|
97
|
+
const reader = new Blob([part.bytes])
|
|
98
|
+
.stream()
|
|
99
|
+
.pipeThrough(new DecompressionStream("deflate-raw"))
|
|
100
|
+
.getReader();
|
|
101
|
+
// A pending read settles once cancelled: nothing of the stream outlives the link.
|
|
102
|
+
const cancel = () => void reader.cancel().catch(() => { });
|
|
103
|
+
signal.addEventListener("abort", cancel, { once: true });
|
|
104
|
+
const chunks = [];
|
|
105
|
+
let length = 0;
|
|
106
|
+
try {
|
|
107
|
+
for (;;) {
|
|
108
|
+
const { done, value } = await reader.read();
|
|
109
|
+
if (done || signal.aborted)
|
|
110
|
+
break;
|
|
111
|
+
length += value.byteLength;
|
|
112
|
+
if (length > limit) {
|
|
113
|
+
cancel();
|
|
114
|
+
part.inflated = { kind: "too_large" };
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
chunks.push(value);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
if (!signal.aborted)
|
|
122
|
+
part.inflated = { kind: "corrupt", error };
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
finally {
|
|
126
|
+
signal.removeEventListener("abort", cancel);
|
|
127
|
+
}
|
|
128
|
+
if (signal.aborted)
|
|
129
|
+
return;
|
|
130
|
+
const bytes = new Uint8Array(length);
|
|
131
|
+
let offset = 0;
|
|
132
|
+
for (const chunk of chunks) {
|
|
133
|
+
bytes.set(chunk, offset);
|
|
134
|
+
offset += chunk.byteLength;
|
|
135
|
+
}
|
|
136
|
+
part.inflated = { kind: "bytes", bytes };
|
|
137
|
+
}
|
|
138
|
+
/** A part's size on the wire: its UTF-8 bytes (counted for text, without encoding it). */
|
|
139
|
+
function sizeOf(part) {
|
|
140
|
+
if (typeof part !== "string")
|
|
141
|
+
return part instanceof DeflatedPart ? part.bytes.byteLength : part.byteLength;
|
|
142
|
+
let size = part.length;
|
|
143
|
+
for (let index = 0; index < part.length; index++) {
|
|
144
|
+
const unit = part.charCodeAt(index);
|
|
145
|
+
if (unit < 0x80)
|
|
146
|
+
continue;
|
|
147
|
+
if (unit < 0x800)
|
|
148
|
+
size += 1;
|
|
149
|
+
else if (unit >= 0xd800 && unit < 0xdc00 && (part.charCodeAt(index + 1) & 0xfc00) === 0xdc00) {
|
|
150
|
+
// A surrogate pair: four bytes for two units.
|
|
151
|
+
size += 2;
|
|
152
|
+
index++;
|
|
153
|
+
}
|
|
154
|
+
else
|
|
155
|
+
size += 2;
|
|
156
|
+
}
|
|
157
|
+
return size;
|
|
158
|
+
}
|
|
159
|
+
/** The error of a part past a limit (`size` unknown while inflating). */
|
|
160
|
+
function tooLarge(size, limit, measure) {
|
|
161
|
+
const what = size === undefined ? "a part" : `a part of ${size} bytes`;
|
|
162
|
+
const message = `${what} is over the ${measure} limit of ${limit} bytes`;
|
|
163
|
+
return new ChordError({ code: "too_large", reason: "part", message });
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=part.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"part.js","sourceRoot":"","sources":["../../src/link/part.ts"],"names":[],"mappings":"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","sourcesContent":["// Parts on links (R1, R2, Q2, §22): a value as it crosses a link (JSON text at its origin, its bytes once received, or\n// deflated by its origin), the size limits per part, compression at the origin, and opening a part where it is owned:\n// its size checked before anything is parsed or inflated, a deflated part inflated within the decoded limit.\n\nimport type { Context } from \"../context/index.ts\";\nimport { ChordError } from \"../data/index.ts\";\nimport { chordMetrics } from \"../telemetry.ts\";\n\n/**\n * A part (R1): a value as JSON text at its origin (and after a text decode), its UTF-8 bytes once a binary codec\n * received it (or at an origin that encoded it already), or those bytes deflated by an origin that compresses. Opaque\n * on the way: only the end that owns it opens and parses it, while handling its message (a malformed part is a protocol\n * error then), so a relay forwards it unparsed and still deflated.\n */\nexport type Part = string | Uint8Array | DeflatedPart;\n\n/** What inflating a deflated part gave: its JSON bytes, more than the decoded limit, or data that is no raw deflate. */\nexport type Inflated =\n\t| { readonly kind: \"bytes\"; readonly bytes: Uint8Array }\n\t| { readonly kind: \"too_large\" }\n\t| { readonly kind: \"corrupt\"; readonly error: unknown };\n\n/**\n * A JSON part deflated (raw deflate) by its origin. A host without a synchronous compressor inflates it before its\n * owner handles the message (`inflateAsync`) and keeps the outcome here for the owner to open.\n */\nexport class DeflatedPart {\n\treadonly bytes: Uint8Array;\n\t/** The asynchronous inflate's outcome; `undefined` until one ran. */\n\tinflated: Inflated | undefined;\n\n\tconstructor(bytes: Uint8Array) {\n\t\tthis.bytes = bytes;\n\t}\n}\n\n/**\n * A synchronous compressor (`createHost({ compression })`; `nodeCompression` for Node). `deflate` is raw deflate at\n * level 1. `inflate` gives at most `limit` bytes (`Infinity`: no limit; 0 allowed), `too_large` when the output would\n * be larger, `corrupt` for data that is no raw deflate stream.\n */\nexport interface Compression {\n\tdeflate(bytes: Uint8Array): Uint8Array;\n\tinflate(bytes: Uint8Array, limit: number): Inflated;\n}\n\n/** A link's limits per part as `accept`, `connect` and `resolve` take them, in bytes. */\nexport type PartLimits = {\n\t/** A part's size on the wire. */\n\treadonly part?: number;\n\t/** A part's size after inflating it. */\n\treadonly decoded?: number;\n};\n\n/** A link's limits in force; `Infinity` for none. */\nexport type Limits = { readonly part: number; readonly decoded: number };\n\nconst MiB = 1024 * 1024;\n\n/** The limits of untrusted links unless set (Q2); trusted links (IPC) have none. */\nconst UNTRUSTED: Limits = { part: 16 * MiB, decoded: 64 * MiB };\n\nconst NONE: Limits = { part: Number.POSITIVE_INFINITY, decoded: Number.POSITIVE_INFINITY };\n\n/** The limits of a link: the ones set, the defaults of its trust for the others. */\nexport function linkLimits(trusted: boolean, limits: PartLimits = {}): Limits {\n\tconst defaults = trusted ? NONE : UNTRUSTED;\n\treturn { part: limits.part ?? defaults.part, decoded: limits.decoded ?? defaults.decoded };\n}\n\n/** JSON parts above this many UTF-8 bytes are compressed at their origin (a protocol constant). */\nexport const COMPRESS_ABOVE = 16 * 1024;\n\nconst UTF8 = new TextEncoder();\n\n/**\n * A JSON part at its origin: deflated when the host compresses, its UTF-8 bytes are above `COMPRESS_ABOVE` and\n * deflating made it smaller; otherwise the text, or its bytes once they were encoded (never encoded twice). Counts one\n * deflate (`chord.link.deflates`).\n */\nexport function originPart(json: string, compression: Compression | undefined, context: Context): Part {\n\t// A UTF-16 unit is at most three UTF-8 bytes: a text this short is within the threshold without encoding it.\n\tif (compression === undefined || json.length * 3 <= COMPRESS_ABOVE) return json;\n\tconst bytes = UTF8.encode(json);\n\tif (bytes.byteLength <= COMPRESS_ABOVE) return bytes;\n\tchordMetrics(context.telemetry.metrics).counter(\"chord.link.deflates\").add(1);\n\tconst deflated = compression.deflate(bytes);\n\treturn deflated.byteLength < bytes.byteLength ? new DeflatedPart(deflated) : bytes;\n}\n\n/**\n * The `too_large/part` error of a part whose size on the wire (its UTF-8 bytes; a deflated part's deflated bytes) is\n * above `limit`; `undefined` within it. Nothing is parsed or inflated.\n */\nexport function oversized(part: Part, limit: number): ChordError | undefined {\n\tif (limit === Number.POSITIVE_INFINITY) return undefined;\n\tconst size = sizeOf(part);\n\treturn size > limit ? tooLarge(size, limit, \"wire\") : undefined;\n}\n\n/**\n * The JSON of a part its owner is about to parse: its size checked against `limits.part` first, then its decoded size\n * against `limits.decoded`, a deflated part inflated within it (synchronously with `compression`, or by the\n * asynchronous inflate that ran ahead of its owner). Throws `too_large/part` past a limit; throws a plain error for a\n * deflated part nothing inflated or that is no raw deflate stream (a protocol error). Counts one synchronous inflate\n * (`chord.link.inflates`).\n */\nexport function openPart(\n\tpart: Part,\n\tlimits: Limits,\n\tcompression: Compression | undefined,\n\tcontext: Context,\n): string | Uint8Array {\n\tconst wire = oversized(part, limits.part);\n\tif (wire !== undefined) throw wire;\n\tif (!(part instanceof DeflatedPart)) {\n\t\t// Not deflated: its decoded size is its size.\n\t\tconst size = limits.decoded === Number.POSITIVE_INFINITY ? 0 : sizeOf(part);\n\t\tif (size > limits.decoded) throw tooLarge(size, limits.decoded, \"decoded\");\n\t\treturn part;\n\t}\n\tlet inflated = part.inflated;\n\tif (inflated === undefined) {\n\t\tif (compression === undefined) throw new Error(\"part: a deflated part this host did not inflate\");\n\t\tchordMetrics(context.telemetry.metrics).counter(\"chord.link.inflates\").add(1);\n\t\tinflated = compression.inflate(part.bytes, limits.decoded);\n\t}\n\tswitch (inflated.kind) {\n\t\tcase \"bytes\":\n\t\t\treturn inflated.bytes;\n\t\tcase \"too_large\":\n\t\t\tthrow tooLarge(undefined, limits.decoded, \"decoded\");\n\t\tcase \"corrupt\":\n\t\t\tthrow new Error(\"part: no raw deflate stream\", { cause: inflated.error });\n\t}\n}\n\n/**\n * Inflates `part` with the web `DecompressionStream` (a host without a synchronous compressor), counting output bytes\n * and stopping past `limit`; the outcome is kept on the part. `signal` (the link's close) cancels the stream at once,\n * leaving no outcome. Counts one inflate (`chord.link.inflates`).\n */\nexport async function inflateAsync(\n\tpart: DeflatedPart,\n\tlimit: number,\n\tsignal: AbortSignal,\n\tcontext: Context,\n): Promise<void> {\n\tchordMetrics(context.telemetry.metrics).counter(\"chord.link.inflates\").add(1);\n\tconst reader = new Blob([part.bytes as Uint8Array<ArrayBuffer>])\n\t\t.stream()\n\t\t.pipeThrough(new DecompressionStream(\"deflate-raw\"))\n\t\t.getReader();\n\t// A pending read settles once cancelled: nothing of the stream outlives the link.\n\tconst cancel = (): void => void reader.cancel().catch(() => {});\n\tsignal.addEventListener(\"abort\", cancel, { once: true });\n\tconst chunks: Uint8Array[] = [];\n\tlet length = 0;\n\ttry {\n\t\tfor (;;) {\n\t\t\tconst { done, value } = await reader.read();\n\t\t\tif (done || signal.aborted) break;\n\t\t\tlength += value.byteLength;\n\t\t\tif (length > limit) {\n\t\t\t\tcancel();\n\t\t\t\tpart.inflated = { kind: \"too_large\" };\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tchunks.push(value);\n\t\t}\n\t} catch (error) {\n\t\tif (!signal.aborted) part.inflated = { kind: \"corrupt\", error };\n\t\treturn;\n\t} finally {\n\t\tsignal.removeEventListener(\"abort\", cancel);\n\t}\n\tif (signal.aborted) return;\n\tconst bytes = new Uint8Array(length);\n\tlet offset = 0;\n\tfor (const chunk of chunks) {\n\t\tbytes.set(chunk, offset);\n\t\toffset += chunk.byteLength;\n\t}\n\tpart.inflated = { kind: \"bytes\", bytes };\n}\n\n/** A part's size on the wire: its UTF-8 bytes (counted for text, without encoding it). */\nfunction sizeOf(part: Part): number {\n\tif (typeof part !== \"string\") return part instanceof DeflatedPart ? part.bytes.byteLength : part.byteLength;\n\tlet size = part.length;\n\tfor (let index = 0; index < part.length; index++) {\n\t\tconst unit = part.charCodeAt(index);\n\t\tif (unit < 0x80) continue;\n\t\tif (unit < 0x800) size += 1;\n\t\telse if (unit >= 0xd800 && unit < 0xdc00 && (part.charCodeAt(index + 1) & 0xfc00) === 0xdc00) {\n\t\t\t// A surrogate pair: four bytes for two units.\n\t\t\tsize += 2;\n\t\t\tindex++;\n\t\t} else size += 2;\n\t}\n\treturn size;\n}\n\n/** The error of a part past a limit (`size` unknown while inflating). */\nfunction tooLarge(size: number | undefined, limit: number, measure: \"wire\" | \"decoded\"): ChordError {\n\tconst what = size === undefined ? \"a part\" : `a part of ${size} bytes`;\n\tconst message = `${what} is over the ${measure} limit of ${limit} bytes`;\n\treturn new ChordError({ code: \"too_large\", reason: \"part\", message });\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/link/text.ts"],"names":[],"mappings":"AASA,OAAO,EAGN,KAAK,KAAK,EAEV,KAAK,OAAO,EAGZ,MAAM,cAAc,CAAC;AAMtB,0EAA0E;AAC1E,eAAO,MAAM,SAAS,EAAE,KA0BvB,CAAC;AAEF,4GAA4G;AAC5G,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAExD"}
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
// The text codec (2b): one JSON tuple per message, Delta style (a short kind tag, positional fields, no field names),
|
|
2
|
+
// and `describeMessage`, which prints any message in that form. A part's JSON text is spliced into the tuple as it is;
|
|
3
|
+
// decoding parses the tuple and writes each part back as text (one parse per part per hop: a debugging codec). Byte
|
|
4
|
+
// segments of a payload marked as carrying bytes follow the tuple after a newline (JSON text never contains a raw
|
|
5
|
+
// one), their lengths the tuple's last field. A message with an origin is wrapped: `["@", origin, tuple]`. Every part
|
|
6
|
+
// is tagged with its codec, so no JSON value is reserved: `[0, json]`, or `[1, base64]` for a part its origin deflated
|
|
7
|
+
// (the text codec itself never compresses). A `hold`'s or `call`'s trace carrier is an optional element after its
|
|
8
|
+
// other fields (slice 9); a `call`'s old-work flag (`old`) follows it as `true` (the carrier then `null` when absent).
|
|
9
|
+
import { CAUSE_KINDS, NO_RETIRED, } from "./message.js";
|
|
10
|
+
import { parseJson, partText, textPart } from "./values.js";
|
|
11
|
+
const UTF8 = new TextEncoder();
|
|
12
|
+
/** Messages as JSON tuples: readable on the wire, for debugging links. */
|
|
13
|
+
export const textCodec = {
|
|
14
|
+
name: "text",
|
|
15
|
+
encode(message) {
|
|
16
|
+
const json = UTF8.encode(tuple(message));
|
|
17
|
+
const segments = segmentsOf(message);
|
|
18
|
+
if (segments === undefined)
|
|
19
|
+
return json;
|
|
20
|
+
let length = json.byteLength + 1;
|
|
21
|
+
for (const segment of segments)
|
|
22
|
+
length += segment.byteLength;
|
|
23
|
+
const bytes = new Uint8Array(length);
|
|
24
|
+
bytes.set(json, 0);
|
|
25
|
+
bytes[json.byteLength] = NEWLINE;
|
|
26
|
+
let offset = json.byteLength + 1;
|
|
27
|
+
for (const segment of segments) {
|
|
28
|
+
bytes.set(segment, offset);
|
|
29
|
+
offset += segment.byteLength;
|
|
30
|
+
}
|
|
31
|
+
return bytes;
|
|
32
|
+
},
|
|
33
|
+
decode(bytes) {
|
|
34
|
+
const newline = bytes.indexOf(NEWLINE);
|
|
35
|
+
const json = newline === -1 ? bytes : bytes.subarray(0, newline);
|
|
36
|
+
const rest = newline === -1 ? bytes.subarray(bytes.byteLength) : bytes.subarray(newline + 1);
|
|
37
|
+
const fields = parseJson(json);
|
|
38
|
+
if (!Array.isArray(fields))
|
|
39
|
+
throw new Error("text: a message is a tuple");
|
|
40
|
+
return fromTuple(fields, rest);
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
/** A message in the text codec's tuple form, for logs and tests (byte segments show as `{"$bytes": i}`). */
|
|
44
|
+
export function describeMessage(message) {
|
|
45
|
+
return tuple(message);
|
|
46
|
+
}
|
|
47
|
+
const NEWLINE = 0x0a;
|
|
48
|
+
/** The segments following a payload's tuple; `undefined` without a payload marked as carrying bytes. */
|
|
49
|
+
function segmentsOf(message) {
|
|
50
|
+
return message.kind === "call" || message.kind === "result" ? message.segments : undefined;
|
|
51
|
+
}
|
|
52
|
+
/** The tuple's JSON text, parts spliced in; wrapped with its origin when it has one. */
|
|
53
|
+
function tuple(message) {
|
|
54
|
+
const origin = "origin" in message ? message.origin : undefined;
|
|
55
|
+
return origin === undefined ? ownTuple(message) : `["@",${origin},${ownTuple(message)}]`;
|
|
56
|
+
}
|
|
57
|
+
/** The tuple of a message's own fields. */
|
|
58
|
+
function ownTuple(message) {
|
|
59
|
+
switch (message.kind) {
|
|
60
|
+
case "hello":
|
|
61
|
+
return json(["h", message.protocol, message.incarnation, message.calls]);
|
|
62
|
+
case "hold": {
|
|
63
|
+
const { address, principal, incarnation, chain, limit, trace } = message;
|
|
64
|
+
const head = json(["H", message.hold, message.type, message.version, message.fingerprint]).slice(0, -1);
|
|
65
|
+
// Optional trailing fields: an absent one in the middle is null, absent ones at the end are left out.
|
|
66
|
+
const optional = [principal ?? null, incarnation ?? null, chain ?? null, limit ?? null, trace ?? null];
|
|
67
|
+
while (optional.length > 0 && optional.at(-1) === null)
|
|
68
|
+
optional.pop();
|
|
69
|
+
const rest = optional.map((field) => `,${json(field)}`).join("");
|
|
70
|
+
return `${head},${partText(message.params)},${json([address.kind, address.params])}${rest}]`;
|
|
71
|
+
}
|
|
72
|
+
case "release":
|
|
73
|
+
return json(["R", message.hold]);
|
|
74
|
+
case "call": {
|
|
75
|
+
const head = json(["c", message.call, message.hold, message.method]);
|
|
76
|
+
const { args, segments, trace, old } = message;
|
|
77
|
+
if (trace === undefined && old !== true)
|
|
78
|
+
return withPayload(head, args, segments);
|
|
79
|
+
// With a trace or the old-work flag the payload's fields are positional (null when absent), the carrier next
|
|
80
|
+
// (null when absent before the flag), the flag last.
|
|
81
|
+
const lengths = segments === undefined ? "null" : json(segments.map((segment) => segment.byteLength));
|
|
82
|
+
const part = args === undefined ? "null" : partText(args);
|
|
83
|
+
const tail = old === true ? `${json(trace ?? null)},true` : json(trace);
|
|
84
|
+
return `${head.slice(0, -1)},${part},${lengths},${tail}]`;
|
|
85
|
+
}
|
|
86
|
+
case "abort":
|
|
87
|
+
return json(["x", message.call]);
|
|
88
|
+
case "bound":
|
|
89
|
+
return `["b",[${message.holds.map(boundEntry).join(",")}]]`;
|
|
90
|
+
case "state":
|
|
91
|
+
return `["s",[${message.holds.map(stateEntry).join(",")}]]`;
|
|
92
|
+
case "failed": {
|
|
93
|
+
const kind = message.cause.kind[0];
|
|
94
|
+
const retryIn = message.retryIn === undefined ? [] : [message.retryIn];
|
|
95
|
+
return json(["f", message.hold, kind, message.cause.error, ...retryIn]);
|
|
96
|
+
}
|
|
97
|
+
case "result":
|
|
98
|
+
return withPayload(json(["r", message.call]), message.value, message.segments);
|
|
99
|
+
case "error":
|
|
100
|
+
return json(["e", message.call, message.error]);
|
|
101
|
+
case "gone":
|
|
102
|
+
return json(["g", message.hold, message.error]);
|
|
103
|
+
case "revoke":
|
|
104
|
+
return json(["V", message.revocation]);
|
|
105
|
+
case "retry":
|
|
106
|
+
return json(["T", message.hold, message.hops]);
|
|
107
|
+
case "loading":
|
|
108
|
+
return json(["l", message.hold]);
|
|
109
|
+
case "ack":
|
|
110
|
+
return json(["a"]);
|
|
111
|
+
case "closed":
|
|
112
|
+
return json(["C"]);
|
|
113
|
+
case "ping":
|
|
114
|
+
return json(["p"]);
|
|
115
|
+
case "pong":
|
|
116
|
+
return json(["P"]);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
function json(value) {
|
|
120
|
+
return JSON.stringify(value);
|
|
121
|
+
}
|
|
122
|
+
/** `[hold, variant, [[member, value]…], failed?]`. */
|
|
123
|
+
function boundEntry({ hold, variant, members, failed }) {
|
|
124
|
+
const pairs = members.map(({ member, value }) => `[${member},${partText(value)}]`).join(",");
|
|
125
|
+
return `[${hold},${variant},[${pairs}]${failedField(failed)}]`;
|
|
126
|
+
}
|
|
127
|
+
/** `[hold, [[member, ops]…], failed?, retired?]`; `failed` is `[]` when only `retired` follows. */
|
|
128
|
+
function stateEntry({ hold, members, failed, retired }) {
|
|
129
|
+
const pairs = members.map(({ member, ops }) => `[${member},${partText(ops)}]`).join(",");
|
|
130
|
+
if (retired.length === 0)
|
|
131
|
+
return `[${hold},[${pairs}]${failedField(failed)}]`;
|
|
132
|
+
return `[${hold},[${pairs}],${json(failed.map(({ member, error }) => [member, error]))},${json(retired)}]`;
|
|
133
|
+
}
|
|
134
|
+
/** The failures as an entry's optional last field: left out when there are none. */
|
|
135
|
+
function failedField(failed) {
|
|
136
|
+
return failed.length === 0 ? "" : `,${json(failed.map(({ member, error }) => [member, error]))}`;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* A tuple (its closed JSON `head`) ending in a payload part; one marked as carrying bytes adds the segments' lengths
|
|
140
|
+
* as the last field.
|
|
141
|
+
*/
|
|
142
|
+
function withPayload(head, part, segments) {
|
|
143
|
+
if (part === undefined)
|
|
144
|
+
return head;
|
|
145
|
+
const prefix = `${head.slice(0, -1)},${partText(part)}`;
|
|
146
|
+
if (segments === undefined)
|
|
147
|
+
return `${prefix}]`;
|
|
148
|
+
return `${prefix},${json(segments.map((segment) => segment.byteLength))}]`;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* A message from its tuple: the tag and arity checked, lists of pairs checked as lists, parts written back as text;
|
|
152
|
+
* the field types are the message schema's to check. `rest` holds the segments, which only a payload marked as
|
|
153
|
+
* carrying bytes may have.
|
|
154
|
+
*/
|
|
155
|
+
function fromTuple(fields, rest) {
|
|
156
|
+
if (fields[0] !== "@")
|
|
157
|
+
return fromFields(fields, rest);
|
|
158
|
+
const inner = fields.length === 3 ? list(fields[2]) : [];
|
|
159
|
+
if (inner[0] === "@" || inner.length === 0)
|
|
160
|
+
throw new Error("text: an origin wraps one message");
|
|
161
|
+
const message = fromFields(inner, rest);
|
|
162
|
+
// A fresh object; the message schema checks the origin and refuses one on a kind without it.
|
|
163
|
+
message.origin = fields[1];
|
|
164
|
+
return message;
|
|
165
|
+
}
|
|
166
|
+
/** A message from its own fields' tuple (see `fromTuple`). */
|
|
167
|
+
function fromFields(fields, rest) {
|
|
168
|
+
const [tag, ...f] = fields;
|
|
169
|
+
const arity = (...allowed) => {
|
|
170
|
+
if (!allowed.includes(f.length))
|
|
171
|
+
throw new Error(`text: a "${String(tag)}" message with ${f.length} fields`);
|
|
172
|
+
};
|
|
173
|
+
if (tag !== "c" && tag !== "r" && rest.byteLength > 0) {
|
|
174
|
+
throw new Error("text: byte segments without a payload that carries them");
|
|
175
|
+
}
|
|
176
|
+
// The message schema establishes the types of the fields taken here.
|
|
177
|
+
const field = (index) => f[index];
|
|
178
|
+
switch (tag) {
|
|
179
|
+
case "h":
|
|
180
|
+
arity(3);
|
|
181
|
+
return { kind: "hello", protocol: field(0), incarnation: field(1), calls: field(2) };
|
|
182
|
+
case "H": {
|
|
183
|
+
arity(6, 7, 8, 9, 10, 11);
|
|
184
|
+
const address = list(f[5]);
|
|
185
|
+
if (address.length !== 2)
|
|
186
|
+
throw new Error("text: an address is a pair");
|
|
187
|
+
const [principal, incarnation, chain, limit, trace] = [6, 7, 8, 9, 10].map((index) => f[index] ?? null);
|
|
188
|
+
return {
|
|
189
|
+
kind: "hold",
|
|
190
|
+
hold: field(0),
|
|
191
|
+
type: field(1),
|
|
192
|
+
version: field(2),
|
|
193
|
+
fingerprint: field(3),
|
|
194
|
+
params: textPart(f[4]),
|
|
195
|
+
address: { kind: address[0], params: address[1] },
|
|
196
|
+
...(principal === null ? {} : { principal: principal }),
|
|
197
|
+
...(incarnation === null ? {} : { incarnation: incarnation }),
|
|
198
|
+
...(chain === null ? {} : { chain: chain }),
|
|
199
|
+
...(limit === null ? {} : { limit: limit }),
|
|
200
|
+
...(trace === null ? {} : { trace: trace }),
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
case "R":
|
|
204
|
+
arity(1);
|
|
205
|
+
return { kind: "release", hold: field(0) };
|
|
206
|
+
case "c": {
|
|
207
|
+
arity(3, 4, 5, 6, 7);
|
|
208
|
+
const call = {
|
|
209
|
+
kind: "call",
|
|
210
|
+
call: field(0),
|
|
211
|
+
hold: field(1),
|
|
212
|
+
method: field(2),
|
|
213
|
+
};
|
|
214
|
+
if (f.length < 6)
|
|
215
|
+
return { ...call, ...payload("args", f.slice(3), rest) };
|
|
216
|
+
// With a trace or the old-work flag: the payload's fields positional, null when absent.
|
|
217
|
+
const fields = f[3] === null ? [] : f[4] === null ? [f[3]] : [f[3], f[4]];
|
|
218
|
+
// The message schema checks the carrier and the flag (`true` only).
|
|
219
|
+
const trace = f[5] === null ? {} : { trace: f[5] };
|
|
220
|
+
const old = f.length === 7 ? { old: f[6] } : {};
|
|
221
|
+
return { ...call, ...payload("args", fields, rest), ...trace, ...old };
|
|
222
|
+
}
|
|
223
|
+
case "x":
|
|
224
|
+
arity(1);
|
|
225
|
+
return { kind: "abort", call: field(0) };
|
|
226
|
+
case "b":
|
|
227
|
+
arity(1);
|
|
228
|
+
return {
|
|
229
|
+
kind: "bound",
|
|
230
|
+
holds: list(f[0]).map((entry) => {
|
|
231
|
+
const fields = list(entry);
|
|
232
|
+
if (fields.length !== 3 && fields.length !== 4) {
|
|
233
|
+
throw new Error(`text: a bound entry with ${fields.length} fields`);
|
|
234
|
+
}
|
|
235
|
+
const [hold, variant, members, failed] = fields;
|
|
236
|
+
return {
|
|
237
|
+
hold: hold,
|
|
238
|
+
variant: variant,
|
|
239
|
+
members: pairs(members).map(([member, value]) => ({
|
|
240
|
+
member: member,
|
|
241
|
+
value: textPart(value),
|
|
242
|
+
})),
|
|
243
|
+
failed: failures(failed),
|
|
244
|
+
};
|
|
245
|
+
}),
|
|
246
|
+
};
|
|
247
|
+
case "s":
|
|
248
|
+
arity(1);
|
|
249
|
+
return {
|
|
250
|
+
kind: "state",
|
|
251
|
+
holds: list(f[0]).map((entry) => {
|
|
252
|
+
const fields = list(entry);
|
|
253
|
+
if (fields.length < 2 || fields.length > 4) {
|
|
254
|
+
throw new Error(`text: a state entry with ${fields.length} fields`);
|
|
255
|
+
}
|
|
256
|
+
const [hold, members, failed, retired] = fields;
|
|
257
|
+
return {
|
|
258
|
+
hold: hold,
|
|
259
|
+
members: pairs(members).map(([member, ops]) => ({ member: member, ops: textPart(ops) })),
|
|
260
|
+
failed: failures(failed),
|
|
261
|
+
// The message schema checks each index.
|
|
262
|
+
retired: retired === undefined ? NO_RETIRED : list(retired),
|
|
263
|
+
};
|
|
264
|
+
}),
|
|
265
|
+
};
|
|
266
|
+
case "f": {
|
|
267
|
+
arity(3, 4);
|
|
268
|
+
const causeKind = CAUSE_KINDS.find((each) => each[0] === f[1]);
|
|
269
|
+
if (causeKind === undefined)
|
|
270
|
+
throw new Error("text: an unknown failure kind");
|
|
271
|
+
// The schema check after decoding establishes the wire error.
|
|
272
|
+
const error = f[2];
|
|
273
|
+
const cause = { kind: causeKind, error };
|
|
274
|
+
return { kind: "failed", hold: field(0), cause, ...(f.length === 4 ? { retryIn: field(3) } : {}) };
|
|
275
|
+
}
|
|
276
|
+
case "r":
|
|
277
|
+
arity(1, 2, 3);
|
|
278
|
+
return { kind: "result", call: field(0), ...payload("value", f.slice(1), rest) };
|
|
279
|
+
case "e":
|
|
280
|
+
arity(2);
|
|
281
|
+
return { kind: "error", call: field(0), error: field(1) };
|
|
282
|
+
case "g":
|
|
283
|
+
arity(2);
|
|
284
|
+
return { kind: "gone", hold: field(0), error: field(1) };
|
|
285
|
+
case "V":
|
|
286
|
+
arity(1);
|
|
287
|
+
return { kind: "revoke", revocation: f[0] };
|
|
288
|
+
case "T":
|
|
289
|
+
arity(2);
|
|
290
|
+
return { kind: "retry", hold: field(0), hops: field(1) };
|
|
291
|
+
case "l":
|
|
292
|
+
arity(1);
|
|
293
|
+
return { kind: "loading", hold: field(0) };
|
|
294
|
+
case "a":
|
|
295
|
+
arity(0);
|
|
296
|
+
return { kind: "ack" };
|
|
297
|
+
case "C":
|
|
298
|
+
arity(0);
|
|
299
|
+
// Its origin is the wrapper's; 0 without one, which the message schema refuses.
|
|
300
|
+
return { kind: "closed", origin: 0 };
|
|
301
|
+
case "p":
|
|
302
|
+
arity(0);
|
|
303
|
+
return { kind: "ping" };
|
|
304
|
+
case "P":
|
|
305
|
+
arity(0);
|
|
306
|
+
return { kind: "pong" };
|
|
307
|
+
default:
|
|
308
|
+
throw new Error("text: an unknown kind");
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* A payload part from its fields: none, the value, or the value and its segments' lengths (marked as carrying bytes,
|
|
313
|
+
* the segments views of `rest`).
|
|
314
|
+
*/
|
|
315
|
+
function payload(key, fields, rest) {
|
|
316
|
+
if (fields.length < 2) {
|
|
317
|
+
if (rest.byteLength > 0)
|
|
318
|
+
throw new Error("text: byte segments without a payload that carries them");
|
|
319
|
+
return (fields.length === 0 ? {} : { [key]: textPart(fields[0]) });
|
|
320
|
+
}
|
|
321
|
+
const lengths = list(fields[1]);
|
|
322
|
+
let offset = 0;
|
|
323
|
+
const segments = lengths.map((length) => {
|
|
324
|
+
if (!Number.isSafeInteger(length) || length < 0)
|
|
325
|
+
throw new Error("text: a segment length");
|
|
326
|
+
const segment = rest.subarray(offset, offset + length);
|
|
327
|
+
offset += length;
|
|
328
|
+
return segment;
|
|
329
|
+
});
|
|
330
|
+
if (offset !== rest.byteLength)
|
|
331
|
+
throw new Error("text: the segments do not fill the message");
|
|
332
|
+
return { [key]: textPart(fields[0]), segments };
|
|
333
|
+
}
|
|
334
|
+
function list(value) {
|
|
335
|
+
if (!Array.isArray(value))
|
|
336
|
+
throw new Error("text: expected a list");
|
|
337
|
+
return value;
|
|
338
|
+
}
|
|
339
|
+
/** A list of `[index, value]` pairs. */
|
|
340
|
+
function pairs(value) {
|
|
341
|
+
return list(value).map((pair) => {
|
|
342
|
+
const entry = list(pair);
|
|
343
|
+
if (entry.length !== 2)
|
|
344
|
+
throw new Error("text: expected a pair");
|
|
345
|
+
return entry;
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
/** The optional failures field; absent means none. */
|
|
349
|
+
function failures(value) {
|
|
350
|
+
if (value === undefined)
|
|
351
|
+
return [];
|
|
352
|
+
// The message schema checks each error's shape.
|
|
353
|
+
return pairs(value).map(([member, error]) => ({ member, error }));
|
|
354
|
+
}
|
|
355
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/link/text.ts"],"names":[],"mappings":"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","sourcesContent":["// The text codec (2b): one JSON tuple per message, Delta style (a short kind tag, positional fields, no field names),\n// and `describeMessage`, which prints any message in that form. A part's JSON text is spliced into the tuple as it is;\n// decoding parses the tuple and writes each part back as text (one parse per part per hop: a debugging codec). Byte\n// segments of a payload marked as carrying bytes follow the tuple after a newline (JSON text never contains a raw\n// one), their lengths the tuple's last field. A message with an origin is wrapped: `[\"@\", origin, tuple]`. Every part\n// is tagged with its codec, so no JSON value is reserved: `[0, json]`, or `[1, base64]` for a part its origin deflated\n// (the text codec itself never compresses). A `hold`'s or `call`'s trace carrier is an optional element after its\n// other fields (slice 9); a `call`'s old-work flag (`old`) follows it as `true` (the carrier then `null` when absent).\n\nimport {\n\ttype BoundEntry,\n\tCAUSE_KINDS,\n\ttype Codec,\n\ttype FailedMember,\n\ttype Message,\n\tNO_RETIRED,\n\ttype StateEntry,\n} from \"./message.ts\";\nimport type { Part } from \"./part.ts\";\nimport { parseJson, partText, textPart } from \"./values.ts\";\n\nconst UTF8 = new TextEncoder();\n\n/** Messages as JSON tuples: readable on the wire, for debugging links. */\nexport const textCodec: Codec = {\n\tname: \"text\",\n\tencode(message) {\n\t\tconst json = UTF8.encode(tuple(message));\n\t\tconst segments = segmentsOf(message);\n\t\tif (segments === undefined) return json;\n\t\tlet length = json.byteLength + 1;\n\t\tfor (const segment of segments) length += segment.byteLength;\n\t\tconst bytes = new Uint8Array(length);\n\t\tbytes.set(json, 0);\n\t\tbytes[json.byteLength] = NEWLINE;\n\t\tlet offset = json.byteLength + 1;\n\t\tfor (const segment of segments) {\n\t\t\tbytes.set(segment, offset);\n\t\t\toffset += segment.byteLength;\n\t\t}\n\t\treturn bytes;\n\t},\n\tdecode(bytes) {\n\t\tconst newline = bytes.indexOf(NEWLINE);\n\t\tconst json = newline === -1 ? bytes : bytes.subarray(0, newline);\n\t\tconst rest = newline === -1 ? bytes.subarray(bytes.byteLength) : bytes.subarray(newline + 1);\n\t\tconst fields = parseJson(json);\n\t\tif (!Array.isArray(fields)) throw new Error(\"text: a message is a tuple\");\n\t\treturn fromTuple(fields, rest);\n\t},\n};\n\n/** A message in the text codec's tuple form, for logs and tests (byte segments show as `{\"$bytes\": i}`). */\nexport function describeMessage(message: Message): string {\n\treturn tuple(message);\n}\n\nconst NEWLINE = 0x0a;\n\n/** The segments following a payload's tuple; `undefined` without a payload marked as carrying bytes. */\nfunction segmentsOf(message: Message): readonly Uint8Array[] | undefined {\n\treturn message.kind === \"call\" || message.kind === \"result\" ? message.segments : undefined;\n}\n\n/** The tuple's JSON text, parts spliced in; wrapped with its origin when it has one. */\nfunction tuple(message: Message): string {\n\tconst origin = \"origin\" in message ? message.origin : undefined;\n\treturn origin === undefined ? ownTuple(message) : `[\"@\",${origin},${ownTuple(message)}]`;\n}\n\n/** The tuple of a message's own fields. */\nfunction ownTuple(message: Message): string {\n\tswitch (message.kind) {\n\t\tcase \"hello\":\n\t\t\treturn json([\"h\", message.protocol, message.incarnation, message.calls]);\n\t\tcase \"hold\": {\n\t\t\tconst { address, principal, incarnation, chain, limit, trace } = message;\n\t\t\tconst head = json([\"H\", message.hold, message.type, message.version, message.fingerprint]).slice(0, -1);\n\t\t\t// Optional trailing fields: an absent one in the middle is null, absent ones at the end are left out.\n\t\t\tconst optional = [principal ?? null, incarnation ?? null, chain ?? null, limit ?? null, trace ?? null];\n\t\t\twhile (optional.length > 0 && optional.at(-1) === null) optional.pop();\n\t\t\tconst rest = optional.map((field) => `,${json(field)}`).join(\"\");\n\t\t\treturn `${head},${partText(message.params)},${json([address.kind, address.params])}${rest}]`;\n\t\t}\n\t\tcase \"release\":\n\t\t\treturn json([\"R\", message.hold]);\n\t\tcase \"call\": {\n\t\t\tconst head = json([\"c\", message.call, message.hold, message.method]);\n\t\t\tconst { args, segments, trace, old } = message;\n\t\t\tif (trace === undefined && old !== true) return withPayload(head, args, segments);\n\t\t\t// With a trace or the old-work flag the payload's fields are positional (null when absent), the carrier next\n\t\t\t// (null when absent before the flag), the flag last.\n\t\t\tconst lengths = segments === undefined ? \"null\" : json(segments.map((segment) => segment.byteLength));\n\t\t\tconst part = args === undefined ? \"null\" : partText(args);\n\t\t\tconst tail = old === true ? `${json(trace ?? null)},true` : json(trace);\n\t\t\treturn `${head.slice(0, -1)},${part},${lengths},${tail}]`;\n\t\t}\n\t\tcase \"abort\":\n\t\t\treturn json([\"x\", message.call]);\n\t\tcase \"bound\":\n\t\t\treturn `[\"b\",[${message.holds.map(boundEntry).join(\",\")}]]`;\n\t\tcase \"state\":\n\t\t\treturn `[\"s\",[${message.holds.map(stateEntry).join(\",\")}]]`;\n\t\tcase \"failed\": {\n\t\t\tconst kind = message.cause.kind[0];\n\t\t\tconst retryIn = message.retryIn === undefined ? [] : [message.retryIn];\n\t\t\treturn json([\"f\", message.hold, kind, message.cause.error, ...retryIn]);\n\t\t}\n\t\tcase \"result\":\n\t\t\treturn withPayload(json([\"r\", message.call]), message.value, message.segments);\n\t\tcase \"error\":\n\t\t\treturn json([\"e\", message.call, message.error]);\n\t\tcase \"gone\":\n\t\t\treturn json([\"g\", message.hold, message.error]);\n\t\tcase \"revoke\":\n\t\t\treturn json([\"V\", message.revocation]);\n\t\tcase \"retry\":\n\t\t\treturn json([\"T\", message.hold, message.hops]);\n\t\tcase \"loading\":\n\t\t\treturn json([\"l\", message.hold]);\n\t\tcase \"ack\":\n\t\t\treturn json([\"a\"]);\n\t\tcase \"closed\":\n\t\t\treturn json([\"C\"]);\n\t\tcase \"ping\":\n\t\t\treturn json([\"p\"]);\n\t\tcase \"pong\":\n\t\t\treturn json([\"P\"]);\n\t}\n}\n\nfunction json(value: unknown): string {\n\treturn JSON.stringify(value);\n}\n\n/** `[hold, variant, [[member, value]…], failed?]`. */\nfunction boundEntry({ hold, variant, members, failed }: BoundEntry): string {\n\tconst pairs = members.map(({ member, value }) => `[${member},${partText(value)}]`).join(\",\");\n\treturn `[${hold},${variant},[${pairs}]${failedField(failed)}]`;\n}\n\n/** `[hold, [[member, ops]…], failed?, retired?]`; `failed` is `[]` when only `retired` follows. */\nfunction stateEntry({ hold, members, failed, retired }: StateEntry): string {\n\tconst pairs = members.map(({ member, ops }) => `[${member},${partText(ops)}]`).join(\",\");\n\tif (retired.length === 0) return `[${hold},[${pairs}]${failedField(failed)}]`;\n\treturn `[${hold},[${pairs}],${json(failed.map(({ member, error }) => [member, error]))},${json(retired)}]`;\n}\n\n/** The failures as an entry's optional last field: left out when there are none. */\nfunction failedField(failed: readonly FailedMember[]): string {\n\treturn failed.length === 0 ? \"\" : `,${json(failed.map(({ member, error }) => [member, error]))}`;\n}\n\n/**\n * A tuple (its closed JSON `head`) ending in a payload part; one marked as carrying bytes adds the segments' lengths\n * as the last field.\n */\nfunction withPayload(head: string, part: Part | undefined, segments: readonly Uint8Array[] | undefined): string {\n\tif (part === undefined) return head;\n\tconst prefix = `${head.slice(0, -1)},${partText(part)}`;\n\tif (segments === undefined) return `${prefix}]`;\n\treturn `${prefix},${json(segments.map((segment) => segment.byteLength))}]`;\n}\n\n/**\n * A message from its tuple: the tag and arity checked, lists of pairs checked as lists, parts written back as text;\n * the field types are the message schema's to check. `rest` holds the segments, which only a payload marked as\n * carrying bytes may have.\n */\nfunction fromTuple(fields: unknown[], rest: Uint8Array): Message {\n\tif (fields[0] !== \"@\") return fromFields(fields, rest);\n\tconst inner = fields.length === 3 ? list(fields[2]) : [];\n\tif (inner[0] === \"@\" || inner.length === 0) throw new Error(\"text: an origin wraps one message\");\n\tconst message = fromFields(inner, rest);\n\t// A fresh object; the message schema checks the origin and refuses one on a kind without it.\n\t(message as { origin?: unknown }).origin = fields[1];\n\treturn message;\n}\n\n/** A message from its own fields' tuple (see `fromTuple`). */\nfunction fromFields(fields: unknown[], rest: Uint8Array): Message {\n\tconst [tag, ...f] = fields;\n\tconst arity = (...allowed: number[]): void => {\n\t\tif (!allowed.includes(f.length)) throw new Error(`text: a \"${String(tag)}\" message with ${f.length} fields`);\n\t};\n\tif (tag !== \"c\" && tag !== \"r\" && rest.byteLength > 0) {\n\t\tthrow new Error(\"text: byte segments without a payload that carries them\");\n\t}\n\t// The message schema establishes the types of the fields taken here.\n\tconst field = <T>(index: number): T => f[index] as T;\n\tswitch (tag) {\n\t\tcase \"h\":\n\t\t\tarity(3);\n\t\t\treturn { kind: \"hello\", protocol: field(0), incarnation: field(1), calls: field(2) };\n\t\tcase \"H\": {\n\t\t\tarity(6, 7, 8, 9, 10, 11);\n\t\t\tconst address = list(f[5]);\n\t\t\tif (address.length !== 2) throw new Error(\"text: an address is a pair\");\n\t\t\tconst [principal, incarnation, chain, limit, trace] = [6, 7, 8, 9, 10].map((index) => f[index] ?? null);\n\t\t\treturn {\n\t\t\t\tkind: \"hold\",\n\t\t\t\thold: field(0),\n\t\t\t\ttype: field(1),\n\t\t\t\tversion: field(2),\n\t\t\t\tfingerprint: field(3),\n\t\t\t\tparams: textPart(f[4]),\n\t\t\t\taddress: { kind: address[0] as string, params: address[1] },\n\t\t\t\t...(principal === null ? {} : { principal: principal as { kind: string } }),\n\t\t\t\t...(incarnation === null ? {} : { incarnation: incarnation as string }),\n\t\t\t\t...(chain === null ? {} : { chain: chain as string[] }),\n\t\t\t\t...(limit === null ? {} : { limit: limit as number }),\n\t\t\t\t...(trace === null ? {} : { trace: trace as Record<string, string> }),\n\t\t\t};\n\t\t}\n\t\tcase \"R\":\n\t\t\tarity(1);\n\t\t\treturn { kind: \"release\", hold: field(0) };\n\t\tcase \"c\": {\n\t\t\tarity(3, 4, 5, 6, 7);\n\t\t\tconst call = {\n\t\t\t\tkind: \"call\",\n\t\t\t\tcall: field<number>(0),\n\t\t\t\thold: field<number>(1),\n\t\t\t\tmethod: field<number>(2),\n\t\t\t} as const;\n\t\t\tif (f.length < 6) return { ...call, ...payload(\"args\", f.slice(3), rest) };\n\t\t\t// With a trace or the old-work flag: the payload's fields positional, null when absent.\n\t\t\tconst fields = f[3] === null ? [] : f[4] === null ? [f[3]] : [f[3], f[4]];\n\t\t\t// The message schema checks the carrier and the flag (`true` only).\n\t\t\tconst trace = f[5] === null ? {} : { trace: f[5] as Record<string, string> };\n\t\t\tconst old = f.length === 7 ? { old: f[6] as true } : {};\n\t\t\treturn { ...call, ...payload(\"args\", fields, rest), ...trace, ...old };\n\t\t}\n\t\tcase \"x\":\n\t\t\tarity(1);\n\t\t\treturn { kind: \"abort\", call: field(0) };\n\t\tcase \"b\":\n\t\t\tarity(1);\n\t\t\treturn {\n\t\t\t\tkind: \"bound\",\n\t\t\t\tholds: list(f[0]).map((entry): BoundEntry => {\n\t\t\t\t\tconst fields = list(entry);\n\t\t\t\t\tif (fields.length !== 3 && fields.length !== 4) {\n\t\t\t\t\t\tthrow new Error(`text: a bound entry with ${fields.length} fields`);\n\t\t\t\t\t}\n\t\t\t\t\tconst [hold, variant, members, failed] = fields;\n\t\t\t\t\treturn {\n\t\t\t\t\t\thold: hold as number,\n\t\t\t\t\t\tvariant: variant as number,\n\t\t\t\t\t\tmembers: pairs(members).map(([member, value]) => ({\n\t\t\t\t\t\t\tmember: member as number,\n\t\t\t\t\t\t\tvalue: textPart(value),\n\t\t\t\t\t\t})),\n\t\t\t\t\t\tfailed: failures(failed),\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t};\n\t\tcase \"s\":\n\t\t\tarity(1);\n\t\t\treturn {\n\t\t\t\tkind: \"state\",\n\t\t\t\tholds: list(f[0]).map((entry): StateEntry => {\n\t\t\t\t\tconst fields = list(entry);\n\t\t\t\t\tif (fields.length < 2 || fields.length > 4) {\n\t\t\t\t\t\tthrow new Error(`text: a state entry with ${fields.length} fields`);\n\t\t\t\t\t}\n\t\t\t\t\tconst [hold, members, failed, retired] = fields;\n\t\t\t\t\treturn {\n\t\t\t\t\t\thold: hold as number,\n\t\t\t\t\t\tmembers: pairs(members).map(([member, ops]) => ({ member: member as number, ops: textPart(ops) })),\n\t\t\t\t\t\tfailed: failures(failed),\n\t\t\t\t\t\t// The message schema checks each index.\n\t\t\t\t\t\tretired: retired === undefined ? NO_RETIRED : (list(retired) as number[]),\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t};\n\t\tcase \"f\": {\n\t\t\tarity(3, 4);\n\t\t\tconst causeKind = CAUSE_KINDS.find((each) => each[0] === f[1]);\n\t\t\tif (causeKind === undefined) throw new Error(\"text: an unknown failure kind\");\n\t\t\t// The schema check after decoding establishes the wire error.\n\t\t\tconst error = f[2] as Extract<Message, { kind: \"error\" }>[\"error\"];\n\t\t\tconst cause = { kind: causeKind, error };\n\t\t\treturn { kind: \"failed\", hold: field(0), cause, ...(f.length === 4 ? { retryIn: field<number>(3) } : {}) };\n\t\t}\n\t\tcase \"r\":\n\t\t\tarity(1, 2, 3);\n\t\t\treturn { kind: \"result\", call: field(0), ...payload(\"value\", f.slice(1), rest) };\n\t\tcase \"e\":\n\t\t\tarity(2);\n\t\t\treturn { kind: \"error\", call: field(0), error: field(1) };\n\t\tcase \"g\":\n\t\t\tarity(2);\n\t\t\treturn { kind: \"gone\", hold: field(0), error: field(1) };\n\t\tcase \"V\":\n\t\t\tarity(1);\n\t\t\treturn { kind: \"revoke\", revocation: f[0] };\n\t\tcase \"T\":\n\t\t\tarity(2);\n\t\t\treturn { kind: \"retry\", hold: field(0), hops: field(1) };\n\t\tcase \"l\":\n\t\t\tarity(1);\n\t\t\treturn { kind: \"loading\", hold: field(0) };\n\t\tcase \"a\":\n\t\t\tarity(0);\n\t\t\treturn { kind: \"ack\" };\n\t\tcase \"C\":\n\t\t\tarity(0);\n\t\t\t// Its origin is the wrapper's; 0 without one, which the message schema refuses.\n\t\t\treturn { kind: \"closed\", origin: 0 };\n\t\tcase \"p\":\n\t\t\tarity(0);\n\t\t\treturn { kind: \"ping\" };\n\t\tcase \"P\":\n\t\t\tarity(0);\n\t\t\treturn { kind: \"pong\" };\n\t\tdefault:\n\t\t\tthrow new Error(\"text: an unknown kind\");\n\t}\n}\n\n/**\n * A payload part from its fields: none, the value, or the value and its segments' lengths (marked as carrying bytes,\n * the segments views of `rest`).\n */\nfunction payload<K extends string>(\n\tkey: K,\n\tfields: unknown[],\n\trest: Uint8Array,\n): { [P in K]?: Part } & { segments?: Uint8Array[] } {\n\tif (fields.length < 2) {\n\t\tif (rest.byteLength > 0) throw new Error(\"text: byte segments without a payload that carries them\");\n\t\treturn (fields.length === 0 ? {} : { [key]: textPart(fields[0]) }) as { [P in K]?: Part };\n\t}\n\tconst lengths = list(fields[1]);\n\tlet offset = 0;\n\tconst segments = lengths.map((length) => {\n\t\tif (!Number.isSafeInteger(length) || (length as number) < 0) throw new Error(\"text: a segment length\");\n\t\tconst segment = rest.subarray(offset, offset + (length as number));\n\t\toffset += length as number;\n\t\treturn segment;\n\t});\n\tif (offset !== rest.byteLength) throw new Error(\"text: the segments do not fill the message\");\n\treturn { [key]: textPart(fields[0]), segments } as { [P in K]?: Part } & { segments: Uint8Array[] };\n}\n\nfunction list(value: unknown): unknown[] {\n\tif (!Array.isArray(value)) throw new Error(\"text: expected a list\");\n\treturn value;\n}\n\n/** A list of `[index, value]` pairs. */\nfunction pairs(value: unknown): [unknown, unknown][] {\n\treturn list(value).map((pair) => {\n\t\tconst entry = list(pair);\n\t\tif (entry.length !== 2) throw new Error(\"text: expected a pair\");\n\t\treturn entry as [unknown, unknown];\n\t});\n}\n\n/** The optional failures field; absent means none. */\nfunction failures(value: unknown): FailedMember[] {\n\tif (value === undefined) return [];\n\t// The message schema checks each error's shape.\n\treturn pairs(value).map(([member, error]) => ({ member, error }) as FailedMember);\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../src/link/values.ts"],"names":[],"mappings":"AAKA,OAAO,EAAgB,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAKpD,yFAAyF;AACzF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAC1B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,GACZ;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,SAAS,CAAA;CAAE,CAiBxE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAE5D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,QAAQ,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,GAAG,OAAO,CAG5G;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAG3C;AAED,+GAA+G;AAC/G,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAO7C;AAED,qEAAqE;AACrE,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAEpD;AAED,qEAAqE;AACrE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAElD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,UAAU,EAAE,GAAG,OAAO,CAmBxF"}
|