@amalgm/shell 0.1.164-preview.36072132286 → 0.1.164-preview.36809057014
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/PURPOSE.md +642 -128
- package/README.md +10 -8
- package/dist/accepted-tail.d.ts +26 -0
- package/dist/accepted-tail.js +37 -0
- package/dist/accepted-tail.js.map +1 -0
- package/dist/agent-execution.d.ts +16 -1
- package/dist/agent-execution.js +13 -5
- package/dist/agent-execution.js.map +1 -1
- package/dist/apply-cleanup.d.ts +28 -0
- package/dist/apply-cleanup.js +166 -0
- package/dist/apply-cleanup.js.map +1 -0
- package/dist/apply-recovery.d.ts +47 -0
- package/dist/apply-recovery.js +99 -0
- package/dist/apply-recovery.js.map +1 -0
- package/dist/apply-rows.d.ts +72 -0
- package/dist/apply-rows.js +150 -0
- package/dist/apply-rows.js.map +1 -0
- package/dist/apply-saves.d.ts +85 -0
- package/dist/apply-saves.js +238 -0
- package/dist/apply-saves.js.map +1 -0
- package/dist/boot.js +2 -1
- package/dist/boot.js.map +1 -1
- package/dist/capture-work.d.ts +8 -0
- package/dist/capture-work.js +67 -0
- package/dist/capture-work.js.map +1 -0
- package/dist/cargo-group.d.ts +45 -0
- package/dist/cargo-group.js +88 -0
- package/dist/cargo-group.js.map +1 -0
- package/dist/channel-session.d.ts +4 -2
- package/dist/channel-session.js +4 -3
- package/dist/channel-session.js.map +1 -1
- package/dist/chat-composition.d.ts +2 -0
- package/dist/chat-composition.js +1 -0
- package/dist/chat-composition.js.map +1 -1
- package/dist/cli.js +20 -1
- package/dist/cli.js.map +1 -1
- package/dist/construct-apply-host.d.ts +4 -2
- package/dist/construct-apply-host.js +8 -3
- package/dist/construct-apply-host.js.map +1 -1
- package/dist/construct-door.js +1 -1
- package/dist/construct-door.js.map +1 -1
- package/dist/construct-ledger.d.ts +6 -1
- package/dist/construct-ledger.js +21 -33
- package/dist/construct-ledger.js.map +1 -1
- package/dist/content-cache-collection.d.ts +18 -0
- package/dist/content-cache-collection.js +99 -0
- package/dist/content-cache-collection.js.map +1 -0
- package/dist/content-cache-host.d.ts +83 -17
- package/dist/content-cache-host.js +335 -95
- package/dist/content-cache-host.js.map +1 -1
- package/dist/content-cache-namespace.d.ts +59 -0
- package/dist/content-cache-namespace.js +210 -0
- package/dist/content-cache-namespace.js.map +1 -0
- package/dist/content-cache-ownership.d.ts +13 -0
- package/dist/content-cache-ownership.js +75 -0
- package/dist/content-cache-ownership.js.map +1 -0
- package/dist/content-cache-retention.d.ts +23 -0
- package/dist/content-cache-retention.js +195 -0
- package/dist/content-cache-retention.js.map +1 -0
- package/dist/content-capture-pool.d.ts +287 -0
- package/dist/content-capture-pool.js +461 -0
- package/dist/content-capture-pool.js.map +1 -0
- package/dist/content-capture-worker.d.ts +8 -0
- package/dist/content-capture-worker.js +109 -0
- package/dist/content-capture-worker.js.map +1 -0
- package/dist/content-clock.d.ts +42 -0
- package/dist/content-clock.js +166 -0
- package/dist/content-clock.js.map +1 -0
- package/dist/content-direct.d.ts +2 -0
- package/dist/content-direct.js +12 -0
- package/dist/content-direct.js.map +1 -1
- package/dist/content-failure.d.ts +18 -0
- package/dist/content-failure.js +38 -0
- package/dist/content-failure.js.map +1 -0
- package/dist/content-stream-thread.d.ts +60 -0
- package/dist/content-stream-thread.js +95 -0
- package/dist/content-stream-thread.js.map +1 -0
- package/dist/content-stream-worker.d.ts +7 -0
- package/dist/content-stream-worker.js +52 -0
- package/dist/content-stream-worker.js.map +1 -0
- package/dist/declaration-absorption.d.ts +37 -0
- package/dist/declaration-absorption.js +119 -0
- package/dist/declaration-absorption.js.map +1 -0
- package/dist/declaration-chain.d.ts +36 -0
- package/dist/declaration-chain.js +96 -0
- package/dist/declaration-chain.js.map +1 -0
- package/dist/declaration-commit.d.ts +31 -0
- package/dist/declaration-commit.js +49 -0
- package/dist/declaration-commit.js.map +1 -0
- package/dist/declaration-hold.d.ts +22 -0
- package/dist/declaration-hold.js +24 -0
- package/dist/declaration-hold.js.map +1 -0
- package/dist/declaration-journal.d.ts +62 -0
- package/dist/declaration-journal.js +99 -0
- package/dist/declaration-journal.js.map +1 -0
- package/dist/declaration-save.d.ts +31 -0
- package/dist/declaration-save.js +134 -0
- package/dist/declaration-save.js.map +1 -0
- package/dist/detection/accepted-result.d.ts +19 -1
- package/dist/detection/accepted-result.js +36 -5
- package/dist/detection/accepted-result.js.map +1 -1
- package/dist/detection/admission-save.d.ts +55 -0
- package/dist/detection/admission-save.js +48 -0
- package/dist/detection/admission-save.js.map +1 -0
- package/dist/detection/admission-units.d.ts +66 -0
- package/dist/detection/admission-units.js +322 -0
- package/dist/detection/admission-units.js.map +1 -0
- package/dist/detection/alias-discovery.d.ts +12 -0
- package/dist/detection/alias-discovery.js +80 -0
- package/dist/detection/alias-discovery.js.map +1 -0
- package/dist/detection/alias-examination.d.ts +30 -0
- package/dist/detection/alias-examination.js +49 -0
- package/dist/detection/alias-examination.js.map +1 -0
- package/dist/detection/apply-ownership.d.ts +81 -0
- package/dist/detection/apply-ownership.js +232 -0
- package/dist/detection/apply-ownership.js.map +1 -0
- package/dist/detection/basis-advanced.d.ts +11 -0
- package/dist/detection/basis-advanced.js +26 -0
- package/dist/detection/basis-advanced.js.map +1 -0
- package/dist/detection/capture-outcome.d.ts +16 -0
- package/dist/detection/capture-outcome.js +92 -0
- package/dist/detection/capture-outcome.js.map +1 -0
- package/dist/detection/container-membership.d.ts +32 -0
- package/dist/detection/container-membership.js +49 -0
- package/dist/detection/container-membership.js.map +1 -0
- package/dist/detection/detect-cancelled.d.ts +6 -0
- package/dist/detection/detect-cancelled.js +10 -0
- package/dist/detection/detect-cancelled.js.map +1 -0
- package/dist/detection/directory-proof.d.ts +47 -0
- package/dist/detection/directory-proof.js +77 -0
- package/dist/detection/directory-proof.js.map +1 -0
- package/dist/detection/disposition-rows.d.ts +18 -0
- package/dist/detection/disposition-rows.js +29 -0
- package/dist/detection/disposition-rows.js.map +1 -0
- package/dist/detection/dispositions.d.ts +130 -0
- package/dist/detection/dispositions.js +248 -0
- package/dist/detection/dispositions.js.map +1 -0
- package/dist/detection/git-notice.d.ts +88 -0
- package/dist/detection/git-notice.js +444 -0
- package/dist/detection/git-notice.js.map +1 -0
- package/dist/detection/ground-proof.d.ts +130 -0
- package/dist/detection/ground-proof.js +274 -0
- package/dist/detection/ground-proof.js.map +1 -0
- package/dist/detection/ground-reader.d.ts +29 -0
- package/dist/detection/ground-reader.js +102 -0
- package/dist/detection/ground-reader.js.map +1 -0
- package/dist/detection/held-territory.d.ts +51 -0
- package/dist/detection/held-territory.js +205 -0
- package/dist/detection/held-territory.js.map +1 -0
- package/dist/detection/identity-discovery.d.ts +45 -0
- package/dist/detection/identity-discovery.js +287 -0
- package/dist/detection/identity-discovery.js.map +1 -0
- package/dist/detection/maintenance-sweep.d.ts +108 -0
- package/dist/detection/maintenance-sweep.js +325 -0
- package/dist/detection/maintenance-sweep.js.map +1 -0
- package/dist/detection/name-reach.d.ts +12 -0
- package/dist/detection/name-reach.js +28 -0
- package/dist/detection/name-reach.js.map +1 -0
- package/dist/detection/notebook-basis.d.ts +5 -7
- package/dist/detection/notebook-basis.js +6 -7
- package/dist/detection/notebook-basis.js.map +1 -1
- package/dist/detection/owed-selection.d.ts +51 -0
- package/dist/detection/owed-selection.js +169 -0
- package/dist/detection/owed-selection.js.map +1 -0
- package/dist/detection/portable.d.ts +34 -34
- package/dist/detection/portable.js +67 -93
- package/dist/detection/portable.js.map +1 -1
- package/dist/detection/reconciliation-coverage.d.ts +7 -0
- package/dist/detection/reconciliation-coverage.js +16 -0
- package/dist/detection/reconciliation-coverage.js.map +1 -0
- package/dist/detection/repository-publication.d.ts +20 -0
- package/dist/detection/repository-publication.js +79 -0
- package/dist/detection/repository-publication.js.map +1 -0
- package/dist/detection/repository-routes.d.ts +43 -0
- package/dist/detection/repository-routes.js +97 -0
- package/dist/detection/repository-routes.js.map +1 -0
- package/dist/detection/root-examination.d.ts +94 -0
- package/dist/detection/root-examination.js +523 -0
- package/dist/detection/root-examination.js.map +1 -0
- package/dist/detection/runtime.d.ts +131 -64
- package/dist/detection/runtime.js +808 -1103
- package/dist/detection/runtime.js.map +1 -1
- package/dist/detection/scoped-identity-port.d.ts +34 -0
- package/dist/detection/scoped-identity-port.js +81 -0
- package/dist/detection/scoped-identity-port.js.map +1 -0
- package/dist/detection/seal-law.d.ts +66 -0
- package/dist/detection/seal-law.js +116 -0
- package/dist/detection/seal-law.js.map +1 -0
- package/dist/detection/sharing-policy.d.ts +11 -0
- package/dist/detection/sharing-policy.js +32 -0
- package/dist/detection/sharing-policy.js.map +1 -0
- package/dist/detection/thread-database.d.ts +4 -0
- package/dist/detection/thread-database.js +30 -0
- package/dist/detection/thread-database.js.map +1 -0
- package/dist/detection/unreadable.d.ts +11 -0
- package/dist/detection/unreadable.js +9 -0
- package/dist/detection/unreadable.js.map +1 -0
- package/dist/detection/verified-content.d.ts +6 -0
- package/dist/detection/verified-content.js +12 -0
- package/dist/detection/verified-content.js.map +1 -0
- package/dist/detection/walk-law.d.ts +34 -0
- package/dist/detection/walk-law.js +55 -0
- package/dist/detection/walk-law.js.map +1 -0
- package/dist/development/fly-guest.js +2 -1
- package/dist/development/fly-guest.js.map +1 -1
- package/dist/entity-apply-host.d.ts +29 -13
- package/dist/entity-apply-host.js +1426 -461
- package/dist/entity-apply-host.js.map +1 -1
- package/dist/entity-apply-store.d.ts +77 -30
- package/dist/entity-apply-store.js +221 -516
- package/dist/entity-apply-store.js.map +1 -1
- package/dist/entity-record-observability.js +2 -0
- package/dist/entity-record-observability.js.map +1 -1
- package/dist/entity-record-saves.d.ts +20 -0
- package/dist/entity-record-saves.js +91 -0
- package/dist/entity-record-saves.js.map +1 -0
- package/dist/entity-record-store.d.ts +15 -7
- package/dist/entity-record-store.js +57 -117
- package/dist/entity-record-store.js.map +1 -1
- package/dist/files-register-host.d.ts +22 -3
- package/dist/files-register-host.js +70 -31
- package/dist/files-register-host.js.map +1 -1
- package/dist/filesystem.js +3 -2
- package/dist/filesystem.js.map +1 -1
- package/dist/git-binding.d.ts +65 -0
- package/dist/git-binding.js +220 -0
- package/dist/git-binding.js.map +1 -0
- package/dist/git-capture.d.ts +39 -0
- package/dist/git-capture.js +86 -0
- package/dist/git-capture.js.map +1 -0
- package/dist/git-card.d.ts +12 -0
- package/dist/git-card.js +123 -0
- package/dist/git-card.js.map +1 -0
- package/dist/git-checkpoint-construction.d.ts +41 -0
- package/dist/git-checkpoint-construction.js +96 -0
- package/dist/git-checkpoint-construction.js.map +1 -0
- package/dist/git-checkpoint-preparation.d.ts +37 -0
- package/dist/git-checkpoint-preparation.js +145 -0
- package/dist/git-checkpoint-preparation.js.map +1 -0
- package/dist/git-command.d.ts +61 -8
- package/dist/git-command.js +217 -63
- package/dist/git-command.js.map +1 -1
- package/dist/git-configuration.d.ts +40 -0
- package/dist/git-configuration.js +217 -0
- package/dist/git-configuration.js.map +1 -0
- package/dist/git-evidence.d.ts +61 -0
- package/dist/git-evidence.js +181 -0
- package/dist/git-evidence.js.map +1 -0
- package/dist/git-index-entries.d.ts +15 -0
- package/dist/git-index-entries.js +44 -0
- package/dist/git-index-entries.js.map +1 -0
- package/dist/git-index-format.d.ts +35 -0
- package/dist/git-index-format.js +293 -0
- package/dist/git-index-format.js.map +1 -0
- package/dist/git-index-witness.d.ts +33 -0
- package/dist/git-index-witness.js +69 -0
- package/dist/git-index-witness.js.map +1 -0
- package/dist/git-literal-host.d.ts +82 -0
- package/dist/git-literal-host.js +172 -0
- package/dist/git-literal-host.js.map +1 -0
- package/dist/git-literal-read.d.ts +88 -0
- package/dist/git-literal-read.js +170 -0
- package/dist/git-literal-read.js.map +1 -0
- package/dist/git-literal-replay.d.ts +33 -0
- package/dist/git-literal-replay.js +268 -0
- package/dist/git-literal-replay.js.map +1 -0
- package/dist/git-native-file.d.ts +42 -0
- package/dist/git-native-file.js +145 -0
- package/dist/git-native-file.js.map +1 -0
- package/dist/git-native-index.d.ts +21 -0
- package/dist/git-native-index.js +44 -0
- package/dist/git-native-index.js.map +1 -0
- package/dist/git-operation-host.d.ts +48 -0
- package/dist/git-operation-host.js +127 -0
- package/dist/git-operation-host.js.map +1 -0
- package/dist/git-private-index.d.ts +11 -0
- package/dist/git-private-index.js +42 -0
- package/dist/git-private-index.js.map +1 -0
- package/dist/git-private-repository.d.ts +4 -0
- package/dist/git-private-repository.js +69 -0
- package/dist/git-private-repository.js.map +1 -0
- package/dist/git-private-view.d.ts +39 -0
- package/dist/git-private-view.js +162 -0
- package/dist/git-private-view.js.map +1 -0
- package/dist/git-ref-store.d.ts +12 -0
- package/dist/git-ref-store.js +68 -0
- package/dist/git-ref-store.js.map +1 -0
- package/dist/git-registration-host.d.ts +20 -30
- package/dist/git-registration-host.js +86 -249
- package/dist/git-registration-host.js.map +1 -1
- package/dist/git-repository-host.d.ts +148 -22
- package/dist/git-repository-host.js +633 -650
- package/dist/git-repository-host.js.map +1 -1
- package/dist/git-worktree-host.d.ts +2 -0
- package/dist/git-worktree-host.js +16 -0
- package/dist/git-worktree-host.js.map +1 -0
- package/dist/graph-publication.d.ts +75 -0
- package/dist/graph-publication.js +203 -0
- package/dist/graph-publication.js.map +1 -0
- package/dist/ground-basis.d.ts +242 -0
- package/dist/ground-basis.js +1023 -0
- package/dist/ground-basis.js.map +1 -0
- package/dist/ground-checkpoint-worker.d.ts +1 -0
- package/dist/ground-checkpoint-worker.js +84 -0
- package/dist/ground-checkpoint-worker.js.map +1 -0
- package/dist/ground-checkpoints.d.ts +16 -0
- package/dist/ground-checkpoints.js +45 -0
- package/dist/ground-checkpoints.js.map +1 -0
- package/dist/ground-coordination.d.ts +107 -3
- package/dist/ground-coordination.js +249 -24
- package/dist/ground-coordination.js.map +1 -1
- package/dist/ground-database.d.ts +42 -0
- package/dist/ground-database.js +290 -0
- package/dist/ground-database.js.map +1 -0
- package/dist/ground-differences.d.ts +23 -0
- package/dist/ground-differences.js +47 -0
- package/dist/ground-differences.js.map +1 -0
- package/dist/ground-holders.d.ts +4 -0
- package/dist/ground-holders.js +15 -0
- package/dist/ground-holders.js.map +1 -0
- package/dist/ground-initialization-worker.d.ts +1 -0
- package/dist/ground-initialization-worker.js +20 -0
- package/dist/ground-initialization-worker.js.map +1 -0
- package/dist/ground-initialization.d.ts +35 -0
- package/dist/ground-initialization.js +102 -0
- package/dist/ground-initialization.js.map +1 -0
- package/dist/ground-install-saves.d.ts +63 -0
- package/dist/ground-install-saves.js +139 -0
- package/dist/ground-install-saves.js.map +1 -0
- package/dist/ground-inventory-schema.d.ts +18 -0
- package/dist/ground-inventory-schema.js +168 -0
- package/dist/ground-inventory-schema.js.map +1 -0
- package/dist/ground-profile.d.ts +7 -0
- package/dist/ground-profile.js +52 -0
- package/dist/ground-profile.js.map +1 -0
- package/dist/ground-root-index.d.ts +2 -1
- package/dist/ground-root-index.js +16 -14
- package/dist/ground-root-index.js.map +1 -1
- package/dist/ground-row.d.ts +62 -0
- package/dist/ground-row.js +70 -0
- package/dist/ground-row.js.map +1 -0
- package/dist/ground-save-ops.d.ts +44 -0
- package/dist/ground-save-ops.js +41 -0
- package/dist/ground-save-ops.js.map +1 -0
- package/dist/ground-saver-worker.d.ts +1 -0
- package/dist/ground-saver-worker.js +156 -0
- package/dist/ground-saver-worker.js.map +1 -0
- package/dist/ground-saver.d.ts +75 -0
- package/dist/ground-saver.js +216 -0
- package/dist/ground-saver.js.map +1 -0
- package/dist/ground-store.d.ts +84 -0
- package/dist/ground-store.js +473 -0
- package/dist/ground-store.js.map +1 -0
- package/dist/ground-territory.d.ts +130 -0
- package/dist/ground-territory.js +511 -0
- package/dist/ground-territory.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/installation/ownership.d.ts +0 -2
- package/dist/installation/ownership.js +3 -15
- package/dist/installation/ownership.js.map +1 -1
- package/dist/machine-host.d.ts +3 -2
- package/dist/machine-host.js +28 -16
- package/dist/machine-host.js.map +1 -1
- package/dist/materialized-graph.d.ts +7 -7
- package/dist/materialized-graph.js +11 -23
- package/dist/materialized-graph.js.map +1 -1
- package/dist/module-thread.d.ts +9 -0
- package/dist/module-thread.js +10 -0
- package/dist/module-thread.js.map +1 -0
- package/dist/native/fsevents-stream.node +0 -0
- package/dist/physical-path-witness.d.ts +64 -0
- package/dist/physical-path-witness.js +168 -0
- package/dist/physical-path-witness.js.map +1 -0
- package/dist/register-upload-fusion.d.ts +5 -4
- package/dist/register-upload-fusion.js +9 -6
- package/dist/register-upload-fusion.js.map +1 -1
- package/dist/registry-graph.d.ts +3 -2
- package/dist/registry-graph.js +9 -6
- package/dist/registry-graph.js.map +1 -1
- package/dist/registry-page-cache.d.ts +5 -2
- package/dist/registry-page-cache.js.map +1 -1
- package/dist/repository-identity-steps.d.ts +5 -0
- package/dist/repository-identity-steps.js +33 -0
- package/dist/repository-identity-steps.js.map +1 -0
- package/dist/runtime-node-flags.d.ts +10 -0
- package/dist/runtime-node-flags.js +11 -0
- package/dist/runtime-node-flags.js.map +1 -0
- package/dist/service/adapter.d.ts +1 -1
- package/dist/service/adapter.js +1 -1
- package/dist/service/adapter.js.map +1 -1
- package/dist/service/cli.js +16 -20
- package/dist/service/cli.js.map +1 -1
- package/dist/service/control.d.ts +2 -2
- package/dist/service/keepalive.d.ts +4 -11
- package/dist/service/keepalive.js +65 -118
- package/dist/service/keepalive.js.map +1 -1
- package/dist/service/policy.d.ts +36 -0
- package/dist/service/policy.js +25 -0
- package/dist/service/policy.js.map +1 -0
- package/dist/service/portable.d.ts +1 -1
- package/dist/service/portable.js +1 -1
- package/dist/service/portable.js.map +1 -1
- package/dist/service/recovery.d.ts +10 -9
- package/dist/service/recovery.js +29 -19
- package/dist/service/recovery.js.map +1 -1
- package/dist/service/windows-action.d.ts +5 -3
- package/dist/service/windows-action.js +6 -9
- package/dist/service/windows-action.js.map +1 -1
- package/dist/service/windows-task.js +5 -5
- package/dist/service/windows-task.js.map +1 -1
- package/dist/sharing-admission.d.ts +17 -0
- package/dist/sharing-admission.js +128 -0
- package/dist/sharing-admission.js.map +1 -0
- package/dist/snapshot-delivery-baseline.d.ts +12 -3
- package/dist/snapshot-delivery-baseline.js +41 -42
- package/dist/snapshot-delivery-baseline.js.map +1 -1
- package/dist/source-proof.d.ts +36 -0
- package/dist/source-proof.js +70 -0
- package/dist/source-proof.js.map +1 -0
- package/dist/source-signature.d.ts +56 -0
- package/dist/source-signature.js +56 -0
- package/dist/source-signature.js.map +1 -0
- package/dist/source-witness.d.ts +15 -0
- package/dist/source-witness.js +29 -0
- package/dist/source-witness.js.map +1 -0
- package/dist/sqlite-durability.d.ts +31 -0
- package/dist/sqlite-durability.js +28 -0
- package/dist/sqlite-durability.js.map +1 -0
- package/dist/sqlite.d.ts +8 -2
- package/dist/sqlite.js +27 -4
- package/dist/sqlite.js.map +1 -1
- package/dist/sync-address.d.ts +19 -0
- package/dist/sync-address.js +52 -0
- package/dist/sync-address.js.map +1 -0
- package/dist/sync-setting.d.ts +15 -0
- package/dist/sync-setting.js +13 -0
- package/dist/sync-setting.js.map +1 -1
- package/dist/turns.d.ts +42 -0
- package/dist/turns.js +112 -0
- package/dist/turns.js.map +1 -0
- package/dist/updates/bootstrap.d.ts +53 -7
- package/dist/updates/bootstrap.js +224 -137
- package/dist/updates/bootstrap.js.map +1 -1
- package/dist/updates/controller.d.ts +8 -0
- package/dist/updates/controller.js +27 -3
- package/dist/updates/controller.js.map +1 -1
- package/dist/updates/store.d.ts +3 -0
- package/dist/updates/store.js +12 -0
- package/dist/updates/store.js.map +1 -1
- package/dist/user-ground-host.d.ts +364 -69
- package/dist/user-ground-host.js +5231 -3366
- package/dist/user-ground-host.js.map +1 -1
- package/dist/watching/fsevents.d.ts +52 -1
- package/dist/watching/fsevents.js +60 -25
- package/dist/watching/fsevents.js.map +1 -1
- package/dist/watching/host.d.ts +129 -5
- package/dist/watching/host.js +433 -80
- package/dist/watching/host.js.map +1 -1
- package/dist/watching/index.d.ts +1 -1
- package/dist/wire-binary.d.ts +3 -2
- package/dist/wire-binary.js +10 -8
- package/dist/wire-binary.js.map +1 -1
- package/dist/wire-client.d.ts +3 -4
- package/dist/wire-client.js +18 -44
- package/dist/wire-client.js.map +1 -1
- package/dist/wire-outbox.d.ts +34 -0
- package/dist/wire-outbox.js +127 -0
- package/dist/wire-outbox.js.map +1 -0
- package/dist/workspace-host.d.ts +4 -0
- package/dist/workspace-host.js +12 -1
- package/dist/workspace-host.js.map +1 -1
- package/examinations/fixtures/private-wire-authority.js +133 -10
- package/npm-shrinkwrap.json +43 -56
- package/package.json +26 -13
|
@@ -0,0 +1,511 @@
|
|
|
1
|
+
/** One active repository's subtree, kept warm on one ground connection: the
|
|
2
|
+
* repository's row and every row reachable beneath it through parent
|
|
3
|
+
* identities, the answer of a recursive subtree read.
|
|
4
|
+
*
|
|
5
|
+
* A view is data only. Whether it is current is the basis law's decision
|
|
6
|
+
* (ground-basis.ts): a view read at sequence S stays exact while no fact that
|
|
7
|
+
* read consumes is stamped after S. A commit that stamps one of them may
|
|
8
|
+
* carry the view to that commit's sequence, from the commit's own final rows,
|
|
9
|
+
* only through a plan made inside the commit and applied after it. */
|
|
10
|
+
import { basename, dirname } from "node:path";
|
|
11
|
+
import { deserialize, serialize } from "node:v8";
|
|
12
|
+
import { sameNotebookBasisRow } from "./detection/notebook-basis.js";
|
|
13
|
+
import { retainContentVerification } from "./detection/verified-content.js";
|
|
14
|
+
import { groundRowProjection, storedWithin } from "./ground-row.js";
|
|
15
|
+
import { cachedStatement } from "./sqlite.js";
|
|
16
|
+
export const activeRepository = (row) => row?.type === "repo.git" && row.status === "active";
|
|
17
|
+
const byUUID = (left, right) => left.uuid < right.uuid ? -1 : left.uuid > right.uuid ? 1 : 0;
|
|
18
|
+
/** A child's slot is its parent and the last segment of its address, which
|
|
19
|
+
* can differ from its portable name. */
|
|
20
|
+
const slot = (parentUUID, name) => `${parentUUID}\0${name}`;
|
|
21
|
+
/** Returns how the count of keys shared by several rows moved. */
|
|
22
|
+
const index = (map, key, uuid, present) => {
|
|
23
|
+
let uuids = map.get(key);
|
|
24
|
+
if (present) {
|
|
25
|
+
if (!uuids)
|
|
26
|
+
map.set(key, uuids = new Set());
|
|
27
|
+
if (uuids.has(uuid))
|
|
28
|
+
return 0;
|
|
29
|
+
uuids.add(uuid);
|
|
30
|
+
return uuids.size === 2 ? 1 : 0;
|
|
31
|
+
}
|
|
32
|
+
if (!uuids?.delete(uuid))
|
|
33
|
+
return 0;
|
|
34
|
+
if (uuids.size === 0)
|
|
35
|
+
map.delete(key);
|
|
36
|
+
return uuids.size === 1 ? -1 : 0;
|
|
37
|
+
};
|
|
38
|
+
const CONTAINER_TYPES = new Set(["workspace", "folder", "repo.git"]);
|
|
39
|
+
/** Rows one read of a parent's children returns, and one page of a subtree
|
|
40
|
+
* crossing threads holds. */
|
|
41
|
+
const READ_ROWS = 256;
|
|
42
|
+
/** Rows one comparing step compares. */
|
|
43
|
+
const COMPARE_ROWS = 64;
|
|
44
|
+
/** One repository's subtree as the current read transaction finds it,
|
|
45
|
+
* parents before children: each member's children in the parent index's UUID
|
|
46
|
+
* order, a bounded page at a time, so no child relation is too wide. A held
|
|
47
|
+
* row is reached again only through a cycle. None when the top is no active
|
|
48
|
+
* repository. */
|
|
49
|
+
export function readSubtree(database, inventory, uuid) {
|
|
50
|
+
const projection = groundRowProjection(inventory);
|
|
51
|
+
const top = cachedStatement(database, `SELECT ${projection} FROM ${inventory} WHERE uuid = ?`).get(uuid);
|
|
52
|
+
if (!activeRepository(top))
|
|
53
|
+
return null;
|
|
54
|
+
const page = cachedStatement(database, `SELECT ${projection} FROM ${inventory}
|
|
55
|
+
WHERE parent_uuid = ? AND uuid > ? ORDER BY uuid LIMIT ${READ_ROWS}`);
|
|
56
|
+
const rows = [top], held = new Set([uuid]), pending = [uuid];
|
|
57
|
+
while (pending.length) {
|
|
58
|
+
const parent = pending.pop();
|
|
59
|
+
for (let after = "";;) {
|
|
60
|
+
const children = page.all(parent, after);
|
|
61
|
+
for (const row of children) {
|
|
62
|
+
if (held.has(row.uuid))
|
|
63
|
+
continue;
|
|
64
|
+
held.add(row.uuid);
|
|
65
|
+
rows.push(row);
|
|
66
|
+
pending.push(row.uuid);
|
|
67
|
+
}
|
|
68
|
+
if (children.length < READ_ROWS)
|
|
69
|
+
break;
|
|
70
|
+
after = children.at(-1).uuid;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return rows;
|
|
74
|
+
}
|
|
75
|
+
/** A subtree as it crosses to the main thread, serialized in pages the
|
|
76
|
+
* receiver deserializes one per step: one clone of a large subtree would hold
|
|
77
|
+
* that thread for the whole. Each page owns its buffer, for transfer. */
|
|
78
|
+
export function subtreePages(rows) {
|
|
79
|
+
const pages = [];
|
|
80
|
+
for (let at = 0; at < rows.length; at += READ_ROWS)
|
|
81
|
+
pages.push(serialize(rows.slice(at, at + READ_ROWS)));
|
|
82
|
+
return pages;
|
|
83
|
+
}
|
|
84
|
+
/** Whether one repository's two views hold its rows alike: B holds every
|
|
85
|
+
* identity O holds, each exactly as admitting O's row would leave it, and
|
|
86
|
+
* every identity only B holds is retired, inactive itself or beneath one
|
|
87
|
+
* such. Compared once per pair of views, a few rows per step; every carried
|
|
88
|
+
* commit then updates the identities it changed in either, from the first
|
|
89
|
+
* step on, and a row compared again answers the same. */
|
|
90
|
+
class Agreement {
|
|
91
|
+
o;
|
|
92
|
+
b;
|
|
93
|
+
#differing = new Set();
|
|
94
|
+
#retired = new Set();
|
|
95
|
+
/** The first comparison, which `whole` completes. */
|
|
96
|
+
comparing;
|
|
97
|
+
constructor(o, b) {
|
|
98
|
+
this.o = o;
|
|
99
|
+
this.b = b;
|
|
100
|
+
this.comparing = this.#compare();
|
|
101
|
+
}
|
|
102
|
+
get whole() {
|
|
103
|
+
for (let step = this.comparing.next(); !step.done; step = this.comparing.next())
|
|
104
|
+
;
|
|
105
|
+
return this.#differing.size === 0;
|
|
106
|
+
}
|
|
107
|
+
*#compare() {
|
|
108
|
+
let count = 0;
|
|
109
|
+
for (const row of this.o.values()) {
|
|
110
|
+
this.touch(row.uuid);
|
|
111
|
+
if (++count % COMPARE_ROWS === 0)
|
|
112
|
+
yield;
|
|
113
|
+
}
|
|
114
|
+
for (const row of this.b.values()) {
|
|
115
|
+
if (this.o.holds(row.uuid))
|
|
116
|
+
continue;
|
|
117
|
+
this.touch(row.uuid);
|
|
118
|
+
if (++count % COMPARE_ROWS === 0)
|
|
119
|
+
yield;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
touch(uuid) {
|
|
123
|
+
const o = this.o.get(uuid), b = this.b.get(uuid);
|
|
124
|
+
const was = this.#retired.delete(uuid);
|
|
125
|
+
const retired = !o && b !== undefined
|
|
126
|
+
&& (b.status !== "active" || (b.parentUUID !== null && this.#retired.has(b.parentUUID)));
|
|
127
|
+
if (retired)
|
|
128
|
+
this.#retired.add(uuid);
|
|
129
|
+
if (o ? b !== undefined && sameNotebookBasisRow(retainContentVerification(b, o), b) : b === undefined || retired) {
|
|
130
|
+
this.#differing.delete(uuid);
|
|
131
|
+
}
|
|
132
|
+
else
|
|
133
|
+
this.#differing.add(uuid);
|
|
134
|
+
// A child only B holds retires, or returns, with its parent.
|
|
135
|
+
if (retired !== was)
|
|
136
|
+
for (const child of this.b.childrenOf(uuid))
|
|
137
|
+
if (!this.o.holds(child))
|
|
138
|
+
this.touch(child);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
export class TerritoryView {
|
|
142
|
+
inventory;
|
|
143
|
+
uuid;
|
|
144
|
+
#rows = new Map();
|
|
145
|
+
#children = new Map();
|
|
146
|
+
/** Active repositories beneath the top, and each root's row count. */
|
|
147
|
+
#nested = new Set();
|
|
148
|
+
#roots = new Map();
|
|
149
|
+
#misplaced = new Set();
|
|
150
|
+
/** Every status: a trashed row can keep an address or object an active one
|
|
151
|
+
* now holds. */
|
|
152
|
+
#byAddress = new Map();
|
|
153
|
+
#byPhysical = new Map();
|
|
154
|
+
#slots = new Map();
|
|
155
|
+
/** Rows beneath the top that do not stand at their parent container's
|
|
156
|
+
* address plus a name, and addresses or slots several rows share. While
|
|
157
|
+
* both are empty an address names one row, and a row stands beneath
|
|
158
|
+
* another's address exactly when it descends from that row. */
|
|
159
|
+
#detached = new Set();
|
|
160
|
+
#crowded = 0;
|
|
161
|
+
#references = 0;
|
|
162
|
+
/** Rows not active, and active members beneath the top whose payload names
|
|
163
|
+
* a Git index object. */
|
|
164
|
+
#inactive = 0;
|
|
165
|
+
#indexed = 0;
|
|
166
|
+
#answer;
|
|
167
|
+
#agreement = null;
|
|
168
|
+
/** Moves whenever the rows change. */
|
|
169
|
+
#version = 0;
|
|
170
|
+
#retired = false;
|
|
171
|
+
constructor(inventory, uuid) {
|
|
172
|
+
this.inventory = inventory;
|
|
173
|
+
this.uuid = uuid;
|
|
174
|
+
}
|
|
175
|
+
/** A subtree a content thread read (`subtreePages`), entered one page per
|
|
176
|
+
* step, so a caller may pause between steps. */
|
|
177
|
+
static *building(inventory, uuid, pages) {
|
|
178
|
+
const view = new TerritoryView(inventory, uuid);
|
|
179
|
+
for (const page of pages) {
|
|
180
|
+
for (const row of deserialize(page))
|
|
181
|
+
view.#enter(Object.freeze(row));
|
|
182
|
+
yield;
|
|
183
|
+
}
|
|
184
|
+
return view;
|
|
185
|
+
}
|
|
186
|
+
/** The subtree as the current transaction stores it. */
|
|
187
|
+
static load(database, inventory, uuid) {
|
|
188
|
+
const rows = readSubtree(database, inventory, uuid);
|
|
189
|
+
if (!rows)
|
|
190
|
+
throw new Error(`territory top ${uuid} is not an active repository`);
|
|
191
|
+
const view = new TerritoryView(inventory, uuid);
|
|
192
|
+
for (const row of rows)
|
|
193
|
+
view.#enter(Object.freeze(row));
|
|
194
|
+
return view;
|
|
195
|
+
}
|
|
196
|
+
/** Whether O's view and B's view of one repository hold its rows alike. An
|
|
197
|
+
* agreement answers only while both views have carried every commit into
|
|
198
|
+
* it; else the pair agrees afresh. */
|
|
199
|
+
static alike(o, b) { return TerritoryView.#paired(o, b).whole; }
|
|
200
|
+
/** The pair's first comparison, a few rows per step, for a caller that
|
|
201
|
+
* pauses between them; `alike` completes whatever remains. */
|
|
202
|
+
static agreeing(o, b) { return TerritoryView.#paired(o, b).comparing; }
|
|
203
|
+
static #paired(o, b) {
|
|
204
|
+
let agreement = o.#agreement;
|
|
205
|
+
if (agreement?.b !== b || b.#agreement !== agreement)
|
|
206
|
+
o.#agreement = b.#agreement = agreement = new Agreement(o, b);
|
|
207
|
+
return agreement;
|
|
208
|
+
}
|
|
209
|
+
get nested() { return this.#nested; }
|
|
210
|
+
get roots() { return this.#roots.keys(); }
|
|
211
|
+
get version() { return this.#version; }
|
|
212
|
+
/** Out of the warm set: nothing carries it any more. A handle opened
|
|
213
|
+
* before still answers its snapshot, which the basis law judges. */
|
|
214
|
+
retire() { this.#retired = true; }
|
|
215
|
+
get rowCount() { return this.#rows.size; }
|
|
216
|
+
get misplaced() { return this.#misplaced.size; }
|
|
217
|
+
get nestedCount() { return this.#nested.size; }
|
|
218
|
+
get referenceCount() { return this.#references; }
|
|
219
|
+
get inactiveCount() { return this.#inactive; }
|
|
220
|
+
get indexedCount() { return this.#indexed; }
|
|
221
|
+
get consistent() { return this.#detached.size === 0 && this.#crowded === 0; }
|
|
222
|
+
holds(uuid) { return this.#rows.has(uuid); }
|
|
223
|
+
get(uuid) { return this.#rows.get(uuid); }
|
|
224
|
+
lookup(by, key) {
|
|
225
|
+
return (by === "address" ? this.#byAddress : by === "physical" ? this.#byPhysical : this.#slots).get(key) ?? [];
|
|
226
|
+
}
|
|
227
|
+
childrenOf(parentUUID) { return this.#children.get(parentUUID) ?? []; }
|
|
228
|
+
childCount(parentUUID) { return this.#children.get(parentUUID)?.size ?? 0; }
|
|
229
|
+
values() { return this.#rows.values(); }
|
|
230
|
+
answer() {
|
|
231
|
+
return this.#answer ??= Object.freeze({
|
|
232
|
+
top: this.#rows.get(this.uuid),
|
|
233
|
+
rows: Object.freeze([...this.#rows.values()].sort(byUUID)),
|
|
234
|
+
uuids: new Set(this.#rows.keys()),
|
|
235
|
+
placed: this.#misplaced.size === 0,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
/** Inside the commit, after its rows and before its stamps: this view with
|
|
239
|
+
* the commit's changed rows as stored now, or null when the commit cannot
|
|
240
|
+
* be carried. A row entering the view must bring every child it has in the
|
|
241
|
+
* same commit; a child the view never held, or children not known, is
|
|
242
|
+
* unknown ground. */
|
|
243
|
+
plan(stored, children, changed) {
|
|
244
|
+
const final = new Map();
|
|
245
|
+
for (const uuid of changed)
|
|
246
|
+
final.set(uuid, stored(uuid));
|
|
247
|
+
if (final.has(this.uuid) && !activeRepository(final.get(this.uuid)))
|
|
248
|
+
return null;
|
|
249
|
+
// A changed row that is gone or has a new parent detaches with every
|
|
250
|
+
// descendant the view holds; each rejoins if its final parent is a member.
|
|
251
|
+
const detached = new Set();
|
|
252
|
+
const detach = (uuid) => {
|
|
253
|
+
if (detached.has(uuid))
|
|
254
|
+
return;
|
|
255
|
+
detached.add(uuid);
|
|
256
|
+
for (const child of this.#children.get(uuid) ?? [])
|
|
257
|
+
detach(child);
|
|
258
|
+
};
|
|
259
|
+
for (const [uuid, row] of final) {
|
|
260
|
+
const held = this.#rows.get(uuid);
|
|
261
|
+
if (held && uuid !== this.uuid && (!row || row.parentUUID !== held.parentUUID))
|
|
262
|
+
detach(uuid);
|
|
263
|
+
}
|
|
264
|
+
const parentOf = (uuid) => (final.has(uuid) ? final.get(uuid) : this.#rows.get(uuid)).parentUUID;
|
|
265
|
+
const entered = new Set();
|
|
266
|
+
const member = (uuid) => entered.has(uuid) || (this.#rows.has(uuid) && !detached.has(uuid));
|
|
267
|
+
const waiting = new Map();
|
|
268
|
+
const ready = [];
|
|
269
|
+
for (const uuid of new Set([...detached, ...final.keys()])) {
|
|
270
|
+
if (member(uuid) || (final.has(uuid) && !final.get(uuid)))
|
|
271
|
+
continue;
|
|
272
|
+
const parent = parentOf(uuid);
|
|
273
|
+
if (parent === null)
|
|
274
|
+
continue;
|
|
275
|
+
if (member(parent))
|
|
276
|
+
ready.push(uuid);
|
|
277
|
+
else {
|
|
278
|
+
const siblings = waiting.get(parent);
|
|
279
|
+
if (siblings)
|
|
280
|
+
siblings.push(uuid);
|
|
281
|
+
else
|
|
282
|
+
waiting.set(parent, [uuid]);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
for (let uuid = ready.pop(); uuid !== undefined; uuid = ready.pop()) {
|
|
286
|
+
entered.add(uuid);
|
|
287
|
+
for (const child of waiting.get(uuid) ?? [])
|
|
288
|
+
ready.push(child);
|
|
289
|
+
waiting.delete(uuid);
|
|
290
|
+
if (this.#rows.has(uuid))
|
|
291
|
+
continue;
|
|
292
|
+
const known = children(uuid);
|
|
293
|
+
if (!known)
|
|
294
|
+
return null;
|
|
295
|
+
for (const child of known)
|
|
296
|
+
if (!final.has(child))
|
|
297
|
+
return null;
|
|
298
|
+
}
|
|
299
|
+
const put = [];
|
|
300
|
+
for (const [uuid, row] of final)
|
|
301
|
+
if (row && (member(uuid) || uuid === this.uuid))
|
|
302
|
+
put.push(Object.freeze(row));
|
|
303
|
+
return { removed: [...detached].filter(uuid => !entered.has(uuid)), put };
|
|
304
|
+
}
|
|
305
|
+
/** After the commit that planned it. */
|
|
306
|
+
apply(plan) {
|
|
307
|
+
if (this.#retired)
|
|
308
|
+
throw new Error(`territory ${this.uuid} was retired`);
|
|
309
|
+
this.#version += 1;
|
|
310
|
+
const top = this.#rows.get(this.uuid);
|
|
311
|
+
for (const uuid of plan.removed)
|
|
312
|
+
this.#remove(uuid);
|
|
313
|
+
for (const row of plan.put) {
|
|
314
|
+
this.#remove(row.uuid);
|
|
315
|
+
this.#add(row);
|
|
316
|
+
}
|
|
317
|
+
const moved = this.#rows.get(this.uuid);
|
|
318
|
+
if (moved.rootUUID !== top.rootUUID || moved.resourceId !== top.resourceId || moved.absolutePath !== top.absolutePath) {
|
|
319
|
+
this.#place();
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
// A row's standing reads its parent, so a changed or departed parent
|
|
323
|
+
// settles its remaining children again.
|
|
324
|
+
for (const row of plan.put) {
|
|
325
|
+
this.#check(row);
|
|
326
|
+
this.#stand(row.uuid);
|
|
327
|
+
}
|
|
328
|
+
for (const uuid of [...plan.removed, ...plan.put.map(row => row.uuid)]) {
|
|
329
|
+
for (const child of this.#children.get(uuid) ?? [])
|
|
330
|
+
this.#stand(child);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
for (const uuid of plan.removed)
|
|
334
|
+
this.#agreement?.touch(uuid);
|
|
335
|
+
for (const row of plan.put)
|
|
336
|
+
this.#agreement?.touch(row.uuid);
|
|
337
|
+
this.#answer = undefined;
|
|
338
|
+
}
|
|
339
|
+
/** A row whose parent, and the top, the view already holds. */
|
|
340
|
+
#enter(row) {
|
|
341
|
+
this.#add(row);
|
|
342
|
+
this.#check(row);
|
|
343
|
+
this.#stand(row.uuid);
|
|
344
|
+
}
|
|
345
|
+
#add(row) {
|
|
346
|
+
this.#rows.set(row.uuid, row);
|
|
347
|
+
if (row.uuid !== this.uuid && row.parentUUID !== null) {
|
|
348
|
+
let children = this.#children.get(row.parentUUID);
|
|
349
|
+
if (!children)
|
|
350
|
+
this.#children.set(row.parentUUID, children = new Set());
|
|
351
|
+
children.add(row.uuid);
|
|
352
|
+
}
|
|
353
|
+
if (row.uuid !== this.uuid && activeRepository(row))
|
|
354
|
+
this.#nested.add(row.uuid);
|
|
355
|
+
this.#roots.set(row.rootUUID, (this.#roots.get(row.rootUUID) ?? 0) + 1);
|
|
356
|
+
this.#indexRow(row, true);
|
|
357
|
+
}
|
|
358
|
+
#indexRow(row, present) {
|
|
359
|
+
this.#crowded += index(this.#byAddress, row.absolutePath, row.uuid, present);
|
|
360
|
+
// Hardlinks legitimately share one object.
|
|
361
|
+
index(this.#byPhysical, row.physicalKey, row.uuid, present);
|
|
362
|
+
if (row.uuid !== this.uuid && row.parentUUID !== null) {
|
|
363
|
+
this.#crowded += index(this.#slots, slot(row.parentUUID, basename(row.absolutePath)), row.uuid, present);
|
|
364
|
+
}
|
|
365
|
+
const step = present ? 1 : -1;
|
|
366
|
+
if (row.status !== "active")
|
|
367
|
+
this.#inactive += step;
|
|
368
|
+
else if (row.type === "reference")
|
|
369
|
+
this.#references += step;
|
|
370
|
+
else if (row.uuid !== this.uuid && row.payloadVersion?.startsWith("git:"))
|
|
371
|
+
this.#indexed += step;
|
|
372
|
+
}
|
|
373
|
+
#remove(uuid) {
|
|
374
|
+
const row = this.#rows.get(uuid);
|
|
375
|
+
if (!row)
|
|
376
|
+
return;
|
|
377
|
+
this.#rows.delete(uuid);
|
|
378
|
+
if (row.parentUUID !== null) {
|
|
379
|
+
const siblings = this.#children.get(row.parentUUID);
|
|
380
|
+
siblings?.delete(uuid);
|
|
381
|
+
if (siblings?.size === 0)
|
|
382
|
+
this.#children.delete(row.parentUUID);
|
|
383
|
+
}
|
|
384
|
+
this.#nested.delete(uuid);
|
|
385
|
+
this.#indexRow(row, false);
|
|
386
|
+
const count = this.#roots.get(row.rootUUID) - 1;
|
|
387
|
+
if (count === 0)
|
|
388
|
+
this.#roots.delete(row.rootUUID);
|
|
389
|
+
else
|
|
390
|
+
this.#roots.set(row.rootUUID, count);
|
|
391
|
+
this.#misplaced.delete(uuid);
|
|
392
|
+
this.#detached.delete(uuid);
|
|
393
|
+
}
|
|
394
|
+
#stand(uuid) {
|
|
395
|
+
const row = this.#rows.get(uuid);
|
|
396
|
+
if (!row || uuid === this.uuid)
|
|
397
|
+
return;
|
|
398
|
+
const parent = row.parentUUID === null ? undefined : this.#rows.get(row.parentUUID);
|
|
399
|
+
if (parent && CONTAINER_TYPES.has(parent.type) && dirname(row.absolutePath) === parent.absolutePath)
|
|
400
|
+
this.#detached.delete(uuid);
|
|
401
|
+
else
|
|
402
|
+
this.#detached.add(uuid);
|
|
403
|
+
}
|
|
404
|
+
#check(row) {
|
|
405
|
+
const top = this.#rows.get(this.uuid);
|
|
406
|
+
const placed = row.rootUUID === top.rootUUID && row.resourceId === top.resourceId
|
|
407
|
+
&& storedWithin(top.absolutePath, row.absolutePath);
|
|
408
|
+
if (placed)
|
|
409
|
+
this.#misplaced.delete(row.uuid);
|
|
410
|
+
else
|
|
411
|
+
this.#misplaced.add(row.uuid);
|
|
412
|
+
}
|
|
413
|
+
#place() {
|
|
414
|
+
this.#misplaced.clear();
|
|
415
|
+
this.#detached.clear();
|
|
416
|
+
for (const row of this.#rows.values()) {
|
|
417
|
+
this.#check(row);
|
|
418
|
+
this.#stand(row.uuid);
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
/** One view as a snapshot found it exact. It answers only while the view
|
|
423
|
+
* has not moved since; every later call throws the reads' own error. */
|
|
424
|
+
export class TerritoryHandle {
|
|
425
|
+
#view;
|
|
426
|
+
#version;
|
|
427
|
+
#reads;
|
|
428
|
+
constructor(view, reads) {
|
|
429
|
+
this.#view = view;
|
|
430
|
+
this.#version = view.version;
|
|
431
|
+
this.#reads = reads;
|
|
432
|
+
}
|
|
433
|
+
get uuid() { return this.#view.uuid; }
|
|
434
|
+
get top() { return this.#rowOf(this.#view.uuid); }
|
|
435
|
+
get placed() { this.#exact(); return this.#view.misplaced === 0; }
|
|
436
|
+
get size() { this.#exact(); return this.#view.rowCount; }
|
|
437
|
+
/** Active repositories beneath the top, and active reference rows. */
|
|
438
|
+
get nested() { this.#exact(); return this.#view.nestedCount; }
|
|
439
|
+
get references() { this.#exact(); return this.#view.referenceCount; }
|
|
440
|
+
/** Rows not active, and active members whose payload names a Git index
|
|
441
|
+
* object. */
|
|
442
|
+
get inactive() { this.#exact(); return this.#view.inactiveCount; }
|
|
443
|
+
get indexed() { this.#exact(); return this.#view.indexedCount; }
|
|
444
|
+
/** Addresses and slots each name one row, and every row beneath the top
|
|
445
|
+
* stands at its parent container's address plus a name. */
|
|
446
|
+
get consistent() { this.#exact(); return this.#view.consistent; }
|
|
447
|
+
/** This O view and B's view of the same repository hold its rows alike. */
|
|
448
|
+
alike(b) { this.#exact(); b.#exact(); return TerritoryView.alike(this.#view, b.#view); }
|
|
449
|
+
has(uuid) { this.#exact(); return this.#view.holds(uuid); }
|
|
450
|
+
row(uuid) { return this.#rowOf(uuid); }
|
|
451
|
+
at(absolutePath) { return this.#rowsOf(this.#view.lookup("address", absolutePath)); }
|
|
452
|
+
physical(physicalKey) { return this.#rowsOf(this.#view.lookup("physical", physicalKey)); }
|
|
453
|
+
/** Rows beneath this parent whose address ends in this name. */
|
|
454
|
+
slot(parentUUID, name) {
|
|
455
|
+
return this.#rowsOf(this.#view.lookup("slot", slot(parentUUID, name)));
|
|
456
|
+
}
|
|
457
|
+
children(parentUUID) { return this.#rowsOf(this.#view.childrenOf(parentUUID)); }
|
|
458
|
+
/** This row and every ancestor up to the top are active. */
|
|
459
|
+
activeIn(uuid) {
|
|
460
|
+
for (let row = this.#rowOf(uuid);; row = this.#rowOf(row.parentUUID)) {
|
|
461
|
+
if (!row || row.status !== "active")
|
|
462
|
+
return false;
|
|
463
|
+
if (row.uuid === this.#view.uuid)
|
|
464
|
+
return true;
|
|
465
|
+
if (row.parentUUID === null)
|
|
466
|
+
return false;
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
/** Reads that protect nothing: a caller that writes a row reads it above.
|
|
470
|
+
* The basis still consumes the whole territory, so they are S0 facts. */
|
|
471
|
+
peek(uuid) { this.#exact(); return this.#view.get(uuid); }
|
|
472
|
+
peekAt(absolutePath) { return this.#peekAll(this.#view.lookup("address", absolutePath)); }
|
|
473
|
+
peekChildren(parentUUID) { return this.#peekAll(this.#view.childrenOf(parentUUID)); }
|
|
474
|
+
peekPhysical(physicalKey) { return this.#peekAll(this.#view.lookup("physical", physicalKey)); }
|
|
475
|
+
peekSlot(parentUUID, name) {
|
|
476
|
+
return this.#peekAll(this.#view.lookup("slot", slot(parentUUID, name)));
|
|
477
|
+
}
|
|
478
|
+
childCount(parentUUID) { this.#exact(); return this.#view.childCount(parentUUID); }
|
|
479
|
+
/** The whole subtree in no order, protecting nothing. */
|
|
480
|
+
peekRows() { this.#exact(); return [...this.#view.values()]; }
|
|
481
|
+
/** The whole subtree, the top included, ordered by UUID. */
|
|
482
|
+
rows() {
|
|
483
|
+
this.#exact();
|
|
484
|
+
const answer = this.#view.answer();
|
|
485
|
+
this.#reads.readAll(answer.uuids);
|
|
486
|
+
return answer.rows;
|
|
487
|
+
}
|
|
488
|
+
#exact() { if (this.#view.version !== this.#version)
|
|
489
|
+
throw this.#reads.moved(); }
|
|
490
|
+
#rowOf(uuid) {
|
|
491
|
+
this.#exact();
|
|
492
|
+
const row = this.#view.get(uuid);
|
|
493
|
+
if (row)
|
|
494
|
+
this.#reads.read(row);
|
|
495
|
+
return row;
|
|
496
|
+
}
|
|
497
|
+
#peekAll(uuids) {
|
|
498
|
+
this.#exact();
|
|
499
|
+
const rows = [];
|
|
500
|
+
for (const uuid of uuids)
|
|
501
|
+
rows.push(this.#view.get(uuid));
|
|
502
|
+
return rows;
|
|
503
|
+
}
|
|
504
|
+
#rowsOf(uuids) {
|
|
505
|
+
const rows = [];
|
|
506
|
+
for (const uuid of uuids)
|
|
507
|
+
rows.push(this.#rowOf(uuid));
|
|
508
|
+
return rows;
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
//# sourceMappingURL=ground-territory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ground-territory.js","sourceRoot":"","sources":["../src/ground-territory.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export { FileWorkspaceStore } from "./workspace-store.js";
|
|
|
17
17
|
export { WireClient, WireRequestError } from "./wire-client.js";
|
|
18
18
|
export type { WireClientOptions } from "./wire-client.js";
|
|
19
19
|
export { UserGroundHost } from "./user-ground-host.js";
|
|
20
|
-
export type { DetectScanEvidence, UserGroundHostOptions, WorkspaceAddStage, } from "./user-ground-host.js";
|
|
20
|
+
export type { DetectScanEvidence, UserGroundCatchUp, UserGroundClosed, UserGroundHostOptions, WorkspaceAddStage, } from "./user-ground-host.js";
|
|
21
21
|
export { NodeWatchHost } from "./watching/index.js";
|
|
22
22
|
export type { NativeWatchHandle, NodeWatchHostOptions, OpenNativeWatch, WatchGround, WatchCoverageEvidence, WatchHealth, WatchObservation, WatchCloseOptions, } from "./watching/index.js";
|
|
23
23
|
export { MachineHost, defaultMachineName } from "./machine-host.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,oCAAoC,EACpC,+BAA+B,EAC/B,4BAA4B,EAC5B,kCAAkC,GACnC,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,oCAAoC,EACpC,+BAA+B,EAC/B,4BAA4B,EAC5B,kCAAkC,GACnC,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAWpD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAYpE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -26,5 +26,3 @@ export declare class InstallationOwnership {
|
|
|
26
26
|
waitForRuntime(userScope: string, timeoutMs?: number): Promise<void>;
|
|
27
27
|
close(): void;
|
|
28
28
|
}
|
|
29
|
-
/** Resolve existing symlink ancestors even before a new destination exists. */
|
|
30
|
-
export declare function physicalPath(requestedPath: string): string;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { mkdirSync, statSync } from 'node:fs';
|
|
3
|
+
import { join, parse, sep } from 'node:path';
|
|
4
4
|
import { openFileDatabase } from '../sqlite.js';
|
|
5
|
+
import { physicalPath } from '../sync-address.js';
|
|
5
6
|
import { acquireProcessLease } from './lease.js';
|
|
6
7
|
import { resolveRuntimeBinding, runtimeBindingsMatch, writableRootsOverlap, } from '@amalgm/core/identity';
|
|
7
8
|
/** One machine-local ownership ledger, independent of any selected lane.
|
|
@@ -118,19 +119,6 @@ export class InstallationOwnership {
|
|
|
118
119
|
this.database.close();
|
|
119
120
|
}
|
|
120
121
|
}
|
|
121
|
-
/** Resolve existing symlink ancestors even before a new destination exists. */
|
|
122
|
-
export function physicalPath(requestedPath) {
|
|
123
|
-
let ancestor = resolve(requestedPath);
|
|
124
|
-
const absent = [];
|
|
125
|
-
while (!existsSync(ancestor)) {
|
|
126
|
-
const parent = dirname(ancestor);
|
|
127
|
-
if (parent === ancestor)
|
|
128
|
-
throw new Error(`Cannot resolve physical root ${requestedPath}`);
|
|
129
|
-
absent.unshift(basename(ancestor));
|
|
130
|
-
ancestor = parent;
|
|
131
|
-
}
|
|
132
|
-
return join(realpathSync.native(ancestor), ...absent);
|
|
133
|
-
}
|
|
134
122
|
function physicalComponents(path) {
|
|
135
123
|
const root = parse(path).root;
|
|
136
124
|
const components = [root, ...path.slice(root.length).split(sep).filter(Boolean)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownership.js","sourceRoot":"","sources":["../../src/installation/ownership.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ownership.js","sourceRoot":"","sources":["../../src/installation/ownership.ts"],"names":[],"mappings":"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"}
|
package/dist/machine-host.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { type DeviceKeyStore } from "./authorization/index.js";
|
|
|
9
9
|
import { type AuthorizationKeyRecoveryResult } from "./authorization/recovery-host.js";
|
|
10
10
|
import type { PlatformProductHostOptions } from "./platform-product-host.js";
|
|
11
11
|
import { type RuntimeCommandPath, type RuntimeCommandConnection } from "./runtime-command-host.js";
|
|
12
|
-
import type { UserGroundHost, DetectScanEvidence, UserGroundCloseOptions, WorkspaceAddStage } from "./user-ground-host.js";
|
|
12
|
+
import type { UserGroundHost, DetectScanEvidence, UserGroundCloseOptions, UserGroundClosed, WorkspaceAddStage } from "./user-ground-host.js";
|
|
13
13
|
import type { OpenNativeWatch, WatchCoverageEvidence, WatchHealth } from "./watching/index.js";
|
|
14
14
|
export interface MachineHostOptions {
|
|
15
15
|
readonly onWireError?: (error: unknown) => void;
|
|
@@ -155,7 +155,8 @@ export declare class MachineHost {
|
|
|
155
155
|
/** The global Channels CLI enters through the running Shell's private
|
|
156
156
|
* loopback MCP route. Shell alone reads the local admission capability. */
|
|
157
157
|
channelsCommands(): ChannelsCommands;
|
|
158
|
-
|
|
158
|
+
/** Resolves with the Files catch-up outcome, or null when no Files lifetime ran. */
|
|
159
|
+
close(options?: UserGroundCloseOptions): Promise<UserGroundClosed | null>;
|
|
159
160
|
private drainRuntime;
|
|
160
161
|
private syncSettingFile;
|
|
161
162
|
syncMode(): SyncMode;
|