@narumitw/pi-sync 0.57.10 → 0.57.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/README.md +5 -1
- package/dist/chunks/{agent-candidate-EYB35AGL.ts → agent-candidate-OCDPRI5G.ts} +11 -11
- package/dist/chunks/{agent-plan-KO43GTOR.ts → agent-plan-P5B5RGZ7.ts} +14 -14
- package/dist/chunks/{agent-refusal-retry-C2HQROTP.ts → agent-refusal-retry-476YGNU5.ts} +10 -10
- package/dist/chunks/{agent-store-UT52DS7B.ts → agent-store-RJSMNOYP.ts} +7 -7
- package/dist/chunks/{agent-sync-VM3TXWA3.ts → agent-sync-EUK2CPSS.ts} +6 -6
- package/dist/chunks/{chunk-UCD7TQDT.ts → chunk-3IYAPMST.ts} +4 -4
- package/dist/chunks/{chunk-JXWTEJS5.ts → chunk-45COPAK7.ts} +10 -3
- package/dist/chunks/chunk-45COPAK7.ts.map +7 -0
- package/dist/chunks/{chunk-DOJRPBQU.ts → chunk-5TSCBBPP.ts} +4 -4
- package/dist/chunks/{chunk-IMMMZUFC.ts → chunk-67INJPKR.ts} +4 -4
- package/dist/chunks/{chunk-CDQGSZL3.ts → chunk-6LD5KX55.ts} +6 -6
- package/dist/chunks/{chunk-MDUORMCK.ts → chunk-6O3EDBRL.ts} +2 -2
- package/dist/chunks/{chunk-AAPAHANE.ts → chunk-7A35ZAVO.ts} +320 -219
- package/dist/chunks/chunk-7A35ZAVO.ts.map +7 -0
- package/dist/chunks/{chunk-2VSN3MFX.ts → chunk-7OLLPPLU.ts} +29 -23
- package/dist/chunks/chunk-7OLLPPLU.ts.map +7 -0
- package/dist/chunks/{chunk-STVQQ5KG.ts → chunk-7ZIYU5QS.ts} +6 -6
- package/dist/chunks/{chunk-AO6EDUA6.ts → chunk-AKMV47YC.ts} +3 -3
- package/dist/chunks/{chunk-66GAUVDL.ts → chunk-BEST45H2.ts} +6 -6
- package/dist/chunks/{chunk-DO55XUNU.ts → chunk-CBLTWXAU.ts} +15 -5
- package/dist/chunks/chunk-CBLTWXAU.ts.map +7 -0
- package/dist/chunks/{chunk-PWA3YN5Z.ts → chunk-CPT2BN6N.ts} +2 -2
- package/dist/chunks/{chunk-73MDIVYJ.ts → chunk-DN4IA7MR.ts} +6 -6
- package/dist/chunks/{chunk-4RLATUP4.ts → chunk-DRTC4PKM.ts} +6 -6
- package/dist/chunks/{chunk-PHANBTVM.ts → chunk-ESKOPQVB.ts} +4 -4
- package/dist/chunks/{chunk-ODF2M4RF.ts → chunk-F7E3VFXU.ts} +5 -5
- package/dist/chunks/{chunk-YZ5BQNRZ.ts → chunk-FHE2DCA2.ts} +2 -2
- package/dist/chunks/{chunk-YZ5BQNRZ.ts.map → chunk-FHE2DCA2.ts.map} +2 -2
- package/dist/chunks/{chunk-MRIPZGPR.ts → chunk-FLHCOJCD.ts} +3 -3
- package/dist/chunks/{chunk-5WJQ6XOW.ts → chunk-GNYGNHFF.ts} +2 -2
- package/dist/chunks/{chunk-DFJGTVPX.ts → chunk-KYTT7KV4.ts} +2 -2
- package/dist/chunks/{chunk-UGSSZWQ6.ts → chunk-MKSMJPVA.ts} +2 -2
- package/dist/chunks/{chunk-RAMHGOX2.ts → chunk-OJARL2TG.ts} +4 -4
- package/dist/chunks/{chunk-BJXSCGQK.ts → chunk-OKPPZA4D.ts} +148 -89
- package/dist/chunks/chunk-OKPPZA4D.ts.map +7 -0
- package/dist/chunks/{chunk-RX3WGWVL.ts → chunk-OVBAW7KV.ts} +177 -130
- package/dist/chunks/chunk-OVBAW7KV.ts.map +7 -0
- package/dist/chunks/{chunk-U77DWNRH.ts → chunk-Q23JJW7E.ts} +3 -3
- package/dist/chunks/{chunk-QWV3XKNJ.ts → chunk-TIMWN2RH.ts} +5 -5
- package/dist/chunks/{chunk-Z5O2TLNF.ts → chunk-TZC7GDJE.ts} +7 -7
- package/dist/chunks/{chunk-TO2GMX3K.ts → chunk-XJHQPB3E.ts} +2 -2
- package/dist/chunks/{chunk-JY2RVOUL.ts → chunk-Y4UVXOLQ.ts} +5 -5
- package/dist/chunks/{chunk-M5IV3KL2.ts → chunk-ZDDBZH72.ts} +3 -3
- package/dist/chunks/{command-handler-FO6F2APH.ts → command-handler-F2E7A5T5.ts} +22 -17
- package/dist/chunks/command-handler-F2E7A5T5.ts.map +7 -0
- package/dist/chunks/{config-B37W7FXW.ts → config-HYG7G5EM.ts} +6 -4
- package/dist/chunks/{conflict-artifacts-6XGSSU5S.ts → conflict-artifacts-J6WSDCWP.ts} +12 -12
- package/dist/chunks/{conflict-review-BQSHSJB3.ts → conflict-review-2QMO2K6Q.ts} +23 -23
- package/dist/chunks/{continuous-record-4DQ2EAZS.ts → continuous-record-AH7JGYKM.ts} +6 -6
- package/dist/chunks/{continuous-sync-ZT3UEQLK.ts → continuous-sync-VRMXCA5X.ts} +18 -18
- package/dist/chunks/{file-selection-FBLKM25V.ts → file-selection-IELTXSGZ.ts} +6 -7
- package/dist/chunks/{file-selection-FBLKM25V.ts.map → file-selection-IELTXSGZ.ts.map} +1 -1
- package/dist/chunks/{git-backend-7PCWECRN.ts → git-backend-KHD36W27.ts} +6 -7
- package/dist/chunks/{git-backend-7PCWECRN.ts.map → git-backend-KHD36W27.ts.map} +1 -1
- package/dist/chunks/{local-fields-B6JWLPAE.ts → local-fields-JEKAPZKD.ts} +6 -7
- package/dist/chunks/manager-result-dispatcher-6W52NM7F.ts +32 -0
- package/dist/chunks/{manager-ui-DGRTG76I.ts → manager-ui-LM7DSJ2Y.ts} +103 -52
- package/dist/chunks/manager-ui-LM7DSJ2Y.ts.map +7 -0
- package/dist/chunks/{merge-baseline-store-HL3VLMAM.ts → merge-baseline-store-65GKUMXI.ts} +6 -6
- package/dist/chunks/{remote-selection-ui-OHMIQ32X.ts → remote-selection-ui-TD4C4W3J.ts} +16 -12
- package/dist/chunks/{s3-backend-CJXBEWWU.ts → s3-backend-L24UZ6IK.ts} +12 -10
- package/dist/chunks/s3-backend-L24UZ6IK.ts.map +7 -0
- package/dist/chunks/{setup-switch-66GWMBNH.ts → setup-switch-PIPXYPCW.ts} +5 -5
- package/dist/chunks/{setup-wizard-OHZXJVQZ.ts → setup-wizard-RR5U3SUB.ts} +6 -6
- package/dist/chunks/{snapshot-VRHNAUUH.ts → snapshot-RGNDYT6A.ts} +5 -6
- package/dist/chunks/{snapshot-transaction-EUGA4VX6.ts → snapshot-transaction-26BQO36S.ts} +8 -8
- package/dist/chunks/{sync-inspection-4WFQEJOE.ts → sync-inspection-MOMLGUTD.ts} +11 -11
- package/dist/chunks/{sync-operations-X4AOXMBT.ts → sync-operations-CV3TULLD.ts} +25 -25
- package/dist/chunks/{sync-state-SWLSMK4G.ts → sync-state-7L4NT7W2.ts} +7 -8
- package/dist/chunks/{webdav-backend-2Q5ZEBST.ts → webdav-backend-3ZCACILP.ts} +7 -8
- package/dist/chunks/{webdav-backend-2Q5ZEBST.ts.map → webdav-backend-3ZCACILP.ts.map} +1 -1
- package/dist/index.ts +19 -19
- package/package.json +1 -1
- package/skills/configure-pi-sync/references/configuration.md +8 -1
- package/src/backends/s3/s3-client.ts +8 -1
- package/src/commands/command-execution.ts +8 -3
- package/src/paths.ts +6 -1
- package/src/settings/config-file.ts +205 -118
- package/src/settings/config.ts +1 -1
- package/src/settings/settings-management.ts +15 -1
- package/src/settings/settings-store.ts +0 -14
- package/src/snapshot/session-paths.ts +15 -2
- package/src/snapshot/snapshot-mutation-queues.ts +142 -0
- package/src/snapshot/snapshot-transaction.ts +122 -125
- package/src/sync/merge-apply.ts +6 -0
- package/src/ui/cancellable-operation.ts +36 -13
- package/src/ui/manager-state.ts +3 -1
- package/src/ui/manager-ui.ts +76 -24
- package/src/ui/remote-selection-ui.ts +131 -82
- package/src/ui/settings-ui.ts +2 -1
- package/dist/chunks/chunk-2VSN3MFX.ts.map +0 -7
- package/dist/chunks/chunk-AAPAHANE.ts.map +0 -7
- package/dist/chunks/chunk-BJXSCGQK.ts.map +0 -7
- package/dist/chunks/chunk-DO55XUNU.ts.map +0 -7
- package/dist/chunks/chunk-JXWTEJS5.ts.map +0 -7
- package/dist/chunks/chunk-RX3WGWVL.ts.map +0 -7
- package/dist/chunks/command-handler-FO6F2APH.ts.map +0 -7
- package/dist/chunks/manager-result-dispatcher-NODX3KKH.ts +0 -28
- package/dist/chunks/manager-ui-DGRTG76I.ts.map +0 -7
- package/dist/chunks/s3-backend-CJXBEWWU.ts.map +0 -7
- /package/dist/chunks/{agent-candidate-EYB35AGL.ts.map → agent-candidate-OCDPRI5G.ts.map} +0 -0
- /package/dist/chunks/{agent-plan-KO43GTOR.ts.map → agent-plan-P5B5RGZ7.ts.map} +0 -0
- /package/dist/chunks/{agent-refusal-retry-C2HQROTP.ts.map → agent-refusal-retry-476YGNU5.ts.map} +0 -0
- /package/dist/chunks/{agent-store-UT52DS7B.ts.map → agent-store-RJSMNOYP.ts.map} +0 -0
- /package/dist/chunks/{agent-sync-VM3TXWA3.ts.map → agent-sync-EUK2CPSS.ts.map} +0 -0
- /package/dist/chunks/{chunk-UCD7TQDT.ts.map → chunk-3IYAPMST.ts.map} +0 -0
- /package/dist/chunks/{chunk-DOJRPBQU.ts.map → chunk-5TSCBBPP.ts.map} +0 -0
- /package/dist/chunks/{chunk-IMMMZUFC.ts.map → chunk-67INJPKR.ts.map} +0 -0
- /package/dist/chunks/{chunk-CDQGSZL3.ts.map → chunk-6LD5KX55.ts.map} +0 -0
- /package/dist/chunks/{chunk-MDUORMCK.ts.map → chunk-6O3EDBRL.ts.map} +0 -0
- /package/dist/chunks/{chunk-STVQQ5KG.ts.map → chunk-7ZIYU5QS.ts.map} +0 -0
- /package/dist/chunks/{chunk-AO6EDUA6.ts.map → chunk-AKMV47YC.ts.map} +0 -0
- /package/dist/chunks/{chunk-66GAUVDL.ts.map → chunk-BEST45H2.ts.map} +0 -0
- /package/dist/chunks/{chunk-PWA3YN5Z.ts.map → chunk-CPT2BN6N.ts.map} +0 -0
- /package/dist/chunks/{chunk-73MDIVYJ.ts.map → chunk-DN4IA7MR.ts.map} +0 -0
- /package/dist/chunks/{chunk-4RLATUP4.ts.map → chunk-DRTC4PKM.ts.map} +0 -0
- /package/dist/chunks/{chunk-PHANBTVM.ts.map → chunk-ESKOPQVB.ts.map} +0 -0
- /package/dist/chunks/{chunk-ODF2M4RF.ts.map → chunk-F7E3VFXU.ts.map} +0 -0
- /package/dist/chunks/{chunk-MRIPZGPR.ts.map → chunk-FLHCOJCD.ts.map} +0 -0
- /package/dist/chunks/{chunk-5WJQ6XOW.ts.map → chunk-GNYGNHFF.ts.map} +0 -0
- /package/dist/chunks/{chunk-DFJGTVPX.ts.map → chunk-KYTT7KV4.ts.map} +0 -0
- /package/dist/chunks/{chunk-UGSSZWQ6.ts.map → chunk-MKSMJPVA.ts.map} +0 -0
- /package/dist/chunks/{chunk-RAMHGOX2.ts.map → chunk-OJARL2TG.ts.map} +0 -0
- /package/dist/chunks/{chunk-U77DWNRH.ts.map → chunk-Q23JJW7E.ts.map} +0 -0
- /package/dist/chunks/{chunk-QWV3XKNJ.ts.map → chunk-TIMWN2RH.ts.map} +0 -0
- /package/dist/chunks/{chunk-Z5O2TLNF.ts.map → chunk-TZC7GDJE.ts.map} +0 -0
- /package/dist/chunks/{chunk-TO2GMX3K.ts.map → chunk-XJHQPB3E.ts.map} +0 -0
- /package/dist/chunks/{chunk-JY2RVOUL.ts.map → chunk-Y4UVXOLQ.ts.map} +0 -0
- /package/dist/chunks/{chunk-M5IV3KL2.ts.map → chunk-ZDDBZH72.ts.map} +0 -0
- /package/dist/chunks/{config-B37W7FXW.ts.map → config-HYG7G5EM.ts.map} +0 -0
- /package/dist/chunks/{conflict-artifacts-6XGSSU5S.ts.map → conflict-artifacts-J6WSDCWP.ts.map} +0 -0
- /package/dist/chunks/{conflict-review-BQSHSJB3.ts.map → conflict-review-2QMO2K6Q.ts.map} +0 -0
- /package/dist/chunks/{continuous-record-4DQ2EAZS.ts.map → continuous-record-AH7JGYKM.ts.map} +0 -0
- /package/dist/chunks/{continuous-sync-ZT3UEQLK.ts.map → continuous-sync-VRMXCA5X.ts.map} +0 -0
- /package/dist/chunks/{local-fields-B6JWLPAE.ts.map → local-fields-JEKAPZKD.ts.map} +0 -0
- /package/dist/chunks/{manager-result-dispatcher-NODX3KKH.ts.map → manager-result-dispatcher-6W52NM7F.ts.map} +0 -0
- /package/dist/chunks/{merge-baseline-store-HL3VLMAM.ts.map → merge-baseline-store-65GKUMXI.ts.map} +0 -0
- /package/dist/chunks/{remote-selection-ui-OHMIQ32X.ts.map → remote-selection-ui-TD4C4W3J.ts.map} +0 -0
- /package/dist/chunks/{setup-switch-66GWMBNH.ts.map → setup-switch-PIPXYPCW.ts.map} +0 -0
- /package/dist/chunks/{setup-wizard-OHZXJVQZ.ts.map → setup-wizard-RR5U3SUB.ts.map} +0 -0
- /package/dist/chunks/{snapshot-VRHNAUUH.ts.map → snapshot-RGNDYT6A.ts.map} +0 -0
- /package/dist/chunks/{snapshot-transaction-EUGA4VX6.ts.map → snapshot-transaction-26BQO36S.ts.map} +0 -0
- /package/dist/chunks/{sync-inspection-4WFQEJOE.ts.map → sync-inspection-MOMLGUTD.ts.map} +0 -0
- /package/dist/chunks/{sync-operations-X4AOXMBT.ts.map → sync-operations-CV3TULLD.ts.map} +0 -0
- /package/dist/chunks/{sync-state-SWLSMK4G.ts.map → sync-state-7L4NT7W2.ts.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @narumitw/pi-sync
|
|
2
2
|
|
|
3
|
+
## 0.57.11
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 41c32db: Fix settings and transfer safety findings. Keep canonical settings available during replacement, order reads behind pending writes, and stop cancelled initialization. Bind manager actions and remote content-list adoption to the reviewed setup and connection, with cancellable network checks. Reject S3 redirects and correct SigV4 URI encoding. Preserve BOM-prefixed Pi settings and refuse unsafe aliased snapshot mutation paths while retaining recovery evidence.
|
|
8
|
+
|
|
3
9
|
## 0.57.10
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -77,7 +77,7 @@ Remote status: Not checked
|
|
|
77
77
|
|
|
78
78
|
Use **Sync now** for bidirectional merging, or **Pull from remote…** and **Push to remote…** for reviewed directional transfers. **Settings**, **History**, and **Diagnostics** are also directly available. Switching appears only when multiple valid setups exist; review and access-recovery actions appear when needed. Pull and Push do not implicitly force overwrites.
|
|
79
79
|
|
|
80
|
-
The main summary separates current state from actions and uses local state and cached check-time observations, not a fresh remote comparison. Choose **Check remote status** for a fresh read/check or **View differences** for file differences; `/sync status`, `/sync diff`, and `/sync help` remain available. Last applied shows a compact snapshot ID and states when application time is unavailable; History retains full IDs.
|
|
80
|
+
The main summary separates current state from actions and uses local state and cached check-time observations, not a fresh remote comparison. Setup-specific actions stay bound to the displayed setup; if its configuration changes while the menu is open, review the refreshed setup before continuing. Choose **Check remote status** for a fresh read/check or **View differences** for file differences; `/sync status`, `/sync diff`, and `/sync help` remain available. Last applied shows a compact snapshot ID and states when application time is unavailable; History retains full IDs.
|
|
81
81
|
|
|
82
82
|
After Pi Sync detects an included-content mismatch, the manager shows **Sync status: Review needed** and puts **Review synced content (recommended)** first.
|
|
83
83
|
**Sync now** remains unavailable until you review the mismatch.
|
|
@@ -325,12 +325,16 @@ WebDAV requires HTTPS except loopback tests.
|
|
|
325
325
|
URL credentials, query strings, fragments, unsafe redirects, weak/missing ETags, and ignored conditional headers fail closed.
|
|
326
326
|
`/sync doctor` verifies collection and conditional-write behavior with an isolated probe, then repairs a missing active-snapshot history entry.
|
|
327
327
|
|
|
328
|
+
S3/R2 requests reject redirects, including same-origin redirects; configure the canonical endpoint before syncing. Credentials and snapshot bodies are never forwarded to a redirect destination.
|
|
329
|
+
|
|
328
330
|
S3/R2 publishes `latest.json` and history using ETag `If-Match`, or `If-None-Match: *` for first creation, then verifies the active pointer. Before each publication, an isolated `.pi-sync-probes/<random-id>` object verifies that the server rejects stale ETags and create-only writes to existing objects and rotates strong ETags. Credentials must allow read, write, and delete under the selected storage path; the probe is deleted even after cancellation. Missing/weak ETags, ignored conditions, and probe or cleanup failures stop publication. A failed cleanup reports the probe key for manual removal; bucket versioning may retain probe versions. `/sync doctor` remains read-only for S3/R2 and does not verify write support.
|
|
329
331
|
|
|
330
332
|
Snapshot recovery is guarded: new journals record before/after images, older journals are retired only when their unchanged preimages are provable, and unrecognized bytes remain untouched for manual review. Current-session targets are never restored during startup. Preserve a blocked transaction and its backup, close Pi, and review the private evidence before restoring selected paths; malformed/unsupported journals are not disposable. Pi may have loaded resources before lifecycle recovery, so reload or restart explicitly after recovery if loaded resources need to match the restored files.
|
|
331
333
|
|
|
332
334
|
Before pull or rollback, pi-sync writes a backup under `<agent-dir>/pi-sync/backups/`.
|
|
335
|
+
Snapshot apply and recovery require canonical agent and session paths. Symlinked or otherwise aliased parent paths are refused before changing managed local files because Pi's file queue uses different keys for existing and missing aliases. Use canonical paths for local mutations and preserve any pending recovery evidence; an unresolved startup recovery barrier still blocks transfers. Old journals recorded under an alias require manual review because their exact root and target paths remain pinned. Changing the agent path alone does not authorize recovery or rewriting those journals.
|
|
333
336
|
Apply preflights paths and checksums, journals mutations, and restores prior state only when current bytes match verified preimages or planned postimages. Unknown intermediate directory states and newer edits require review rather than a blind rollback. An interruption after replacement is armed can require manual recovery even if installation never ran; a later deletion of installed content is not treated as an unfinished remove.
|
|
337
|
+
The file queue coordinates one Pi runtime, not separate processes or lock-unaware editors. Hash-based journals cannot distinguish a later write of identical recorded bytes; they do not provide a cross-process compare-and-swap.
|
|
334
338
|
Merged transfers instead retain a private publication/apply/baseline journal and roll forward only when the active remote candidate and every changed local preimage/postimage can be verified. A crash or uncertain publication is reconciled through `/sync sync` without blind republishing. If newer local or remote changes prevent reconciliation, preserve the evidence, review `/sync diff`, and explicitly choose `push --force` or `pull --force`; the chosen direction archives the old journal. Disabling automatic transfer does not undo completed transfers. Do not downgrade while a merge or snapshot recovery journal is pending.
|
|
335
339
|
|
|
336
340
|
Removing a local setup or connection never deletes remote data.
|
|
@@ -5,20 +5,20 @@ import {
|
|
|
5
5
|
buildAgentEvidence,
|
|
6
6
|
digest,
|
|
7
7
|
parseAgentCandidate
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-67INJPKR.ts";
|
|
9
|
+
import "./chunk-AKMV47YC.ts";
|
|
10
|
+
import "./chunk-6LD5KX55.ts";
|
|
11
11
|
import "./chunk-ZW5ZLGBI.ts";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-XJHQPB3E.ts";
|
|
13
|
+
import "./chunk-DN4IA7MR.ts";
|
|
14
|
+
import "./chunk-AR2DGDUI.ts";
|
|
14
15
|
import "./chunk-SWRVXVFD.ts";
|
|
15
16
|
import "./chunk-2JZFHNLM.ts";
|
|
16
17
|
import "./chunk-T2SJD3N7.ts";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-YZ5BQNRZ.ts";
|
|
18
|
+
import "./chunk-ESKOPQVB.ts";
|
|
19
|
+
import "./chunk-KYTT7KV4.ts";
|
|
20
|
+
import "./chunk-CBLTWXAU.ts";
|
|
21
|
+
import "./chunk-FHE2DCA2.ts";
|
|
22
22
|
import "./chunk-PRUEIIK7.ts";
|
|
23
23
|
export {
|
|
24
24
|
applyAgentCandidate,
|
|
@@ -26,4 +26,4 @@ export {
|
|
|
26
26
|
digest,
|
|
27
27
|
parseAgentCandidate
|
|
28
28
|
};
|
|
29
|
-
//# sourceMappingURL=agent-candidate-
|
|
29
|
+
//# sourceMappingURL=agent-candidate-OCDPRI5G.ts.map
|
|
@@ -3,40 +3,40 @@
|
|
|
3
3
|
import {
|
|
4
4
|
fileHashMap,
|
|
5
5
|
sameHashes
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-Y4UVXOLQ.ts";
|
|
7
7
|
import {
|
|
8
8
|
AgentResolutionRequired
|
|
9
9
|
} from "./chunk-3ST7RSYN.ts";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-MKSMJPVA.ts";
|
|
11
11
|
import {
|
|
12
12
|
syncConfigReviewIdentity
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-OVBAW7KV.ts";
|
|
14
14
|
import "./chunk-X7R6DCVF.ts";
|
|
15
15
|
import {
|
|
16
16
|
applyAgentCandidate,
|
|
17
17
|
buildAgentEvidence,
|
|
18
18
|
digest
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
} from "./chunk-67INJPKR.ts";
|
|
20
|
+
import "./chunk-AKMV47YC.ts";
|
|
21
21
|
import {
|
|
22
22
|
readMergeAncestors
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-6LD5KX55.ts";
|
|
24
24
|
import "./chunk-ZW5ZLGBI.ts";
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-XJHQPB3E.ts";
|
|
26
26
|
import {
|
|
27
27
|
readStateForConfig,
|
|
28
28
|
syncStateFingerprint
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-DN4IA7MR.ts";
|
|
30
|
+
import "./chunk-AR2DGDUI.ts";
|
|
30
31
|
import "./chunk-SWRVXVFD.ts";
|
|
31
32
|
import "./chunk-2JZFHNLM.ts";
|
|
32
33
|
import "./chunk-T2SJD3N7.ts";
|
|
33
34
|
import {
|
|
34
35
|
createSnapshot
|
|
35
|
-
} from "./chunk-
|
|
36
|
-
import "./chunk-
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-YZ5BQNRZ.ts";
|
|
36
|
+
} from "./chunk-ESKOPQVB.ts";
|
|
37
|
+
import "./chunk-KYTT7KV4.ts";
|
|
38
|
+
import "./chunk-CBLTWXAU.ts";
|
|
39
|
+
import "./chunk-FHE2DCA2.ts";
|
|
40
40
|
import {
|
|
41
41
|
ContinuousError
|
|
42
42
|
} from "./chunk-DT7M4VQS.ts";
|
|
@@ -117,4 +117,4 @@ async function resolveAgentPlan(ctx, options, config, backend, state, local, loc
|
|
|
117
117
|
export {
|
|
118
118
|
resolveAgentPlan
|
|
119
119
|
};
|
|
120
|
-
//# sourceMappingURL=agent-plan-
|
|
120
|
+
//# sourceMappingURL=agent-plan-P5B5RGZ7.ts.map
|
|
@@ -3,27 +3,27 @@
|
|
|
3
3
|
import {
|
|
4
4
|
confirmMergeReview
|
|
5
5
|
} from "./chunk-KHBPED6W.ts";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-TZC7GDJE.ts";
|
|
7
|
+
import "./chunk-FLHCOJCD.ts";
|
|
8
8
|
import {
|
|
9
9
|
captureMutationOwner
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-GNYGNHFF.ts";
|
|
11
11
|
import {
|
|
12
12
|
safeTerminalText
|
|
13
13
|
} from "./chunk-AMJRUXFT.ts";
|
|
14
14
|
import {
|
|
15
15
|
loadConfig
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-OVBAW7KV.ts";
|
|
17
17
|
import "./chunk-X7R6DCVF.ts";
|
|
18
18
|
import "./chunk-PWMWOJP4.ts";
|
|
19
|
+
import "./chunk-AR2DGDUI.ts";
|
|
19
20
|
import "./chunk-SWRVXVFD.ts";
|
|
20
21
|
import "./chunk-2JZFHNLM.ts";
|
|
21
22
|
import "./chunk-T2SJD3N7.ts";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-YZ5BQNRZ.ts";
|
|
23
|
+
import "./chunk-ESKOPQVB.ts";
|
|
24
|
+
import "./chunk-KYTT7KV4.ts";
|
|
25
|
+
import "./chunk-CBLTWXAU.ts";
|
|
26
|
+
import "./chunk-FHE2DCA2.ts";
|
|
27
27
|
|
|
28
28
|
// src/sync/agent-refusal-retry.ts
|
|
29
29
|
async function confirmAgentRefusalRetry(ctx, setup, evidence, validate, signal) {
|
|
@@ -69,4 +69,4 @@ async function confirmAgentRefusalRetry(ctx, setup, evidence, validate, signal)
|
|
|
69
69
|
export {
|
|
70
70
|
confirmAgentRefusalRetry
|
|
71
71
|
};
|
|
72
|
-
//# sourceMappingURL=agent-refusal-retry-
|
|
72
|
+
//# sourceMappingURL=agent-refusal-retry-476YGNU5.ts.map
|
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
// @ts-nocheck -- generated JavaScript uses a .ts extension for Pi's Jiti loader.
|
|
3
3
|
import {
|
|
4
4
|
withLock
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-6O3EDBRL.ts";
|
|
6
6
|
import "./chunk-PWMWOJP4.ts";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-DN4IA7MR.ts";
|
|
8
|
+
import {
|
|
9
|
+
writeJson
|
|
10
|
+
} from "./chunk-AR2DGDUI.ts";
|
|
8
11
|
import {
|
|
9
12
|
LOCKFILE_FS_ADAPTER,
|
|
10
13
|
LOCK_GUARD_STALE_MS,
|
|
@@ -13,10 +16,7 @@ import {
|
|
|
13
16
|
} from "./chunk-SWRVXVFD.ts";
|
|
14
17
|
import "./chunk-2JZFHNLM.ts";
|
|
15
18
|
import "./chunk-T2SJD3N7.ts";
|
|
16
|
-
import
|
|
17
|
-
writeJson
|
|
18
|
-
} from "./chunk-AR2DGDUI.ts";
|
|
19
|
-
import "./chunk-YZ5BQNRZ.ts";
|
|
19
|
+
import "./chunk-FHE2DCA2.ts";
|
|
20
20
|
import {
|
|
21
21
|
ContinuousError
|
|
22
22
|
} from "./chunk-DT7M4VQS.ts";
|
|
@@ -172,4 +172,4 @@ export {
|
|
|
172
172
|
saveAgentCandidate,
|
|
173
173
|
withAgentClaim
|
|
174
174
|
};
|
|
175
|
-
//# sourceMappingURL=agent-store-
|
|
175
|
+
//# sourceMappingURL=agent-store-RJSMNOYP.ts.map
|
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
// @ts-nocheck -- generated JavaScript uses a .ts extension for Pi's Jiti loader.
|
|
3
3
|
import {
|
|
4
4
|
withAgentSyncLock
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-F7E3VFXU.ts";
|
|
6
6
|
import "./chunk-3ST7RSYN.ts";
|
|
7
7
|
import "./chunk-K3RIEL6J.ts";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-6O3EDBRL.ts";
|
|
9
9
|
import "./chunk-PWMWOJP4.ts";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-DN4IA7MR.ts";
|
|
11
|
+
import "./chunk-AR2DGDUI.ts";
|
|
11
12
|
import "./chunk-SWRVXVFD.ts";
|
|
12
13
|
import "./chunk-2JZFHNLM.ts";
|
|
13
14
|
import "./chunk-T2SJD3N7.ts";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-YZ5BQNRZ.ts";
|
|
15
|
+
import "./chunk-FHE2DCA2.ts";
|
|
16
16
|
import "./chunk-DT7M4VQS.ts";
|
|
17
17
|
import "./chunk-YDVQYUHE.ts";
|
|
18
18
|
import "./chunk-PRUEIIK7.ts";
|
|
19
19
|
export {
|
|
20
20
|
withAgentSyncLock
|
|
21
21
|
};
|
|
22
|
-
//# sourceMappingURL=agent-sync-
|
|
22
|
+
//# sourceMappingURL=agent-sync-EUK2CPSS.ts.map
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
saveNewV3Settings,
|
|
10
10
|
updateStorageConnection,
|
|
11
11
|
updateSyncSetup
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-45COPAK7.ts";
|
|
13
13
|
import {
|
|
14
14
|
syncErrorGuidance
|
|
15
15
|
} from "./chunk-G4RUXRWZ.ts";
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
readLocalConfigObject,
|
|
34
34
|
requiredString,
|
|
35
35
|
validateConfigName
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-OVBAW7KV.ts";
|
|
37
37
|
import {
|
|
38
38
|
throwIfAborted
|
|
39
39
|
} from "./chunk-PWMWOJP4.ts";
|
|
@@ -49,7 +49,7 @@ import {
|
|
|
49
49
|
} from "./chunk-T2SJD3N7.ts";
|
|
50
50
|
import {
|
|
51
51
|
DEFAULT_SYNC_INCLUDE
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-KYTT7KV4.ts";
|
|
53
53
|
|
|
54
54
|
// src/commands/setup-completions.ts
|
|
55
55
|
async function refreshTargetCompletions() {
|
|
@@ -1031,4 +1031,4 @@ export {
|
|
|
1031
1031
|
showAddWebDavStorageProfile,
|
|
1032
1032
|
showEditWebDavStorageProfile
|
|
1033
1033
|
};
|
|
1034
|
-
//# sourceMappingURL=chunk-
|
|
1034
|
+
//# sourceMappingURL=chunk-3IYAPMST.ts.map
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
// @generated by scripts/build-runtime.mjs; do not edit.
|
|
2
2
|
// @ts-nocheck -- generated JavaScript uses a .ts extension for Pi's Jiti loader.
|
|
3
3
|
import {
|
|
4
|
+
configFromSettings,
|
|
4
5
|
effectiveSyncSetupRemoteIdentity,
|
|
5
6
|
localConfigPath,
|
|
7
|
+
syncCheckConfigFingerprint,
|
|
6
8
|
syncSetupStorageReview,
|
|
7
9
|
updateLocalConfig,
|
|
8
10
|
validateConfigName
|
|
9
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-OVBAW7KV.ts";
|
|
10
12
|
import {
|
|
11
13
|
normalizeSyncInclude
|
|
12
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-KYTT7KV4.ts";
|
|
13
15
|
|
|
14
16
|
// src/settings/settings-management.ts
|
|
15
17
|
import { isDeepStrictEqual } from "node:util";
|
|
@@ -98,6 +100,11 @@ async function updateSyncSetup(name, update, options = {}) {
|
|
|
98
100
|
await updateSettings((settings) => {
|
|
99
101
|
const setup = settings.syncSetups[name];
|
|
100
102
|
if (!setup) throw new Error(`Sync setup not found: ${name}`);
|
|
103
|
+
if (options.expectedConfigFingerprint !== void 0 && syncCheckConfigFingerprint(configFromSettings(settings, name)) !== options.expectedConfigFingerprint) {
|
|
104
|
+
throw new SyncSetupReviewChangedError(
|
|
105
|
+
`Sync setup \u201C${name}\u201D changed while it was open; reopen it and review the current configuration.`
|
|
106
|
+
);
|
|
107
|
+
}
|
|
101
108
|
if (options.expectedInclude && !sameNames(normalizeSyncInclude(setup.sync.include), options.expectedInclude)) {
|
|
102
109
|
throw new SyncSetupReviewChangedError(
|
|
103
110
|
`Sync setup \u201C${name}\u201D included content changed while it was open; reopen it and review the current selection.`
|
|
@@ -195,4 +202,4 @@ export {
|
|
|
195
202
|
removeSyncSetup,
|
|
196
203
|
removeStorageConnection
|
|
197
204
|
};
|
|
198
|
-
//# sourceMappingURL=chunk-
|
|
205
|
+
//# sourceMappingURL=chunk-45COPAK7.ts.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/settings/settings-management.ts"],
|
|
4
|
+
"sourcesContent": ["import { isDeepStrictEqual } from \"node:util\";\nimport { normalizeSyncInclude } from \"../sync/sync-policy.js\";\nimport {\n configFromSettings,\n type SyncSetupStorageReview,\n syncCheckConfigFingerprint,\n syncSetupStorageReview,\n} from \"./config.js\";\nimport { localConfigPath } from \"./config-file.js\";\nimport { updateLocalConfig } from \"./settings-store.js\";\nimport type { PiSyncSettingsV3, StorageConnectionSettings, SyncSetupSettings } from \"./settings-types.js\";\nimport { effectiveSyncSetupRemoteIdentity, validateConfigName } from \"./settings-validation.js\";\n\nexport class SyncSetupReviewChangedError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"SyncSetupReviewChangedError\";\n }\n}\n\nexport async function saveNewV3Settings(\n input: {\n setupName: string;\n connectionName: string;\n connection: StorageConnectionSettings;\n setup: SyncSetupSettings;\n },\n signal?: AbortSignal,\n) {\n validateConfigName(input.setupName, \"sync setup\");\n validateConfigName(input.connectionName, \"storage connection\");\n const settings: PiSyncSettingsV3 = {\n version: 3,\n activeSyncSetup: input.setupName,\n onSwitch: \"ask-before-pull\",\n skipSecretScan: false,\n storageConnections: { [input.connectionName]: structuredClone(input.connection) },\n syncSetups: {\n [input.setupName]: {\n ...structuredClone(input.setup),\n storage: { ...input.setup.storage, connection: input.connectionName },\n },\n },\n };\n return updateLocalConfig((current) => {\n if (Object.keys(current.storageConnections).length || Object.keys(current.syncSetups).length) {\n throw new Error(`Settings already exist: ${localConfigPath()}`);\n }\n return { ...current, ...settings };\n }, signal);\n}\n\nexport async function addStorageConnection(name: string, connection: StorageConnectionSettings, signal?: AbortSignal) {\n validateConfigName(name, \"storage connection\");\n await updateSettings((settings) => {\n if (Object.hasOwn(settings.storageConnections, name)) {\n throw new Error(`Storage connection already exists: ${name}`);\n }\n return {\n ...settings,\n storageConnections: {\n ...settings.storageConnections,\n [name]: structuredClone(connection),\n },\n };\n }, signal);\n}\n\nexport async function updateStorageConnection(\n name: string,\n update: (connection: StorageConnectionSettings) => StorageConnectionSettings,\n expectedSetups?: readonly string[],\n signal?: AbortSignal,\n) {\n validateConfigName(name, \"storage connection\");\n await updateSettings((settings) => {\n const connection = settings.storageConnections[name];\n if (!connection) throw new Error(`Storage connection not found: ${name}`);\n const currentSetups = referencingSetupNames(settings.syncSetups, name);\n if (expectedSetups && !sameNames(currentSetups, expectedSetups)) {\n throw new Error(\n `Storage connection \u201C${name}\u201D usage changed while it was open; reopen it and review the affected sync setups.`,\n );\n }\n const nextConnection = update(structuredClone(connection));\n const nextConnections = { ...settings.storageConnections, [name]: nextConnection };\n assertUniqueLocations(settings.syncSetups, nextConnections);\n return { ...settings, storageConnections: nextConnections };\n }, signal);\n}\n\nexport async function addSyncSetup(\n name: string,\n setup: SyncSetupSettings,\n signal?: AbortSignal,\n expectedConnection?: StorageConnectionSettings,\n) {\n validateConfigName(name, \"sync setup\");\n await updateSettings((settings) => {\n if (Object.hasOwn(settings.syncSetups, name)) throw new Error(`Sync setup already exists: ${name}`);\n if (!Object.hasOwn(settings.storageConnections, setup.storage.connection)) {\n throw new Error(`Storage connection not found: ${setup.storage.connection}`);\n }\n if (\n expectedConnection &&\n !isDeepStrictEqual(settings.storageConnections[setup.storage.connection], expectedConnection)\n ) {\n throw new SyncSetupReviewChangedError(\"Storage connection changed while the setup review was open; reopen it.\");\n }\n const nextSetups = { ...settings.syncSetups, [name]: structuredClone(setup) };\n assertUniqueLocations(nextSetups, settings.storageConnections);\n return {\n ...settings,\n syncSetups: nextSetups,\n ...(settings.activeSyncSetup ? {} : { activeSyncSetup: name }),\n };\n }, signal);\n}\n\nexport async function updateSyncSetup(\n name: string,\n update: (setup: SyncSetupSettings) => SyncSetupSettings,\n options: {\n expectedStorage?: SyncSetupStorageReview;\n expectedInclude?: readonly string[];\n expectedConnection?: StorageConnectionSettings;\n expectedConfigFingerprint?: string;\n signal?: AbortSignal;\n } = {},\n) {\n validateConfigName(name, \"sync setup\");\n await updateSettings((settings) => {\n const setup = settings.syncSetups[name];\n if (!setup) throw new Error(`Sync setup not found: ${name}`);\n if (\n options.expectedConfigFingerprint !== undefined &&\n syncCheckConfigFingerprint(configFromSettings(settings, name)) !== options.expectedConfigFingerprint\n ) {\n throw new SyncSetupReviewChangedError(\n `Sync setup \u201C${name}\u201D changed while it was open; reopen it and review the current configuration.`,\n );\n }\n if (options.expectedInclude && !sameNames(normalizeSyncInclude(setup.sync.include), options.expectedInclude)) {\n throw new SyncSetupReviewChangedError(\n `Sync setup \u201C${name}\u201D included content changed while it was open; reopen it and review the current selection.`,\n );\n }\n if (options.expectedStorage) {\n const connectionName = setup.storage.connection;\n const connection = settings.storageConnections[connectionName];\n if (\n !connection ||\n !sameStorageReview(syncSetupStorageReview(name, setup, connectionName, connection), options.expectedStorage)\n ) {\n throw new SyncSetupReviewChangedError(\n `Sync setup \u201C${name}\u201D storage changed while it was open; reopen it and review the current storage location.`,\n );\n }\n }\n if (\n options.expectedConnection &&\n !isDeepStrictEqual(settings.storageConnections[setup.storage.connection], options.expectedConnection)\n ) {\n throw new SyncSetupReviewChangedError(\"Storage connection changed while the setup review was open; reopen it.\");\n }\n const nextSetup = update(structuredClone(setup));\n if (!Object.hasOwn(settings.storageConnections, nextSetup.storage.connection)) {\n throw new Error(`Storage connection not found: ${nextSetup.storage.connection}`);\n }\n const nextSetups = { ...settings.syncSetups, [name]: nextSetup };\n assertUniqueLocations(nextSetups, settings.storageConnections);\n return { ...settings, syncSetups: nextSetups };\n }, options.signal);\n}\n\nexport async function removeSyncSetup(name: string, signal?: AbortSignal) {\n validateConfigName(name, \"sync setup\");\n await updateSettings((settings) => {\n if (!Object.hasOwn(settings.syncSetups, name)) throw new Error(`Sync setup not found: ${name}`);\n const isCurrent = settings.activeSyncSetup === name;\n if (isCurrent && Object.keys(settings.syncSetups).length > 1) {\n throw new Error(\"Switch to another sync setup before removing the current setup.\");\n }\n const syncSetups = { ...settings.syncSetups };\n delete syncSetups[name];\n const next = { ...settings, syncSetups };\n if (isCurrent) delete next.activeSyncSetup;\n return next;\n }, signal);\n}\n\nexport async function removeStorageConnection(name: string, signal?: AbortSignal) {\n validateConfigName(name, \"storage connection\");\n await updateSettings((settings) => {\n const referenced = referencingSetupNames(settings.syncSetups, name)[0];\n if (referenced) {\n throw new Error(`Storage connection \u201C${name}\u201D is used by sync setup \u201C${referenced}\u201D.`);\n }\n if (!Object.hasOwn(settings.storageConnections, name)) {\n throw new Error(`Storage connection not found: ${name}`);\n }\n const storageConnections = { ...settings.storageConnections };\n delete storageConnections[name];\n return { ...settings, storageConnections };\n }, signal);\n}\n\nasync function updateSettings(update: (settings: PiSyncSettingsV3) => PiSyncSettingsV3, signal?: AbortSignal) {\n return updateLocalConfig((settings) => {\n if (settings.version !== 3 && settings.version !== 4 && settings.version !== 5) {\n throw new Error(\"Storage connections and sync setups require version 3 or 4 or 5 pi-sync settings.\");\n }\n return update(settings);\n }, signal);\n}\n\nfunction referencingSetupNames(setups: Record<string, SyncSetupSettings>, connection: string) {\n return Object.entries(setups)\n .filter(([, setup]) => setup.storage.connection === connection)\n .map(([name]) => name)\n .sort((left, right) => left.localeCompare(right));\n}\n\nfunction assertUniqueLocations(\n setups: Record<string, SyncSetupSettings>,\n connections: Record<string, StorageConnectionSettings>,\n) {\n const identities = new Map<string, string>();\n for (const [name, setup] of Object.entries(setups)) {\n const connection = connections[setup.storage.connection];\n if (!connection) throw new Error(`Storage connection not found: ${setup.storage.connection}`);\n const identity = effectiveSyncSetupRemoteIdentity(setup, connection);\n const previous = identities.get(identity);\n if (previous) {\n throw new Error(`Sync setup \u201C${name}\u201D duplicates the storage location of \u201C${previous}\u201D.`);\n }\n identities.set(identity, name);\n }\n}\n\nfunction sameNames(left: readonly string[], right: readonly string[]) {\n return left.length === right.length && left.every((name, index) => name === right[index]);\n}\n\nfunction sameStorageReview(left: SyncSetupStorageReview, right: SyncSetupStorageReview) {\n return (\n left.connectionName === right.connectionName &&\n left.storageKind === right.storageKind &&\n left.storagePath === right.storagePath &&\n left.bucket === right.bucket &&\n left.branch === right.branch\n );\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
// @ts-nocheck -- generated JavaScript uses a .ts extension for Pi's Jiti loader.
|
|
3
3
|
import {
|
|
4
4
|
mergeJournalIdentity
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-BEST45H2.ts";
|
|
6
6
|
import {
|
|
7
7
|
mergePathIdentity,
|
|
8
8
|
planFileMerge
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-XJHQPB3E.ts";
|
|
10
10
|
import {
|
|
11
11
|
statePathForConfig,
|
|
12
12
|
syncStateFingerprint
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-DN4IA7MR.ts";
|
|
14
14
|
import {
|
|
15
15
|
syncDirectory,
|
|
16
16
|
writeJson
|
|
@@ -226,4 +226,4 @@ export {
|
|
|
226
226
|
saveConflictArtifact,
|
|
227
227
|
readConflictArtifact
|
|
228
228
|
};
|
|
229
|
-
//# sourceMappingURL=chunk-
|
|
229
|
+
//# sourceMappingURL=chunk-5TSCBBPP.ts.map
|
|
@@ -4,20 +4,20 @@ import {
|
|
|
4
4
|
COUPLED_FIELDS,
|
|
5
5
|
mergeSettingsJson,
|
|
6
6
|
snapshotFile
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-AKMV47YC.ts";
|
|
8
8
|
import {
|
|
9
9
|
edits,
|
|
10
10
|
isMergeTextPath,
|
|
11
11
|
lines,
|
|
12
12
|
text
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-6LD5KX55.ts";
|
|
14
14
|
import {
|
|
15
15
|
parseJsonObjectDocument,
|
|
16
16
|
parseSettingsDocument
|
|
17
17
|
} from "./chunk-ZW5ZLGBI.ts";
|
|
18
18
|
import {
|
|
19
19
|
scanSnapshot
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-ESKOPQVB.ts";
|
|
21
21
|
import {
|
|
22
22
|
AGENT_INPUT_BYTES,
|
|
23
23
|
AGENT_MAX_UNITS,
|
|
@@ -217,4 +217,4 @@ export {
|
|
|
217
217
|
parseAgentCandidate,
|
|
218
218
|
applyAgentCandidate
|
|
219
219
|
};
|
|
220
|
-
//# sourceMappingURL=chunk-
|
|
220
|
+
//# sourceMappingURL=chunk-67INJPKR.ts.map
|
|
@@ -7,18 +7,18 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
collidingPaths,
|
|
9
9
|
planFileMerge
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-XJHQPB3E.ts";
|
|
11
11
|
import {
|
|
12
12
|
statePathForConfig,
|
|
13
13
|
syncStateFingerprint
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import {
|
|
16
|
-
backendIdentityCoordinates
|
|
17
|
-
} from "./chunk-2JZFHNLM.ts";
|
|
14
|
+
} from "./chunk-DN4IA7MR.ts";
|
|
18
15
|
import {
|
|
19
16
|
syncDirectory,
|
|
20
17
|
writeJson
|
|
21
18
|
} from "./chunk-AR2DGDUI.ts";
|
|
19
|
+
import {
|
|
20
|
+
backendIdentityCoordinates
|
|
21
|
+
} from "./chunk-2JZFHNLM.ts";
|
|
22
22
|
|
|
23
23
|
// src/state/merge-baseline-store.ts
|
|
24
24
|
import { createHash } from "node:crypto";
|
|
@@ -393,4 +393,4 @@ export {
|
|
|
393
393
|
readMergeAncestor,
|
|
394
394
|
pruneMergeBaselines
|
|
395
395
|
};
|
|
396
|
-
//# sourceMappingURL=chunk-
|
|
396
|
+
//# sourceMappingURL=chunk-6LD5KX55.ts.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
ensureStateDir,
|
|
8
8
|
lockPath
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-DN4IA7MR.ts";
|
|
10
10
|
import {
|
|
11
11
|
LOCKFILE_FS_ADAPTER,
|
|
12
12
|
LOCK_GUARD_STALE_MS,
|
|
@@ -255,4 +255,4 @@ export {
|
|
|
255
255
|
isStaleLock,
|
|
256
256
|
unlock
|
|
257
257
|
};
|
|
258
|
-
//# sourceMappingURL=chunk-
|
|
258
|
+
//# sourceMappingURL=chunk-6O3EDBRL.ts.map
|