@pushary/agent-hooks 1.9.6 → 1.9.8
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 +19 -0
- package/README.md +3 -3
- package/data/cursor-plugin/README.md +3 -7
- package/data/vscode-plugin/README.md +1 -1
- package/dist/bin/pushary-bell-hook.js +22 -23
- package/dist/bin/pushary-bell.js +9 -9
- package/dist/bin/pushary-claude.js +27 -28
- package/dist/bin/pushary-clean.js +98 -76
- package/dist/bin/pushary-codex-bridge.js +18 -18
- package/dist/bin/pushary-codex-hook.js +32 -33
- package/dist/bin/pushary-codex.js +13 -13
- package/dist/bin/pushary-connect.js +24 -21
- package/dist/bin/pushary-cowork.js +5 -5
- package/dist/bin/pushary-daemon.js +51 -38
- package/dist/bin/pushary-disconnect.js +187 -52
- package/dist/bin/pushary-doctor.js +68 -56
- package/dist/bin/pushary-elicitation-hook.js +24 -25
- package/dist/bin/pushary-gemini-bridge.js +13 -13
- package/dist/bin/pushary-gemini-hook.js +29 -30
- package/dist/bin/pushary-hook.js +30 -32
- package/dist/bin/pushary-login.js +12 -12
- package/dist/bin/pushary-logout.js +105 -42
- package/dist/bin/pushary-mcp.js +9 -9
- package/dist/bin/pushary-mode.js +28 -31
- package/dist/bin/pushary-notification-hook.js +26 -28
- package/dist/bin/pushary-opencode-hook.js +28 -29
- package/dist/bin/pushary-permission-denied-hook.js +30 -32
- package/dist/bin/pushary-permission-hook.js +29 -31
- package/dist/bin/pushary-post-hook.js +26 -28
- package/dist/bin/pushary-prompt-hook.js +26 -28
- package/dist/bin/pushary-session-end-hook.js +26 -28
- package/dist/bin/pushary-session-start-hook.js +31 -31
- package/dist/bin/pushary-setup.js +98 -106
- package/dist/bin/pushary-stats.js +5 -5
- package/dist/bin/pushary-status.js +34 -18
- package/dist/bin/pushary-stop-hook.js +26 -28
- package/dist/bin/pushary-stopfailure-hook.js +26 -28
- package/dist/bin/pushary-suggestions.js +19 -21
- package/dist/bin/pushary-transcript-register.js +18 -19
- package/dist/bin/pushary-transcripts.js +7 -7
- package/dist/bin/pushary-upgrade.js +67 -31
- package/dist/bin/pushary-wait.js +23 -19
- package/dist/bin/pushary.js +15 -14
- package/dist/{chunk-BSZ7VBVT.js → chunk-2A53H4S6.js} +17 -15
- package/dist/{chunk-D7SOOVHX.js → chunk-2QGYMY7A.js} +83 -3
- package/dist/{chunk-SVTHEMM3.js → chunk-2QTO5YIT.js} +6 -6
- package/dist/{chunk-WN6WYUCV.js → chunk-2VZAALEJ.js} +5 -9
- package/dist/chunk-2WXF3QJR.js +49 -0
- package/dist/{chunk-UKNKYTTY.js → chunk-3I6IVOZV.js} +3 -3
- package/dist/chunk-3Z3A37WD.js +77 -0
- package/dist/{chunk-2QRE6QH2.js → chunk-5QUPKDI5.js} +1 -1
- package/dist/chunk-6TE27XZR.js +69 -0
- package/dist/{chunk-L6USMDTW.js → chunk-7DVNSQWF.js} +59 -15
- package/dist/{chunk-SNJ3BOCP.js → chunk-7PT35RY2.js} +27 -8
- package/dist/{chunk-CBVDW2N6.js → chunk-B64KHETR.js} +3 -3
- package/dist/chunk-BEJRK4DF.js +94 -0
- package/dist/chunk-BXET3ALR.js +46 -0
- package/dist/{chunk-DJ4BB264.js → chunk-CD47ZFFZ.js} +1 -1
- package/dist/{chunk-FBD3QGVJ.js → chunk-CKV3UPMU.js} +2 -2
- package/dist/{chunk-7JTVYR5B.js → chunk-CLOSJ4ES.js} +1 -1
- package/dist/{chunk-DA4FTGTK.js → chunk-DKMD6AWR.js} +4 -4
- package/dist/{chunk-SPXBXN23.js → chunk-DL7XWKYV.js} +7 -5
- package/dist/{chunk-VRT3EEZN.js → chunk-DPGSLWOS.js} +8 -8
- package/dist/{chunk-3BUAEQCY.js → chunk-DUZVXBBU.js} +1 -1
- package/dist/{chunk-6GERGJHF.js → chunk-EUW7JL2K.js} +0 -32
- package/dist/{chunk-75CA37FZ.js → chunk-FQ2GORVG.js} +2 -2
- package/dist/{chunk-WUKUXICK.js → chunk-HRULIYDU.js} +2 -2
- package/dist/{chunk-Q4E56K4X.js → chunk-I5IJRMNV.js} +78 -8
- package/dist/{chunk-MKJ3RTUS.js → chunk-I6MJXLMY.js} +2 -2
- package/dist/{chunk-YPXUD6DW.js → chunk-IAD2RT4L.js} +14 -14
- package/dist/{chunk-LBLCFD5K.js → chunk-IHFDPV7C.js} +2 -2
- package/dist/{chunk-BVCHY4OY.js → chunk-IHO3YQAN.js} +2 -2
- package/dist/{chunk-RDK7FX5F.js → chunk-KF3UZLYI.js} +1 -1
- package/dist/chunk-KFF7G225.js +599 -0
- package/dist/{chunk-TE5M6GGK.js → chunk-KHNFLYJO.js} +204 -28
- package/dist/{chunk-CCDVL63C.js → chunk-KRCR2CRQ.js} +9 -9
- package/dist/{chunk-ZC3TF4LR.js → chunk-LKLVTG3V.js} +18 -9
- package/dist/{chunk-4QKM44N6.js → chunk-LWOO567I.js} +4 -3
- package/dist/{chunk-KK54WQ74.js → chunk-M6BZZFVQ.js} +1 -1
- package/dist/{chunk-RIC6OOJX.js → chunk-MFF3ONG5.js} +21 -1
- package/dist/{chunk-IMGJYFCX.js → chunk-MGRFDGWU.js} +3 -2
- package/dist/{chunk-ZPW4MJOV.js → chunk-MKTJEXZ3.js} +3 -3
- package/dist/{chunk-2I23NFVT.js → chunk-MXHTGVFZ.js} +52 -9
- package/dist/{chunk-5BHROGRB.js → chunk-N4QSPI3B.js} +54 -5
- package/dist/{chunk-DGQTJDSJ.js → chunk-NWDG3MSW.js} +1 -1
- package/dist/chunk-OP7IHC2I.js +24 -0
- package/dist/{chunk-EVFY3VE6.js → chunk-QOLITCIP.js} +1 -1
- package/dist/{chunk-W4Q7NFXU.js → chunk-TCQ43LSG.js} +3 -3
- package/dist/chunk-TCWKTUAE.js +50 -0
- package/dist/{chunk-EZAFBC2C.js → chunk-V5HPPF3E.js} +8 -4
- package/dist/{chunk-Q23MMVTD.js → chunk-WG3K4TCH.js} +1 -1
- package/dist/{chunk-F56SB65Y.js → chunk-WS4H76EP.js} +2 -2
- package/dist/{chunk-HWQNQVY6.js → chunk-WWOHTTVP.js} +2 -2
- package/dist/{chunk-NVGDMTX3.js → chunk-YIG2R3BJ.js} +9 -7
- package/dist/{chunk-HJXZJF6O.js → chunk-ZBHUHJG6.js} +4 -4
- package/dist/{chunk-5AXCOTIT.js → chunk-ZBK6E2OR.js} +1 -1
- package/dist/{chunk-5PMTC2CB.js → chunk-ZN3C6GBG.js} +84 -673
- package/dist/{chunk-GQHZIBAZ.js → chunk-ZSTSEBG7.js} +1 -1
- package/dist/{chunk-PYZC54KA.js → chunk-ZW3XZLJC.js} +61 -17
- package/dist/{global-upgrade-7F5RP45B.js → global-upgrade-I56HNM23.js} +6 -6
- package/dist/{paths-MELXIVBO.js → paths-AGY43CXS.js} +2 -2
- package/dist/reapply-IA5XUKWW.js +57 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +19 -20
- package/dist/{upgrade-lock-AHRBA66K.js → upgrade-lock-B34TAUKV.js} +5 -3
- package/package.json +1 -1
- package/dist/chunk-HT3WMM6Q.js +0 -44
- package/dist/chunk-IR5FRUPQ.js +0 -197
- package/dist/chunk-JUFKJCZG.js +0 -38
- package/dist/chunk-SJN22ADZ.js +0 -86
- package/dist/reapply-NOB2Q6C4.js +0 -35
|
@@ -2,52 +2,64 @@
|
|
|
2
2
|
import {
|
|
3
3
|
describeLastSeen,
|
|
4
4
|
listMachines
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-2QTO5YIT.js";
|
|
6
|
+
import "../chunk-I6MJXLMY.js";
|
|
7
7
|
import "../chunk-RIVNNBEK.js";
|
|
8
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-LKLVTG3V.js";
|
|
9
9
|
import "../chunk-XHKBHWLX.js";
|
|
10
10
|
import "../chunk-6ICPEJY5.js";
|
|
11
11
|
import {
|
|
12
12
|
describeReach,
|
|
13
13
|
fetchChannels,
|
|
14
14
|
reachVerdict
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-IAD2RT4L.js";
|
|
16
16
|
import "../chunk-3EGEA4KH.js";
|
|
17
17
|
import "../chunk-QCGNGEGE.js";
|
|
18
|
+
import {
|
|
19
|
+
SIGNED_OUT_ON_MAC_MESSAGE,
|
|
20
|
+
activeKeyVerdictOf,
|
|
21
|
+
describeSignedOutKey,
|
|
22
|
+
readSignedOutDiagnosis
|
|
23
|
+
} from "../chunk-2WXF3QJR.js";
|
|
18
24
|
import {
|
|
19
25
|
createIo
|
|
20
26
|
} from "../chunk-U4TMAANR.js";
|
|
21
27
|
import {
|
|
22
28
|
exitOnHelpFlag
|
|
23
|
-
} from "../chunk-
|
|
29
|
+
} from "../chunk-CKV3UPMU.js";
|
|
24
30
|
import {
|
|
25
31
|
rejectUnknownFlags
|
|
26
32
|
} from "../chunk-GMXKITVA.js";
|
|
27
33
|
import {
|
|
28
34
|
readKeySource
|
|
29
|
-
} from "../chunk-
|
|
30
|
-
import "../chunk-
|
|
35
|
+
} from "../chunk-N4QSPI3B.js";
|
|
36
|
+
import "../chunk-MKTJEXZ3.js";
|
|
31
37
|
import {
|
|
32
38
|
checkApiKey,
|
|
33
39
|
describeKeyCheck
|
|
34
|
-
} from "../chunk-
|
|
35
|
-
import "../chunk-
|
|
36
|
-
import "../chunk-
|
|
40
|
+
} from "../chunk-LWOO567I.js";
|
|
41
|
+
import "../chunk-TCQ43LSG.js";
|
|
42
|
+
import "../chunk-DUZVXBBU.js";
|
|
37
43
|
import {
|
|
38
44
|
UsageError
|
|
39
45
|
} from "../chunk-7QLSKOSU.js";
|
|
40
46
|
import {
|
|
41
47
|
EXIT
|
|
42
48
|
} from "../chunk-KZERVKTD.js";
|
|
43
|
-
import "../chunk-
|
|
44
|
-
import "../chunk-
|
|
49
|
+
import "../chunk-FQ2GORVG.js";
|
|
50
|
+
import "../chunk-ZBHUHJG6.js";
|
|
45
51
|
import "../chunk-T7E75EKA.js";
|
|
46
|
-
import "../chunk-
|
|
47
|
-
import "../chunk-
|
|
48
|
-
import "../chunk-
|
|
52
|
+
import "../chunk-5QUPKDI5.js";
|
|
53
|
+
import "../chunk-7DVNSQWF.js";
|
|
54
|
+
import "../chunk-I5IJRMNV.js";
|
|
49
55
|
|
|
50
56
|
// src/status.ts
|
|
57
|
+
var signedOutReport = (facts, lines) => {
|
|
58
|
+
const signedOut = facts.signedOut;
|
|
59
|
+
if (signedOut?.kind !== "signed_out_on_mac") return null;
|
|
60
|
+
lines.push({ label: "Server", value: "key signed out on this Mac", ok: false });
|
|
61
|
+
return { lines, headline: SIGNED_OUT_ON_MAC_MESSAGE, next: [...describeSignedOutKey(signedOut)], exitCode: EXIT.UNAUTHENTICATED };
|
|
62
|
+
};
|
|
51
63
|
var keySourceLine = (source) => {
|
|
52
64
|
if (source.kind === "none") {
|
|
53
65
|
return { label: "Key", value: "none found", ok: false };
|
|
@@ -86,6 +98,8 @@ var buildStatusReport = (facts) => {
|
|
|
86
98
|
});
|
|
87
99
|
}
|
|
88
100
|
if (facts.source.kind === "none") {
|
|
101
|
+
const signedOut = signedOutReport(facts, lines);
|
|
102
|
+
if (signedOut) return signedOut;
|
|
89
103
|
return {
|
|
90
104
|
lines,
|
|
91
105
|
headline: "Not set up on this machine.",
|
|
@@ -95,6 +109,8 @@ var buildStatusReport = (facts) => {
|
|
|
95
109
|
}
|
|
96
110
|
const check = facts.keyCheck;
|
|
97
111
|
if (check && check.kind !== "ok") {
|
|
112
|
+
const signedOut = check.kind === "rejected" ? signedOutReport(facts, lines) : null;
|
|
113
|
+
if (signedOut) return signedOut;
|
|
98
114
|
const report = describeKeyCheck(check);
|
|
99
115
|
lines.push({ label: "Server", value: report.message, ok: check.kind === "unreachable" ? null : false });
|
|
100
116
|
return { lines, headline: report.message, next: [...report.next], exitCode: report.exitCode };
|
|
@@ -148,7 +164,7 @@ var buildStatusReport = (facts) => {
|
|
|
148
164
|
return {
|
|
149
165
|
lines,
|
|
150
166
|
headline: verdict.kind === "nobody" ? "Configured, but no device can receive an approval." : verdict.kind === "others" ? "Configured, but the only devices here are your teammates'." : "Configured, and nothing proves an approval reaches you.",
|
|
151
|
-
next: verdict.kind === "nobody" ? ["Run `pushary
|
|
167
|
+
next: verdict.kind === "nobody" ? ["Run `pushary pair` to pair your phone, or install the Pushary app."] : ["Run `pushary pair` to pair your own phone.", "Or `pushary doctor --roundtrip` to prove one of these is yours."],
|
|
152
168
|
exitCode: EXIT.NO_DEVICE
|
|
153
169
|
};
|
|
154
170
|
}
|
|
@@ -156,7 +172,7 @@ var buildStatusReport = (facts) => {
|
|
|
156
172
|
return {
|
|
157
173
|
lines,
|
|
158
174
|
headline: "Configured, but nothing in your pocket can receive an approval.",
|
|
159
|
-
next: ["Run `pushary
|
|
175
|
+
next: ["Run `pushary pair` to pair your phone, or install the Pushary app."],
|
|
160
176
|
exitCode: EXIT.NO_DEVICE
|
|
161
177
|
};
|
|
162
178
|
}
|
|
@@ -208,7 +224,7 @@ var main = async () => {
|
|
|
208
224
|
if (keyCheck.kind === "ok") channels = await fetchChannels(source.key);
|
|
209
225
|
}
|
|
210
226
|
const machines = devices && keyCheck?.kind === "ok" ? await listMachines(source.key) : null;
|
|
211
|
-
const facts = { source, keyCheck, channels };
|
|
227
|
+
const facts = { source, keyCheck, channels, signedOut: readSignedOutDiagnosis(source.key, activeKeyVerdictOf(keyCheck)) };
|
|
212
228
|
const report = buildStatusReport(facts);
|
|
213
229
|
if (json) {
|
|
214
230
|
const payload = statusJson(facts, report);
|
|
@@ -2,49 +2,47 @@
|
|
|
2
2
|
import {
|
|
3
3
|
activeHookSource,
|
|
4
4
|
activeIdentity
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-IR5FRUPQ.js";
|
|
5
|
+
} from "../chunk-KHNFLYJO.js";
|
|
7
6
|
import {
|
|
8
7
|
readHookInput
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
8
|
+
} from "../chunk-WWOHTTVP.js";
|
|
9
|
+
import "../chunk-DPGSLWOS.js";
|
|
11
10
|
import "../chunk-SGZJ5LYH.js";
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-KK54WQ74.js";
|
|
11
|
+
import "../chunk-YIG2R3BJ.js";
|
|
12
|
+
import "../chunk-DL7XWKYV.js";
|
|
13
|
+
import "../chunk-LKLVTG3V.js";
|
|
14
|
+
import "../chunk-2QGYMY7A.js";
|
|
15
|
+
import "../chunk-3I6IVOZV.js";
|
|
16
|
+
import "../chunk-WG3K4TCH.js";
|
|
17
|
+
import "../chunk-ZBK6E2OR.js";
|
|
18
|
+
import "../chunk-CLOSJ4ES.js";
|
|
19
|
+
import "../chunk-M6BZZFVQ.js";
|
|
22
20
|
import "../chunk-XHKBHWLX.js";
|
|
23
21
|
import "../chunk-6ICPEJY5.js";
|
|
24
22
|
import {
|
|
25
23
|
handleStop,
|
|
26
24
|
handleSubagentStop,
|
|
27
25
|
isSubagentStop
|
|
28
|
-
} from "../chunk-
|
|
26
|
+
} from "../chunk-KRCR2CRQ.js";
|
|
29
27
|
import "../chunk-N6IOSZOE.js";
|
|
30
|
-
import "../chunk-
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
28
|
+
import "../chunk-CD47ZFFZ.js";
|
|
29
|
+
import "../chunk-2VZAALEJ.js";
|
|
30
|
+
import "../chunk-DKMD6AWR.js";
|
|
33
31
|
import "../chunk-POFBE6ZY.js";
|
|
34
32
|
import "../chunk-GMXKITVA.js";
|
|
35
|
-
import "../chunk-
|
|
36
|
-
import "../chunk-
|
|
37
|
-
import "../chunk-
|
|
38
|
-
import "../chunk-
|
|
39
|
-
import "../chunk-
|
|
33
|
+
import "../chunk-N4QSPI3B.js";
|
|
34
|
+
import "../chunk-MKTJEXZ3.js";
|
|
35
|
+
import "../chunk-LWOO567I.js";
|
|
36
|
+
import "../chunk-TCQ43LSG.js";
|
|
37
|
+
import "../chunk-DUZVXBBU.js";
|
|
40
38
|
import "../chunk-7QLSKOSU.js";
|
|
41
39
|
import "../chunk-KZERVKTD.js";
|
|
42
|
-
import "../chunk-
|
|
43
|
-
import "../chunk-
|
|
40
|
+
import "../chunk-FQ2GORVG.js";
|
|
41
|
+
import "../chunk-ZBHUHJG6.js";
|
|
44
42
|
import "../chunk-T7E75EKA.js";
|
|
45
|
-
import "../chunk-
|
|
46
|
-
import "../chunk-
|
|
47
|
-
import "../chunk-
|
|
43
|
+
import "../chunk-5QUPKDI5.js";
|
|
44
|
+
import "../chunk-7DVNSQWF.js";
|
|
45
|
+
import "../chunk-I5IJRMNV.js";
|
|
48
46
|
|
|
49
47
|
// bin/pushary-stop-hook.ts
|
|
50
48
|
var AGENT = activeIdentity(process.argv);
|
|
@@ -2,47 +2,45 @@
|
|
|
2
2
|
import {
|
|
3
3
|
activeHookSource,
|
|
4
4
|
activeIdentity
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-IR5FRUPQ.js";
|
|
5
|
+
} from "../chunk-KHNFLYJO.js";
|
|
7
6
|
import {
|
|
8
7
|
readHookInput
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
8
|
+
} from "../chunk-WWOHTTVP.js";
|
|
9
|
+
import "../chunk-DPGSLWOS.js";
|
|
11
10
|
import "../chunk-SGZJ5LYH.js";
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-KK54WQ74.js";
|
|
11
|
+
import "../chunk-YIG2R3BJ.js";
|
|
12
|
+
import "../chunk-DL7XWKYV.js";
|
|
13
|
+
import "../chunk-LKLVTG3V.js";
|
|
14
|
+
import "../chunk-2QGYMY7A.js";
|
|
15
|
+
import "../chunk-3I6IVOZV.js";
|
|
16
|
+
import "../chunk-WG3K4TCH.js";
|
|
17
|
+
import "../chunk-ZBK6E2OR.js";
|
|
18
|
+
import "../chunk-CLOSJ4ES.js";
|
|
19
|
+
import "../chunk-M6BZZFVQ.js";
|
|
22
20
|
import "../chunk-XHKBHWLX.js";
|
|
23
21
|
import "../chunk-6ICPEJY5.js";
|
|
24
22
|
import {
|
|
25
23
|
handleStopFailure
|
|
26
|
-
} from "../chunk-
|
|
24
|
+
} from "../chunk-KRCR2CRQ.js";
|
|
27
25
|
import "../chunk-N6IOSZOE.js";
|
|
28
|
-
import "../chunk-
|
|
29
|
-
import "../chunk-
|
|
30
|
-
import "../chunk-
|
|
26
|
+
import "../chunk-CD47ZFFZ.js";
|
|
27
|
+
import "../chunk-2VZAALEJ.js";
|
|
28
|
+
import "../chunk-DKMD6AWR.js";
|
|
31
29
|
import "../chunk-POFBE6ZY.js";
|
|
32
30
|
import "../chunk-GMXKITVA.js";
|
|
33
|
-
import "../chunk-
|
|
34
|
-
import "../chunk-
|
|
35
|
-
import "../chunk-
|
|
36
|
-
import "../chunk-
|
|
37
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-N4QSPI3B.js";
|
|
32
|
+
import "../chunk-MKTJEXZ3.js";
|
|
33
|
+
import "../chunk-LWOO567I.js";
|
|
34
|
+
import "../chunk-TCQ43LSG.js";
|
|
35
|
+
import "../chunk-DUZVXBBU.js";
|
|
38
36
|
import "../chunk-7QLSKOSU.js";
|
|
39
37
|
import "../chunk-KZERVKTD.js";
|
|
40
|
-
import "../chunk-
|
|
41
|
-
import "../chunk-
|
|
38
|
+
import "../chunk-FQ2GORVG.js";
|
|
39
|
+
import "../chunk-ZBHUHJG6.js";
|
|
42
40
|
import "../chunk-T7E75EKA.js";
|
|
43
|
-
import "../chunk-
|
|
44
|
-
import "../chunk-
|
|
45
|
-
import "../chunk-
|
|
41
|
+
import "../chunk-5QUPKDI5.js";
|
|
42
|
+
import "../chunk-7DVNSQWF.js";
|
|
43
|
+
import "../chunk-I5IJRMNV.js";
|
|
46
44
|
|
|
47
45
|
// bin/pushary-stopfailure-hook.ts
|
|
48
46
|
var AGENT = activeIdentity(process.argv);
|
|
@@ -1,37 +1,40 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
exitOnFailedSettingsRequest
|
|
4
|
+
} from "../chunk-BEJRK4DF.js";
|
|
5
|
+
import "../chunk-2WXF3QJR.js";
|
|
2
6
|
import {
|
|
3
7
|
createIo
|
|
4
8
|
} from "../chunk-U4TMAANR.js";
|
|
5
9
|
import {
|
|
6
10
|
exitOnHelpFlag
|
|
7
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-CKV3UPMU.js";
|
|
8
12
|
import {
|
|
9
13
|
rejectUnknownFlags
|
|
10
14
|
} from "../chunk-GMXKITVA.js";
|
|
15
|
+
import "../chunk-N4QSPI3B.js";
|
|
16
|
+
import "../chunk-LWOO567I.js";
|
|
17
|
+
import "../chunk-TCQ43LSG.js";
|
|
18
|
+
import "../chunk-DUZVXBBU.js";
|
|
11
19
|
import {
|
|
12
20
|
UsageError
|
|
13
21
|
} from "../chunk-7QLSKOSU.js";
|
|
14
22
|
import {
|
|
15
23
|
EXIT
|
|
16
24
|
} from "../chunk-KZERVKTD.js";
|
|
25
|
+
import "../chunk-FQ2GORVG.js";
|
|
26
|
+
import "../chunk-ZBHUHJG6.js";
|
|
27
|
+
import "../chunk-T7E75EKA.js";
|
|
17
28
|
import {
|
|
18
29
|
getApiKey,
|
|
19
30
|
getBaseUrl
|
|
20
|
-
} from "../chunk-
|
|
21
|
-
import "../chunk-
|
|
22
|
-
import "../chunk-
|
|
31
|
+
} from "../chunk-5QUPKDI5.js";
|
|
32
|
+
import "../chunk-7DVNSQWF.js";
|
|
33
|
+
import "../chunk-I5IJRMNV.js";
|
|
23
34
|
|
|
24
35
|
// bin/pushary-suggestions.ts
|
|
25
36
|
exitOnHelpFlag("suggestions");
|
|
26
|
-
var { dim, green, cyan
|
|
27
|
-
var errorMessage = async (res) => {
|
|
28
|
-
try {
|
|
29
|
-
const body = await res.json();
|
|
30
|
-
return body.error ?? `HTTP ${res.status}`;
|
|
31
|
-
} catch {
|
|
32
|
-
return `HTTP ${res.status}`;
|
|
33
|
-
}
|
|
34
|
-
};
|
|
37
|
+
var { dim, green, cyan } = createIo();
|
|
35
38
|
{
|
|
36
39
|
const raw = process.argv.slice(2);
|
|
37
40
|
const positional = raw[0] === "suggestions" ? raw.slice(1) : raw;
|
|
@@ -46,6 +49,7 @@ var errorMessage = async (res) => {
|
|
|
46
49
|
var main = async () => {
|
|
47
50
|
const apiKey = getApiKey();
|
|
48
51
|
const baseUrl = getBaseUrl();
|
|
52
|
+
const settings = { request: "suggestions", apiKey, baseUrl };
|
|
49
53
|
const headers = { Authorization: `Bearer ${apiKey}`, "Content-Type": "application/json" };
|
|
50
54
|
const rest = process.argv.slice(2);
|
|
51
55
|
const args = rest[0] === "suggestions" ? rest.slice(1) : rest;
|
|
@@ -61,18 +65,12 @@ var main = async () => {
|
|
|
61
65
|
headers,
|
|
62
66
|
body: JSON.stringify({ id })
|
|
63
67
|
});
|
|
64
|
-
if (!res2.ok)
|
|
65
|
-
console.error(` ${red("\u2717")} ${await errorMessage(res2)}`);
|
|
66
|
-
process.exit(1);
|
|
67
|
-
}
|
|
68
|
+
if (!res2.ok) await exitOnFailedSettingsRequest(res2, settings);
|
|
68
69
|
console.log(` ${green("\u2713")} Accepted. The rule is live now; your agents will pick it up on their next check.`);
|
|
69
70
|
return;
|
|
70
71
|
}
|
|
71
72
|
const res = await fetch(`${baseUrl}/api/mcp/suggestions`, { headers });
|
|
72
|
-
if (!res.ok)
|
|
73
|
-
console.error(` ${red("\u2717")} ${await errorMessage(res)}`);
|
|
74
|
-
process.exit(1);
|
|
75
|
-
}
|
|
73
|
+
if (!res.ok) await exitOnFailedSettingsRequest(res, settings);
|
|
76
74
|
const { suggestions } = await res.json();
|
|
77
75
|
if (suggestions.length === 0) {
|
|
78
76
|
console.log(` ${dim("No pending suggestions. Keep approving; a rule is offered once a pattern is earned.")}`);
|
|
@@ -1,32 +1,31 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
registerTranscript
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-DPGSLWOS.js";
|
|
5
5
|
import "../chunk-SGZJ5LYH.js";
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-KK54WQ74.js";
|
|
6
|
+
import "../chunk-YIG2R3BJ.js";
|
|
7
|
+
import "../chunk-DL7XWKYV.js";
|
|
8
|
+
import "../chunk-LKLVTG3V.js";
|
|
9
|
+
import "../chunk-2QGYMY7A.js";
|
|
10
|
+
import "../chunk-3I6IVOZV.js";
|
|
11
|
+
import "../chunk-WG3K4TCH.js";
|
|
12
|
+
import "../chunk-ZBK6E2OR.js";
|
|
13
|
+
import "../chunk-CLOSJ4ES.js";
|
|
14
|
+
import "../chunk-M6BZZFVQ.js";
|
|
16
15
|
import "../chunk-XHKBHWLX.js";
|
|
17
16
|
import "../chunk-6ICPEJY5.js";
|
|
18
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-CD47ZFFZ.js";
|
|
19
18
|
import "../chunk-GMXKITVA.js";
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-N4QSPI3B.js";
|
|
20
|
+
import "../chunk-DUZVXBBU.js";
|
|
22
21
|
import "../chunk-7QLSKOSU.js";
|
|
23
22
|
import "../chunk-KZERVKTD.js";
|
|
24
|
-
import "../chunk-
|
|
25
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-FQ2GORVG.js";
|
|
24
|
+
import "../chunk-ZBHUHJG6.js";
|
|
26
25
|
import "../chunk-T7E75EKA.js";
|
|
27
|
-
import "../chunk-
|
|
28
|
-
import "../chunk-
|
|
29
|
-
import "../chunk-
|
|
26
|
+
import "../chunk-5QUPKDI5.js";
|
|
27
|
+
import "../chunk-7DVNSQWF.js";
|
|
28
|
+
import "../chunk-I5IJRMNV.js";
|
|
30
29
|
|
|
31
30
|
// bin/pushary-transcript-register.ts
|
|
32
31
|
var raw = "";
|
|
@@ -6,17 +6,17 @@ import {
|
|
|
6
6
|
} from "../chunk-SGZJ5LYH.js";
|
|
7
7
|
import {
|
|
8
8
|
transcriptsEnabled
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-M6BZZFVQ.js";
|
|
10
10
|
import {
|
|
11
11
|
exitOnHelpFlag
|
|
12
|
-
} from "../chunk-
|
|
13
|
-
import "../chunk-
|
|
12
|
+
} from "../chunk-CKV3UPMU.js";
|
|
13
|
+
import "../chunk-N4QSPI3B.js";
|
|
14
14
|
import "../chunk-KZERVKTD.js";
|
|
15
|
-
import "../chunk-
|
|
15
|
+
import "../chunk-FQ2GORVG.js";
|
|
16
16
|
import "../chunk-T7E75EKA.js";
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-5QUPKDI5.js";
|
|
18
|
+
import "../chunk-7DVNSQWF.js";
|
|
19
|
+
import "../chunk-I5IJRMNV.js";
|
|
20
20
|
|
|
21
21
|
// bin/pushary-transcripts.ts
|
|
22
22
|
exitOnHelpFlag("transcripts");
|
|
@@ -5,42 +5,52 @@ import {
|
|
|
5
5
|
finishUpgradeWithLock,
|
|
6
6
|
readGlobalUpgradeSubject,
|
|
7
7
|
runAutoUpdate,
|
|
8
|
+
upgradeFinishExitCode,
|
|
9
|
+
upgradeFinishOutcome,
|
|
8
10
|
upgradeInstalledPackage,
|
|
9
11
|
withUpgradeLock
|
|
10
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-ZW3XZLJC.js";
|
|
11
13
|
import {
|
|
12
14
|
installWithUpgradeLock
|
|
13
|
-
} from "../chunk-
|
|
14
|
-
import {
|
|
15
|
-
describeCodexTrustConfirmation
|
|
16
|
-
} from "../chunk-JUFKJCZG.js";
|
|
15
|
+
} from "../chunk-V5HPPF3E.js";
|
|
17
16
|
import {
|
|
18
17
|
ensureCodexTrustAfterReapply,
|
|
19
18
|
reapplyAllAgents
|
|
20
|
-
} from "../chunk-
|
|
21
|
-
import "../chunk-
|
|
19
|
+
} from "../chunk-MXHTGVFZ.js";
|
|
20
|
+
import "../chunk-3Z3A37WD.js";
|
|
21
|
+
import {
|
|
22
|
+
describeCodexTrustConfirmation
|
|
23
|
+
} from "../chunk-6TE27XZR.js";
|
|
24
|
+
import "../chunk-MGRFDGWU.js";
|
|
22
25
|
import {
|
|
23
26
|
waitForMachineReadiness
|
|
24
|
-
} from "../chunk-
|
|
25
|
-
import
|
|
27
|
+
} from "../chunk-2QTO5YIT.js";
|
|
28
|
+
import {
|
|
29
|
+
appAgentKey
|
|
30
|
+
} from "../chunk-OP7IHC2I.js";
|
|
31
|
+
import "../chunk-MFF3ONG5.js";
|
|
32
|
+
import "../chunk-KHNFLYJO.js";
|
|
26
33
|
import {
|
|
27
34
|
detectProviderLiveCapabilities,
|
|
28
35
|
expectedLaunchCapabilities,
|
|
29
36
|
hasSpawnProvider,
|
|
30
37
|
resolveControlPolicy
|
|
31
|
-
} from "../chunk-
|
|
38
|
+
} from "../chunk-I6MJXLMY.js";
|
|
32
39
|
import "../chunk-RIVNNBEK.js";
|
|
33
40
|
import {
|
|
34
41
|
AUTO_UPDATE_DISABLE_ENV,
|
|
35
42
|
describeAutoUpdateCheck,
|
|
36
43
|
hasPendingUpgradeFinish,
|
|
37
44
|
isAutoUpdateDisabledByEnv,
|
|
45
|
+
isUnfinishedAutoUpdate,
|
|
38
46
|
parseAutoUpdateFlag,
|
|
39
47
|
readAutoUpdateState,
|
|
40
48
|
updateAutoUpdateState
|
|
41
|
-
} from "../chunk-
|
|
42
|
-
import "../chunk-
|
|
49
|
+
} from "../chunk-7PT35RY2.js";
|
|
50
|
+
import "../chunk-YIG2R3BJ.js";
|
|
51
|
+
import "../chunk-DL7XWKYV.js";
|
|
43
52
|
import {
|
|
53
|
+
DAEMON_COLD_START_TIMEOUT_MS,
|
|
44
54
|
daemonHasRemoteProof,
|
|
45
55
|
daemonServiceManagerAvailable,
|
|
46
56
|
disableDaemonService,
|
|
@@ -50,45 +60,60 @@ import {
|
|
|
50
60
|
replaceDaemonService,
|
|
51
61
|
stopDaemonService,
|
|
52
62
|
waitForDaemonRemoteProof
|
|
53
|
-
} from "../chunk-
|
|
54
|
-
import "../chunk-
|
|
63
|
+
} from "../chunk-LKLVTG3V.js";
|
|
64
|
+
import "../chunk-2QGYMY7A.js";
|
|
65
|
+
import "../chunk-3I6IVOZV.js";
|
|
66
|
+
import "../chunk-WG3K4TCH.js";
|
|
55
67
|
import "../chunk-XHKBHWLX.js";
|
|
56
68
|
import "../chunk-6ICPEJY5.js";
|
|
57
|
-
import "../chunk-
|
|
69
|
+
import "../chunk-KRCR2CRQ.js";
|
|
70
|
+
import "../chunk-N6IOSZOE.js";
|
|
71
|
+
import "../chunk-CD47ZFFZ.js";
|
|
72
|
+
import "../chunk-2VZAALEJ.js";
|
|
73
|
+
import "../chunk-DKMD6AWR.js";
|
|
58
74
|
import "../chunk-POFBE6ZY.js";
|
|
59
75
|
import {
|
|
60
76
|
exitOnHelpFlag
|
|
61
|
-
} from "../chunk-
|
|
77
|
+
} from "../chunk-CKV3UPMU.js";
|
|
78
|
+
import "../chunk-GMXKITVA.js";
|
|
62
79
|
import {
|
|
63
|
-
readControlMode
|
|
64
|
-
|
|
65
|
-
|
|
80
|
+
readControlMode,
|
|
81
|
+
recordMacAppKeyPrefix
|
|
82
|
+
} from "../chunk-N4QSPI3B.js";
|
|
83
|
+
import "../chunk-MKTJEXZ3.js";
|
|
84
|
+
import "../chunk-LWOO567I.js";
|
|
85
|
+
import "../chunk-TCQ43LSG.js";
|
|
86
|
+
import "../chunk-DUZVXBBU.js";
|
|
87
|
+
import "../chunk-7QLSKOSU.js";
|
|
66
88
|
import {
|
|
67
89
|
EXIT
|
|
68
90
|
} from "../chunk-KZERVKTD.js";
|
|
69
|
-
import "../chunk-
|
|
91
|
+
import "../chunk-FQ2GORVG.js";
|
|
70
92
|
import {
|
|
71
93
|
LATEST_TAG,
|
|
72
94
|
autoUpdateState,
|
|
95
|
+
bridgeAgentKey,
|
|
73
96
|
claudeJson,
|
|
74
97
|
codexConfigToml,
|
|
75
98
|
cursorPluginDir,
|
|
76
99
|
fetchLatestPublishedVersion,
|
|
77
100
|
geminiSettings,
|
|
78
101
|
vscodePluginDir
|
|
79
|
-
} from "../chunk-
|
|
80
|
-
import
|
|
102
|
+
} from "../chunk-ZBHUHJG6.js";
|
|
103
|
+
import {
|
|
104
|
+
readJsonSafe
|
|
105
|
+
} from "../chunk-T7E75EKA.js";
|
|
81
106
|
import {
|
|
82
107
|
getApiKey
|
|
83
|
-
} from "../chunk-
|
|
108
|
+
} from "../chunk-5QUPKDI5.js";
|
|
84
109
|
import {
|
|
85
110
|
NPX_LATEST_COMMAND
|
|
86
|
-
} from "../chunk-
|
|
111
|
+
} from "../chunk-7DVNSQWF.js";
|
|
87
112
|
import {
|
|
88
113
|
CANONICAL_PACKAGE,
|
|
89
114
|
LEGACY_PACKAGE,
|
|
90
115
|
getPackageVersion
|
|
91
|
-
} from "../chunk-
|
|
116
|
+
} from "../chunk-I5IJRMNV.js";
|
|
92
117
|
|
|
93
118
|
// bin/pushary-upgrade.ts
|
|
94
119
|
import { existsSync } from "fs";
|
|
@@ -137,9 +162,13 @@ var finishUpgrade = async () => {
|
|
|
137
162
|
} catch {
|
|
138
163
|
apiKey = void 0;
|
|
139
164
|
}
|
|
165
|
+
const bridgeAgentKey2 = readJsonSafe(bridgeAgentKey());
|
|
166
|
+
const macAppKey = bridgeAgentKey2.kind === "ok" ? appAgentKey(bridgeAgentKey2.value) : null;
|
|
167
|
+
if (macAppKey) recordMacAppKeyPrefix(macAppKey);
|
|
140
168
|
const inspectedAgents = reapplyAllAgents(apiKey);
|
|
141
169
|
const codexTrust = await ensureCodexTrustAfterReapply(inspectedAgents);
|
|
142
170
|
const refreshed = inspectedAgents.filter((agent) => agent.result.reapplied);
|
|
171
|
+
const keptForApp = inspectedAgents.filter((agent) => agent.heldBy === "app");
|
|
143
172
|
const failedRefreshes = inspectedAgents.filter((agent) => agent.result.failed);
|
|
144
173
|
const configuredControlProviders = inspectedAgents.filter((agent) => agent.result.configured && (agent.id === "claude" || agent.id === "codex" || agent.id === "gemini")).map((agent) => agent.id);
|
|
145
174
|
const controlMode = readControlMode();
|
|
@@ -166,7 +195,7 @@ var finishUpgrade = async () => {
|
|
|
166
195
|
} else {
|
|
167
196
|
const service = await replaceDaemonService();
|
|
168
197
|
const daemon = service.kind === "ok" ? await ensureDaemonRunning({ spawnDaemon: () => {
|
|
169
|
-
} }) : null;
|
|
198
|
+
}, waitTimeoutMs: DAEMON_COLD_START_TIMEOUT_MS }) : null;
|
|
170
199
|
const localProof = daemon?.kind === "running" || daemon?.kind === "started" ? await waitForDaemonRemoteProof() : null;
|
|
171
200
|
const serverProof = localProof && daemonHasRemoteProof(localProof) ? await waitForMachineReadiness(apiKey, expectedLaunchCapabilities(configuredControlProviders)) : null;
|
|
172
201
|
daemonReady = service.kind === "ok" && localProof !== null && daemonHasRemoteProof(localProof) && (serverProof?.kind === "ready" || serverProof?.kind === "unsupported");
|
|
@@ -174,6 +203,7 @@ var finishUpgrade = async () => {
|
|
|
174
203
|
} else if (controlMode === "on" && controlPolicy === "unsupported") {
|
|
175
204
|
daemonReady = false;
|
|
176
205
|
}
|
|
206
|
+
const finishOutcome = upgradeFinishOutcome({ controlMode, controlPolicy, daemonReady, failedRefreshCount: failedRefreshes.length });
|
|
177
207
|
console.log();
|
|
178
208
|
if (refreshed.length > 0) {
|
|
179
209
|
console.log("Refreshed so the new hook set is active now:");
|
|
@@ -185,9 +215,14 @@ var finishUpgrade = async () => {
|
|
|
185
215
|
console.log();
|
|
186
216
|
console.log("No key was readable here, so MCP entries kept the key they already had.");
|
|
187
217
|
}
|
|
188
|
-
} else if (failedRefreshes.length === 0) {
|
|
218
|
+
} else if (failedRefreshes.length === 0 && keptForApp.length === 0) {
|
|
189
219
|
console.log("No agent config on this machine needed refreshing.");
|
|
190
220
|
}
|
|
221
|
+
if (keptForApp.length > 0) {
|
|
222
|
+
if (refreshed.length > 0) console.log();
|
|
223
|
+
console.log(KEPT_FOR_APP_HEADING);
|
|
224
|
+
for (const agent of keptForApp) console.log(` ${agent.label}`);
|
|
225
|
+
}
|
|
191
226
|
if (codexTrust) {
|
|
192
227
|
console.log();
|
|
193
228
|
console.log(describeCodexTrustConfirmation(codexTrust));
|
|
@@ -195,17 +230,18 @@ var finishUpgrade = async () => {
|
|
|
195
230
|
console.log();
|
|
196
231
|
if (!daemonReady) {
|
|
197
232
|
console.error(controlPolicy === "disabled" ? "Upgrade installed, but the disabled background service could not be fully removed. Re-run setup with --control off." : controlPolicy === "legacy" ? legacyStopFailure ? `Upgrade installed, but the legacy background service could not be stopped: ${legacyStopFailure}. Run setup with --control off.` : "Upgrade installed and the legacy background service was stopped, but it cannot be safely adopted. Run setup with --control off, or restore its provider and native service manager." : controlPolicy === "enabled" && !apiKey ? "Upgrade installed, but phone-start could not be reconciled because no API key was readable. Re-run setup." : "Upgrade installed, but the background service did not start. Run: pushary daemon install");
|
|
198
|
-
process.exitCode =
|
|
233
|
+
process.exitCode = upgradeFinishExitCode(finishOutcome);
|
|
199
234
|
return;
|
|
200
235
|
}
|
|
201
236
|
if (failedRefreshes.length > 0) {
|
|
202
237
|
console.error(`Upgrade installed, but refreshing agent configuration failed for: ${failedRefreshes.map((agent) => agent.label).join(", ")}. Check the config files and run pushary upgrade again.`);
|
|
203
|
-
process.exitCode =
|
|
238
|
+
process.exitCode = upgradeFinishExitCode(finishOutcome);
|
|
204
239
|
return;
|
|
205
240
|
}
|
|
206
241
|
console.log(controlPolicy === "disabled" ? "Done. Your hooks use the new global install; phone-start remains disabled." : controlPolicy === "unsupported" || controlPolicy === "preserve-absent" ? "Done. Your hooks use the new global install; no background service was added." : "Done. Your hooks and background service use the new global install.");
|
|
207
242
|
console.log("Verify with: pushary doctor");
|
|
208
243
|
};
|
|
244
|
+
var KEPT_FOR_APP_HEADING = "Kept for the Pushary Mac app, which owns these agents. Nothing in their config was changed:";
|
|
209
245
|
var AUTO_UPDATE_ON_MESSAGE = "Automatic updates are on. Pushary checks for a new version once a day, when an agent session starts.";
|
|
210
246
|
var AUTO_UPDATE_OFF_MESSAGE = "Automatic updates are off. Turn them back on with: pushary upgrade --auto=on";
|
|
211
247
|
var AUTO_UPDATE_RUN_MESSAGES = {
|
|
@@ -227,7 +263,7 @@ var runAutomaticUpdate = async () => {
|
|
|
227
263
|
return;
|
|
228
264
|
}
|
|
229
265
|
console.log(`Automatic update: ${describeAutoUpdateCheck(outcome.state)}`);
|
|
230
|
-
if (outcome.state
|
|
266
|
+
if (isUnfinishedAutoUpdate(outcome.state)) process.exitCode = 1;
|
|
231
267
|
};
|
|
232
268
|
var FINISH_FAILED_MESSAGE = "Upgrade installed, but refreshing the agent configs did not finish. Fix the problem printed above, then run pushary upgrade again.";
|
|
233
269
|
var describeFinishFailure = (finish) => finish.kind === "entry_missing" ? `Upgrade installed, but the new pushary-upgrade entry was not found at ${finish.entry}.` : FINISH_FAILED_MESSAGE;
|
|
@@ -272,7 +308,7 @@ var upgradeSubject = async (subject) => {
|
|
|
272
308
|
fetchLatest: (packageName) => fetchLatestPublishedVersion({ packageName }),
|
|
273
309
|
hasPendingFinish: (installed) => hasPendingUpgradeFinish(readAutoUpdateState(autoUpdateState()), installed),
|
|
274
310
|
recordFinished: () => {
|
|
275
|
-
updateAutoUpdateState(autoUpdateState(), { lastResult: "updated", detail: void 0, announced: false });
|
|
311
|
+
updateAutoUpdateState(autoUpdateState(), { lastResult: "updated", detail: void 0, announced: false, finishAttempts: void 0 });
|
|
276
312
|
},
|
|
277
313
|
announce: (line) => console.log(line),
|
|
278
314
|
install: (packageName) => installWithUpgradeLock({ packageName, version: LATEST_TAG, timeoutMs: 12e4 }),
|