@narumitw/pi-sync 0.57.9 → 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 +14 -0
- package/README.md +7 -1
- package/dist/chunks/{agent-candidate-GNEYR225.ts → agent-candidate-OCDPRI5G.ts} +12 -9
- package/dist/chunks/{agent-plan-3L7CRFDM.ts → agent-plan-P5B5RGZ7.ts} +22 -18
- package/dist/chunks/{agent-plan-3L7CRFDM.ts.map → agent-plan-P5B5RGZ7.ts.map} +1 -1
- package/dist/chunks/{agent-refusal-retry-RPTMUQXK.ts → agent-refusal-retry-476YGNU5.ts} +11 -8
- package/dist/chunks/{agent-refusal-retry-RPTMUQXK.ts.map → agent-refusal-retry-476YGNU5.ts.map} +1 -1
- package/dist/chunks/{agent-store-55CZOCPX.ts → agent-store-RJSMNOYP.ts} +12 -11
- package/dist/chunks/{agent-store-55CZOCPX.ts.map → agent-store-RJSMNOYP.ts.map} +1 -1
- package/dist/chunks/agent-sync-EUK2CPSS.ts +22 -0
- package/dist/chunks/{chunk-U3XRI2HF.ts → chunk-3IYAPMST.ts} +11 -11
- package/dist/chunks/{chunk-B4QZBDBT.ts → chunk-45COPAK7.ts} +10 -3
- package/dist/chunks/chunk-45COPAK7.ts.map +7 -0
- package/dist/chunks/chunk-5SFMBY5P.ts +26 -0
- package/dist/chunks/chunk-5SFMBY5P.ts.map +7 -0
- package/dist/chunks/{chunk-ED3TYIVW.ts → chunk-5TSCBBPP.ts} +5 -5
- package/dist/chunks/{chunk-5QAE3G3K.ts → chunk-67INJPKR.ts} +6 -6
- package/dist/chunks/{chunk-IWZH5KYS.ts → chunk-6LD5KX55.ts} +10 -10
- package/dist/chunks/{chunk-AAEEHR7H.ts → chunk-6O3EDBRL.ts} +2 -2
- package/dist/chunks/{chunk-CRKTAPSL.ts → chunk-7A35ZAVO.ts} +333 -237
- package/dist/chunks/chunk-7A35ZAVO.ts.map +7 -0
- package/dist/chunks/{chunk-6FVVRTL5.ts → chunk-7OLLPPLU.ts} +77 -63
- package/dist/chunks/chunk-7OLLPPLU.ts.map +7 -0
- package/dist/chunks/{chunk-PQW6GS4J.ts → chunk-7ZIYU5QS.ts} +12 -10
- package/dist/chunks/{chunk-PQW6GS4J.ts.map → chunk-7ZIYU5QS.ts.map} +1 -1
- package/dist/chunks/{chunk-S7QS4AWK.ts → chunk-AKMV47YC.ts} +5 -5
- package/dist/chunks/chunk-AR2DGDUI.ts +55 -0
- package/dist/chunks/chunk-AR2DGDUI.ts.map +7 -0
- package/dist/chunks/{chunk-GNH73BJ5.ts → chunk-BEST45H2.ts} +7 -7
- package/dist/chunks/chunk-CBLTWXAU.ts +114 -0
- package/dist/chunks/chunk-CBLTWXAU.ts.map +7 -0
- package/dist/chunks/{chunk-GP5DU62N.ts → chunk-CPT2BN6N.ts} +2 -2
- package/dist/chunks/{chunk-UPNVIUBN.ts → chunk-DN4IA7MR.ts} +6 -6
- package/dist/chunks/{chunk-PG7NMFP2.ts → chunk-DRTC4PKM.ts} +8 -8
- package/dist/chunks/chunk-ESKOPQVB.ts +348 -0
- package/dist/chunks/chunk-ESKOPQVB.ts.map +7 -0
- package/dist/chunks/{chunk-MKKF4IMY.ts → chunk-F7E3VFXU.ts} +5 -5
- package/dist/chunks/{chunk-HUZ5CR4W.ts → chunk-FHE2DCA2.ts} +3 -52
- package/dist/chunks/chunk-FHE2DCA2.ts.map +7 -0
- package/dist/chunks/{chunk-UBV24CG4.ts → chunk-FLHCOJCD.ts} +3 -3
- package/dist/chunks/chunk-GNYGNHFF.ts +27 -0
- package/dist/chunks/chunk-GNYGNHFF.ts.map +7 -0
- package/dist/chunks/chunk-KYTT7KV4.ts +319 -0
- package/dist/chunks/chunk-KYTT7KV4.ts.map +7 -0
- package/dist/chunks/{chunk-A6HU4ERM.ts → chunk-MKSMJPVA.ts} +6 -23
- package/dist/chunks/chunk-MKSMJPVA.ts.map +7 -0
- package/dist/chunks/{chunk-ORGBI36T.ts → chunk-OJARL2TG.ts} +4 -4
- package/dist/chunks/{chunk-JCH3VXIO.ts → chunk-OKPPZA4D.ts} +150 -91
- package/dist/chunks/chunk-OKPPZA4D.ts.map +7 -0
- package/dist/chunks/{chunk-QO333NM4.ts → chunk-OVBAW7KV.ts} +180 -133
- package/dist/chunks/chunk-OVBAW7KV.ts.map +7 -0
- package/dist/chunks/{chunk-GSNPASKB.ts → chunk-Q23JJW7E.ts} +6 -6
- package/dist/chunks/{chunk-YK52VDXG.ts → chunk-TIMWN2RH.ts} +10 -8
- package/dist/chunks/{chunk-YK52VDXG.ts.map → chunk-TIMWN2RH.ts.map} +1 -1
- package/dist/chunks/{chunk-UOHR7LRO.ts → chunk-TZC7GDJE.ts} +10 -22
- package/dist/chunks/chunk-TZC7GDJE.ts.map +7 -0
- package/dist/chunks/chunk-X7R6DCVF.ts +28 -0
- package/dist/chunks/chunk-X7R6DCVF.ts.map +7 -0
- package/dist/chunks/{chunk-76NB4R7U.ts → chunk-XJHQPB3E.ts} +2 -2
- package/dist/chunks/{chunk-BDB4IDM3.ts → chunk-Y4UVXOLQ.ts} +8 -6
- package/dist/chunks/{chunk-BDB4IDM3.ts.map → chunk-Y4UVXOLQ.ts.map} +1 -1
- package/dist/chunks/{chunk-P7DD5PWZ.ts → chunk-ZDDBZH72.ts} +3 -3
- package/dist/chunks/command-handler-F2E7A5T5.ts +548 -0
- package/dist/chunks/command-handler-F2E7A5T5.ts.map +7 -0
- package/dist/chunks/{config-KGIYTTXQ.ts → config-HYG7G5EM.ts} +7 -6
- package/dist/chunks/{conflict-artifacts-FXFIIBCB.ts → conflict-artifacts-J6WSDCWP.ts} +13 -9
- package/dist/chunks/{conflict-review-3X37QEIT.ts → conflict-review-2QMO2K6Q.ts} +31 -25
- package/dist/chunks/{conflict-review-3X37QEIT.ts.map → conflict-review-2QMO2K6Q.ts.map} +1 -1
- package/dist/chunks/{continuous-record-SQJ47CXN.ts → continuous-record-AH7JGYKM.ts} +8 -7
- package/dist/chunks/{continuous-sync-Q6QUD6TY.ts → continuous-sync-VRMXCA5X.ts} +33 -28
- package/dist/chunks/{continuous-sync-Q6QUD6TY.ts.map → continuous-sync-VRMXCA5X.ts.map} +1 -1
- package/dist/chunks/{file-selection-3JJYOVNR.ts → file-selection-IELTXSGZ.ts} +11 -10
- package/dist/chunks/{file-selection-3JJYOVNR.ts.map → file-selection-IELTXSGZ.ts.map} +1 -1
- package/dist/chunks/{git-backend-NYKSG5X6.ts → git-backend-KHD36W27.ts} +15 -12
- package/dist/chunks/{git-backend-NYKSG5X6.ts.map → git-backend-KHD36W27.ts.map} +1 -1
- package/dist/chunks/{local-fields-6DGYOOIK.ts → local-fields-JEKAPZKD.ts} +9 -5
- package/dist/chunks/manager-result-dispatcher-6W52NM7F.ts +32 -0
- package/dist/chunks/{manager-ui-ZH6DEC2G.ts → manager-ui-LM7DSJ2Y.ts} +124 -67
- package/dist/chunks/manager-ui-LM7DSJ2Y.ts.map +7 -0
- package/dist/chunks/{merge-baseline-store-RFCAH7KL.ts → merge-baseline-store-65GKUMXI.ts} +6 -5
- package/dist/chunks/remote-selection-ui-TD4C4W3J.ts +31 -0
- package/dist/chunks/{s3-backend-F7PR5FB3.ts → s3-backend-L24UZ6IK.ts} +24 -18
- package/dist/chunks/s3-backend-L24UZ6IK.ts.map +7 -0
- package/dist/chunks/{setup-switch-E7PHKI6J.ts → setup-switch-PIPXYPCW.ts} +6 -7
- package/dist/chunks/{setup-wizard-OVHZYXNW.ts → setup-wizard-RR5U3SUB.ts} +8 -9
- package/dist/chunks/{setup-wizard-OVHZYXNW.ts.map → setup-wizard-RR5U3SUB.ts.map} +1 -1
- package/dist/chunks/{snapshot-THS5EY2L.ts → snapshot-RGNDYT6A.ts} +10 -6
- package/dist/chunks/snapshot-transaction-26BQO36S.ts +24 -0
- package/dist/chunks/sync-inspection-MOMLGUTD.ts +25 -0
- package/dist/chunks/sync-inspection-MOMLGUTD.ts.map +7 -0
- package/dist/chunks/{sync-operations-Y72GNIQ2.ts → sync-operations-CV3TULLD.ts} +66 -57
- package/dist/chunks/{sync-operations-Y72GNIQ2.ts.map → sync-operations-CV3TULLD.ts.map} +1 -1
- package/dist/chunks/{sync-state-CFL4RRRB.ts → sync-state-7L4NT7W2.ts} +8 -5
- package/dist/chunks/sync-state-7L4NT7W2.ts.map +7 -0
- package/dist/chunks/{webdav-backend-TGFUH3SF.ts → webdav-backend-3ZCACILP.ts} +15 -12
- package/dist/chunks/{webdav-backend-TGFUH3SF.ts.map → webdav-backend-3ZCACILP.ts.map} +1 -1
- package/dist/index.ts +54 -537
- package/dist/index.ts.map +3 -3
- package/package.json +2 -2
- 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 +2 -2
- package/src/settings/settings-management.ts +15 -1
- package/src/settings/settings-store.ts +0 -14
- package/src/settings/settings-validation.ts +1 -1
- package/src/snapshot/session-paths.ts +15 -2
- package/src/snapshot/snapshot-mutation-queues.ts +142 -0
- package/src/snapshot/snapshot-transaction-directory.ts +16 -0
- package/src/snapshot/snapshot-transaction.ts +123 -137
- package/src/sync/automatic-sync.ts +12 -6
- package/src/sync/local-field-policy.ts +29 -0
- package/src/sync/local-fields.ts +3 -29
- package/src/sync/merge-apply.ts +6 -0
- package/src/sync/mutation-owner.ts +22 -0
- package/src/sync/startup-check.ts +3 -2
- package/src/sync/sync-loaders.ts +4 -0
- package/src/sync/sync-local.ts +2 -19
- package/src/sync-extension.ts +7 -2
- 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-6FVVRTL5.ts.map +0 -7
- package/dist/chunks/chunk-A6HU4ERM.ts.map +0 -7
- package/dist/chunks/chunk-B4QZBDBT.ts.map +0 -7
- package/dist/chunks/chunk-CRKTAPSL.ts.map +0 -7
- package/dist/chunks/chunk-HUZ5CR4W.ts.map +0 -7
- package/dist/chunks/chunk-JCH3VXIO.ts.map +0 -7
- package/dist/chunks/chunk-QO333NM4.ts.map +0 -7
- package/dist/chunks/chunk-QOFMXPM5.ts +0 -735
- package/dist/chunks/chunk-QOFMXPM5.ts.map +0 -7
- package/dist/chunks/chunk-UOHR7LRO.ts.map +0 -7
- package/dist/chunks/manager-result-dispatcher-HOCM2GDA.ts +0 -24
- package/dist/chunks/manager-ui-ZH6DEC2G.ts.map +0 -7
- package/dist/chunks/remote-selection-ui-YFPGYGNE.ts +0 -23
- package/dist/chunks/s3-backend-F7PR5FB3.ts.map +0 -7
- package/dist/chunks/sync-inspection-J25EEKZK.ts +0 -21
- /package/dist/chunks/{agent-candidate-GNEYR225.ts.map → agent-candidate-OCDPRI5G.ts.map} +0 -0
- /package/dist/chunks/{config-KGIYTTXQ.ts.map → agent-sync-EUK2CPSS.ts.map} +0 -0
- /package/dist/chunks/{chunk-U3XRI2HF.ts.map → chunk-3IYAPMST.ts.map} +0 -0
- /package/dist/chunks/{chunk-ED3TYIVW.ts.map → chunk-5TSCBBPP.ts.map} +0 -0
- /package/dist/chunks/{chunk-5QAE3G3K.ts.map → chunk-67INJPKR.ts.map} +0 -0
- /package/dist/chunks/{chunk-IWZH5KYS.ts.map → chunk-6LD5KX55.ts.map} +0 -0
- /package/dist/chunks/{chunk-AAEEHR7H.ts.map → chunk-6O3EDBRL.ts.map} +0 -0
- /package/dist/chunks/{chunk-S7QS4AWK.ts.map → chunk-AKMV47YC.ts.map} +0 -0
- /package/dist/chunks/{chunk-GNH73BJ5.ts.map → chunk-BEST45H2.ts.map} +0 -0
- /package/dist/chunks/{chunk-GP5DU62N.ts.map → chunk-CPT2BN6N.ts.map} +0 -0
- /package/dist/chunks/{chunk-UPNVIUBN.ts.map → chunk-DN4IA7MR.ts.map} +0 -0
- /package/dist/chunks/{chunk-PG7NMFP2.ts.map → chunk-DRTC4PKM.ts.map} +0 -0
- /package/dist/chunks/{chunk-MKKF4IMY.ts.map → chunk-F7E3VFXU.ts.map} +0 -0
- /package/dist/chunks/{chunk-UBV24CG4.ts.map → chunk-FLHCOJCD.ts.map} +0 -0
- /package/dist/chunks/{chunk-ORGBI36T.ts.map → chunk-OJARL2TG.ts.map} +0 -0
- /package/dist/chunks/{chunk-GSNPASKB.ts.map → chunk-Q23JJW7E.ts.map} +0 -0
- /package/dist/chunks/{chunk-76NB4R7U.ts.map → chunk-XJHQPB3E.ts.map} +0 -0
- /package/dist/chunks/{chunk-P7DD5PWZ.ts.map → chunk-ZDDBZH72.ts.map} +0 -0
- /package/dist/chunks/{conflict-artifacts-FXFIIBCB.ts.map → config-HYG7G5EM.ts.map} +0 -0
- /package/dist/chunks/{continuous-record-SQJ47CXN.ts.map → conflict-artifacts-J6WSDCWP.ts.map} +0 -0
- /package/dist/chunks/{local-fields-6DGYOOIK.ts.map → continuous-record-AH7JGYKM.ts.map} +0 -0
- /package/dist/chunks/{manager-result-dispatcher-HOCM2GDA.ts.map → local-fields-JEKAPZKD.ts.map} +0 -0
- /package/dist/chunks/{merge-baseline-store-RFCAH7KL.ts.map → manager-result-dispatcher-6W52NM7F.ts.map} +0 -0
- /package/dist/chunks/{remote-selection-ui-YFPGYGNE.ts.map → merge-baseline-store-65GKUMXI.ts.map} +0 -0
- /package/dist/chunks/{setup-switch-E7PHKI6J.ts.map → remote-selection-ui-TD4C4W3J.ts.map} +0 -0
- /package/dist/chunks/{snapshot-THS5EY2L.ts.map → setup-switch-PIPXYPCW.ts.map} +0 -0
- /package/dist/chunks/{sync-inspection-J25EEKZK.ts.map → snapshot-RGNDYT6A.ts.map} +0 -0
- /package/dist/chunks/{sync-state-CFL4RRRB.ts.map → snapshot-transaction-26BQO36S.ts.map} +0 -0
|
@@ -6,18 +6,22 @@ import {
|
|
|
6
6
|
conflictGroups,
|
|
7
7
|
readConflictArtifact,
|
|
8
8
|
saveConflictArtifact
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-76NB4R7U.ts";
|
|
9
|
+
} from "./chunk-5TSCBBPP.ts";
|
|
10
|
+
import "./chunk-BEST45H2.ts";
|
|
11
|
+
import "./chunk-Y4UVXOLQ.ts";
|
|
12
|
+
import "./chunk-MKSMJPVA.ts";
|
|
13
|
+
import "./chunk-X7R6DCVF.ts";
|
|
15
14
|
import "./chunk-ZW5ZLGBI.ts";
|
|
16
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-XJHQPB3E.ts";
|
|
16
|
+
import "./chunk-DN4IA7MR.ts";
|
|
17
|
+
import "./chunk-AR2DGDUI.ts";
|
|
17
18
|
import "./chunk-SWRVXVFD.ts";
|
|
18
19
|
import "./chunk-2JZFHNLM.ts";
|
|
19
20
|
import "./chunk-T2SJD3N7.ts";
|
|
20
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-ESKOPQVB.ts";
|
|
22
|
+
import "./chunk-KYTT7KV4.ts";
|
|
23
|
+
import "./chunk-CBLTWXAU.ts";
|
|
24
|
+
import "./chunk-FHE2DCA2.ts";
|
|
21
25
|
export {
|
|
22
26
|
conflictArtifactFingerprint,
|
|
23
27
|
conflictDirectory,
|
|
@@ -25,4 +29,4 @@ export {
|
|
|
25
29
|
readConflictArtifact,
|
|
26
30
|
saveConflictArtifact
|
|
27
31
|
};
|
|
28
|
-
//# sourceMappingURL=conflict-artifacts-
|
|
32
|
+
//# sourceMappingURL=conflict-artifacts-J6WSDCWP.ts.map
|
|
@@ -2,53 +2,59 @@
|
|
|
2
2
|
// @ts-nocheck -- generated JavaScript uses a .ts extension for Pi's Jiti loader.
|
|
3
3
|
import {
|
|
4
4
|
mergeSync
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import
|
|
5
|
+
} from "./chunk-7OLLPPLU.ts";
|
|
6
|
+
import {
|
|
7
|
+
conflictArtifactFingerprint,
|
|
8
|
+
readConflictArtifact
|
|
9
|
+
} from "./chunk-5TSCBBPP.ts";
|
|
10
|
+
import "./chunk-BEST45H2.ts";
|
|
11
|
+
import "./chunk-Y4UVXOLQ.ts";
|
|
12
|
+
import "./chunk-TIMWN2RH.ts";
|
|
7
13
|
import {
|
|
8
14
|
createSyncBackend
|
|
9
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-OJARL2TG.ts";
|
|
10
16
|
import {
|
|
11
17
|
confirmMergeReview
|
|
12
18
|
} from "./chunk-KHBPED6W.ts";
|
|
13
|
-
import
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
} from "./chunk-ED3TYIVW.ts";
|
|
17
|
-
import "./chunk-GNH73BJ5.ts";
|
|
18
|
-
import "./chunk-BDB4IDM3.ts";
|
|
19
|
-
import "./chunk-CRKTAPSL.ts";
|
|
19
|
+
import "./chunk-TZC7GDJE.ts";
|
|
20
|
+
import "./chunk-FLHCOJCD.ts";
|
|
21
|
+
import "./chunk-MKSMJPVA.ts";
|
|
20
22
|
import "./chunk-M6VQJIOU.ts";
|
|
21
23
|
import {
|
|
22
24
|
captureMutationOwner
|
|
23
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-GNYGNHFF.ts";
|
|
24
26
|
import {
|
|
25
27
|
safeTerminalText
|
|
26
28
|
} from "./chunk-AMJRUXFT.ts";
|
|
27
|
-
import "./chunk-UBV24CG4.ts";
|
|
28
29
|
import "./chunk-7D5SF7P3.ts";
|
|
29
30
|
import {
|
|
30
31
|
loadConfig,
|
|
31
32
|
syncCheckConfigFingerprint
|
|
32
|
-
} from "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
33
|
+
} from "./chunk-OVBAW7KV.ts";
|
|
34
|
+
import "./chunk-X7R6DCVF.ts";
|
|
35
|
+
import "./chunk-7A35ZAVO.ts";
|
|
36
|
+
import "./chunk-5SFMBY5P.ts";
|
|
37
|
+
import "./chunk-6O3EDBRL.ts";
|
|
37
38
|
import "./chunk-PWMWOJP4.ts";
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-IWZH5KYS.ts";
|
|
41
|
-
import "./chunk-76NB4R7U.ts";
|
|
39
|
+
import "./chunk-AKMV47YC.ts";
|
|
40
|
+
import "./chunk-6LD5KX55.ts";
|
|
42
41
|
import "./chunk-ZW5ZLGBI.ts";
|
|
43
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-XJHQPB3E.ts";
|
|
44
43
|
import {
|
|
45
44
|
readStateForConfig,
|
|
46
45
|
syncStateFingerprint
|
|
47
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-DN4IA7MR.ts";
|
|
47
|
+
import "./chunk-AR2DGDUI.ts";
|
|
48
48
|
import "./chunk-SWRVXVFD.ts";
|
|
49
49
|
import "./chunk-2JZFHNLM.ts";
|
|
50
50
|
import "./chunk-T2SJD3N7.ts";
|
|
51
|
-
import "./chunk-
|
|
51
|
+
import "./chunk-ESKOPQVB.ts";
|
|
52
|
+
import "./chunk-KYTT7KV4.ts";
|
|
53
|
+
import "./chunk-CBLTWXAU.ts";
|
|
54
|
+
import "./chunk-FHE2DCA2.ts";
|
|
55
|
+
import "./chunk-DT7M4VQS.ts";
|
|
56
|
+
import "./chunk-YDVQYUHE.ts";
|
|
57
|
+
import "./chunk-PRUEIIK7.ts";
|
|
52
58
|
|
|
53
59
|
// src/sync/conflict-review.ts
|
|
54
60
|
import { truncateToWidth } from "@earendil-works/pi-tui";
|
|
@@ -180,4 +186,4 @@ async function showConflicts(ctx, options, factory = createSyncBackend) {
|
|
|
180
186
|
export {
|
|
181
187
|
showConflicts
|
|
182
188
|
};
|
|
183
|
-
//# sourceMappingURL=conflict-review-
|
|
189
|
+
//# sourceMappingURL=conflict-review-2QMO2K6Q.ts.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/sync/conflict-review.ts", "../../src/sync/conflict-preview.ts"],
|
|
4
4
|
"sourcesContent": ["import type { ExtensionContext } from \"@earendil-works/pi-coding-agent\";\nimport { truncateToWidth } from \"@earendil-works/pi-tui\";\nimport { createSyncBackend, type SyncBackendFactory } from \"../backends/backend-factory.js\";\nimport type { CommandOptions } from \"../commands/command-types.js\";\nimport { loadConfig, syncCheckConfigFingerprint } from \"../settings/config.js\";\nimport { readStateForConfig, syncStateFingerprint } from \"../state/sync-state-store.js\";\nimport { confirmMergeReview } from \"../ui/merge-review.js\";\nimport { safeTerminalText } from \"../ui/terminal-text.js\";\nimport { conflictArtifactFingerprint, readConflictArtifact } from \"./conflict-artifacts.js\";\nimport { conflictPreview } from \"./conflict-preview.js\";\nimport { mergeSync } from \"./merged-sync.js\";\nimport { captureMutationOwner } from \"./sync-local.js\";\nexport async function showConflicts(\n ctx: ExtensionContext,\n options: CommandOptions,\n factory: SyncBackendFactory = createSyncBackend,\n) {\n const validate = captureMutationOwner(ctx, options.signal);\n const config = await loadConfig(options.setup);\n validate();\n const state = await readStateForConfig(config);\n validate();\n if (!state.unresolved?.length) {\n ctx.ui.notify(\"No recorded unresolved conflict groups.\", \"info\");\n return;\n }\n if (!ctx.hasUI) {\n ctx.ui.notify(\n `${state.unresolved.length} conflict groups remain unresolved. Review with TUI/RPC; no transfer performed.`,\n \"warning\",\n );\n return;\n }\n const backend = await factory(config);\n validate();\n const labels = state.unresolved.map(\n (group, index) =>\n `${index + 1}: ${group.paths.length} paths \u00B7 ${group.paths\n .slice(0, 3)\n .map((value) => truncateToWidth(safeTerminalText(value), 80))\n .join(\", \")}${group.paths.length > 3 ? \", \u2026\" : \"\"}`,\n );\n const choice = await ctx.ui.select(\"Review unresolved dependency group\", [...labels, \"Keep all unresolved\"], {\n signal: options.signal,\n });\n validate();\n const index = labels.indexOf(choice ?? \"\");\n if (index < 0) return;\n const reference = state.unresolved[index];\n if (!reference) return;\n const artifact = await readConflictArtifact(config, backend.identity, reference.artifact);\n validate();\n const groupIndex = artifact.groups.findIndex(\n (group) => JSON.stringify(group.paths) === JSON.stringify(reference.paths),\n );\n if (groupIndex < 0) throw new Error(\"Conflict reference is stale; refresh sync.\");\n const body = conflictPreview(artifact, reference.paths, backend.destination);\n if (\n !(await confirmMergeReview(\n ctx,\n \"Review private conflict versions\",\n body,\n options.signal,\n () => {\n try {\n validate();\n return true;\n } catch {\n return false;\n }\n },\n \"Continue to resolution choices\",\n ))\n )\n return;\n validate();\n const decision = await ctx.ui.select(\n \"Resolve the entire reviewed group\",\n [\"Keep unresolved\", \"Use local group\", \"Use remote group\"],\n { signal: options.signal },\n );\n validate();\n if (decision !== \"Use local group\" && decision !== \"Use remote group\") return;\n if (syncCheckConfigFingerprint(config) !== syncCheckConfigFingerprint(await loadConfig(options.setup)))\n throw new Error(\"Settings changed during conflict review.\");\n validate();\n await mergeSync(ctx, { ...options, yes: false, auto: false }, factory, {\n token: reference.artifact,\n group: groupIndex,\n source: decision === \"Use local group\" ? \"local\" : \"remote\",\n stateIdentity: syncStateFingerprint(state),\n artifactIdentity: conflictArtifactFingerprint(artifact),\n });\n validate();\n}\n", "import type { SnapshotFile } from \"../snapshot/snapshot-types.js\";\nimport { safeTerminalText } from \"../ui/terminal-text.js\";\nimport type { ConflictArtifact } from \"./conflict-artifacts.js\";\n\nexport const CONFLICT_DISPLAY_BYTES = 2 * 1024 * 1024;\nconst tooLarge = () =>\n new Error(\n \"Conflict review exceeds the 2 MiB display bound; inspect private evidence and use a reviewed explicit direction.\",\n );\n\n/** Index once and refuse a version before decoding if it cannot fit the remaining display budget. */\nexport function conflictPreview(artifact: ConflictArtifact, paths: readonly string[], destination: string) {\n const index = (files: SnapshotFile[]) => new Map(files.map((file) => [file.path, file]));\n const ancestors = index(artifact.ancestors ?? []);\n const local = index(artifact.local.files);\n const remote = index(artifact.remote.files);\n const parts: string[] = [];\n let size = 0;\n const remaining = () => CONFLICT_DISPLAY_BYTES - size - (parts.length ? 1 : 0);\n const append = (value: string, prefix = \"\") => {\n if (Buffer.byteLength(value) + Buffer.byteLength(prefix) > remaining()) throw tooLarge();\n // Sanitize at the display boundary, retaining line endings and raw evidence unchanged.\n parts.push(prefix + value.split(\"\\n\").map(safeTerminalText).join(\"\\n\"));\n size += Buffer.byteLength(prefix) + Buffer.byteLength(value) + (parts.length > 1 ? 1 : 0);\n };\n const version = (files: Map<string, SnapshotFile>, filePath: string) => {\n const file = files.get(filePath);\n if (!file) return append(\"(absent)\");\n append(file.sha256, \"sha256: \");\n if (Buffer.byteLength(file.contentBase64, \"base64\") > remaining()) throw tooLarge();\n const bytes = Buffer.from(file.contentBase64, \"base64\");\n let value: string;\n try {\n value = new TextDecoder(\"utf-8\", { fatal: true, ignoreBOM: true }).decode(bytes);\n } catch {\n return append(file.contentBase64, \"base64: \");\n }\n append(value);\n };\n append(safeTerminalText(destination), \"Storage: \");\n append(\n \"Private conflict versions. Historical artifact is not authority for changed bytes/head. No automatic activation.\",\n );\n for (const filePath of paths) {\n append(safeTerminalText(filePath), \"Path: \");\n append(\"Base:\");\n const hash = artifact.state.lastFileHashes[filePath];\n if (hash && !ancestors.has(filePath)) append(`(verified ancestor unavailable; sha256: ${hash})`);\n else version(ancestors, filePath);\n append(\"Local:\");\n version(local, filePath);\n append(\"Remote:\");\n version(remote, filePath);\n }\n return parts.join(\"\\n\");\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,uBAAuB;;;ACGzB,IAAM,yBAAyB,IAAI,OAAO;AACjD,IAAM,WAAW,MACf,IAAI;AAAA,EACF;AACF;AAGK,SAAS,gBAAgB,UAA4B,OAA0B,aAAqB;AACzG,QAAM,QAAQ,CAAC,UAA0B,IAAI,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC;AACvF,QAAM,YAAY,MAAM,SAAS,aAAa,CAAC,CAAC;AAChD,QAAM,QAAQ,MAAM,SAAS,MAAM,KAAK;AACxC,QAAM,SAAS,MAAM,SAAS,OAAO,KAAK;AAC1C,QAAM,QAAkB,CAAC;AACzB,MAAI,OAAO;AACX,QAAM,YAAY,MAAM,yBAAyB,QAAQ,MAAM,SAAS,IAAI;AAC5E,QAAM,SAAS,CAAC,OAAe,SAAS,OAAO;AAC7C,QAAI,OAAO,WAAW,KAAK,IAAI,OAAO,WAAW,MAAM,IAAI,UAAU,EAAG,OAAM,SAAS;AAEvF,UAAM,KAAK,SAAS,MAAM,MAAM,IAAI,EAAE,IAAI,gBAAgB,EAAE,KAAK,IAAI,CAAC;AACtE,YAAQ,OAAO,WAAW,MAAM,IAAI,OAAO,WAAW,KAAK,KAAK,MAAM,SAAS,IAAI,IAAI;AAAA,EACzF;AACA,QAAM,UAAU,CAAC,OAAkC,aAAqB;AACtE,UAAM,OAAO,MAAM,IAAI,QAAQ;AAC/B,QAAI,CAAC,KAAM,QAAO,OAAO,UAAU;AACnC,WAAO,KAAK,QAAQ,UAAU;AAC9B,QAAI,OAAO,WAAW,KAAK,eAAe,QAAQ,IAAI,UAAU,EAAG,OAAM,SAAS;AAClF,UAAM,QAAQ,OAAO,KAAK,KAAK,eAAe,QAAQ;AACtD,QAAI;AACJ,QAAI;AACF,cAAQ,IAAI,YAAY,SAAS,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC,EAAE,OAAO,KAAK;AAAA,IACjF,QAAQ;AACN,aAAO,OAAO,KAAK,eAAe,UAAU;AAAA,IAC9C;AACA,WAAO,KAAK;AAAA,EACd;AACA,SAAO,iBAAiB,WAAW,GAAG,WAAW;AACjD;AAAA,IACE;AAAA,EACF;AACA,aAAW,YAAY,OAAO;AAC5B,WAAO,iBAAiB,QAAQ,GAAG,QAAQ;AAC3C,WAAO,OAAO;AACd,UAAM,OAAO,SAAS,MAAM,eAAe,QAAQ;AACnD,QAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,EAAG,QAAO,2CAA2C,IAAI,GAAG;AAAA,QAC1F,SAAQ,WAAW,QAAQ;AAChC,WAAO,QAAQ;AACf,YAAQ,OAAO,QAAQ;AACvB,WAAO,SAAS;AAChB,YAAQ,QAAQ,QAAQ;AAAA,EAC1B;AACA,SAAO,MAAM,KAAK,IAAI;AACxB;;;AD3CA,eAAsB,cACpB,KACA,SACA,UAA8B,mBAC9B;AACA,QAAM,WAAW,qBAAqB,KAAK,QAAQ,MAAM;AACzD,QAAM,SAAS,MAAM,WAAW,QAAQ,KAAK;AAC7C,WAAS;AACT,QAAM,QAAQ,MAAM,mBAAmB,MAAM;AAC7C,WAAS;AACT,MAAI,CAAC,MAAM,YAAY,QAAQ;AAC7B,QAAI,GAAG,OAAO,2CAA2C,MAAM;AAC/D;AAAA,EACF;AACA,MAAI,CAAC,IAAI,OAAO;AACd,QAAI,GAAG;AAAA,MACL,GAAG,MAAM,WAAW,MAAM;AAAA,MAC1B;AAAA,IACF;AACA;AAAA,EACF;AACA,QAAM,UAAU,MAAM,QAAQ,MAAM;AACpC,WAAS;AACT,QAAM,SAAS,MAAM,WAAW;AAAA,IAC9B,CAAC,OAAOA,WACN,GAAGA,SAAQ,CAAC,KAAK,MAAM,MAAM,MAAM,eAAY,MAAM,MAClD,MAAM,GAAG,CAAC,EACV,IAAI,CAAC,UAAU,gBAAgB,iBAAiB,KAAK,GAAG,EAAE,CAAC,EAC3D,KAAK,IAAI,CAAC,GAAG,MAAM,MAAM,SAAS,IAAI,aAAQ,EAAE;AAAA,EACvD;AACA,QAAM,SAAS,MAAM,IAAI,GAAG,OAAO,sCAAsC,CAAC,GAAG,QAAQ,qBAAqB,GAAG;AAAA,IAC3G,QAAQ,QAAQ;AAAA,EAClB,CAAC;AACD,WAAS;AACT,QAAM,QAAQ,OAAO,QAAQ,UAAU,EAAE;AACzC,MAAI,QAAQ,EAAG;AACf,QAAM,YAAY,MAAM,WAAW,KAAK;AACxC,MAAI,CAAC,UAAW;AAChB,QAAM,WAAW,MAAM,qBAAqB,QAAQ,QAAQ,UAAU,UAAU,QAAQ;AACxF,WAAS;AACT,QAAM,aAAa,SAAS,OAAO;AAAA,IACjC,CAAC,UAAU,KAAK,UAAU,MAAM,KAAK,MAAM,KAAK,UAAU,UAAU,KAAK;AAAA,EAC3E;AACA,MAAI,aAAa,EAAG,OAAM,IAAI,MAAM,4CAA4C;AAChF,QAAM,OAAO,gBAAgB,UAAU,UAAU,OAAO,QAAQ,WAAW;AAC3E,MACE,CAAE,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,MAAM;AACJ,UAAI;AACF,iBAAS;AACT,eAAO;AAAA,MACT,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA;AAAA,EACF;AAEA;AACF,WAAS;AACT,QAAM,WAAW,MAAM,IAAI,GAAG;AAAA,IAC5B;AAAA,IACA,CAAC,mBAAmB,mBAAmB,kBAAkB;AAAA,IACzD,EAAE,QAAQ,QAAQ,OAAO;AAAA,EAC3B;AACA,WAAS;AACT,MAAI,aAAa,qBAAqB,aAAa,mBAAoB;AACvE,MAAI,2BAA2B,MAAM,MAAM,2BAA2B,MAAM,WAAW,QAAQ,KAAK,CAAC;AACnG,UAAM,IAAI,MAAM,0CAA0C;AAC5D,WAAS;AACT,QAAM,UAAU,KAAK,EAAE,GAAG,SAAS,KAAK,OAAO,MAAM,MAAM,GAAG,SAAS;AAAA,IACrE,OAAO,UAAU;AAAA,IACjB,OAAO;AAAA,IACP,QAAQ,aAAa,oBAAoB,UAAU;AAAA,IACnD,eAAe,qBAAqB,KAAK;AAAA,IACzC,kBAAkB,4BAA4B,QAAQ;AAAA,EACxD,CAAC;AACD,WAAS;AACX;",
|
|
6
6
|
"names": ["index"]
|
|
7
7
|
}
|
|
@@ -8,16 +8,17 @@ import {
|
|
|
8
8
|
reserveContinuousRequest,
|
|
9
9
|
updateContinuousRecord,
|
|
10
10
|
validateContinuousRecord
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-DT7M4VQS.ts";
|
|
14
|
-
import "./chunk-YDVQYUHE.ts";
|
|
11
|
+
} from "./chunk-DRTC4PKM.ts";
|
|
12
|
+
import "./chunk-6O3EDBRL.ts";
|
|
15
13
|
import "./chunk-PWMWOJP4.ts";
|
|
16
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-DN4IA7MR.ts";
|
|
15
|
+
import "./chunk-AR2DGDUI.ts";
|
|
17
16
|
import "./chunk-SWRVXVFD.ts";
|
|
18
17
|
import "./chunk-2JZFHNLM.ts";
|
|
19
18
|
import "./chunk-T2SJD3N7.ts";
|
|
20
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-FHE2DCA2.ts";
|
|
20
|
+
import "./chunk-DT7M4VQS.ts";
|
|
21
|
+
import "./chunk-YDVQYUHE.ts";
|
|
21
22
|
export {
|
|
22
23
|
REQUEST_WINDOW_MS,
|
|
23
24
|
continuousStatusLines,
|
|
@@ -27,4 +28,4 @@ export {
|
|
|
27
28
|
updateContinuousRecord,
|
|
28
29
|
validateContinuousRecord
|
|
29
30
|
};
|
|
30
|
-
//# sourceMappingURL=continuous-record-
|
|
31
|
+
//# sourceMappingURL=continuous-record-AH7JGYKM.ts.map
|
|
@@ -1,5 +1,11 @@
|
|
|
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
|
+
import {
|
|
4
|
+
readMergeJournal
|
|
5
|
+
} from "./chunk-BEST45H2.ts";
|
|
6
|
+
import {
|
|
7
|
+
fileHashMap
|
|
8
|
+
} from "./chunk-Y4UVXOLQ.ts";
|
|
3
9
|
import {
|
|
4
10
|
acquireContinuousLease,
|
|
5
11
|
continuousBinding,
|
|
@@ -8,58 +14,57 @@ import {
|
|
|
8
14
|
readContinuousRecord,
|
|
9
15
|
reserveContinuousRequest,
|
|
10
16
|
updateContinuousRecord
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import
|
|
13
|
-
readMergeJournal
|
|
14
|
-
} from "./chunk-GNH73BJ5.ts";
|
|
15
|
-
import {
|
|
16
|
-
fileHashMap
|
|
17
|
-
} from "./chunk-BDB4IDM3.ts";
|
|
17
|
+
} from "./chunk-DRTC4PKM.ts";
|
|
18
|
+
import "./chunk-TZC7GDJE.ts";
|
|
18
19
|
import {
|
|
19
20
|
withAgentSyncLock
|
|
20
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-F7E3VFXU.ts";
|
|
21
22
|
import "./chunk-3ST7RSYN.ts";
|
|
23
|
+
import "./chunk-FLHCOJCD.ts";
|
|
24
|
+
import "./chunk-MKSMJPVA.ts";
|
|
22
25
|
import {
|
|
23
26
|
createStartupTimings
|
|
24
27
|
} from "./chunk-M6VQJIOU.ts";
|
|
28
|
+
import {
|
|
29
|
+
captureMutationOwner
|
|
30
|
+
} from "./chunk-GNYGNHFF.ts";
|
|
25
31
|
import {
|
|
26
32
|
setSyncStatus
|
|
27
33
|
} from "./chunk-K3RIEL6J.ts";
|
|
28
|
-
import {
|
|
29
|
-
captureMutationOwner
|
|
30
|
-
} from "./chunk-UOHR7LRO.ts";
|
|
31
|
-
import "./chunk-UBV24CG4.ts";
|
|
32
34
|
import {
|
|
33
35
|
loadConfigForCheck,
|
|
34
36
|
syncCheckConfigFingerprint
|
|
35
|
-
} from "./chunk-
|
|
36
|
-
import "./chunk-
|
|
37
|
+
} from "./chunk-OVBAW7KV.ts";
|
|
38
|
+
import "./chunk-X7R6DCVF.ts";
|
|
37
39
|
import {
|
|
38
40
|
withLock
|
|
39
|
-
} from "./chunk-
|
|
40
|
-
import {
|
|
41
|
-
ContinuousError,
|
|
42
|
-
continuousFailure
|
|
43
|
-
} from "./chunk-DT7M4VQS.ts";
|
|
44
|
-
import "./chunk-YDVQYUHE.ts";
|
|
41
|
+
} from "./chunk-6O3EDBRL.ts";
|
|
45
42
|
import "./chunk-PWMWOJP4.ts";
|
|
46
|
-
import {
|
|
47
|
-
snapshotOptionsForContext
|
|
48
|
-
} from "./chunk-QOFMXPM5.ts";
|
|
49
|
-
import "./chunk-76NB4R7U.ts";
|
|
50
43
|
import "./chunk-ZW5ZLGBI.ts";
|
|
51
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-XJHQPB3E.ts";
|
|
52
45
|
import {
|
|
53
46
|
readStateForConfig
|
|
54
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-DN4IA7MR.ts";
|
|
48
|
+
import "./chunk-AR2DGDUI.ts";
|
|
55
49
|
import {
|
|
56
50
|
withStateDirectoryAccess
|
|
57
51
|
} from "./chunk-SWRVXVFD.ts";
|
|
58
52
|
import "./chunk-2JZFHNLM.ts";
|
|
59
53
|
import "./chunk-T2SJD3N7.ts";
|
|
54
|
+
import "./chunk-ESKOPQVB.ts";
|
|
55
|
+
import "./chunk-KYTT7KV4.ts";
|
|
56
|
+
import {
|
|
57
|
+
snapshotOptionsForContext
|
|
58
|
+
} from "./chunk-CBLTWXAU.ts";
|
|
60
59
|
import {
|
|
61
60
|
isDeniedPath
|
|
62
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-FHE2DCA2.ts";
|
|
62
|
+
import {
|
|
63
|
+
ContinuousError,
|
|
64
|
+
continuousFailure
|
|
65
|
+
} from "./chunk-DT7M4VQS.ts";
|
|
66
|
+
import "./chunk-YDVQYUHE.ts";
|
|
67
|
+
import "./chunk-PRUEIIK7.ts";
|
|
63
68
|
|
|
64
69
|
// src/sync/continuous-watch.ts
|
|
65
70
|
import { watch } from "node:fs";
|
|
@@ -569,4 +574,4 @@ export {
|
|
|
569
574
|
continuousEnabled,
|
|
570
575
|
createContinuousSync
|
|
571
576
|
};
|
|
572
|
-
//# sourceMappingURL=continuous-sync-
|
|
577
|
+
//# sourceMappingURL=continuous-sync-VRMXCA5X.ts.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/sync/continuous-watch.ts", "../../src/sync/continuous-sync.ts"],
|
|
4
4
|
"sourcesContent": ["import { type FSWatcher, watch } from \"node:fs\";\nimport fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { getAgentDir } from \"@earendil-works/pi-coding-agent\";\nimport { isDeniedPath } from \"../paths.js\";\nimport type { AnySyncConfig } from \"../settings/settings-types.js\";\n\n/** Hints only. The scheduler's periodic snapshot scan remains required. */\nexport async function watchContinuous(\n config: AnySyncConfig,\n changed: (settings: boolean) => void,\n): Promise<() => void> {\n const root = getAgentDir();\n const watchers: FSWatcher[] = [];\n const selected = config.include.map((item) => path.resolve(root, item));\n const relevant = (target: string) =>\n selected.some(\n (item) => target === item || target.startsWith(`${item}${path.sep}`) || item.startsWith(`${target}${path.sep}`),\n );\n const add = (directory: string, recursive: boolean) => {\n try {\n const watcher = watch(directory, { recursive, persistent: false }, (_event, file) => {\n // Unknown names can be our own private writes. Periodic scans cover them.\n if (!file) return;\n const target = path.resolve(directory, String(file));\n if (target === path.join(root, \"pi-sync.json\")) changed(true);\n else if (isDeniedPath(path.relative(root, target))) return;\n else if (relevant(target)) changed(false);\n });\n watcher.on(\"error\", () => watcher.close());\n watchers.push(watcher);\n } catch {\n /* Periodic scans cover unavailable or unsupported watchers. */\n }\n };\n add(root, false);\n const directories = new Set<string>();\n try {\n for (const target of selected) {\n try {\n const stat = await fs.lstat(target);\n if (stat.isSymbolicLink()) continue;\n const directory = stat.isDirectory() ? target : path.dirname(target);\n if (directory === root || directories.has(directory)) continue;\n directories.add(directory);\n add(directory, stat.isDirectory());\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code !== \"ENOENT\") continue;\n // Missing targets are found by the parent hint or the next periodic scan.\n }\n }\n return () => {\n for (const watcher of watchers) watcher.close();\n };\n } catch (error) {\n for (const watcher of watchers) watcher.close();\n throw error;\n }\n}\n", "import type { ExtensionContext } from \"@earendil-works/pi-coding-agent\";\nimport { loadConfigForCheck, syncCheckConfigFingerprint } from \"../settings/config.js\";\nimport type { AnySyncConfig } from \"../settings/settings-types.js\";\nimport { snapshotOptionsForContext } from \"../snapshot/session-paths.js\";\nimport { withLock } from \"../state/lock.js\";\nimport { withStateDirectoryAccess } from \"../state/state-directory.js\";\nimport { readStateForConfig } from \"../state/sync-state-store.js\";\nimport { setSyncStatus } from \"../ui/sync-status.js\";\nimport { withAgentSyncLock } from \"./agent-sync.js\";\nimport { ContinuousError, continuousFailure } from \"./continuous-errors.js\";\nimport { acquireContinuousLease, type ContinuousLease } from \"./continuous-lease.js\";\nimport {\n normalizeContinuousClock,\n readContinuousRecord,\n reserveContinuousRequest,\n updateContinuousRecord,\n} from \"./continuous-record.js\";\nimport { continuousBinding, hashContinuous } from \"./continuous-storage.js\";\nimport { watchContinuous } from \"./continuous-watch.js\";\nimport { readMergeJournal } from \"./merge-journal.js\";\nimport { createStartupTimings, type StartupTimingPublisher, type StartupTimings } from \"./startup-timings.js\";\nimport type { SyncLoaders } from \"./sync-loaders.js\";\nimport { captureMutationOwner } from \"./sync-local.js\";\nimport { fileHashMap } from \"./sync-state.js\";\n\nexport function continuousEnabled(config: Pick<AnySyncConfig, \"continuous\" | \"agentMode\">) {\n return Boolean(config.continuous && config.agentMode);\n}\nexport interface ContinuousClock {\n now(): number;\n random(): number;\n schedule(ms: number, run: () => void, kind?: \"wait\" | \"authorization\"): () => void;\n}\nconst systemClock: ContinuousClock = {\n now: () => Date.now(),\n random: () => Math.random(),\n schedule: (ms, run) => {\n const timer = setTimeout(run, ms);\n timer.unref?.();\n return () => clearTimeout(timer);\n },\n};\nconst LOCAL_CHECK_MS = 5_000;\nconst POLL_MS = 60_000;\nconst DEBOUNCE_MS = 1_000;\n\ninterface ContinuousStartup {\n signal: AbortSignal;\n debug: boolean;\n reported: boolean;\n}\n\n/** Created on first enabled session. No module/factory-owned timers or watchers. */\nexport function createContinuousSync(\n loaders: SyncLoaders,\n clock: ContinuousClock = systemClock,\n publish?: StartupTimingPublisher,\n) {\n const startups = new WeakMap<ExtensionContext[\"sessionManager\"], ContinuousStartup>();\n const repairNotices = new WeakSet<ExtensionContext[\"sessionManager\"]>();\n let task:\n | { owner: ExtensionContext[\"sessionManager\"]; controller: AbortController; promise: Promise<void>; clear(): void }\n | undefined;\n return {\n start(ctx: ExtensionContext, sessionSignal: AbortSignal, explicitRetry = false, debug = false) {\n if (!ctx.hasUI || (ctx.mode !== \"tui\" && ctx.mode !== \"rpc\") || sessionSignal.aborted || task) return;\n const controller = new AbortController();\n const signal = AbortSignal.any([sessionSignal, controller.signal]);\n const validateContext = captureMutationOwner(ctx);\n // The caller supplies the session-start debug value, including first activation after settings edits.\n const previousStartup = startups.get(ctx.sessionManager);\n const startup: ContinuousStartup =\n previousStartup?.signal === sessionSignal ? previousStartup : { signal: sessionSignal, debug, reported: false };\n startups.set(ctx.sessionManager, startup);\n const current = {\n owner: ctx.sessionManager,\n controller,\n promise: Promise.resolve(),\n clear: () => {\n try {\n validateContext();\n setSyncStatus(ctx, undefined);\n } catch {\n /* replaced session */\n }\n },\n };\n task = current;\n current.promise = (async () => {\n let explicit = explicitRetry;\n while (!signal.aborted) {\n try {\n await run(ctx, signal, explicit, startup);\n return;\n } catch {\n if (signal.aborted) return;\n try {\n validateContext();\n setSyncStatus(ctx, \"sync blocked: private state or settings need repair\");\n if (!repairNotices.has(ctx.sessionManager)) {\n repairNotices.add(ctx.sessionManager);\n ctx.ui.notify(\n \"Continuous sync blocked: private state or settings need repair. Use /sync. Evidence was retained.\",\n \"warning\",\n );\n }\n } catch {\n return;\n }\n }\n explicit = false;\n // Only local prerequisites are retried here. No remote/model request can\n // pass a malformed settings/state read. A repair can resume monitoring.\n await wait(clock, LOCAL_CHECK_MS, signal);\n }\n })()\n .catch(() => {\n /* Cancellation/UI disposal must not leak a detached rejection. */\n })\n .finally(() => {\n if (task === current) task = undefined;\n });\n },\n async stop(owner?: ExtensionContext[\"sessionManager\"]) {\n const current = task;\n if (!current || (owner && current.owner !== owner)) return;\n current.controller.abort(new DOMException(\"Continuous sync interrupted\", \"AbortError\"));\n current.clear();\n await current.promise;\n },\n };\n\n async function run(ctx: ExtensionContext, signal: AbortSignal, explicitRetry: boolean, startup: ContinuousStartup) {\n const validateOwner = captureMutationOwner(ctx, signal);\n try {\n while (!signal.aborted) {\n validateOwner();\n const config = await loadConfigForCheck();\n validateOwner();\n if (!continuousEnabled(config)) return;\n try {\n if (ctx.isIdle()) {\n let lease: ContinuousLease | undefined;\n let binding = \"\";\n try {\n await withStateDirectoryAccess(async () => {\n validateOwner();\n binding = await continuousBinding(config);\n validateOwner();\n lease = await acquireContinuousLease(binding);\n validateOwner();\n });\n if (lease) {\n await monitor(ctx, config, binding, lease, signal, explicitRetry, startup);\n explicitRetry = false;\n } else setSyncStatus(ctx, \"sync waiting: another local owner\");\n } finally {\n await lease?.release();\n }\n }\n } catch (error) {\n if (signal.aborted) return;\n const failure = continuousFailure(error);\n if (!failure.retry && !(error instanceof Error && error.name === \"AbortError\")) throw error;\n setSyncStatus(ctx, `sync retry scheduled: ${failure.kind}`);\n }\n validateOwner();\n if (!continuousEnabled(await loadConfigForCheck())) return;\n validateOwner();\n await wait(clock, LOCAL_CHECK_MS, signal);\n }\n } finally {\n // Shutdown/replacement owns clearing the old UI; do not call it from a stale continuation.\n if (!signal.aborted) {\n try {\n validateOwner();\n setSyncStatus(ctx, undefined);\n } catch {\n /* stale context */\n }\n }\n }\n }\n\n async function monitor(\n ctx: ExtensionContext,\n initial: AnySyncConfig,\n binding: string,\n lease: ContinuousLease,\n parent: AbortSignal,\n explicitRetry: boolean,\n startup: ContinuousStartup,\n ) {\n const signal = AbortSignal.any([parent, lease.signal]);\n const validateOwner = captureMutationOwner(ctx, signal);\n let config = initial;\n let closeWatch = () => {};\n let wake = () => {};\n let dirtyAt: number | undefined;\n let cycle: AbortController | undefined;\n const changed = (settings: boolean) => {\n dirtyAt = clock.now();\n if (settings) cycle?.abort(new DOMException(\"Continuous settings changed\", \"AbortError\"));\n wake();\n };\n const validate = () => {\n validateOwner();\n lease.assert();\n if (!ctx.isIdle()) throw new DOMException(\"Owning session became busy\", \"AbortError\");\n };\n const stopWatch = () => {\n closeWatch();\n wake();\n };\n signal.addEventListener(\"abort\", stopWatch, { once: true });\n let pollDue = 0;\n try {\n closeWatch = await watchContinuous(config, changed);\n validate();\n while (!signal.aborted && ctx.isIdle()) {\n validate();\n const latest = await loadConfigForCheck();\n validate();\n if (!continuousEnabled(latest) || (await continuousBinding(latest)) !== binding) return;\n validate();\n if (syncCheckConfigFingerprint(latest) !== syncCheckConfigFingerprint(config)) {\n closeWatch();\n config = latest;\n closeWatch = await watchContinuous(config, changed);\n validate();\n pollDue = 0;\n }\n const record = await readContinuousRecord(binding);\n validate();\n const now = clock.now();\n const oldClock = JSON.stringify([record.next, record.calls]);\n normalizeContinuousClock(record, now);\n if (oldClock !== JSON.stringify([record.next, record.calls])) {\n await updateContinuousRecord(binding, lease, (current) => normalizeContinuousClock(current, now));\n validate();\n }\n const configuration = hashContinuous([{ ...config, showStatus: undefined, debug: undefined }, ctx.model]);\n const controlChanged = record.configuration !== configuration;\n if (controlChanged || explicitRetry) {\n record.next = 0;\n pollDue = 0;\n }\n const hintDue = dirtyAt === undefined ? Number.POSITIVE_INFINITY : dirtyAt + DEBOUNCE_MS;\n const due = Math.max(record.error === \"budget\" ? 0 : record.next, Math.min(pollDue, hintDue));\n if (now >= due) {\n const timings = createStartupTimings(publish);\n const report = !startup.reported && startup.debug;\n startup.reported = true;\n let outcome: \"completed\" | \"stopped\" = \"stopped\";\n const force = explicitRetry || controlChanged;\n explicitRetry = false;\n const expectedModel = hashContinuous(ctx.model);\n const expectedConfig = syncCheckConfigFingerprint(config);\n dirtyAt = undefined;\n cycle = new AbortController();\n const cancelDeadline = clock.schedule(30_000, () =>\n cycle?.abort(new DOMException(\"Continuous cycle timed out\", \"TimeoutError\")),\n );\n const guard = new AbortController();\n const guardSignal = AbortSignal.any([signal, cycle.signal, guard.signal]);\n const activeCycle = cycle;\n // Transfer entrypoints supply each fresh settings read. Never let a new\n // transfer adopt authorization that changed after this cycle's inspection.\n const validateCycle = (latest?: AnySyncConfig) => {\n validate();\n if (\n (latest && syncCheckConfigFingerprint(latest) !== expectedConfig) ||\n hashContinuous(ctx.model) !== expectedModel\n )\n activeCycle.abort(new DOMException(\"Continuous authorization changed\", \"AbortError\"));\n activeCycle.signal.throwIfAborted();\n };\n const guardTask = (async () => {\n while (!guardSignal.aborted) {\n await wait(clock, LOCAL_CHECK_MS, guardSignal, undefined, \"authorization\");\n if (guardSignal.aborted) return;\n try {\n validate();\n const latest = await loadConfigForCheck();\n if (guardSignal.aborted) return;\n validateCycle(latest);\n } catch {\n activeCycle.abort(new DOMException(\"Continuous authorization unavailable\", \"AbortError\"));\n }\n }\n })().catch(() => {});\n try {\n await performCycle(\n ctx,\n config,\n binding,\n lease,\n AbortSignal.any([signal, cycle.signal]),\n validateCycle,\n configuration,\n force,\n timings,\n );\n outcome = \"completed\";\n } catch (error) {\n if (signal.aborted || !ctx.isIdle()) return;\n // A settings hint interrupts the old authorization; load it afresh, not as a failed transfer.\n if (cycle.signal.aborted && cycle.signal.reason?.name !== \"TimeoutError\") {\n pollDue = 0;\n continue;\n }\n const failure = continuousFailure(error);\n let announce = false;\n await updateContinuousRecord(binding, lease, (current) => {\n const now = clock.now();\n normalizeContinuousClock(current, now);\n const notice = hashContinuous([failure.kind, current.evidence, configuration]);\n announce = current.notice !== notice;\n if (!failure.retry) current.notice = notice;\n current.configuration = configuration;\n current.pending = true;\n current.error = failure.kind;\n current.phase = failure.retry ? \"retry\" : \"blocked\";\n current.failures = Math.min(30, current.failures + 1);\n const base = Math.min(300_000, 5_000 * 2 ** Math.min(6, current.failures - 1));\n const delay = Math.min(300_000, base + Math.floor(clock.random() * base * 0.2));\n current.next = now + Math.max(delay, failure.delay ?? 0);\n });\n validate();\n if (announce && !failure.retry)\n ctx.ui.notify(\n `Continuous sync blocked (${failure.kind}). Review /sync or repair the setup. Evidence was retained.`,\n \"warning\",\n );\n } finally {\n cancelDeadline();\n guard.abort();\n await guardTask;\n cycle = undefined;\n timings.publish(ctx, report, signal, \"continuous startup\", outcome);\n }\n pollDue = clock.now() + POLL_MS + Math.floor(clock.random() * 6_000);\n closeWatch();\n closeWatch = () => {};\n closeWatch = await watchContinuous(config, changed);\n validate();\n }\n validate();\n const state = await readContinuousRecord(binding);\n validate();\n setSyncStatus(\n ctx,\n state.phase === \"blocked\"\n ? `sync blocked: ${state.error}`\n : state.phase === \"retry\"\n ? `sync retry scheduled: ${state.error}`\n : \"sync waiting for changes\",\n );\n if (state.phase === \"retry\") pollDue = Math.min(pollDue, state.next);\n const next = Math.max(\n state.error === \"budget\" ? 0 : state.next,\n Math.min(pollDue, dirtyAt === undefined ? Number.POSITIVE_INFINITY : dirtyAt + DEBOUNCE_MS),\n );\n await wait(clock, Math.max(1, Math.min(LOCAL_CHECK_MS, next - clock.now())), signal, (callback) => {\n wake = callback;\n });\n }\n } finally {\n signal.removeEventListener(\"abort\", stopWatch);\n closeWatch();\n cycle?.abort();\n }\n }\n\n async function performCycle(\n ctx: ExtensionContext,\n config: AnySyncConfig,\n binding: string,\n lease: ContinuousLease,\n signal: AbortSignal,\n validateOwner: (config?: AnySyncConfig) => void,\n configuration: string,\n force: boolean,\n timings: StartupTimings,\n ) {\n const validate = (latest?: AnySyncConfig) => {\n signal.throwIfAborted();\n validateOwner(latest);\n };\n validate();\n const current = await readContinuousRecord(binding);\n validate();\n // A newly pending journal may prove an uncertain commit. It is never authority to republish.\n const pending = await guardedLock(\"continuous-journal\", () => readMergeJournal(config));\n validate();\n if (\n !force &&\n !pending &&\n current.phase === \"blocked\" &&\n [\"authentication\", \"storage\", \"unknown\"].includes(current.error ?? \"\")\n )\n return;\n setSyncStatus(ctx, \"sync checking\");\n const inspectionModule = await timings.measure(\"inspection import\", () => loaders.inspection());\n validate();\n const observed = await timings.measure(\"inspection and guards\", () =>\n guardedLock(\"continuous-check\", async () => {\n validate();\n const inspection = await inspectionModule.inspectSync(\n config,\n snapshotOptionsForContext(ctx, config),\n signal,\n undefined,\n timings,\n );\n validate();\n let localIdentity = inspection.localIdentity;\n if (!localIdentity) {\n const snapshotModule = await loaders.snapshot();\n validate();\n const local = await snapshotModule.createSnapshot(config.snapshotIdentity, {\n ...snapshotOptionsForContext(ctx, config),\n signal,\n });\n validate();\n localIdentity = hashContinuous(fileHashMap(local));\n }\n const journal = await readMergeJournal(config);\n validate();\n return { inspection, journal, localIdentity };\n }),\n );\n validate();\n const evidence = hashContinuous([\n configuration,\n observed.localIdentity,\n observed.inspection.head?.revision,\n observed.inspection.stateIdentity,\n ]);\n const recovery = observed.journal ? hashContinuous([evidence, observed.journal]) : undefined;\n const blocked =\n !force &&\n current.evidence === evidence &&\n ((current.phase === \"blocked\" && (!recovery || recovery === current.recovery)) ||\n (current.error === \"budget\" && current.next > clock.now() && !observed.journal));\n await updateContinuousRecord(binding, lease, (record) => {\n if (record.configuration !== configuration) {\n record.failures = 0;\n record.next = 0;\n }\n record.configuration = configuration;\n record.checked = clock.now();\n record.evidence = evidence;\n if (!blocked) {\n if (record.phase !== \"blocked\") record.phase = \"syncing\";\n record.pending = true;\n if (recovery) record.recovery = recovery;\n }\n });\n validate();\n if (blocked) return;\n if (\n !observed.journal &&\n (observed.inspection.firstSync ||\n !observed.inspection.head ||\n observed.inspection.selectionState?.kind !== \"same\")\n )\n throw new ContinuousError(\"unsafe\", \"Continuous sync needs an accepted baseline and matching remote selection.\");\n let transferred = false;\n if (observed.journal || observed.inspection.localChanged || observed.inspection.remoteChanged) {\n const operations = await timings.measure(\"operations import\", () => loaders.operations());\n validate();\n setSyncStatus(ctx, \"sync syncing\");\n const result = await timings.measure(\"automatic transfer\", () =>\n withStateDirectoryAccess(() =>\n withAgentSyncLock(\n ctx,\n {\n args: [],\n yes: true,\n force: false,\n stale: false,\n silent: true,\n reload: false,\n auto: true,\n signal,\n startupTimings: timings,\n background: {\n validate,\n reserve: (key, requestSignal) =>\n reserveContinuousRequest(binding, lease, key, () => clock.now(), requestSignal),\n },\n },\n (options) => operations.syncBoth(ctx, options),\n ),\n ),\n );\n validate();\n transferred = result === \"applied\";\n }\n const state = await guardedLock(\"continuous-result\", () => readStateForConfig(config));\n validate();\n const unresolved = state.unresolved;\n let announcePartial = false;\n await updateContinuousRecord(binding, lease, (record) => {\n record.phase = unresolved?.length ? \"blocked\" : \"waiting\";\n record.pending = Boolean(unresolved?.length);\n record.failures = 0;\n record.next = 0;\n if (unresolved?.length) {\n record.error = \"unsafe\";\n const notice = hashContinuous([\"partial\", unresolved, configuration]);\n announcePartial = record.notice !== notice;\n record.notice = notice;\n } else {\n delete record.error;\n delete record.notice;\n }\n if (transferred) record.transferred = clock.now();\n });\n validate();\n if (announcePartial)\n ctx.ui.notify(\n \"Continuous sync retained unresolved groups. Review /sync conflicts; independent partial progress was preserved.\",\n \"warning\",\n );\n }\n}\n\nfunction guardedLock<T>(command: string, run: () => Promise<T>) {\n return withStateDirectoryAccess(() => withLock(command, run));\n}\n\nfunction wait(\n clock: ContinuousClock,\n ms: number,\n signal: AbortSignal,\n expose?: (wake: () => void) => void,\n kind: \"wait\" | \"authorization\" = \"wait\",\n) {\n signal.throwIfAborted();\n return new Promise<void>((resolve) => {\n const done = () => {\n cancel();\n signal.removeEventListener(\"abort\", done);\n expose?.(() => {});\n resolve();\n };\n const cancel = clock.schedule(ms, done, kind);\n signal.addEventListener(\"abort\", done, { once: true });\n expose?.(done);\n if (signal.aborted) done();\n });\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAyB,aAAa;AACtC,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,SAAS,mBAAmB;AAK5B,eAAsB,gBACpB,QACA,SACqB;AACrB,QAAM,OAAO,YAAY;AACzB,QAAM,WAAwB,CAAC;AAC/B,QAAM,WAAW,OAAO,QAAQ,IAAI,CAAC,SAAS,KAAK,QAAQ,MAAM,IAAI,CAAC;AACtE,QAAM,WAAW,CAAC,WAChB,SAAS;AAAA,IACP,CAAC,SAAS,WAAW,QAAQ,OAAO,WAAW,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,KAAK,KAAK,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,EAAE;AAAA,EAChH;AACF,QAAM,MAAM,CAAC,WAAmB,cAAuB;AACrD,QAAI;AACF,YAAM,UAAU,MAAM,WAAW,EAAE,WAAW,YAAY,MAAM,GAAG,CAAC,QAAQ,SAAS;AAEnF,YAAI,CAAC,KAAM;AACX,cAAM,SAAS,KAAK,QAAQ,WAAW,OAAO,IAAI,CAAC;AACnD,YAAI,WAAW,KAAK,KAAK,MAAM,cAAc,EAAG,SAAQ,IAAI;AAAA,iBACnD,aAAa,KAAK,SAAS,MAAM,MAAM,CAAC,EAAG;AAAA,iBAC3C,SAAS,MAAM,EAAG,SAAQ,KAAK;AAAA,MAC1C,CAAC;AACD,cAAQ,GAAG,SAAS,MAAM,QAAQ,MAAM,CAAC;AACzC,eAAS,KAAK,OAAO;AAAA,IACvB,QAAQ;AAAA,IAER;AAAA,EACF;AACA,MAAI,MAAM,KAAK;AACf,QAAM,cAAc,oBAAI,IAAY;AACpC,MAAI;AACF,eAAW,UAAU,UAAU;AAC7B,UAAI;AACF,cAAM,OAAO,MAAM,GAAG,MAAM,MAAM;AAClC,YAAI,KAAK,eAAe,EAAG;AAC3B,cAAM,YAAY,KAAK,YAAY,IAAI,SAAS,KAAK,QAAQ,MAAM;AACnE,YAAI,cAAc,QAAQ,YAAY,IAAI,SAAS,EAAG;AACtD,oBAAY,IAAI,SAAS;AACzB,YAAI,WAAW,KAAK,YAAY,CAAC;AAAA,MACnC,SAAS,OAAO;AACd,YAAK,MAAgC,SAAS,SAAU;AAAA,MAE1D;AAAA,IACF;AACA,WAAO,MAAM;AACX,iBAAW,WAAW,SAAU,SAAQ,MAAM;AAAA,IAChD;AAAA,EACF,SAAS,OAAO;AACd,eAAW,WAAW,SAAU,SAAQ,MAAM;AAC9C,UAAM;AAAA,EACR;AACF;;;ACjCO,SAAS,kBAAkB,QAAyD;AACzF,SAAO,QAAQ,OAAO,cAAc,OAAO,SAAS;AACtD;AAMA,IAAM,cAA+B;AAAA,EACnC,KAAK,MAAM,KAAK,IAAI;AAAA,EACpB,QAAQ,MAAM,KAAK,OAAO;AAAA,EAC1B,UAAU,CAAC,IAAI,QAAQ;AACrB,UAAM,QAAQ,WAAW,KAAK,EAAE;AAChC,UAAM,QAAQ;AACd,WAAO,MAAM,aAAa,KAAK;AAAA,EACjC;AACF;AACA,IAAM,iBAAiB;AACvB,IAAM,UAAU;AAChB,IAAM,cAAc;AASb,SAAS,qBACd,SACA,QAAyB,aACzB,SACA;AACA,QAAM,WAAW,oBAAI,QAA+D;AACpF,QAAM,gBAAgB,oBAAI,QAA4C;AACtE,MAAI;AAGJ,SAAO;AAAA,IACL,MAAM,KAAuB,eAA4B,gBAAgB,OAAO,QAAQ,OAAO;AAC7F,UAAI,CAAC,IAAI,SAAU,IAAI,SAAS,SAAS,IAAI,SAAS,SAAU,cAAc,WAAW,KAAM;AAC/F,YAAM,aAAa,IAAI,gBAAgB;AACvC,YAAM,SAAS,YAAY,IAAI,CAAC,eAAe,WAAW,MAAM,CAAC;AACjE,YAAM,kBAAkB,qBAAqB,GAAG;AAEhD,YAAM,kBAAkB,SAAS,IAAI,IAAI,cAAc;AACvD,YAAM,UACJ,iBAAiB,WAAW,gBAAgB,kBAAkB,EAAE,QAAQ,eAAe,OAAO,UAAU,MAAM;AAChH,eAAS,IAAI,IAAI,gBAAgB,OAAO;AACxC,YAAM,UAAU;AAAA,QACd,OAAO,IAAI;AAAA,QACX;AAAA,QACA,SAAS,QAAQ,QAAQ;AAAA,QACzB,OAAO,MAAM;AACX,cAAI;AACF,4BAAgB;AAChB,0BAAc,KAAK,MAAS;AAAA,UAC9B,QAAQ;AAAA,UAER;AAAA,QACF;AAAA,MACF;AACA,aAAO;AACP,cAAQ,WAAW,YAAY;AAC7B,YAAI,WAAW;AACf,eAAO,CAAC,OAAO,SAAS;AACtB,cAAI;AACF,kBAAM,IAAI,KAAK,QAAQ,UAAU,OAAO;AACxC;AAAA,UACF,QAAQ;AACN,gBAAI,OAAO,QAAS;AACpB,gBAAI;AACF,8BAAgB;AAChB,4BAAc,KAAK,qDAAqD;AACxE,kBAAI,CAAC,cAAc,IAAI,IAAI,cAAc,GAAG;AAC1C,8BAAc,IAAI,IAAI,cAAc;AACpC,oBAAI,GAAG;AAAA,kBACL;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF,QAAQ;AACN;AAAA,YACF;AAAA,UACF;AACA,qBAAW;AAGX,gBAAM,KAAK,OAAO,gBAAgB,MAAM;AAAA,QAC1C;AAAA,MACF,GAAG,EACA,MAAM,MAAM;AAAA,MAEb,CAAC,EACA,QAAQ,MAAM;AACb,YAAI,SAAS,QAAS,QAAO;AAAA,MAC/B,CAAC;AAAA,IACL;AAAA,IACA,MAAM,KAAK,OAA4C;AACrD,YAAM,UAAU;AAChB,UAAI,CAAC,WAAY,SAAS,QAAQ,UAAU,MAAQ;AACpD,cAAQ,WAAW,MAAM,IAAI,aAAa,+BAA+B,YAAY,CAAC;AACtF,cAAQ,MAAM;AACd,YAAM,QAAQ;AAAA,IAChB;AAAA,EACF;AAEA,iBAAe,IAAI,KAAuB,QAAqB,eAAwB,SAA4B;AACjH,UAAM,gBAAgB,qBAAqB,KAAK,MAAM;AACtD,QAAI;AACF,aAAO,CAAC,OAAO,SAAS;AACtB,sBAAc;AACd,cAAM,SAAS,MAAM,mBAAmB;AACxC,sBAAc;AACd,YAAI,CAAC,kBAAkB,MAAM,EAAG;AAChC,YAAI;AACF,cAAI,IAAI,OAAO,GAAG;AAChB,gBAAI;AACJ,gBAAI,UAAU;AACd,gBAAI;AACF,oBAAM,yBAAyB,YAAY;AACzC,8BAAc;AACd,0BAAU,MAAM,kBAAkB,MAAM;AACxC,8BAAc;AACd,wBAAQ,MAAM,uBAAuB,OAAO;AAC5C,8BAAc;AAAA,cAChB,CAAC;AACD,kBAAI,OAAO;AACT,sBAAM,QAAQ,KAAK,QAAQ,SAAS,OAAO,QAAQ,eAAe,OAAO;AACzE,gCAAgB;AAAA,cAClB,MAAO,eAAc,KAAK,mCAAmC;AAAA,YAC/D,UAAE;AACA,oBAAM,OAAO,QAAQ;AAAA,YACvB;AAAA,UACF;AAAA,QACF,SAAS,OAAO;AACd,cAAI,OAAO,QAAS;AACpB,gBAAM,UAAU,kBAAkB,KAAK;AACvC,cAAI,CAAC,QAAQ,SAAS,EAAE,iBAAiB,SAAS,MAAM,SAAS,cAAe,OAAM;AACtF,wBAAc,KAAK,yBAAyB,QAAQ,IAAI,EAAE;AAAA,QAC5D;AACA,sBAAc;AACd,YAAI,CAAC,kBAAkB,MAAM,mBAAmB,CAAC,EAAG;AACpD,sBAAc;AACd,cAAM,KAAK,OAAO,gBAAgB,MAAM;AAAA,MAC1C;AAAA,IACF,UAAE;AAEA,UAAI,CAAC,OAAO,SAAS;AACnB,YAAI;AACF,wBAAc;AACd,wBAAc,KAAK,MAAS;AAAA,QAC9B,QAAQ;AAAA,QAER;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,iBAAe,QACb,KACA,SACA,SACA,OACA,QACA,eACA,SACA;AACA,UAAM,SAAS,YAAY,IAAI,CAAC,QAAQ,MAAM,MAAM,CAAC;AACrD,UAAM,gBAAgB,qBAAqB,KAAK,MAAM;AACtD,QAAI,SAAS;AACb,QAAI,aAAa,MAAM;AAAA,IAAC;AACxB,QAAI,OAAO,MAAM;AAAA,IAAC;AAClB,QAAI;AACJ,QAAI;AACJ,UAAM,UAAU,CAAC,aAAsB;AACrC,gBAAU,MAAM,IAAI;AACpB,UAAI,SAAU,QAAO,MAAM,IAAI,aAAa,+BAA+B,YAAY,CAAC;AACxF,WAAK;AAAA,IACP;AACA,UAAM,WAAW,MAAM;AACrB,oBAAc;AACd,YAAM,OAAO;AACb,UAAI,CAAC,IAAI,OAAO,EAAG,OAAM,IAAI,aAAa,8BAA8B,YAAY;AAAA,IACtF;AACA,UAAM,YAAY,MAAM;AACtB,iBAAW;AACX,WAAK;AAAA,IACP;AACA,WAAO,iBAAiB,SAAS,WAAW,EAAE,MAAM,KAAK,CAAC;AAC1D,QAAI,UAAU;AACd,QAAI;AACF,mBAAa,MAAM,gBAAgB,QAAQ,OAAO;AAClD,eAAS;AACT,aAAO,CAAC,OAAO,WAAW,IAAI,OAAO,GAAG;AACtC,iBAAS;AACT,cAAM,SAAS,MAAM,mBAAmB;AACxC,iBAAS;AACT,YAAI,CAAC,kBAAkB,MAAM,KAAM,MAAM,kBAAkB,MAAM,MAAO,QAAS;AACjF,iBAAS;AACT,YAAI,2BAA2B,MAAM,MAAM,2BAA2B,MAAM,GAAG;AAC7E,qBAAW;AACX,mBAAS;AACT,uBAAa,MAAM,gBAAgB,QAAQ,OAAO;AAClD,mBAAS;AACT,oBAAU;AAAA,QACZ;AACA,cAAM,SAAS,MAAM,qBAAqB,OAAO;AACjD,iBAAS;AACT,cAAM,MAAM,MAAM,IAAI;AACtB,cAAM,WAAW,KAAK,UAAU,CAAC,OAAO,MAAM,OAAO,KAAK,CAAC;AAC3D,iCAAyB,QAAQ,GAAG;AACpC,YAAI,aAAa,KAAK,UAAU,CAAC,OAAO,MAAM,OAAO,KAAK,CAAC,GAAG;AAC5D,gBAAM,uBAAuB,SAAS,OAAO,CAAC,YAAY,yBAAyB,SAAS,GAAG,CAAC;AAChG,mBAAS;AAAA,QACX;AACA,cAAM,gBAAgB,eAAe,CAAC,EAAE,GAAG,QAAQ,YAAY,QAAW,OAAO,OAAU,GAAG,IAAI,KAAK,CAAC;AACxG,cAAM,iBAAiB,OAAO,kBAAkB;AAChD,YAAI,kBAAkB,eAAe;AACnC,iBAAO,OAAO;AACd,oBAAU;AAAA,QACZ;AACA,cAAM,UAAU,YAAY,SAAY,OAAO,oBAAoB,UAAU;AAC7E,cAAM,MAAM,KAAK,IAAI,OAAO,UAAU,WAAW,IAAI,OAAO,MAAM,KAAK,IAAI,SAAS,OAAO,CAAC;AAC5F,YAAI,OAAO,KAAK;AACd,gBAAM,UAAU,qBAAqB,OAAO;AAC5C,gBAAM,SAAS,CAAC,QAAQ,YAAY,QAAQ;AAC5C,kBAAQ,WAAW;AACnB,cAAI,UAAmC;AACvC,gBAAM,QAAQ,iBAAiB;AAC/B,0BAAgB;AAChB,gBAAM,gBAAgB,eAAe,IAAI,KAAK;AAC9C,gBAAM,iBAAiB,2BAA2B,MAAM;AACxD,oBAAU;AACV,kBAAQ,IAAI,gBAAgB;AAC5B,gBAAM,iBAAiB,MAAM;AAAA,YAAS;AAAA,YAAQ,MAC5C,OAAO,MAAM,IAAI,aAAa,8BAA8B,cAAc,CAAC;AAAA,UAC7E;AACA,gBAAM,QAAQ,IAAI,gBAAgB;AAClC,gBAAM,cAAc,YAAY,IAAI,CAAC,QAAQ,MAAM,QAAQ,MAAM,MAAM,CAAC;AACxE,gBAAM,cAAc;AAGpB,gBAAM,gBAAgB,CAACA,YAA2B;AAChD,qBAAS;AACT,gBACGA,WAAU,2BAA2BA,OAAM,MAAM,kBAClD,eAAe,IAAI,KAAK,MAAM;AAE9B,0BAAY,MAAM,IAAI,aAAa,oCAAoC,YAAY,CAAC;AACtF,wBAAY,OAAO,eAAe;AAAA,UACpC;AACA,gBAAM,aAAa,YAAY;AAC7B,mBAAO,CAAC,YAAY,SAAS;AAC3B,oBAAM,KAAK,OAAO,gBAAgB,aAAa,QAAW,eAAe;AACzE,kBAAI,YAAY,QAAS;AACzB,kBAAI;AACF,yBAAS;AACT,sBAAMA,UAAS,MAAM,mBAAmB;AACxC,oBAAI,YAAY,QAAS;AACzB,8BAAcA,OAAM;AAAA,cACtB,QAAQ;AACN,4BAAY,MAAM,IAAI,aAAa,wCAAwC,YAAY,CAAC;AAAA,cAC1F;AAAA,YACF;AAAA,UACF,GAAG,EAAE,MAAM,MAAM;AAAA,UAAC,CAAC;AACnB,cAAI;AACF,kBAAM;AAAA,cACJ;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA,YAAY,IAAI,CAAC,QAAQ,MAAM,MAAM,CAAC;AAAA,cACtC;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF;AACA,sBAAU;AAAA,UACZ,SAAS,OAAO;AACd,gBAAI,OAAO,WAAW,CAAC,IAAI,OAAO,EAAG;AAErC,gBAAI,MAAM,OAAO,WAAW,MAAM,OAAO,QAAQ,SAAS,gBAAgB;AACxE,wBAAU;AACV;AAAA,YACF;AACA,kBAAM,UAAU,kBAAkB,KAAK;AACvC,gBAAI,WAAW;AACf,kBAAM,uBAAuB,SAAS,OAAO,CAAC,YAAY;AACxD,oBAAMC,OAAM,MAAM,IAAI;AACtB,uCAAyB,SAASA,IAAG;AACrC,oBAAM,SAAS,eAAe,CAAC,QAAQ,MAAM,QAAQ,UAAU,aAAa,CAAC;AAC7E,yBAAW,QAAQ,WAAW;AAC9B,kBAAI,CAAC,QAAQ,MAAO,SAAQ,SAAS;AACrC,sBAAQ,gBAAgB;AACxB,sBAAQ,UAAU;AAClB,sBAAQ,QAAQ,QAAQ;AACxB,sBAAQ,QAAQ,QAAQ,QAAQ,UAAU;AAC1C,sBAAQ,WAAW,KAAK,IAAI,IAAI,QAAQ,WAAW,CAAC;AACpD,oBAAM,OAAO,KAAK,IAAI,KAAS,MAAQ,KAAK,KAAK,IAAI,GAAG,QAAQ,WAAW,CAAC,CAAC;AAC7E,oBAAM,QAAQ,KAAK,IAAI,KAAS,OAAO,KAAK,MAAM,MAAM,OAAO,IAAI,OAAO,GAAG,CAAC;AAC9E,sBAAQ,OAAOA,OAAM,KAAK,IAAI,OAAO,QAAQ,SAAS,CAAC;AAAA,YACzD,CAAC;AACD,qBAAS;AACT,gBAAI,YAAY,CAAC,QAAQ;AACvB,kBAAI,GAAG;AAAA,gBACL,4BAA4B,QAAQ,IAAI;AAAA,gBACxC;AAAA,cACF;AAAA,UACJ,UAAE;AACA,2BAAe;AACf,kBAAM,MAAM;AACZ,kBAAM;AACN,oBAAQ;AACR,oBAAQ,QAAQ,KAAK,QAAQ,QAAQ,sBAAsB,OAAO;AAAA,UACpE;AACA,oBAAU,MAAM,IAAI,IAAI,UAAU,KAAK,MAAM,MAAM,OAAO,IAAI,GAAK;AACnE,qBAAW;AACX,uBAAa,MAAM;AAAA,UAAC;AACpB,uBAAa,MAAM,gBAAgB,QAAQ,OAAO;AAClD,mBAAS;AAAA,QACX;AACA,iBAAS;AACT,cAAM,QAAQ,MAAM,qBAAqB,OAAO;AAChD,iBAAS;AACT;AAAA,UACE;AAAA,UACA,MAAM,UAAU,YACZ,iBAAiB,MAAM,KAAK,KAC5B,MAAM,UAAU,UACd,yBAAyB,MAAM,KAAK,KACpC;AAAA,QACR;AACA,YAAI,MAAM,UAAU,QAAS,WAAU,KAAK,IAAI,SAAS,MAAM,IAAI;AACnE,cAAM,OAAO,KAAK;AAAA,UAChB,MAAM,UAAU,WAAW,IAAI,MAAM;AAAA,UACrC,KAAK,IAAI,SAAS,YAAY,SAAY,OAAO,oBAAoB,UAAU,WAAW;AAAA,QAC5F;AACA,cAAM,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,gBAAgB,OAAO,MAAM,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,aAAa;AACjG,iBAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF,UAAE;AACA,aAAO,oBAAoB,SAAS,SAAS;AAC7C,iBAAW;AACX,aAAO,MAAM;AAAA,IACf;AAAA,EACF;AAEA,iBAAe,aACb,KACA,QACA,SACA,OACA,QACA,eACA,eACA,OACA,SACA;AACA,UAAM,WAAW,CAAC,WAA2B;AAC3C,aAAO,eAAe;AACtB,oBAAc,MAAM;AAAA,IACtB;AACA,aAAS;AACT,UAAM,UAAU,MAAM,qBAAqB,OAAO;AAClD,aAAS;AAET,UAAM,UAAU,MAAM,YAAY,sBAAsB,MAAM,iBAAiB,MAAM,CAAC;AACtF,aAAS;AACT,QACE,CAAC,SACD,CAAC,WACD,QAAQ,UAAU,aAClB,CAAC,kBAAkB,WAAW,SAAS,EAAE,SAAS,QAAQ,SAAS,EAAE;AAErE;AACF,kBAAc,KAAK,eAAe;AAClC,UAAM,mBAAmB,MAAM,QAAQ,QAAQ,qBAAqB,MAAM,QAAQ,WAAW,CAAC;AAC9F,aAAS;AACT,UAAM,WAAW,MAAM,QAAQ;AAAA,MAAQ;AAAA,MAAyB,MAC9D,YAAY,oBAAoB,YAAY;AAC1C,iBAAS;AACT,cAAM,aAAa,MAAM,iBAAiB;AAAA,UACxC;AAAA,UACA,0BAA0B,KAAK,MAAM;AAAA,UACrC;AAAA,UACA;AAAA,UACA;AAAA,QACF;AACA,iBAAS;AACT,YAAI,gBAAgB,WAAW;AAC/B,YAAI,CAAC,eAAe;AAClB,gBAAM,iBAAiB,MAAM,QAAQ,SAAS;AAC9C,mBAAS;AACT,gBAAM,QAAQ,MAAM,eAAe,eAAe,OAAO,kBAAkB;AAAA,YACzE,GAAG,0BAA0B,KAAK,MAAM;AAAA,YACxC;AAAA,UACF,CAAC;AACD,mBAAS;AACT,0BAAgB,eAAe,YAAY,KAAK,CAAC;AAAA,QACnD;AACA,cAAM,UAAU,MAAM,iBAAiB,MAAM;AAC7C,iBAAS;AACT,eAAO,EAAE,YAAY,SAAS,cAAc;AAAA,MAC9C,CAAC;AAAA,IACH;AACA,aAAS;AACT,UAAM,WAAW,eAAe;AAAA,MAC9B;AAAA,MACA,SAAS;AAAA,MACT,SAAS,WAAW,MAAM;AAAA,MAC1B,SAAS,WAAW;AAAA,IACtB,CAAC;AACD,UAAM,WAAW,SAAS,UAAU,eAAe,CAAC,UAAU,SAAS,OAAO,CAAC,IAAI;AACnF,UAAM,UACJ,CAAC,SACD,QAAQ,aAAa,aACnB,QAAQ,UAAU,cAAc,CAAC,YAAY,aAAa,QAAQ,aACjE,QAAQ,UAAU,YAAY,QAAQ,OAAO,MAAM,IAAI,KAAK,CAAC,SAAS;AAC3E,UAAM,uBAAuB,SAAS,OAAO,CAAC,WAAW;AACvD,UAAI,OAAO,kBAAkB,eAAe;AAC1C,eAAO,WAAW;AAClB,eAAO,OAAO;AAAA,MAChB;AACA,aAAO,gBAAgB;AACvB,aAAO,UAAU,MAAM,IAAI;AAC3B,aAAO,WAAW;AAClB,UAAI,CAAC,SAAS;AACZ,YAAI,OAAO,UAAU,UAAW,QAAO,QAAQ;AAC/C,eAAO,UAAU;AACjB,YAAI,SAAU,QAAO,WAAW;AAAA,MAClC;AAAA,IACF,CAAC;AACD,aAAS;AACT,QAAI,QAAS;AACb,QACE,CAAC,SAAS,YACT,SAAS,WAAW,aACnB,CAAC,SAAS,WAAW,QACrB,SAAS,WAAW,gBAAgB,SAAS;AAE/C,YAAM,IAAI,gBAAgB,UAAU,2EAA2E;AACjH,QAAI,cAAc;AAClB,QAAI,SAAS,WAAW,SAAS,WAAW,gBAAgB,SAAS,WAAW,eAAe;AAC7F,YAAM,aAAa,MAAM,QAAQ,QAAQ,qBAAqB,MAAM,QAAQ,WAAW,CAAC;AACxF,eAAS;AACT,oBAAc,KAAK,cAAc;AACjC,YAAM,SAAS,MAAM,QAAQ;AAAA,QAAQ;AAAA,QAAsB,MACzD;AAAA,UAAyB,MACvB;AAAA,YACE;AAAA,YACA;AAAA,cACE,MAAM,CAAC;AAAA,cACP,KAAK;AAAA,cACL,OAAO;AAAA,cACP,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,QAAQ;AAAA,cACR,MAAM;AAAA,cACN;AAAA,cACA,gBAAgB;AAAA,cAChB,YAAY;AAAA,gBACV;AAAA,gBACA,SAAS,CAAC,KAAK,kBACb,yBAAyB,SAAS,OAAO,KAAK,MAAM,MAAM,IAAI,GAAG,aAAa;AAAA,cAClF;AAAA,YACF;AAAA,YACA,CAAC,YAAY,WAAW,SAAS,KAAK,OAAO;AAAA,UAC/C;AAAA,QACF;AAAA,MACF;AACA,eAAS;AACT,oBAAc,WAAW;AAAA,IAC3B;AACA,UAAM,QAAQ,MAAM,YAAY,qBAAqB,MAAM,mBAAmB,MAAM,CAAC;AACrF,aAAS;AACT,UAAM,aAAa,MAAM;AACzB,QAAI,kBAAkB;AACtB,UAAM,uBAAuB,SAAS,OAAO,CAAC,WAAW;AACvD,aAAO,QAAQ,YAAY,SAAS,YAAY;AAChD,aAAO,UAAU,QAAQ,YAAY,MAAM;AAC3C,aAAO,WAAW;AAClB,aAAO,OAAO;AACd,UAAI,YAAY,QAAQ;AACtB,eAAO,QAAQ;AACf,cAAM,SAAS,eAAe,CAAC,WAAW,YAAY,aAAa,CAAC;AACpE,0BAAkB,OAAO,WAAW;AACpC,eAAO,SAAS;AAAA,MAClB,OAAO;AACL,eAAO,OAAO;AACd,eAAO,OAAO;AAAA,MAChB;AACA,UAAI,YAAa,QAAO,cAAc,MAAM,IAAI;AAAA,IAClD,CAAC;AACD,aAAS;AACT,QAAI;AACF,UAAI,GAAG;AAAA,QACL;AAAA,QACA;AAAA,MACF;AAAA,EACJ;AACF;AAEA,SAAS,YAAe,SAAiB,KAAuB;AAC9D,SAAO,yBAAyB,MAAM,SAAS,SAAS,GAAG,CAAC;AAC9D;AAEA,SAAS,KACP,OACA,IACA,QACA,QACA,OAAiC,QACjC;AACA,SAAO,eAAe;AACtB,SAAO,IAAI,QAAc,CAAC,YAAY;AACpC,UAAM,OAAO,MAAM;AACjB,aAAO;AACP,aAAO,oBAAoB,SAAS,IAAI;AACxC,eAAS,MAAM;AAAA,MAAC,CAAC;AACjB,cAAQ;AAAA,IACV;AACA,UAAM,SAAS,MAAM,SAAS,IAAI,MAAM,IAAI;AAC5C,WAAO,iBAAiB,SAAS,MAAM,EAAE,MAAM,KAAK,CAAC;AACrD,aAAS,IAAI;AACb,QAAI,OAAO,QAAS,MAAK;AAAA,EAC3B,CAAC;AACH;",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["latest", "now"]
|
|
7
7
|
}
|
|
@@ -2,23 +2,24 @@
|
|
|
2
2
|
// @ts-nocheck -- generated JavaScript uses a .ts extension for Pi's Jiti loader.
|
|
3
3
|
import {
|
|
4
4
|
updateSyncSetup
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-45COPAK7.ts";
|
|
6
6
|
import {
|
|
7
7
|
loadConfig,
|
|
8
8
|
localConfigPath
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-OVBAW7KV.ts";
|
|
10
|
+
import "./chunk-X7R6DCVF.ts";
|
|
11
|
+
import "./chunk-2JZFHNLM.ts";
|
|
12
|
+
import "./chunk-T2SJD3N7.ts";
|
|
11
13
|
import {
|
|
12
14
|
BUILT_IN_SYNC_ROOTS,
|
|
13
|
-
agentDir,
|
|
14
15
|
isSafeCustomIncludePath,
|
|
15
16
|
normalizeSyncInclude,
|
|
16
17
|
syncIncludeSelection
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-KYTT7KV4.ts";
|
|
19
|
+
import {
|
|
20
|
+
agentDir
|
|
21
|
+
} from "./chunk-CBLTWXAU.ts";
|
|
22
|
+
import "./chunk-FHE2DCA2.ts";
|
|
22
23
|
|
|
23
24
|
// src/ui/file-selection.ts
|
|
24
25
|
import fs from "node:fs/promises";
|
|
@@ -279,4 +280,4 @@ function safeTerminalText(value) {
|
|
|
279
280
|
export {
|
|
280
281
|
showFileSelection
|
|
281
282
|
};
|
|
282
|
-
//# sourceMappingURL=file-selection-
|
|
283
|
+
//# sourceMappingURL=file-selection-IELTXSGZ.ts.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ui/file-selection.ts"],
|
|
4
4
|
"sourcesContent": ["import fs from \"node:fs/promises\";\nimport type { ExtensionCommandContext } from \"@earendil-works/pi-coding-agent\";\nimport { defineMenu, runMenu } from \"@narumitw/pi-tui-kit\";\nimport { loadConfig } from \"../settings/config.js\";\nimport { localConfigPath } from \"../settings/config-file.js\";\nimport { updateSyncSetup } from \"../settings/settings-management.js\";\nimport { agentDir } from \"../snapshot/session-paths.js\";\nimport {\n BUILT_IN_SYNC_ROOTS,\n isSafeCustomIncludePath,\n normalizeSyncInclude,\n syncIncludeSelection,\n} from \"../sync/sync-policy.js\";\n\nconst BUILT_IN_PREFIX = \"builtin:\";\nconst CUSTOM_PREFIX = \"custom:\";\nconst SESSIONS_ID = \"sessions\";\nconst ADD_CUSTOM_ID = \"add-custom\";\n\ninterface SelectionDraft {\n builtIns: Set<string>;\n custom: Set<string>;\n sessions: boolean;\n}\n\nexport async function showFileSelection(ctx: ExtensionCommandContext, setupName?: string, signal?: AbortSignal) {\n const config = await loadConfig(setupName);\n if (signal?.aborted) return;\n const selection = syncIncludeSelection(config.include);\n const original: SelectionDraft = {\n builtIns: new Set(selection.builtIns),\n custom: new Set(selection.custom),\n sessions: selection.sessions,\n };\n const draft = cloneDraft(original);\n const customCandidates = await listCustomCandidates(draft.custom);\n\n if (ctx.mode !== \"tui\") {\n ctx.ui.notify(\n [\n `pi-sync included content for sync setup ${safeTerminalText(config.setupName)}:`,\n `include: ${config.include.map(safeTerminalText).join(\", \") || \"none\"}`,\n `Edit sync.include in ${safeTerminalText(localConfigPath())}.`,\n ].join(\"\\n\"),\n \"info\",\n );\n return;\n }\n\n while (!signal?.aborted) {\n await showDraftEditor(ctx, config.setupName, draft, customCandidates, signal);\n if (signal?.aborted || sameDraft(original, draft)) return;\n const choice = await showDraftReview(ctx, original, draft, signal);\n if (signal?.aborted) return;\n if (choice === \"Continue editing\") continue;\n if (choice !== \"Save changes\") {\n ctx.ui.notify(\"Included-content changes discarded.\", \"info\");\n return;\n }\n try {\n if (!original.sessions && draft.sessions) {\n const acknowledged = await ctx.ui.confirm(\n \"Include session conversations?\",\n \"Session JSONL may contain prompts, tool output, file paths, images, and secrets. Continue only with storage you trust.\",\n { signal },\n );\n if (signal?.aborted) return;\n if (!acknowledged) {\n ctx.ui.notify(\"Session inclusion was not saved.\", \"info\");\n return;\n }\n }\n const include = [\n ...BUILT_IN_SYNC_ROOTS.filter((candidate) => draft.builtIns.has(candidate)),\n ...draft.custom,\n ...(draft.sessions ? [\"sessions\"] : []),\n ];\n if (signal?.aborted) return;\n await updateSyncSetup(\n config.setupName,\n (setup) => ({\n ...setup,\n sync: { ...setup.sync, include },\n }),\n { expectedInclude: config.include, signal },\n );\n if (signal?.aborted) return;\n ctx.ui.notify(\n `Saved included content for sync setup \u201C${safeTerminalText(config.setupName)}\u201D. It applies to the next manual or automatic sync.`,\n \"info\",\n );\n } catch (error) {\n if (signal?.aborted) return;\n ctx.ui.notify(\n `Could not save pi-sync file selection: ${safeTerminalText(error instanceof Error ? error.message : String(error))}`,\n \"error\",\n );\n }\n return;\n }\n}\n\nasync function showDraftEditor(\n ctx: ExtensionCommandContext,\n setupName: string,\n draft: SelectionDraft,\n customCandidates: string[],\n signal?: AbortSignal,\n) {\n const menu = defineMenu<undefined, \"editor\", \"toggle\" | \"addCustom\", ExtensionCommandContext>({\n start: \"editor\",\n screens: {\n editor: () => ({\n kind: \"multiSelect\",\n title: `Included Content \u00B7 ${safeTerminalText(setupName)}`,\n lines: [\"Draft only \u00B7 leaving this screen opens Save, Discard, or Continue editing.\"],\n viewportSize: 12,\n items: [\n ...BUILT_IN_SYNC_ROOTS.map((relativePath) => ({\n id: `${BUILT_IN_PREFIX}${relativePath}`,\n label: relativePath,\n description: relativePath.includes(\".\")\n ? `Sync the top-level ${relativePath} file when present.`\n : `Recursively sync every safe file under ${relativePath}/.`,\n selected: draft.builtIns.has(relativePath),\n })),\n ...customCandidates.map((relativePath) => ({\n id: `${CUSTOM_PREFIX}${relativePath}`,\n label: safeTerminalText(relativePath),\n description: \"Additional safe agent-relative file or directory.\",\n selected: draft.custom.has(relativePath),\n })),\n {\n id: SESSIONS_ID,\n label: \"sessions\",\n description:\n \"Session JSONL may contain prompts, tool output, paths, images, and secrets. Sync only to storage you trust.\",\n selected: draft.sessions,\n },\n ],\n action: \"toggle\",\n actions: [\n {\n id: ADD_CUSTOM_ID,\n label: \"Add custom path\u2026\",\n description: \"Include an agent-relative file or directory even when it exists only remotely.\",\n action: \"addCustom\",\n },\n ],\n hint: \"close\",\n doneLabel: \"Review changes\",\n }),\n },\n actions: {\n toggle: async ({ itemId, selected }) => {\n updateDraft(draft, itemId, selected === true);\n return { kind: \"stay\" };\n },\n addCustom: async ({ ctx: actionCtx, signal: actionSignal }) => {\n const entered = await actionCtx.ui.input(\n \"Add included content\",\n \"Agent-relative path, for example custom.toml or snippets\",\n { signal: actionSignal },\n );\n if (actionSignal.aborted) return { kind: \"stay\" };\n const requested = entered?.trim();\n if (!requested) return { kind: \"stay\" };\n const existing = customCandidates.find((candidate) => candidate.toLowerCase() === requested.toLowerCase());\n const relativePath = existing ?? requested;\n if (draft.custom.has(relativePath)) return { kind: \"stay\" };\n try {\n if (!isSafeCustomIncludePath(relativePath)) {\n throw new Error(\"Enter a safe agent-relative file or directory path.\");\n }\n normalizeSyncInclude([\n ...draft.builtIns,\n ...draft.custom,\n ...(draft.sessions ? [\"sessions\"] : []),\n relativePath,\n ]);\n } catch (error) {\n if (actionSignal.aborted) return { kind: \"stay\" };\n actionCtx.ui.notify(\n `Could not add included content: ${safeTerminalText(error instanceof Error ? error.message : String(error))}`,\n \"error\",\n );\n return { kind: \"stay\" };\n }\n if (!existing) {\n customCandidates.push(relativePath);\n customCandidates.sort((left, right) => left.localeCompare(right));\n }\n draft.custom.add(relativePath);\n return { kind: \"stay\" };\n },\n },\n });\n await runMenu(ctx, menu, {\n getState: () => undefined,\n signal,\n isCurrent: () => !signal?.aborted,\n });\n}\n\nasync function showDraftReview(\n ctx: ExtensionCommandContext,\n original: SelectionDraft,\n draft: SelectionDraft,\n signal?: AbortSignal,\n) {\n let choice: \"Save changes\" | \"Discard changes\" | \"Continue editing\" | undefined;\n const menu = defineMenu<undefined, \"review\", \"choose\", ExtensionCommandContext>({\n start: \"review\",\n screens: {\n review: () => ({\n kind: \"actions\",\n title: \"Review included-content changes\",\n lines: formatDraftPreview(original, draft).split(\"\\n\").slice(2),\n items: [\n { id: \"save\", label: \"Save changes\", action: \"choose\" },\n { id: \"discard\", label: \"Discard changes\", action: \"choose\" },\n { id: \"continue\", label: \"Continue editing\", action: \"choose\" },\n ],\n hint: \"close\",\n }),\n },\n actions: {\n choose: async ({ itemId }) => {\n choice = itemId === \"save\" ? \"Save changes\" : itemId === \"continue\" ? \"Continue editing\" : \"Discard changes\";\n return { kind: \"close\" };\n },\n },\n });\n await runMenu(ctx, menu, {\n getState: () => undefined,\n signal,\n isCurrent: () => !signal?.aborted,\n });\n return choice;\n}\n\nfunction updateDraft(draft: SelectionDraft, id: string, included: boolean) {\n if (id.startsWith(BUILT_IN_PREFIX)) return updateSet(draft.builtIns, id.slice(BUILT_IN_PREFIX.length), included);\n if (id.startsWith(CUSTOM_PREFIX)) return updateSet(draft.custom, id.slice(CUSTOM_PREFIX.length), included);\n if (id === SESSIONS_ID) {\n draft.sessions = included;\n return;\n }\n throw new Error(`Unknown file selection: ${id}`);\n}\n\nfunction updateSet(set: Set<string>, value: string, included: boolean) {\n if (included) set.add(value);\n else set.delete(value);\n}\n\nfunction formatDraftPreview(original: SelectionDraft, draft: SelectionDraft) {\n const lines = [\"Review included-content changes\", \"\"];\n for (const item of new Set([...original.builtIns, ...draft.builtIns, ...original.custom, ...draft.custom])) {\n const before = original.builtIns.has(item) || original.custom.has(item);\n const after = draft.builtIns.has(item) || draft.custom.has(item);\n if (before !== after) lines.push(`${after ? \"Include\" : \"Exclude\"}: ${safeTerminalText(item)}`);\n }\n if (original.sessions !== draft.sessions) lines.push(`${draft.sessions ? \"Include\" : \"Exclude\"}: sessions`);\n lines.push(\"\", \"Saving does not start a network sync.\");\n return lines.join(\"\\n\");\n}\n\nasync function listCustomCandidates(configured: Set<string>) {\n const candidates = new Map([...configured].map((item) => [item.toLowerCase(), item]));\n try {\n for (const entry of await fs.readdir(agentDir(), { withFileTypes: true })) {\n if ((!entry.isFile() && !entry.isDirectory()) || !isSafeCustomIncludePath(entry.name)) continue;\n if (!candidates.has(entry.name.toLowerCase())) candidates.set(entry.name.toLowerCase(), entry.name);\n }\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code !== \"ENOENT\") throw error;\n }\n return [...candidates.values()].sort((left, right) => left.localeCompare(right));\n}\n\nfunction cloneDraft(value: SelectionDraft): SelectionDraft {\n return {\n builtIns: new Set(value.builtIns),\n custom: new Set(value.custom),\n sessions: value.sessions,\n };\n}\n\nfunction sameDraft(left: SelectionDraft, right: SelectionDraft) {\n return (\n left.sessions === right.sessions && sameSet(left.builtIns, right.builtIns) && sameSet(left.custom, right.custom)\n );\n}\n\nfunction sameSet(left: Set<string>, right: Set<string>) {\n return left.size === right.size && [...left].every((item) => right.has(item));\n}\n\nfunction safeTerminalText(value: string) {\n // biome-ignore lint/suspicious/noControlCharactersInRegex: Escape untrusted terminal controls.\n return value.replace(/[\\u0000-\\u001f\\u007f-\\u009f]/gu, \"?\");\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ;AAEf,SAAS,YAAY,eAAe;AAYpC,IAAM,kBAAkB;AACxB,IAAM,gBAAgB;AACtB,IAAM,cAAc;AACpB,IAAM,gBAAgB;AAQtB,eAAsB,kBAAkB,KAA8B,WAAoB,QAAsB;AAC9G,QAAM,SAAS,MAAM,WAAW,SAAS;AACzC,MAAI,QAAQ,QAAS;AACrB,QAAM,YAAY,qBAAqB,OAAO,OAAO;AACrD,QAAM,WAA2B;AAAA,IAC/B,UAAU,IAAI,IAAI,UAAU,QAAQ;AAAA,IACpC,QAAQ,IAAI,IAAI,UAAU,MAAM;AAAA,IAChC,UAAU,UAAU;AAAA,EACtB;AACA,QAAM,QAAQ,WAAW,QAAQ;AACjC,QAAM,mBAAmB,MAAM,qBAAqB,MAAM,MAAM;AAEhE,MAAI,IAAI,SAAS,OAAO;AACtB,QAAI,GAAG;AAAA,MACL;AAAA,QACE,2CAA2C,iBAAiB,OAAO,SAAS,CAAC;AAAA,QAC7E,YAAY,OAAO,QAAQ,IAAI,gBAAgB,EAAE,KAAK,IAAI,KAAK,MAAM;AAAA,QACrE,wBAAwB,iBAAiB,gBAAgB,CAAC,CAAC;AAAA,MAC7D,EAAE,KAAK,IAAI;AAAA,MACX;AAAA,IACF;AACA;AAAA,EACF;AAEA,SAAO,CAAC,QAAQ,SAAS;AACvB,UAAM,gBAAgB,KAAK,OAAO,WAAW,OAAO,kBAAkB,MAAM;AAC5E,QAAI,QAAQ,WAAW,UAAU,UAAU,KAAK,EAAG;AACnD,UAAM,SAAS,MAAM,gBAAgB,KAAK,UAAU,OAAO,MAAM;AACjE,QAAI,QAAQ,QAAS;AACrB,QAAI,WAAW,mBAAoB;AACnC,QAAI,WAAW,gBAAgB;AAC7B,UAAI,GAAG,OAAO,uCAAuC,MAAM;AAC3D;AAAA,IACF;AACA,QAAI;AACF,UAAI,CAAC,SAAS,YAAY,MAAM,UAAU;AACxC,cAAM,eAAe,MAAM,IAAI,GAAG;AAAA,UAChC;AAAA,UACA;AAAA,UACA,EAAE,OAAO;AAAA,QACX;AACA,YAAI,QAAQ,QAAS;AACrB,YAAI,CAAC,cAAc;AACjB,cAAI,GAAG,OAAO,oCAAoC,MAAM;AACxD;AAAA,QACF;AAAA,MACF;AACA,YAAM,UAAU;AAAA,QACd,GAAG,oBAAoB,OAAO,CAAC,cAAc,MAAM,SAAS,IAAI,SAAS,CAAC;AAAA,QAC1E,GAAG,MAAM;AAAA,QACT,GAAI,MAAM,WAAW,CAAC,UAAU,IAAI,CAAC;AAAA,MACvC;AACA,UAAI,QAAQ,QAAS;AACrB,YAAM;AAAA,QACJ,OAAO;AAAA,QACP,CAAC,WAAW;AAAA,UACV,GAAG;AAAA,UACH,MAAM,EAAE,GAAG,MAAM,MAAM,QAAQ;AAAA,QACjC;AAAA,QACA,EAAE,iBAAiB,OAAO,SAAS,OAAO;AAAA,MAC5C;AACA,UAAI,QAAQ,QAAS;AACrB,UAAI,GAAG;AAAA,QACL,+CAA0C,iBAAiB,OAAO,SAAS,CAAC;AAAA,QAC5E;AAAA,MACF;AAAA,IACF,SAAS,OAAO;AACd,UAAI,QAAQ,QAAS;AACrB,UAAI,GAAG;AAAA,QACL,0CAA0C,iBAAiB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC,CAAC;AAAA,QAClH;AAAA,MACF;AAAA,IACF;AACA;AAAA,EACF;AACF;AAEA,eAAe,gBACb,KACA,WACA,OACA,kBACA,QACA;AACA,QAAM,OAAO,WAAiF;AAAA,IAC5F,OAAO;AAAA,IACP,SAAS;AAAA,MACP,QAAQ,OAAO;AAAA,QACb,MAAM;AAAA,QACN,OAAO,yBAAsB,iBAAiB,SAAS,CAAC;AAAA,QACxD,OAAO,CAAC,+EAA4E;AAAA,QACpF,cAAc;AAAA,QACd,OAAO;AAAA,UACL,GAAG,oBAAoB,IAAI,CAAC,kBAAkB;AAAA,YAC5C,IAAI,GAAG,eAAe,GAAG,YAAY;AAAA,YACrC,OAAO;AAAA,YACP,aAAa,aAAa,SAAS,GAAG,IAClC,sBAAsB,YAAY,wBAClC,0CAA0C,YAAY;AAAA,YAC1D,UAAU,MAAM,SAAS,IAAI,YAAY;AAAA,UAC3C,EAAE;AAAA,UACF,GAAG,iBAAiB,IAAI,CAAC,kBAAkB;AAAA,YACzC,IAAI,GAAG,aAAa,GAAG,YAAY;AAAA,YACnC,OAAO,iBAAiB,YAAY;AAAA,YACpC,aAAa;AAAA,YACb,UAAU,MAAM,OAAO,IAAI,YAAY;AAAA,UACzC,EAAE;AAAA,UACF;AAAA,YACE,IAAI;AAAA,YACJ,OAAO;AAAA,YACP,aACE;AAAA,YACF,UAAU,MAAM;AAAA,UAClB;AAAA,QACF;AAAA,QACA,QAAQ;AAAA,QACR,SAAS;AAAA,UACP;AAAA,YACE,IAAI;AAAA,YACJ,OAAO;AAAA,YACP,aAAa;AAAA,YACb,QAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,MAAM;AAAA,QACN,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,QAAQ,OAAO,EAAE,QAAQ,SAAS,MAAM;AACtC,oBAAY,OAAO,QAAQ,aAAa,IAAI;AAC5C,eAAO,EAAE,MAAM,OAAO;AAAA,MACxB;AAAA,MACA,WAAW,OAAO,EAAE,KAAK,WAAW,QAAQ,aAAa,MAAM;AAC7D,cAAM,UAAU,MAAM,UAAU,GAAG;AAAA,UACjC;AAAA,UACA;AAAA,UACA,EAAE,QAAQ,aAAa;AAAA,QACzB;AACA,YAAI,aAAa,QAAS,QAAO,EAAE,MAAM,OAAO;AAChD,cAAM,YAAY,SAAS,KAAK;AAChC,YAAI,CAAC,UAAW,QAAO,EAAE,MAAM,OAAO;AACtC,cAAM,WAAW,iBAAiB,KAAK,CAAC,cAAc,UAAU,YAAY,MAAM,UAAU,YAAY,CAAC;AACzG,cAAM,eAAe,YAAY;AACjC,YAAI,MAAM,OAAO,IAAI,YAAY,EAAG,QAAO,EAAE,MAAM,OAAO;AAC1D,YAAI;AACF,cAAI,CAAC,wBAAwB,YAAY,GAAG;AAC1C,kBAAM,IAAI,MAAM,qDAAqD;AAAA,UACvE;AACA,+BAAqB;AAAA,YACnB,GAAG,MAAM;AAAA,YACT,GAAG,MAAM;AAAA,YACT,GAAI,MAAM,WAAW,CAAC,UAAU,IAAI,CAAC;AAAA,YACrC;AAAA,UACF,CAAC;AAAA,QACH,SAAS,OAAO;AACd,cAAI,aAAa,QAAS,QAAO,EAAE,MAAM,OAAO;AAChD,oBAAU,GAAG;AAAA,YACX,mCAAmC,iBAAiB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC,CAAC;AAAA,YAC3G;AAAA,UACF;AACA,iBAAO,EAAE,MAAM,OAAO;AAAA,QACxB;AACA,YAAI,CAAC,UAAU;AACb,2BAAiB,KAAK,YAAY;AAClC,2BAAiB,KAAK,CAAC,MAAM,UAAU,KAAK,cAAc,KAAK,CAAC;AAAA,QAClE;AACA,cAAM,OAAO,IAAI,YAAY;AAC7B,eAAO,EAAE,MAAM,OAAO;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC;AACD,QAAM,QAAQ,KAAK,MAAM;AAAA,IACvB,UAAU,MAAM;AAAA,IAChB;AAAA,IACA,WAAW,MAAM,CAAC,QAAQ;AAAA,EAC5B,CAAC;AACH;AAEA,eAAe,gBACb,KACA,UACA,OACA,QACA;AACA,MAAI;AACJ,QAAM,OAAO,WAAmE;AAAA,IAC9E,OAAO;AAAA,IACP,SAAS;AAAA,MACP,QAAQ,OAAO;AAAA,QACb,MAAM;AAAA,QACN,OAAO;AAAA,QACP,OAAO,mBAAmB,UAAU,KAAK,EAAE,MAAM,IAAI,EAAE,MAAM,CAAC;AAAA,QAC9D,OAAO;AAAA,UACL,EAAE,IAAI,QAAQ,OAAO,gBAAgB,QAAQ,SAAS;AAAA,UACtD,EAAE,IAAI,WAAW,OAAO,mBAAmB,QAAQ,SAAS;AAAA,UAC5D,EAAE,IAAI,YAAY,OAAO,oBAAoB,QAAQ,SAAS;AAAA,QAChE;AAAA,QACA,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,QAAQ,OAAO,EAAE,OAAO,MAAM;AAC5B,iBAAS,WAAW,SAAS,iBAAiB,WAAW,aAAa,qBAAqB;AAC3F,eAAO,EAAE,MAAM,QAAQ;AAAA,MACzB;AAAA,IACF;AAAA,EACF,CAAC;AACD,QAAM,QAAQ,KAAK,MAAM;AAAA,IACvB,UAAU,MAAM;AAAA,IAChB;AAAA,IACA,WAAW,MAAM,CAAC,QAAQ;AAAA,EAC5B,CAAC;AACD,SAAO;AACT;AAEA,SAAS,YAAY,OAAuB,IAAY,UAAmB;AACzE,MAAI,GAAG,WAAW,eAAe,EAAG,QAAO,UAAU,MAAM,UAAU,GAAG,MAAM,gBAAgB,MAAM,GAAG,QAAQ;AAC/G,MAAI,GAAG,WAAW,aAAa,EAAG,QAAO,UAAU,MAAM,QAAQ,GAAG,MAAM,cAAc,MAAM,GAAG,QAAQ;AACzG,MAAI,OAAO,aAAa;AACtB,UAAM,WAAW;AACjB;AAAA,EACF;AACA,QAAM,IAAI,MAAM,2BAA2B,EAAE,EAAE;AACjD;AAEA,SAAS,UAAU,KAAkB,OAAe,UAAmB;AACrE,MAAI,SAAU,KAAI,IAAI,KAAK;AAAA,MACtB,KAAI,OAAO,KAAK;AACvB;AAEA,SAAS,mBAAmB,UAA0B,OAAuB;AAC3E,QAAM,QAAQ,CAAC,mCAAmC,EAAE;AACpD,aAAW,QAAQ,oBAAI,IAAI,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM,UAAU,GAAG,SAAS,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG;AAC1G,UAAM,SAAS,SAAS,SAAS,IAAI,IAAI,KAAK,SAAS,OAAO,IAAI,IAAI;AACtE,UAAM,QAAQ,MAAM,SAAS,IAAI,IAAI,KAAK,MAAM,OAAO,IAAI,IAAI;AAC/D,QAAI,WAAW,MAAO,OAAM,KAAK,GAAG,QAAQ,YAAY,SAAS,KAAK,iBAAiB,IAAI,CAAC,EAAE;AAAA,EAChG;AACA,MAAI,SAAS,aAAa,MAAM,SAAU,OAAM,KAAK,GAAG,MAAM,WAAW,YAAY,SAAS,YAAY;AAC1G,QAAM,KAAK,IAAI,uCAAuC;AACtD,SAAO,MAAM,KAAK,IAAI;AACxB;AAEA,eAAe,qBAAqB,YAAyB;AAC3D,QAAM,aAAa,IAAI,IAAI,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,YAAY,GAAG,IAAI,CAAC,CAAC;AACpF,MAAI;AACF,eAAW,SAAS,MAAM,GAAG,QAAQ,SAAS,GAAG,EAAE,eAAe,KAAK,CAAC,GAAG;AACzE,UAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,YAAY,KAAM,CAAC,wBAAwB,MAAM,IAAI,EAAG;AACvF,UAAI,CAAC,WAAW,IAAI,MAAM,KAAK,YAAY,CAAC,EAAG,YAAW,IAAI,MAAM,KAAK,YAAY,GAAG,MAAM,IAAI;AAAA,IACpG;AAAA,EACF,SAAS,OAAO;AACd,QAAK,MAAgC,SAAS,SAAU,OAAM;AAAA,EAChE;AACA,SAAO,CAAC,GAAG,WAAW,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,UAAU,KAAK,cAAc,KAAK,CAAC;AACjF;AAEA,SAAS,WAAW,OAAuC;AACzD,SAAO;AAAA,IACL,UAAU,IAAI,IAAI,MAAM,QAAQ;AAAA,IAChC,QAAQ,IAAI,IAAI,MAAM,MAAM;AAAA,IAC5B,UAAU,MAAM;AAAA,EAClB;AACF;AAEA,SAAS,UAAU,MAAsB,OAAuB;AAC9D,SACE,KAAK,aAAa,MAAM,YAAY,QAAQ,KAAK,UAAU,MAAM,QAAQ,KAAK,QAAQ,KAAK,QAAQ,MAAM,MAAM;AAEnH;AAEA,SAAS,QAAQ,MAAmB,OAAoB;AACtD,SAAO,KAAK,SAAS,MAAM,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,IAAI,IAAI,CAAC;AAC9E;AAEA,SAAS,iBAAiB,OAAe;AAEvC,SAAO,MAAM,QAAQ,kCAAkC,GAAG;AAC5D;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -3,23 +3,16 @@
|
|
|
3
3
|
import {
|
|
4
4
|
syncErrorGuidance
|
|
5
5
|
} from "./chunk-G4RUXRWZ.ts";
|
|
6
|
-
import "./chunk-7D5SF7P3.ts";
|
|
7
6
|
import {
|
|
8
7
|
sameLocalFields,
|
|
9
8
|
validatePortableSnapshot,
|
|
10
9
|
validateSnapshotFieldPolicy
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import
|
|
13
|
-
|
|
14
|
-
SyncBackendPublicationOutcomeUnknownError
|
|
15
|
-
} from "./chunk-YDVQYUHE.ts";
|
|
10
|
+
} from "./chunk-MKSMJPVA.ts";
|
|
11
|
+
import "./chunk-7D5SF7P3.ts";
|
|
12
|
+
import "./chunk-X7R6DCVF.ts";
|
|
16
13
|
import {
|
|
17
14
|
throwIfAborted
|
|
18
15
|
} from "./chunk-PWMWOJP4.ts";
|
|
19
|
-
import {
|
|
20
|
-
portableSnapshotSelection,
|
|
21
|
-
snapshotSelectionInclude
|
|
22
|
-
} from "./chunk-QOFMXPM5.ts";
|
|
23
16
|
import "./chunk-ZW5ZLGBI.ts";
|
|
24
17
|
import {
|
|
25
18
|
stateDir
|
|
@@ -31,9 +24,19 @@ import {
|
|
|
31
24
|
normalizeGitRemoteIdentity,
|
|
32
25
|
validateGitNamespace
|
|
33
26
|
} from "./chunk-T2SJD3N7.ts";
|
|
27
|
+
import "./chunk-ESKOPQVB.ts";
|
|
28
|
+
import {
|
|
29
|
+
portableSnapshotSelection,
|
|
30
|
+
snapshotSelectionInclude
|
|
31
|
+
} from "./chunk-KYTT7KV4.ts";
|
|
32
|
+
import "./chunk-CBLTWXAU.ts";
|
|
34
33
|
import {
|
|
35
34
|
posixJoin
|
|
36
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-FHE2DCA2.ts";
|
|
36
|
+
import {
|
|
37
|
+
SyncBackendConflictError,
|
|
38
|
+
SyncBackendPublicationOutcomeUnknownError
|
|
39
|
+
} from "./chunk-YDVQYUHE.ts";
|
|
37
40
|
|
|
38
41
|
// src/backends/git/git-backend.ts
|
|
39
42
|
import { createHash as createHash2, randomUUID } from "node:crypto";
|
|
@@ -1071,4 +1074,4 @@ export {
|
|
|
1071
1074
|
gitBackendIdentity,
|
|
1072
1075
|
isSupportedGitVersion
|
|
1073
1076
|
};
|
|
1074
|
-
//# sourceMappingURL=git-backend-
|
|
1077
|
+
//# sourceMappingURL=git-backend-KHD36W27.ts.map
|