@pushary/agent-hooks 1.9.7 → 1.9.9
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 +18 -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 -24
- package/dist/bin/pushary-bell.js +13 -13
- package/dist/bin/pushary-claude.js +28 -30
- package/dist/bin/pushary-clean.js +113 -94
- package/dist/bin/pushary-codex-bridge.js +20 -20
- package/dist/bin/pushary-codex-hook.js +36 -38
- package/dist/bin/pushary-codex.js +13 -13
- package/dist/bin/pushary-connect.js +48 -22
- package/dist/bin/pushary-cowork.js +5 -5
- package/dist/bin/pushary-daemon.js +50 -40
- package/dist/bin/pushary-disconnect.js +188 -56
- package/dist/bin/pushary-doctor.js +105 -85
- package/dist/bin/pushary-elicitation-hook.js +25 -27
- package/dist/bin/pushary-gemini-bridge.js +13 -13
- package/dist/bin/pushary-gemini-hook.js +31 -33
- package/dist/bin/pushary-hook.js +36 -39
- 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 +29 -32
- package/dist/bin/pushary-opencode-hook.js +30 -32
- package/dist/bin/pushary-permission-denied-hook.js +30 -33
- package/dist/bin/pushary-permission-hook.js +33 -36
- package/dist/bin/pushary-post-hook.js +30 -33
- package/dist/bin/pushary-prompt-hook.js +29 -32
- package/dist/bin/pushary-session-end-hook.js +29 -32
- package/dist/bin/pushary-session-start-hook.js +33 -36
- package/dist/bin/pushary-setup.js +168 -160
- package/dist/bin/pushary-stats.js +5 -5
- package/dist/bin/pushary-status.js +65 -19
- package/dist/bin/pushary-stop-hook.js +29 -32
- package/dist/bin/pushary-stopfailure-hook.js +29 -32
- package/dist/bin/pushary-suggestions.js +19 -21
- package/dist/bin/pushary-transcript-register.js +18 -20
- package/dist/bin/pushary-transcripts.js +7 -7
- package/dist/bin/pushary-upgrade.js +50 -26
- package/dist/bin/pushary-wait.js +23 -19
- package/dist/bin/pushary.js +15 -14
- package/dist/{chunk-4FK6RZVJ.js → chunk-462EQA6K.js} +1 -1
- package/dist/{chunk-STQRUH3S.js → chunk-5DCDQ5VW.js} +59 -15
- package/dist/{chunk-JXISQ7DT.js → chunk-5N5L6DNN.js} +3 -3
- package/dist/{chunk-QR6VE5ME.js → chunk-5RGA636G.js} +79 -17
- package/dist/{chunk-L76HTPU6.js → chunk-6AYSKVLL.js} +3 -3
- package/dist/{chunk-NIBFSARF.js → chunk-6EBGOHDJ.js} +33 -13
- package/dist/{chunk-QQ4HBXZC.js → chunk-6W5M3MSE.js} +84 -673
- package/dist/{chunk-R3YW55MY.js → chunk-AI7RMFVV.js} +29 -26
- package/dist/{chunk-AUUXS44H.js → chunk-APP43AW7.js} +1 -1
- package/dist/{chunk-RQGODFQN.js → chunk-AZOKPWVI.js} +1 -1
- package/dist/{chunk-3GNUXXDZ.js → chunk-B5NMSP3V.js} +2 -2
- package/dist/{chunk-4D2AYNSE.js → chunk-BNSKVIAW.js} +2 -2
- package/dist/chunk-BYLKCZ2G.js +367 -0
- package/dist/{chunk-X5NXPCIC.js → chunk-BZLHTMT6.js} +89 -7
- package/dist/{chunk-BTQGAXZ3.js → chunk-COQ64C4F.js} +10 -10
- package/dist/{chunk-N4EUSDKX.js → chunk-DCCSULXK.js} +14 -14
- package/dist/{chunk-JWKBDSPF.js → chunk-DP3WX7FW.js} +2 -2
- package/dist/chunk-E5HOHIUV.js +52 -0
- package/dist/{chunk-GU3EJCVV.js → chunk-EA5NWDK7.js} +4 -0
- package/dist/chunk-EIAEUG7G.js +46 -0
- package/dist/{chunk-EB4XGVBG.js → chunk-EUW7JL2K.js} +0 -32
- package/dist/{chunk-T7Y5EADL.js → chunk-F7R3SZ4Q.js} +2 -2
- package/dist/{chunk-H37L7TT3.js → chunk-G7RIDXAT.js} +2 -2
- package/dist/{chunk-W2KI5KPD.js → chunk-H5T27W7M.js} +2 -2
- package/dist/chunk-HBWYMRR5.js +94 -0
- package/dist/{chunk-CBQACHKY.js → chunk-IIVZZMSO.js} +1 -1
- package/dist/{chunk-Z6HPS67T.js → chunk-IRHABAQT.js} +1 -1
- package/dist/{chunk-QTO6HEZD.js → chunk-K545B734.js} +2 -2
- package/dist/{chunk-KYO45G5L.js → chunk-KOWFRUIT.js} +1 -1
- package/dist/{chunk-QFEM7R6T.js → chunk-KQFTBQ66.js} +11 -11
- package/dist/chunk-LENBKYRB.js +50 -0
- package/dist/{chunk-JCWZ23MJ.js → chunk-M3STIAGU.js} +3 -3
- package/dist/{chunk-6DJTDHBI.js → chunk-MD4SVNT6.js} +1 -1
- package/dist/{chunk-7264S5HZ.js → chunk-MLGIVVSG.js} +1 -1
- package/dist/{chunk-H7MMU64M.js → chunk-NGKUXZID.js} +2 -2
- package/dist/{chunk-JWQZSYCK.js → chunk-NUVGDBZC.js} +1 -1
- package/dist/{chunk-AQ55ZSSS.js → chunk-OAYWO5NP.js} +1 -1
- package/dist/chunk-Q6C6ILUS.js +49 -0
- package/dist/{chunk-MBK7N46B.js → chunk-QIOIO7VN.js} +6 -6
- package/dist/{chunk-KFKL3FHS.js → chunk-QRXPWW3M.js} +4 -3
- package/dist/{chunk-7OIWWZAD.js → chunk-QTIUJZRX.js} +3 -3
- package/dist/{chunk-XWAYAO3V.js → chunk-R5RIVOPL.js} +2 -2
- package/dist/{chunk-ADSQDYYG.js → chunk-REU2VQPH.js} +54 -5
- package/dist/{chunk-GKI6LFAV.js → chunk-RQ32ADJP.js} +2 -2
- package/dist/{chunk-VXRXFU6Q.js → chunk-SZ4Q6ZVS.js} +14 -7
- package/dist/{chunk-KT5E2RLS.js → chunk-T6ZN4TEF.js} +1 -1
- package/dist/{chunk-UFVGSEWH.js → chunk-TO3PS646.js} +2 -2
- package/dist/chunk-UAP5DS6P.js +599 -0
- package/dist/{chunk-MZPXVH4A.js → chunk-UF6RBP5V.js} +204 -28
- package/dist/{chunk-AVNKVF7N.js → chunk-UPIZSCYD.js} +4 -4
- package/dist/{chunk-3PVDOCFI.js → chunk-VHPFNLRS.js} +5 -5
- package/dist/{chunk-HPRZJKRO.js → chunk-VIIHC42X.js} +1 -1
- package/dist/{chunk-D6S5EKXA.js → chunk-WRPYCIV2.js} +8 -12
- package/dist/{chunk-ZUTU43FT.js → chunk-Z23ZBYDW.js} +6 -4
- package/dist/{chunk-SBLPHUEB.js → chunk-ZGADIZDS.js} +8 -6
- package/dist/{global-upgrade-E2HUEB4B.js → global-upgrade-H272QOGD.js} +6 -6
- package/dist/{paths-QVTEGNZV.js → paths-HMVOTFUN.js} +2 -2
- package/dist/reapply-Q5NHDTVU.js +55 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +19 -20
- package/dist/{upgrade-lock-JCIDZMHF.js → upgrade-lock-L3GHFIRW.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-4YO4T5FV.js +0 -149
- package/dist/chunk-ANEAA37E.js +0 -197
- package/dist/chunk-MNWRUGMH.js +0 -86
- package/dist/chunk-RQSOEB4S.js +0 -44
- package/dist/chunk-SD3272LS.js +0 -143
- package/dist/reapply-5QVKM6LA.js +0 -38
|
@@ -2,52 +2,86 @@
|
|
|
2
2
|
import {
|
|
3
3
|
describeLastSeen,
|
|
4
4
|
listMachines
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-QIOIO7VN.js";
|
|
6
|
+
import "../chunk-F7R3SZ4Q.js";
|
|
7
7
|
import "../chunk-RIVNNBEK.js";
|
|
8
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-SZ4Q6ZVS.js";
|
|
9
9
|
import "../chunk-XHKBHWLX.js";
|
|
10
|
-
import "../chunk-6ICPEJY5.js";
|
|
11
10
|
import {
|
|
12
11
|
describeReach,
|
|
13
12
|
fetchChannels,
|
|
14
13
|
reachVerdict
|
|
15
|
-
} from "../chunk-
|
|
14
|
+
} from "../chunk-DCCSULXK.js";
|
|
16
15
|
import "../chunk-3EGEA4KH.js";
|
|
17
16
|
import "../chunk-QCGNGEGE.js";
|
|
17
|
+
import {
|
|
18
|
+
SIGNED_OUT_ON_MAC_MESSAGE,
|
|
19
|
+
activeKeyVerdictOf,
|
|
20
|
+
describeSignedOutKey,
|
|
21
|
+
readSignedOutDiagnosis
|
|
22
|
+
} from "../chunk-Q6C6ILUS.js";
|
|
23
|
+
import {
|
|
24
|
+
CONNECTED_THROUGH_MAC_APP,
|
|
25
|
+
readMacAppConnectionWhenKeyless
|
|
26
|
+
} from "../chunk-E5HOHIUV.js";
|
|
27
|
+
import "../chunk-BZLHTMT6.js";
|
|
28
|
+
import "../chunk-UF6RBP5V.js";
|
|
18
29
|
import {
|
|
19
30
|
createIo
|
|
20
31
|
} from "../chunk-U4TMAANR.js";
|
|
21
32
|
import {
|
|
22
33
|
exitOnHelpFlag
|
|
23
|
-
} from "../chunk-
|
|
34
|
+
} from "../chunk-TO3PS646.js";
|
|
35
|
+
import "../chunk-BYLKCZ2G.js";
|
|
36
|
+
import "../chunk-M3STIAGU.js";
|
|
37
|
+
import "../chunk-ZGADIZDS.js";
|
|
38
|
+
import "../chunk-MLGIVVSG.js";
|
|
24
39
|
import {
|
|
25
40
|
rejectUnknownFlags
|
|
26
41
|
} from "../chunk-GMXKITVA.js";
|
|
42
|
+
import "../chunk-6ICPEJY5.js";
|
|
27
43
|
import {
|
|
28
44
|
readKeySource
|
|
29
|
-
} from "../chunk-
|
|
30
|
-
import "../chunk-
|
|
45
|
+
} from "../chunk-REU2VQPH.js";
|
|
46
|
+
import "../chunk-KQFTBQ66.js";
|
|
47
|
+
import "../chunk-N6IOSZOE.js";
|
|
48
|
+
import "../chunk-MD4SVNT6.js";
|
|
49
|
+
import "../chunk-WRPYCIV2.js";
|
|
50
|
+
import "../chunk-6AYSKVLL.js";
|
|
31
51
|
import {
|
|
32
52
|
checkApiKey,
|
|
33
53
|
describeKeyCheck
|
|
34
|
-
} from "../chunk-
|
|
35
|
-
import "../chunk-
|
|
36
|
-
import "../chunk-
|
|
54
|
+
} from "../chunk-QRXPWW3M.js";
|
|
55
|
+
import "../chunk-UPIZSCYD.js";
|
|
56
|
+
import "../chunk-POFBE6ZY.js";
|
|
57
|
+
import "../chunk-5N5L6DNN.js";
|
|
58
|
+
import "../chunk-KOWFRUIT.js";
|
|
37
59
|
import {
|
|
38
60
|
UsageError
|
|
39
61
|
} from "../chunk-7QLSKOSU.js";
|
|
40
62
|
import {
|
|
41
63
|
EXIT
|
|
42
64
|
} from "../chunk-KZERVKTD.js";
|
|
43
|
-
import "../chunk-
|
|
44
|
-
import "../chunk-
|
|
65
|
+
import "../chunk-BNSKVIAW.js";
|
|
66
|
+
import "../chunk-Z23ZBYDW.js";
|
|
45
67
|
import "../chunk-T7E75EKA.js";
|
|
46
|
-
import "../chunk-
|
|
47
|
-
import "../chunk-
|
|
48
|
-
import "../chunk-
|
|
68
|
+
import "../chunk-IRHABAQT.js";
|
|
69
|
+
import "../chunk-5DCDQ5VW.js";
|
|
70
|
+
import "../chunk-5RGA636G.js";
|
|
49
71
|
|
|
50
72
|
// src/status.ts
|
|
73
|
+
var signedOutReport = (facts, lines) => {
|
|
74
|
+
const signedOut = facts.signedOut;
|
|
75
|
+
if (signedOut?.kind !== "signed_out_on_mac") return null;
|
|
76
|
+
lines.push({ label: "Server", value: "key signed out on this Mac", ok: false });
|
|
77
|
+
return { lines, headline: SIGNED_OUT_ON_MAC_MESSAGE, next: [...describeSignedOutKey(signedOut)], exitCode: EXIT.UNAUTHENTICATED };
|
|
78
|
+
};
|
|
79
|
+
var connectedThroughMacAppReport = (macApp) => ({
|
|
80
|
+
lines: [{ label: "Key", value: `${macApp.keyPrefix} held by the Pushary Mac app`, ok: true }],
|
|
81
|
+
headline: `${CONNECTED_THROUGH_MAC_APP}.`,
|
|
82
|
+
next: ["Approvals, phone pairing and account settings for this computer are in the Pushary Mac app."],
|
|
83
|
+
exitCode: EXIT.OK
|
|
84
|
+
});
|
|
51
85
|
var keySourceLine = (source) => {
|
|
52
86
|
if (source.kind === "none") {
|
|
53
87
|
return { label: "Key", value: "none found", ok: false };
|
|
@@ -86,6 +120,9 @@ var buildStatusReport = (facts) => {
|
|
|
86
120
|
});
|
|
87
121
|
}
|
|
88
122
|
if (facts.source.kind === "none") {
|
|
123
|
+
const signedOut = signedOutReport(facts, lines);
|
|
124
|
+
if (signedOut) return signedOut;
|
|
125
|
+
if (facts.macApp?.kind === "connected") return connectedThroughMacAppReport(facts.macApp);
|
|
89
126
|
return {
|
|
90
127
|
lines,
|
|
91
128
|
headline: "Not set up on this machine.",
|
|
@@ -95,6 +132,8 @@ var buildStatusReport = (facts) => {
|
|
|
95
132
|
}
|
|
96
133
|
const check = facts.keyCheck;
|
|
97
134
|
if (check && check.kind !== "ok") {
|
|
135
|
+
const signedOut = check.kind === "rejected" ? signedOutReport(facts, lines) : null;
|
|
136
|
+
if (signedOut) return signedOut;
|
|
98
137
|
const report = describeKeyCheck(check);
|
|
99
138
|
lines.push({ label: "Server", value: report.message, ok: check.kind === "unreachable" ? null : false });
|
|
100
139
|
return { lines, headline: report.message, next: [...report.next], exitCode: report.exitCode };
|
|
@@ -148,7 +187,7 @@ var buildStatusReport = (facts) => {
|
|
|
148
187
|
return {
|
|
149
188
|
lines,
|
|
150
189
|
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
|
|
190
|
+
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
191
|
exitCode: EXIT.NO_DEVICE
|
|
153
192
|
};
|
|
154
193
|
}
|
|
@@ -156,7 +195,7 @@ var buildStatusReport = (facts) => {
|
|
|
156
195
|
return {
|
|
157
196
|
lines,
|
|
158
197
|
headline: "Configured, but nothing in your pocket can receive an approval.",
|
|
159
|
-
next: ["Run `pushary
|
|
198
|
+
next: ["Run `pushary pair` to pair your phone, or install the Pushary app."],
|
|
160
199
|
exitCode: EXIT.NO_DEVICE
|
|
161
200
|
};
|
|
162
201
|
}
|
|
@@ -175,6 +214,7 @@ var statusJson = (facts, report) => ({
|
|
|
175
214
|
keySource: facts.source.kind,
|
|
176
215
|
keyOrigin: facts.source.origin,
|
|
177
216
|
keyPrefix: facts.source.key ? facts.source.key.split(".")[0] : null,
|
|
217
|
+
connectedThroughMacApp: facts.macApp?.kind === "connected",
|
|
178
218
|
drift: facts.source.drift ? {
|
|
179
219
|
env: facts.source.drift.envPrefix,
|
|
180
220
|
config: facts.source.drift.configPrefix,
|
|
@@ -208,7 +248,13 @@ var main = async () => {
|
|
|
208
248
|
if (keyCheck.kind === "ok") channels = await fetchChannels(source.key);
|
|
209
249
|
}
|
|
210
250
|
const machines = devices && keyCheck?.kind === "ok" ? await listMachines(source.key) : null;
|
|
211
|
-
const facts = {
|
|
251
|
+
const facts = {
|
|
252
|
+
source,
|
|
253
|
+
keyCheck,
|
|
254
|
+
channels,
|
|
255
|
+
signedOut: readSignedOutDiagnosis(source.key, activeKeyVerdictOf(keyCheck)),
|
|
256
|
+
macApp: readMacAppConnectionWhenKeyless(source.key)
|
|
257
|
+
};
|
|
212
258
|
const report = buildStatusReport(facts);
|
|
213
259
|
if (json) {
|
|
214
260
|
const payload = statusJson(facts, report);
|
|
@@ -1,50 +1,47 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
activeHookSource,
|
|
4
|
-
activeIdentity
|
|
5
|
-
} from "../chunk-MZPXVH4A.js";
|
|
6
|
-
import "../chunk-ANEAA37E.js";
|
|
7
2
|
import {
|
|
8
3
|
readHookInput
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-R5RIVOPL.js";
|
|
5
|
+
import "../chunk-COQ64C4F.js";
|
|
11
6
|
import "../chunk-SGZJ5LYH.js";
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-VXRXFU6Q.js";
|
|
17
|
-
import "../chunk-JCWZ23MJ.js";
|
|
18
|
-
import "../chunk-7264S5HZ.js";
|
|
19
|
-
import "../chunk-AUUXS44H.js";
|
|
20
|
-
import "../chunk-4FK6RZVJ.js";
|
|
21
|
-
import "../chunk-HPRZJKRO.js";
|
|
7
|
+
import "../chunk-SZ4Q6ZVS.js";
|
|
8
|
+
import "../chunk-APP43AW7.js";
|
|
9
|
+
import "../chunk-462EQA6K.js";
|
|
10
|
+
import "../chunk-VIIHC42X.js";
|
|
22
11
|
import "../chunk-XHKBHWLX.js";
|
|
12
|
+
import {
|
|
13
|
+
activeHookSource,
|
|
14
|
+
activeIdentity
|
|
15
|
+
} from "../chunk-UF6RBP5V.js";
|
|
16
|
+
import "../chunk-BYLKCZ2G.js";
|
|
17
|
+
import "../chunk-M3STIAGU.js";
|
|
18
|
+
import "../chunk-ZGADIZDS.js";
|
|
19
|
+
import "../chunk-MLGIVVSG.js";
|
|
20
|
+
import "../chunk-GMXKITVA.js";
|
|
23
21
|
import "../chunk-6ICPEJY5.js";
|
|
22
|
+
import "../chunk-REU2VQPH.js";
|
|
24
23
|
import {
|
|
25
24
|
handleStop,
|
|
26
25
|
handleSubagentStop,
|
|
27
26
|
isSubagentStop
|
|
28
|
-
} from "../chunk-
|
|
27
|
+
} from "../chunk-KQFTBQ66.js";
|
|
29
28
|
import "../chunk-N6IOSZOE.js";
|
|
30
|
-
import "../chunk-
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
29
|
+
import "../chunk-MD4SVNT6.js";
|
|
30
|
+
import "../chunk-WRPYCIV2.js";
|
|
31
|
+
import "../chunk-6AYSKVLL.js";
|
|
32
|
+
import "../chunk-QRXPWW3M.js";
|
|
33
|
+
import "../chunk-UPIZSCYD.js";
|
|
33
34
|
import "../chunk-POFBE6ZY.js";
|
|
34
|
-
import "../chunk-
|
|
35
|
-
import "../chunk-
|
|
36
|
-
import "../chunk-L76HTPU6.js";
|
|
37
|
-
import "../chunk-KFKL3FHS.js";
|
|
38
|
-
import "../chunk-JXISQ7DT.js";
|
|
39
|
-
import "../chunk-KYO45G5L.js";
|
|
35
|
+
import "../chunk-5N5L6DNN.js";
|
|
36
|
+
import "../chunk-KOWFRUIT.js";
|
|
40
37
|
import "../chunk-7QLSKOSU.js";
|
|
41
38
|
import "../chunk-KZERVKTD.js";
|
|
42
|
-
import "../chunk-
|
|
43
|
-
import "../chunk-
|
|
39
|
+
import "../chunk-BNSKVIAW.js";
|
|
40
|
+
import "../chunk-Z23ZBYDW.js";
|
|
44
41
|
import "../chunk-T7E75EKA.js";
|
|
45
|
-
import "../chunk-
|
|
46
|
-
import "../chunk-
|
|
47
|
-
import "../chunk-
|
|
42
|
+
import "../chunk-IRHABAQT.js";
|
|
43
|
+
import "../chunk-5DCDQ5VW.js";
|
|
44
|
+
import "../chunk-5RGA636G.js";
|
|
48
45
|
|
|
49
46
|
// bin/pushary-stop-hook.ts
|
|
50
47
|
var AGENT = activeIdentity(process.argv);
|
|
@@ -1,48 +1,45 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
activeHookSource,
|
|
4
|
-
activeIdentity
|
|
5
|
-
} from "../chunk-MZPXVH4A.js";
|
|
6
|
-
import "../chunk-ANEAA37E.js";
|
|
7
2
|
import {
|
|
8
3
|
readHookInput
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-R5RIVOPL.js";
|
|
5
|
+
import "../chunk-COQ64C4F.js";
|
|
11
6
|
import "../chunk-SGZJ5LYH.js";
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-VXRXFU6Q.js";
|
|
17
|
-
import "../chunk-JCWZ23MJ.js";
|
|
18
|
-
import "../chunk-7264S5HZ.js";
|
|
19
|
-
import "../chunk-AUUXS44H.js";
|
|
20
|
-
import "../chunk-4FK6RZVJ.js";
|
|
21
|
-
import "../chunk-HPRZJKRO.js";
|
|
7
|
+
import "../chunk-SZ4Q6ZVS.js";
|
|
8
|
+
import "../chunk-APP43AW7.js";
|
|
9
|
+
import "../chunk-462EQA6K.js";
|
|
10
|
+
import "../chunk-VIIHC42X.js";
|
|
22
11
|
import "../chunk-XHKBHWLX.js";
|
|
12
|
+
import {
|
|
13
|
+
activeHookSource,
|
|
14
|
+
activeIdentity
|
|
15
|
+
} from "../chunk-UF6RBP5V.js";
|
|
16
|
+
import "../chunk-BYLKCZ2G.js";
|
|
17
|
+
import "../chunk-M3STIAGU.js";
|
|
18
|
+
import "../chunk-ZGADIZDS.js";
|
|
19
|
+
import "../chunk-MLGIVVSG.js";
|
|
20
|
+
import "../chunk-GMXKITVA.js";
|
|
23
21
|
import "../chunk-6ICPEJY5.js";
|
|
22
|
+
import "../chunk-REU2VQPH.js";
|
|
24
23
|
import {
|
|
25
24
|
handleStopFailure
|
|
26
|
-
} from "../chunk-
|
|
25
|
+
} from "../chunk-KQFTBQ66.js";
|
|
27
26
|
import "../chunk-N6IOSZOE.js";
|
|
28
|
-
import "../chunk-
|
|
29
|
-
import "../chunk-
|
|
30
|
-
import "../chunk-
|
|
27
|
+
import "../chunk-MD4SVNT6.js";
|
|
28
|
+
import "../chunk-WRPYCIV2.js";
|
|
29
|
+
import "../chunk-6AYSKVLL.js";
|
|
30
|
+
import "../chunk-QRXPWW3M.js";
|
|
31
|
+
import "../chunk-UPIZSCYD.js";
|
|
31
32
|
import "../chunk-POFBE6ZY.js";
|
|
32
|
-
import "../chunk-
|
|
33
|
-
import "../chunk-
|
|
34
|
-
import "../chunk-L76HTPU6.js";
|
|
35
|
-
import "../chunk-KFKL3FHS.js";
|
|
36
|
-
import "../chunk-JXISQ7DT.js";
|
|
37
|
-
import "../chunk-KYO45G5L.js";
|
|
33
|
+
import "../chunk-5N5L6DNN.js";
|
|
34
|
+
import "../chunk-KOWFRUIT.js";
|
|
38
35
|
import "../chunk-7QLSKOSU.js";
|
|
39
36
|
import "../chunk-KZERVKTD.js";
|
|
40
|
-
import "../chunk-
|
|
41
|
-
import "../chunk-
|
|
37
|
+
import "../chunk-BNSKVIAW.js";
|
|
38
|
+
import "../chunk-Z23ZBYDW.js";
|
|
42
39
|
import "../chunk-T7E75EKA.js";
|
|
43
|
-
import "../chunk-
|
|
44
|
-
import "../chunk-
|
|
45
|
-
import "../chunk-
|
|
40
|
+
import "../chunk-IRHABAQT.js";
|
|
41
|
+
import "../chunk-5DCDQ5VW.js";
|
|
42
|
+
import "../chunk-5RGA636G.js";
|
|
46
43
|
|
|
47
44
|
// bin/pushary-stopfailure-hook.ts
|
|
48
45
|
var AGENT = activeIdentity(process.argv);
|
|
@@ -1,37 +1,40 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
exitOnFailedSettingsRequest
|
|
4
|
+
} from "../chunk-HBWYMRR5.js";
|
|
5
|
+
import "../chunk-Q6C6ILUS.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-TO3PS646.js";
|
|
8
12
|
import {
|
|
9
13
|
rejectUnknownFlags
|
|
10
14
|
} from "../chunk-GMXKITVA.js";
|
|
15
|
+
import "../chunk-REU2VQPH.js";
|
|
16
|
+
import "../chunk-QRXPWW3M.js";
|
|
17
|
+
import "../chunk-5N5L6DNN.js";
|
|
18
|
+
import "../chunk-KOWFRUIT.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-BNSKVIAW.js";
|
|
26
|
+
import "../chunk-Z23ZBYDW.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-IRHABAQT.js";
|
|
32
|
+
import "../chunk-5DCDQ5VW.js";
|
|
33
|
+
import "../chunk-5RGA636G.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,30 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
registerTranscript
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-COQ64C4F.js";
|
|
5
5
|
import "../chunk-SGZJ5LYH.js";
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-VXRXFU6Q.js";
|
|
11
|
-
import "../chunk-JCWZ23MJ.js";
|
|
12
|
-
import "../chunk-7264S5HZ.js";
|
|
13
|
-
import "../chunk-AUUXS44H.js";
|
|
14
|
-
import "../chunk-4FK6RZVJ.js";
|
|
15
|
-
import "../chunk-HPRZJKRO.js";
|
|
6
|
+
import "../chunk-SZ4Q6ZVS.js";
|
|
7
|
+
import "../chunk-APP43AW7.js";
|
|
8
|
+
import "../chunk-462EQA6K.js";
|
|
9
|
+
import "../chunk-VIIHC42X.js";
|
|
16
10
|
import "../chunk-XHKBHWLX.js";
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-BYLKCZ2G.js";
|
|
12
|
+
import "../chunk-M3STIAGU.js";
|
|
13
|
+
import "../chunk-ZGADIZDS.js";
|
|
14
|
+
import "../chunk-MLGIVVSG.js";
|
|
19
15
|
import "../chunk-GMXKITVA.js";
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-6ICPEJY5.js";
|
|
17
|
+
import "../chunk-REU2VQPH.js";
|
|
18
|
+
import "../chunk-MD4SVNT6.js";
|
|
19
|
+
import "../chunk-KOWFRUIT.js";
|
|
22
20
|
import "../chunk-7QLSKOSU.js";
|
|
23
21
|
import "../chunk-KZERVKTD.js";
|
|
24
|
-
import "../chunk-
|
|
25
|
-
import "../chunk-
|
|
22
|
+
import "../chunk-BNSKVIAW.js";
|
|
23
|
+
import "../chunk-Z23ZBYDW.js";
|
|
26
24
|
import "../chunk-T7E75EKA.js";
|
|
27
|
-
import "../chunk-
|
|
28
|
-
import "../chunk-
|
|
29
|
-
import "../chunk-
|
|
25
|
+
import "../chunk-IRHABAQT.js";
|
|
26
|
+
import "../chunk-5DCDQ5VW.js";
|
|
27
|
+
import "../chunk-5RGA636G.js";
|
|
30
28
|
|
|
31
29
|
// bin/pushary-transcript-register.ts
|
|
32
30
|
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-VIIHC42X.js";
|
|
10
10
|
import {
|
|
11
11
|
exitOnHelpFlag
|
|
12
|
-
} from "../chunk-
|
|
13
|
-
import "../chunk-
|
|
12
|
+
} from "../chunk-TO3PS646.js";
|
|
13
|
+
import "../chunk-REU2VQPH.js";
|
|
14
14
|
import "../chunk-KZERVKTD.js";
|
|
15
|
-
import "../chunk-
|
|
15
|
+
import "../chunk-BNSKVIAW.js";
|
|
16
16
|
import "../chunk-T7E75EKA.js";
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-IRHABAQT.js";
|
|
18
|
+
import "../chunk-5DCDQ5VW.js";
|
|
19
|
+
import "../chunk-5RGA636G.js";
|
|
20
20
|
|
|
21
21
|
// bin/pushary-transcripts.ts
|
|
22
22
|
exitOnHelpFlag("transcripts");
|
|
@@ -9,29 +9,27 @@ import {
|
|
|
9
9
|
upgradeFinishOutcome,
|
|
10
10
|
upgradeInstalledPackage,
|
|
11
11
|
withUpgradeLock
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-VHPFNLRS.js";
|
|
13
13
|
import {
|
|
14
14
|
installWithUpgradeLock
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-AZOKPWVI.js";
|
|
16
16
|
import {
|
|
17
17
|
ensureCodexTrustAfterReapply,
|
|
18
18
|
reapplyAllAgents
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-6EBGOHDJ.js";
|
|
20
20
|
import {
|
|
21
21
|
describeCodexTrustConfirmation
|
|
22
|
-
} from "../chunk-
|
|
23
|
-
import "../chunk-
|
|
22
|
+
} from "../chunk-DP3WX7FW.js";
|
|
23
|
+
import "../chunk-NGKUXZID.js";
|
|
24
24
|
import {
|
|
25
25
|
waitForMachineReadiness
|
|
26
|
-
} from "../chunk-
|
|
27
|
-
import "../chunk-X5NXPCIC.js";
|
|
28
|
-
import "../chunk-ANEAA37E.js";
|
|
26
|
+
} from "../chunk-QIOIO7VN.js";
|
|
29
27
|
import {
|
|
30
28
|
detectProviderLiveCapabilities,
|
|
31
29
|
expectedLaunchCapabilities,
|
|
32
30
|
hasSpawnProvider,
|
|
33
31
|
resolveControlPolicy
|
|
34
|
-
} from "../chunk-
|
|
32
|
+
} from "../chunk-F7R3SZ4Q.js";
|
|
35
33
|
import "../chunk-RIVNNBEK.js";
|
|
36
34
|
import {
|
|
37
35
|
AUTO_UPDATE_DISABLE_ENV,
|
|
@@ -42,8 +40,7 @@ import {
|
|
|
42
40
|
parseAutoUpdateFlag,
|
|
43
41
|
readAutoUpdateState,
|
|
44
42
|
updateAutoUpdateState
|
|
45
|
-
} from "../chunk-
|
|
46
|
-
import "../chunk-4YO4T5FV.js";
|
|
43
|
+
} from "../chunk-K545B734.js";
|
|
47
44
|
import {
|
|
48
45
|
DAEMON_COLD_START_TIMEOUT_MS,
|
|
49
46
|
daemonHasRemoteProof,
|
|
@@ -55,23 +52,41 @@ import {
|
|
|
55
52
|
replaceDaemonService,
|
|
56
53
|
stopDaemonService,
|
|
57
54
|
waitForDaemonRemoteProof
|
|
58
|
-
} from "../chunk-
|
|
59
|
-
import "../chunk-JCWZ23MJ.js";
|
|
55
|
+
} from "../chunk-SZ4Q6ZVS.js";
|
|
60
56
|
import "../chunk-XHKBHWLX.js";
|
|
61
|
-
import
|
|
62
|
-
|
|
63
|
-
|
|
57
|
+
import {
|
|
58
|
+
readMacAppAgentKey
|
|
59
|
+
} from "../chunk-E5HOHIUV.js";
|
|
60
|
+
import "../chunk-BZLHTMT6.js";
|
|
61
|
+
import "../chunk-UF6RBP5V.js";
|
|
64
62
|
import {
|
|
65
63
|
exitOnHelpFlag
|
|
66
|
-
} from "../chunk-
|
|
64
|
+
} from "../chunk-TO3PS646.js";
|
|
65
|
+
import "../chunk-BYLKCZ2G.js";
|
|
66
|
+
import "../chunk-M3STIAGU.js";
|
|
67
|
+
import "../chunk-ZGADIZDS.js";
|
|
68
|
+
import "../chunk-MLGIVVSG.js";
|
|
69
|
+
import "../chunk-GMXKITVA.js";
|
|
70
|
+
import "../chunk-6ICPEJY5.js";
|
|
67
71
|
import {
|
|
68
|
-
readControlMode
|
|
69
|
-
|
|
70
|
-
|
|
72
|
+
readControlMode,
|
|
73
|
+
recordMacAppKeyPrefix
|
|
74
|
+
} from "../chunk-REU2VQPH.js";
|
|
75
|
+
import "../chunk-KQFTBQ66.js";
|
|
76
|
+
import "../chunk-N6IOSZOE.js";
|
|
77
|
+
import "../chunk-MD4SVNT6.js";
|
|
78
|
+
import "../chunk-WRPYCIV2.js";
|
|
79
|
+
import "../chunk-6AYSKVLL.js";
|
|
80
|
+
import "../chunk-QRXPWW3M.js";
|
|
81
|
+
import "../chunk-UPIZSCYD.js";
|
|
82
|
+
import "../chunk-POFBE6ZY.js";
|
|
83
|
+
import "../chunk-5N5L6DNN.js";
|
|
84
|
+
import "../chunk-KOWFRUIT.js";
|
|
85
|
+
import "../chunk-7QLSKOSU.js";
|
|
71
86
|
import {
|
|
72
87
|
EXIT
|
|
73
88
|
} from "../chunk-KZERVKTD.js";
|
|
74
|
-
import "../chunk-
|
|
89
|
+
import "../chunk-BNSKVIAW.js";
|
|
75
90
|
import {
|
|
76
91
|
LATEST_TAG,
|
|
77
92
|
autoUpdateState,
|
|
@@ -81,19 +96,19 @@ import {
|
|
|
81
96
|
fetchLatestPublishedVersion,
|
|
82
97
|
geminiSettings,
|
|
83
98
|
vscodePluginDir
|
|
84
|
-
} from "../chunk-
|
|
99
|
+
} from "../chunk-Z23ZBYDW.js";
|
|
85
100
|
import "../chunk-T7E75EKA.js";
|
|
86
101
|
import {
|
|
87
102
|
getApiKey
|
|
88
|
-
} from "../chunk-
|
|
103
|
+
} from "../chunk-IRHABAQT.js";
|
|
89
104
|
import {
|
|
90
105
|
NPX_LATEST_COMMAND
|
|
91
|
-
} from "../chunk-
|
|
106
|
+
} from "../chunk-5DCDQ5VW.js";
|
|
92
107
|
import {
|
|
93
108
|
CANONICAL_PACKAGE,
|
|
94
109
|
LEGACY_PACKAGE,
|
|
95
110
|
getPackageVersion
|
|
96
|
-
} from "../chunk-
|
|
111
|
+
} from "../chunk-5RGA636G.js";
|
|
97
112
|
|
|
98
113
|
// bin/pushary-upgrade.ts
|
|
99
114
|
import { existsSync } from "fs";
|
|
@@ -142,9 +157,12 @@ var finishUpgrade = async () => {
|
|
|
142
157
|
} catch {
|
|
143
158
|
apiKey = void 0;
|
|
144
159
|
}
|
|
160
|
+
const macAppKey = readMacAppAgentKey();
|
|
161
|
+
if (macAppKey) recordMacAppKeyPrefix(macAppKey);
|
|
145
162
|
const inspectedAgents = reapplyAllAgents(apiKey);
|
|
146
163
|
const codexTrust = await ensureCodexTrustAfterReapply(inspectedAgents);
|
|
147
164
|
const refreshed = inspectedAgents.filter((agent) => agent.result.reapplied);
|
|
165
|
+
const keptForApp = inspectedAgents.filter((agent) => agent.heldBy === "app");
|
|
148
166
|
const failedRefreshes = inspectedAgents.filter((agent) => agent.result.failed);
|
|
149
167
|
const configuredControlProviders = inspectedAgents.filter((agent) => agent.result.configured && (agent.id === "claude" || agent.id === "codex" || agent.id === "gemini")).map((agent) => agent.id);
|
|
150
168
|
const controlMode = readControlMode();
|
|
@@ -191,9 +209,14 @@ var finishUpgrade = async () => {
|
|
|
191
209
|
console.log();
|
|
192
210
|
console.log("No key was readable here, so MCP entries kept the key they already had.");
|
|
193
211
|
}
|
|
194
|
-
} else if (failedRefreshes.length === 0) {
|
|
212
|
+
} else if (failedRefreshes.length === 0 && keptForApp.length === 0) {
|
|
195
213
|
console.log("No agent config on this machine needed refreshing.");
|
|
196
214
|
}
|
|
215
|
+
if (keptForApp.length > 0) {
|
|
216
|
+
if (refreshed.length > 0) console.log();
|
|
217
|
+
console.log(KEPT_FOR_APP_HEADING);
|
|
218
|
+
for (const agent of keptForApp) console.log(` ${agent.label}`);
|
|
219
|
+
}
|
|
197
220
|
if (codexTrust) {
|
|
198
221
|
console.log();
|
|
199
222
|
console.log(describeCodexTrustConfirmation(codexTrust));
|
|
@@ -212,6 +235,7 @@ var finishUpgrade = async () => {
|
|
|
212
235
|
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.");
|
|
213
236
|
console.log("Verify with: pushary doctor");
|
|
214
237
|
};
|
|
238
|
+
var KEPT_FOR_APP_HEADING = "Kept for the Pushary Mac app, which owns these agents. Nothing in their config was changed:";
|
|
215
239
|
var AUTO_UPDATE_ON_MESSAGE = "Automatic updates are on. Pushary checks for a new version once a day, when an agent session starts.";
|
|
216
240
|
var AUTO_UPDATE_OFF_MESSAGE = "Automatic updates are off. Turn them back on with: pushary upgrade --auto=on";
|
|
217
241
|
var AUTO_UPDATE_RUN_MESSAGES = {
|