@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
package/dist/git-command.d.ts
CHANGED
|
@@ -1,8 +1,61 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
/** The one Git installation this process reads through. The launching
|
|
2
|
+
* environment is not repository ground: no inherited GIT_* variable and no
|
|
3
|
+
* machine configuration can redirect storage, configuration or the index.
|
|
4
|
+
* Resolved once, so opening and closing reads always share one invocation,
|
|
5
|
+
* and its key enters every retained Git observation. */
|
|
6
|
+
export interface GitHost {
|
|
7
|
+
/** The toolchain's own binary, never a launcher that chooses one per run. */
|
|
8
|
+
readonly executable: string;
|
|
9
|
+
readonly version: string;
|
|
10
|
+
readonly environment: Readonly<NodeJS.ProcessEnv>;
|
|
11
|
+
/** The toolchain generation: the pinned binary's identity, its version and
|
|
12
|
+
* the frozen HOME a `~/` include resolves against. */
|
|
13
|
+
readonly key: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function gitHost(): GitHost;
|
|
16
|
+
/** A retained Git answer is reusable only under the generation that produced
|
|
17
|
+
* it. A replaced binary retires that generation for the whole process: the
|
|
18
|
+
* next read resolves the toolchain again, so no later answer carries the old
|
|
19
|
+
* key. One metadata read, never a hash of the executable. */
|
|
20
|
+
export declare function currentGitHost(): GitHost;
|
|
21
|
+
/** A generation as plain data, so a content thread reads through exactly the
|
|
22
|
+
* toolchain its dispatcher resolved instead of resolving one of its own. */
|
|
23
|
+
export type GitHostPin = GitHost & {
|
|
24
|
+
readonly identity: string;
|
|
25
|
+
};
|
|
26
|
+
export declare function gitHostPin(): GitHostPin;
|
|
27
|
+
/** A replaced binary still retires the pinned generation at the next check. */
|
|
28
|
+
export declare function pinGitHost(pin: GitHostPin): void;
|
|
29
|
+
/** A profile adds only the settings it deliberately owns (private storage,
|
|
30
|
+
* object alternates, locale); the host environment beneath it never changes. */
|
|
31
|
+
export type GitProfile = Readonly<Record<string, string>>;
|
|
32
|
+
/** Which question a Git process answers. Evidence only, never an input. */
|
|
33
|
+
export type GitPurpose = "binding" | "configuration" | "card" | "checkpoint" | "transport" | "apply";
|
|
34
|
+
export interface GitInvocation {
|
|
35
|
+
/** Bytes, or a stream whose own errors fail the invocation. */
|
|
36
|
+
readonly input?: Uint8Array | AsyncIterable<Uint8Array>;
|
|
37
|
+
readonly profile?: GitProfile;
|
|
38
|
+
readonly purpose?: GitPurpose;
|
|
39
|
+
/** A re-read that closes a retained observation rather than opening one. */
|
|
40
|
+
readonly closing?: boolean;
|
|
41
|
+
}
|
|
42
|
+
/** A completed Git process that did not succeed. Exit status and both output
|
|
43
|
+
* streams are retained so a caller can recognize a documented answer. `code`
|
|
44
|
+
* names the absence of the directory Git ran in, when it no longer stood once
|
|
45
|
+
* Git failed: that address emptied, whatever Git or the spawn said about it. */
|
|
46
|
+
export declare class GitFailure extends Error {
|
|
47
|
+
readonly status: number | null;
|
|
48
|
+
readonly signal: NodeJS.Signals | null;
|
|
49
|
+
readonly stdout: Buffer;
|
|
50
|
+
readonly stderr: Buffer;
|
|
51
|
+
readonly code?: "ENOENT" | "ENOTDIR" | undefined;
|
|
52
|
+
constructor(args: readonly string[], status: number | null, signal: NodeJS.Signals | null, stdout: Buffer, stderr: Buffer, cause?: unknown, code?: "ENOENT" | "ENOTDIR" | undefined);
|
|
53
|
+
}
|
|
54
|
+
export declare function runGit(cwd: string, args: readonly string[], invocation?: GitInvocation): Promise<Buffer>;
|
|
55
|
+
/** Only callers whose Git command documents exit 1 as absence/no-match may
|
|
56
|
+
* use this helper. Other failures always remain failures. */
|
|
57
|
+
export declare function runGitSearch(cwd: string, args: readonly string[], invocation?: GitInvocation): Promise<Buffer>;
|
|
58
|
+
/** Stream a potentially large Git result directly to a private destination.
|
|
59
|
+
* The descriptor closes only after the writing process has exited. */
|
|
60
|
+
export declare function runGitToFile(cwd: string, args: readonly string[], file: string, invocation?: GitInvocation): Promise<void>;
|
|
61
|
+
export declare const gitText: (cwd: string, args: readonly string[], invocation?: GitInvocation) => Promise<string>;
|
package/dist/git-command.js
CHANGED
|
@@ -1,84 +1,238 @@
|
|
|
1
|
-
import { execFileSync } from "node:child_process";
|
|
2
|
-
import {
|
|
1
|
+
import { execFileSync, spawn } from "node:child_process";
|
|
2
|
+
import { channel } from "node:diagnostics_channel";
|
|
3
|
+
import { accessSync, closeSync, constants, openSync, realpathSync, statSync } from "node:fs";
|
|
4
|
+
import { delimiter, isAbsolute, join } from "node:path";
|
|
5
|
+
import { pipeline } from "node:stream/promises";
|
|
3
6
|
const MAX_GIT_BUFFER = 512 * 1024 * 1024;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
const DEV_NULL = process.platform === "win32" ? "NUL" : "/dev/null";
|
|
8
|
+
/** Settings every Shell Git invocation owns, whatever else its profile adds. */
|
|
9
|
+
const OWNED = Object.freeze({
|
|
10
|
+
GIT_TERMINAL_PROMPT: "0",
|
|
11
|
+
// Internal commands own piped output; a user's interactive pager is not a
|
|
12
|
+
// repository input and must never start another process here.
|
|
13
|
+
GIT_PAGER: "cat",
|
|
14
|
+
// Reader commands must neither weaken required flushes nor refresh indexes.
|
|
15
|
+
GIT_TEST_FSYNC: "1",
|
|
16
|
+
GIT_OPTIONAL_LOCKS: "0",
|
|
17
|
+
// Reading a source repository never fetches from a promisor remote.
|
|
18
|
+
GIT_NO_LAZY_FETCH: "1",
|
|
19
|
+
// A repository answer depends only on repository-owned bytes and this Git
|
|
20
|
+
// installation. System and user configuration, attributes and ignores are
|
|
21
|
+
// one machine's policy that no other machine sees; they must never enter a
|
|
22
|
+
// Card, a Checkpoint or an Apply decision.
|
|
23
|
+
GIT_CONFIG_NOSYSTEM: "1",
|
|
24
|
+
GIT_CONFIG_SYSTEM: DEV_NULL,
|
|
25
|
+
GIT_CONFIG_GLOBAL: DEV_NULL,
|
|
26
|
+
GIT_ATTR_NOSYSTEM: "1",
|
|
27
|
+
GIT_CONFIG_COUNT: "2",
|
|
28
|
+
GIT_CONFIG_KEY_0: "core.attributesFile",
|
|
29
|
+
GIT_CONFIG_VALUE_0: "",
|
|
30
|
+
GIT_CONFIG_KEY_1: "core.excludesFile",
|
|
31
|
+
GIT_CONFIG_VALUE_1: "",
|
|
32
|
+
});
|
|
33
|
+
function findExecutable(path) {
|
|
34
|
+
for (const directory of path.split(delimiter).filter(isAbsolute)) {
|
|
35
|
+
const candidate = join(directory, process.platform === "win32" ? "git.exe" : "git");
|
|
36
|
+
try {
|
|
37
|
+
accessSync(candidate, constants.X_OK);
|
|
38
|
+
return candidate;
|
|
39
|
+
}
|
|
40
|
+
catch { /* keep searching PATH */ }
|
|
41
|
+
}
|
|
42
|
+
throw new Error("git executable not found on PATH");
|
|
9
43
|
}
|
|
10
|
-
|
|
44
|
+
/** A launcher such as the xcode-select shim picks a toolchain afresh on every
|
|
45
|
+
* run. The toolchain's exec path names the binary it dispatches to; that
|
|
46
|
+
* binary, not the launcher, is what this process runs and identifies. */
|
|
47
|
+
function pinnedExecutable(launcher, environment) {
|
|
11
48
|
try {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
stdio: ["pipe", "pipe", "pipe"],
|
|
17
|
-
env: {
|
|
18
|
-
...process.env,
|
|
19
|
-
GIT_TERMINAL_PROMPT: "0",
|
|
20
|
-
// A machine's Git test setting cannot turn a successful writer flush
|
|
21
|
-
// into a no-op. Individual commands still select their fsync policy.
|
|
22
|
-
GIT_TEST_FSYNC: "1",
|
|
23
|
-
// Background observation must not create the index lock events it is
|
|
24
|
-
// itself listening for. Git still takes every lock required for a
|
|
25
|
-
// requested write; this disables only optional side effects such as
|
|
26
|
-
// refreshing the index during a read.
|
|
27
|
-
GIT_OPTIONAL_LOCKS: "0",
|
|
28
|
-
},
|
|
29
|
-
});
|
|
49
|
+
const execPath = execFileSync(launcher, ["--exec-path"], { env: environment }).toString("utf8").trim();
|
|
50
|
+
const binary = realpathSync(join(execPath, process.platform === "win32" ? "git.exe" : "git"));
|
|
51
|
+
accessSync(binary, constants.X_OK);
|
|
52
|
+
return binary;
|
|
30
53
|
}
|
|
31
|
-
catch
|
|
32
|
-
|
|
54
|
+
catch {
|
|
55
|
+
return realpathSync(launcher);
|
|
33
56
|
}
|
|
34
57
|
}
|
|
35
|
-
|
|
36
|
-
|
|
58
|
+
const identity = (executable) => {
|
|
59
|
+
const stat = statSync(executable, { bigint: true });
|
|
60
|
+
return [stat.dev, stat.ino, stat.size, stat.mtimeNs, stat.ctimeNs].join(":");
|
|
61
|
+
};
|
|
62
|
+
/** An environment name as the platform compares it: Windows names are
|
|
63
|
+
* case-insensitive (`Path` is PATH, `git_dir` is GIT_DIR) once copied out of
|
|
64
|
+
* process.env into a plain object. */
|
|
65
|
+
const variable = (name) => process.platform === "win32" ? name.toUpperCase() : name;
|
|
66
|
+
let host;
|
|
67
|
+
export function gitHost() {
|
|
68
|
+
if (host)
|
|
69
|
+
return host;
|
|
70
|
+
const environment = Object.freeze({
|
|
71
|
+
...Object.fromEntries(Object.entries(process.env).filter(([name]) => !variable(name).startsWith("GIT_"))),
|
|
72
|
+
...OWNED,
|
|
73
|
+
});
|
|
74
|
+
const path = Object.entries(environment).find(([name]) => variable(name) === "PATH")?.[1];
|
|
75
|
+
const executable = pinnedExecutable(findExecutable(path ?? ""), environment);
|
|
76
|
+
const stamp = identity(executable);
|
|
77
|
+
// Once per generation, before any repository read: the installation is fixed.
|
|
78
|
+
const version = execFileSync(executable, ["--version"], { env: environment }).toString("utf8").trim();
|
|
79
|
+
host = Object.freeze({ executable, version, environment, identity: stamp,
|
|
80
|
+
key: JSON.stringify([executable, stamp, version, environment.HOME ?? null]) });
|
|
81
|
+
return host;
|
|
82
|
+
}
|
|
83
|
+
/** A retained Git answer is reusable only under the generation that produced
|
|
84
|
+
* it. A replaced binary retires that generation for the whole process: the
|
|
85
|
+
* next read resolves the toolchain again, so no later answer carries the old
|
|
86
|
+
* key. One metadata read, never a hash of the executable. */
|
|
87
|
+
export function currentGitHost() {
|
|
37
88
|
try {
|
|
38
|
-
|
|
89
|
+
if (host && identity(host.executable) !== host.identity)
|
|
90
|
+
host = undefined;
|
|
39
91
|
}
|
|
40
|
-
catch
|
|
41
|
-
|
|
42
|
-
if (failure.status === 1)
|
|
43
|
-
return failure.stdout ?? Buffer.alloc(0);
|
|
44
|
-
throw error;
|
|
92
|
+
catch {
|
|
93
|
+
host = undefined;
|
|
45
94
|
}
|
|
95
|
+
return gitHost();
|
|
46
96
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
97
|
+
export function gitHostPin() {
|
|
98
|
+
currentGitHost();
|
|
99
|
+
return host;
|
|
100
|
+
}
|
|
101
|
+
/** A replaced binary still retires the pinned generation at the next check. */
|
|
102
|
+
export function pinGitHost(pin) {
|
|
103
|
+
if (host?.key === pin.key)
|
|
104
|
+
return;
|
|
105
|
+
host = Object.freeze({ ...pin, environment: Object.freeze({ ...pin.environment }) });
|
|
106
|
+
}
|
|
107
|
+
/** One event per finished process, published only while someone listens. */
|
|
108
|
+
const gitSpawns = channel("amalgm:git");
|
|
109
|
+
const commandOf = (args) => {
|
|
110
|
+
for (let index = 0; index < args.length; index++) {
|
|
111
|
+
if (args[index] === "-c" || args[index] === "-C")
|
|
112
|
+
index++;
|
|
113
|
+
else if (!args[index].startsWith("-"))
|
|
114
|
+
return args[index];
|
|
115
|
+
}
|
|
116
|
+
return "";
|
|
117
|
+
};
|
|
118
|
+
/** A completed Git process that did not succeed. Exit status and both output
|
|
119
|
+
* streams are retained so a caller can recognize a documented answer. `code`
|
|
120
|
+
* names the absence of the directory Git ran in, when it no longer stood once
|
|
121
|
+
* Git failed: that address emptied, whatever Git or the spawn said about it. */
|
|
122
|
+
export class GitFailure extends Error {
|
|
123
|
+
status;
|
|
124
|
+
signal;
|
|
125
|
+
stdout;
|
|
126
|
+
stderr;
|
|
127
|
+
code;
|
|
128
|
+
constructor(args, status, signal, stdout, stderr, cause, code) {
|
|
129
|
+
const detail = stderr.toString("utf8").trim() || (signal ? `signal ${signal}` : cause ? String(cause) : "");
|
|
130
|
+
super(`git ${args.join(" ")} failed${detail ? `: ${detail}` : ""}`, cause === undefined ? undefined : { cause });
|
|
131
|
+
this.status = status;
|
|
132
|
+
this.signal = signal;
|
|
133
|
+
this.stdout = stdout;
|
|
134
|
+
this.stderr = stderr;
|
|
135
|
+
this.code = code;
|
|
136
|
+
this.name = "GitFailure";
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/** Why the directory Git ran in no longer stands, if it does not. */
|
|
140
|
+
function absence(cwd) {
|
|
50
141
|
try {
|
|
51
|
-
|
|
52
|
-
cwd,
|
|
53
|
-
input,
|
|
54
|
-
maxBuffer: MAX_GIT_BUFFER,
|
|
55
|
-
stdio: ["pipe", descriptor, "pipe"],
|
|
56
|
-
env: {
|
|
57
|
-
...process.env,
|
|
58
|
-
GIT_TERMINAL_PROMPT: "0",
|
|
59
|
-
GIT_TEST_FSYNC: "1",
|
|
60
|
-
GIT_OPTIONAL_LOCKS: "0",
|
|
61
|
-
},
|
|
62
|
-
});
|
|
142
|
+
return statSync(cwd).isDirectory() ? undefined : "ENOTDIR";
|
|
63
143
|
}
|
|
64
144
|
catch (error) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
finally {
|
|
68
|
-
closeSync(descriptor);
|
|
145
|
+
const code = error.code;
|
|
146
|
+
return code === "ENOENT" || code === "ENOTDIR" ? code : undefined;
|
|
69
147
|
}
|
|
70
148
|
}
|
|
71
|
-
|
|
149
|
+
/** The one Git runner. The event loop stays free while Git works; the result
|
|
150
|
+
* resolves only after the process has exited and both pipes have drained. */
|
|
151
|
+
function execute(cwd, args, invocation, stdout) {
|
|
152
|
+
return new Promise((resolve, reject) => {
|
|
153
|
+
const child = spawn(gitHost().executable, [...args], {
|
|
154
|
+
cwd, env: { ...gitHost().environment, ...invocation.profile }, stdio: ["pipe", stdout, "pipe"],
|
|
155
|
+
});
|
|
156
|
+
const out = [], err = [];
|
|
157
|
+
const started = performance.now();
|
|
158
|
+
let outBytes = 0, errBytes = 0, failure, settled = false;
|
|
159
|
+
const publish = (exitCode, signal) => {
|
|
160
|
+
if (gitSpawns.hasSubscribers)
|
|
161
|
+
gitSpawns.publish({
|
|
162
|
+
cwd, purpose: invocation.purpose ?? "unlabelled", closing: invocation.closing === true, command: commandOf(args),
|
|
163
|
+
queuedMs: 0, durationMs: performance.now() - started, exitCode, signal, stdoutBytes: outBytes, stderrBytes: errBytes,
|
|
164
|
+
});
|
|
165
|
+
};
|
|
166
|
+
const fail = (error) => { failure ??= error; child.kill(); };
|
|
167
|
+
child.stdout?.on("data", (chunk) => {
|
|
168
|
+
outBytes += chunk.length;
|
|
169
|
+
if (outBytes > MAX_GIT_BUFFER)
|
|
170
|
+
fail(new RangeError("Git output exceeds its buffer bound"));
|
|
171
|
+
else
|
|
172
|
+
out.push(chunk);
|
|
173
|
+
});
|
|
174
|
+
child.stderr.on("data", (chunk) => { errBytes += chunk.length; err.push(chunk); });
|
|
175
|
+
child.once("error", error => {
|
|
176
|
+
// A process that never started emits no close.
|
|
177
|
+
if (child.pid === undefined && !settled) {
|
|
178
|
+
settled = true;
|
|
179
|
+
publish(null, null);
|
|
180
|
+
reject(new GitFailure(args, null, null, Buffer.alloc(0), Buffer.alloc(0), error, absence(cwd)));
|
|
181
|
+
}
|
|
182
|
+
else
|
|
183
|
+
fail(error);
|
|
184
|
+
});
|
|
185
|
+
// Git may finish without reading all input; its exit status decides.
|
|
186
|
+
const ignoreEarlyExit = (error) => { if (error.code !== "EPIPE")
|
|
187
|
+
fail(error); };
|
|
188
|
+
const { input } = invocation;
|
|
189
|
+
let fed = Promise.resolve();
|
|
190
|
+
if (input === undefined || input instanceof Uint8Array) {
|
|
191
|
+
child.stdin.on("error", ignoreEarlyExit);
|
|
192
|
+
child.stdin.end(input);
|
|
193
|
+
}
|
|
194
|
+
else
|
|
195
|
+
fed = pipeline(input, child.stdin).catch(ignoreEarlyExit);
|
|
196
|
+
// Completion is the child's close and the end of its input producer, so
|
|
197
|
+
// a producer failure is never lost behind an already-resolved result.
|
|
198
|
+
child.once("close", (status, signal) => void fed.then(() => {
|
|
199
|
+
if (settled)
|
|
200
|
+
return;
|
|
201
|
+
settled = true;
|
|
202
|
+
publish(status, signal);
|
|
203
|
+
const output = Buffer.concat(out);
|
|
204
|
+
if (status === 0 && failure === undefined)
|
|
205
|
+
resolve(output);
|
|
206
|
+
else
|
|
207
|
+
reject(new GitFailure(args, status, signal, output, Buffer.concat(err), failure, absence(cwd)));
|
|
208
|
+
}));
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
export function runGit(cwd, args, invocation = {}) {
|
|
212
|
+
return execute(cwd, args, invocation, "pipe");
|
|
213
|
+
}
|
|
214
|
+
/** Only callers whose Git command documents exit 1 as absence/no-match may
|
|
215
|
+
* use this helper. Other failures always remain failures. */
|
|
216
|
+
export async function runGitSearch(cwd, args, invocation) {
|
|
72
217
|
try {
|
|
73
|
-
return runGit(cwd, args);
|
|
218
|
+
return await runGit(cwd, args, invocation);
|
|
74
219
|
}
|
|
75
|
-
catch {
|
|
76
|
-
|
|
220
|
+
catch (error) {
|
|
221
|
+
if (error instanceof GitFailure && error.status === 1)
|
|
222
|
+
return error.stdout;
|
|
223
|
+
throw error;
|
|
77
224
|
}
|
|
78
225
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
226
|
+
/** Stream a potentially large Git result directly to a private destination.
|
|
227
|
+
* The descriptor closes only after the writing process has exited. */
|
|
228
|
+
export async function runGitToFile(cwd, args, file, invocation = {}) {
|
|
229
|
+
const descriptor = openSync(file, "wx", 0o600);
|
|
230
|
+
try {
|
|
231
|
+
await execute(cwd, args, invocation, descriptor);
|
|
232
|
+
}
|
|
233
|
+
finally {
|
|
234
|
+
closeSync(descriptor);
|
|
235
|
+
}
|
|
83
236
|
}
|
|
237
|
+
export const gitText = async (cwd, args, invocation) => (await runGit(cwd, args, invocation)).toString("utf8").trim();
|
|
84
238
|
//# sourceMappingURL=git-command.js.map
|
package/dist/git-command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-command.js","sourceRoot":"","sources":["../src/git-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"git-command.js","sourceRoot":"","sources":["../src/git-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type RepoRemote } from "@amalgm/live";
|
|
2
|
+
import { type NativeIndexBinding } from "./git-binding.js";
|
|
3
|
+
import type { SourceProof } from "./source-proof.js";
|
|
4
|
+
export declare function configurationRemotes(bytes: Buffer): readonly RepoRemote[];
|
|
5
|
+
/** Every source's witness at observation, and the branch chain's names once
|
|
6
|
+
* a conditional include makes them an input. */
|
|
7
|
+
export interface GitConfigurationWitness {
|
|
8
|
+
readonly kind: "git-configuration";
|
|
9
|
+
readonly sources: readonly (readonly [string, string])[];
|
|
10
|
+
readonly branch: {
|
|
11
|
+
readonly gitDir: string;
|
|
12
|
+
readonly names: string;
|
|
13
|
+
} | null;
|
|
14
|
+
}
|
|
15
|
+
export declare function judgeGitConfiguration(witness: GitConfigurationWitness): void;
|
|
16
|
+
/** Effective configuration is Git's answer over repository-owned sources
|
|
17
|
+
* (local, worktree and their includes) plus the host's fixed command scope;
|
|
18
|
+
* machine configuration is never read. Its semantic witness is that answer;
|
|
19
|
+
* its physical witnesses are the bytes of every source the answer depends on. */
|
|
20
|
+
export interface GitConfigurationObservation extends SourceProof {
|
|
21
|
+
/** Equality of original ordered answers and Git host, never a fresh read. */
|
|
22
|
+
readonly fingerprint: string;
|
|
23
|
+
has(key: string): boolean;
|
|
24
|
+
readonly remotes: readonly RepoRemote[];
|
|
25
|
+
/** Every path the answer depends on, absent include targets included. */
|
|
26
|
+
readonly sources: readonly string[];
|
|
27
|
+
/** True when the physical witnesses close every input of this answer, so an
|
|
28
|
+
* unchanged witness set may stand for a fresh read. */
|
|
29
|
+
readonly reusable: boolean;
|
|
30
|
+
/** This stamp is meaningful only on the actual O result proved by its owner.
|
|
31
|
+
* Routing may compare it but must never establish or refresh it. */
|
|
32
|
+
stamp(uuid: string, payloadVersion: string, binding: NativeIndexBinding): string;
|
|
33
|
+
}
|
|
34
|
+
export declare function observeGitConfiguration(repository: string): Promise<GitConfigurationObservation>;
|
|
35
|
+
/** Ground a repository reader depends on beyond its checkout: external Git
|
|
36
|
+
* storage and every configuration source, include targets included, each at
|
|
37
|
+
* its synchronization address (a source read through a link depends on the
|
|
38
|
+
* link and its target). A collection requires all of it in its lease before
|
|
39
|
+
* admitting what it read; sources inside the checkout are already covered. */
|
|
40
|
+
export declare function repositoryFootprint(binding: NativeIndexBinding, configuration: GitConfigurationObservation): string[];
|