@earendil-works/chord 1.4.0 → 1.5.0
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 +41 -0
- package/README.md +79 -14
- package/dist/cell.d.ts +7 -7
- package/dist/cell.d.ts.map +1 -1
- package/dist/cell.js.map +1 -1
- package/dist/context/index.d.ts +1 -1
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +1 -1
- package/dist/context/index.js.map +1 -1
- package/dist/contract.d.ts +51 -52
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +19 -24
- package/dist/contract.js.map +1 -1
- package/dist/delta/apply-immutable-trusted.js +3 -4
- package/dist/delta/apply-immutable-trusted.js.map +1 -1
- package/dist/delta/diff.d.ts.map +1 -1
- package/dist/delta/diff.js +5 -3
- package/dist/delta/diff.js.map +1 -1
- package/dist/delta/index.d.ts +9 -1
- package/dist/delta/index.d.ts.map +1 -1
- package/dist/delta/index.js +15 -11
- package/dist/delta/index.js.map +1 -1
- package/dist/delta/pending.d.ts +36 -0
- package/dist/delta/pending.d.ts.map +1 -0
- package/dist/delta/pending.js +143 -0
- package/dist/delta/pending.js.map +1 -0
- package/dist/delta/tracker.d.ts +12 -0
- package/dist/delta/tracker.d.ts.map +1 -1
- package/dist/delta/tracker.js +109 -39
- package/dist/delta/tracker.js.map +1 -1
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +9 -7
- package/dist/host.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/next/contracts/accepts.d.ts +81 -0
- package/dist/next/contracts/accepts.d.ts.map +1 -0
- package/dist/next/contracts/accepts.js +123 -0
- package/dist/next/contracts/accepts.js.map +1 -0
- package/dist/next/contracts/contract.d.ts +121 -0
- package/dist/next/contracts/contract.d.ts.map +1 -0
- package/dist/next/contracts/contract.js +50 -0
- package/dist/next/contracts/contract.js.map +1 -0
- package/dist/next/contracts/declare.d.ts +107 -0
- package/dist/next/contracts/declare.d.ts.map +1 -0
- package/dist/next/contracts/declare.js +136 -0
- package/dist/next/contracts/declare.js.map +1 -0
- package/dist/next/contracts/evolve.d.ts +92 -0
- package/dist/next/contracts/evolve.d.ts.map +1 -0
- package/dist/next/contracts/evolve.js +179 -0
- package/dist/next/contracts/evolve.js.map +1 -0
- package/dist/next/contracts/fingerprint.d.ts +16 -0
- package/dist/next/contracts/fingerprint.d.ts.map +1 -0
- package/dist/next/contracts/fingerprint.js +50 -0
- package/dist/next/contracts/fingerprint.js.map +1 -0
- package/dist/next/contracts/history.d.ts +71 -0
- package/dist/next/contracts/history.d.ts.map +1 -0
- package/dist/next/contracts/history.js +3 -0
- package/dist/next/contracts/history.js.map +1 -0
- package/dist/next/contracts/host-kind.d.ts +40 -0
- package/dist/next/contracts/host-kind.d.ts.map +1 -0
- package/dist/next/contracts/host-kind.js +37 -0
- package/dist/next/contracts/host-kind.js.map +1 -0
- package/dist/next/contracts/index.d.ts +7 -0
- package/dist/next/contracts/index.d.ts.map +1 -0
- package/dist/next/contracts/index.js +6 -0
- package/dist/next/contracts/index.js.map +1 -0
- package/dist/next/contracts/internal.d.ts +10 -0
- package/dist/next/contracts/internal.d.ts.map +1 -0
- package/dist/next/contracts/internal.js +9 -0
- package/dist/next/contracts/internal.js.map +1 -0
- package/dist/next/contracts/names.d.ts +3 -0
- package/dist/next/contracts/names.d.ts.map +1 -0
- package/dist/next/contracts/names.js +13 -0
- package/dist/next/contracts/names.js.map +1 -0
- package/dist/next/contracts/params.d.ts +28 -0
- package/dist/next/contracts/params.d.ts.map +1 -0
- package/dist/next/contracts/params.js +50 -0
- package/dist/next/contracts/params.js.map +1 -0
- package/dist/next/contracts/schema.d.ts +102 -0
- package/dist/next/contracts/schema.d.ts.map +1 -0
- package/dist/next/contracts/schema.js +103 -0
- package/dist/next/contracts/schema.js.map +1 -0
- package/dist/next/contracts/snapshot.d.ts +16 -0
- package/dist/next/contracts/snapshot.d.ts.map +1 -0
- package/dist/next/contracts/snapshot.js +167 -0
- package/dist/next/contracts/snapshot.js.map +1 -0
- package/dist/next/data/args.d.ts +50 -0
- package/dist/next/data/args.d.ts.map +1 -0
- package/dist/next/data/args.js +83 -0
- package/dist/next/data/args.js.map +1 -0
- package/dist/next/data/errors.d.ts +73 -0
- package/dist/next/data/errors.d.ts.map +1 -0
- package/dist/next/data/errors.js +107 -0
- package/dist/next/data/errors.js.map +1 -0
- package/dist/next/data/failure.d.ts +26 -0
- package/dist/next/data/failure.d.ts.map +1 -0
- package/dist/next/data/failure.js +72 -0
- package/dist/next/data/failure.js.map +1 -0
- package/dist/next/data/index.d.ts +4 -0
- package/dist/next/data/index.d.ts.map +1 -0
- package/dist/next/data/index.js +4 -0
- package/dist/next/data/index.js.map +1 -0
- package/dist/next/data/internal.d.ts +7 -0
- package/dist/next/data/internal.d.ts.map +1 -0
- package/dist/next/data/internal.js +8 -0
- package/dist/next/data/internal.js.map +1 -0
- package/dist/next/data/params.d.ts +20 -0
- package/dist/next/data/params.d.ts.map +1 -0
- package/dist/next/data/params.js +31 -0
- package/dist/next/data/params.js.map +1 -0
- package/dist/next/data/principal.d.ts +17 -0
- package/dist/next/data/principal.d.ts.map +1 -0
- package/dist/next/data/principal.js +41 -0
- package/dist/next/data/principal.js.map +1 -0
- package/dist/next/data/validator.d.ts +12 -0
- package/dist/next/data/validator.d.ts.map +1 -0
- package/dist/next/data/validator.js +34 -0
- package/dist/next/data/validator.js.map +1 -0
- package/dist/next/documents/address-source.d.ts +20 -0
- package/dist/next/documents/address-source.d.ts.map +1 -0
- package/dist/next/documents/address-source.js +44 -0
- package/dist/next/documents/address-source.js.map +1 -0
- package/dist/next/documents/definition.d.ts +84 -0
- package/dist/next/documents/definition.d.ts.map +1 -0
- package/dist/next/documents/definition.js +73 -0
- package/dist/next/documents/definition.js.map +1 -0
- package/dist/next/documents/documents.d.ts +106 -0
- package/dist/next/documents/documents.d.ts.map +1 -0
- package/dist/next/documents/documents.js +224 -0
- package/dist/next/documents/documents.js.map +1 -0
- package/dist/next/documents/fence.d.ts +9 -0
- package/dist/next/documents/fence.d.ts.map +1 -0
- package/dist/next/documents/fence.js +15 -0
- package/dist/next/documents/fence.js.map +1 -0
- package/dist/next/documents/handles.d.ts +76 -0
- package/dist/next/documents/handles.d.ts.map +1 -0
- package/dist/next/documents/handles.js +66 -0
- package/dist/next/documents/handles.js.map +1 -0
- package/dist/next/documents/index.d.ts +4 -0
- package/dist/next/documents/index.d.ts.map +1 -0
- package/dist/next/documents/index.js +3 -0
- package/dist/next/documents/index.js.map +1 -0
- package/dist/next/documents/internal.d.ts +9 -0
- package/dist/next/documents/internal.d.ts.map +1 -0
- package/dist/next/documents/internal.js +9 -0
- package/dist/next/documents/internal.js.map +1 -0
- package/dist/next/documents/keyed-slot.d.ts +103 -0
- package/dist/next/documents/keyed-slot.d.ts.map +1 -0
- package/dist/next/documents/keyed-slot.js +395 -0
- package/dist/next/documents/keyed-slot.js.map +1 -0
- package/dist/next/documents/line.d.ts +7 -0
- package/dist/next/documents/line.d.ts.map +1 -0
- package/dist/next/documents/line.js +14 -0
- package/dist/next/documents/line.js.map +1 -0
- package/dist/next/documents/persistence.d.ts +104 -0
- package/dist/next/documents/persistence.d.ts.map +1 -0
- package/dist/next/documents/persistence.js +128 -0
- package/dist/next/documents/persistence.js.map +1 -0
- package/dist/next/documents/residency.d.ts +31 -0
- package/dist/next/documents/residency.d.ts.map +1 -0
- package/dist/next/documents/residency.js +93 -0
- package/dist/next/documents/residency.js.map +1 -0
- package/dist/next/documents/slot.d.ts +109 -0
- package/dist/next/documents/slot.d.ts.map +1 -0
- package/dist/next/documents/slot.js +181 -0
- package/dist/next/documents/slot.js.map +1 -0
- package/dist/next/documents/transaction.d.ts +133 -0
- package/dist/next/documents/transaction.d.ts.map +1 -0
- package/dist/next/documents/transaction.js +409 -0
- package/dist/next/documents/transaction.js.map +1 -0
- package/dist/next/host/activity.d.ts +31 -0
- package/dist/next/host/activity.d.ts.map +1 -0
- package/dist/next/host/activity.js +40 -0
- package/dist/next/host/activity.js.map +1 -0
- package/dist/next/host/adapted.d.ts +49 -0
- package/dist/next/host/adapted.d.ts.map +1 -0
- package/dist/next/host/adapted.js +214 -0
- package/dist/next/host/adapted.js.map +1 -0
- package/dist/next/host/attempt.d.ts +278 -0
- package/dist/next/host/attempt.d.ts.map +1 -0
- package/dist/next/host/attempt.js +1072 -0
- package/dist/next/host/attempt.js.map +1 -0
- package/dist/next/host/backoff.d.ts +29 -0
- package/dist/next/host/backoff.d.ts.map +1 -0
- package/dist/next/host/backoff.js +69 -0
- package/dist/next/host/backoff.js.map +1 -0
- package/dist/next/host/ctx.d.ts +47 -0
- package/dist/next/host/ctx.d.ts.map +1 -0
- package/dist/next/host/ctx.js +108 -0
- package/dist/next/host/ctx.js.map +1 -0
- package/dist/next/host/deadline.d.ts +12 -0
- package/dist/next/host/deadline.d.ts.map +1 -0
- package/dist/next/host/deadline.js +40 -0
- package/dist/next/host/deadline.js.map +1 -0
- package/dist/next/host/dependencies.d.ts +65 -0
- package/dist/next/host/dependencies.d.ts.map +1 -0
- package/dist/next/host/dependencies.js +115 -0
- package/dist/next/host/dependencies.js.map +1 -0
- package/dist/next/host/destination.d.ts +48 -0
- package/dist/next/host/destination.d.ts.map +1 -0
- package/dist/next/host/destination.js +101 -0
- package/dist/next/host/destination.js.map +1 -0
- package/dist/next/host/facet.d.ts +79 -0
- package/dist/next/host/facet.d.ts.map +1 -0
- package/dist/next/host/facet.js +55 -0
- package/dist/next/host/facet.js.map +1 -0
- package/dist/next/host/follow.d.ts +52 -0
- package/dist/next/host/follow.d.ts.map +1 -0
- package/dist/next/host/follow.js +207 -0
- package/dist/next/host/follow.js.map +1 -0
- package/dist/next/host/host.d.ts +495 -0
- package/dist/next/host/host.d.ts.map +1 -0
- package/dist/next/host/host.js +1075 -0
- package/dist/next/host/host.js.map +1 -0
- package/dist/next/host/index.d.ts +17 -0
- package/dist/next/host/index.d.ts.map +1 -0
- package/dist/next/host/index.js +6 -0
- package/dist/next/host/index.js.map +1 -0
- package/dist/next/host/internal.d.ts +10 -0
- package/dist/next/host/internal.d.ts.map +1 -0
- package/dist/next/host/internal.js +8 -0
- package/dist/next/host/internal.js.map +1 -0
- package/dist/next/host/members.d.ts +50 -0
- package/dist/next/host/members.d.ts.map +1 -0
- package/dist/next/host/members.js +107 -0
- package/dist/next/host/members.js.map +1 -0
- package/dist/next/host/native.d.ts +55 -0
- package/dist/next/host/native.d.ts.map +1 -0
- package/dist/next/host/native.js +92 -0
- package/dist/next/host/native.js.map +1 -0
- package/dist/next/host/object.d.ts +290 -0
- package/dist/next/host/object.d.ts.map +1 -0
- package/dist/next/host/object.js +1127 -0
- package/dist/next/host/object.js.map +1 -0
- package/dist/next/host/parked.d.ts +23 -0
- package/dist/next/host/parked.d.ts.map +1 -0
- package/dist/next/host/parked.js +79 -0
- package/dist/next/host/parked.js.map +1 -0
- package/dist/next/host/presence.d.ts +34 -0
- package/dist/next/host/presence.d.ts.map +1 -0
- package/dist/next/host/presence.js +117 -0
- package/dist/next/host/presence.js.map +1 -0
- package/dist/next/host/ref-state.d.ts +53 -0
- package/dist/next/host/ref-state.d.ts.map +1 -0
- package/dist/next/host/ref-state.js +83 -0
- package/dist/next/host/ref-state.js.map +1 -0
- package/dist/next/host/reference-keys.d.ts +36 -0
- package/dist/next/host/reference-keys.d.ts.map +1 -0
- package/dist/next/host/reference-keys.js +168 -0
- package/dist/next/host/reference-keys.js.map +1 -0
- package/dist/next/host/reference-source.d.ts +65 -0
- package/dist/next/host/reference-source.d.ts.map +1 -0
- package/dist/next/host/reference-source.js +285 -0
- package/dist/next/host/reference-source.js.map +1 -0
- package/dist/next/host/reference.d.ts +308 -0
- package/dist/next/host/reference.d.ts.map +1 -0
- package/dist/next/host/reference.js +775 -0
- package/dist/next/host/reference.js.map +1 -0
- package/dist/next/host/retry-on.d.ts +28 -0
- package/dist/next/host/retry-on.d.ts.map +1 -0
- package/dist/next/host/retry-on.js +52 -0
- package/dist/next/host/retry-on.js.map +1 -0
- package/dist/next/host/revocation.d.ts +16 -0
- package/dist/next/host/revocation.d.ts.map +1 -0
- package/dist/next/host/revocation.js +27 -0
- package/dist/next/host/revocation.js.map +1 -0
- package/dist/next/host/root.d.ts +27 -0
- package/dist/next/host/root.d.ts.map +1 -0
- package/dist/next/host/root.js +68 -0
- package/dist/next/host/root.js.map +1 -0
- package/dist/next/host/route.d.ts +64 -0
- package/dist/next/host/route.d.ts.map +1 -0
- package/dist/next/host/route.js +190 -0
- package/dist/next/host/route.js.map +1 -0
- package/dist/next/host/routines.d.ts +76 -0
- package/dist/next/host/routines.d.ts.map +1 -0
- package/dist/next/host/routines.js +350 -0
- package/dist/next/host/routines.js.map +1 -0
- package/dist/next/host/sleep.d.ts +9 -0
- package/dist/next/host/sleep.d.ts.map +1 -0
- package/dist/next/host/sleep.js +40 -0
- package/dist/next/host/sleep.js.map +1 -0
- package/dist/next/host/staging.d.ts +94 -0
- package/dist/next/host/staging.d.ts.map +1 -0
- package/dist/next/host/staging.js +302 -0
- package/dist/next/host/staging.js.map +1 -0
- package/dist/next/host/unbound.d.ts +30 -0
- package/dist/next/host/unbound.d.ts.map +1 -0
- package/dist/next/host/unbound.js +67 -0
- package/dist/next/host/unbound.js.map +1 -0
- package/dist/next/host/uuid.d.ts +3 -0
- package/dist/next/host/uuid.d.ts.map +1 -0
- package/dist/next/host/uuid.js +38 -0
- package/dist/next/host/uuid.js.map +1 -0
- package/dist/next/index.d.ts +28 -0
- package/dist/next/index.d.ts.map +1 -0
- package/dist/next/index.js +18 -0
- package/dist/next/index.js.map +1 -0
- package/dist/next/jobs/definition.d.ts +96 -0
- package/dist/next/jobs/definition.d.ts.map +1 -0
- package/dist/next/jobs/definition.js +83 -0
- package/dist/next/jobs/definition.js.map +1 -0
- package/dist/next/jobs/index.d.ts +5 -0
- package/dist/next/jobs/index.d.ts.map +1 -0
- package/dist/next/jobs/index.js +3 -0
- package/dist/next/jobs/index.js.map +1 -0
- package/dist/next/jobs/internal.d.ts +3 -0
- package/dist/next/jobs/internal.d.ts.map +1 -0
- package/dist/next/jobs/internal.js +4 -0
- package/dist/next/jobs/internal.js.map +1 -0
- package/dist/next/jobs/job.d.ts +152 -0
- package/dist/next/jobs/job.d.ts.map +1 -0
- package/dist/next/jobs/job.js +320 -0
- package/dist/next/jobs/job.js.map +1 -0
- package/dist/next/jobs/persisted.d.ts +38 -0
- package/dist/next/jobs/persisted.d.ts.map +1 -0
- package/dist/next/jobs/persisted.js +95 -0
- package/dist/next/jobs/persisted.js.map +1 -0
- package/dist/next/jobs/records.d.ts +231 -0
- package/dist/next/jobs/records.d.ts.map +1 -0
- package/dist/next/jobs/records.js +869 -0
- package/dist/next/jobs/records.js.map +1 -0
- package/dist/next/jobs/run-states.d.ts +69 -0
- package/dist/next/jobs/run-states.d.ts.map +1 -0
- package/dist/next/jobs/run-states.js +228 -0
- package/dist/next/jobs/run-states.js.map +1 -0
- package/dist/next/jobs/run.d.ts +113 -0
- package/dist/next/jobs/run.d.ts.map +1 -0
- package/dist/next/jobs/run.js +200 -0
- package/dist/next/jobs/run.js.map +1 -0
- package/dist/next/jobs/running.d.ts +44 -0
- package/dist/next/jobs/running.d.ts.map +1 -0
- package/dist/next/jobs/running.js +117 -0
- package/dist/next/jobs/running.js.map +1 -0
- package/dist/next/jobs/stored.d.ts +63 -0
- package/dist/next/jobs/stored.d.ts.map +1 -0
- package/dist/next/jobs/stored.js +55 -0
- package/dist/next/jobs/stored.js.map +1 -0
- package/dist/next/link/binary.d.ts +4 -0
- package/dist/next/link/binary.d.ts.map +1 -0
- package/dist/next/link/binary.js +534 -0
- package/dist/next/link/binary.js.map +1 -0
- package/dist/next/link/channel.d.ts +63 -0
- package/dist/next/link/channel.d.ts.map +1 -0
- package/dist/next/link/channel.js +202 -0
- package/dist/next/link/channel.js.map +1 -0
- package/dist/next/link/errors.d.ts +7 -0
- package/dist/next/link/errors.d.ts.map +1 -0
- package/dist/next/link/errors.js +21 -0
- package/dist/next/link/errors.js.map +1 -0
- package/dist/next/link/index.d.ts +8 -0
- package/dist/next/link/index.d.ts.map +1 -0
- package/dist/next/link/index.js +8 -0
- package/dist/next/link/index.js.map +1 -0
- package/dist/next/link/internal.d.ts +9 -0
- package/dist/next/link/internal.d.ts.map +1 -0
- package/dist/next/link/internal.js +10 -0
- package/dist/next/link/internal.js.map +1 -0
- package/dist/next/link/ipc.d.ts +22 -0
- package/dist/next/link/ipc.d.ts.map +1 -0
- package/dist/next/link/ipc.js +64 -0
- package/dist/next/link/ipc.js.map +1 -0
- package/dist/next/link/link.d.ts +34 -0
- package/dist/next/link/link.d.ts.map +1 -0
- package/dist/next/link/link.js +87 -0
- package/dist/next/link/link.js.map +1 -0
- package/dist/next/link/message.d.ts +249 -0
- package/dist/next/link/message.d.ts.map +1 -0
- package/dist/next/link/message.js +123 -0
- package/dist/next/link/message.js.map +1 -0
- package/dist/next/link/part.d.ts +80 -0
- package/dist/next/link/part.d.ts.map +1 -0
- package/dist/next/link/part.js +164 -0
- package/dist/next/link/part.js.map +1 -0
- package/dist/next/link/text.d.ts +6 -0
- package/dist/next/link/text.d.ts.map +1 -0
- package/dist/next/link/text.js +335 -0
- package/dist/next/link/text.js.map +1 -0
- package/dist/next/link/values.d.ts +40 -0
- package/dist/next/link/values.d.ts.map +1 -0
- package/dist/next/link/values.js +117 -0
- package/dist/next/link/values.js.map +1 -0
- package/dist/next/link/websocket.d.ts +26 -0
- package/dist/next/link/websocket.d.ts.map +1 -0
- package/dist/next/link/websocket.js +91 -0
- package/dist/next/link/websocket.js.map +1 -0
- package/dist/next/registries/contribution.d.ts +50 -0
- package/dist/next/registries/contribution.d.ts.map +1 -0
- package/dist/next/registries/contribution.js +129 -0
- package/dist/next/registries/contribution.js.map +1 -0
- package/dist/next/registries/entries.d.ts +18 -0
- package/dist/next/registries/entries.d.ts.map +1 -0
- package/dist/next/registries/entries.js +42 -0
- package/dist/next/registries/entries.js.map +1 -0
- package/dist/next/registries/index.d.ts +3 -0
- package/dist/next/registries/index.d.ts.map +1 -0
- package/dist/next/registries/index.js +5 -0
- package/dist/next/registries/index.js.map +1 -0
- package/dist/next/registries/internal.d.ts +4 -0
- package/dist/next/registries/internal.d.ts.map +1 -0
- package/dist/next/registries/internal.js +5 -0
- package/dist/next/registries/internal.js.map +1 -0
- package/dist/next/registries/record.d.ts +94 -0
- package/dist/next/registries/record.d.ts.map +1 -0
- package/dist/next/registries/record.js +253 -0
- package/dist/next/registries/record.js.map +1 -0
- package/dist/next/registries/registry.d.ts +74 -0
- package/dist/next/registries/registry.d.ts.map +1 -0
- package/dist/next/registries/registry.js +14 -0
- package/dist/next/registries/registry.js.map +1 -0
- package/dist/next/registries/value.d.ts +48 -0
- package/dist/next/registries/value.d.ts.map +1 -0
- package/dist/next/registries/value.js +199 -0
- package/dist/next/registries/value.js.map +1 -0
- package/dist/next/remote/calls.d.ts +25 -0
- package/dist/next/remote/calls.d.ts.map +1 -0
- package/dist/next/remote/calls.js +62 -0
- package/dist/next/remote/calls.js.map +1 -0
- package/dist/next/remote/consumer.d.ts +42 -0
- package/dist/next/remote/consumer.d.ts.map +1 -0
- package/dist/next/remote/consumer.js +343 -0
- package/dist/next/remote/consumer.js.map +1 -0
- package/dist/next/remote/hold.d.ts +130 -0
- package/dist/next/remote/hold.d.ts.map +1 -0
- package/dist/next/remote/hold.js +537 -0
- package/dist/next/remote/hold.js.map +1 -0
- package/dist/next/remote/host-link.d.ts +77 -0
- package/dist/next/remote/host-link.d.ts.map +1 -0
- package/dist/next/remote/host-link.js +182 -0
- package/dist/next/remote/host-link.js.map +1 -0
- package/dist/next/remote/internal.d.ts +6 -0
- package/dist/next/remote/internal.d.ts.map +1 -0
- package/dist/next/remote/internal.js +6 -0
- package/dist/next/remote/internal.js.map +1 -0
- package/dist/next/remote/path.d.ts +46 -0
- package/dist/next/remote/path.d.ts.map +1 -0
- package/dist/next/remote/path.js +73 -0
- package/dist/next/remote/path.js.map +1 -0
- package/dist/next/remote/provider.d.ts +76 -0
- package/dist/next/remote/provider.d.ts.map +1 -0
- package/dist/next/remote/provider.js +506 -0
- package/dist/next/remote/provider.js.map +1 -0
- package/dist/next/remote/relay.d.ts +58 -0
- package/dist/next/remote/relay.d.ts.map +1 -0
- package/dist/next/remote/relay.js +117 -0
- package/dist/next/remote/relay.js.map +1 -0
- package/dist/next/remote/remote-object.d.ts +133 -0
- package/dist/next/remote/remote-object.d.ts.map +1 -0
- package/dist/next/remote/remote-object.js +411 -0
- package/dist/next/remote/remote-object.js.map +1 -0
- package/dist/next/remote/replica.d.ts +59 -0
- package/dist/next/remote/replica.d.ts.map +1 -0
- package/dist/next/remote/replica.js +125 -0
- package/dist/next/remote/replica.js.map +1 -0
- package/dist/next/state/batch.d.ts +64 -0
- package/dist/next/state/batch.d.ts.map +1 -0
- package/dist/next/state/batch.js +163 -0
- package/dist/next/state/batch.js.map +1 -0
- package/dist/next/state/derive.d.ts +52 -0
- package/dist/next/state/derive.d.ts.map +1 -0
- package/dist/next/state/derive.js +182 -0
- package/dist/next/state/derive.js.map +1 -0
- package/dist/next/state/index.d.ts +6 -0
- package/dist/next/state/index.d.ts.map +1 -0
- package/dist/next/state/index.js +4 -0
- package/dist/next/state/index.js.map +1 -0
- package/dist/next/state/internal.d.ts +6 -0
- package/dist/next/state/internal.d.ts.map +1 -0
- package/dist/next/state/internal.js +8 -0
- package/dist/next/state/internal.js.map +1 -0
- package/dist/next/state/native-source.d.ts +106 -0
- package/dist/next/state/native-source.d.ts.map +1 -0
- package/dist/next/state/native-source.js +240 -0
- package/dist/next/state/native-source.js.map +1 -0
- package/dist/next/state/watchable.d.ts +114 -0
- package/dist/next/state/watchable.d.ts.map +1 -0
- package/dist/next/state/watchable.js +156 -0
- package/dist/next/state/watchable.js.map +1 -0
- package/dist/next/state/writable.d.ts +32 -0
- package/dist/next/state/writable.d.ts.map +1 -0
- package/dist/next/state/writable.js +49 -0
- package/dist/next/state/writable.js.map +1 -0
- package/dist/next/store/adapter.d.ts +67 -0
- package/dist/next/store/adapter.d.ts.map +1 -0
- package/dist/next/store/adapter.js +118 -0
- package/dist/next/store/adapter.js.map +1 -0
- package/dist/next/store/allocator.d.ts +17 -0
- package/dist/next/store/allocator.d.ts.map +1 -0
- package/dist/next/store/allocator.js +30 -0
- package/dist/next/store/allocator.js.map +1 -0
- package/dist/next/store/applier.d.ts +8 -0
- package/dist/next/store/applier.d.ts.map +1 -0
- package/dist/next/store/applier.js +375 -0
- package/dist/next/store/applier.js.map +1 -0
- package/dist/next/store/apply-batch.d.ts +12 -0
- package/dist/next/store/apply-batch.d.ts.map +1 -0
- package/dist/next/store/apply-batch.js +83 -0
- package/dist/next/store/apply-batch.js.map +1 -0
- package/dist/next/store/archive.d.ts +32 -0
- package/dist/next/store/archive.d.ts.map +1 -0
- package/dist/next/store/archive.js +129 -0
- package/dist/next/store/archive.js.map +1 -0
- package/dist/next/store/backend.d.ts +10 -0
- package/dist/next/store/backend.d.ts.map +1 -0
- package/dist/next/store/backend.js +15 -0
- package/dist/next/store/backend.js.map +1 -0
- package/dist/next/store/catalog.d.ts +24 -0
- package/dist/next/store/catalog.d.ts.map +1 -0
- package/dist/next/store/catalog.js +17 -0
- package/dist/next/store/catalog.js.map +1 -0
- package/dist/next/store/claims.d.ts +23 -0
- package/dist/next/store/claims.d.ts.map +1 -0
- package/dist/next/store/claims.js +65 -0
- package/dist/next/store/claims.js.map +1 -0
- package/dist/next/store/columns.d.ts +77 -0
- package/dist/next/store/columns.d.ts.map +1 -0
- package/dist/next/store/columns.js +77 -0
- package/dist/next/store/columns.js.map +1 -0
- package/dist/next/store/engine.d.ts +176 -0
- package/dist/next/store/engine.d.ts.map +1 -0
- package/dist/next/store/engine.js +283 -0
- package/dist/next/store/engine.js.map +1 -0
- package/dist/next/store/evaluate.d.ts +17 -0
- package/dist/next/store/evaluate.d.ts.map +1 -0
- package/dist/next/store/evaluate.js +128 -0
- package/dist/next/store/evaluate.js.map +1 -0
- package/dist/next/store/export.d.ts +17 -0
- package/dist/next/store/export.d.ts.map +1 -0
- package/dist/next/store/export.js +200 -0
- package/dist/next/store/export.js.map +1 -0
- package/dist/next/store/expression.d.ts +150 -0
- package/dist/next/store/expression.d.ts.map +1 -0
- package/dist/next/store/expression.js +268 -0
- package/dist/next/store/expression.js.map +1 -0
- package/dist/next/store/import.d.ts +10 -0
- package/dist/next/store/import.d.ts.map +1 -0
- package/dist/next/store/import.js +276 -0
- package/dist/next/store/import.js.map +1 -0
- package/dist/next/store/index.d.ts +16 -0
- package/dist/next/store/index.d.ts.map +1 -0
- package/dist/next/store/index.js +13 -0
- package/dist/next/store/index.js.map +1 -0
- package/dist/next/store/json-column.d.ts +33 -0
- package/dist/next/store/json-column.d.ts.map +1 -0
- package/dist/next/store/json-column.js +61 -0
- package/dist/next/store/json-column.js.map +1 -0
- package/dist/next/store/jsonl.d.ts +9 -0
- package/dist/next/store/jsonl.d.ts.map +1 -0
- package/dist/next/store/jsonl.js +61 -0
- package/dist/next/store/jsonl.js.map +1 -0
- package/dist/next/store/outbox.d.ts +26 -0
- package/dist/next/store/outbox.d.ts.map +1 -0
- package/dist/next/store/outbox.js +80 -0
- package/dist/next/store/outbox.js.map +1 -0
- package/dist/next/store/query.d.ts +39 -0
- package/dist/next/store/query.d.ts.map +1 -0
- package/dist/next/store/query.js +97 -0
- package/dist/next/store/query.js.map +1 -0
- package/dist/next/store/refusal.d.ts +15 -0
- package/dist/next/store/refusal.d.ts.map +1 -0
- package/dist/next/store/refusal.js +36 -0
- package/dist/next/store/refusal.js.map +1 -0
- package/dist/next/store/rows.d.ts +80 -0
- package/dist/next/store/rows.d.ts.map +1 -0
- package/dist/next/store/rows.js +183 -0
- package/dist/next/store/rows.js.map +1 -0
- package/dist/next/store/schema.d.ts +25 -0
- package/dist/next/store/schema.d.ts.map +1 -0
- package/dist/next/store/schema.js +115 -0
- package/dist/next/store/schema.js.map +1 -0
- package/dist/next/store/sql.d.ts +73 -0
- package/dist/next/store/sql.d.ts.map +1 -0
- package/dist/next/store/sql.js +234 -0
- package/dist/next/store/sql.js.map +1 -0
- package/dist/next/store/step.d.ts +48 -0
- package/dist/next/store/step.d.ts.map +1 -0
- package/dist/next/store/step.js +50 -0
- package/dist/next/store/step.js.map +1 -0
- package/dist/next/store/store.d.ts +161 -0
- package/dist/next/store/store.d.ts.map +1 -0
- package/dist/next/store/store.js +627 -0
- package/dist/next/store/store.js.map +1 -0
- package/dist/next/store/table-changes.d.ts +29 -0
- package/dist/next/store/table-changes.d.ts.map +1 -0
- package/dist/next/store/table-changes.js +102 -0
- package/dist/next/store/table-changes.js.map +1 -0
- package/dist/next/store/table-evolve.d.ts +74 -0
- package/dist/next/store/table-evolve.d.ts.map +1 -0
- package/dist/next/store/table-evolve.js +201 -0
- package/dist/next/store/table-evolve.js.map +1 -0
- package/dist/next/store/table-handle.d.ts +67 -0
- package/dist/next/store/table-handle.d.ts.map +1 -0
- package/dist/next/store/table-handle.js +101 -0
- package/dist/next/store/table-handle.js.map +1 -0
- package/dist/next/store/table-history.d.ts +75 -0
- package/dist/next/store/table-history.d.ts.map +1 -0
- package/dist/next/store/table-history.js +42 -0
- package/dist/next/store/table-history.js.map +1 -0
- package/dist/next/store/table-migration.d.ts +16 -0
- package/dist/next/store/table-migration.d.ts.map +1 -0
- package/dist/next/store/table-migration.js +202 -0
- package/dist/next/store/table-migration.js.map +1 -0
- package/dist/next/store/table-writes.d.ts +125 -0
- package/dist/next/store/table-writes.d.ts.map +1 -0
- package/dist/next/store/table-writes.js +165 -0
- package/dist/next/store/table-writes.js.map +1 -0
- package/dist/next/store/table.d.ts +80 -0
- package/dist/next/store/table.d.ts.map +1 -0
- package/dist/next/store/table.js +103 -0
- package/dist/next/store/table.js.map +1 -0
- package/dist/next/store/text.d.ts +14 -0
- package/dist/next/store/text.d.ts.map +1 -0
- package/dist/next/store/text.js +51 -0
- package/dist/next/store/text.js.map +1 -0
- package/dist/next/store/writes.d.ts +5 -0
- package/dist/next/store/writes.d.ts.map +1 -0
- package/dist/next/store/writes.js +4 -0
- package/dist/next/store/writes.js.map +1 -0
- package/dist/next-node/compression.d.ts +7 -0
- package/dist/next-node/compression.d.ts.map +1 -0
- package/dist/next-node/compression.js +24 -0
- package/dist/next-node/compression.js.map +1 -0
- package/dist/next-node/http/admission.d.ts +63 -0
- package/dist/next-node/http/admission.d.ts.map +1 -0
- package/dist/next-node/http/admission.js +134 -0
- package/dist/next-node/http/admission.js.map +1 -0
- package/dist/next-node/http/authenticate.d.ts +21 -0
- package/dist/next-node/http/authenticate.d.ts.map +1 -0
- package/dist/next-node/http/authenticate.js +34 -0
- package/dist/next-node/http/authenticate.js.map +1 -0
- package/dist/next-node/http/cookies.d.ts +24 -0
- package/dist/next-node/http/cookies.d.ts.map +1 -0
- package/dist/next-node/http/cookies.js +62 -0
- package/dist/next-node/http/cookies.js.map +1 -0
- package/dist/next-node/http/file.d.ts +23 -0
- package/dist/next-node/http/file.d.ts.map +1 -0
- package/dist/next-node/http/file.js +94 -0
- package/dist/next-node/http/file.js.map +1 -0
- package/dist/next-node/http/headers.d.ts +37 -0
- package/dist/next-node/http/headers.d.ts.map +1 -0
- package/dist/next-node/http/headers.js +129 -0
- package/dist/next-node/http/headers.js.map +1 -0
- package/dist/next-node/http/http.d.ts +100 -0
- package/dist/next-node/http/http.d.ts.map +1 -0
- package/dist/next-node/http/http.js +462 -0
- package/dist/next-node/http/http.js.map +1 -0
- package/dist/next-node/http/incoming.d.ts +19 -0
- package/dist/next-node/http/incoming.d.ts.map +1 -0
- package/dist/next-node/http/incoming.js +31 -0
- package/dist/next-node/http/incoming.js.map +1 -0
- package/dist/next-node/http/index.d.ts +11 -0
- package/dist/next-node/http/index.d.ts.map +1 -0
- package/dist/next-node/http/index.js +12 -0
- package/dist/next-node/http/index.js.map +1 -0
- package/dist/next-node/http/node.d.ts +78 -0
- package/dist/next-node/http/node.d.ts.map +1 -0
- package/dist/next-node/http/node.js +291 -0
- package/dist/next-node/http/node.js.map +1 -0
- package/dist/next-node/http/request.d.ts +54 -0
- package/dist/next-node/http/request.d.ts.map +1 -0
- package/dist/next-node/http/request.js +116 -0
- package/dist/next-node/http/request.js.map +1 -0
- package/dist/next-node/http/response.d.ts +63 -0
- package/dist/next-node/http/response.d.ts.map +1 -0
- package/dist/next-node/http/response.js +202 -0
- package/dist/next-node/http/response.js.map +1 -0
- package/dist/next-node/http/router.d.ts +114 -0
- package/dist/next-node/http/router.d.ts.map +1 -0
- package/dist/next-node/http/router.js +261 -0
- package/dist/next-node/http/router.js.map +1 -0
- package/dist/next-node/http/upgrades.d.ts +58 -0
- package/dist/next-node/http/upgrades.d.ts.map +1 -0
- package/dist/next-node/http/upgrades.js +184 -0
- package/dist/next-node/http/upgrades.js.map +1 -0
- package/dist/next-node/plugins/build.d.ts +57 -0
- package/dist/next-node/plugins/build.d.ts.map +1 -0
- package/dist/next-node/plugins/build.js +334 -0
- package/dist/next-node/plugins/build.js.map +1 -0
- package/dist/next-node/plugins/discover.d.ts +36 -0
- package/dist/next-node/plugins/discover.d.ts.map +1 -0
- package/dist/next-node/plugins/discover.js +91 -0
- package/dist/next-node/plugins/discover.js.map +1 -0
- package/dist/next-node/plugins/evaluate.d.ts +33 -0
- package/dist/next-node/plugins/evaluate.d.ts.map +1 -0
- package/dist/next-node/plugins/evaluate.js +98 -0
- package/dist/next-node/plugins/evaluate.js.map +1 -0
- package/dist/next-node/plugins/index.d.ts +9 -0
- package/dist/next-node/plugins/index.d.ts.map +1 -0
- package/dist/next-node/plugins/index.js +11 -0
- package/dist/next-node/plugins/index.js.map +1 -0
- package/dist/next-node/plugins/install.d.ts +13 -0
- package/dist/next-node/plugins/install.d.ts.map +1 -0
- package/dist/next-node/plugins/install.js +37 -0
- package/dist/next-node/plugins/install.js.map +1 -0
- package/dist/next-node/plugins/plugins.d.ts +135 -0
- package/dist/next-node/plugins/plugins.d.ts.map +1 -0
- package/dist/next-node/plugins/plugins.js +206 -0
- package/dist/next-node/plugins/plugins.js.map +1 -0
- package/dist/next-node/plugins/runtime.d.ts +41 -0
- package/dist/next-node/plugins/runtime.d.ts.map +1 -0
- package/dist/next-node/plugins/runtime.js +136 -0
- package/dist/next-node/plugins/runtime.js.map +1 -0
- package/dist/next-node/plugins/stack.d.ts +16 -0
- package/dist/next-node/plugins/stack.d.ts.map +1 -0
- package/dist/next-node/plugins/stack.js +61 -0
- package/dist/next-node/plugins/stack.js.map +1 -0
- package/dist/next-node/plugins/watcher.d.ts +58 -0
- package/dist/next-node/plugins/watcher.d.ts.map +1 -0
- package/dist/next-node/plugins/watcher.js +281 -0
- package/dist/next-node/plugins/watcher.js.map +1 -0
- package/dist/next-node/workers/control.d.ts +83 -0
- package/dist/next-node/workers/control.d.ts.map +1 -0
- package/dist/next-node/workers/control.js +77 -0
- package/dist/next-node/workers/control.js.map +1 -0
- package/dist/next-node/workers/index.d.ts +5 -0
- package/dist/next-node/workers/index.d.ts.map +1 -0
- package/dist/next-node/workers/index.js +7 -0
- package/dist/next-node/workers/index.js.map +1 -0
- package/dist/next-node/workers/lock.d.ts +21 -0
- package/dist/next-node/workers/lock.d.ts.map +1 -0
- package/dist/next-node/workers/lock.js +137 -0
- package/dist/next-node/workers/lock.js.map +1 -0
- package/dist/next-node/workers/main.d.ts +46 -0
- package/dist/next-node/workers/main.d.ts.map +1 -0
- package/dist/next-node/workers/main.js +230 -0
- package/dist/next-node/workers/main.js.map +1 -0
- package/dist/next-node/workers/process.d.ts +42 -0
- package/dist/next-node/workers/process.d.ts.map +1 -0
- package/dist/next-node/workers/process.js +125 -0
- package/dist/next-node/workers/process.js.map +1 -0
- package/dist/next-node/workers/workers.d.ts +80 -0
- package/dist/next-node/workers/workers.d.ts.map +1 -0
- package/dist/next-node/workers/workers.js +572 -0
- package/dist/next-node/workers/workers.js.map +1 -0
- package/dist/object.d.ts +4 -4
- package/dist/object.d.ts.map +1 -1
- package/dist/object.js +3 -4
- package/dist/object.js.map +1 -1
- package/dist/output.d.ts +1 -1
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +4 -2
- package/dist/output.js.map +1 -1
- package/dist/remote.d.ts.map +1 -1
- package/dist/remote.js +2 -2
- package/dist/remote.js.map +1 -1
- package/dist/schema.d.ts +8 -4
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +180 -5
- package/dist/schema.js.map +1 -1
- package/dist/sqlite/cloudflare.d.ts +2 -0
- package/dist/sqlite/cloudflare.d.ts.map +1 -1
- package/dist/sqlite/cloudflare.js +10 -0
- package/dist/sqlite/cloudflare.js.map +1 -1
- package/dist/sqlite/database.d.ts +5 -2
- package/dist/sqlite/database.d.ts.map +1 -1
- package/dist/sqlite/database.js.map +1 -1
- package/dist/sqlite/node.d.ts +4 -1
- package/dist/sqlite/node.d.ts.map +1 -1
- package/dist/sqlite/node.js +22 -5
- package/dist/sqlite/node.js.map +1 -1
- package/dist/watch.d.ts +194 -0
- package/dist/watch.d.ts.map +1 -0
- package/dist/watch.js +383 -0
- package/dist/watch.js.map +1 -0
- package/dist/wire.d.ts +174 -193
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +81 -80
- package/dist/wire.js.map +1 -1
- package/docs/guide.md +15 -15
- package/docs/next/benchmarks.md +959 -0
- package/docs/next/decisions.md +2957 -0
- package/docs/next/dependencies/book.md +1671 -0
- package/docs/next/dependencies/index.html +2641 -0
- package/docs/next/dependencies/model.md +330 -0
- package/docs/next/design.md +2554 -0
- package/docs/next/durable-observers/book.md +432 -0
- package/docs/next/durable-observers/index.html +517 -0
- package/docs/next/flow-control/book.md +333 -0
- package/docs/next/flow-control/fold/index.html +265 -0
- package/docs/next/flow-control/index.html +548 -0
- package/docs/next/flow-control/window/index.html +228 -0
- package/docs/next/guide-plugins-hosts/book.md +607 -0
- package/docs/next/guide-plugins-hosts/index.html +652 -0
- package/docs/next/http-workers/book.md +378 -0
- package/docs/next/http-workers/index.html +515 -0
- package/docs/next/layer-1.md +311 -0
- package/docs/next/layer-2.md +216 -0
- package/docs/next/plugin-model/book.md +186 -0
- package/docs/next/plugin-model/index.html +310 -0
- package/docs/next/plugin-primer/book.md +273 -0
- package/docs/next/plugin-primer/index.html +430 -0
- package/docs/next/slice-1.md +236 -0
- package/docs/next/slice-10.md +285 -0
- package/docs/next/slice-11.md +93 -0
- package/docs/next/slice-2.md +174 -0
- package/docs/next/slice-3a.md +296 -0
- package/docs/next/slice-3b.md +197 -0
- package/docs/next/slice-4.md +146 -0
- package/docs/next/slice-4a.md +418 -0
- package/docs/next/slice-4b.md +208 -0
- package/docs/next/slice-5.md +281 -0
- package/docs/next/slice-6a.md +676 -0
- package/docs/next/slice-6b.md +332 -0
- package/docs/next/slice-7a.md +130 -0
- package/docs/next/slice-7b/book.md +608 -0
- package/docs/next/slice-7b/index.html +842 -0
- package/docs/next/slice-7b.md +255 -0
- package/docs/next/slice-7c.md +165 -0
- package/docs/next/slice-8.md +194 -0
- package/docs/next/slices.md +230 -0
- package/docs/next/store/book.md +665 -0
- package/docs/next/store/index.html +861 -0
- package/docs/next/store/walkthrough.md +193 -0
- package/docs/spec.md +9 -9
- package/docs/tutorial.md +26 -25
- package/package.json +22 -6
- package/src/delta/README.md +69 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ChordError, Principal } from "../data/index.ts";
|
|
2
|
+
/** A request in the index: a reference made here or a hold that arrived over a link. */
|
|
3
|
+
export interface UnboundRequest {
|
|
4
|
+
/** Whom it acts for: revocation ends the requests of a revoked principal. */
|
|
5
|
+
readonly principal: Principal | undefined;
|
|
6
|
+
/** The name it waits for became usable (or the host published): it runs its check again, leaving the index first. */
|
|
7
|
+
wake(): void;
|
|
8
|
+
/** It is revoked, or its host closes: it ends with `error` (a hold sends `gone`), leaving the index. */
|
|
9
|
+
end(error: ChordError): void;
|
|
10
|
+
}
|
|
11
|
+
/** A host's unbound requests by name. */
|
|
12
|
+
export declare class UnboundIndex {
|
|
13
|
+
#private;
|
|
14
|
+
/** Indexes `request` under `name` (once; again after a wake). */
|
|
15
|
+
add(name: string, request: UnboundRequest): void;
|
|
16
|
+
/** `request` ended or binds: it leaves the index. */
|
|
17
|
+
delete(name: string, request: UnboundRequest): void;
|
|
18
|
+
/** The host's publication: every request indexed (by any name) runs its check again, out of the index first. */
|
|
19
|
+
wakeAll(): void;
|
|
20
|
+
/**
|
|
21
|
+
* A reload's publication: the requests indexed under `names` (the types and registries it serves) run their check
|
|
22
|
+
* again, out of the index first; the others stay (carry-over "Publications wake per name").
|
|
23
|
+
*/
|
|
24
|
+
wake(names: Iterable<string>): void;
|
|
25
|
+
/** Every indexed request acting for a principal `revoked` names ends with `error`. */
|
|
26
|
+
revoke(revoked: (principal: Principal) => boolean, error: ChordError): void;
|
|
27
|
+
/** The host closed: every indexed request ends with `error`. */
|
|
28
|
+
close(error: ChordError): void;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=unbound.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unbound.d.ts","sourceRoot":"","sources":["../../../src/next/host/unbound.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE9D,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IAC1C,qHAAqH;IACrH,IAAI,IAAI,IAAI,CAAC;IACb,wGAAwG;IACxG,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CAC7B;AAED,yCAAyC;AACzC,qBAAa,YAAY;;IAGxB,iEAAiE;IACjE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAO/C;IAED,qDAAqD;IACrD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAIlD;IAED,gHAAgH;IAChH,OAAO,IAAI,IAAI,CAId;IAED;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CASlC;IAED,sFAAsF;IACtF,MAAM,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAM1E;IAED,gEAAgE;IAChE,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAI7B;CACD"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// The unbound index (dependency model §1, §4): the requests a host decided cannot bind yet, by the name they wait for.
|
|
2
|
+
// Before the host's first publication every request made here, and every hold arriving on its links, waits here
|
|
3
|
+
// (`unpublished`); after it, those its check left unbound (`not_served`, `version`): a reference made here, a hold that
|
|
4
|
+
// arrived over a link and was refused for a name. A publication wakes the requests of the names it serves (`load`'s
|
|
5
|
+
// every one, a reload's those of its names); a request
|
|
6
|
+
// leaves when it ends (released, settled, given up, its link or origin closed, revoked) or binds.
|
|
7
|
+
/** A host's unbound requests by name. */
|
|
8
|
+
export class UnboundIndex {
|
|
9
|
+
#byName = new Map();
|
|
10
|
+
/** Indexes `request` under `name` (once; again after a wake). */
|
|
11
|
+
add(name, request) {
|
|
12
|
+
let requests = this.#byName.get(name);
|
|
13
|
+
if (requests === undefined) {
|
|
14
|
+
requests = new Set();
|
|
15
|
+
this.#byName.set(name, requests);
|
|
16
|
+
}
|
|
17
|
+
requests.add(request);
|
|
18
|
+
}
|
|
19
|
+
/** `request` ended or binds: it leaves the index. */
|
|
20
|
+
delete(name, request) {
|
|
21
|
+
const requests = this.#byName.get(name);
|
|
22
|
+
if (requests === undefined || !requests.delete(request))
|
|
23
|
+
return;
|
|
24
|
+
if (requests.size === 0)
|
|
25
|
+
this.#byName.delete(name);
|
|
26
|
+
}
|
|
27
|
+
/** The host's publication: every request indexed (by any name) runs its check again, out of the index first. */
|
|
28
|
+
wakeAll() {
|
|
29
|
+
const all = [...this.#byName.values()].flatMap((requests) => [...requests]);
|
|
30
|
+
this.#byName.clear();
|
|
31
|
+
for (const request of all)
|
|
32
|
+
request.wake();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A reload's publication: the requests indexed under `names` (the types and registries it serves) run their check
|
|
36
|
+
* again, out of the index first; the others stay (carry-over "Publications wake per name").
|
|
37
|
+
*/
|
|
38
|
+
wake(names) {
|
|
39
|
+
const woken = [];
|
|
40
|
+
for (const name of names) {
|
|
41
|
+
const requests = this.#byName.get(name);
|
|
42
|
+
if (requests === undefined)
|
|
43
|
+
continue;
|
|
44
|
+
this.#byName.delete(name);
|
|
45
|
+
woken.push(...requests);
|
|
46
|
+
}
|
|
47
|
+
for (const request of woken)
|
|
48
|
+
request.wake();
|
|
49
|
+
}
|
|
50
|
+
/** Every indexed request acting for a principal `revoked` names ends with `error`. */
|
|
51
|
+
revoke(revoked, error) {
|
|
52
|
+
for (const requests of [...this.#byName.values()]) {
|
|
53
|
+
for (const request of [...requests]) {
|
|
54
|
+
if (request.principal !== undefined && revoked(request.principal))
|
|
55
|
+
request.end(error);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/** The host closed: every indexed request ends with `error`. */
|
|
60
|
+
close(error) {
|
|
61
|
+
const all = [...this.#byName.values()].flatMap((requests) => [...requests]);
|
|
62
|
+
this.#byName.clear();
|
|
63
|
+
for (const request of all)
|
|
64
|
+
request.end(error);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=unbound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unbound.js","sourceRoot":"","sources":["../../../src/next/host/unbound.ts"],"names":[],"mappings":"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","sourcesContent":["// The unbound index (dependency model §1, §4): the requests a host decided cannot bind yet, by the name they wait for.\n// Before the host's first publication every request made here, and every hold arriving on its links, waits here\n// (`unpublished`); after it, those its check left unbound (`not_served`, `version`): a reference made here, a hold that\n// arrived over a link and was refused for a name. A publication wakes the requests of the names it serves (`load`'s\n// every one, a reload's those of its names); a request\n// leaves when it ends (released, settled, given up, its link or origin closed, revoked) or binds.\n\nimport type { ChordError, Principal } from \"../data/index.ts\";\n\n/** A request in the index: a reference made here or a hold that arrived over a link. */\nexport interface UnboundRequest {\n\t/** Whom it acts for: revocation ends the requests of a revoked principal. */\n\treadonly principal: Principal | undefined;\n\t/** The name it waits for became usable (or the host published): it runs its check again, leaving the index first. */\n\twake(): void;\n\t/** It is revoked, or its host closes: it ends with `error` (a hold sends `gone`), leaving the index. */\n\tend(error: ChordError): void;\n}\n\n/** A host's unbound requests by name. */\nexport class UnboundIndex {\n\treadonly #byName = new Map<string, Set<UnboundRequest>>();\n\n\t/** Indexes `request` under `name` (once; again after a wake). */\n\tadd(name: string, request: UnboundRequest): void {\n\t\tlet requests = this.#byName.get(name);\n\t\tif (requests === undefined) {\n\t\t\trequests = new Set();\n\t\t\tthis.#byName.set(name, requests);\n\t\t}\n\t\trequests.add(request);\n\t}\n\n\t/** `request` ended or binds: it leaves the index. */\n\tdelete(name: string, request: UnboundRequest): void {\n\t\tconst requests = this.#byName.get(name);\n\t\tif (requests === undefined || !requests.delete(request)) return;\n\t\tif (requests.size === 0) this.#byName.delete(name);\n\t}\n\n\t/** The host's publication: every request indexed (by any name) runs its check again, out of the index first. */\n\twakeAll(): void {\n\t\tconst all = [...this.#byName.values()].flatMap((requests) => [...requests]);\n\t\tthis.#byName.clear();\n\t\tfor (const request of all) request.wake();\n\t}\n\n\t/**\n\t * A reload's publication: the requests indexed under `names` (the types and registries it serves) run their check\n\t * again, out of the index first; the others stay (carry-over \"Publications wake per name\").\n\t */\n\twake(names: Iterable<string>): void {\n\t\tconst woken: UnboundRequest[] = [];\n\t\tfor (const name of names) {\n\t\t\tconst requests = this.#byName.get(name);\n\t\t\tif (requests === undefined) continue;\n\t\t\tthis.#byName.delete(name);\n\t\t\twoken.push(...requests);\n\t\t}\n\t\tfor (const request of woken) request.wake();\n\t}\n\n\t/** Every indexed request acting for a principal `revoked` names ends with `error`. */\n\trevoke(revoked: (principal: Principal) => boolean, error: ChordError): void {\n\t\tfor (const requests of [...this.#byName.values()]) {\n\t\t\tfor (const request of [...requests]) {\n\t\t\t\tif (request.principal !== undefined && revoked(request.principal)) request.end(error);\n\t\t\t}\n\t\t}\n\t}\n\n\t/** The host closed: every indexed request ends with `error`. */\n\tclose(error: ChordError): void {\n\t\tconst all = [...this.#byName.values()].flatMap((requests) => [...requests]);\n\t\tthis.#byName.clear();\n\t\tfor (const request of all) request.end(error);\n\t}\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../../src/next/host/uuid.ts"],"names":[],"mappings":"AAUA,6BAA6B;AAC7B,wBAAgB,MAAM,IAAI,MAAM,CA0B/B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// UUIDv7 (§3, code copied from pi-ai's `uuidv7`): time-ordered ids, minted for host incarnations.
|
|
2
|
+
const MAX_SEQUENCE = (1n << 41n) - 1n;
|
|
3
|
+
/** The last timestamp used: a clock going backwards keeps the ids ordered. */
|
|
4
|
+
let lastTimestamp = -1;
|
|
5
|
+
/** A random start, then incremented per id, so ids within one millisecond stay ordered and unique. */
|
|
6
|
+
let sequence;
|
|
7
|
+
/** A time-ordered UUIDv7. */
|
|
8
|
+
export function uuidv7() {
|
|
9
|
+
const timestamp = Math.max(Date.now(), lastTimestamp);
|
|
10
|
+
lastTimestamp = timestamp;
|
|
11
|
+
const bytes = new Uint8Array(16);
|
|
12
|
+
globalThis.crypto.getRandomValues(bytes);
|
|
13
|
+
if (sequence === undefined) {
|
|
14
|
+
sequence =
|
|
15
|
+
(BigInt(bytes[1]) << 32n) |
|
|
16
|
+
(BigInt(bytes[2]) << 24n) |
|
|
17
|
+
(BigInt(bytes[3]) << 16n) |
|
|
18
|
+
(BigInt(bytes[4]) << 8n) |
|
|
19
|
+
BigInt(bytes[5]);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
if (sequence === MAX_SEQUENCE)
|
|
23
|
+
throw new RangeError("UUIDv7 generator sequence exhausted");
|
|
24
|
+
sequence++;
|
|
25
|
+
}
|
|
26
|
+
const time = BigInt(timestamp);
|
|
27
|
+
for (let index = 5; index >= 0; index--)
|
|
28
|
+
bytes[index] = Number(time >> BigInt((5 - index) * 8)) & 0xff;
|
|
29
|
+
bytes[6] = 0x70 | Number((sequence >> 37n) & 0x0fn);
|
|
30
|
+
bytes[7] = Number((sequence >> 29n) & 0xffn);
|
|
31
|
+
bytes[8] = 0x80 | Number((sequence >> 23n) & 0x3fn);
|
|
32
|
+
bytes[9] = Number((sequence >> 15n) & 0xffn);
|
|
33
|
+
bytes[10] = Number((sequence >> 7n) & 0xffn);
|
|
34
|
+
bytes[11] = Number((sequence & 0x7fn) << 1n) | (bytes[11] & 0x01);
|
|
35
|
+
const hex = Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0"));
|
|
36
|
+
return `${hex.slice(0, 4).join("")}-${hex.slice(4, 6).join("")}-${hex.slice(6, 8).join("")}-${hex.slice(8, 10).join("")}-${hex.slice(10).join("")}`;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=uuid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../../src/next/host/uuid.ts"],"names":[],"mappings":"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","sourcesContent":["// UUIDv7 (§3, code copied from pi-ai's `uuidv7`): time-ordered ids, minted for host incarnations.\n\nconst MAX_SEQUENCE = (1n << 41n) - 1n;\n\n/** The last timestamp used: a clock going backwards keeps the ids ordered. */\nlet lastTimestamp = -1;\n\n/** A random start, then incremented per id, so ids within one millisecond stay ordered and unique. */\nlet sequence: bigint | undefined;\n\n/** A time-ordered UUIDv7. */\nexport function uuidv7(): string {\n\tconst timestamp = Math.max(Date.now(), lastTimestamp);\n\tlastTimestamp = timestamp;\n\tconst bytes = new Uint8Array(16);\n\tglobalThis.crypto.getRandomValues(bytes);\n\tif (sequence === undefined) {\n\t\tsequence =\n\t\t\t(BigInt(bytes[1]!) << 32n) |\n\t\t\t(BigInt(bytes[2]!) << 24n) |\n\t\t\t(BigInt(bytes[3]!) << 16n) |\n\t\t\t(BigInt(bytes[4]!) << 8n) |\n\t\t\tBigInt(bytes[5]!);\n\t} else {\n\t\tif (sequence === MAX_SEQUENCE) throw new RangeError(\"UUIDv7 generator sequence exhausted\");\n\t\tsequence++;\n\t}\n\tconst time = BigInt(timestamp);\n\tfor (let index = 5; index >= 0; index--) bytes[index] = Number(time >> BigInt((5 - index) * 8)) & 0xff;\n\tbytes[6] = 0x70 | Number((sequence >> 37n) & 0x0fn);\n\tbytes[7] = Number((sequence >> 29n) & 0xffn);\n\tbytes[8] = 0x80 | Number((sequence >> 23n) & 0x3fn);\n\tbytes[9] = Number((sequence >> 15n) & 0xffn);\n\tbytes[10] = Number((sequence >> 7n) & 0xffn);\n\tbytes[11] = Number((sequence & 0x7fn) << 1n) | (bytes[11]! & 0x01);\n\tconst hex = Array.from(bytes, (byte) => byte.toString(16).padStart(2, \"0\"));\n\treturn `${hex.slice(0, 4).join(\"\")}-${hex.slice(4, 6).join(\"\")}-${hex.slice(6, 8).join(\"\")}-${hex.slice(8, 10).join(\"\")}-${hex.slice(10).join(\"\")}`;\n}\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export * from "./contracts/index.ts";
|
|
2
|
+
export * from "./data/index.ts";
|
|
3
|
+
export * from "./documents/index.ts";
|
|
4
|
+
export * from "./host/index.ts";
|
|
5
|
+
export * from "./jobs/index.ts";
|
|
6
|
+
export * from "./link/index.ts";
|
|
7
|
+
export * from "./registries/index.ts";
|
|
8
|
+
export * from "./state/index.ts";
|
|
9
|
+
/** @internal The store's surface for adapters (slice 6b §2.1). */
|
|
10
|
+
export { type DecodedRow, OwnerTable, StoreOwnerTables } from "./store/adapter.ts";
|
|
11
|
+
/** @internal The sync layer's batch apply (slice 6b §1.6). */
|
|
12
|
+
export { applyBatch } from "./store/apply-batch.ts";
|
|
13
|
+
/** @internal */
|
|
14
|
+
export type { Claimant } from "./store/claims.ts";
|
|
15
|
+
/** @internal */
|
|
16
|
+
export { type DocumentAddress, type DocumentContent, type DocumentEntry, type DocumentHistory, type DocumentPoint, type DocumentRecord, type DocumentScope, findDocument, findDocumentEntry, insertDocument, listDocumentEntries, listDocuments, loadContent, loadDocument, type OwnedDocumentEntry, readDocument, readDocumentEntry, retireRecord, type StoredDocument, writeContent, } from "./store/engine.ts";
|
|
17
|
+
/** @internal */
|
|
18
|
+
export type { WhereNode } from "./store/expression.ts";
|
|
19
|
+
export * from "./store/index.ts";
|
|
20
|
+
/** @internal */
|
|
21
|
+
export type { EncodedRow } from "./store/rows.ts";
|
|
22
|
+
/** @internal */
|
|
23
|
+
export type { Order } from "./store/sql.ts";
|
|
24
|
+
/** @internal */
|
|
25
|
+
export type { StagedWrite, Step } from "./store/step.ts";
|
|
26
|
+
/** @internal */
|
|
27
|
+
export type { ChordStore, SeriesCommit, SeriesResult } from "./store/store.ts";
|
|
28
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAGA,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,kEAAkE;AAClE,OAAO,EAAE,KAAK,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnF,8DAA8D;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,gBAAgB;AAChB,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,gBAAgB;AAChB,OAAO,EACN,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,KAAK,kBAAkB,EACvB,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,KAAK,cAAc,EACnB,YAAY,GACZ,MAAM,mBAAmB,CAAC;AAC3B,gBAAgB;AAChB,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,cAAc,kBAAkB,CAAC;AACjC,gBAAgB;AAChB,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,gBAAgB;AAChB,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,gBAAgB;AAChB,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACzD,gBAAgB;AAChB,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Chord v2 (`@earendil-works/chord/next`, experimental): every layer's API for apps, and the store's surface for
|
|
2
|
+
// adapters (Durable's `StoreStorage`), marked internal.
|
|
3
|
+
export * from "./contracts/index.js";
|
|
4
|
+
export * from "./data/index.js";
|
|
5
|
+
export * from "./documents/index.js";
|
|
6
|
+
export * from "./host/index.js";
|
|
7
|
+
export * from "./jobs/index.js";
|
|
8
|
+
export * from "./link/index.js";
|
|
9
|
+
export * from "./registries/index.js";
|
|
10
|
+
export * from "./state/index.js";
|
|
11
|
+
/** @internal The store's surface for adapters (slice 6b §2.1). */
|
|
12
|
+
export { OwnerTable, StoreOwnerTables } from "./store/adapter.js";
|
|
13
|
+
/** @internal The sync layer's batch apply (slice 6b §1.6). */
|
|
14
|
+
export { applyBatch } from "./store/apply-batch.js";
|
|
15
|
+
/** @internal */
|
|
16
|
+
export { findDocument, findDocumentEntry, insertDocument, listDocumentEntries, listDocuments, loadContent, loadDocument, readDocument, readDocumentEntry, retireRecord, writeContent, } from "./store/engine.js";
|
|
17
|
+
export * from "./store/index.js";
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA,iHAAiH;AACjH,wDAAwD;AAExD,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,kEAAkE;AAClE,OAAO,EAAmB,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnF,8DAA8D;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,gBAAgB;AAChB,OAAO,EAQN,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,YAAY,EAEZ,YAAY,EACZ,iBAAiB,EACjB,YAAY,EAEZ,YAAY,GACZ,MAAM,mBAAmB,CAAC;AAG3B,cAAc,kBAAkB,CAAC","sourcesContent":["// Chord v2 (`@earendil-works/chord/next`, experimental): every layer's API for apps, and the store's surface for\n// adapters (Durable's `StoreStorage`), marked internal.\n\nexport * from \"./contracts/index.ts\";\nexport * from \"./data/index.ts\";\nexport * from \"./documents/index.ts\";\nexport * from \"./host/index.ts\";\nexport * from \"./jobs/index.ts\";\nexport * from \"./link/index.ts\";\nexport * from \"./registries/index.ts\";\nexport * from \"./state/index.ts\";\n/** @internal The store's surface for adapters (slice 6b §2.1). */\nexport { type DecodedRow, OwnerTable, StoreOwnerTables } from \"./store/adapter.ts\";\n/** @internal The sync layer's batch apply (slice 6b §1.6). */\nexport { applyBatch } from \"./store/apply-batch.ts\";\n/** @internal */\nexport type { Claimant } from \"./store/claims.ts\";\n/** @internal */\nexport {\n\ttype DocumentAddress,\n\ttype DocumentContent,\n\ttype DocumentEntry,\n\ttype DocumentHistory,\n\ttype DocumentPoint,\n\ttype DocumentRecord,\n\ttype DocumentScope,\n\tfindDocument,\n\tfindDocumentEntry,\n\tinsertDocument,\n\tlistDocumentEntries,\n\tlistDocuments,\n\tloadContent,\n\tloadDocument,\n\ttype OwnedDocumentEntry,\n\treadDocument,\n\treadDocumentEntry,\n\tretireRecord,\n\ttype StoredDocument,\n\twriteContent,\n} from \"./store/engine.ts\";\n/** @internal */\nexport type { WhereNode } from \"./store/expression.ts\";\nexport * from \"./store/index.ts\";\n/** @internal */\nexport type { EncodedRow } from \"./store/rows.ts\";\n/** @internal */\nexport type { Order } from \"./store/sql.ts\";\n/** @internal */\nexport type { StagedWrite, Step } from \"./store/step.ts\";\n/** @internal */\nexport type { ChordStore, SeriesCommit, SeriesResult } from \"./store/store.ts\";\n"]}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { Schema, Static } from "../contracts/index.ts";
|
|
2
|
+
import { type Snapshot } from "../contracts/snapshot.ts";
|
|
3
|
+
import type { ChordError, PluginError } from "../data/index.ts";
|
|
4
|
+
import type { JsonObject, StateDefinition } from "../documents/index.ts";
|
|
5
|
+
/** What `defineJob` takes besides the name. */
|
|
6
|
+
export type JobOptions<A extends Schema, R extends Schema, D extends StateDefinition<JsonObject, false, boolean> | undefined> = {
|
|
7
|
+
/** The job's version; every change of its args, result or state bumps it. */
|
|
8
|
+
readonly version: number;
|
|
9
|
+
/** The run's arguments: closed objects, JSON only (`running` carries them), checked at every start. */
|
|
10
|
+
readonly args: A;
|
|
11
|
+
/** What `run` returns; not validated. */
|
|
12
|
+
readonly result: R;
|
|
13
|
+
/**
|
|
14
|
+
* A singleton document definition: one document per run, `ctx.state` in `run`, `outcome.state` in `finish`; a
|
|
15
|
+
* persisted job's is persisted (`persist: true`, its `checkpointWhen`).
|
|
16
|
+
*/
|
|
17
|
+
readonly state?: D;
|
|
18
|
+
/** At most this many runs running or finishing per object; a start beyond it rejects `unavailable/busy`. */
|
|
19
|
+
readonly concurrency?: number;
|
|
20
|
+
/** Per older version, how its args and result map forwards (used from slice 7 on; checked now). */
|
|
21
|
+
readonly accepts?: JobAccepts<A, R>;
|
|
22
|
+
/**
|
|
23
|
+
* Persists the runs in the object's store (slice 6b; only in `local` types with empty params, P3): how a run cut
|
|
24
|
+
* off by a crash or a stop resumes, `rerun` (its `run` again: idempotent work) or `abandon` (`finish` gets `failed {
|
|
25
|
+
* aborted, reason: "restart" }`). Its result is JSON only (no `bytes()`).
|
|
26
|
+
*/
|
|
27
|
+
readonly persist?: JobPersistence;
|
|
28
|
+
};
|
|
29
|
+
/** How a persisted job's runs resume after a crash or a stop. */
|
|
30
|
+
export type JobPersistence = {
|
|
31
|
+
readonly resume: "rerun" | "abandon";
|
|
32
|
+
};
|
|
33
|
+
/** Per older version, its mappings forwards: its args to the current args, its result to the current result. */
|
|
34
|
+
export type JobAccepts<A extends Schema = Schema, R extends Schema = Schema> = {
|
|
35
|
+
readonly [version: number]: {
|
|
36
|
+
readonly args: (old: never) => Static<A>;
|
|
37
|
+
readonly result: (old: never) => Static<R>;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
/** The value of a job's state document: the definition's document, `undefined` without one. */
|
|
41
|
+
type StateOf<D> = D extends StateDefinition<infer T, false, boolean> ? T : undefined;
|
|
42
|
+
/** What a run ended with, as `finish` and `outcome` get it: its args and state, and its result or its error. */
|
|
43
|
+
export type Outcome<A, R, S> = {
|
|
44
|
+
readonly id: string;
|
|
45
|
+
readonly args: A;
|
|
46
|
+
readonly state: S;
|
|
47
|
+
} & ({
|
|
48
|
+
readonly kind: "done";
|
|
49
|
+
readonly result: R;
|
|
50
|
+
} | {
|
|
51
|
+
readonly kind: "failed";
|
|
52
|
+
readonly error: JobError;
|
|
53
|
+
});
|
|
54
|
+
/**
|
|
55
|
+
* Why a run failed: `run` threw (reported as `job_failed`; anything but a ChordError or PluginError becomes a
|
|
56
|
+
* PluginError `internal` with its message), it was aborted (`abort`: `abort(id)`; `restart`: cut off by its attempt's
|
|
57
|
+
* seal while the object continues, or a persisted run abandoned after a crash; `reload` comes with slice 7), or a
|
|
58
|
+
* persisted run was cut off five times in a row (`restart_limit`, D6).
|
|
59
|
+
*/
|
|
60
|
+
export type JobError = {
|
|
61
|
+
readonly kind: "threw";
|
|
62
|
+
readonly error: ChordError | PluginError;
|
|
63
|
+
} | {
|
|
64
|
+
readonly kind: "aborted";
|
|
65
|
+
readonly reason: "abort" | "reload" | "restart";
|
|
66
|
+
} | {
|
|
67
|
+
readonly kind: "restart_limit";
|
|
68
|
+
readonly restarts: number;
|
|
69
|
+
};
|
|
70
|
+
/** Declares a job: owned work a call starts that outlives it (§15). */
|
|
71
|
+
export declare function defineJob<const A extends Schema, const R extends Schema, D extends StateDefinition<JsonObject, false, boolean> | undefined = undefined>(name: string, options: JobOptions<A, R, D>): JobDefinition<Static<A>, Static<R>, StateOf<D>>;
|
|
72
|
+
/** A declared job; `A`, `R` and `S` are its args, result and state document (`undefined` without one). */
|
|
73
|
+
export declare class JobDefinition<A, R, S> {
|
|
74
|
+
readonly name: string;
|
|
75
|
+
readonly version: number;
|
|
76
|
+
/** The args schema, Chord's copy; its compiled check is cached by this snapshot. */
|
|
77
|
+
readonly args: Snapshot;
|
|
78
|
+
readonly result: Snapshot;
|
|
79
|
+
readonly state: StateDefinition<JsonObject, false, boolean> | undefined;
|
|
80
|
+
readonly concurrency: number | undefined;
|
|
81
|
+
/** The older versions' mappings, checked at declaration; slice 7 maps older runs with them. */
|
|
82
|
+
readonly accepts: JobAccepts;
|
|
83
|
+
/** How its runs persist; `undefined` for a job in memory. */
|
|
84
|
+
readonly persist: JobPersistence | undefined;
|
|
85
|
+
/** `hash64` of its args', result's and state's normal forms: a stored run of another fingerprint is blocked. */
|
|
86
|
+
readonly fingerprint: string;
|
|
87
|
+
/** Type only: the args, result and state types. */
|
|
88
|
+
readonly "~types"?: {
|
|
89
|
+
readonly args: A;
|
|
90
|
+
readonly result: R;
|
|
91
|
+
readonly state: S;
|
|
92
|
+
};
|
|
93
|
+
constructor(name: string, version: number, args: Snapshot, result: Snapshot, state: StateDefinition<JsonObject, false, boolean> | undefined, concurrency: number | undefined, accepts: JobAccepts, persist: JobPersistence | undefined, fingerprint: string);
|
|
94
|
+
}
|
|
95
|
+
export {};
|
|
96
|
+
//# sourceMappingURL=definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../src/next/jobs/definition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// Job definitions (§15): `defineJob(name, …)`, the checks of a declaration, and the types of what a run ends with.
|
|
2
|
+
import { checkKeys, entriesOf } from "../contracts/declare.js";
|
|
3
|
+
import { checkName, hash64 } from "../contracts/internal.js";
|
|
4
|
+
import { snapshotArguments, snapshotSchema } from "../contracts/snapshot.js";
|
|
5
|
+
/** Declares a job: owned work a call starts that outlives it (§15). */
|
|
6
|
+
export function defineJob(name, options) {
|
|
7
|
+
// Declaration policy: JavaScript callers reach every check below.
|
|
8
|
+
checkName(name, "A job name");
|
|
9
|
+
checkKeys(options, ["version", "args", "result", "state", "concurrency", "accepts", "persist"], name);
|
|
10
|
+
const { version, state, concurrency, accepts, persist } = options;
|
|
11
|
+
if (!Number.isSafeInteger(version) || version < 1)
|
|
12
|
+
throw new Error(`${name}.version: expected a positive integer`);
|
|
13
|
+
const args = snapshotArguments(options.args, `${name}.args`);
|
|
14
|
+
if (args.bytes)
|
|
15
|
+
throw new Error(`${name}.args: job arguments are JSON (running carries them); no bytes()`);
|
|
16
|
+
const result = snapshotSchema(options.result, `${name}.result`);
|
|
17
|
+
if (state?.keyed)
|
|
18
|
+
throw new Error(`${name}.state: expected a singleton document definition`);
|
|
19
|
+
if (persist !== undefined)
|
|
20
|
+
checkPersistence(persist, state, result, name);
|
|
21
|
+
if (concurrency !== undefined && !(Number.isSafeInteger(concurrency) && concurrency > 0)) {
|
|
22
|
+
throw new Error(`${name}.concurrency: expected a positive integer`);
|
|
23
|
+
}
|
|
24
|
+
if (accepts !== undefined)
|
|
25
|
+
checkJobAccepts(accepts, version, `${name}.accepts`);
|
|
26
|
+
const fingerprint = hash64(JSON.stringify({ args: args.normal, result: result.normal, state: state?.fingerprint ?? null }));
|
|
27
|
+
return new JobDefinition(name, version, args, result, state, concurrency, accepts ?? {}, persist, fingerprint);
|
|
28
|
+
}
|
|
29
|
+
/** A persisted job's declaration: a resume rule, a persisted state document (if any), a JSON-only result. */
|
|
30
|
+
function checkPersistence(persist, state, result, name) {
|
|
31
|
+
checkKeys(persist, ["resume"], `${name}.persist`);
|
|
32
|
+
const { resume } = persist;
|
|
33
|
+
if (resume !== "rerun" && resume !== "abandon")
|
|
34
|
+
throw new Error(`${name}.persist.resume: expected "rerun" or "abandon"`);
|
|
35
|
+
if (state !== undefined && !state.persist) {
|
|
36
|
+
throw new Error(`${name}.state: a persisted job's state is a persisted document (persist: true)`);
|
|
37
|
+
}
|
|
38
|
+
if (result.bytes)
|
|
39
|
+
throw new Error(`${name}.result: a persisted job's result is JSON (it is stored); no bytes()`);
|
|
40
|
+
}
|
|
41
|
+
/** Checks an accepts table's shape: older versions only, each with an `args` and a `result` function. */
|
|
42
|
+
function checkJobAccepts(accepts, version, path) {
|
|
43
|
+
for (const [key, adapter] of entriesOf(accepts, path)) {
|
|
44
|
+
const older = Number(key);
|
|
45
|
+
if (!Number.isSafeInteger(older) || older < 1 || older >= version) {
|
|
46
|
+
throw new Error(`${path}[${key}]: not an older version`);
|
|
47
|
+
}
|
|
48
|
+
checkKeys(adapter, ["args", "result"], `${path}[${key}]`);
|
|
49
|
+
const { args, result } = adapter;
|
|
50
|
+
if (typeof args !== "function")
|
|
51
|
+
throw new Error(`${path}[${key}].args: expected a function`);
|
|
52
|
+
if (typeof result !== "function")
|
|
53
|
+
throw new Error(`${path}[${key}].result: expected a function`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/** A declared job; `A`, `R` and `S` are its args, result and state document (`undefined` without one). */
|
|
57
|
+
export class JobDefinition {
|
|
58
|
+
name;
|
|
59
|
+
version;
|
|
60
|
+
/** The args schema, Chord's copy; its compiled check is cached by this snapshot. */
|
|
61
|
+
args;
|
|
62
|
+
result;
|
|
63
|
+
state;
|
|
64
|
+
concurrency;
|
|
65
|
+
/** The older versions' mappings, checked at declaration; slice 7 maps older runs with them. */
|
|
66
|
+
accepts;
|
|
67
|
+
/** How its runs persist; `undefined` for a job in memory. */
|
|
68
|
+
persist;
|
|
69
|
+
/** `hash64` of its args', result's and state's normal forms: a stored run of another fingerprint is blocked. */
|
|
70
|
+
fingerprint;
|
|
71
|
+
constructor(name, version, args, result, state, concurrency, accepts, persist, fingerprint) {
|
|
72
|
+
this.name = name;
|
|
73
|
+
this.version = version;
|
|
74
|
+
this.args = args;
|
|
75
|
+
this.result = result;
|
|
76
|
+
this.state = state;
|
|
77
|
+
this.concurrency = concurrency;
|
|
78
|
+
this.accepts = accepts;
|
|
79
|
+
this.persist = persist;
|
|
80
|
+
this.fingerprint = fingerprint;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../src/next/jobs/definition.ts"],"names":[],"mappings":"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","sourcesContent":["// Job definitions (§15): `defineJob(name, …)`, the checks of a declaration, and the types of what a run ends with.\n\nimport { checkKeys, entriesOf } from \"../contracts/declare.ts\";\nimport type { Schema, Static } from \"../contracts/index.ts\";\nimport { checkName, hash64 } from \"../contracts/internal.ts\";\nimport { type Snapshot, snapshotArguments, snapshotSchema } from \"../contracts/snapshot.ts\";\nimport type { ChordError, PluginError } from \"../data/index.ts\";\nimport type { JsonObject, StateDefinition } from \"../documents/index.ts\";\n\n/** What `defineJob` takes besides the name. */\nexport type JobOptions<\n\tA extends Schema,\n\tR extends Schema,\n\tD extends StateDefinition<JsonObject, false, boolean> | undefined,\n> = {\n\t/** The job's version; every change of its args, result or state bumps it. */\n\treadonly version: number;\n\t/** The run's arguments: closed objects, JSON only (`running` carries them), checked at every start. */\n\treadonly args: A;\n\t/** What `run` returns; not validated. */\n\treadonly result: R;\n\t/**\n\t * A singleton document definition: one document per run, `ctx.state` in `run`, `outcome.state` in `finish`; a\n\t * persisted job's is persisted (`persist: true`, its `checkpointWhen`).\n\t */\n\treadonly state?: D;\n\t/** At most this many runs running or finishing per object; a start beyond it rejects `unavailable/busy`. */\n\treadonly concurrency?: number;\n\t/** Per older version, how its args and result map forwards (used from slice 7 on; checked now). */\n\treadonly accepts?: JobAccepts<A, R>;\n\t/**\n\t * Persists the runs in the object's store (slice 6b; only in `local` types with empty params, P3): how a run cut\n\t * off by a crash or a stop resumes, `rerun` (its `run` again: idempotent work) or `abandon` (`finish` gets `failed {\n\t * aborted, reason: \"restart\" }`). Its result is JSON only (no `bytes()`).\n\t */\n\treadonly persist?: JobPersistence;\n};\n\n/** How a persisted job's runs resume after a crash or a stop. */\nexport type JobPersistence = { readonly resume: \"rerun\" | \"abandon\" };\n\n/** Per older version, its mappings forwards: its args to the current args, its result to the current result. */\nexport type JobAccepts<A extends Schema = Schema, R extends Schema = Schema> = {\n\treadonly [version: number]: { readonly args: (old: never) => Static<A>; readonly result: (old: never) => Static<R> };\n};\n\n/** The value of a job's state document: the definition's document, `undefined` without one. */\ntype StateOf<D> = D extends StateDefinition<infer T, false, boolean> ? T : undefined;\n\n/** What a run ended with, as `finish` and `outcome` get it: its args and state, and its result or its error. */\nexport type Outcome<A, R, S> = { readonly id: string; readonly args: A; readonly state: S } & (\n\t| { readonly kind: \"done\"; readonly result: R }\n\t| { readonly kind: \"failed\"; readonly error: JobError }\n);\n\n/**\n * Why a run failed: `run` threw (reported as `job_failed`; anything but a ChordError or PluginError becomes a\n * PluginError `internal` with its message), it was aborted (`abort`: `abort(id)`; `restart`: cut off by its attempt's\n * seal while the object continues, or a persisted run abandoned after a crash; `reload` comes with slice 7), or a\n * persisted run was cut off five times in a row (`restart_limit`, D6).\n */\nexport type JobError =\n\t| { readonly kind: \"threw\"; readonly error: ChordError | PluginError }\n\t| { readonly kind: \"aborted\"; readonly reason: \"abort\" | \"reload\" | \"restart\" }\n\t| { readonly kind: \"restart_limit\"; readonly restarts: number };\n\n/** Declares a job: owned work a call starts that outlives it (§15). */\nexport function defineJob<\n\tconst A extends Schema,\n\tconst R extends Schema,\n\tD extends StateDefinition<JsonObject, false, boolean> | undefined = undefined,\n>(name: string, options: JobOptions<A, R, D>): JobDefinition<Static<A>, Static<R>, StateOf<D>> {\n\t// Declaration policy: JavaScript callers reach every check below.\n\tcheckName(name, \"A job name\");\n\tcheckKeys(options, [\"version\", \"args\", \"result\", \"state\", \"concurrency\", \"accepts\", \"persist\"], name);\n\tconst { version, state, concurrency, accepts, persist } = options;\n\tif (!Number.isSafeInteger(version) || version < 1) throw new Error(`${name}.version: expected a positive integer`);\n\tconst args = snapshotArguments(options.args, `${name}.args`);\n\tif (args.bytes) throw new Error(`${name}.args: job arguments are JSON (running carries them); no bytes()`);\n\tconst result = snapshotSchema(options.result, `${name}.result`);\n\tif (state?.keyed) throw new Error(`${name}.state: expected a singleton document definition`);\n\tif (persist !== undefined) checkPersistence(persist, state, result, name);\n\tif (concurrency !== undefined && !(Number.isSafeInteger(concurrency) && concurrency > 0)) {\n\t\tthrow new Error(`${name}.concurrency: expected a positive integer`);\n\t}\n\tif (accepts !== undefined) checkJobAccepts(accepts, version, `${name}.accepts`);\n\tconst fingerprint = hash64(\n\t\tJSON.stringify({ args: args.normal, result: result.normal, state: state?.fingerprint ?? null }),\n\t);\n\treturn new JobDefinition(name, version, args, result, state, concurrency, accepts ?? {}, persist, fingerprint);\n}\n\n/** A persisted job's declaration: a resume rule, a persisted state document (if any), a JSON-only result. */\nfunction checkPersistence(\n\tpersist: unknown,\n\tstate: StateDefinition<JsonObject, false, boolean> | undefined,\n\tresult: Snapshot,\n\tname: string,\n): void {\n\tcheckKeys(persist, [\"resume\"], `${name}.persist`);\n\tconst { resume } = persist as { readonly resume?: unknown };\n\tif (resume !== \"rerun\" && resume !== \"abandon\")\n\t\tthrow new Error(`${name}.persist.resume: expected \"rerun\" or \"abandon\"`);\n\tif (state !== undefined && !state.persist) {\n\t\tthrow new Error(`${name}.state: a persisted job's state is a persisted document (persist: true)`);\n\t}\n\tif (result.bytes) throw new Error(`${name}.result: a persisted job's result is JSON (it is stored); no bytes()`);\n}\n\n/** Checks an accepts table's shape: older versions only, each with an `args` and a `result` function. */\nfunction checkJobAccepts(accepts: unknown, version: number, path: string): void {\n\tfor (const [key, adapter] of entriesOf(accepts, path)) {\n\t\tconst older = Number(key);\n\t\tif (!Number.isSafeInteger(older) || older < 1 || older >= version) {\n\t\t\tthrow new Error(`${path}[${key}]: not an older version`);\n\t\t}\n\t\tcheckKeys(adapter, [\"args\", \"result\"], `${path}[${key}]`);\n\t\tconst { args, result } = adapter as { readonly args?: unknown; readonly result?: unknown };\n\t\tif (typeof args !== \"function\") throw new Error(`${path}[${key}].args: expected a function`);\n\t\tif (typeof result !== \"function\") throw new Error(`${path}[${key}].result: expected a function`);\n\t}\n}\n\n/** A declared job; `A`, `R` and `S` are its args, result and state document (`undefined` without one). */\nexport class JobDefinition<A, R, S> {\n\treadonly name: string;\n\treadonly version: number;\n\t/** The args schema, Chord's copy; its compiled check is cached by this snapshot. */\n\treadonly args: Snapshot;\n\treadonly result: Snapshot;\n\treadonly state: StateDefinition<JsonObject, false, boolean> | undefined;\n\treadonly concurrency: number | undefined;\n\t/** The older versions' mappings, checked at declaration; slice 7 maps older runs with them. */\n\treadonly accepts: JobAccepts;\n\t/** How its runs persist; `undefined` for a job in memory. */\n\treadonly persist: JobPersistence | undefined;\n\t/** `hash64` of its args', result's and state's normal forms: a stored run of another fingerprint is blocked. */\n\treadonly fingerprint: string;\n\t/** Type only: the args, result and state types. */\n\tdeclare readonly \"~types\"?: { readonly args: A; readonly result: R; readonly state: S };\n\n\tconstructor(\n\t\tname: string,\n\t\tversion: number,\n\t\targs: Snapshot,\n\t\tresult: Snapshot,\n\t\tstate: StateDefinition<JsonObject, false, boolean> | undefined,\n\t\tconcurrency: number | undefined,\n\t\taccepts: JobAccepts,\n\t\tpersist: JobPersistence | undefined,\n\t\tfingerprint: string,\n\t) {\n\t\tthis.name = name;\n\t\tthis.version = version;\n\t\tthis.args = args;\n\t\tthis.result = result;\n\t\tthis.state = state;\n\t\tthis.concurrency = concurrency;\n\t\tthis.accepts = accepts;\n\t\tthis.persist = persist;\n\t\tthis.fingerprint = fingerprint;\n\t}\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { defineJob, type JobAccepts, type JobDefinition, type JobError, type JobOptions, type Outcome, } from "./definition.ts";
|
|
2
|
+
export type { JobCtx, JobHandle, JobImplementation, RunState, StartOptions } from "./job.ts";
|
|
3
|
+
export type { BlockedReason, Run } from "./run.ts";
|
|
4
|
+
export type { RunningEntry } from "./running.ts";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/next/jobs/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,SAAS,EACT,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,OAAO,GACZ,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7F,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/next/jobs/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,OAAO,EACN,SAAS,GAMT,MAAM,iBAAiB,CAAC","sourcesContent":["// Jobs for apps: declaring a job, its handle, its runs, their outcomes and `running`.\n\nexport {\n\tdefineJob,\n\ttype JobAccepts,\n\ttype JobDefinition,\n\ttype JobError,\n\ttype JobOptions,\n\ttype Outcome,\n} from \"./definition.ts\";\nexport type { JobCtx, JobHandle, JobImplementation, RunState, StartOptions } from \"./job.ts\";\nexport type { BlockedReason, Run } from \"./run.ts\";\nexport type { RunningEntry } from \"./running.ts\";\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/next/jobs/internal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/next/jobs/internal.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAE9G,OAAO,EAA6C,GAAG,EAAiB,MAAM,UAAU,CAAC;AACzF,OAAO,EAAE,UAAU,EAAqB,MAAM,cAAc,CAAC","sourcesContent":["// Jobs for Chord's layers: a job's records on its object and the handle an attempt keeps, and what they need.\n\nexport { type AnyJobImplementation, type CutReason, Job, type JobOwner } from \"./job.ts\";\nexport { JobRecords, type RecordsOwner } from \"./records.ts\";\n"]}
|