@earendil-works/chord 1.5.0 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +51 -0
- package/README.md +50 -90
- package/dist/contracts/accepts.d.ts +81 -0
- package/dist/contracts/accepts.d.ts.map +1 -0
- package/dist/contracts/accepts.js.map +1 -0
- package/dist/contracts/contract.d.ts +121 -0
- package/dist/contracts/contract.d.ts.map +1 -0
- package/dist/contracts/contract.js.map +1 -0
- package/dist/contracts/declare.d.ts.map +1 -0
- package/dist/contracts/declare.js.map +1 -0
- package/dist/contracts/evolve.d.ts.map +1 -0
- package/dist/contracts/evolve.js.map +1 -0
- package/dist/contracts/fingerprint.d.ts +16 -0
- package/dist/contracts/fingerprint.d.ts.map +1 -0
- package/dist/contracts/fingerprint.js.map +1 -0
- package/dist/contracts/history.d.ts.map +1 -0
- package/dist/contracts/history.js.map +1 -0
- package/dist/contracts/host-kind.d.ts.map +1 -0
- package/dist/contracts/host-kind.js.map +1 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/internal.d.ts.map +1 -0
- package/dist/contracts/internal.js.map +1 -0
- package/dist/contracts/names.d.ts.map +1 -0
- package/dist/contracts/names.js.map +1 -0
- package/dist/contracts/params.d.ts +28 -0
- package/dist/contracts/params.d.ts.map +1 -0
- package/dist/contracts/params.js.map +1 -0
- package/dist/contracts/schema.d.ts.map +1 -0
- package/dist/contracts/schema.js.map +1 -0
- package/dist/contracts/snapshot.d.ts +16 -0
- package/dist/contracts/snapshot.d.ts.map +1 -0
- package/dist/contracts/snapshot.js +167 -0
- package/dist/contracts/snapshot.js.map +1 -0
- package/dist/data/args.d.ts +50 -0
- package/dist/data/args.d.ts.map +1 -0
- package/dist/data/args.js.map +1 -0
- package/dist/data/errors.d.ts +80 -0
- package/dist/data/errors.d.ts.map +1 -0
- package/dist/data/errors.js +116 -0
- package/dist/data/errors.js.map +1 -0
- package/dist/data/failure.d.ts.map +1 -0
- package/dist/data/failure.js +77 -0
- package/dist/data/failure.js.map +1 -0
- package/dist/data/index.d.ts +4 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js +5 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data/internal.d.ts +7 -0
- package/dist/data/internal.d.ts.map +1 -0
- package/dist/data/internal.js +8 -0
- package/dist/data/internal.js.map +1 -0
- package/dist/data/params.d.ts +20 -0
- package/dist/data/params.d.ts.map +1 -0
- package/dist/data/params.js.map +1 -0
- package/dist/data/principal.d.ts +22 -0
- package/dist/data/principal.d.ts.map +1 -0
- package/dist/data/principal.js +49 -0
- package/dist/data/principal.js.map +1 -0
- package/dist/data/validator.d.ts +12 -0
- package/dist/data/validator.d.ts.map +1 -0
- package/dist/data/validator.js +35 -0
- package/dist/data/validator.js.map +1 -0
- package/dist/documents/address-source.d.ts +20 -0
- package/dist/documents/address-source.d.ts.map +1 -0
- package/dist/documents/address-source.js.map +1 -0
- package/dist/documents/definition.d.ts +84 -0
- package/dist/documents/definition.d.ts.map +1 -0
- package/dist/documents/definition.js +74 -0
- package/dist/documents/definition.js.map +1 -0
- package/dist/documents/documents.d.ts +126 -0
- package/dist/documents/documents.d.ts.map +1 -0
- package/dist/documents/documents.js +248 -0
- package/dist/documents/documents.js.map +1 -0
- package/dist/documents/fence.d.ts.map +1 -0
- package/dist/documents/fence.js.map +1 -0
- package/dist/documents/handles.d.ts +76 -0
- package/dist/documents/handles.d.ts.map +1 -0
- package/dist/documents/handles.js.map +1 -0
- package/dist/documents/index.d.ts.map +1 -0
- package/dist/documents/index.js.map +1 -0
- package/dist/documents/internal.d.ts +9 -0
- package/dist/documents/internal.d.ts.map +1 -0
- package/dist/documents/internal.js.map +1 -0
- package/dist/documents/keyed-slot.d.ts +103 -0
- package/dist/documents/keyed-slot.d.ts.map +1 -0
- package/dist/documents/keyed-slot.js +395 -0
- package/dist/documents/keyed-slot.js.map +1 -0
- package/dist/documents/line.d.ts.map +1 -0
- package/dist/documents/line.js.map +1 -0
- package/dist/documents/persistence.d.ts +104 -0
- package/dist/documents/persistence.d.ts.map +1 -0
- package/dist/documents/persistence.js +129 -0
- package/dist/documents/persistence.js.map +1 -0
- package/dist/documents/residency.d.ts +31 -0
- package/dist/documents/residency.d.ts.map +1 -0
- package/dist/documents/residency.js.map +1 -0
- package/dist/documents/slot.d.ts +109 -0
- package/dist/documents/slot.d.ts.map +1 -0
- package/dist/documents/slot.js +181 -0
- package/dist/documents/slot.js.map +1 -0
- package/dist/documents/transaction.d.ts +143 -0
- package/dist/documents/transaction.d.ts.map +1 -0
- package/dist/documents/transaction.js +442 -0
- package/dist/documents/transaction.js.map +1 -0
- package/dist/host/activity.d.ts +31 -0
- package/dist/host/activity.d.ts.map +1 -0
- package/dist/host/activity.js +40 -0
- package/dist/host/activity.js.map +1 -0
- package/dist/host/adapted.d.ts +49 -0
- package/dist/host/adapted.d.ts.map +1 -0
- package/dist/host/adapted.js.map +1 -0
- package/dist/host/attempt.d.ts +308 -0
- package/dist/host/attempt.d.ts.map +1 -0
- package/dist/host/attempt.js +1199 -0
- package/dist/host/attempt.js.map +1 -0
- package/dist/host/backoff.d.ts.map +1 -0
- package/dist/host/backoff.js.map +1 -0
- package/dist/host/ctx.d.ts +94 -0
- package/dist/host/ctx.d.ts.map +1 -0
- package/dist/host/ctx.js +200 -0
- package/dist/host/ctx.js.map +1 -0
- package/dist/host/deadline.d.ts.map +1 -0
- package/dist/host/deadline.js.map +1 -0
- package/dist/host/dependencies.d.ts.map +1 -0
- package/dist/host/dependencies.js.map +1 -0
- package/dist/host/destination.d.ts +48 -0
- package/dist/host/destination.d.ts.map +1 -0
- package/dist/host/destination.js.map +1 -0
- package/dist/host/facet.d.ts +84 -0
- package/dist/host/facet.d.ts.map +1 -0
- package/dist/host/facet.js.map +1 -0
- package/dist/host/follow.d.ts +52 -0
- package/dist/host/follow.d.ts.map +1 -0
- package/dist/host/follow.js.map +1 -0
- package/dist/host/host.d.ts +571 -0
- package/dist/host/host.d.ts.map +1 -0
- package/dist/host/host.js +1318 -0
- package/dist/host/host.js.map +1 -0
- package/dist/host/index.d.ts +17 -0
- package/dist/host/index.d.ts.map +1 -0
- package/dist/host/index.js.map +1 -0
- package/dist/host/internal.d.ts +11 -0
- package/dist/host/internal.d.ts.map +1 -0
- package/dist/host/internal.js +9 -0
- package/dist/host/internal.js.map +1 -0
- package/dist/host/members.d.ts +50 -0
- package/dist/host/members.d.ts.map +1 -0
- package/dist/host/members.js.map +1 -0
- package/dist/host/native.d.ts +64 -0
- package/dist/host/native.d.ts.map +1 -0
- package/dist/host/native.js +126 -0
- package/dist/host/native.js.map +1 -0
- package/dist/host/object.d.ts +331 -0
- package/dist/host/object.d.ts.map +1 -0
- package/dist/host/object.js +1296 -0
- package/dist/host/object.js.map +1 -0
- package/dist/host/old-work.d.ts +34 -0
- package/dist/host/old-work.d.ts.map +1 -0
- package/dist/host/old-work.js +52 -0
- package/dist/host/old-work.js.map +1 -0
- package/dist/host/parked.d.ts +23 -0
- package/dist/host/parked.d.ts.map +1 -0
- package/dist/host/parked.js.map +1 -0
- package/dist/host/presence.d.ts +34 -0
- package/dist/host/presence.d.ts.map +1 -0
- package/dist/host/presence.js.map +1 -0
- package/dist/host/readiness.d.ts +27 -0
- package/dist/host/readiness.d.ts.map +1 -0
- package/dist/host/readiness.js +134 -0
- package/dist/host/readiness.js.map +1 -0
- package/dist/host/ref-state.d.ts +53 -0
- package/dist/host/ref-state.d.ts.map +1 -0
- package/dist/host/ref-state.js +83 -0
- package/dist/host/ref-state.js.map +1 -0
- package/dist/host/reference-keys.d.ts +36 -0
- package/dist/host/reference-keys.d.ts.map +1 -0
- package/dist/host/reference-keys.js +168 -0
- package/dist/host/reference-keys.js.map +1 -0
- package/dist/host/reference-source.d.ts +65 -0
- package/dist/host/reference-source.d.ts.map +1 -0
- package/dist/host/reference-source.js +285 -0
- package/dist/host/reference-source.js.map +1 -0
- package/dist/host/reference.d.ts +321 -0
- package/dist/host/reference.d.ts.map +1 -0
- package/dist/host/reference.js +797 -0
- package/dist/host/reference.js.map +1 -0
- package/dist/host/reload-cycle.d.ts +16 -0
- package/dist/host/reload-cycle.d.ts.map +1 -0
- package/dist/host/reload-cycle.js +81 -0
- package/dist/host/reload-cycle.js.map +1 -0
- package/dist/host/retry-on.d.ts.map +1 -0
- package/dist/host/retry-on.js.map +1 -0
- package/dist/host/revocation.d.ts +16 -0
- package/dist/host/revocation.d.ts.map +1 -0
- package/dist/host/revocation.js.map +1 -0
- package/dist/host/root.d.ts +37 -0
- package/dist/host/root.d.ts.map +1 -0
- package/dist/host/root.js +68 -0
- package/dist/host/root.js.map +1 -0
- package/dist/host/route.d.ts +64 -0
- package/dist/host/route.d.ts.map +1 -0
- package/dist/host/route.js +227 -0
- package/dist/host/route.js.map +1 -0
- package/dist/host/routines.d.ts +78 -0
- package/dist/host/routines.d.ts.map +1 -0
- package/dist/host/routines.js +398 -0
- package/dist/host/routines.js.map +1 -0
- package/dist/host/sleep.d.ts +9 -0
- package/dist/host/sleep.d.ts.map +1 -0
- package/dist/host/sleep.js.map +1 -0
- package/dist/host/staging.d.ts +94 -0
- package/dist/host/staging.d.ts.map +1 -0
- package/dist/host/staging.js +304 -0
- package/dist/host/staging.js.map +1 -0
- package/dist/host/unbound-clock.d.ts +23 -0
- package/dist/host/unbound-clock.d.ts.map +1 -0
- package/dist/host/unbound-clock.js +58 -0
- package/dist/host/unbound-clock.js.map +1 -0
- package/dist/host/unbound.d.ts +37 -0
- package/dist/host/unbound.d.ts.map +1 -0
- package/dist/host/unbound.js +88 -0
- package/dist/host/unbound.js.map +1 -0
- package/dist/host/uuid.d.ts.map +1 -0
- package/dist/host/uuid.js.map +1 -0
- package/dist/index.d.ts +29 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -10
- package/dist/index.js.map +1 -1
- package/dist/jobs/definition.d.ts.map +1 -0
- package/dist/jobs/definition.js.map +1 -0
- package/dist/jobs/index.d.ts.map +1 -0
- package/dist/jobs/index.js.map +1 -0
- package/dist/jobs/internal.d.ts.map +1 -0
- package/dist/jobs/internal.js.map +1 -0
- package/dist/jobs/job.d.ts +149 -0
- package/dist/jobs/job.d.ts.map +1 -0
- package/dist/jobs/job.js +387 -0
- package/dist/jobs/job.js.map +1 -0
- package/dist/jobs/persisted.d.ts +38 -0
- package/dist/jobs/persisted.d.ts.map +1 -0
- package/dist/jobs/persisted.js.map +1 -0
- package/dist/jobs/records.d.ts +231 -0
- package/dist/jobs/records.d.ts.map +1 -0
- package/dist/jobs/records.js +871 -0
- package/dist/jobs/records.js.map +1 -0
- package/dist/jobs/run-states.d.ts +69 -0
- package/dist/jobs/run-states.d.ts.map +1 -0
- package/dist/jobs/run-states.js +228 -0
- package/dist/jobs/run-states.js.map +1 -0
- package/dist/jobs/run.d.ts +117 -0
- package/dist/jobs/run.d.ts.map +1 -0
- package/dist/jobs/run.js +204 -0
- package/dist/jobs/run.js.map +1 -0
- package/dist/jobs/running.d.ts +44 -0
- package/dist/jobs/running.d.ts.map +1 -0
- package/dist/jobs/running.js.map +1 -0
- package/dist/jobs/stored.d.ts +63 -0
- package/dist/jobs/stored.d.ts.map +1 -0
- package/dist/jobs/stored.js.map +1 -0
- package/dist/link/binary.d.ts.map +1 -0
- package/dist/link/binary.js +544 -0
- package/dist/link/binary.js.map +1 -0
- package/dist/link/channel.d.ts +68 -0
- package/dist/link/channel.d.ts.map +1 -0
- package/dist/link/channel.js +215 -0
- package/dist/link/channel.js.map +1 -0
- package/dist/link/errors.d.ts.map +1 -0
- package/dist/link/errors.js.map +1 -0
- package/dist/link/index.d.ts.map +1 -0
- package/dist/link/index.js.map +1 -0
- package/dist/link/internal.d.ts.map +1 -0
- package/dist/link/internal.js.map +1 -0
- package/dist/link/ipc.d.ts.map +1 -0
- package/dist/link/ipc.js.map +1 -0
- package/dist/link/link.d.ts.map +1 -0
- package/dist/link/link.js.map +1 -0
- package/dist/link/message.d.ts +262 -0
- package/dist/link/message.d.ts.map +1 -0
- package/dist/link/message.js +156 -0
- package/dist/link/message.js.map +1 -0
- package/dist/link/part.d.ts +80 -0
- package/dist/link/part.d.ts.map +1 -0
- package/dist/link/part.js +165 -0
- package/dist/link/part.js.map +1 -0
- package/dist/link/text.d.ts.map +1 -0
- package/dist/link/text.js +355 -0
- package/dist/link/text.js.map +1 -0
- package/dist/link/values.d.ts.map +1 -0
- package/dist/link/values.js +121 -0
- package/dist/link/values.js.map +1 -0
- package/dist/link/websocket.d.ts.map +1 -0
- package/dist/link/websocket.js.map +1 -0
- package/dist/node/app/app.d.ts +269 -0
- package/dist/node/app/app.d.ts.map +1 -0
- package/dist/node/app/app.js +513 -0
- package/dist/node/app/app.js.map +1 -0
- package/dist/node/app/archive.d.ts +37 -0
- package/dist/node/app/archive.d.ts.map +1 -0
- package/dist/node/app/archive.js +204 -0
- package/dist/node/app/archive.js.map +1 -0
- package/dist/node/app/blobs.d.ts +23 -0
- package/dist/node/app/blobs.d.ts.map +1 -0
- package/dist/node/app/blobs.js +64 -0
- package/dist/node/app/blobs.js.map +1 -0
- package/dist/node/app/data.d.ts +35 -0
- package/dist/node/app/data.d.ts.map +1 -0
- package/dist/node/app/data.js +44 -0
- package/dist/node/app/data.js.map +1 -0
- package/dist/node/app/ephemeral-sessions.d.ts +20 -0
- package/dist/node/app/ephemeral-sessions.d.ts.map +1 -0
- package/dist/node/app/ephemeral-sessions.js +69 -0
- package/dist/node/app/ephemeral-sessions.js.map +1 -0
- package/dist/node/app/ephemeral.d.ts +11 -0
- package/dist/node/app/ephemeral.d.ts.map +1 -0
- package/dist/node/app/ephemeral.js +34 -0
- package/dist/node/app/ephemeral.js.map +1 -0
- package/dist/node/app/files-copy.d.ts +13 -0
- package/dist/node/app/files-copy.d.ts.map +1 -0
- package/dist/node/app/files-copy.js +86 -0
- package/dist/node/app/files-copy.js.map +1 -0
- package/dist/node/app/files-entry.d.ts +4 -0
- package/dist/node/app/files-entry.d.ts.map +1 -0
- package/dist/node/app/files-entry.js +7 -0
- package/dist/node/app/files-entry.js.map +1 -0
- package/dist/node/app/files-index.d.ts +180 -0
- package/dist/node/app/files-index.d.ts.map +1 -0
- package/dist/node/app/files-index.js +535 -0
- package/dist/node/app/files-index.js.map +1 -0
- package/dist/node/app/files.d.ts +363 -0
- package/dist/node/app/files.d.ts.map +1 -0
- package/dist/node/app/files.js +368 -0
- package/dist/node/app/files.js.map +1 -0
- package/dist/node/app/folder-views.d.ts +21 -0
- package/dist/node/app/folder-views.d.ts.map +1 -0
- package/dist/node/app/folder-views.js +55 -0
- package/dist/node/app/folder-views.js.map +1 -0
- package/dist/node/app/index.d.ts +12 -0
- package/dist/node/app/index.d.ts.map +1 -0
- package/dist/node/app/index.js +15 -0
- package/dist/node/app/index.js.map +1 -0
- package/dist/node/app/info.d.ts +66 -0
- package/dist/node/app/info.d.ts.map +1 -0
- package/dist/node/app/info.js +37 -0
- package/dist/node/app/info.js.map +1 -0
- package/dist/node/app/invite.d.ts +5 -0
- package/dist/node/app/invite.d.ts.map +1 -0
- package/dist/node/app/invite.js +64 -0
- package/dist/node/app/invite.js.map +1 -0
- package/dist/node/app/layout.d.ts +36 -0
- package/dist/node/app/layout.d.ts.map +1 -0
- package/dist/node/app/layout.js +87 -0
- package/dist/node/app/layout.js.map +1 -0
- package/dist/node/app/owner.d.ts +31 -0
- package/dist/node/app/owner.d.ts.map +1 -0
- package/dist/node/app/owner.js +104 -0
- package/dist/node/app/owner.js.map +1 -0
- package/dist/node/app/pairing.d.ts +55 -0
- package/dist/node/app/pairing.d.ts.map +1 -0
- package/dist/node/app/pairing.js +183 -0
- package/dist/node/app/pairing.js.map +1 -0
- package/dist/node/app/secrets.d.ts +16 -0
- package/dist/node/app/secrets.d.ts.map +1 -0
- package/dist/node/app/secrets.js +72 -0
- package/dist/node/app/secrets.js.map +1 -0
- package/dist/node/app/sessions.d.ts +72 -0
- package/dist/node/app/sessions.d.ts.map +1 -0
- package/dist/node/app/sessions.js +222 -0
- package/dist/node/app/sessions.js.map +1 -0
- package/dist/node/app/tar.d.ts +24 -0
- package/dist/node/app/tar.d.ts.map +1 -0
- package/dist/node/app/tar.js +167 -0
- package/dist/node/app/tar.js.map +1 -0
- package/dist/node/app/uploads.d.ts +37 -0
- package/dist/node/app/uploads.d.ts.map +1 -0
- package/dist/node/app/uploads.js +157 -0
- package/dist/node/app/uploads.js.map +1 -0
- package/dist/node/app/users.d.ts +37 -0
- package/dist/node/app/users.d.ts.map +1 -0
- package/dist/node/app/users.js +62 -0
- package/dist/node/app/users.js.map +1 -0
- package/dist/node/app/worker.d.ts +18 -0
- package/dist/node/app/worker.d.ts.map +1 -0
- package/dist/node/app/worker.js +84 -0
- package/dist/node/app/worker.js.map +1 -0
- package/dist/node/compression.d.ts +7 -0
- package/dist/node/compression.d.ts.map +1 -0
- package/dist/node/compression.js +25 -0
- package/dist/node/compression.js.map +1 -0
- package/dist/node/http/admission.d.ts.map +1 -0
- package/dist/node/http/admission.js.map +1 -0
- package/dist/node/http/authenticate.d.ts +21 -0
- package/dist/node/http/authenticate.d.ts.map +1 -0
- package/dist/node/http/authenticate.js +34 -0
- package/dist/node/http/authenticate.js.map +1 -0
- package/dist/node/http/cookies.d.ts +32 -0
- package/dist/node/http/cookies.d.ts.map +1 -0
- package/dist/node/http/cookies.js +70 -0
- package/dist/node/http/cookies.js.map +1 -0
- package/dist/node/http/file.d.ts.map +1 -0
- package/dist/node/http/file.js.map +1 -0
- package/dist/node/http/headers.d.ts.map +1 -0
- package/dist/node/http/headers.js +136 -0
- package/dist/node/http/headers.js.map +1 -0
- package/dist/node/http/http.d.ts +111 -0
- package/dist/node/http/http.d.ts.map +1 -0
- package/dist/node/http/http.js +524 -0
- package/dist/node/http/http.js.map +1 -0
- package/dist/node/http/incoming.d.ts.map +1 -0
- package/dist/node/http/incoming.js.map +1 -0
- package/dist/node/http/index.d.ts +11 -0
- package/dist/node/http/index.d.ts.map +1 -0
- package/dist/node/http/index.js +12 -0
- package/dist/node/http/index.js.map +1 -0
- package/dist/node/http/node.d.ts.map +1 -0
- package/dist/node/http/node.js.map +1 -0
- package/dist/node/http/request.d.ts +60 -0
- package/dist/node/http/request.d.ts.map +1 -0
- package/dist/node/http/request.js +118 -0
- package/dist/node/http/request.js.map +1 -0
- package/dist/node/http/response.d.ts +63 -0
- package/dist/node/http/response.d.ts.map +1 -0
- package/dist/node/http/response.js.map +1 -0
- package/dist/node/http/router.d.ts +132 -0
- package/dist/node/http/router.d.ts.map +1 -0
- package/dist/node/http/router.js +267 -0
- package/dist/node/http/router.js.map +1 -0
- package/dist/node/http/upgrades.d.ts +61 -0
- package/dist/node/http/upgrades.d.ts.map +1 -0
- package/dist/node/http/upgrades.js +192 -0
- package/dist/node/http/upgrades.js.map +1 -0
- package/dist/node/plugins/base-inputs.d.ts +14 -0
- package/dist/node/plugins/base-inputs.d.ts.map +1 -0
- package/dist/node/plugins/base-inputs.js +33 -0
- package/dist/node/plugins/base-inputs.js.map +1 -0
- package/dist/node/plugins/build.d.ts +77 -0
- package/dist/node/plugins/build.d.ts.map +1 -0
- package/dist/node/plugins/build.js +576 -0
- package/dist/node/plugins/build.js.map +1 -0
- package/dist/node/plugins/css-modules.d.ts +13 -0
- package/dist/node/plugins/css-modules.d.ts.map +1 -0
- package/dist/node/plugins/css-modules.js +58 -0
- package/dist/node/plugins/css-modules.js.map +1 -0
- package/dist/node/plugins/discover.d.ts +67 -0
- package/dist/node/plugins/discover.d.ts.map +1 -0
- package/dist/node/plugins/discover.js +369 -0
- package/dist/node/plugins/discover.js.map +1 -0
- package/dist/node/plugins/evaluate.d.ts +33 -0
- package/dist/node/plugins/evaluate.d.ts.map +1 -0
- package/dist/node/plugins/evaluate.js +121 -0
- package/dist/node/plugins/evaluate.js.map +1 -0
- package/dist/node/plugins/index.d.ts +11 -0
- package/dist/node/plugins/index.d.ts.map +1 -0
- package/dist/node/plugins/index.js +13 -0
- package/dist/node/plugins/index.js.map +1 -0
- package/dist/node/plugins/install.d.ts +38 -0
- package/dist/node/plugins/install.d.ts.map +1 -0
- package/dist/node/plugins/install.js +213 -0
- package/dist/node/plugins/install.js.map +1 -0
- package/dist/node/plugins/plugins.d.ts +162 -0
- package/dist/node/plugins/plugins.d.ts.map +1 -0
- package/dist/node/plugins/plugins.js +244 -0
- package/dist/node/plugins/plugins.js.map +1 -0
- package/dist/node/plugins/runtime.d.ts +57 -0
- package/dist/node/plugins/runtime.d.ts.map +1 -0
- package/dist/node/plugins/runtime.js +92 -0
- package/dist/node/plugins/runtime.js.map +1 -0
- package/dist/node/plugins/stack.d.ts.map +1 -0
- package/dist/node/plugins/stack.js.map +1 -0
- package/dist/node/plugins/testing.d.ts +58 -0
- package/dist/node/plugins/testing.d.ts.map +1 -0
- package/dist/node/plugins/testing.js +210 -0
- package/dist/node/plugins/testing.js.map +1 -0
- package/dist/node/plugins/watcher.d.ts +69 -0
- package/dist/node/plugins/watcher.d.ts.map +1 -0
- package/dist/node/plugins/watcher.js +622 -0
- package/dist/node/plugins/watcher.js.map +1 -0
- package/dist/node/surfaces/bundle.d.ts +31 -0
- package/dist/node/surfaces/bundle.d.ts.map +1 -0
- package/dist/node/surfaces/bundle.js +118 -0
- package/dist/node/surfaces/bundle.js.map +1 -0
- package/dist/node/surfaces/current.d.ts +17 -0
- package/dist/node/surfaces/current.d.ts.map +1 -0
- package/dist/node/surfaces/current.js +54 -0
- package/dist/node/surfaces/current.js.map +1 -0
- package/dist/node/surfaces/index.d.ts +6 -0
- package/dist/node/surfaces/index.d.ts.map +1 -0
- package/dist/node/surfaces/index.js +6 -0
- package/dist/node/surfaces/index.js.map +1 -0
- package/dist/node/surfaces/published.d.ts +27 -0
- package/dist/node/surfaces/published.d.ts.map +1 -0
- package/dist/node/surfaces/published.js +142 -0
- package/dist/node/surfaces/published.js.map +1 -0
- package/dist/node/surfaces/served.d.ts +15 -0
- package/dist/node/surfaces/served.d.ts.map +1 -0
- package/dist/node/surfaces/served.js +42 -0
- package/dist/node/surfaces/served.js.map +1 -0
- package/dist/node/surfaces/surface-build.d.ts +53 -0
- package/dist/node/surfaces/surface-build.d.ts.map +1 -0
- package/dist/node/surfaces/surface-build.js +105 -0
- package/dist/node/surfaces/surface-build.js.map +1 -0
- package/dist/node/surfaces/tui.d.ts +40 -0
- package/dist/node/surfaces/tui.d.ts.map +1 -0
- package/dist/node/surfaces/tui.js +55 -0
- package/dist/node/surfaces/tui.js.map +1 -0
- package/dist/node/surfaces/web.d.ts +56 -0
- package/dist/node/surfaces/web.d.ts.map +1 -0
- package/dist/node/surfaces/web.js +108 -0
- package/dist/node/surfaces/web.js.map +1 -0
- package/dist/node/tui/actions.d.ts +49 -0
- package/dist/node/tui/actions.d.ts.map +1 -0
- package/dist/node/tui/actions.js +195 -0
- package/dist/node/tui/actions.js.map +1 -0
- package/dist/node/tui/credentials.d.ts +17 -0
- package/dist/node/tui/credentials.d.ts.map +1 -0
- package/dist/node/tui/credentials.js +54 -0
- package/dist/node/tui/credentials.js.map +1 -0
- package/dist/node/tui/filter.d.ts +5 -0
- package/dist/node/tui/filter.d.ts.map +1 -0
- package/dist/node/tui/filter.js +79 -0
- package/dist/node/tui/filter.js.map +1 -0
- package/dist/node/tui/index.d.ts +6 -0
- package/dist/node/tui/index.d.ts.map +1 -0
- package/dist/node/tui/index.js +6 -0
- package/dist/node/tui/index.js.map +1 -0
- package/dist/node/tui/launcher.d.ts +40 -0
- package/dist/node/tui/launcher.d.ts.map +1 -0
- package/dist/node/tui/launcher.js +439 -0
- package/dist/node/tui/launcher.js.map +1 -0
- package/dist/node/tui/pipe.d.ts +18 -0
- package/dist/node/tui/pipe.d.ts.map +1 -0
- package/dist/node/tui/pipe.js +134 -0
- package/dist/node/tui/pipe.js.map +1 -0
- package/dist/node/tui/sandbox.d.ts +54 -0
- package/dist/node/tui/sandbox.d.ts.map +1 -0
- package/dist/node/tui/sandbox.js +431 -0
- package/dist/node/tui/sandbox.js.map +1 -0
- package/dist/node/workers/base.d.ts +30 -0
- package/dist/node/workers/base.d.ts.map +1 -0
- package/dist/node/workers/base.js +255 -0
- package/dist/node/workers/base.js.map +1 -0
- package/dist/node/workers/child.d.ts +4 -0
- package/dist/node/workers/child.d.ts.map +1 -0
- package/dist/node/workers/child.js +6 -0
- package/dist/node/workers/child.js.map +1 -0
- package/dist/node/workers/control.d.ts +83 -0
- package/dist/node/workers/control.d.ts.map +1 -0
- package/dist/node/workers/control.js +77 -0
- package/dist/node/workers/control.js.map +1 -0
- package/dist/node/workers/index.d.ts +4 -0
- package/dist/node/workers/index.d.ts.map +1 -0
- package/dist/node/workers/index.js +7 -0
- package/dist/node/workers/index.js.map +1 -0
- package/dist/node/workers/lock.d.ts +30 -0
- package/dist/node/workers/lock.d.ts.map +1 -0
- package/dist/node/workers/lock.js +180 -0
- package/dist/node/workers/lock.js.map +1 -0
- package/dist/node/workers/main.d.ts +46 -0
- package/dist/node/workers/main.d.ts.map +1 -0
- package/dist/node/workers/main.js +230 -0
- package/dist/node/workers/main.js.map +1 -0
- package/dist/node/workers/process.d.ts +42 -0
- package/dist/node/workers/process.d.ts.map +1 -0
- package/dist/node/workers/process.js +125 -0
- package/dist/node/workers/process.js.map +1 -0
- package/dist/node/workers/workers.d.ts +122 -0
- package/dist/node/workers/workers.d.ts.map +1 -0
- package/dist/node/workers/workers.js +677 -0
- package/dist/node/workers/workers.js.map +1 -0
- package/dist/react/hooks.d.ts +43 -0
- package/dist/react/hooks.d.ts.map +1 -0
- package/dist/react/hooks.js +82 -0
- package/dist/react/hooks.js.map +1 -0
- package/dist/react/index.d.ts +3 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +4 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/stores.d.ts +9 -0
- package/dist/react/stores.d.ts.map +1 -0
- package/dist/react/stores.js +37 -0
- package/dist/react/stores.js.map +1 -0
- package/dist/registries/contribution.d.ts.map +1 -0
- package/dist/registries/contribution.js.map +1 -0
- package/dist/registries/entries.d.ts.map +1 -0
- package/dist/registries/entries.js.map +1 -0
- package/dist/registries/index.d.ts.map +1 -0
- package/dist/registries/index.js.map +1 -0
- package/dist/registries/internal.d.ts.map +1 -0
- package/dist/registries/internal.js.map +1 -0
- package/dist/registries/record.d.ts +115 -0
- package/dist/registries/record.d.ts.map +1 -0
- package/dist/registries/record.js +283 -0
- package/dist/registries/record.js.map +1 -0
- package/dist/registries/registry.d.ts +74 -0
- package/dist/registries/registry.d.ts.map +1 -0
- package/dist/registries/registry.js.map +1 -0
- package/dist/registries/value.d.ts.map +1 -0
- package/dist/registries/value.js +224 -0
- package/dist/registries/value.js.map +1 -0
- package/dist/remote/calls.d.ts.map +1 -0
- package/dist/remote/calls.js.map +1 -0
- package/dist/remote/consumer.d.ts +43 -0
- package/dist/remote/consumer.d.ts.map +1 -0
- package/dist/remote/consumer.js +350 -0
- package/dist/remote/consumer.js.map +1 -0
- package/dist/remote/hold.d.ts +141 -0
- package/dist/remote/hold.d.ts.map +1 -0
- package/dist/remote/hold.js +579 -0
- package/dist/remote/hold.js.map +1 -0
- package/dist/remote/host-link.d.ts +77 -0
- package/dist/remote/host-link.d.ts.map +1 -0
- package/dist/remote/host-link.js +184 -0
- package/dist/remote/host-link.js.map +1 -0
- package/dist/remote/internal.d.ts.map +1 -0
- package/dist/remote/internal.js.map +1 -0
- package/dist/remote/path.d.ts.map +1 -0
- package/dist/remote/path.js.map +1 -0
- package/dist/remote/provider.d.ts +89 -0
- package/dist/remote/provider.d.ts.map +1 -0
- package/dist/remote/provider.js +597 -0
- package/dist/remote/provider.js.map +1 -0
- package/dist/remote/relay.d.ts +69 -0
- package/dist/remote/relay.d.ts.map +1 -0
- package/dist/remote/relay.js +219 -0
- package/dist/remote/relay.js.map +1 -0
- package/dist/remote/remote-object.d.ts +138 -0
- package/dist/remote/remote-object.d.ts.map +1 -0
- package/dist/remote/remote-object.js +492 -0
- package/dist/remote/remote-object.js.map +1 -0
- package/dist/remote/replica.d.ts +59 -0
- package/dist/remote/replica.d.ts.map +1 -0
- package/dist/remote/replica.js +125 -0
- package/dist/remote/replica.js.map +1 -0
- package/dist/sqlite/node.d.ts +9 -1
- package/dist/sqlite/node.d.ts.map +1 -1
- package/dist/sqlite/node.js +9 -3
- package/dist/sqlite/node.js.map +1 -1
- package/dist/state/batch.d.ts +64 -0
- package/dist/state/batch.d.ts.map +1 -0
- package/dist/state/batch.js +164 -0
- package/dist/state/batch.js.map +1 -0
- package/dist/state/derive.d.ts +52 -0
- package/dist/state/derive.d.ts.map +1 -0
- package/dist/state/derive.js +182 -0
- package/dist/state/derive.js.map +1 -0
- package/dist/state/index.d.ts +6 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/internal.d.ts.map +1 -0
- package/dist/state/internal.js.map +1 -0
- package/dist/state/native-source.d.ts +106 -0
- package/dist/state/native-source.d.ts.map +1 -0
- package/dist/state/native-source.js +240 -0
- package/dist/state/native-source.js.map +1 -0
- package/dist/state/watchable.d.ts +114 -0
- package/dist/state/watchable.d.ts.map +1 -0
- package/dist/state/watchable.js +156 -0
- package/dist/state/watchable.js.map +1 -0
- package/dist/state/writable.d.ts +32 -0
- package/dist/state/writable.d.ts.map +1 -0
- package/dist/state/writable.js.map +1 -0
- package/dist/store/adapter.d.ts +67 -0
- package/dist/store/adapter.d.ts.map +1 -0
- package/dist/store/adapter.js.map +1 -0
- package/dist/store/allocator.d.ts.map +1 -0
- package/dist/store/allocator.js.map +1 -0
- package/dist/store/applier.d.ts.map +1 -0
- package/dist/store/applier.js.map +1 -0
- package/dist/store/apply-batch.d.ts +12 -0
- package/dist/store/apply-batch.d.ts.map +1 -0
- package/dist/store/apply-batch.js.map +1 -0
- package/dist/store/archive.d.ts +32 -0
- package/dist/store/archive.d.ts.map +1 -0
- package/dist/store/archive.js +130 -0
- package/dist/store/archive.js.map +1 -0
- package/dist/store/backend.d.ts +10 -0
- package/dist/store/backend.d.ts.map +1 -0
- package/dist/store/backend.js.map +1 -0
- package/dist/store/catalog.d.ts +24 -0
- package/dist/store/catalog.d.ts.map +1 -0
- package/dist/store/catalog.js.map +1 -0
- package/dist/store/claims.d.ts.map +1 -0
- package/dist/store/claims.js.map +1 -0
- package/dist/store/columns.d.ts.map +1 -0
- package/dist/store/columns.js.map +1 -0
- package/dist/store/engine.d.ts +176 -0
- package/dist/store/engine.d.ts.map +1 -0
- package/dist/store/engine.js +283 -0
- package/dist/store/engine.js.map +1 -0
- package/dist/store/evaluate.d.ts +17 -0
- package/dist/store/evaluate.d.ts.map +1 -0
- package/dist/store/evaluate.js.map +1 -0
- package/dist/store/export.d.ts +17 -0
- package/dist/store/export.d.ts.map +1 -0
- package/dist/store/export.js +200 -0
- package/dist/store/export.js.map +1 -0
- package/dist/store/expression.d.ts +150 -0
- package/dist/store/expression.d.ts.map +1 -0
- package/dist/store/expression.js.map +1 -0
- package/dist/store/import.d.ts +10 -0
- package/dist/store/import.d.ts.map +1 -0
- package/dist/store/import.js +276 -0
- package/dist/store/import.js.map +1 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js.map +1 -0
- package/dist/store/json-column.d.ts +33 -0
- package/dist/store/json-column.d.ts.map +1 -0
- package/dist/store/json-column.js +62 -0
- package/dist/store/json-column.js.map +1 -0
- package/dist/store/jsonl.d.ts.map +1 -0
- package/dist/store/jsonl.js.map +1 -0
- package/dist/store/live-query.d.ts +108 -0
- package/dist/store/live-query.d.ts.map +1 -0
- package/dist/store/live-query.js +254 -0
- package/dist/store/live-query.js.map +1 -0
- package/dist/store/outbox.d.ts +26 -0
- package/dist/store/outbox.d.ts.map +1 -0
- package/dist/store/outbox.js.map +1 -0
- package/dist/store/query.d.ts +39 -0
- package/dist/store/query.d.ts.map +1 -0
- package/dist/store/query.js.map +1 -0
- package/dist/store/refusal.d.ts.map +1 -0
- package/dist/store/refusal.js.map +1 -0
- package/dist/store/rows.d.ts +80 -0
- package/dist/store/rows.d.ts.map +1 -0
- package/dist/store/rows.js.map +1 -0
- package/dist/store/schema.d.ts +25 -0
- package/dist/store/schema.d.ts.map +1 -0
- package/dist/store/schema.js +115 -0
- package/dist/store/schema.js.map +1 -0
- package/dist/store/sql.d.ts +73 -0
- package/dist/store/sql.d.ts.map +1 -0
- package/dist/store/sql.js.map +1 -0
- package/dist/store/step.d.ts +50 -0
- package/dist/store/step.d.ts.map +1 -0
- package/dist/store/step.js +52 -0
- package/dist/store/step.js.map +1 -0
- package/dist/store/store.d.ts +171 -0
- package/dist/store/store.d.ts.map +1 -0
- package/dist/store/store.js +818 -0
- package/dist/store/store.js.map +1 -0
- package/dist/store/table-changes.d.ts +29 -0
- package/dist/store/table-changes.d.ts.map +1 -0
- package/dist/store/table-changes.js.map +1 -0
- package/dist/store/table-evolve.d.ts.map +1 -0
- package/dist/store/table-evolve.js.map +1 -0
- package/dist/store/table-handle.d.ts +73 -0
- package/dist/store/table-handle.d.ts.map +1 -0
- package/dist/store/table-handle.js +101 -0
- package/dist/store/table-handle.js.map +1 -0
- package/dist/store/table-history.d.ts.map +1 -0
- package/dist/store/table-history.js.map +1 -0
- package/dist/store/table-migration.d.ts +16 -0
- package/dist/store/table-migration.d.ts.map +1 -0
- package/dist/store/table-migration.js +202 -0
- package/dist/store/table-migration.js.map +1 -0
- package/dist/store/table-writes.d.ts.map +1 -0
- package/dist/store/table-writes.js +170 -0
- package/dist/store/table-writes.js.map +1 -0
- package/dist/store/table.d.ts +80 -0
- package/dist/store/table.d.ts.map +1 -0
- package/dist/store/table.js.map +1 -0
- package/dist/store/text.d.ts.map +1 -0
- package/dist/store/text.js.map +1 -0
- package/dist/store/writes.d.ts.map +1 -0
- package/dist/store/writes.js.map +1 -0
- package/dist/surfaces/active-language.d.ts +20 -0
- package/dist/surfaces/active-language.d.ts.map +1 -0
- package/dist/surfaces/active-language.js +78 -0
- package/dist/surfaces/active-language.js.map +1 -0
- package/dist/surfaces/active-theme.d.ts +16 -0
- package/dist/surfaces/active-theme.d.ts.map +1 -0
- package/dist/surfaces/active-theme.js +47 -0
- package/dist/surfaces/active-theme.js.map +1 -0
- package/dist/surfaces/client.d.ts +96 -0
- package/dist/surfaces/client.d.ts.map +1 -0
- package/dist/surfaces/client.js +264 -0
- package/dist/surfaces/client.js.map +1 -0
- package/dist/surfaces/connection.d.ts +49 -0
- package/dist/surfaces/connection.d.ts.map +1 -0
- package/dist/surfaces/connection.js +142 -0
- package/dist/surfaces/connection.js.map +1 -0
- package/dist/surfaces/format.d.ts +5 -0
- package/dist/surfaces/format.d.ts.map +1 -0
- package/dist/surfaces/format.js +37 -0
- package/dist/surfaces/format.js.map +1 -0
- package/dist/surfaces/index.d.ts +15 -0
- package/dist/surfaces/index.d.ts.map +1 -0
- package/dist/surfaces/index.js +18 -0
- package/dist/surfaces/index.js.map +1 -0
- package/dist/surfaces/language.d.ts +53 -0
- package/dist/surfaces/language.d.ts.map +1 -0
- package/dist/surfaces/language.js +74 -0
- package/dist/surfaces/language.js.map +1 -0
- package/dist/surfaces/loaded.d.ts +42 -0
- package/dist/surfaces/loaded.d.ts.map +1 -0
- package/dist/surfaces/loaded.js +116 -0
- package/dist/surfaces/loaded.js.map +1 -0
- package/dist/surfaces/locale-choice.d.ts +25 -0
- package/dist/surfaces/locale-choice.d.ts.map +1 -0
- package/dist/surfaces/locale-choice.js +14 -0
- package/dist/surfaces/locale-choice.js.map +1 -0
- package/dist/surfaces/messages.d.ts +67 -0
- package/dist/surfaces/messages.d.ts.map +1 -0
- package/dist/surfaces/messages.js +112 -0
- package/dist/surfaces/messages.js.map +1 -0
- package/dist/surfaces/page-state.d.ts +14 -0
- package/dist/surfaces/page-state.d.ts.map +1 -0
- package/dist/surfaces/page-state.js +43 -0
- package/dist/surfaces/page-state.js.map +1 -0
- package/dist/surfaces/preference.d.ts +32 -0
- package/dist/surfaces/preference.d.ts.map +1 -0
- package/dist/surfaces/preference.js +72 -0
- package/dist/surfaces/preference.js.map +1 -0
- package/dist/surfaces/registered.d.ts +33 -0
- package/dist/surfaces/registered.d.ts.map +1 -0
- package/dist/surfaces/registered.js +51 -0
- package/dist/surfaces/registered.js.map +1 -0
- package/dist/surfaces/scripts.d.ts +84 -0
- package/dist/surfaces/scripts.d.ts.map +1 -0
- package/dist/surfaces/scripts.js +28 -0
- package/dist/surfaces/scripts.js.map +1 -0
- package/dist/surfaces/theme-choice.d.ts +31 -0
- package/dist/surfaces/theme-choice.d.ts.map +1 -0
- package/dist/surfaces/theme-choice.js +18 -0
- package/dist/surfaces/theme-choice.js.map +1 -0
- package/dist/surfaces/themes.d.ts +43 -0
- package/dist/surfaces/themes.d.ts.map +1 -0
- package/dist/surfaces/themes.js +110 -0
- package/dist/surfaces/themes.js.map +1 -0
- package/dist/surfaces/translations.d.ts +29 -0
- package/dist/surfaces/translations.d.ts.map +1 -0
- package/dist/surfaces/translations.js +57 -0
- package/dist/surfaces/translations.js.map +1 -0
- package/dist/sync/batch.d.ts +18 -0
- package/dist/sync/batch.d.ts.map +1 -0
- package/dist/sync/batch.js +125 -0
- package/dist/sync/batch.js.map +1 -0
- package/dist/sync/client.d.ts +166 -0
- package/dist/sync/client.d.ts.map +1 -0
- package/dist/sync/client.js +438 -0
- package/dist/sync/client.js.map +1 -0
- package/dist/sync/files.d.ts +46 -0
- package/dist/sync/files.d.ts.map +1 -0
- package/dist/sync/files.js +13 -0
- package/dist/sync/files.js.map +1 -0
- package/dist/sync/filesystem.d.ts +37 -0
- package/dist/sync/filesystem.d.ts.map +1 -0
- package/dist/sync/filesystem.js +185 -0
- package/dist/sync/filesystem.js.map +1 -0
- package/dist/sync/index.d.ts +8 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +9 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/lines.d.ts +18 -0
- package/dist/sync/lines.d.ts.map +1 -0
- package/dist/sync/lines.js +46 -0
- package/dist/sync/lines.js.map +1 -0
- package/dist/sync/remote.d.ts +130 -0
- package/dist/sync/remote.d.ts.map +1 -0
- package/dist/sync/remote.js +46 -0
- package/dist/sync/remote.js.map +1 -0
- package/dist/sync/state.d.ts +17 -0
- package/dist/sync/state.d.ts.map +1 -0
- package/dist/sync/state.js +40 -0
- package/dist/sync/state.js.map +1 -0
- package/dist/telemetry-ingest/batch.d.ts +70 -0
- package/dist/telemetry-ingest/batch.d.ts.map +1 -0
- package/dist/telemetry-ingest/batch.js +110 -0
- package/dist/telemetry-ingest/batch.js.map +1 -0
- package/dist/telemetry-ingest/facet.d.ts +21 -0
- package/dist/telemetry-ingest/facet.d.ts.map +1 -0
- package/dist/telemetry-ingest/facet.js +96 -0
- package/dist/telemetry-ingest/facet.js.map +1 -0
- package/dist/telemetry-ingest/index.d.ts +5 -0
- package/dist/telemetry-ingest/index.d.ts.map +1 -0
- package/dist/telemetry-ingest/index.js +8 -0
- package/dist/telemetry-ingest/index.js.map +1 -0
- package/dist/telemetry-ingest/recorder.d.ts +50 -0
- package/dist/telemetry-ingest/recorder.d.ts.map +1 -0
- package/dist/telemetry-ingest/recorder.js +298 -0
- package/dist/telemetry-ingest/recorder.js.map +1 -0
- package/dist/telemetry-ingest/sender.d.ts +14 -0
- package/dist/telemetry-ingest/sender.d.ts.map +1 -0
- package/dist/telemetry-ingest/sender.js +64 -0
- package/dist/telemetry-ingest/sender.js.map +1 -0
- package/dist/telemetry-sqlite/index.d.ts +13 -4
- package/dist/telemetry-sqlite/index.d.ts.map +1 -1
- package/dist/telemetry-sqlite/index.js +81 -241
- package/dist/telemetry-sqlite/index.js.map +1 -1
- package/dist/telemetry-sqlite/node.d.ts +13 -0
- package/dist/telemetry-sqlite/node.d.ts.map +1 -0
- package/dist/telemetry-sqlite/node.js +27 -0
- package/dist/telemetry-sqlite/node.js.map +1 -0
- package/dist/telemetry-sqlite/schema.d.ts +9 -0
- package/dist/telemetry-sqlite/schema.d.ts.map +1 -0
- package/dist/telemetry-sqlite/schema.js +61 -0
- package/dist/telemetry-sqlite/schema.js.map +1 -0
- package/dist/telemetry-sqlite/store.d.ts +3 -0
- package/dist/telemetry-sqlite/store.d.ts.map +1 -1
- package/dist/telemetry-sqlite/store.js +24 -13
- package/dist/telemetry-sqlite/store.js.map +1 -1
- package/dist/telemetry.d.ts +937 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +470 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/tui/bridge.d.ts +112 -0
- package/dist/tui/bridge.d.ts.map +1 -0
- package/dist/tui/bridge.js +9 -0
- package/dist/tui/bridge.js.map +1 -0
- package/dist/tui/channel.d.ts +44 -0
- package/dist/tui/channel.d.ts.map +1 -0
- package/dist/tui/channel.js +150 -0
- package/dist/tui/channel.js.map +1 -0
- package/dist/tui/frames.d.ts +5 -0
- package/dist/tui/frames.d.ts.map +1 -0
- package/dist/tui/frames.js +52 -0
- package/dist/tui/frames.js.map +1 -0
- package/dist/tui/index.d.ts +7 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +8 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/runtime.d.ts +46 -0
- package/dist/tui/runtime.d.ts.map +1 -0
- package/dist/tui/runtime.js +101 -0
- package/dist/tui/runtime.js.map +1 -0
- package/dist/tui/scope.d.ts +46 -0
- package/dist/tui/scope.d.ts.map +1 -0
- package/dist/tui/scope.js +141 -0
- package/dist/tui/scope.js.map +1 -0
- package/dist/tui/terminal.d.ts +15 -0
- package/dist/tui/terminal.d.ts.map +1 -0
- package/dist/tui/terminal.js +37 -0
- package/dist/tui/terminal.js.map +1 -0
- package/dist/tui/theme.d.ts +17 -0
- package/dist/tui/theme.d.ts.map +1 -0
- package/dist/tui/theme.js +38 -0
- package/dist/tui/theme.js.map +1 -0
- package/dist/web/environment.d.ts +4 -0
- package/dist/web/environment.d.ts.map +1 -0
- package/dist/web/environment.js +37 -0
- package/dist/web/environment.js.map +1 -0
- package/dist/web/index.d.ts +5 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +7 -0
- package/dist/web/index.js.map +1 -0
- package/dist/web/language.d.ts +7 -0
- package/dist/web/language.d.ts.map +1 -0
- package/dist/web/language.js +21 -0
- package/dist/web/language.js.map +1 -0
- package/dist/web/page.d.ts +29 -0
- package/dist/web/page.d.ts.map +1 -0
- package/dist/web/page.js +92 -0
- package/dist/web/page.js.map +1 -0
- package/dist/web/scripts.d.ts +23 -0
- package/dist/web/scripts.d.ts.map +1 -0
- package/dist/web/scripts.js +50 -0
- package/dist/web/scripts.js.map +1 -0
- package/dist/web/styles.d.ts +17 -0
- package/dist/web/styles.d.ts.map +1 -0
- package/dist/web/styles.js +218 -0
- package/dist/web/styles.js.map +1 -0
- package/dist/web/themes.d.ts +6 -0
- package/dist/web/themes.d.ts.map +1 -0
- package/dist/web/themes.js +31 -0
- package/dist/web/themes.js.map +1 -0
- package/docs/benchmarks.md +1036 -0
- package/docs/decisions.md +3436 -0
- package/docs/dependencies/book.md +1671 -0
- package/docs/dependencies/index.html +2641 -0
- package/docs/design.md +3065 -0
- package/docs/durable-observers/book.md +432 -0
- package/docs/durable-observers/index.html +517 -0
- package/docs/guide-plugins-hosts/book.md +957 -0
- package/docs/guide-plugins-hosts/index.html +952 -0
- package/docs/http-workers/book.md +378 -0
- package/docs/http-workers/index.html +515 -0
- package/docs/i18n/book.md +217 -0
- package/docs/i18n/index.html +344 -0
- package/docs/layer-1.md +311 -0
- package/docs/layer-2.md +216 -0
- package/docs/p3-features/README.md +6 -0
- package/docs/p3-features/book.md +478 -0
- package/docs/plugin-authoring.md +276 -0
- package/docs/plugin-model/book.md +186 -0
- package/docs/plugin-model/index.html +310 -0
- package/docs/plugin-primer/book.md +273 -0
- package/docs/plugin-primer/index.html +430 -0
- package/docs/slice-1.md +236 -0
- package/docs/slice-10.md +288 -0
- package/docs/slice-11.md +114 -0
- package/docs/slice-12.md +132 -0
- package/docs/slice-13.md +121 -0
- package/docs/slice-2.md +174 -0
- package/docs/slice-3a.md +296 -0
- package/docs/slice-3b.md +197 -0
- package/docs/slice-4a.md +418 -0
- package/docs/slice-4b.md +208 -0
- package/docs/slice-6a.md +676 -0
- package/docs/slice-6b.md +332 -0
- package/docs/slice-7b/book.md +608 -0
- package/docs/slice-7b/index.html +842 -0
- package/docs/slice-7b.md +255 -0
- package/docs/slice-7c.md +165 -0
- package/docs/slice-9.md +110 -0
- package/docs/slices.md +241 -0
- package/docs/store/book.md +670 -0
- package/docs/store/index.html +861 -0
- package/docs/store/walkthrough.md +193 -0
- package/docs/theming/book.md +223 -0
- package/docs/theming/index.html +371 -0
- package/docs/tutorial/book.md +2169 -0
- package/docs/tutorial/index.html +2112 -0
- package/docs/tutorial/screens/click-after.png +0 -0
- package/docs/tutorial/screens/click-before.png +0 -0
- package/docs/tutorial/screens/edited.png +0 -0
- package/docs/tutorial/screens/french.png +0 -0
- package/docs/tutorial/screens/harbor.png +0 -0
- package/docs/tutorial/screens/page.png +0 -0
- package/docs/tutorial/screens/traces-ada.png +0 -0
- package/docs/tutorial/screens/traces.png +0 -0
- package/package.json +99 -21
- package/dist/cell.d.ts +0 -122
- package/dist/cell.d.ts.map +0 -1
- package/dist/cell.js +0 -356
- package/dist/cell.js.map +0 -1
- package/dist/cluster.d.ts +0 -27
- package/dist/cluster.d.ts.map +0 -1
- package/dist/cluster.js +0 -230
- package/dist/cluster.js.map +0 -1
- package/dist/connection.d.ts +0 -270
- package/dist/connection.d.ts.map +0 -1
- package/dist/connection.js +0 -1216
- package/dist/connection.js.map +0 -1
- package/dist/contract.d.ts +0 -207
- package/dist/contract.d.ts.map +0 -1
- package/dist/contract.js +0 -241
- package/dist/contract.js.map +0 -1
- package/dist/declare.d.ts +0 -33
- package/dist/declare.d.ts.map +0 -1
- package/dist/declare.js +0 -2
- package/dist/declare.js.map +0 -1
- package/dist/errors.d.ts +0 -28
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -59
- package/dist/errors.js.map +0 -1
- package/dist/host.d.ts +0 -348
- package/dist/host.d.ts.map +0 -1
- package/dist/host.js +0 -1002
- package/dist/host.js.map +0 -1
- package/dist/link.d.ts +0 -107
- package/dist/link.d.ts.map +0 -1
- package/dist/link.js +0 -355
- package/dist/link.js.map +0 -1
- package/dist/loader.d.ts +0 -4
- package/dist/loader.d.ts.map +0 -1
- package/dist/loader.js +0 -73
- package/dist/loader.js.map +0 -1
- package/dist/manager.d.ts +0 -115
- package/dist/manager.d.ts.map +0 -1
- package/dist/manager.js +0 -345
- package/dist/manager.js.map +0 -1
- package/dist/next/contracts/accepts.d.ts +0 -81
- package/dist/next/contracts/accepts.d.ts.map +0 -1
- package/dist/next/contracts/accepts.js.map +0 -1
- package/dist/next/contracts/contract.d.ts +0 -121
- package/dist/next/contracts/contract.d.ts.map +0 -1
- package/dist/next/contracts/contract.js.map +0 -1
- package/dist/next/contracts/declare.d.ts.map +0 -1
- package/dist/next/contracts/declare.js.map +0 -1
- package/dist/next/contracts/evolve.d.ts.map +0 -1
- package/dist/next/contracts/evolve.js.map +0 -1
- package/dist/next/contracts/fingerprint.d.ts +0 -16
- package/dist/next/contracts/fingerprint.d.ts.map +0 -1
- package/dist/next/contracts/fingerprint.js.map +0 -1
- package/dist/next/contracts/history.d.ts.map +0 -1
- package/dist/next/contracts/history.js.map +0 -1
- package/dist/next/contracts/host-kind.d.ts.map +0 -1
- package/dist/next/contracts/host-kind.js.map +0 -1
- package/dist/next/contracts/index.d.ts.map +0 -1
- package/dist/next/contracts/index.js.map +0 -1
- package/dist/next/contracts/internal.d.ts.map +0 -1
- package/dist/next/contracts/internal.js.map +0 -1
- package/dist/next/contracts/names.d.ts.map +0 -1
- package/dist/next/contracts/names.js.map +0 -1
- package/dist/next/contracts/params.d.ts +0 -28
- package/dist/next/contracts/params.d.ts.map +0 -1
- package/dist/next/contracts/params.js.map +0 -1
- package/dist/next/contracts/schema.d.ts.map +0 -1
- package/dist/next/contracts/schema.js.map +0 -1
- package/dist/next/contracts/snapshot.d.ts +0 -16
- package/dist/next/contracts/snapshot.d.ts.map +0 -1
- package/dist/next/contracts/snapshot.js +0 -167
- package/dist/next/contracts/snapshot.js.map +0 -1
- package/dist/next/data/args.d.ts +0 -50
- package/dist/next/data/args.d.ts.map +0 -1
- package/dist/next/data/args.js.map +0 -1
- package/dist/next/data/errors.d.ts +0 -73
- package/dist/next/data/errors.d.ts.map +0 -1
- package/dist/next/data/errors.js +0 -107
- package/dist/next/data/errors.js.map +0 -1
- package/dist/next/data/failure.d.ts.map +0 -1
- package/dist/next/data/failure.js +0 -72
- package/dist/next/data/failure.js.map +0 -1
- package/dist/next/data/index.d.ts +0 -4
- package/dist/next/data/index.d.ts.map +0 -1
- package/dist/next/data/index.js +0 -4
- package/dist/next/data/index.js.map +0 -1
- package/dist/next/data/internal.d.ts +0 -7
- package/dist/next/data/internal.d.ts.map +0 -1
- package/dist/next/data/internal.js +0 -8
- package/dist/next/data/internal.js.map +0 -1
- package/dist/next/data/params.d.ts +0 -20
- package/dist/next/data/params.d.ts.map +0 -1
- package/dist/next/data/params.js.map +0 -1
- package/dist/next/data/principal.d.ts +0 -17
- package/dist/next/data/principal.d.ts.map +0 -1
- package/dist/next/data/principal.js +0 -41
- package/dist/next/data/principal.js.map +0 -1
- package/dist/next/data/validator.d.ts +0 -12
- package/dist/next/data/validator.d.ts.map +0 -1
- package/dist/next/data/validator.js +0 -34
- package/dist/next/data/validator.js.map +0 -1
- package/dist/next/documents/address-source.d.ts +0 -20
- package/dist/next/documents/address-source.d.ts.map +0 -1
- package/dist/next/documents/address-source.js.map +0 -1
- package/dist/next/documents/definition.d.ts +0 -84
- package/dist/next/documents/definition.d.ts.map +0 -1
- package/dist/next/documents/definition.js +0 -73
- package/dist/next/documents/definition.js.map +0 -1
- package/dist/next/documents/documents.d.ts +0 -106
- package/dist/next/documents/documents.d.ts.map +0 -1
- package/dist/next/documents/documents.js +0 -224
- package/dist/next/documents/documents.js.map +0 -1
- package/dist/next/documents/fence.d.ts.map +0 -1
- package/dist/next/documents/fence.js.map +0 -1
- package/dist/next/documents/handles.d.ts +0 -76
- package/dist/next/documents/handles.d.ts.map +0 -1
- package/dist/next/documents/handles.js.map +0 -1
- package/dist/next/documents/index.d.ts.map +0 -1
- package/dist/next/documents/index.js.map +0 -1
- package/dist/next/documents/internal.d.ts +0 -9
- package/dist/next/documents/internal.d.ts.map +0 -1
- package/dist/next/documents/internal.js.map +0 -1
- package/dist/next/documents/keyed-slot.d.ts +0 -103
- package/dist/next/documents/keyed-slot.d.ts.map +0 -1
- package/dist/next/documents/keyed-slot.js +0 -395
- package/dist/next/documents/keyed-slot.js.map +0 -1
- package/dist/next/documents/line.d.ts.map +0 -1
- package/dist/next/documents/line.js.map +0 -1
- package/dist/next/documents/persistence.d.ts +0 -104
- package/dist/next/documents/persistence.d.ts.map +0 -1
- package/dist/next/documents/persistence.js +0 -128
- package/dist/next/documents/persistence.js.map +0 -1
- package/dist/next/documents/residency.d.ts +0 -31
- package/dist/next/documents/residency.d.ts.map +0 -1
- package/dist/next/documents/residency.js.map +0 -1
- package/dist/next/documents/slot.d.ts +0 -109
- package/dist/next/documents/slot.d.ts.map +0 -1
- package/dist/next/documents/slot.js +0 -181
- package/dist/next/documents/slot.js.map +0 -1
- package/dist/next/documents/transaction.d.ts +0 -133
- package/dist/next/documents/transaction.d.ts.map +0 -1
- package/dist/next/documents/transaction.js +0 -409
- package/dist/next/documents/transaction.js.map +0 -1
- package/dist/next/host/activity.d.ts +0 -31
- package/dist/next/host/activity.d.ts.map +0 -1
- package/dist/next/host/activity.js +0 -40
- package/dist/next/host/activity.js.map +0 -1
- package/dist/next/host/adapted.d.ts +0 -49
- package/dist/next/host/adapted.d.ts.map +0 -1
- package/dist/next/host/adapted.js.map +0 -1
- package/dist/next/host/attempt.d.ts +0 -278
- package/dist/next/host/attempt.d.ts.map +0 -1
- package/dist/next/host/attempt.js +0 -1072
- package/dist/next/host/attempt.js.map +0 -1
- package/dist/next/host/backoff.d.ts.map +0 -1
- package/dist/next/host/backoff.js.map +0 -1
- package/dist/next/host/ctx.d.ts +0 -47
- package/dist/next/host/ctx.d.ts.map +0 -1
- package/dist/next/host/ctx.js +0 -108
- package/dist/next/host/ctx.js.map +0 -1
- package/dist/next/host/deadline.d.ts.map +0 -1
- package/dist/next/host/deadline.js.map +0 -1
- package/dist/next/host/dependencies.d.ts.map +0 -1
- package/dist/next/host/dependencies.js.map +0 -1
- package/dist/next/host/destination.d.ts +0 -48
- package/dist/next/host/destination.d.ts.map +0 -1
- package/dist/next/host/destination.js.map +0 -1
- package/dist/next/host/facet.d.ts +0 -79
- package/dist/next/host/facet.d.ts.map +0 -1
- package/dist/next/host/facet.js.map +0 -1
- package/dist/next/host/follow.d.ts +0 -52
- package/dist/next/host/follow.d.ts.map +0 -1
- package/dist/next/host/follow.js.map +0 -1
- package/dist/next/host/host.d.ts +0 -495
- package/dist/next/host/host.d.ts.map +0 -1
- package/dist/next/host/host.js +0 -1075
- package/dist/next/host/host.js.map +0 -1
- package/dist/next/host/index.d.ts +0 -17
- package/dist/next/host/index.d.ts.map +0 -1
- package/dist/next/host/index.js.map +0 -1
- package/dist/next/host/internal.d.ts +0 -10
- package/dist/next/host/internal.d.ts.map +0 -1
- package/dist/next/host/internal.js +0 -8
- package/dist/next/host/internal.js.map +0 -1
- package/dist/next/host/members.d.ts +0 -50
- package/dist/next/host/members.d.ts.map +0 -1
- package/dist/next/host/members.js.map +0 -1
- package/dist/next/host/native.d.ts +0 -55
- package/dist/next/host/native.d.ts.map +0 -1
- package/dist/next/host/native.js +0 -92
- package/dist/next/host/native.js.map +0 -1
- package/dist/next/host/object.d.ts +0 -290
- package/dist/next/host/object.d.ts.map +0 -1
- package/dist/next/host/object.js +0 -1127
- package/dist/next/host/object.js.map +0 -1
- package/dist/next/host/parked.d.ts +0 -23
- package/dist/next/host/parked.d.ts.map +0 -1
- package/dist/next/host/parked.js.map +0 -1
- package/dist/next/host/presence.d.ts +0 -34
- package/dist/next/host/presence.d.ts.map +0 -1
- package/dist/next/host/presence.js.map +0 -1
- package/dist/next/host/ref-state.d.ts +0 -53
- package/dist/next/host/ref-state.d.ts.map +0 -1
- package/dist/next/host/ref-state.js +0 -83
- package/dist/next/host/ref-state.js.map +0 -1
- package/dist/next/host/reference-keys.d.ts +0 -36
- package/dist/next/host/reference-keys.d.ts.map +0 -1
- package/dist/next/host/reference-keys.js +0 -168
- package/dist/next/host/reference-keys.js.map +0 -1
- package/dist/next/host/reference-source.d.ts +0 -65
- package/dist/next/host/reference-source.d.ts.map +0 -1
- package/dist/next/host/reference-source.js +0 -285
- package/dist/next/host/reference-source.js.map +0 -1
- package/dist/next/host/reference.d.ts +0 -308
- package/dist/next/host/reference.d.ts.map +0 -1
- package/dist/next/host/reference.js +0 -775
- package/dist/next/host/reference.js.map +0 -1
- package/dist/next/host/retry-on.d.ts.map +0 -1
- package/dist/next/host/retry-on.js.map +0 -1
- package/dist/next/host/revocation.d.ts +0 -16
- package/dist/next/host/revocation.d.ts.map +0 -1
- package/dist/next/host/revocation.js.map +0 -1
- package/dist/next/host/root.d.ts +0 -27
- package/dist/next/host/root.d.ts.map +0 -1
- package/dist/next/host/root.js +0 -68
- package/dist/next/host/root.js.map +0 -1
- package/dist/next/host/route.d.ts +0 -64
- package/dist/next/host/route.d.ts.map +0 -1
- package/dist/next/host/route.js +0 -190
- package/dist/next/host/route.js.map +0 -1
- package/dist/next/host/routines.d.ts +0 -76
- package/dist/next/host/routines.d.ts.map +0 -1
- package/dist/next/host/routines.js +0 -350
- package/dist/next/host/routines.js.map +0 -1
- package/dist/next/host/sleep.d.ts +0 -9
- package/dist/next/host/sleep.d.ts.map +0 -1
- package/dist/next/host/sleep.js.map +0 -1
- package/dist/next/host/staging.d.ts +0 -94
- package/dist/next/host/staging.d.ts.map +0 -1
- package/dist/next/host/staging.js +0 -302
- package/dist/next/host/staging.js.map +0 -1
- package/dist/next/host/unbound.d.ts +0 -30
- package/dist/next/host/unbound.d.ts.map +0 -1
- package/dist/next/host/unbound.js +0 -67
- package/dist/next/host/unbound.js.map +0 -1
- package/dist/next/host/uuid.d.ts.map +0 -1
- package/dist/next/host/uuid.js.map +0 -1
- package/dist/next/index.d.ts +0 -28
- package/dist/next/index.d.ts.map +0 -1
- package/dist/next/index.js +0 -18
- package/dist/next/index.js.map +0 -1
- package/dist/next/jobs/definition.d.ts.map +0 -1
- package/dist/next/jobs/definition.js.map +0 -1
- package/dist/next/jobs/index.d.ts.map +0 -1
- package/dist/next/jobs/index.js.map +0 -1
- package/dist/next/jobs/internal.d.ts.map +0 -1
- package/dist/next/jobs/internal.js.map +0 -1
- package/dist/next/jobs/job.d.ts +0 -152
- package/dist/next/jobs/job.d.ts.map +0 -1
- package/dist/next/jobs/job.js +0 -320
- package/dist/next/jobs/job.js.map +0 -1
- package/dist/next/jobs/persisted.d.ts +0 -38
- package/dist/next/jobs/persisted.d.ts.map +0 -1
- package/dist/next/jobs/persisted.js.map +0 -1
- package/dist/next/jobs/records.d.ts +0 -231
- package/dist/next/jobs/records.d.ts.map +0 -1
- package/dist/next/jobs/records.js +0 -869
- package/dist/next/jobs/records.js.map +0 -1
- package/dist/next/jobs/run-states.d.ts +0 -69
- package/dist/next/jobs/run-states.d.ts.map +0 -1
- package/dist/next/jobs/run-states.js +0 -228
- package/dist/next/jobs/run-states.js.map +0 -1
- package/dist/next/jobs/run.d.ts +0 -113
- package/dist/next/jobs/run.d.ts.map +0 -1
- package/dist/next/jobs/run.js +0 -200
- package/dist/next/jobs/run.js.map +0 -1
- package/dist/next/jobs/running.d.ts +0 -44
- package/dist/next/jobs/running.d.ts.map +0 -1
- package/dist/next/jobs/running.js.map +0 -1
- package/dist/next/jobs/stored.d.ts +0 -63
- package/dist/next/jobs/stored.d.ts.map +0 -1
- package/dist/next/jobs/stored.js.map +0 -1
- package/dist/next/link/binary.d.ts.map +0 -1
- package/dist/next/link/binary.js +0 -534
- package/dist/next/link/binary.js.map +0 -1
- package/dist/next/link/channel.d.ts +0 -63
- package/dist/next/link/channel.d.ts.map +0 -1
- package/dist/next/link/channel.js +0 -202
- package/dist/next/link/channel.js.map +0 -1
- package/dist/next/link/errors.d.ts.map +0 -1
- package/dist/next/link/errors.js.map +0 -1
- package/dist/next/link/index.d.ts.map +0 -1
- package/dist/next/link/index.js.map +0 -1
- package/dist/next/link/internal.d.ts.map +0 -1
- package/dist/next/link/internal.js.map +0 -1
- package/dist/next/link/ipc.d.ts.map +0 -1
- package/dist/next/link/ipc.js.map +0 -1
- package/dist/next/link/link.d.ts.map +0 -1
- package/dist/next/link/link.js.map +0 -1
- package/dist/next/link/message.d.ts +0 -249
- package/dist/next/link/message.d.ts.map +0 -1
- package/dist/next/link/message.js +0 -123
- package/dist/next/link/message.js.map +0 -1
- package/dist/next/link/part.d.ts +0 -80
- package/dist/next/link/part.d.ts.map +0 -1
- package/dist/next/link/part.js +0 -164
- package/dist/next/link/part.js.map +0 -1
- package/dist/next/link/text.d.ts.map +0 -1
- package/dist/next/link/text.js +0 -335
- package/dist/next/link/text.js.map +0 -1
- package/dist/next/link/values.d.ts.map +0 -1
- package/dist/next/link/values.js +0 -117
- package/dist/next/link/values.js.map +0 -1
- package/dist/next/link/websocket.d.ts.map +0 -1
- package/dist/next/link/websocket.js.map +0 -1
- package/dist/next/registries/contribution.d.ts.map +0 -1
- package/dist/next/registries/contribution.js.map +0 -1
- package/dist/next/registries/entries.d.ts.map +0 -1
- package/dist/next/registries/entries.js.map +0 -1
- package/dist/next/registries/index.d.ts.map +0 -1
- package/dist/next/registries/index.js.map +0 -1
- package/dist/next/registries/internal.d.ts.map +0 -1
- package/dist/next/registries/internal.js.map +0 -1
- package/dist/next/registries/record.d.ts +0 -94
- package/dist/next/registries/record.d.ts.map +0 -1
- package/dist/next/registries/record.js +0 -253
- package/dist/next/registries/record.js.map +0 -1
- package/dist/next/registries/registry.d.ts +0 -74
- package/dist/next/registries/registry.d.ts.map +0 -1
- package/dist/next/registries/registry.js.map +0 -1
- package/dist/next/registries/value.d.ts.map +0 -1
- package/dist/next/registries/value.js +0 -199
- package/dist/next/registries/value.js.map +0 -1
- package/dist/next/remote/calls.d.ts.map +0 -1
- package/dist/next/remote/calls.js.map +0 -1
- package/dist/next/remote/consumer.d.ts +0 -42
- package/dist/next/remote/consumer.d.ts.map +0 -1
- package/dist/next/remote/consumer.js +0 -343
- package/dist/next/remote/consumer.js.map +0 -1
- package/dist/next/remote/hold.d.ts +0 -130
- package/dist/next/remote/hold.d.ts.map +0 -1
- package/dist/next/remote/hold.js +0 -537
- package/dist/next/remote/hold.js.map +0 -1
- package/dist/next/remote/host-link.d.ts +0 -77
- package/dist/next/remote/host-link.d.ts.map +0 -1
- package/dist/next/remote/host-link.js +0 -182
- package/dist/next/remote/host-link.js.map +0 -1
- package/dist/next/remote/internal.d.ts.map +0 -1
- package/dist/next/remote/internal.js.map +0 -1
- package/dist/next/remote/path.d.ts.map +0 -1
- package/dist/next/remote/path.js.map +0 -1
- package/dist/next/remote/provider.d.ts +0 -76
- package/dist/next/remote/provider.d.ts.map +0 -1
- package/dist/next/remote/provider.js +0 -506
- package/dist/next/remote/provider.js.map +0 -1
- package/dist/next/remote/relay.d.ts +0 -58
- package/dist/next/remote/relay.d.ts.map +0 -1
- package/dist/next/remote/relay.js +0 -117
- package/dist/next/remote/relay.js.map +0 -1
- package/dist/next/remote/remote-object.d.ts +0 -133
- package/dist/next/remote/remote-object.d.ts.map +0 -1
- package/dist/next/remote/remote-object.js +0 -411
- package/dist/next/remote/remote-object.js.map +0 -1
- package/dist/next/remote/replica.d.ts +0 -59
- package/dist/next/remote/replica.d.ts.map +0 -1
- package/dist/next/remote/replica.js +0 -125
- package/dist/next/remote/replica.js.map +0 -1
- package/dist/next/state/batch.d.ts +0 -64
- package/dist/next/state/batch.d.ts.map +0 -1
- package/dist/next/state/batch.js +0 -163
- package/dist/next/state/batch.js.map +0 -1
- package/dist/next/state/derive.d.ts +0 -52
- package/dist/next/state/derive.d.ts.map +0 -1
- package/dist/next/state/derive.js +0 -182
- package/dist/next/state/derive.js.map +0 -1
- package/dist/next/state/index.d.ts +0 -6
- package/dist/next/state/index.d.ts.map +0 -1
- package/dist/next/state/index.js.map +0 -1
- package/dist/next/state/internal.d.ts.map +0 -1
- package/dist/next/state/internal.js.map +0 -1
- package/dist/next/state/native-source.d.ts +0 -106
- package/dist/next/state/native-source.d.ts.map +0 -1
- package/dist/next/state/native-source.js +0 -240
- package/dist/next/state/native-source.js.map +0 -1
- package/dist/next/state/watchable.d.ts +0 -114
- package/dist/next/state/watchable.d.ts.map +0 -1
- package/dist/next/state/watchable.js +0 -156
- package/dist/next/state/watchable.js.map +0 -1
- package/dist/next/state/writable.d.ts +0 -32
- package/dist/next/state/writable.d.ts.map +0 -1
- package/dist/next/state/writable.js.map +0 -1
- package/dist/next/store/adapter.d.ts +0 -67
- package/dist/next/store/adapter.d.ts.map +0 -1
- package/dist/next/store/adapter.js.map +0 -1
- package/dist/next/store/allocator.d.ts.map +0 -1
- package/dist/next/store/allocator.js.map +0 -1
- package/dist/next/store/applier.d.ts.map +0 -1
- package/dist/next/store/applier.js.map +0 -1
- package/dist/next/store/apply-batch.d.ts +0 -12
- package/dist/next/store/apply-batch.d.ts.map +0 -1
- package/dist/next/store/apply-batch.js.map +0 -1
- package/dist/next/store/archive.d.ts +0 -32
- package/dist/next/store/archive.d.ts.map +0 -1
- package/dist/next/store/archive.js +0 -129
- package/dist/next/store/archive.js.map +0 -1
- package/dist/next/store/backend.d.ts +0 -10
- package/dist/next/store/backend.d.ts.map +0 -1
- package/dist/next/store/backend.js.map +0 -1
- package/dist/next/store/catalog.d.ts +0 -24
- package/dist/next/store/catalog.d.ts.map +0 -1
- package/dist/next/store/catalog.js.map +0 -1
- package/dist/next/store/claims.d.ts.map +0 -1
- package/dist/next/store/claims.js.map +0 -1
- package/dist/next/store/columns.d.ts.map +0 -1
- package/dist/next/store/columns.js.map +0 -1
- package/dist/next/store/engine.d.ts +0 -176
- package/dist/next/store/engine.d.ts.map +0 -1
- package/dist/next/store/engine.js +0 -283
- package/dist/next/store/engine.js.map +0 -1
- package/dist/next/store/evaluate.d.ts +0 -17
- package/dist/next/store/evaluate.d.ts.map +0 -1
- package/dist/next/store/evaluate.js.map +0 -1
- package/dist/next/store/export.d.ts +0 -17
- package/dist/next/store/export.d.ts.map +0 -1
- package/dist/next/store/export.js +0 -200
- package/dist/next/store/export.js.map +0 -1
- package/dist/next/store/expression.d.ts +0 -150
- package/dist/next/store/expression.d.ts.map +0 -1
- package/dist/next/store/expression.js.map +0 -1
- package/dist/next/store/import.d.ts +0 -10
- package/dist/next/store/import.d.ts.map +0 -1
- package/dist/next/store/import.js +0 -276
- package/dist/next/store/import.js.map +0 -1
- package/dist/next/store/index.d.ts.map +0 -1
- package/dist/next/store/index.js.map +0 -1
- package/dist/next/store/json-column.d.ts +0 -33
- package/dist/next/store/json-column.d.ts.map +0 -1
- package/dist/next/store/json-column.js +0 -61
- package/dist/next/store/json-column.js.map +0 -1
- package/dist/next/store/jsonl.d.ts.map +0 -1
- package/dist/next/store/jsonl.js.map +0 -1
- package/dist/next/store/outbox.d.ts +0 -26
- package/dist/next/store/outbox.d.ts.map +0 -1
- package/dist/next/store/outbox.js.map +0 -1
- package/dist/next/store/query.d.ts +0 -39
- package/dist/next/store/query.d.ts.map +0 -1
- package/dist/next/store/query.js.map +0 -1
- package/dist/next/store/refusal.d.ts.map +0 -1
- package/dist/next/store/refusal.js.map +0 -1
- package/dist/next/store/rows.d.ts +0 -80
- package/dist/next/store/rows.d.ts.map +0 -1
- package/dist/next/store/rows.js.map +0 -1
- package/dist/next/store/schema.d.ts +0 -25
- package/dist/next/store/schema.d.ts.map +0 -1
- package/dist/next/store/schema.js +0 -115
- package/dist/next/store/schema.js.map +0 -1
- package/dist/next/store/sql.d.ts +0 -73
- package/dist/next/store/sql.d.ts.map +0 -1
- package/dist/next/store/sql.js.map +0 -1
- package/dist/next/store/step.d.ts +0 -48
- package/dist/next/store/step.d.ts.map +0 -1
- package/dist/next/store/step.js +0 -50
- package/dist/next/store/step.js.map +0 -1
- package/dist/next/store/store.d.ts +0 -161
- package/dist/next/store/store.d.ts.map +0 -1
- package/dist/next/store/store.js +0 -627
- package/dist/next/store/store.js.map +0 -1
- package/dist/next/store/table-changes.d.ts +0 -29
- package/dist/next/store/table-changes.d.ts.map +0 -1
- package/dist/next/store/table-changes.js.map +0 -1
- package/dist/next/store/table-evolve.d.ts.map +0 -1
- package/dist/next/store/table-evolve.js.map +0 -1
- package/dist/next/store/table-handle.d.ts +0 -67
- package/dist/next/store/table-handle.d.ts.map +0 -1
- package/dist/next/store/table-handle.js +0 -101
- package/dist/next/store/table-handle.js.map +0 -1
- package/dist/next/store/table-history.d.ts.map +0 -1
- package/dist/next/store/table-history.js.map +0 -1
- package/dist/next/store/table-migration.d.ts +0 -16
- package/dist/next/store/table-migration.d.ts.map +0 -1
- package/dist/next/store/table-migration.js +0 -202
- package/dist/next/store/table-migration.js.map +0 -1
- package/dist/next/store/table-writes.d.ts.map +0 -1
- package/dist/next/store/table-writes.js +0 -165
- package/dist/next/store/table-writes.js.map +0 -1
- package/dist/next/store/table.d.ts +0 -80
- package/dist/next/store/table.d.ts.map +0 -1
- package/dist/next/store/table.js.map +0 -1
- package/dist/next/store/text.d.ts.map +0 -1
- package/dist/next/store/text.js.map +0 -1
- package/dist/next/store/writes.d.ts.map +0 -1
- package/dist/next/store/writes.js.map +0 -1
- package/dist/next-node/compression.d.ts +0 -7
- package/dist/next-node/compression.d.ts.map +0 -1
- package/dist/next-node/compression.js +0 -24
- package/dist/next-node/compression.js.map +0 -1
- package/dist/next-node/http/admission.d.ts.map +0 -1
- package/dist/next-node/http/admission.js.map +0 -1
- package/dist/next-node/http/authenticate.d.ts +0 -21
- package/dist/next-node/http/authenticate.d.ts.map +0 -1
- package/dist/next-node/http/authenticate.js +0 -34
- package/dist/next-node/http/authenticate.js.map +0 -1
- package/dist/next-node/http/cookies.d.ts +0 -24
- package/dist/next-node/http/cookies.d.ts.map +0 -1
- package/dist/next-node/http/cookies.js +0 -62
- package/dist/next-node/http/cookies.js.map +0 -1
- package/dist/next-node/http/file.d.ts.map +0 -1
- package/dist/next-node/http/file.js.map +0 -1
- package/dist/next-node/http/headers.d.ts.map +0 -1
- package/dist/next-node/http/headers.js +0 -129
- package/dist/next-node/http/headers.js.map +0 -1
- package/dist/next-node/http/http.d.ts +0 -100
- package/dist/next-node/http/http.d.ts.map +0 -1
- package/dist/next-node/http/http.js +0 -462
- package/dist/next-node/http/http.js.map +0 -1
- package/dist/next-node/http/incoming.d.ts.map +0 -1
- package/dist/next-node/http/incoming.js.map +0 -1
- package/dist/next-node/http/index.d.ts +0 -11
- package/dist/next-node/http/index.d.ts.map +0 -1
- package/dist/next-node/http/index.js +0 -12
- package/dist/next-node/http/index.js.map +0 -1
- package/dist/next-node/http/node.d.ts.map +0 -1
- package/dist/next-node/http/node.js.map +0 -1
- package/dist/next-node/http/request.d.ts +0 -54
- package/dist/next-node/http/request.d.ts.map +0 -1
- package/dist/next-node/http/request.js +0 -116
- package/dist/next-node/http/request.js.map +0 -1
- package/dist/next-node/http/response.d.ts +0 -63
- package/dist/next-node/http/response.d.ts.map +0 -1
- package/dist/next-node/http/response.js.map +0 -1
- package/dist/next-node/http/router.d.ts +0 -114
- package/dist/next-node/http/router.d.ts.map +0 -1
- package/dist/next-node/http/router.js +0 -261
- package/dist/next-node/http/router.js.map +0 -1
- package/dist/next-node/http/upgrades.d.ts +0 -58
- package/dist/next-node/http/upgrades.d.ts.map +0 -1
- package/dist/next-node/http/upgrades.js +0 -184
- package/dist/next-node/http/upgrades.js.map +0 -1
- package/dist/next-node/plugins/build.d.ts +0 -57
- package/dist/next-node/plugins/build.d.ts.map +0 -1
- package/dist/next-node/plugins/build.js +0 -334
- package/dist/next-node/plugins/build.js.map +0 -1
- package/dist/next-node/plugins/discover.d.ts +0 -36
- package/dist/next-node/plugins/discover.d.ts.map +0 -1
- package/dist/next-node/plugins/discover.js +0 -91
- package/dist/next-node/plugins/discover.js.map +0 -1
- package/dist/next-node/plugins/evaluate.d.ts +0 -33
- package/dist/next-node/plugins/evaluate.d.ts.map +0 -1
- package/dist/next-node/plugins/evaluate.js +0 -98
- package/dist/next-node/plugins/evaluate.js.map +0 -1
- package/dist/next-node/plugins/index.d.ts +0 -9
- package/dist/next-node/plugins/index.d.ts.map +0 -1
- package/dist/next-node/plugins/index.js +0 -11
- package/dist/next-node/plugins/index.js.map +0 -1
- package/dist/next-node/plugins/install.d.ts +0 -13
- package/dist/next-node/plugins/install.d.ts.map +0 -1
- package/dist/next-node/plugins/install.js +0 -37
- package/dist/next-node/plugins/install.js.map +0 -1
- package/dist/next-node/plugins/plugins.d.ts +0 -135
- package/dist/next-node/plugins/plugins.d.ts.map +0 -1
- package/dist/next-node/plugins/plugins.js +0 -206
- package/dist/next-node/plugins/plugins.js.map +0 -1
- package/dist/next-node/plugins/runtime.d.ts +0 -41
- package/dist/next-node/plugins/runtime.d.ts.map +0 -1
- package/dist/next-node/plugins/runtime.js +0 -136
- package/dist/next-node/plugins/runtime.js.map +0 -1
- package/dist/next-node/plugins/stack.d.ts.map +0 -1
- package/dist/next-node/plugins/stack.js.map +0 -1
- package/dist/next-node/plugins/watcher.d.ts +0 -58
- package/dist/next-node/plugins/watcher.d.ts.map +0 -1
- package/dist/next-node/plugins/watcher.js +0 -281
- package/dist/next-node/plugins/watcher.js.map +0 -1
- package/dist/next-node/workers/control.d.ts +0 -83
- package/dist/next-node/workers/control.d.ts.map +0 -1
- package/dist/next-node/workers/control.js +0 -77
- package/dist/next-node/workers/control.js.map +0 -1
- package/dist/next-node/workers/index.d.ts +0 -5
- package/dist/next-node/workers/index.d.ts.map +0 -1
- package/dist/next-node/workers/index.js +0 -7
- package/dist/next-node/workers/index.js.map +0 -1
- package/dist/next-node/workers/lock.d.ts +0 -21
- package/dist/next-node/workers/lock.d.ts.map +0 -1
- package/dist/next-node/workers/lock.js +0 -137
- package/dist/next-node/workers/lock.js.map +0 -1
- package/dist/next-node/workers/main.d.ts +0 -46
- package/dist/next-node/workers/main.d.ts.map +0 -1
- package/dist/next-node/workers/main.js +0 -230
- package/dist/next-node/workers/main.js.map +0 -1
- package/dist/next-node/workers/process.d.ts +0 -42
- package/dist/next-node/workers/process.d.ts.map +0 -1
- package/dist/next-node/workers/process.js +0 -125
- package/dist/next-node/workers/process.js.map +0 -1
- package/dist/next-node/workers/workers.d.ts +0 -80
- package/dist/next-node/workers/workers.d.ts.map +0 -1
- package/dist/next-node/workers/workers.js +0 -572
- package/dist/next-node/workers/workers.js.map +0 -1
- package/dist/node.d.ts +0 -4
- package/dist/node.d.ts.map +0 -1
- package/dist/node.js +0 -4
- package/dist/node.js.map +0 -1
- package/dist/object.d.ts +0 -438
- package/dist/object.d.ts.map +0 -1
- package/dist/object.js +0 -1570
- package/dist/object.js.map +0 -1
- package/dist/publish.d.ts +0 -5
- package/dist/publish.d.ts.map +0 -1
- package/dist/publish.js +0 -40
- package/dist/publish.js.map +0 -1
- package/dist/registry.d.ts +0 -25
- package/dist/registry.d.ts.map +0 -1
- package/dist/registry.js +0 -6
- package/dist/registry.js.map +0 -1
- package/dist/reload.d.ts +0 -126
- package/dist/reload.d.ts.map +0 -1
- package/dist/reload.js +0 -653
- package/dist/reload.js.map +0 -1
- package/dist/remote.d.ts +0 -165
- package/dist/remote.d.ts.map +0 -1
- package/dist/remote.js +0 -612
- package/dist/remote.js.map +0 -1
- package/dist/schema.d.ts +0 -25
- package/dist/schema.d.ts.map +0 -1
- package/dist/schema.js +0 -403
- package/dist/schema.js.map +0 -1
- package/dist/state.d.ts +0 -92
- package/dist/state.d.ts.map +0 -1
- package/dist/state.js +0 -287
- package/dist/state.js.map +0 -1
- package/dist/types.d.ts +0 -88
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/websocket.d.ts +0 -15
- package/dist/websocket.d.ts.map +0 -1
- package/dist/websocket.js +0 -16
- package/dist/websocket.js.map +0 -1
- package/dist/wire.d.ts +0 -197
- package/dist/wire.d.ts.map +0 -1
- package/dist/wire.js +0 -166
- package/dist/wire.js.map +0 -1
- package/docs/guide.md +0 -814
- package/docs/next/benchmarks.md +0 -959
- package/docs/next/decisions.md +0 -2957
- package/docs/next/dependencies/book.md +0 -1671
- package/docs/next/dependencies/index.html +0 -2641
- package/docs/next/design.md +0 -2554
- package/docs/next/durable-observers/book.md +0 -432
- package/docs/next/durable-observers/index.html +0 -517
- package/docs/next/guide-plugins-hosts/book.md +0 -607
- package/docs/next/guide-plugins-hosts/index.html +0 -652
- package/docs/next/http-workers/book.md +0 -378
- package/docs/next/http-workers/index.html +0 -515
- package/docs/next/layer-1.md +0 -311
- package/docs/next/layer-2.md +0 -216
- package/docs/next/plugin-model/book.md +0 -186
- package/docs/next/plugin-model/index.html +0 -310
- package/docs/next/plugin-primer/book.md +0 -273
- package/docs/next/plugin-primer/index.html +0 -430
- package/docs/next/slice-1.md +0 -236
- package/docs/next/slice-10.md +0 -285
- package/docs/next/slice-11.md +0 -93
- package/docs/next/slice-2.md +0 -174
- package/docs/next/slice-3a.md +0 -296
- package/docs/next/slice-3b.md +0 -197
- package/docs/next/slice-4a.md +0 -418
- package/docs/next/slice-4b.md +0 -208
- package/docs/next/slice-6a.md +0 -676
- package/docs/next/slice-6b.md +0 -332
- package/docs/next/slice-7b/book.md +0 -608
- package/docs/next/slice-7b/index.html +0 -842
- package/docs/next/slice-7b.md +0 -255
- package/docs/next/slice-7c.md +0 -165
- package/docs/next/slices.md +0 -230
- package/docs/next/store/book.md +0 -665
- package/docs/next/store/index.html +0 -861
- package/docs/next/store/walkthrough.md +0 -193
- package/docs/spec.md +0 -288
- package/docs/tutorial.md +0 -932
- /package/dist/{next/contracts → contracts}/accepts.js +0 -0
- /package/dist/{next/contracts → contracts}/contract.js +0 -0
- /package/dist/{next/contracts → contracts}/declare.d.ts +0 -0
- /package/dist/{next/contracts → contracts}/declare.js +0 -0
- /package/dist/{next/contracts → contracts}/evolve.d.ts +0 -0
- /package/dist/{next/contracts → contracts}/evolve.js +0 -0
- /package/dist/{next/contracts → contracts}/fingerprint.js +0 -0
- /package/dist/{next/contracts → contracts}/history.d.ts +0 -0
- /package/dist/{next/contracts → contracts}/history.js +0 -0
- /package/dist/{next/contracts → contracts}/host-kind.d.ts +0 -0
- /package/dist/{next/contracts → contracts}/host-kind.js +0 -0
- /package/dist/{next/contracts → contracts}/index.d.ts +0 -0
- /package/dist/{next/contracts → contracts}/index.js +0 -0
- /package/dist/{next/contracts → contracts}/internal.d.ts +0 -0
- /package/dist/{next/contracts → contracts}/internal.js +0 -0
- /package/dist/{next/contracts → contracts}/names.d.ts +0 -0
- /package/dist/{next/contracts → contracts}/names.js +0 -0
- /package/dist/{next/contracts → contracts}/params.js +0 -0
- /package/dist/{next/contracts → contracts}/schema.d.ts +0 -0
- /package/dist/{next/contracts → contracts}/schema.js +0 -0
- /package/dist/{next/data → data}/args.js +0 -0
- /package/dist/{next/data → data}/failure.d.ts +0 -0
- /package/dist/{next/data → data}/params.js +0 -0
- /package/dist/{next/documents → documents}/address-source.js +0 -0
- /package/dist/{next/documents → documents}/fence.d.ts +0 -0
- /package/dist/{next/documents → documents}/fence.js +0 -0
- /package/dist/{next/documents → documents}/handles.js +0 -0
- /package/dist/{next/documents → documents}/index.d.ts +0 -0
- /package/dist/{next/documents → documents}/index.js +0 -0
- /package/dist/{next/documents → documents}/internal.js +0 -0
- /package/dist/{next/documents → documents}/line.d.ts +0 -0
- /package/dist/{next/documents → documents}/line.js +0 -0
- /package/dist/{next/documents → documents}/residency.js +0 -0
- /package/dist/{next/host → host}/adapted.js +0 -0
- /package/dist/{next/host → host}/backoff.d.ts +0 -0
- /package/dist/{next/host → host}/backoff.js +0 -0
- /package/dist/{next/host → host}/deadline.d.ts +0 -0
- /package/dist/{next/host → host}/deadline.js +0 -0
- /package/dist/{next/host → host}/dependencies.d.ts +0 -0
- /package/dist/{next/host → host}/dependencies.js +0 -0
- /package/dist/{next/host → host}/destination.js +0 -0
- /package/dist/{next/host → host}/facet.js +0 -0
- /package/dist/{next/host → host}/follow.js +0 -0
- /package/dist/{next/host → host}/index.js +0 -0
- /package/dist/{next/host → host}/members.js +0 -0
- /package/dist/{next/host → host}/parked.js +0 -0
- /package/dist/{next/host → host}/presence.js +0 -0
- /package/dist/{next/host → host}/retry-on.d.ts +0 -0
- /package/dist/{next/host → host}/retry-on.js +0 -0
- /package/dist/{next/host → host}/revocation.js +0 -0
- /package/dist/{next/host → host}/sleep.js +0 -0
- /package/dist/{next/host → host}/uuid.d.ts +0 -0
- /package/dist/{next/host → host}/uuid.js +0 -0
- /package/dist/{next/jobs → jobs}/definition.d.ts +0 -0
- /package/dist/{next/jobs → jobs}/definition.js +0 -0
- /package/dist/{next/jobs → jobs}/index.d.ts +0 -0
- /package/dist/{next/jobs → jobs}/index.js +0 -0
- /package/dist/{next/jobs → jobs}/internal.d.ts +0 -0
- /package/dist/{next/jobs → jobs}/internal.js +0 -0
- /package/dist/{next/jobs → jobs}/persisted.js +0 -0
- /package/dist/{next/jobs → jobs}/running.js +0 -0
- /package/dist/{next/jobs → jobs}/stored.js +0 -0
- /package/dist/{next/link → link}/binary.d.ts +0 -0
- /package/dist/{next/link → link}/errors.d.ts +0 -0
- /package/dist/{next/link → link}/errors.js +0 -0
- /package/dist/{next/link → link}/index.d.ts +0 -0
- /package/dist/{next/link → link}/index.js +0 -0
- /package/dist/{next/link → link}/internal.d.ts +0 -0
- /package/dist/{next/link → link}/internal.js +0 -0
- /package/dist/{next/link → link}/ipc.d.ts +0 -0
- /package/dist/{next/link → link}/ipc.js +0 -0
- /package/dist/{next/link → link}/link.d.ts +0 -0
- /package/dist/{next/link → link}/link.js +0 -0
- /package/dist/{next/link → link}/text.d.ts +0 -0
- /package/dist/{next/link → link}/values.d.ts +0 -0
- /package/dist/{next/link → link}/websocket.d.ts +0 -0
- /package/dist/{next/link → link}/websocket.js +0 -0
- /package/dist/{next-node → node}/http/admission.d.ts +0 -0
- /package/dist/{next-node → node}/http/admission.js +0 -0
- /package/dist/{next-node → node}/http/file.d.ts +0 -0
- /package/dist/{next-node → node}/http/file.js +0 -0
- /package/dist/{next-node → node}/http/headers.d.ts +0 -0
- /package/dist/{next-node → node}/http/incoming.d.ts +0 -0
- /package/dist/{next-node → node}/http/incoming.js +0 -0
- /package/dist/{next-node → node}/http/node.d.ts +0 -0
- /package/dist/{next-node → node}/http/node.js +0 -0
- /package/dist/{next-node → node}/http/response.js +0 -0
- /package/dist/{next-node → node}/plugins/stack.d.ts +0 -0
- /package/dist/{next-node → node}/plugins/stack.js +0 -0
- /package/dist/{next/registries → registries}/contribution.d.ts +0 -0
- /package/dist/{next/registries → registries}/contribution.js +0 -0
- /package/dist/{next/registries → registries}/entries.d.ts +0 -0
- /package/dist/{next/registries → registries}/entries.js +0 -0
- /package/dist/{next/registries → registries}/index.d.ts +0 -0
- /package/dist/{next/registries → registries}/index.js +0 -0
- /package/dist/{next/registries → registries}/internal.d.ts +0 -0
- /package/dist/{next/registries → registries}/internal.js +0 -0
- /package/dist/{next/registries → registries}/registry.js +0 -0
- /package/dist/{next/registries → registries}/value.d.ts +0 -0
- /package/dist/{next/remote → remote}/calls.d.ts +0 -0
- /package/dist/{next/remote → remote}/calls.js +0 -0
- /package/dist/{next/remote → remote}/internal.d.ts +0 -0
- /package/dist/{next/remote → remote}/internal.js +0 -0
- /package/dist/{next/remote → remote}/path.d.ts +0 -0
- /package/dist/{next/remote → remote}/path.js +0 -0
- /package/dist/{next/state → state}/index.js +0 -0
- /package/dist/{next/state → state}/internal.d.ts +0 -0
- /package/dist/{next/state → state}/internal.js +0 -0
- /package/dist/{next/state → state}/writable.js +0 -0
- /package/dist/{next/store → store}/adapter.js +0 -0
- /package/dist/{next/store → store}/allocator.d.ts +0 -0
- /package/dist/{next/store → store}/allocator.js +0 -0
- /package/dist/{next/store → store}/applier.d.ts +0 -0
- /package/dist/{next/store → store}/applier.js +0 -0
- /package/dist/{next/store → store}/apply-batch.js +0 -0
- /package/dist/{next/store → store}/backend.js +0 -0
- /package/dist/{next/store → store}/catalog.js +0 -0
- /package/dist/{next/store → store}/claims.d.ts +0 -0
- /package/dist/{next/store → store}/claims.js +0 -0
- /package/dist/{next/store → store}/columns.d.ts +0 -0
- /package/dist/{next/store → store}/columns.js +0 -0
- /package/dist/{next/store → store}/evaluate.js +0 -0
- /package/dist/{next/store → store}/expression.js +0 -0
- /package/dist/{next/store → store}/index.d.ts +0 -0
- /package/dist/{next/store → store}/index.js +0 -0
- /package/dist/{next/store → store}/jsonl.d.ts +0 -0
- /package/dist/{next/store → store}/jsonl.js +0 -0
- /package/dist/{next/store → store}/outbox.js +0 -0
- /package/dist/{next/store → store}/query.js +0 -0
- /package/dist/{next/store → store}/refusal.d.ts +0 -0
- /package/dist/{next/store → store}/refusal.js +0 -0
- /package/dist/{next/store → store}/rows.js +0 -0
- /package/dist/{next/store → store}/sql.js +0 -0
- /package/dist/{next/store → store}/table-changes.js +0 -0
- /package/dist/{next/store → store}/table-evolve.d.ts +0 -0
- /package/dist/{next/store → store}/table-evolve.js +0 -0
- /package/dist/{next/store → store}/table-history.d.ts +0 -0
- /package/dist/{next/store → store}/table-history.js +0 -0
- /package/dist/{next/store → store}/table-writes.d.ts +0 -0
- /package/dist/{next/store → store}/table.js +0 -0
- /package/dist/{next/store → store}/text.d.ts +0 -0
- /package/dist/{next/store → store}/text.js +0 -0
- /package/dist/{next/store → store}/writes.d.ts +0 -0
- /package/dist/{next/store → store}/writes.js +0 -0
- /package/docs/{next/dependencies → dependencies}/model.md +0 -0
- /package/docs/{next/flow-control → flow-control}/book.md +0 -0
- /package/docs/{next/flow-control → flow-control}/fold/index.html +0 -0
- /package/docs/{next/flow-control → flow-control}/index.html +0 -0
- /package/docs/{next/flow-control → flow-control}/window/index.html +0 -0
- /package/docs/{next/slice-4.md → slice-4.md} +0 -0
- /package/docs/{next/slice-5.md → slice-5.md} +0 -0
- /package/docs/{next/slice-7a.md → slice-7a.md} +0 -0
- /package/docs/{next/slice-8.md → slice-8.md} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/contracts/snapshot.ts"],"names":[],"mappings":"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","sourcesContent":["// Schema snapshots: one schema-aware walk checks an app schema against Chord's vocabulary and produces a\n// Chord-owned copy and its normal form (the fingerprint input).\n\nimport type { JsonSchema } from \"@earendil-works/pi-schema\";\nimport { isJsonValue, type JsonValue } from \"../json.ts\";\n\n/**\n * A Chord-owned copy of an app schema, its normal form, and whether it has a `bytes()` leaf (values crossing a link\n * then carry raw byte segments); immutable by convention.\n */\nexport type Snapshot = { readonly schema: JsonSchema; readonly normal: JsonValue; readonly bytes: boolean };\n\n/** Snapshot of a state, result or params schema. Throws an Error naming `path` for anything outside the vocabulary. */\nexport function snapshotSchema(source: unknown, path: string): Snapshot {\n\treturn walk(source, path, \"open\", new Set());\n}\n\n/** Snapshot of a method's arguments: every object schema inside must also be closed (records allowed). */\nexport function snapshotArguments(source: unknown, path: string): Snapshot {\n\treturn walk(source, path, \"closed\", new Set());\n}\n\n/** Whether object schemas must set `additionalProperties: false`. */\ntype Objects = \"open\" | \"closed\";\n\n/** A copied keyword value, its normal form, and whether a schema inside it is a bytes leaf. */\ntype Copy = { readonly schema: unknown; readonly normal: JsonValue; readonly bytes: boolean };\n\n/** Every supported keyword, grouped by how its value is walked. */\nconst KEYWORD_GROUPS = {\n\tschema: \"additionalProperties additionalItems\",\n\tschemas: \"anyOf allOf prefixItems\",\n\titems: \"items\",\n\tschemaMap: \"properties patternProperties $defs\",\n\ttype: \"type\",\n\trequired: \"required\",\n\tenum: \"enum\",\n\tdata:\n\t\t\"const default $ref $id pattern format minLength maxLength minimum maximum exclusiveMinimum exclusiveMaximum \" +\n\t\t\"multipleOf minItems maxItems uniqueItems minProperties maxProperties readOnly writeOnly\",\n\tannotation: \"title description examples $comment deprecated\",\n};\n\ntype Keyword = keyof typeof KEYWORD_GROUPS;\n\nconst KEYWORDS = new Map(\n\tObject.entries(KEYWORD_GROUPS).flatMap(([keyword, names]) =>\n\t\tnames.split(\" \").map((name) => [name, keyword as Keyword]),\n\t),\n);\n\nconst TYPES = new Set([\"null\", \"boolean\", \"number\", \"integer\", \"string\", \"array\", \"object\", \"bytes\"]);\n\nconst BYTES_KEYWORDS = new Set([\"type\", \"minLength\", \"maxLength\"]);\n\nfunction walk(source: unknown, path: string, objects: Objects, ancestors: Set<object>): Snapshot {\n\tif (typeof source === \"boolean\") return { schema: source, normal: source, bytes: false };\n\tif (!isPlainObject(source)) throw new Error(`${path}: expected a schema`);\n\tif (ancestors.has(source)) throw new Error(`${path}: cyclic schema; use $defs and $ref for recursion`);\n\tconst isBytes = source.type === \"bytes\";\n\tancestors.add(source);\n\tconst schema: [string, unknown][] = [];\n\tconst normal: [string, JsonValue][] = [];\n\tlet bytes = isBytes;\n\tfor (const [key, value] of ownEntries(source, path)) {\n\t\tconst keyword = KEYWORDS.get(key);\n\t\tif (keyword === undefined || (isBytes && keyword !== \"annotation\" && !BYTES_KEYWORDS.has(key))) {\n\t\t\tthrow new Error(`${path}: unsupported keyword \"${key}\"`);\n\t\t}\n\t\tconst copy = walkKeyword(keyword, value, `${path}.${key}`, objects, ancestors);\n\t\tbytes ||= copy.bytes;\n\t\tschema.push([key, copy.schema]);\n\t\t// Annotations are dropped on schema nodes only; inside data they are ordinary keys.\n\t\tif (keyword !== \"annotation\") normal.push([key, copy.normal]);\n\t}\n\tancestors.delete(source);\n\tconst node = Object.fromEntries(schema);\n\tif (objects === \"closed\" && isOpenObject(node)) {\n\t\tthrow new Error(`${path}: argument objects must be closed (additionalProperties: false)`);\n\t}\n\tif (isBytes) checkBytesBounds(node, path);\n\treturn { schema: node, normal: Object.fromEntries(normal), bytes };\n}\n\nfunction walkKeyword(keyword: Keyword, value: unknown, path: string, objects: Objects, ancestors: Set<object>): Copy {\n\tswitch (keyword) {\n\t\tcase \"schema\":\n\t\t\treturn walk(value, path, objects, ancestors);\n\t\tcase \"schemas\":\n\t\t\treturn walkList(value, path, objects, ancestors);\n\t\tcase \"items\":\n\t\t\treturn Array.isArray(value)\n\t\t\t\t? walkList(value, path, objects, ancestors)\n\t\t\t\t: walk(value, path, objects, ancestors);\n\t\tcase \"schemaMap\": {\n\t\t\tif (!isPlainObject(value)) throw new Error(`${path}: expected an object of schemas`);\n\t\t\tconst entries = ownEntries(value, path).map(\n\t\t\t\t([key, item]) => [key, walk(item, `${path}.${key}`, objects, ancestors)] as const,\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tschema: Object.fromEntries(entries.map(([key, item]) => [key, item.schema])),\n\t\t\t\tnormal: Object.fromEntries(entries.map(([key, item]) => [key, item.normal])),\n\t\t\t\tbytes: entries.some(([, item]) => item.bytes),\n\t\t\t};\n\t\t}\n\t\tcase \"type\":\n\t\t\tif (typeof value !== \"string\" || !TYPES.has(value)) {\n\t\t\t\tthrow new Error(`${path}: unsupported type ${JSON.stringify(value)}`);\n\t\t\t}\n\t\t\treturn { schema: value, normal: value, bytes: false };\n\t\tcase \"required\": {\n\t\t\tif (!Array.isArray(value) || !value.every((name) => typeof name === \"string\")) {\n\t\t\t\tthrow new Error(`${path}: expected an array of strings`);\n\t\t\t}\n\t\t\tconst names = [...value].sort();\n\t\t\treturn { schema: names, normal: names, bytes: false };\n\t\t}\n\t\tcase \"enum\": {\n\t\t\tconst values = data(value, path).normal;\n\t\t\tif (!Array.isArray(values)) throw new Error(`${path}: expected an array`);\n\t\t\tconst sorted = [...values].sort((a, b) => compare(JSON.stringify(a), JSON.stringify(b)));\n\t\t\treturn { schema: sorted, normal: sorted, bytes: false };\n\t\t}\n\t\tcase \"data\":\n\t\tcase \"annotation\":\n\t\t\treturn data(value, path);\n\t}\n}\n\nfunction walkList(value: unknown, path: string, objects: Objects, ancestors: Set<object>): Copy {\n\tif (!Array.isArray(value)) throw new Error(`${path}: expected an array of schemas`);\n\tconst items = Array.from(value, (item, index) => walk(item, `${path}[${index}]`, objects, ancestors));\n\treturn {\n\t\tschema: items.map((item) => item.schema),\n\t\tnormal: items.map((item) => item.normal),\n\t\tbytes: items.some((item) => item.bytes),\n\t};\n}\n\n/** A JSON value as a copy with sorted keys; the same copy serves as snapshot and normal form. */\nfunction data(value: unknown, path: string): Copy {\n\tif (!isJsonValue(value)) throw new Error(`${path}: expected JSON data (finite numbers, plain objects and arrays)`);\n\tconst copy = sortedCopy(value);\n\treturn { schema: copy, normal: copy, bytes: false };\n}\n\nfunction sortedCopy(value: JsonValue): JsonValue {\n\tif (value === null || typeof value !== \"object\") return value;\n\tif (Array.isArray(value)) return value.map(sortedCopy);\n\tconst keys = Object.keys(value).sort();\n\treturn Object.fromEntries(keys.map((key) => [key, sortedCopy(value[key]!)]));\n}\n\n/** Data entries sorted by key; symbol keys, accessors and non-enumerable keys (not data) are refused. */\nfunction ownEntries(source: object, path: string): [string, unknown][] {\n\tconst entries: [string, unknown][] = [];\n\tfor (const key of Reflect.ownKeys(source)) {\n\t\tif (typeof key === \"symbol\") throw new Error(`${path}: symbol keys are not supported`);\n\t\tconst descriptor = Object.getOwnPropertyDescriptor(source, key)!;\n\t\tif (!(\"value\" in descriptor)) throw new Error(`${path}.${key}: accessors are not supported`);\n\t\tif (!descriptor.enumerable) throw new Error(`${path}.${key}: non-enumerable keys are not supported`);\n\t\tentries.push([key, descriptor.value]);\n\t}\n\treturn entries.sort(([a], [b]) => compare(a, b));\n}\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n\tif (typeof value !== \"object\" || value === null || Array.isArray(value)) return false;\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn prototype === Object.prototype || prototype === null;\n}\n\n/** An object schema that admits unknown fields. A record (pattern properties only) is allowed. */\nfunction isOpenObject(node: Record<string, unknown>): boolean {\n\tconst isRecord = \"patternProperties\" in node && !(\"properties\" in node);\n\tconst isObject = node.type === \"object\" || \"properties\" in node;\n\treturn isObject && !isRecord && node.additionalProperties !== false;\n}\n\nfunction checkBytesBounds(node: Record<string, unknown>, path: string): void {\n\tfor (const bound of [node.minLength, node.maxLength]) {\n\t\tif (bound !== undefined && !(Number.isSafeInteger(bound) && (bound as number) >= 0)) {\n\t\t\tthrow new Error(`${path}: bytes bounds must be non-negative integers`);\n\t\t}\n\t}\n}\n\nfunction compare(a: string, b: string): number {\n\treturn a < b ? -1 : a > b ? 1 : 0;\n}\n"]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { Context } from "../context/index.ts";
|
|
2
|
+
import { type AcceptedVersion, type AcceptsTable } from "../contracts/accepts.ts";
|
|
3
|
+
import { type Contract, type CurrentVariants } from "../contracts/contract.ts";
|
|
4
|
+
import type { MemberNames, MethodAt } from "../contracts/history.ts";
|
|
5
|
+
import type { Static } from "../contracts/schema.ts";
|
|
6
|
+
/** JSON plus byte leaves. Same-host values are plain data and immutable once handed over, by convention. */
|
|
7
|
+
export type Value = null | boolean | number | string | Uint8Array | Value[] | {
|
|
8
|
+
[key: string]: Value;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* A provider's binding of a contract with the older versions it accepts and their mappings (the table as checked, for
|
|
12
|
+
* the state mappings of an older consumer's binding).
|
|
13
|
+
*/
|
|
14
|
+
export type Provider<C extends Contract> = {
|
|
15
|
+
readonly contract: C;
|
|
16
|
+
readonly accepted: readonly AcceptedVersion[];
|
|
17
|
+
readonly accepts: AcceptsTable<C>;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Checked arguments: a method's arguments in the current shape with the result mapping back to the caller's version,
|
|
21
|
+
* or the old arguments for the provider's own `call` replacement (L4 dispatches it).
|
|
22
|
+
*/
|
|
23
|
+
export type CheckedArgs<C extends Contract, M extends string> = {
|
|
24
|
+
readonly kind: "method";
|
|
25
|
+
readonly args: ArgsOf<C, M>;
|
|
26
|
+
readonly result?: (current: Value) => Value;
|
|
27
|
+
} | {
|
|
28
|
+
readonly kind: "call";
|
|
29
|
+
readonly args: Value;
|
|
30
|
+
readonly call: (args: Value, context: Context) => Promise<Value>;
|
|
31
|
+
};
|
|
32
|
+
type ArgsOf<C extends Contract, M extends string> = M extends MemberNames<CurrentVariants<C>, "methods"> ? Static<MethodAt<CurrentVariants<C>, M>["args"]> : Value;
|
|
33
|
+
/**
|
|
34
|
+
* Binds a contract and the app's accepts table (validated once, kept as it is) into a provider. Builds the dispatch
|
|
35
|
+
* table: accepted version -> method -> schema and mapping; nothing is compiled yet.
|
|
36
|
+
*/
|
|
37
|
+
export declare function bindProvider<C extends Contract>(contract: C, accepts: AcceptsTable<C>): Provider<C>;
|
|
38
|
+
/**
|
|
39
|
+
* Whether `provider` binds a consumer of `version` with `fingerprint`: its current version and fingerprint, or a
|
|
40
|
+
* version it accepts with the fingerprint its own history computes (R6, Q10).
|
|
41
|
+
*/
|
|
42
|
+
export declare function binds(provider: Provider<Contract>, version: number, fingerprint: string): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Checks a call's arguments against the provider's schema for the caller's bound version: three map lookups, one
|
|
45
|
+
* compiled check, at most one direct mapping old -> current (never for current-version calls). A method without
|
|
46
|
+
* arguments gets `null` (its internal and wire form). Unknown method: `invalid/member`; version not accepted or refused: `contract_mismatch`.
|
|
47
|
+
*/
|
|
48
|
+
export declare function checkArgs<C extends Contract, M extends string>(provider: Provider<C>, method: M, raw: unknown, boundVersion: number, context: Context): CheckedArgs<C, M>;
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=args.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/data/args.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAgB,MAAM,yBAAyB,CAAC;AAChG,OAAO,EACN,KAAK,QAAQ,EACb,KAAK,eAAe,EAIpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAKrD,4GAA4G;AAC5G,MAAM,MAAM,KAAK,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,CAAC;AAEvG;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,QAAQ,IAAI;IAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,IACzD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,KAAK,KAAK,CAAA;CAAE,GACrG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,KAAK,CAAC,CAAA;CAAE,CAAC;AAErH,KAAK,MAAM,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GACrG,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAC/C,KAAK,CAAC;AAET;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAcnG;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAIjG;AAuDD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,EAC7D,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrB,MAAM,EAAE,CAAC,EACT,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACd,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAqBnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/data/args.ts"],"names":[],"mappings":"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","sourcesContent":["// Arguments: a provider's binding (its dispatch table per accepted version) and the per-call argument check.\n\nimport type { Validator } from \"@earendil-works/pi-schema\";\nimport type { Context } from \"../context/index.ts\";\nimport { type AcceptedVersion, type AcceptsTable, checkAccepts } from \"../contracts/accepts.ts\";\nimport {\n\ttype Contract,\n\ttype CurrentVariants,\n\tcontractData,\n\ttype MethodData,\n\ttype VersionData,\n} from \"../contracts/contract.ts\";\nimport type { MemberNames, MethodAt } from \"../contracts/history.ts\";\nimport type { Static } from \"../contracts/schema.ts\";\nimport type { Snapshot } from \"../contracts/snapshot.ts\";\nimport { ChordError, invalid } from \"./errors.ts\";\nimport { check, validatorFor } from \"./validator.ts\";\n\n/** JSON plus byte leaves. Same-host values are plain data and immutable once handed over, by convention. */\nexport type Value = null | boolean | number | string | Uint8Array | Value[] | { [key: string]: Value };\n\n/**\n * A provider's binding of a contract with the older versions it accepts and their mappings (the table as checked, for\n * the state mappings of an older consumer's binding).\n */\nexport type Provider<C extends Contract> = {\n\treadonly contract: C;\n\treadonly accepted: readonly AcceptedVersion[];\n\treadonly accepts: AcceptsTable<C>;\n};\n\n/**\n * Checked arguments: a method's arguments in the current shape with the result mapping back to the caller's version,\n * or the old arguments for the provider's own `call` replacement (L4 dispatches it).\n */\nexport type CheckedArgs<C extends Contract, M extends string> =\n\t| { readonly kind: \"method\"; readonly args: ArgsOf<C, M>; readonly result?: (current: Value) => Value }\n\t| { readonly kind: \"call\"; readonly args: Value; readonly call: (args: Value, context: Context) => Promise<Value> };\n\ntype ArgsOf<C extends Contract, M extends string> = M extends MemberNames<CurrentVariants<C>, \"methods\">\n\t? Static<MethodAt<CurrentVariants<C>, M>[\"args\"]>\n\t: Value;\n\n/**\n * Binds a contract and the app's accepts table (validated once, kept as it is) into a provider. Builds the dispatch\n * table: accepted version -> method -> schema and mapping; nothing is compiled yet.\n */\nexport function bindProvider<C extends Contract>(contract: C, accepts: AcceptsTable<C>): Provider<C> {\n\tconst { versions: accepted } = checkAccepts(contract, accepts);\n\tconst { versions } = contractData(contract);\n\tconst current = versions.at(-1)!;\n\t// checkAccepts established this shape.\n\tconst mappings = accepts as CheckedAccepts;\n\tconst table: Dispatch = new Map([[current.version, dispatchEntries(current, undefined)]]);\n\tfor (const { version } of accepted) {\n\t\tconst data = versions.find((candidate) => candidate.version === version)!;\n\t\ttable.set(version, dispatchEntries(data, mappings[version]?.methods));\n\t}\n\tconst provider = { contract, accepted, accepts };\n\tdispatchTables.set(provider, table);\n\treturn provider;\n}\n\n/**\n * Whether `provider` binds a consumer of `version` with `fingerprint`: its current version and fingerprint, or a\n * version it accepts with the fingerprint its own history computes (R6, Q10).\n */\nexport function binds(provider: Provider<Contract>, version: number, fingerprint: string): boolean {\n\tconst { contract } = provider;\n\tif (version === contract.version) return fingerprint === contract.fingerprint;\n\treturn provider.accepted.some((accepted) => accepted.version === version && accepted.fingerprint === fingerprint);\n}\n\n/** An accepts table after `checkAccepts`, as the binding reads it. */\ntype CheckedAccepts = {\n\treadonly [version: string]: { readonly methods?: { readonly [member: string]: CheckedMethodMapping } };\n};\n\ntype CheckedMethodMapping =\n\t| \"refuse\"\n\t| { readonly call: (args: Value, context: Context) => Promise<Value> }\n\t| { readonly args?: (old: Value) => Value; readonly result?: (current: Value) => Value };\n\n/** Accepted version -> method -> entry. */\ntype Dispatch = Map<number, Map<string, DispatchEntry>>;\n\ntype DispatchEntry =\n\t| { readonly kind: \"refuse\" }\n\t| {\n\t\t\treadonly kind: \"call\";\n\t\t\treadonly args: Snapshot;\n\t\t\treadonly call: (args: Value, context: Context) => Promise<Value>;\n\t\t\tvalidator: Validator | undefined;\n\t }\n\t| {\n\t\t\treadonly kind: \"method\";\n\t\t\treadonly args: Snapshot;\n\t\t\treadonly mapArgs: ((old: Value) => Value) | undefined;\n\t\t\treadonly mapResult: ((current: Value) => Value) | undefined;\n\t\t\tvalidator: Validator | undefined;\n\t };\n\nconst dispatchTables = new WeakMap<Provider<Contract>, Dispatch>();\n\nfunction dispatchEntries(\n\tversion: VersionData,\n\tmappings: { readonly [member: string]: CheckedMethodMapping } | undefined,\n): Map<string, DispatchEntry> {\n\tconst entries = new Map<string, DispatchEntry>();\n\t// A method has one signature in every variant that has it.\n\tconst methods = new Map<string, MethodData>([...version.variants.values()].flatMap(({ methods }) => [...methods]));\n\tfor (const [member, { args }] of methods) {\n\t\tconst mapping = mappings !== undefined && Object.hasOwn(mappings, member) ? mappings[member] : undefined;\n\t\tentries.set(member, dispatchEntry(args, mapping));\n\t}\n\treturn entries;\n}\n\nfunction dispatchEntry(args: Snapshot, mapping: CheckedMethodMapping | undefined): DispatchEntry {\n\tif (mapping === \"refuse\") return { kind: \"refuse\" };\n\tif (mapping !== undefined && \"call\" in mapping) {\n\t\treturn { kind: \"call\", args, call: mapping.call, validator: undefined };\n\t}\n\treturn { kind: \"method\", args, mapArgs: mapping?.args, mapResult: mapping?.result, validator: undefined };\n}\n\n/**\n * Checks a call's arguments against the provider's schema for the caller's bound version: three map lookups, one\n * compiled check, at most one direct mapping old -> current (never for current-version calls). A method without\n * arguments gets `null` (its internal and wire form). Unknown method: `invalid/member`; version not accepted or refused: `contract_mismatch`.\n */\nexport function checkArgs<C extends Contract, M extends string>(\n\tprovider: Provider<C>,\n\tmethod: M,\n\traw: unknown,\n\tboundVersion: number,\n\tcontext: Context,\n): CheckedArgs<C, M> {\n\tconst name = provider.contract.name;\n\tconst methods = dispatchTables.get(provider)!.get(boundVersion);\n\tif (methods === undefined) {\n\t\tthrow new ChordError({ code: \"contract_mismatch\", message: `${name} v${boundVersion} is not accepted` });\n\t}\n\tconst entry = methods.get(method);\n\tif (entry === undefined) throw invalid(\"member\", `${name} v${boundVersion} has no method \"${method}\"`);\n\tif (entry.kind === \"refuse\") {\n\t\tthrow new ChordError({ code: \"contract_mismatch\", message: `${name} v${boundVersion} refuses \"${method}\"` });\n\t}\n\tentry.validator ??= validatorFor(entry.args, context);\n\tcheck(entry.validator, raw, \"args\", context);\n\t// The check above establishes the argument type; mapping output is trusted.\n\tconst args = raw as Value;\n\tif (entry.kind === \"call\") return { kind: \"call\", args, call: entry.call };\n\treturn {\n\t\tkind: \"method\",\n\t\targs: (entry.mapArgs === undefined ? args : entry.mapArgs(args)) as ArgsOf<C, M>,\n\t\tresult: entry.mapResult,\n\t};\n}\n"]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { JsonValue } from "../json.ts";
|
|
2
|
+
/** Version of the error table below on links; adding or moving a code or reason bumps it. */
|
|
3
|
+
export declare const PROTOCOL_VERSION = 1;
|
|
4
|
+
/** Every code with the reasons it may carry. `invalid` requires a reason; every other code may omit it. */
|
|
5
|
+
export declare const CHORD_ERROR_REASONS: {
|
|
6
|
+
readonly invalid: readonly ["args", "params", "member", "host_address", "reentrant", "read_after_bulk", "cycle"];
|
|
7
|
+
readonly contract_mismatch: readonly ["updating"];
|
|
8
|
+
readonly forbidden: readonly ["revoked"];
|
|
9
|
+
readonly gone: readonly [];
|
|
10
|
+
readonly not_ready: readonly [];
|
|
11
|
+
readonly released: readonly ["ended", "closed", "settled", "version", "discarded"];
|
|
12
|
+
readonly too_large: readonly ["part"];
|
|
13
|
+
readonly unavailable: readonly ["locked", "park_timeout", "busy", "storage_failed", "undeclared", "version", "reload_cycle"];
|
|
14
|
+
readonly aborted: readonly [];
|
|
15
|
+
};
|
|
16
|
+
export type ChordErrorCode = keyof typeof CHORD_ERROR_REASONS;
|
|
17
|
+
export type ChordErrorReason<C extends ChordErrorCode = ChordErrorCode> = (typeof CHORD_ERROR_REASONS)[C][number];
|
|
18
|
+
/** The wire form of a ChordError and its constructor argument: one member per code, so wrong pairings fail to type. */
|
|
19
|
+
type ChordErrorJson = {
|
|
20
|
+
[C in ChordErrorCode]: ErrorFields<C>;
|
|
21
|
+
}[ChordErrorCode];
|
|
22
|
+
type ErrorFields<C extends ChordErrorCode> = {
|
|
23
|
+
readonly code: C;
|
|
24
|
+
readonly message: string;
|
|
25
|
+
readonly details?: JsonValue;
|
|
26
|
+
} & (C extends "invalid" ? {
|
|
27
|
+
readonly reason: ChordErrorReason<C>;
|
|
28
|
+
} : [ChordErrorReason<C>] extends [never] ? {
|
|
29
|
+
readonly reason?: undefined;
|
|
30
|
+
} : {
|
|
31
|
+
readonly reason?: ChordErrorReason<C>;
|
|
32
|
+
});
|
|
33
|
+
declare class ChordErrorClass extends Error {
|
|
34
|
+
readonly code: ChordErrorCode;
|
|
35
|
+
readonly reason: ChordErrorReason | undefined;
|
|
36
|
+
readonly details: JsonValue | undefined;
|
|
37
|
+
constructor(init: ChordErrorJson, options?: ErrorOptions);
|
|
38
|
+
/** The wire form; stack and cause never cross a link. */
|
|
39
|
+
toJSON(): ChordErrorJson;
|
|
40
|
+
}
|
|
41
|
+
/** A Chord failure. Narrowing on `code` narrows `reason`. */
|
|
42
|
+
export type ChordError = ChordErrorClass & ChordErrorJson;
|
|
43
|
+
/**
|
|
44
|
+
* Creates a ChordError: `new ChordError({ code: "invalid", reason: "args", message })`. A class cannot declare its
|
|
45
|
+
* instances as a tagged union; this constructor signature does.
|
|
46
|
+
*/
|
|
47
|
+
export declare const ChordError: new (init: ChordErrorJson, options?: ErrorOptions) => ChordError;
|
|
48
|
+
/** Whether `error` is a ChordError, optionally with the given code. */
|
|
49
|
+
export declare function isChordError<C extends ChordErrorCode = ChordErrorCode>(error: unknown, code?: C): error is Extract<ChordError, {
|
|
50
|
+
readonly code: C;
|
|
51
|
+
}>;
|
|
52
|
+
/**
|
|
53
|
+
* An error a plugin throws for its callers: its own `code`, a message and JSON `details`. Only these cross a link
|
|
54
|
+
* (never a stack or a cause); a consumer rethrows it as a PluginError.
|
|
55
|
+
*/
|
|
56
|
+
export declare class PluginError extends Error {
|
|
57
|
+
readonly code: string;
|
|
58
|
+
readonly details: JsonValue | undefined;
|
|
59
|
+
constructor(code: string, message: string, details?: JsonValue);
|
|
60
|
+
}
|
|
61
|
+
/** An `invalid` error with the given reason: a plugin throws it for arguments or params it refuses. */
|
|
62
|
+
export declare function invalid(reason: ChordErrorReason<"invalid">, message: string, details?: JsonValue): Extract<ChordError, {
|
|
63
|
+
readonly code: "invalid";
|
|
64
|
+
}>;
|
|
65
|
+
/**
|
|
66
|
+
* A `forbidden` error without a reason: what a plugin or an `authorize` throws for a principal it refuses (`revoked` is
|
|
67
|
+
* Chord's own, for a revoked authority).
|
|
68
|
+
*/
|
|
69
|
+
export declare function forbidden(message: string, details?: JsonValue): Extract<ChordError, {
|
|
70
|
+
readonly code: "forbidden";
|
|
71
|
+
}>;
|
|
72
|
+
/** `error` itself when it is a ChordError, otherwise an `unavailable` error naming `label`, with `error` as cause. */
|
|
73
|
+
export declare function asChordError(error: unknown, label: string): ChordError;
|
|
74
|
+
/**
|
|
75
|
+
* Rebuilds a ChordError from a link. Checks the envelope only: a known code, a reason allowed for it (required for
|
|
76
|
+
* `invalid`), a string message, no other keys. `details` is kept by reference.
|
|
77
|
+
*/
|
|
78
|
+
export declare function chordErrorFromJson(raw: unknown): ChordError;
|
|
79
|
+
export {};
|
|
80
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/data/errors.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,6FAA6F;AAC7F,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,2GAA2G;AAC3G,eAAO,MAAM,mBAAmB;aAC/B,OAAO,YAAG,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,OAAO;aAC7F,iBAAiB,YAAG,UAAU;aAC9B,SAAS,YAAG,SAAS;aACrB,IAAI;aACJ,SAAS;aAIT,QAAQ,YAAG,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW;aAC/D,SAAS,YAAG,MAAM;aAGlB,WAAW,YAAG,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc;aACzG,OAAO;CACE,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAE9D,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAElH,uHAAuH;AACvH,KAAK,cAAc,GAAG;KAAG,CAAC,IAAI,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC;CAAE,CAAC,cAAc,CAAC,CAAC;AAEhF,KAAK,WAAW,CAAC,CAAC,SAAS,cAAc,IAAI;IAC5C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;CAC7B,GAAG,CAAC,CAAC,SAAS,SAAS,GACrB;IAAE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;CAAE,GACxC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACpC;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,GAC/B;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,CAAC;AAE/C,cAAM,eAAgB,SAAQ,KAAK;IAClC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAExC,YAAY,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,EAMvD;IAED,yDAAyD;IACzD,MAAM,IAAI,cAAc,CASvB;CACD;AAED,6DAA6D;AAC7D,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,cAAc,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAsB,KAAK,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,UAAU,CAAC;AAE9G,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EACrE,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,CAAC,GACN,KAAK,IAAI,OAAO,CAAC,UAAU,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAEpD;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAExC,YAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAK7D;CACD;AAED,uGAAuG;AACvG,wBAAgB,OAAO,CACtB,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC,EACnC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,UAAU,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAGnD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,CAGnH;AAED,sHAAsH;AACtH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAItE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAc3D"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
// ChordError: Chord's one error type, its codes and reasons (link protocol) and its wire form; and PluginError, what a
|
|
2
|
+
// plugin throws to give its callers a code of its own.
|
|
3
|
+
/** Version of the error table below on links; adding or moving a code or reason bumps it. */
|
|
4
|
+
export const PROTOCOL_VERSION = 1;
|
|
5
|
+
/** Every code with the reasons it may carry. `invalid` requires a reason; every other code may omit it. */
|
|
6
|
+
export const CHORD_ERROR_REASONS = {
|
|
7
|
+
invalid: ["args", "params", "member", "host_address", "reentrant", "read_after_bulk", "cycle"],
|
|
8
|
+
contract_mismatch: ["updating"],
|
|
9
|
+
forbidden: ["revoked"],
|
|
10
|
+
gone: [],
|
|
11
|
+
not_ready: [],
|
|
12
|
+
// No reason: released by its holder. `ended`: its object ended; `closed`: its host, store or native closed;
|
|
13
|
+
// `settled`: used after the call or run it belonged to settled; `version`: an old handle after a migration;
|
|
14
|
+
// `discarded`: a transaction cut at the seal.
|
|
15
|
+
released: ["ended", "closed", "settled", "version", "discarded"],
|
|
16
|
+
too_large: ["part"],
|
|
17
|
+
// `undeclared`: a registry no plugin serves on this host; `version`: waiting for a dependency refused for its version
|
|
18
|
+
// (it heals with another host's reload); `reload_cycle`: old work waiting on its own drain during a reload.
|
|
19
|
+
unavailable: ["locked", "park_timeout", "busy", "storage_failed", "undeclared", "version", "reload_cycle"],
|
|
20
|
+
aborted: [],
|
|
21
|
+
};
|
|
22
|
+
class ChordErrorClass extends Error {
|
|
23
|
+
code;
|
|
24
|
+
reason;
|
|
25
|
+
details;
|
|
26
|
+
constructor(init, options) {
|
|
27
|
+
super(init.message, options);
|
|
28
|
+
this.name = "ChordError";
|
|
29
|
+
this.code = init.code;
|
|
30
|
+
this.reason = init.reason;
|
|
31
|
+
this.details = init.details;
|
|
32
|
+
}
|
|
33
|
+
/** The wire form; stack and cause never cross a link. */
|
|
34
|
+
toJSON() {
|
|
35
|
+
const { code, reason, message, details } = this;
|
|
36
|
+
// The fields were copied from a ChordErrorJson, so the pairing holds.
|
|
37
|
+
return {
|
|
38
|
+
code,
|
|
39
|
+
...(reason === undefined ? {} : { reason }),
|
|
40
|
+
message,
|
|
41
|
+
...(details === undefined ? {} : { details }),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Creates a ChordError: `new ChordError({ code: "invalid", reason: "args", message })`. A class cannot declare its
|
|
47
|
+
* instances as a tagged union; this constructor signature does.
|
|
48
|
+
*/
|
|
49
|
+
export const ChordError = ChordErrorClass;
|
|
50
|
+
/** Whether `error` is a ChordError, optionally with the given code. */
|
|
51
|
+
export function isChordError(error, code) {
|
|
52
|
+
return error instanceof ChordError && (code === undefined || error.code === code);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* An error a plugin throws for its callers: its own `code`, a message and JSON `details`. Only these cross a link
|
|
56
|
+
* (never a stack or a cause); a consumer rethrows it as a PluginError.
|
|
57
|
+
*/
|
|
58
|
+
export class PluginError extends Error {
|
|
59
|
+
code;
|
|
60
|
+
details;
|
|
61
|
+
constructor(code, message, details) {
|
|
62
|
+
super(message);
|
|
63
|
+
this.name = "PluginError";
|
|
64
|
+
this.code = code;
|
|
65
|
+
this.details = details;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/** An `invalid` error with the given reason: a plugin throws it for arguments or params it refuses. */
|
|
69
|
+
export function invalid(reason, message, details) {
|
|
70
|
+
// The constructor's return type cannot narrow on its argument.
|
|
71
|
+
return new ChordError({ code: "invalid", reason, message, details });
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* A `forbidden` error without a reason: what a plugin or an `authorize` throws for a principal it refuses (`revoked` is
|
|
75
|
+
* Chord's own, for a revoked authority).
|
|
76
|
+
*/
|
|
77
|
+
export function forbidden(message, details) {
|
|
78
|
+
// The constructor's return type cannot narrow on its argument.
|
|
79
|
+
return new ChordError({ code: "forbidden", message, details });
|
|
80
|
+
}
|
|
81
|
+
/** `error` itself when it is a ChordError, otherwise an `unavailable` error naming `label`, with `error` as cause. */
|
|
82
|
+
export function asChordError(error, label) {
|
|
83
|
+
if (isChordError(error))
|
|
84
|
+
return error;
|
|
85
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
86
|
+
return new ChordError({ code: "unavailable", message: `${label}: ${message}` }, { cause: error });
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Rebuilds a ChordError from a link. Checks the envelope only: a known code, a reason allowed for it (required for
|
|
90
|
+
* `invalid`), a string message, no other keys. `details` is kept by reference.
|
|
91
|
+
*/
|
|
92
|
+
export function chordErrorFromJson(raw) {
|
|
93
|
+
// Trust boundary: `raw` is fresh JSON from the link decoder.
|
|
94
|
+
if (typeof raw !== "object" || raw === null || Array.isArray(raw))
|
|
95
|
+
throw envelopeError("not an object");
|
|
96
|
+
const json = raw;
|
|
97
|
+
for (const key of Object.keys(json))
|
|
98
|
+
if (!ENVELOPE_KEYS.has(key))
|
|
99
|
+
throw envelopeError(`unknown key "${key}"`);
|
|
100
|
+
const { code, reason, message } = json;
|
|
101
|
+
if (typeof code !== "string" || !Object.hasOwn(CHORD_ERROR_REASONS, code))
|
|
102
|
+
throw envelopeError("unknown code");
|
|
103
|
+
const reasons = CHORD_ERROR_REASONS[code];
|
|
104
|
+
if (reason === undefined ? code === "invalid" : !reasons.includes(reason)) {
|
|
105
|
+
throw envelopeError(`reason not allowed for ${code}`);
|
|
106
|
+
}
|
|
107
|
+
if (typeof message !== "string")
|
|
108
|
+
throw envelopeError("message is not a string");
|
|
109
|
+
// The checks above establish the pairing.
|
|
110
|
+
return new ChordError(json);
|
|
111
|
+
}
|
|
112
|
+
const ENVELOPE_KEYS = new Set(["code", "reason", "message", "details"]);
|
|
113
|
+
function envelopeError(problem) {
|
|
114
|
+
return new Error(`Invalid ChordError JSON: ${problem}`);
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/data/errors.ts"],"names":[],"mappings":"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","sourcesContent":["// ChordError: Chord's one error type, its codes and reasons (link protocol) and its wire form; and PluginError, what a\n// plugin throws to give its callers a code of its own.\n\nimport type { JsonValue } from \"../json.ts\";\n\n/** Version of the error table below on links; adding or moving a code or reason bumps it. */\nexport const PROTOCOL_VERSION = 1;\n\n/** Every code with the reasons it may carry. `invalid` requires a reason; every other code may omit it. */\nexport const CHORD_ERROR_REASONS = {\n\tinvalid: [\"args\", \"params\", \"member\", \"host_address\", \"reentrant\", \"read_after_bulk\", \"cycle\"],\n\tcontract_mismatch: [\"updating\"],\n\tforbidden: [\"revoked\"],\n\tgone: [],\n\tnot_ready: [],\n\t// No reason: released by its holder. `ended`: its object ended; `closed`: its host, store or native closed;\n\t// `settled`: used after the call or run it belonged to settled; `version`: an old handle after a migration;\n\t// `discarded`: a transaction cut at the seal.\n\treleased: [\"ended\", \"closed\", \"settled\", \"version\", \"discarded\"],\n\ttoo_large: [\"part\"],\n\t// `undeclared`: a registry no plugin serves on this host; `version`: waiting for a dependency refused for its version\n\t// (it heals with another host's reload); `reload_cycle`: old work waiting on its own drain during a reload.\n\tunavailable: [\"locked\", \"park_timeout\", \"busy\", \"storage_failed\", \"undeclared\", \"version\", \"reload_cycle\"],\n\taborted: [],\n} as const;\n\nexport type ChordErrorCode = keyof typeof CHORD_ERROR_REASONS;\n\nexport type ChordErrorReason<C extends ChordErrorCode = ChordErrorCode> = (typeof CHORD_ERROR_REASONS)[C][number];\n\n/** The wire form of a ChordError and its constructor argument: one member per code, so wrong pairings fail to type. */\ntype ChordErrorJson = { [C in ChordErrorCode]: ErrorFields<C> }[ChordErrorCode];\n\ntype ErrorFields<C extends ChordErrorCode> = {\n\treadonly code: C;\n\treadonly message: string;\n\treadonly details?: JsonValue;\n} & (C extends \"invalid\"\n\t? { readonly reason: ChordErrorReason<C> }\n\t: [ChordErrorReason<C>] extends [never]\n\t\t? { readonly reason?: undefined }\n\t\t: { readonly reason?: ChordErrorReason<C> });\n\nclass ChordErrorClass extends Error {\n\treadonly code: ChordErrorCode;\n\treadonly reason: ChordErrorReason | undefined;\n\treadonly details: JsonValue | undefined;\n\n\tconstructor(init: ChordErrorJson, options?: ErrorOptions) {\n\t\tsuper(init.message, options);\n\t\tthis.name = \"ChordError\";\n\t\tthis.code = init.code;\n\t\tthis.reason = init.reason;\n\t\tthis.details = init.details;\n\t}\n\n\t/** The wire form; stack and cause never cross a link. */\n\ttoJSON(): ChordErrorJson {\n\t\tconst { code, reason, message, details } = this;\n\t\t// The fields were copied from a ChordErrorJson, so the pairing holds.\n\t\treturn {\n\t\t\tcode,\n\t\t\t...(reason === undefined ? {} : { reason }),\n\t\t\tmessage,\n\t\t\t...(details === undefined ? {} : { details }),\n\t\t} as ChordErrorJson;\n\t}\n}\n\n/** A Chord failure. Narrowing on `code` narrows `reason`. */\nexport type ChordError = ChordErrorClass & ChordErrorJson;\n\n/**\n * Creates a ChordError: `new ChordError({ code: \"invalid\", reason: \"args\", message })`. A class cannot declare its\n * instances as a tagged union; this constructor signature does.\n */\nexport const ChordError = ChordErrorClass as new (init: ChordErrorJson, options?: ErrorOptions) => ChordError;\n\n/** Whether `error` is a ChordError, optionally with the given code. */\nexport function isChordError<C extends ChordErrorCode = ChordErrorCode>(\n\terror: unknown,\n\tcode?: C,\n): error is Extract<ChordError, { readonly code: C }> {\n\treturn error instanceof ChordError && (code === undefined || error.code === code);\n}\n\n/**\n * An error a plugin throws for its callers: its own `code`, a message and JSON `details`. Only these cross a link\n * (never a stack or a cause); a consumer rethrows it as a PluginError.\n */\nexport class PluginError extends Error {\n\treadonly code: string;\n\treadonly details: JsonValue | undefined;\n\n\tconstructor(code: string, message: string, details?: JsonValue) {\n\t\tsuper(message);\n\t\tthis.name = \"PluginError\";\n\t\tthis.code = code;\n\t\tthis.details = details;\n\t}\n}\n\n/** An `invalid` error with the given reason: a plugin throws it for arguments or params it refuses. */\nexport function invalid(\n\treason: ChordErrorReason<\"invalid\">,\n\tmessage: string,\n\tdetails?: JsonValue,\n): Extract<ChordError, { readonly code: \"invalid\" }> {\n\t// The constructor's return type cannot narrow on its argument.\n\treturn new ChordError({ code: \"invalid\", reason, message, details }) as Extract<ChordError, { code: \"invalid\" }>;\n}\n\n/**\n * A `forbidden` error without a reason: what a plugin or an `authorize` throws for a principal it refuses (`revoked` is\n * Chord's own, for a revoked authority).\n */\nexport function forbidden(message: string, details?: JsonValue): Extract<ChordError, { readonly code: \"forbidden\" }> {\n\t// The constructor's return type cannot narrow on its argument.\n\treturn new ChordError({ code: \"forbidden\", message, details }) as Extract<ChordError, { code: \"forbidden\" }>;\n}\n\n/** `error` itself when it is a ChordError, otherwise an `unavailable` error naming `label`, with `error` as cause. */\nexport function asChordError(error: unknown, label: string): ChordError {\n\tif (isChordError(error)) return error;\n\tconst message = error instanceof Error ? error.message : String(error);\n\treturn new ChordError({ code: \"unavailable\", message: `${label}: ${message}` }, { cause: error });\n}\n\n/**\n * Rebuilds a ChordError from a link. Checks the envelope only: a known code, a reason allowed for it (required for\n * `invalid`), a string message, no other keys. `details` is kept by reference.\n */\nexport function chordErrorFromJson(raw: unknown): ChordError {\n\t// Trust boundary: `raw` is fresh JSON from the link decoder.\n\tif (typeof raw !== \"object\" || raw === null || Array.isArray(raw)) throw envelopeError(\"not an object\");\n\tconst json = raw as Record<string, unknown>;\n\tfor (const key of Object.keys(json)) if (!ENVELOPE_KEYS.has(key)) throw envelopeError(`unknown key \"${key}\"`);\n\tconst { code, reason, message } = json;\n\tif (typeof code !== \"string\" || !Object.hasOwn(CHORD_ERROR_REASONS, code)) throw envelopeError(\"unknown code\");\n\tconst reasons: readonly string[] = CHORD_ERROR_REASONS[code as ChordErrorCode];\n\tif (reason === undefined ? code === \"invalid\" : !reasons.includes(reason as string)) {\n\t\tthrow envelopeError(`reason not allowed for ${code}`);\n\t}\n\tif (typeof message !== \"string\") throw envelopeError(\"message is not a string\");\n\t// The checks above establish the pairing.\n\treturn new ChordError(json as ChordErrorJson);\n}\n\nconst ENVELOPE_KEYS = new Set([\"code\", \"reason\", \"message\", \"details\"]);\n\nfunction envelopeError(problem: string): Error {\n\treturn new Error(`Invalid ChordError JSON: ${problem}`);\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"failure.d.ts","sourceRoot":"","sources":["../../src/data/failure.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvD,gHAAgH;AAChH,MAAM,MAAM,YAAY,GACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC;AAE5D,oFAAoF;AACpF,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAE5C;AAED,wGAAwG;AACxG,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAGxE;AAiBD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,YAAY,CAgB3E;AAkBD,iHAAiH;AACjH,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,OAAO,CAMnE"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
// Failure causes: transient (the object's own effect failed: retry later), broken (its own code, a cycle or authority:
|
|
2
|
+
// retry by hand) or waiting (not its fault: no provider, no fitting version, a dependency that failed; woken by an
|
|
3
|
+
// event). The failing stage decides, never the error code.
|
|
4
|
+
import { asChordError, ChordError } from "./errors.js";
|
|
5
|
+
/** Marks an open's failure as broken (bad configuration): `throw broken(error)`. */
|
|
6
|
+
export function broken(cause) {
|
|
7
|
+
return new BrokenOpen(cause);
|
|
8
|
+
}
|
|
9
|
+
/** The cause of a value thrown by an open: broken when it came from `broken()`, transient otherwise. */
|
|
10
|
+
export function openFailure(thrown, label) {
|
|
11
|
+
if (thrown instanceof BrokenOpen)
|
|
12
|
+
return { kind: "broken", error: asChordError(thrown.cause, label) };
|
|
13
|
+
return { kind: "transient", error: asChordError(thrown, label) };
|
|
14
|
+
}
|
|
15
|
+
/** The longest message a `waiting` cause of a dependent carries (telemetry's rule for error messages). */
|
|
16
|
+
const MESSAGE_LIMIT = 500;
|
|
17
|
+
/** How a dependent's message names its blocker: the nearest one first. */
|
|
18
|
+
const PREFIX = "waiting for ";
|
|
19
|
+
/** The separator after a blocker's label. */
|
|
20
|
+
const SEPARATOR = ": ";
|
|
21
|
+
/** The marker of a clipped label or root. */
|
|
22
|
+
const CLIPPED = "…";
|
|
23
|
+
/** The most of the 500 characters the root cause takes when both are long: the nearest blocker keeps the rest. */
|
|
24
|
+
const ROOT_LIMIT = 320;
|
|
25
|
+
/**
|
|
26
|
+
* The `waiting` cause of a dependent parked on `blocker`, which failed with `error`: `unavailable`, its message always
|
|
27
|
+
* "waiting for <blocker>: <root cause>" (the root found through any "waiting for …: " of `error`'s message), so a ring
|
|
28
|
+
* of waiting attempts passing causes round reaches the same message after one round; within 500 characters, the
|
|
29
|
+
* label clipped first, the root only past its share. `error` is its cause.
|
|
30
|
+
*/
|
|
31
|
+
export function waitingFor(blocker, error) {
|
|
32
|
+
let root = rootMessage(error.message);
|
|
33
|
+
let label = blocker;
|
|
34
|
+
const room = MESSAGE_LIMIT - PREFIX.length - SEPARATOR.length;
|
|
35
|
+
if (label.length + root.length > room) {
|
|
36
|
+
const rootRoom = Math.max(ROOT_LIMIT, room - label.length);
|
|
37
|
+
if (root.length > rootRoom)
|
|
38
|
+
root = clipped(root, rootRoom);
|
|
39
|
+
if (label.length + root.length > room)
|
|
40
|
+
label = clipped(label, room - root.length);
|
|
41
|
+
}
|
|
42
|
+
const message = `${PREFIX}${label}${SEPARATOR}${root}`;
|
|
43
|
+
// A version refusal, here or along the chain, keeps its reason: it heals with another host's reload.
|
|
44
|
+
const version = error.code === "contract_mismatch" || (error.code === "unavailable" && error.reason === "version");
|
|
45
|
+
const init = version
|
|
46
|
+
? { code: "unavailable", reason: "version", message }
|
|
47
|
+
: { code: "unavailable", message };
|
|
48
|
+
return { kind: "waiting", error: new ChordError(init, { cause: error }) };
|
|
49
|
+
}
|
|
50
|
+
/** `text` within `length` characters, clipped with "…" when longer. */
|
|
51
|
+
function clipped(text, length) {
|
|
52
|
+
return text.length <= length ? text : `${text.slice(0, length - CLIPPED.length)}${CLIPPED}`;
|
|
53
|
+
}
|
|
54
|
+
/** The root cause in a "waiting for X: root" message: past every leading "waiting for …: ". */
|
|
55
|
+
function rootMessage(message) {
|
|
56
|
+
let rest = message;
|
|
57
|
+
while (rest.startsWith(PREFIX)) {
|
|
58
|
+
const end = rest.indexOf(SEPARATOR, PREFIX.length);
|
|
59
|
+
if (end < 0)
|
|
60
|
+
break;
|
|
61
|
+
rest = rest.slice(end + SEPARATOR.length);
|
|
62
|
+
}
|
|
63
|
+
return rest;
|
|
64
|
+
}
|
|
65
|
+
/** Whether two failure causes say the same (a wake compares causes by value): kind, code, reason and message. */
|
|
66
|
+
export function sameCause(a, b) {
|
|
67
|
+
const { error: left } = a;
|
|
68
|
+
const { error: right } = b;
|
|
69
|
+
return (a.kind === b.kind && left.code === right.code && left.reason === right.reason && left.message === right.message);
|
|
70
|
+
}
|
|
71
|
+
class BrokenOpen extends Error {
|
|
72
|
+
constructor(cause) {
|
|
73
|
+
super(cause instanceof Error ? cause.message : String(cause), { cause });
|
|
74
|
+
this.name = "BrokenOpen";
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=failure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"failure.js","sourceRoot":"","sources":["../../src/data/failure.ts"],"names":[],"mappings":"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","sourcesContent":["// Failure causes: transient (the object's own effect failed: retry later), broken (its own code, a cycle or authority:\n// retry by hand) or waiting (not its fault: no provider, no fitting version, a dependency that failed; woken by an\n// event). The failing stage decides, never the error code.\n\nimport { asChordError, ChordError } from \"./errors.ts\";\n\n/** Why an object, or a request, is failed; the kind comes from the failing stage, never from the error code. */\nexport type FailureCause =\n\t| { readonly kind: \"transient\"; readonly error: ChordError }\n\t| { readonly kind: \"broken\"; readonly error: ChordError }\n\t| { readonly kind: \"waiting\"; readonly error: ChordError };\n\n/** Marks an open's failure as broken (bad configuration): `throw broken(error)`. */\nexport function broken(cause: unknown): Error {\n\treturn new BrokenOpen(cause);\n}\n\n/** The cause of a value thrown by an open: broken when it came from `broken()`, transient otherwise. */\nexport function openFailure(thrown: unknown, label: string): FailureCause {\n\tif (thrown instanceof BrokenOpen) return { kind: \"broken\", error: asChordError(thrown.cause, label) };\n\treturn { kind: \"transient\", error: asChordError(thrown, label) };\n}\n\n/** The longest message a `waiting` cause of a dependent carries (telemetry's rule for error messages). */\nconst MESSAGE_LIMIT = 500;\n\n/** How a dependent's message names its blocker: the nearest one first. */\nconst PREFIX = \"waiting for \";\n\n/** The separator after a blocker's label. */\nconst SEPARATOR = \": \";\n\n/** The marker of a clipped label or root. */\nconst CLIPPED = \"…\";\n\n/** The most of the 500 characters the root cause takes when both are long: the nearest blocker keeps the rest. */\nconst ROOT_LIMIT = 320;\n\n/**\n * The `waiting` cause of a dependent parked on `blocker`, which failed with `error`: `unavailable`, its message always\n * \"waiting for <blocker>: <root cause>\" (the root found through any \"waiting for …: \" of `error`'s message), so a ring\n * of waiting attempts passing causes round reaches the same message after one round; within 500 characters, the\n * label clipped first, the root only past its share. `error` is its cause.\n */\nexport function waitingFor(blocker: string, error: ChordError): FailureCause {\n\tlet root = rootMessage(error.message);\n\tlet label = blocker;\n\tconst room = MESSAGE_LIMIT - PREFIX.length - SEPARATOR.length;\n\tif (label.length + root.length > room) {\n\t\tconst rootRoom = Math.max(ROOT_LIMIT, room - label.length);\n\t\tif (root.length > rootRoom) root = clipped(root, rootRoom);\n\t\tif (label.length + root.length > room) label = clipped(label, room - root.length);\n\t}\n\tconst message = `${PREFIX}${label}${SEPARATOR}${root}`;\n\t// A version refusal, here or along the chain, keeps its reason: it heals with another host's reload.\n\tconst version = error.code === \"contract_mismatch\" || (error.code === \"unavailable\" && error.reason === \"version\");\n\tconst init = version\n\t\t? ({ code: \"unavailable\", reason: \"version\", message } as const)\n\t\t: ({ code: \"unavailable\", message } as const);\n\treturn { kind: \"waiting\", error: new ChordError(init, { cause: error }) };\n}\n\n/** `text` within `length` characters, clipped with \"…\" when longer. */\nfunction clipped(text: string, length: number): string {\n\treturn text.length <= length ? text : `${text.slice(0, length - CLIPPED.length)}${CLIPPED}`;\n}\n\n/** The root cause in a \"waiting for X: root\" message: past every leading \"waiting for …: \". */\nfunction rootMessage(message: string): string {\n\tlet rest = message;\n\twhile (rest.startsWith(PREFIX)) {\n\t\tconst end = rest.indexOf(SEPARATOR, PREFIX.length);\n\t\tif (end < 0) break;\n\t\trest = rest.slice(end + SEPARATOR.length);\n\t}\n\treturn rest;\n}\n\n/** Whether two failure causes say the same (a wake compares causes by value): kind, code, reason and message. */\nexport function sameCause(a: FailureCause, b: FailureCause): boolean {\n\tconst { error: left } = a;\n\tconst { error: right } = b;\n\treturn (\n\t\ta.kind === b.kind && left.code === right.code && left.reason === right.reason && left.message === right.message\n\t);\n}\n\nclass BrokenOpen extends Error {\n\tconstructor(cause: unknown) {\n\t\tsuper(cause instanceof Error ? cause.message : String(cause), { cause });\n\t\tthis.name = \"BrokenOpen\";\n\t}\n}\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { ChordError, type ChordErrorCode, type ChordErrorReason, forbidden, invalid, isChordError, PluginError, } from "./errors.ts";
|
|
2
|
+
export { broken, type FailureCause } from "./failure.ts";
|
|
3
|
+
export type { Principal, PrincipalKeyFunction } from "./principal.ts";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,SAAS,EACT,OAAO,EACP,YAAY,EACZ,WAAW,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// Data for apps: Chord's errors (with `invalid` and `forbidden`, the two a plugin throws), plugin errors, principals,
|
|
2
|
+
// and how a plugin's open reports a broken configuration.
|
|
3
|
+
export { ChordError, forbidden, invalid, isChordError, PluginError, } from "./errors.js";
|
|
4
|
+
export { broken } from "./failure.js";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,sHAAsH;AACtH,0DAA0D;AAE1D,OAAO,EACN,UAAU,EAGV,SAAS,EACT,OAAO,EACP,YAAY,EACZ,WAAW,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAqB,MAAM,cAAc,CAAC","sourcesContent":["// Data for apps: Chord's errors (with `invalid` and `forbidden`, the two a plugin throws), plugin errors, principals,\n// and how a plugin's open reports a broken configuration.\n\nexport {\n\tChordError,\n\ttype ChordErrorCode,\n\ttype ChordErrorReason,\n\tforbidden,\n\tinvalid,\n\tisChordError,\n\tPluginError,\n} from \"./errors.ts\";\nexport { broken, type FailureCause } from \"./failure.ts\";\nexport type { Principal, PrincipalKeyFunction } from \"./principal.ts\";\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { bindProvider, binds, type CheckedArgs, checkArgs, type Provider, type Value } from "./args.ts";
|
|
2
|
+
export { asChordError, CHORD_ERROR_REASONS, chordErrorFromJson, invalid, PROTOCOL_VERSION, } from "./errors.ts";
|
|
3
|
+
export { openFailure, sameCause, waitingFor } from "./failure.ts";
|
|
4
|
+
export { checkAddress, checkParams, identityKey } from "./params.ts";
|
|
5
|
+
export { canonicalJson, principalKey, samePrincipal } from "./principal.ts";
|
|
6
|
+
export { check, validatorFor } from "./validator.ts";
|
|
7
|
+
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/data/internal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,WAAW,CAAC;AACxG,OAAO,EACN,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,OAAO,EACP,gBAAgB,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Data for Chord's layers: per-call checks of params and arguments, principal keys, and errors on the wire.
|
|
2
|
+
export { bindProvider, binds, checkArgs } from "./args.js";
|
|
3
|
+
export { asChordError, CHORD_ERROR_REASONS, chordErrorFromJson, invalid, PROTOCOL_VERSION, } from "./errors.js";
|
|
4
|
+
export { openFailure, sameCause, waitingFor } from "./failure.js";
|
|
5
|
+
export { checkAddress, checkParams, identityKey } from "./params.js";
|
|
6
|
+
export { canonicalJson, principalKey, samePrincipal } from "./principal.js";
|
|
7
|
+
export { check, validatorFor } from "./validator.js";
|
|
8
|
+
//# sourceMappingURL=internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/data/internal.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAE5G,OAAO,EAAE,YAAY,EAAE,KAAK,EAAoB,SAAS,EAA6B,MAAM,WAAW,CAAC;AACxG,OAAO,EACN,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,OAAO,EACP,gBAAgB,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC","sourcesContent":["// Data for Chord's layers: per-call checks of params and arguments, principal keys, and errors on the wire.\n\nexport { bindProvider, binds, type CheckedArgs, checkArgs, type Provider, type Value } from \"./args.ts\";\nexport {\n\tasChordError,\n\tCHORD_ERROR_REASONS,\n\tchordErrorFromJson,\n\tinvalid,\n\tPROTOCOL_VERSION,\n} from \"./errors.ts\";\nexport { openFailure, sameCause, waitingFor } from \"./failure.ts\";\nexport { checkAddress, checkParams, identityKey } from \"./params.ts\";\nexport { canonicalJson, principalKey, samePrincipal } from \"./principal.ts\";\nexport { check, validatorFor } from \"./validator.ts\";\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Context } from "../context/index.ts";
|
|
2
|
+
import { type Contract, type ParamsOf, type ShapeOf } from "../contracts/contract.ts";
|
|
3
|
+
import { type Address } from "../contracts/host-kind.ts";
|
|
4
|
+
import { type ParamsData } from "../contracts/params.ts";
|
|
5
|
+
/**
|
|
6
|
+
* Checks `raw` against the contract's params with one compiled closed-object check (`invalid/params` on failure) and
|
|
7
|
+
* returns the caller's own object with its key: the field values in declared order, each escaped, joined with `|`.
|
|
8
|
+
*/
|
|
9
|
+
export declare function checkParams<C extends Contract>(contract: C, raw: unknown, context: Context): {
|
|
10
|
+
readonly params: ParamsOf<C>;
|
|
11
|
+
readonly key: string;
|
|
12
|
+
};
|
|
13
|
+
/** The in-process identity of an object: `name|key|principalKey`, each part escaped; `local` has no principal. */
|
|
14
|
+
export declare function identityKey<C extends Contract>(contract: C, key: string, ...principalKey: ShapeOf<C>["kind"] extends "local" ? [] : [principalKey: string]): string;
|
|
15
|
+
/**
|
|
16
|
+
* An address from a kind's name and params as a hold names it or a `hostAddress` returned it: the params checked
|
|
17
|
+
* against the kind's with one compiled closed-object check (`invalid/host_address` on failure), the key computed.
|
|
18
|
+
*/
|
|
19
|
+
export declare function checkAddress(kind: string, params: ParamsData, raw: unknown, context: Context): Address;
|
|
20
|
+
//# sourceMappingURL=params.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/data/params.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,KAAK,QAAQ,EAAgB,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACpG,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGlE;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,EAC7C,QAAQ,EAAE,CAAC,EACX,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,OAAO,GACd;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAMxD;AAED,kHAAkH;AAClH,wBAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,EAC7C,QAAQ,EAAE,CAAC,EACX,GAAG,EAAE,MAAM,EACX,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,OAAO,GAAG,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,GAC/E,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAKtG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/data/params.ts"],"names":[],"mappings":"AAAA,yGAAyG;AAGzG,OAAO,EAAiB,YAAY,EAA+B,MAAM,0BAA0B,CAAC;AACpG,OAAO,EAAgB,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,OAAO,EAAmB,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAErD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAC1B,QAAW,EACX,GAAY,EACZ,OAAgB;IAEhB,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC1C,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7D,+CAA+C;IAC/C,MAAM,OAAO,GAAG,GAA4E,CAAC;IAC7F,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAChG,CAAC;AAED,kHAAkH;AAClH,MAAM,UAAU,WAAW,CAC1B,QAAW,EACX,GAAW,EACX,GAAG,YAA8E;IAEjF,OAAO,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,MAAkB,EAAE,GAAY,EAAE,OAAgB;IAC5F,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IACnE,yEAAyE;IACzE,MAAM,MAAM,GAAG,GAA8D,CAAC;IAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;AACxE,CAAC","sourcesContent":["// Params and identity: the checked params of a get, their key, and the in-process identity of an object.\n\nimport type { Context } from \"../context/index.ts\";\nimport { type Contract, contractData, type ParamsOf, type ShapeOf } from \"../contracts/contract.ts\";\nimport { type Address, addressKey } from \"../contracts/host-kind.ts\";\nimport { joinKey, type ParamsData } from \"../contracts/params.ts\";\nimport { check, validatorFor } from \"./validator.ts\";\n\n/**\n * Checks `raw` against the contract's params with one compiled closed-object check (`invalid/params` on failure) and\n * returns the caller's own object with its key: the field values in declared order, each escaped, joined with `|`.\n */\nexport function checkParams<C extends Contract>(\n\tcontract: C,\n\traw: unknown,\n\tcontext: Context,\n): { readonly params: ParamsOf<C>; readonly key: string } {\n\tconst { params } = contractData(contract);\n\tcheck(validatorFor(params, context), raw, \"params\", context);\n\t// The check above establishes the params type.\n\tconst checked = raw as ParamsOf<C> & { readonly [field: string]: string | number | boolean };\n\treturn { params: checked, key: joinKey(params.fields.map((field) => String(checked[field]))) };\n}\n\n/** The in-process identity of an object: `name|key|principalKey`, each part escaped; `local` has no principal. */\nexport function identityKey<C extends Contract>(\n\tcontract: C,\n\tkey: string,\n\t...principalKey: ShapeOf<C>[\"kind\"] extends \"local\" ? [] : [principalKey: string]\n): string {\n\treturn joinKey([contract.name, key, ...principalKey]);\n}\n\n/**\n * An address from a kind's name and params as a hold names it or a `hostAddress` returned it: the params checked\n * against the kind's with one compiled closed-object check (`invalid/host_address` on failure), the key computed.\n */\nexport function checkAddress(kind: string, params: ParamsData, raw: unknown, context: Context): Address {\n\tcheck(validatorFor(params, context), raw, \"host_address\", context);\n\t// The check above establishes a flat record of the kind's scalar fields.\n\tconst values = raw as { readonly [field: string]: string | number | boolean };\n\treturn { kind, params: values, key: addressKey(kind, params, values) };\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Context } from "../context/index.ts";
|
|
2
|
+
import type { JsonValue } from "../json.ts";
|
|
3
|
+
/** An app's principal: plain JSON with a `kind`. Chord never persists it. */
|
|
4
|
+
export type Principal = {
|
|
5
|
+
readonly kind: string;
|
|
6
|
+
readonly [field: string]: JsonValue;
|
|
7
|
+
};
|
|
8
|
+
/** An app's own principal key; it must be the same function on every host. */
|
|
9
|
+
export type PrincipalKeyFunction<P extends Principal = Principal> = (principal: P) => string;
|
|
10
|
+
/**
|
|
11
|
+
* The key of a principal: its canonical JSON, or `customKey(principal)`. Cached per principal object; a custom key's
|
|
12
|
+
* cache is keyed by the function too, so a live principal never retains a dropped function.
|
|
13
|
+
*/
|
|
14
|
+
export declare function principalKey<P extends Principal>(principal: P, context: Context, customKey?: PrincipalKeyFunction<P>): string;
|
|
15
|
+
/** Canonical JSON: sorted object keys, `-0` written as `0`. Counts one walk. */
|
|
16
|
+
export declare function canonicalJson(value: JsonValue, context: Context): string;
|
|
17
|
+
/**
|
|
18
|
+
* Whether `principal` is `other`: the same default key (canonical JSON), each computed once per principal object; no
|
|
19
|
+
* principal (`undefined`) is none.
|
|
20
|
+
*/
|
|
21
|
+
export declare function samePrincipal(principal: Principal | undefined, other: Principal, context: Context): boolean;
|
|
22
|
+
//# sourceMappingURL=principal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"principal.d.ts","sourceRoot":"","sources":["../../src/data/principal.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,6EAA6E;AAC7E,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEvF,8EAA8E;AAC9E,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,MAAM,CAAC;AAE7F;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAC/C,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,GACjC,MAAM,CAQR;AAeD,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAGxE;AAYD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAE3G"}
|