@earendil-works/chord 1.3.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 +54 -0
- package/README.md +129 -10
- 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 +8 -0
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +15 -0
- 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 +9 -3
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +21 -9
- 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 +54 -0
- package/dist/sqlite/cloudflare.d.ts.map +1 -0
- package/dist/sqlite/cloudflare.js +144 -0
- package/dist/sqlite/cloudflare.js.map +1 -0
- package/dist/sqlite/database.d.ts +40 -0
- package/dist/sqlite/database.d.ts.map +1 -0
- package/dist/sqlite/database.js +2 -0
- package/dist/sqlite/database.js.map +1 -0
- package/dist/sqlite/index.d.ts +4 -0
- package/dist/sqlite/index.d.ts.map +1 -0
- package/dist/sqlite/index.js +3 -0
- package/dist/sqlite/index.js.map +1 -0
- package/dist/sqlite/migrations.d.ts +10 -0
- package/dist/sqlite/migrations.d.ts.map +1 -0
- package/dist/sqlite/migrations.js +33 -0
- package/dist/sqlite/migrations.js.map +1 -0
- package/dist/sqlite/node.d.ts +41 -0
- package/dist/sqlite/node.d.ts.map +1 -0
- package/dist/sqlite/node.js +191 -0
- package/dist/sqlite/node.js.map +1 -0
- package/dist/sqlite/schema.d.ts +3 -0
- package/dist/sqlite/schema.d.ts.map +1 -0
- package/dist/sqlite/schema.js +10 -0
- package/dist/sqlite/schema.js.map +1 -0
- package/dist/telemetry-sqlite/index.d.ts +24 -0
- package/dist/telemetry-sqlite/index.d.ts.map +1 -0
- package/dist/telemetry-sqlite/index.js +273 -0
- package/dist/telemetry-sqlite/index.js.map +1 -0
- package/dist/telemetry-sqlite/store.d.ts +9 -0
- package/dist/telemetry-sqlite/store.d.ts.map +1 -0
- package/dist/telemetry-sqlite/store.js +110 -0
- package/dist/telemetry-sqlite/store.js.map +1 -0
- package/dist/watch.d.ts +194 -0
- package/dist/watch.d.ts.map +1 -0
- package/dist/watch.js +383 -0
- package/dist/watch.js.map +1 -0
- package/dist/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 +42 -5
- package/src/delta/README.md +69 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workers.js","sourceRoot":"","sources":["../../../src/next-node/workers/workers.ts"],"names":[],"mappings":"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","sourcesContent":["// The workers component (slice 10 §3, §4; decision \"Slice 10's points\"): a forked worker process per address of one\n// host kind, started on demand by the route it owns, stopped when idle, never restarted by itself (R2): a crash, a\n// `fatal`, a link lost while its child lives or a failed start leaves the address failed until `retry` or a rollout.\n// Per address, a child's events are recorded on that child as they happen; starts and stops run one after another.\n\nimport type { Context } from \"../../context/index.ts\";\nimport { awaitWithContext, BACKGROUND_CONTEXT, withAbortSignal } from \"../../context/index.ts\";\nimport type { JsonValue } from \"../../json.ts\";\nimport type { Address, HostKind, KindShape } from \"../../next/contracts/index.ts\";\nimport type { Params } from \"../../next/contracts/internal.ts\";\nimport { ChordError, type Principal } from \"../../next/data/index.ts\";\nimport type { Host, RouteHandle } from \"../../next/host/index.ts\";\nimport { Batch, type BatchError, Source } from \"../../next/state/internal.ts\";\nimport type { Watchable } from \"../../watch.ts\";\nimport type { Plugins, RolloutHost, RolloutStep } from \"../plugins/plugins.ts\";\nimport type { PluginScript } from \"../plugins/runtime.ts\";\nimport { type CrossedError, type CrossedReport, type FromWorker, uncrossed, uncrossedReport } from \"./control.ts\";\nimport { type Exit, WorkerProcess } from \"./process.ts\";\n\n/** What `createWorkers` takes. `kind`, `entry`, `execArgv` and `env` are bootstrap; the functions are called per use. */\nexport type WorkersOptions<P extends Principal, K extends KindShape> = {\n\t/** The facet kind its workers load (`\"worker\"`), shipped by the plugins component. */\n\treadonly kind: string;\n\t/** The worker's entry module (it calls `workerMain`), its Node flags and its environment. */\n\treadonly entry: string;\n\treadonly execArgv?: readonly string[];\n\treadonly env?: Readonly<Record<string, string>>;\n\t/** The route's `authorize`: whether `principal` may reach `address` (synchronous). */\n\treadonly authorize: (principal: P, address: Address<K>) => boolean;\n\t/** Who the worker at `address` is (stamped on its link). */\n\treadonly principal: (address: Address<K>) => P;\n\t/** The worker's start data (JSON), before each start; abortable (`close`), a throw fails the start. */\n\treadonly start: (address: Address<K>, context: Context) => Promise<JsonValue> | JsonValue;\n\t/** The lock one live worker of `address` holds (across processes). */\n\treadonly lock: (address: Address<K>) => string;\n\t/** How long a worker idles before it is stopped: 5 minutes by default. */\n\treadonly idleMs?: () => number;\n\treadonly plugins: Plugins;\n\t/** A worker's output; without it, mirrored to this process's own. */\n\treadonly onOutput?: (address: Address<K>, stream: \"stdout\" | \"stderr\", chunk: Uint8Array) => void;\n\treadonly onError: (error: WorkersError) => void;\n};\n\n/**\n * One address's worker (R5): running or on its way, or failed (until `retry` or a rollout) with a public error: a fixed\n * message (`worker failed to start`, `worker exited (SIGSEGV)`) or the child's redacted `fatal`.\n */\nexport type WorkerState =\n\t| { readonly status: \"starting\" | \"running\" | \"stopping\"; readonly pid: number; readonly startedAt: number }\n\t| { readonly status: \"failed\"; readonly error: CrossedError; readonly at: number };\n\n/** What the component reports (and the state's watch listeners that threw). */\nexport type WorkersError =\n\t| {\n\t\t\treadonly kind: \"worker_failed\";\n\t\t\treadonly address: string;\n\t\t\t/** The full error (a start's throw, a crash, the child's `fatal`): for the app's logs, never public. */\n\t\t\treadonly error: unknown;\n\t\t\treadonly stderrTail?: string;\n\t }\n\t| {\n\t\t\t/** The app's `authorize` threw: the hold is refused (`forbidden`), the error stays private. */\n\t\t\treadonly kind: \"authorize_failed\";\n\t\t\treadonly address: string;\n\t\t\treadonly error: unknown;\n\t }\n\t| {\n\t\t\treadonly kind: \"worker_exited\";\n\t\t\treadonly address: string;\n\t\t\treadonly code: number | null;\n\t\t\treadonly signal: string | null;\n\t }\n\t| BatchError;\n\n/** The workers component. */\nexport interface Workers<K extends KindShape> {\n\t/** Per address key its `WorkerState`; no entry when stopped or never started. A JSON watchable. */\n\treadonly state: Watchable<Readonly<Record<string, WorkerState>>>;\n\t/** Suspends `address` while it has holders (`RouteHandle.suspend`), then stops its worker. */\n\tstop(address: Address<K>, context: Context): Promise<void>;\n\t/** Clears `address`'s failure and suspension: it starts again now if held (`RouteHandle.retry`). */\n\tretry(address: Address<K>, context: Context): Promise<void>;\n\t/** A rollout step shipping the kind's current set to every worker, one result per worker (§4). */\n\tstep(name: string): RolloutStep;\n\t/** Cancels starts, stops every worker; new starts reject `released/closed`. */\n\tclose(context: Context): Promise<void>;\n}\n\n/** Creates the workers component on `host`: it routes `Kind` itself (`host.route`, before `load`). */\nexport function createWorkers<P extends Principal, N extends string, Q extends Params>(\n\thost: Host<P>,\n\tKind: HostKind<N, Q>,\n\toptions: WorkersOptions<P, HostKind<N, Q>>,\n\tcontext: Context,\n): Workers<HostKind<N, Q>> {\n\t// Its addresses are `Address<HostKind<N, Q>>`, as the route hands them over.\n\tconst component = new WorkersComponent(options as unknown as WorkersOptions<Principal, HostKind>, context);\n\tconst route = host.route(\n\t\tKind,\n\t\t{\n\t\t\tauthorize: (principal, address) => {\n\t\t\t\t// A throw would reach the holder as the hold's failure: the app's error stays private.\n\t\t\t\ttry {\n\t\t\t\t\treturn options.authorize(principal, address);\n\t\t\t\t} catch (error) {\n\t\t\t\t\toptions.onError({ kind: \"authorize_failed\", address: address.key, error });\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\t// The principal is `options.principal`'s, a `P`.\n\t\t\tresolve: (address, routing) =>\n\t\t\t\tcomponent.resolve(address, routing) as Promise<{ link: Link; principal: P; trusted: true }>,\n\t\t},\n\t\tcontext,\n\t);\n\tcomponent.route = route as unknown as RouteHandle<HostKind>;\n\treturn component as unknown as Workers<HostKind<N, Q>>;\n}\n\n/**\n * A failure an address keeps until `retry` or a rollout: what the public sees (a fixed message, or the child's redacted\n * `fatal`; decision \"Slice 10 fix round, worker errors in public\") and when.\n */\ntype Failure = { readonly error: CrossedError; readonly at: number };\n\n/**\n * Why a child fails when it exits, recorded as it happens: a start that failed, a `fatal`, a lost link. `error` is the\n * full error (`onError` only); `public` what holders and `state` get (a fixed one from the exit when absent).\n */\ntype Cause = {\n\treadonly error: unknown;\n\treadonly public?: CrossedError;\n\t/** The component ended the child itself (a failed start): its exit is no `worker_exited`. */\n\treadonly killed?: true;\n};\n\n/** How a child's reloads end once it is gone: stopped cleanly (a stop's exit) or with an error. */\ntype Ended = { readonly kind: \"stopped\" } | { readonly kind: \"failed\"; readonly error: unknown };\n\n/** One worker process of an address, with what its events recorded. */\ntype Child = {\n\treadonly process: WorkerProcess;\n\tstatus: \"starting\" | \"running\" | \"stopping\";\n\t/** A stop was asked for: its exit is no crash. */\n\tstopping: boolean;\n\tcause: Cause | undefined;\n\t/** `started`: the app's host listens on its link. */\n\treadonly started: PromiseWithResolvers<void>;\n\t/** `ready`: its load report; rejected when it exits before. */\n\treadonly ready: PromiseWithResolvers<CrossedReport>;\n\t/** Since when it is idle (from `ready`); `undefined` while busy or before `ready`. */\n\tidleSince: number | undefined;\n\t/** An idle stop is queued (checked again when it runs). */\n\tidleStop: boolean;\n\t/** The set its start message or its last reload that applied without failures carried. */\n\tshipped: string;\n\t/** Its reloads, one outstanding at a time; settles to nothing (a report kept as its value would stay alive). */\n\treloading: Promise<void>;\n\t/** The waiter of its outstanding reload. */\n\treloaded: ((reply: Extract<FromWorker, { readonly kind: \"reloaded\" }>) => void) | undefined;\n\t/** Set once its link is gone or it exited: every reload queued behind settles with it. */\n\tended: Ended | undefined;\n\t/** The grace timer of a stop or of a lost link. */\n\tgrace: ReturnType<typeof setTimeout> | undefined;\n};\n\n/** One address: its operations in a queue, its child, its failure. Kept while it has any of them. */\ntype Routed = {\n\treadonly address: Address<HostKind>;\n\tqueue: Promise<void>;\n\tpending: number;\n\tchild: Child | undefined;\n\tfailure: Failure | undefined;\n\t/** A start was queued and has not settled. */\n\tstarting: Promise<unknown> | undefined;\n};\n\n/** Starts a worker may take until `started` (fork, lock, connect): 60 s. */\nconst START_TIMEOUT = 60_000;\n\n/** How long a stopping worker (or one whose link is gone) gets before its tree is killed: 5 s. */\nconst GRACE = 5_000;\n\n/** How often idle workers are looked for: every second. */\nconst IDLE_CHECK = 1_000;\n\n/** How long a worker idles before it is stopped unless `idleMs` says otherwise: 5 minutes. */\nconst IDLE_MS = 5 * 60_000;\n\n/** The public error of a start that failed. */\nconst START_FAILED: CrossedError = { message: \"worker failed to start\", code: \"unavailable\" };\n\n/** The link type a route's `resolve` returns. */\ntype Link = WorkerProcess[\"link\"];\n\nclass WorkersComponent implements Workers<HostKind> {\n\t/** Set by `createWorkers` once the route exists. */\n\troute!: RouteHandle<HostKind>;\n\treadonly state: Watchable<Readonly<Record<string, WorkerState>>>;\n\treadonly #state: WorkersState;\n\treadonly #options: WorkersOptions<Principal, HostKind>;\n\treadonly #addresses = new Map<string, Routed>();\n\t/** Aborted at `close`: starts waiting in the app's `start` or for `started` end. */\n\treadonly #closing = new AbortController();\n\t/** `#closing`'s signal as a context: what a start's waits are bounded by. */\n\treadonly #closingContext = withAbortSignal(this.#closing.signal, BACKGROUND_CONTEXT);\n\t/** Whether the route's context closes it already (its first `resolve` attached that). */\n\t#routing = false;\n\t#idleTimer: ReturnType<typeof setInterval> | undefined;\n\n\tconstructor(options: WorkersOptions<Principal, HostKind>, context: Context) {\n\t\tthis.#options = options;\n\t\tthis.#state = new WorkersState(this.#addresses, new Batch((error) => options.onError(error), undefined));\n\t\t// Its value is a `Record<string, WorkerState>`.\n\t\tthis.state = this.#state as unknown as Watchable<Readonly<Record<string, WorkerState>>>;\n\t\tthis.#closeWith(context);\n\t}\n\n\t/**\n\t * The route's `resolve`: a failed address rejects at once with its (public) failure, nothing forks; otherwise a\n\t * start, after the previous child's exit.\n\t */\n\tresolve(address: Address<HostKind>, routing: Context): Promise<{ link: Link; principal: Principal; trusted: true }> {\n\t\tif (!this.#routing) {\n\t\t\tthis.#routing = true;\n\t\t\tthis.#closeWith(routing);\n\t\t}\n\t\tconst routed = this.#routed(address);\n\t\tif (routed.failure !== undefined) return Promise.reject(uncrossed(routed.failure.error));\n\t\tif (this.#closing.signal.aborted) return Promise.reject(closed());\n\t\tconst started = this.#enqueue(routed, () => this.#start(routed, routing));\n\t\trouted.starting = started;\n\t\tvoid started.then(\n\t\t\t() => this.#settled(routed, started),\n\t\t\t() => this.#settled(routed, started),\n\t\t);\n\t\treturn started;\n\t}\n\n\tasync stop(address: Address<HostKind>, context: Context): Promise<void> {\n\t\tthis.route.suspend(address);\n\t\tconst routed = this.#addresses.get(address.key);\n\t\tif (routed === undefined) return;\n\t\tawait awaitWithContext(\n\t\t\tthis.#enqueue(routed, () => this.#stop(routed)),\n\t\t\tcontext,\n\t\t);\n\t}\n\n\tasync retry(address: Address<HostKind>, _context: Context): Promise<void> {\n\t\tconst routed = this.#addresses.get(address.key);\n\t\tif (routed !== undefined) {\n\t\t\trouted.failure = undefined;\n\t\t\tthis.#state.refresh();\n\t\t\tthis.#forget(routed);\n\t\t}\n\t\tthis.route.retry(address);\n\t}\n\n\tstep(name: string): RolloutStep {\n\t\treturn { name, kinds: [this.#options.kind], reload: (_built, context) => this.#rollout(context) };\n\t}\n\n\tasync close(context: Context): Promise<void> {\n\t\tif (!this.#closing.signal.aborted) this.#closing.abort(closed());\n\t\tclearInterval(this.#idleTimer);\n\t\tthis.#idleTimer = undefined;\n\t\tconst stops = [...this.#addresses.values()].map((routed) => this.#enqueue(routed, () => this.#stop(routed)));\n\t\tawait awaitWithContext(Promise.all(stops), context);\n\t}\n\n\t/** `context`'s abort closes the component (the route's is aborted when the host closes). */\n\t#closeWith(context: Context): void {\n\t\tconst signal = context.abortSignal;\n\t\tif (signal === undefined || signal.aborted) return;\n\t\tsignal.addEventListener(\"abort\", () => void this.close(BACKGROUND_CONTEXT).catch(() => {}), { once: true });\n\t}\n\n\t/** The record of `address`, made by its first use. */\n\t#routed(address: Address<HostKind>): Routed {\n\t\tlet routed = this.#addresses.get(address.key);\n\t\tif (routed === undefined) {\n\t\t\trouted = {\n\t\t\t\taddress,\n\t\t\t\tqueue: Promise.resolve(),\n\t\t\t\tpending: 0,\n\t\t\t\tchild: undefined,\n\t\t\t\tfailure: undefined,\n\t\t\t\tstarting: undefined,\n\t\t\t};\n\t\t\tthis.#addresses.set(address.key, routed);\n\t\t}\n\t\treturn routed;\n\t}\n\n\t/** Runs `operation` after the address's earlier ones. */\n\t#enqueue<T>(routed: Routed, operation: () => Promise<T>): Promise<T> {\n\t\trouted.pending++;\n\t\tconst run = routed.queue.then(operation);\n\t\trouted.queue = run.then(\n\t\t\t() => this.#done(routed),\n\t\t\t() => this.#done(routed),\n\t\t);\n\t\treturn run;\n\t}\n\n\t/** An operation ended. */\n\t#done(routed: Routed): void {\n\t\trouted.pending--;\n\t\tthis.#forget(routed);\n\t}\n\n\t/** A start settled: no longer starting. */\n\t#settled(routed: Routed, started: Promise<unknown>): void {\n\t\tif (routed.starting === started) routed.starting = undefined;\n\t}\n\n\t/** Forgets an address with no operation, no child and no failure. */\n\t#forget(routed: Routed): void {\n\t\tif (routed.pending === 0 && routed.child === undefined && routed.failure === undefined) {\n\t\t\tthis.#addresses.delete(routed.address.key);\n\t\t}\n\t}\n\n\t/**\n\t * A start: the app's start data, the fork, the start message with the kind's current set, then `started` within the\n\t * start timer (fork, lock and connect only). Its failure fails the address; `close` ends it at any of its waits (an\n\t * app's `start` that ignores its signal too), a forked child is stopped.\n\t */\n\tasync #start(routed: Routed, routing: Context): Promise<{ link: Link; principal: Principal; trusted: true }> {\n\t\tconst { address } = routed;\n\t\t// After the previous child's exit (its link may close first): a crash recorded meanwhile rejects this start.\n\t\tawait routed.child?.process.exited;\n\t\tconst crashed = routed.failure;\n\t\tif (crashed !== undefined) throw uncrossed(crashed.error);\n\t\tif (this.#closing.signal.aborted) throw closed();\n\t\tconst context = withAbortSignal(this.#closing.signal, routing);\n\t\tlet data: JsonValue;\n\t\ttry {\n\t\t\tdata = await awaitWithContext(Promise.resolve(this.#options.start(address, context)), this.#closingContext);\n\t\t} catch (error) {\n\t\t\tif (this.#closing.signal.aborted) throw closed();\n\t\t\tthrow this.#fail(routed, { error, public: START_FAILED }, undefined);\n\t\t}\n\t\tif (this.#closing.signal.aborted) throw closed();\n\t\tlet child: Child;\n\t\ttry {\n\t\t\tchild = this.#fork(routed);\n\t\t} catch (error) {\n\t\t\tthrow this.#fail(routed, { error, public: START_FAILED }, undefined);\n\t\t}\n\t\tconst timer = setTimeout(() => {\n\t\t\tconst error = new Error(`worker ${address.key}: did not start within ${START_TIMEOUT / 1000} s`);\n\t\t\tchild.cause ??= { error, killed: true };\n\t\t\tchild.process.kill();\n\t\t}, START_TIMEOUT);\n\t\t// Every app hook of the start runs in here: what one throws stays private (`worker_failed`), its holders and\n\t\t// `state` get the fixed public message (Astra's recheck R3: `principal` threw through to a guest).\n\t\ttry {\n\t\t\tconst scripts = await this.#options.plugins.scripts(this.#options.kind, context);\n\t\t\tchild.shipped = keyOf(scripts);\n\t\t\tconst lock = this.#options.lock(address);\n\t\t\tchild.process.send({ kind: \"start\", address, start: data, scripts, lock });\n\t\t\tawait awaitWithContext(child.started.promise, this.#closingContext);\n\t\t\treturn { link: child.process.link, principal: this.#options.principal(address), trusted: true };\n\t\t} catch (error) {\n\t\t\t// Closing is a stop (no failure); anything else fails the start.\n\t\t\tif (this.#closing.signal.aborted) child.stopping = true;\n\t\t\telse child.cause ??= { error, public: START_FAILED, killed: true };\n\t\t\tchild.process.kill();\n\t\t\tawait child.process.exited;\n\t\t\tif (this.#closing.signal.aborted) throw closed();\n\t\t\tthrow uncrossed(routed.failure?.error ?? START_FAILED);\n\t\t} finally {\n\t\t\tclearTimeout(timer);\n\t\t}\n\t}\n\n\t/** Forks the address's worker and records its events on it as they happen. */\n\t#fork(routed: Routed): Child {\n\t\tconst { address } = routed;\n\t\tconst onOutput = this.#options.onOutput;\n\t\tlet child!: Child;\n\t\tconst process = new WorkerProcess(\n\t\t\t{\n\t\t\t\tentry: this.#options.entry,\n\t\t\t\t...(this.#options.execArgv === undefined ? {} : { execArgv: this.#options.execArgv }),\n\t\t\t\t...(this.#options.env === undefined ? {} : { env: this.#options.env }),\n\t\t\t\t...(onOutput === undefined ? {} : { onOutput: (stream, chunk) => onOutput(address, stream, chunk) }),\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontrol: (message) => this.#control(routed, child, message),\n\t\t\t\tlinkLost: () => this.#linkLost(child),\n\t\t\t\tlinkClosed: () => this.#linkClosed(child),\n\t\t\t\texited: (exit) => this.#exited(routed, child, exit),\n\t\t\t},\n\t\t);\n\t\tchild = {\n\t\t\tprocess,\n\t\t\tstatus: \"starting\",\n\t\t\tstopping: false,\n\t\t\tcause: undefined,\n\t\t\tstarted: Promise.withResolvers(),\n\t\t\tready: Promise.withResolvers(),\n\t\t\tidleSince: undefined,\n\t\t\tidleStop: false,\n\t\t\tshipped: \"\",\n\t\t\treloading: Promise.resolve(),\n\t\t\treloaded: undefined,\n\t\t\tended: undefined,\n\t\t\tgrace: undefined,\n\t\t};\n\t\t// Nobody may wait for them.\n\t\tchild.started.promise.catch(() => {});\n\t\tchild.ready.promise.catch(() => {});\n\t\trouted.child = child;\n\t\tthis.#state.refresh();\n\t\tthis.#watchIdle();\n\t\treturn child;\n\t}\n\n\t/** A control message of `child`. */\n\t#control(routed: Routed, child: Child, message: FromWorker): void {\n\t\tswitch (message.kind) {\n\t\t\tcase \"started\":\n\t\t\t\tchild.started.resolve();\n\t\t\t\treturn;\n\t\t\tcase \"ready\":\n\t\t\t\tchild.status = \"running\";\n\t\t\t\tchild.idleSince = message.idle ? Date.now() : undefined;\n\t\t\t\tchild.ready.resolve(message.report);\n\t\t\t\tif (routed.child === child) this.#state.refresh();\n\t\t\t\treturn;\n\t\t\tcase \"idle\":\n\t\t\t\tchild.idleSince = message.idle ? (child.idleSince ?? Date.now()) : undefined;\n\t\t\t\treturn;\n\t\t\tcase \"fatal\":\n\t\t\t\t// Redacted by the child's `redact`: public as it is.\n\t\t\t\tchild.cause ??= { error: uncrossed(message.error), public: message.error };\n\t\t\t\tchild.started.reject(uncrossed(message.error));\n\t\t\t\tchild.process.kill();\n\t\t\t\treturn;\n\t\t\tcase \"reloaded\":\n\t\t\t\tchild.reloaded?.(message);\n\t\t}\n\t}\n\n\t/** This side closed `child`'s link (the heartbeat, a protocol error): its child is stopped, its exit a crash. */\n\t#linkLost(child: Child): void {\n\t\tthis.#ended(child);\n\t\tif (child.stopping) return;\n\t\tchild.cause ??= { error: new Error(\"worker: link lost\") };\n\t\tthis.#shutdown(child);\n\t\tthis.#state.refresh();\n\t}\n\n\t/**\n\t * The child's side closed its link (it is exiting, or it closed its IPC and lives on): its reloads end; one that does\n\t * not exit within the grace is killed, its exit a crash (link lost).\n\t */\n\t#linkClosed(child: Child): void {\n\t\tthis.#ended(child);\n\t\tif (child.stopping || child.grace !== undefined) return;\n\t\tchild.grace = setTimeout(() => {\n\t\t\tchild.cause ??= { error: new Error(\"worker: link lost\") };\n\t\t\tchild.process.kill();\n\t\t}, GRACE);\n\t}\n\n\t/**\n\t * `child` exited: a stop's exit forgets it; any other is a crash that fails the address (`worker_exited` and\n\t * `worker_failed` once, the full error and stderr tail for the app's logs only), except once the component closes.\n\t */\n\t#exited(routed: Routed, child: Child, exit: Exit): void {\n\t\tclearTimeout(child.grace);\n\t\tconst clean = child.stopping && child.cause === undefined;\n\t\tconst cause: Cause = child.cause ?? { error: exitError(routed.address, exit, child) };\n\t\tconst error = cause.public ?? publicExit(exit, child);\n\t\tchild.started.reject(uncrossed(error));\n\t\tchild.ready.reject(uncrossed(error));\n\t\tthis.#ended(child);\n\t\tif (routed.child !== child) return;\n\t\trouted.child = undefined;\n\t\tif (!clean && !this.#closing.signal.aborted) {\n\t\t\tconst { code, signal } = exit;\n\t\t\t// A failed start's kill is the component's own act (Opus's second recheck): only `worker_failed`.\n\t\t\tif (cause.killed !== true) {\n\t\t\t\tthis.#options.onError({ kind: \"worker_exited\", address: routed.address.key, code, signal });\n\t\t\t}\n\t\t\tthis.#fail(routed, { ...cause, public: error }, child.process.stderrTail);\n\t\t}\n\t\tthis.#state.refresh();\n\t\tthis.#forget(routed);\n\t}\n\n\t/**\n\t * `child`'s link is gone or it exited (the first of these): its outstanding reload and every one queued behind it\n\t * settle, `stopped` when a stop asked for it, else failed.\n\t */\n\t#ended(child: Child): void {\n\t\tif (child.ended !== undefined) return;\n\t\tchild.ended =\n\t\t\tchild.stopping && child.cause === undefined\n\t\t\t\t? { kind: \"stopped\" }\n\t\t\t\t: { kind: \"failed\", error: new ChordError({ code: \"unavailable\", message: \"worker: its link is gone\" }) };\n\t\tchild.reloaded?.({ kind: \"reloaded\", error: { message: \"worker: its link is gone\" } });\n\t}\n\n\t/**\n\t * Fails `routed` with `cause` (`worker_failed` once, with the full error and `stderrTail`); returns the public error\n\t * a start rejects with.\n\t */\n\t#fail(routed: Routed, cause: Cause & { readonly public: CrossedError }, stderrTail: string | undefined): Error {\n\t\trouted.failure = { error: cause.public, at: Date.now() };\n\t\tthis.#options.onError({\n\t\t\tkind: \"worker_failed\",\n\t\t\taddress: routed.address.key,\n\t\t\terror: cause.error,\n\t\t\t...(stderrTail === undefined ? {} : { stderrTail }),\n\t\t});\n\t\tthis.#state.refresh();\n\t\treturn uncrossed(cause.public);\n\t}\n\n\t/** A stop: `shutdown`, the grace, then the tree killed; resolves at its exit. */\n\tasync #stop(routed: Routed): Promise<void> {\n\t\tconst child = routed.child;\n\t\tif (child === undefined) return;\n\t\tchild.stopping = true;\n\t\tthis.#shutdown(child);\n\t\tthis.#state.refresh();\n\t\tawait child.process.exited;\n\t}\n\n\t/** Asks `child` to shut down and kills its tree after the grace. */\n\t#shutdown(child: Child): void {\n\t\tchild.status = \"stopping\";\n\t\tchild.process.send({ kind: \"shutdown\" });\n\t\tclearTimeout(child.grace);\n\t\tchild.grace = setTimeout(() => child.process.kill(), GRACE);\n\t}\n\n\t/** Starts the idle check (every second) while any worker exists. */\n\t#watchIdle(): void {\n\t\tif (this.#idleTimer !== undefined) return;\n\t\tthis.#idleTimer = setInterval(() => this.#checkIdle(), IDLE_CHECK);\n\t\tthis.#idleTimer.unref();\n\t}\n\n\t/** Queues a stop for every worker idle since `idleMs()`; stops checking once no worker is left. */\n\t#checkIdle(): void {\n\t\tconst idleMs = this.#idleMs();\n\t\tconst now = Date.now();\n\t\tlet workers = 0;\n\t\tfor (const routed of this.#addresses.values()) {\n\t\t\tconst child = routed.child;\n\t\t\tif (child === undefined) continue;\n\t\t\tworkers++;\n\t\t\tif (child.idleStop || child.status !== \"running\") continue;\n\t\t\tif (child.idleSince === undefined || now - child.idleSince < idleMs) continue;\n\t\t\tchild.idleStop = true;\n\t\t\tvoid this.#enqueue(routed, () => this.#idleStop(routed, child));\n\t\t}\n\t\tif (workers === 0) {\n\t\t\tclearInterval(this.#idleTimer);\n\t\t\tthis.#idleTimer = undefined;\n\t\t}\n\t}\n\n\t/** An idle stop when it runs: only if `child` is still the address's and still idle (a hold may have come since). */\n\tasync #idleStop(routed: Routed, child: Child): Promise<void> {\n\t\tchild.idleStop = false;\n\t\tif (routed.child !== child || child.idleSince === undefined) return;\n\t\tif (Date.now() - child.idleSince < this.#idleMs()) return;\n\t\tawait this.#stop(routed);\n\t}\n\n\t/** How long a worker idles before it is stopped. */\n\t#idleMs(): number {\n\t\treturn this.#options.idleMs?.() ?? IDLE_MS;\n\t}\n\n\t/**\n\t * The rollout step (§4): the set as this rollout applied it, read now (before another rollout changes it); the\n\t * failures recorded before it cleared and the held ones retried (listed once ready or failed); the set shipped to\n\t * every worker whose last applied set differs, in parallel. `context`'s abort ends only this wait: the entries\n\t * still waiting are listed with its error.\n\t */\n\tasync #rollout(context: Context): Promise<{ readonly hosts: readonly RolloutHost[] }> {\n\t\tconst { kind, plugins } = this.#options;\n\t\tconst scripts = plugins.current(kind) ?? (await plugins.scripts(kind, context));\n\t\tconst key = keyOf(scripts);\n\t\tconst entries: { readonly host: string; readonly entry: Promise<RolloutHost> }[] = [];\n\t\tfor (const routed of [...this.#addresses.values()]) {\n\t\t\tif (routed.failure === undefined) continue;\n\t\t\trouted.failure = undefined;\n\t\t\tthis.#state.refresh();\n\t\t\tthis.route.retry(routed.address);\n\t\t\tconst started = routed.starting;\n\t\t\tif (started === undefined) this.#forget(routed);\n\t\t\telse entries.push({ host: routed.address.key, entry: this.#retried(routed, started) });\n\t\t}\n\t\tfor (const routed of this.#addresses.values()) {\n\t\t\tconst child = routed.child;\n\t\t\tif (child === undefined || child.status === \"stopping\" || child.shipped === key) continue;\n\t\t\tentries.push({ host: routed.address.key, entry: this.#reload(routed.address.key, child, scripts, key) });\n\t\t}\n\t\treturn { hosts: await Promise.all(entries.map(({ host, entry }) => bounded(host, entry, context))) };\n\t}\n\n\t/** A retried address's entry: its start's load report once ready, or its error. */\n\tasync #retried(routed: Routed, started: Promise<unknown>): Promise<RolloutHost> {\n\t\tconst host = routed.address.key;\n\t\ttry {\n\t\t\tawait started;\n\t\t\tconst child = routed.child;\n\t\t\tif (child === undefined) throw new Error(\"worker: exited\");\n\t\t\treturn { host, report: uncrossedReport(await child.ready.promise) };\n\t\t} catch (error) {\n\t\t\treturn { host, error };\n\t\t}\n\t}\n\n\t/**\n\t * Ships `scripts` to `child` after its outstanding reload; settles on `reloaded`, its link's loss or its exit. Only a\n\t * reload that applied without failures marks the set shipped (a failed plugin is shipped again next time).\n\t */\n\t#reload(host: string, child: Child, scripts: readonly PluginScript[], key: string): Promise<RolloutHost> {\n\t\tconst reload = child.reloading.then(\n\t\t\t() =>\n\t\t\t\tnew Promise<RolloutHost>((resolve) => {\n\t\t\t\t\tconst settle = (ended: Ended): void => {\n\t\t\t\t\t\tresolve(ended.kind === \"stopped\" ? { host, stopped: true } : { host, error: ended.error });\n\t\t\t\t\t};\n\t\t\t\t\tif (child.ended !== undefined) {\n\t\t\t\t\t\tsettle(child.ended);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tchild.reloaded = (reply) => {\n\t\t\t\t\t\tchild.reloaded = undefined;\n\t\t\t\t\t\tif (\"report\" in reply) {\n\t\t\t\t\t\t\tif (reply.report.failed.length === 0) child.shipped = key;\n\t\t\t\t\t\t\tresolve({ host, report: uncrossedReport(reply.report) });\n\t\t\t\t\t\t} else if (child.ended !== undefined) {\n\t\t\t\t\t\t\tsettle(child.ended);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresolve({ host, error: uncrossed(reply.error) });\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tchild.process.send({ kind: \"reload\", scripts });\n\t\t\t\t}),\n\t\t);\n\t\tchild.reloading = reload.then(\n\t\t\t() => {},\n\t\t\t() => {},\n\t\t);\n\t\treturn reload;\n\t}\n}\n\n/** What new starts reject with once the component closes. */\nfunction closed(): ChordError {\n\treturn new ChordError({ code: \"released\", reason: \"closed\", message: \"workers: closed\" });\n}\n\n/** The full error of an exit nobody asked for (the app's logs). */\nfunction exitError(address: Address, { code, signal }: Exit, child: Child): Error {\n\tconst how = signal === null ? `code ${code}` : `signal ${signal}`;\n\tconst when = child.status === \"starting\" ? \"exited before it was ready\" : \"exited\";\n\treturn new ChordError({ code: \"unavailable\", message: `worker ${address.key}: ${when} (${how})` });\n}\n\n/** The public error of an exit: a start that failed, or the exit's code or signal. */\nfunction publicExit({ code, signal }: Exit, child: Child): CrossedError {\n\tif (child.status === \"starting\") return START_FAILED;\n\treturn { message: `worker exited (${signal ?? `code ${code}`})`, code: \"unavailable\" };\n}\n\n/** A set's identity: its plugins and digests. */\nfunction keyOf(scripts: readonly PluginScript[]): string {\n\treturn scripts\n\t\t.map(({ plugin, built }) => `${plugin.name}@${built.kind === \"script\" ? built.digest : \"failed\"}`)\n\t\t.sort()\n\t\t.join(\"\\n\");\n}\n\n/** `entry`, or `host` listed with the abort's error once `context` aborts first (the entry goes on). */\nasync function bounded(host: string, entry: Promise<RolloutHost>, context: Context): Promise<RolloutHost> {\n\ttry {\n\t\treturn await awaitWithContext(entry, context);\n\t} catch (error) {\n\t\treturn { host, error };\n\t}\n}\n\n/** The workers' state: a JSON watchable of every address's `WorkerState`, published once per microtask turn. */\nclass WorkersState extends Source {\n\treadonly #addresses: ReadonlyMap<string, Routed>;\n\t#value: Readonly<Record<string, WorkerState>> | undefined;\n\t#scheduled = false;\n\n\tconstructor(addresses: ReadonlyMap<string, Routed>, batch: Batch) {\n\t\tsuper(batch);\n\t\tthis.#addresses = addresses;\n\t}\n\n\tget value(): JsonValue {\n\t\tthis.#value ??= stateOf(this.#addresses);\n\t\t// Plain JSON: statuses, numbers and crossed errors.\n\t\treturn this.#value as unknown as JsonValue;\n\t}\n\n\tdeliver(context: Context): void {\n\t\tconst value = this.value;\n\t\tthis.publish(value, [[\"r\", value]], false, context);\n\t}\n\n\t/** Something changed: published with the turn's other changes while someone watches or derives from it. */\n\trefresh(): void {\n\t\tthis.#value = undefined;\n\t\tif (this.#scheduled || (!this.watched && this.dependents.size === 0)) return;\n\t\tthis.#scheduled = true;\n\t\tqueueMicrotask(() => {\n\t\t\tthis.#scheduled = false;\n\t\t\tthis.batch.within(() => this.changed(), BACKGROUND_CONTEXT);\n\t\t});\n\t}\n}\n\n/** Every address's state: its child's, or its failure; none for an address with neither. */\nfunction stateOf(addresses: ReadonlyMap<string, Routed>): Record<string, WorkerState> {\n\tconst state: Record<string, WorkerState> = {};\n\tfor (const [key, { child, failure }] of addresses) {\n\t\tif (failure !== undefined) {\n\t\t\tstate[key] = { status: \"failed\", ...failure };\n\t\t} else if (child !== undefined) {\n\t\t\tconst { pid, startedAt } = child.process;\n\t\t\tstate[key] = { status: child.status, pid, startedAt };\n\t\t}\n\t}\n\treturn state;\n}\n"]}
|
package/dist/object.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Schema, Static } from "@earendil-works/pi-schema";
|
|
2
2
|
import { Cell, Derived, HYDRATION, type Hydration, type Sources, type SourceValues } from "./cell.ts";
|
|
3
3
|
import { type Accepts, type Adapter, type AnyContract, type ImplementationOf, type InputOf, type LocalContract, type MemberDescription, type Ref } from "./contract.ts";
|
|
4
4
|
import type { EventOf, ListenerDecl, Resource, ResourceDeclaration, Subscribable, ValueOf } from "./declare.ts";
|
|
@@ -74,7 +74,7 @@ export interface Self<P = unknown> {
|
|
|
74
74
|
* it when its version rises, and refuses a schema change without a version bump. A cell a reload adds runs its `init`
|
|
75
75
|
* while the reload prepares.
|
|
76
76
|
*/
|
|
77
|
-
state<S extends
|
|
77
|
+
state<S extends Schema>(name: string, schema: S, initial: Static<S> | StateInit<Static<S>, P>, options?: StateOptions<Static<S>>): Cell<Static<S>>;
|
|
78
78
|
/** An object-owned reference, identified by its address. */
|
|
79
79
|
get<C extends AnyContract>(type: C, input: InputOf<C>, options?: GetOptions<P>): Ref<C>;
|
|
80
80
|
/**
|
|
@@ -132,7 +132,7 @@ type TaskFn = (ctx: Ctx) => Promise<void>;
|
|
|
132
132
|
/** Everything one factory run declared, by kind and key. */
|
|
133
133
|
export declare class Decls {
|
|
134
134
|
readonly cells: Map<string, Cell<unknown>>;
|
|
135
|
-
readonly cellSchemas: Map<string,
|
|
135
|
+
readonly cellSchemas: Map<string, Schema>;
|
|
136
136
|
readonly cellVersions: Map<string, number>;
|
|
137
137
|
readonly cellMigrations: Map<string, (old: unknown, from: number) => unknown>;
|
|
138
138
|
readonly refs: Map<string, RefCore>;
|
|
@@ -433,6 +433,6 @@ export declare class ObjectImpl {
|
|
|
433
433
|
dispose(forced: boolean, reason?: unknown): Promise<void>;
|
|
434
434
|
}
|
|
435
435
|
/** The remote state-member schemas an implementation exposes, by source. */
|
|
436
|
-
export declare function memberSchemas(service: Service, implementation: Record<string, unknown>): Map<Readable<unknown>,
|
|
436
|
+
export declare function memberSchemas(service: Service, implementation: Record<string, unknown>): Map<Readable<unknown>, Schema[]>;
|
|
437
437
|
export {};
|
|
438
438
|
//# sourceMappingURL=object.d.ts.map
|
package/dist/object.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../src/object.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../src/object.ts"],"names":[],"mappings":"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"}
|
package/dist/object.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { Value } from "typebox/value";
|
|
2
1
|
import { Cell, Derived, HYDRATION, hydrationOf, isSource, notReady, unhydrated, } from "./cell.js";
|
|
3
2
|
import { bind, LOCAL_VARIANT, takesNoArgs, } from "./contract.js";
|
|
4
3
|
import { asChordError, ChordError, invalid, runAll } from "./errors.js";
|
|
5
4
|
import { enqueue } from "./publish.js";
|
|
6
|
-
import { assertValid, normalize } from "./schema.js";
|
|
5
|
+
import { assertValid, cleaned, normalize } from "./schema.js";
|
|
7
6
|
const noop = () => { };
|
|
8
7
|
export const makeService = (contract, factory, options, facet) => {
|
|
9
8
|
checkLifetime(contract, options);
|
|
@@ -1243,8 +1242,8 @@ export class ObjectImpl {
|
|
|
1243
1242
|
// The additive rule assumes a consumer sends only what its own schema knows, and a provider sees only what its
|
|
1244
1243
|
// schema knows: strip with both before validating.
|
|
1245
1244
|
const own = ref.contract.scope === "remote" && wanted?.kind === "method" ? wanted.args : undefined;
|
|
1246
|
-
const sent = own === undefined ? args :
|
|
1247
|
-
input = validated?.args ?
|
|
1245
|
+
const sent = own === undefined ? args : cleaned(own, args);
|
|
1246
|
+
input = validated?.args ? cleaned(validated.args, sent) : sent;
|
|
1248
1247
|
if (validated?.args)
|
|
1249
1248
|
assertValid("args", `${this.address}.${name} args`, validated.args, input);
|
|
1250
1249
|
}
|