@pushary/agent-hooks 1.7.2 → 1.8.0
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 +13 -1
- package/data/cursor-plugin/CHANGELOG.md +1 -0
- package/data/cursor-plugin/scripts/pushary-gate.mjs +2 -21
- package/data/cursor-plugin/scripts/pushary-gate.test.mjs +23 -1
- package/data/cursor-plugin/scripts/redaction.mjs +51 -0
- package/data/vscode-plugin/CHANGELOG.md +1 -0
- package/data/vscode-plugin/scripts/pushary-gate.mjs +1 -21
- package/data/vscode-plugin/scripts/redaction.mjs +51 -0
- package/dist/bin/pushary-bell-hook.js +23 -23
- package/dist/bin/pushary-bell.js +9 -9
- package/dist/bin/pushary-claude.js +28 -28
- package/dist/bin/pushary-clean.js +91 -107
- package/dist/bin/pushary-codex-bridge.js +18 -18
- package/dist/bin/pushary-codex-hook.js +42 -43
- package/dist/bin/pushary-codex.js +13 -13
- package/dist/bin/pushary-connect.js +13 -13
- package/dist/bin/pushary-cowork.js +5 -5
- package/dist/bin/pushary-daemon.js +27 -27
- package/dist/bin/pushary-disconnect.js +18 -18
- package/dist/bin/pushary-doctor.js +85 -79
- package/dist/bin/pushary-elicitation-hook.js +25 -25
- package/dist/bin/pushary-gemini-bridge.js +12 -12
- package/dist/bin/pushary-gemini-hook.js +29 -30
- package/dist/bin/pushary-hook.js +32 -32
- package/dist/bin/pushary-login.js +12 -12
- package/dist/bin/pushary-logout.js +7 -7
- package/dist/bin/pushary-mcp.js +85 -28
- package/dist/bin/pushary-mode.js +9 -9
- package/dist/bin/pushary-notification-hook.js +28 -28
- package/dist/bin/pushary-opencode-hook.js +28 -29
- package/dist/bin/pushary-permission-denied-hook.js +32 -32
- package/dist/bin/pushary-permission-hook.js +31 -31
- package/dist/bin/pushary-post-hook.js +28 -28
- package/dist/bin/pushary-prompt-hook.js +28 -28
- package/dist/bin/pushary-session-end-hook.js +28 -28
- package/dist/bin/pushary-session-start-hook.js +32 -32
- package/dist/bin/pushary-setup.js +60 -127
- package/dist/bin/pushary-stats.js +5 -5
- package/dist/bin/pushary-status.js +15 -15
- package/dist/bin/pushary-stop-hook.js +28 -28
- package/dist/bin/pushary-stopfailure-hook.js +28 -28
- package/dist/bin/pushary-suggestions.js +4 -4
- package/dist/bin/pushary-transcript-register.js +19 -19
- package/dist/bin/pushary-transcripts.js +7 -7
- package/dist/bin/pushary-upgrade.js +231 -105
- package/dist/bin/pushary-wait.js +9 -9
- package/dist/bin/pushary.js +6 -6
- package/dist/{chunk-VQDJ6KB3.js → chunk-2ABTSGFT.js} +3 -3
- package/dist/{chunk-UFNBKYWT.js → chunk-2OY3ZZ5N.js} +3 -3
- package/dist/{chunk-A6WQF7FQ.js → chunk-3EVPNIBE.js} +3 -3
- package/dist/{chunk-L6IF4JOF.js → chunk-6J2JC2RT.js} +3 -3
- package/dist/{chunk-3NSRL5E7.js → chunk-7Z7Q4GGS.js} +2 -2
- package/dist/{chunk-NYBZJ44G.js → chunk-A2A2YTMG.js} +108 -25
- package/dist/{chunk-SKEW3TQX.js → chunk-AHV4LNB5.js} +1 -1
- package/dist/{chunk-KAJT6HPI.js → chunk-AXPCESYO.js} +3 -3
- package/dist/{chunk-JMSB6CJT.js → chunk-C2WCPBF7.js} +1 -1
- package/dist/chunk-CJVVKOSR.js +73 -0
- package/dist/{chunk-2B4XCMH6.js → chunk-CULUZTWQ.js} +283 -41
- package/dist/{chunk-6QZK4O36.js → chunk-CVQYGMSR.js} +4 -4
- package/dist/{chunk-SEIZQZEE.js → chunk-D2FX3EPW.js} +1 -1
- package/dist/{chunk-LI3C2IQY.js → chunk-DB3ONZB4.js} +2 -2
- package/dist/{chunk-YU54LNC6.js → chunk-DE4Y6TCC.js} +6 -6
- package/dist/{chunk-65RN6ZCO.js → chunk-E4FJTUH4.js} +1 -1
- package/dist/{chunk-RLRDPZG4.js → chunk-EPCXUP3P.js} +3 -1
- package/dist/{chunk-OXEF6JHD.js → chunk-EX3GAPA4.js} +1 -1
- package/dist/{chunk-E3PLF7YB.js → chunk-EYK3GSRH.js} +4 -4
- package/dist/{chunk-SJN64NJX.js → chunk-GPEGOGRJ.js} +1 -1
- package/dist/chunk-GU3EJCVV.js +43 -0
- package/dist/{chunk-YNJ2H2FD.js → chunk-HQ6G3B5R.js} +2 -2
- package/dist/{chunk-6NHXKTQU.js → chunk-HZVVNGEW.js} +2 -2
- package/dist/{chunk-ZUKZJQGR.js → chunk-IPVKH2ST.js} +1 -1
- package/dist/{chunk-T3PRPFDY.js → chunk-J5TIV3J6.js} +5 -5
- package/dist/{chunk-F6BMJOSW.js → chunk-JU6W3XAU.js} +1 -1
- package/dist/{chunk-AWZNDM3B.js → chunk-JYG4B33G.js} +1 -1
- package/dist/{chunk-ZMWX5SDA.js → chunk-JZTHGAPA.js} +8 -8
- package/dist/{chunk-3RO2UWJQ.js → chunk-KGDWDSNL.js} +2 -2
- package/dist/{chunk-MY3UZO5U.js → chunk-KVQBWI5T.js} +3 -3
- package/dist/{chunk-HOIGXMI7.js → chunk-LXQ5FBBD.js} +1 -1
- package/dist/{chunk-D4OGEWLH.js → chunk-M5ICYGHT.js} +3 -3
- package/dist/{chunk-YLCSKVQQ.js → chunk-M5JDZ45W.js} +4 -4
- package/dist/{chunk-SKMWPXGV.js → chunk-MDEPU45E.js} +183 -28
- package/dist/{chunk-R7ZETVNR.js → chunk-MPWXGONV.js} +3 -3
- package/dist/{chunk-2XOHXZRC.js → chunk-NGDD6TXY.js} +20 -5
- package/dist/{chunk-WWTLAZQA.js → chunk-NQTHFF4W.js} +178 -39
- package/dist/{chunk-KLXYMPTM.js → chunk-OKXS7WDZ.js} +1 -1
- package/dist/{chunk-Q7CDBJXU.js → chunk-OLQRRFBX.js} +1 -1
- package/dist/{chunk-VSGKQ3HI.js → chunk-P7WQEVWA.js} +2 -2
- package/dist/{chunk-UUTWHVSV.js → chunk-Q7E4I6UA.js} +28 -16
- package/dist/{chunk-WXIVUIXA.js → chunk-R7437YI3.js} +2 -2
- package/dist/{chunk-5GIBNUBD.js → chunk-RHR6NARM.js} +2 -2
- package/dist/{chunk-QSZ37ROP.js → chunk-SAXBC4AZ.js} +1 -1
- package/dist/{chunk-U3MS6D5X.js → chunk-SIFVFP6T.js} +1 -1
- package/dist/{chunk-TVJYGZXB.js → chunk-SLFABHW3.js} +40 -10
- package/dist/{chunk-M2JGLFFS.js → chunk-TY4JT7W3.js} +1 -1
- package/dist/{chunk-YU4222G2.js → chunk-UI36QSBI.js} +28 -16
- package/dist/{chunk-OJRB5QKN.js → chunk-VQKRG3AC.js} +6 -6
- package/dist/{chunk-4S7CCOXB.js → chunk-WE2J62NC.js} +31 -17
- package/dist/{chunk-PWNQGITG.js → chunk-ZSZSSJCV.js} +1 -1
- package/dist/{chunk-I7B2DNVU.js → chunk-ZVSKMPBZ.js} +1 -1
- package/dist/{reapply-D6RSDYCK.js → reapply-CW3MA66V.js} +9 -9
- package/dist/src/index.js +20 -20
- package/package.json +1 -1
- package/dist/chunk-INR3RVQ3.js +0 -92
- package/dist/chunk-IZVAVXHQ.js +0 -255
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
printKeyCheck
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-EX3GAPA4.js";
|
|
5
5
|
import {
|
|
6
6
|
connectDevice,
|
|
7
7
|
connectExistingApp,
|
|
8
8
|
printConnectInstructions
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-M5JDZ45W.js";
|
|
10
10
|
import "../chunk-3EGEA4KH.js";
|
|
11
11
|
import "../chunk-QCGNGEGE.js";
|
|
12
12
|
import {
|
|
@@ -14,31 +14,31 @@ import {
|
|
|
14
14
|
} from "../chunk-U4TMAANR.js";
|
|
15
15
|
import {
|
|
16
16
|
exitOnHelpFlag
|
|
17
|
-
} from "../chunk-
|
|
17
|
+
} from "../chunk-HZVVNGEW.js";
|
|
18
18
|
import {
|
|
19
19
|
parseFlags
|
|
20
20
|
} from "../chunk-GMXKITVA.js";
|
|
21
21
|
import {
|
|
22
22
|
readKeySource
|
|
23
|
-
} from "../chunk-
|
|
24
|
-
import "../chunk-
|
|
23
|
+
} from "../chunk-P7WQEVWA.js";
|
|
24
|
+
import "../chunk-M5ICYGHT.js";
|
|
25
25
|
import {
|
|
26
26
|
checkApiKey
|
|
27
|
-
} from "../chunk-
|
|
28
|
-
import "../chunk-
|
|
29
|
-
import "../chunk-
|
|
27
|
+
} from "../chunk-2ABTSGFT.js";
|
|
28
|
+
import "../chunk-2OY3ZZ5N.js";
|
|
29
|
+
import "../chunk-LXQ5FBBD.js";
|
|
30
30
|
import {
|
|
31
31
|
UsageError
|
|
32
32
|
} from "../chunk-7QLSKOSU.js";
|
|
33
33
|
import {
|
|
34
34
|
EXIT
|
|
35
35
|
} from "../chunk-KZERVKTD.js";
|
|
36
|
-
import "../chunk-
|
|
37
|
-
import "../chunk-
|
|
36
|
+
import "../chunk-DB3ONZB4.js";
|
|
37
|
+
import "../chunk-A2A2YTMG.js";
|
|
38
38
|
import "../chunk-T7E75EKA.js";
|
|
39
|
-
import "../chunk-
|
|
40
|
-
import "../chunk-
|
|
41
|
-
import "../chunk-
|
|
39
|
+
import "../chunk-GPEGOGRJ.js";
|
|
40
|
+
import "../chunk-E4FJTUH4.js";
|
|
41
|
+
import "../chunk-NQTHFF4W.js";
|
|
42
42
|
|
|
43
43
|
// bin/pushary-connect.ts
|
|
44
44
|
exitOnHelpFlag("connect");
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
import {
|
|
3
3
|
coworkOutput,
|
|
4
4
|
parseCoworkOptions
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-7Z7Q4GGS.js";
|
|
6
6
|
import {
|
|
7
7
|
canOpenBrowser,
|
|
8
8
|
openInBrowser
|
|
9
9
|
} from "../chunk-PUZZELE6.js";
|
|
10
|
-
import "../chunk-
|
|
10
|
+
import "../chunk-ZVSKMPBZ.js";
|
|
11
11
|
import {
|
|
12
12
|
exitOnHelpFlag
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-HZVVNGEW.js";
|
|
14
14
|
import "../chunk-GMXKITVA.js";
|
|
15
15
|
import {
|
|
16
16
|
UsageError
|
|
@@ -18,10 +18,10 @@ import {
|
|
|
18
18
|
import {
|
|
19
19
|
EXIT
|
|
20
20
|
} from "../chunk-KZERVKTD.js";
|
|
21
|
-
import "../chunk-
|
|
21
|
+
import "../chunk-E4FJTUH4.js";
|
|
22
22
|
import {
|
|
23
23
|
CLAUDE_CONNECTOR_GUIDE
|
|
24
|
-
} from "../chunk-
|
|
24
|
+
} from "../chunk-NQTHFF4W.js";
|
|
25
25
|
|
|
26
26
|
// bin/pushary-cowork.ts
|
|
27
27
|
exitOnHelpFlag("cowork");
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
inspectConfiguredManagedProviders
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-VQKRG3AC.js";
|
|
5
|
+
import "../chunk-SIFVFP6T.js";
|
|
6
|
+
import "../chunk-RHR6NARM.js";
|
|
7
7
|
import {
|
|
8
8
|
HEARTBEAT_INTERVAL_MS,
|
|
9
9
|
sendHeartbeat
|
|
10
|
-
} from "../chunk-
|
|
11
|
-
import "../chunk-
|
|
10
|
+
} from "../chunk-DE4Y6TCC.js";
|
|
11
|
+
import "../chunk-AXPCESYO.js";
|
|
12
12
|
import {
|
|
13
13
|
detectProviderLiveCapabilities,
|
|
14
14
|
hasSpawnProvider,
|
|
15
15
|
resolveControlPolicy
|
|
16
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-HQ6G3B5R.js";
|
|
17
17
|
import {
|
|
18
18
|
SESSION_REAP_SILENCE_MS,
|
|
19
19
|
describeIdleWindow,
|
|
@@ -21,15 +21,15 @@ import {
|
|
|
21
21
|
listProcessProofs,
|
|
22
22
|
ownsLiveProcess,
|
|
23
23
|
silentSpawnedProofs
|
|
24
|
-
} from "../chunk-
|
|
24
|
+
} from "../chunk-ZSZSSJCV.js";
|
|
25
25
|
import {
|
|
26
26
|
startRegisteredTranscripts
|
|
27
|
-
} from "../chunk-
|
|
27
|
+
} from "../chunk-JZTHGAPA.js";
|
|
28
28
|
import "../chunk-SGZJ5LYH.js";
|
|
29
|
-
import "../chunk-
|
|
30
|
-
import "../chunk-
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
29
|
+
import "../chunk-EYK3GSRH.js";
|
|
30
|
+
import "../chunk-ZVSKMPBZ.js";
|
|
31
|
+
import "../chunk-C2WCPBF7.js";
|
|
32
|
+
import "../chunk-6J2JC2RT.js";
|
|
33
33
|
import {
|
|
34
34
|
DAEMON_LEASE_RENEW_INTERVAL_MS,
|
|
35
35
|
acquireDaemonLease,
|
|
@@ -46,46 +46,46 @@ import {
|
|
|
46
46
|
requestDaemonHandoff,
|
|
47
47
|
stopDaemonRunning,
|
|
48
48
|
writeDaemonNeedsLogin
|
|
49
|
-
} from "../chunk-
|
|
50
|
-
import "../chunk-
|
|
51
|
-
import "../chunk-
|
|
52
|
-
import "../chunk-
|
|
53
|
-
import "../chunk-
|
|
54
|
-
import "../chunk-
|
|
49
|
+
} from "../chunk-WE2J62NC.js";
|
|
50
|
+
import "../chunk-3EVPNIBE.js";
|
|
51
|
+
import "../chunk-OKXS7WDZ.js";
|
|
52
|
+
import "../chunk-MPWXGONV.js";
|
|
53
|
+
import "../chunk-SAXBC4AZ.js";
|
|
54
|
+
import "../chunk-OLQRRFBX.js";
|
|
55
55
|
import {
|
|
56
56
|
spawnClaude
|
|
57
57
|
} from "../chunk-XHKBHWLX.js";
|
|
58
|
-
import "../chunk-
|
|
58
|
+
import "../chunk-EPCXUP3P.js";
|
|
59
59
|
import {
|
|
60
60
|
writeHuman
|
|
61
61
|
} from "../chunk-QCGNGEGE.js";
|
|
62
62
|
import {
|
|
63
63
|
exitOnHelpFlag
|
|
64
|
-
} from "../chunk-
|
|
64
|
+
} from "../chunk-HZVVNGEW.js";
|
|
65
65
|
import "../chunk-GMXKITVA.js";
|
|
66
66
|
import {
|
|
67
67
|
readControlMode
|
|
68
|
-
} from "../chunk-
|
|
68
|
+
} from "../chunk-P7WQEVWA.js";
|
|
69
69
|
import {
|
|
70
70
|
getMachineId
|
|
71
|
-
} from "../chunk-
|
|
71
|
+
} from "../chunk-LXQ5FBBD.js";
|
|
72
72
|
import "../chunk-7QLSKOSU.js";
|
|
73
73
|
import {
|
|
74
74
|
EXIT
|
|
75
75
|
} from "../chunk-KZERVKTD.js";
|
|
76
|
-
import "../chunk-
|
|
76
|
+
import "../chunk-DB3ONZB4.js";
|
|
77
77
|
import {
|
|
78
78
|
resolveBinary
|
|
79
|
-
} from "../chunk-
|
|
79
|
+
} from "../chunk-A2A2YTMG.js";
|
|
80
80
|
import "../chunk-T7E75EKA.js";
|
|
81
81
|
import {
|
|
82
82
|
getApiKey,
|
|
83
83
|
getBaseUrl
|
|
84
|
-
} from "../chunk-
|
|
84
|
+
} from "../chunk-GPEGOGRJ.js";
|
|
85
85
|
import {
|
|
86
86
|
NPX_LATEST_COMMAND
|
|
87
|
-
} from "../chunk-
|
|
88
|
-
import "../chunk-
|
|
87
|
+
} from "../chunk-E4FJTUH4.js";
|
|
88
|
+
import "../chunk-NQTHFF4W.js";
|
|
89
89
|
|
|
90
90
|
// src/spawn-daemon.ts
|
|
91
91
|
import { execFileSync, spawn } from "child_process";
|
|
@@ -8,40 +8,40 @@ import {
|
|
|
8
8
|
openCodePluginDir,
|
|
9
9
|
openCodePluginFile,
|
|
10
10
|
removeOpenCodeMcpServer
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-AHV4LNB5.js";
|
|
12
12
|
import {
|
|
13
13
|
compatibleConfigFile,
|
|
14
14
|
compatibleMcpFile,
|
|
15
15
|
compatiblePermissionRuleFile,
|
|
16
16
|
removeCompatibleHooks,
|
|
17
17
|
removeCompatibleMcpServer
|
|
18
|
-
} from "../chunk-
|
|
18
|
+
} from "../chunk-J5TIV3J6.js";
|
|
19
19
|
import {
|
|
20
20
|
isClaudeMcpSnapshot,
|
|
21
21
|
removeClaudeMcpServers,
|
|
22
22
|
removePusharySettings,
|
|
23
23
|
removePusharyToolPermissions,
|
|
24
24
|
restoreClaudeMcpServer
|
|
25
|
-
} from "../chunk-
|
|
25
|
+
} from "../chunk-AXPCESYO.js";
|
|
26
26
|
import {
|
|
27
27
|
removeGeminiSettings
|
|
28
|
-
} from "../chunk-
|
|
29
|
-
import "../chunk-
|
|
28
|
+
} from "../chunk-3EVPNIBE.js";
|
|
29
|
+
import "../chunk-CULUZTWQ.js";
|
|
30
30
|
import "../chunk-N6IOSZOE.js";
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
33
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-EPCXUP3P.js";
|
|
32
|
+
import "../chunk-NGDD6TXY.js";
|
|
33
|
+
import "../chunk-CVQYGMSR.js";
|
|
34
34
|
import "../chunk-POFBE6ZY.js";
|
|
35
35
|
import {
|
|
36
36
|
exitOnHelpFlag
|
|
37
|
-
} from "../chunk-
|
|
38
|
-
import "../chunk-
|
|
39
|
-
import "../chunk-
|
|
40
|
-
import "../chunk-
|
|
41
|
-
import "../chunk-
|
|
37
|
+
} from "../chunk-HZVVNGEW.js";
|
|
38
|
+
import "../chunk-M5ICYGHT.js";
|
|
39
|
+
import "../chunk-2ABTSGFT.js";
|
|
40
|
+
import "../chunk-2OY3ZZ5N.js";
|
|
41
|
+
import "../chunk-LXQ5FBBD.js";
|
|
42
42
|
import "../chunk-7QLSKOSU.js";
|
|
43
43
|
import "../chunk-KZERVKTD.js";
|
|
44
|
-
import "../chunk-
|
|
44
|
+
import "../chunk-DB3ONZB4.js";
|
|
45
45
|
import {
|
|
46
46
|
claudeJson,
|
|
47
47
|
claudeMcpReceipt,
|
|
@@ -55,14 +55,14 @@ import {
|
|
|
55
55
|
geminiSettings,
|
|
56
56
|
removeCodexHooks,
|
|
57
57
|
removeCodexSettings
|
|
58
|
-
} from "../chunk-
|
|
58
|
+
} from "../chunk-A2A2YTMG.js";
|
|
59
59
|
import "../chunk-T7E75EKA.js";
|
|
60
|
-
import "../chunk-
|
|
61
|
-
import "../chunk-
|
|
60
|
+
import "../chunk-GPEGOGRJ.js";
|
|
61
|
+
import "../chunk-E4FJTUH4.js";
|
|
62
62
|
import {
|
|
63
63
|
DISCONNECTABLE_AGENTS,
|
|
64
64
|
hookCompatibleProfileBySource
|
|
65
|
-
} from "../chunk-
|
|
65
|
+
} from "../chunk-NQTHFF4W.js";
|
|
66
66
|
|
|
67
67
|
// bin/pushary-disconnect.ts
|
|
68
68
|
import { readdirSync, readFileSync, rmSync, writeFileSync } from "fs";
|
|
@@ -4,65 +4,56 @@ import {
|
|
|
4
4
|
} from "../chunk-CVWG2N3Y.js";
|
|
5
5
|
import {
|
|
6
6
|
readServiceExecPath,
|
|
7
|
-
retryAgentCommand,
|
|
8
7
|
versionManagerOf
|
|
9
|
-
} from "../chunk-
|
|
8
|
+
} from "../chunk-GU3EJCVV.js";
|
|
10
9
|
import {
|
|
11
10
|
assessCodexHookTrust,
|
|
12
11
|
readCodexTrustForPusharyHooks
|
|
13
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-RHR6NARM.js";
|
|
14
13
|
import {
|
|
15
14
|
readMachineReadiness,
|
|
16
15
|
readManagedControlEvidence
|
|
17
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-DE4Y6TCC.js";
|
|
18
17
|
import {
|
|
19
18
|
FX_PROFILE_REFUSALS,
|
|
20
19
|
FX_PUSHARY_TOOLS_RULE,
|
|
21
20
|
FX_QUESTION_TOOL,
|
|
22
|
-
FX_SETTINGS_REFUSALS,
|
|
23
21
|
HERMES_PIP_PACKAGE,
|
|
24
22
|
HERMES_PLUGIN_NAME,
|
|
25
23
|
agentProbes,
|
|
26
24
|
detectAgent,
|
|
27
25
|
detectAllAgents,
|
|
28
|
-
fxBridgeTargetOf,
|
|
29
|
-
fxPusharyEntryOf,
|
|
30
|
-
fxQuestionRouting,
|
|
31
26
|
hasInstructionBlock,
|
|
32
27
|
hermesWiredByPushary,
|
|
28
|
+
inspectFxInstallation,
|
|
33
29
|
isDetected,
|
|
34
|
-
isFxPusharyEntry,
|
|
35
30
|
isPluginRegistered,
|
|
36
|
-
pusharyToolsAllowed,
|
|
37
|
-
readFxFile,
|
|
38
|
-
readFxProfile,
|
|
39
|
-
readFxSettings,
|
|
40
31
|
readHermesStatus,
|
|
41
32
|
resolveHermesPython,
|
|
33
|
+
retryAgentCommand,
|
|
42
34
|
shortenHome,
|
|
43
|
-
vscodeSettingsTargets
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
import "../chunk-TVJYGZXB.js";
|
|
35
|
+
vscodeSettingsTargets
|
|
36
|
+
} from "../chunk-MDEPU45E.js";
|
|
37
|
+
import "../chunk-SLFABHW3.js";
|
|
47
38
|
import {
|
|
48
39
|
OPENCODE_PLUGIN_PLACEHOLDER,
|
|
49
40
|
openCodePluginDir,
|
|
50
41
|
openCodePluginFile,
|
|
51
42
|
openCodeWired
|
|
52
|
-
} from "../chunk-
|
|
43
|
+
} from "../chunk-AHV4LNB5.js";
|
|
53
44
|
import {
|
|
54
45
|
compatibleConfigFile,
|
|
55
46
|
compatibleInstructionsFile,
|
|
56
47
|
compatibleMcpFile,
|
|
57
48
|
hasCompatibleHooks,
|
|
58
49
|
missingCompatibleHookEvents
|
|
59
|
-
} from "../chunk-
|
|
60
|
-
import "../chunk-
|
|
50
|
+
} from "../chunk-J5TIV3J6.js";
|
|
51
|
+
import "../chunk-AXPCESYO.js";
|
|
61
52
|
import {
|
|
62
53
|
detectProviderLiveCapabilities,
|
|
63
54
|
hasSpawnProvider,
|
|
64
55
|
resolveControlPolicy
|
|
65
|
-
} from "../chunk-
|
|
56
|
+
} from "../chunk-HQ6G3B5R.js";
|
|
66
57
|
import {
|
|
67
58
|
AUTO_UPDATE_DISABLE_ENV,
|
|
68
59
|
autoUpdateOffReason,
|
|
@@ -70,16 +61,16 @@ import {
|
|
|
70
61
|
describeAutoUpdateCheck,
|
|
71
62
|
readAutoUpdateState,
|
|
72
63
|
takeAutoUpdateAnnouncement
|
|
73
|
-
} from "../chunk-
|
|
64
|
+
} from "../chunk-UI36QSBI.js";
|
|
74
65
|
import {
|
|
75
66
|
readLedgerSummary
|
|
76
|
-
} from "../chunk-
|
|
67
|
+
} from "../chunk-JU6W3XAU.js";
|
|
77
68
|
import {
|
|
78
69
|
describeBridgeResolution,
|
|
79
70
|
isBridgeLocator,
|
|
80
71
|
liveBridgeProbe,
|
|
81
72
|
resolveBridgeStub
|
|
82
|
-
} from "../chunk-
|
|
73
|
+
} from "../chunk-C2WCPBF7.js";
|
|
83
74
|
import {
|
|
84
75
|
claudeOtherHolders,
|
|
85
76
|
claudeUnprovenHolds,
|
|
@@ -96,7 +87,7 @@ import {
|
|
|
96
87
|
geminiWired,
|
|
97
88
|
holdsLong,
|
|
98
89
|
pusharyHookExecutable
|
|
99
|
-
} from "../chunk-
|
|
90
|
+
} from "../chunk-6J2JC2RT.js";
|
|
100
91
|
import {
|
|
101
92
|
daemonHasRemoteProof,
|
|
102
93
|
daemonServiceManagerAvailable,
|
|
@@ -105,18 +96,18 @@ import {
|
|
|
105
96
|
readDaemonNeedsLogin,
|
|
106
97
|
readDaemonStatus,
|
|
107
98
|
readInstalledDaemonService
|
|
108
|
-
} from "../chunk-
|
|
99
|
+
} from "../chunk-WE2J62NC.js";
|
|
109
100
|
import {
|
|
110
101
|
GEMINI_HOOK_BINARY,
|
|
111
102
|
hasGeminiHooks,
|
|
112
103
|
missingGeminiHookEvents
|
|
113
|
-
} from "../chunk-
|
|
104
|
+
} from "../chunk-3EVPNIBE.js";
|
|
114
105
|
import "../chunk-XHKBHWLX.js";
|
|
115
|
-
import "../chunk-
|
|
106
|
+
import "../chunk-CULUZTWQ.js";
|
|
116
107
|
import "../chunk-N6IOSZOE.js";
|
|
117
|
-
import "../chunk-
|
|
118
|
-
import "../chunk-
|
|
119
|
-
import "../chunk-
|
|
108
|
+
import "../chunk-EPCXUP3P.js";
|
|
109
|
+
import "../chunk-NGDD6TXY.js";
|
|
110
|
+
import "../chunk-CVQYGMSR.js";
|
|
120
111
|
import "../chunk-POFBE6ZY.js";
|
|
121
112
|
import {
|
|
122
113
|
describeReach,
|
|
@@ -125,7 +116,7 @@ import {
|
|
|
125
116
|
reachVerdict,
|
|
126
117
|
roundTripEvidence,
|
|
127
118
|
verifyRoundTrip
|
|
128
|
-
} from "../chunk-
|
|
119
|
+
} from "../chunk-M5JDZ45W.js";
|
|
129
120
|
import "../chunk-3EGEA4KH.js";
|
|
130
121
|
import "../chunk-QCGNGEGE.js";
|
|
131
122
|
import {
|
|
@@ -133,7 +124,7 @@ import {
|
|
|
133
124
|
} from "../chunk-U4TMAANR.js";
|
|
134
125
|
import {
|
|
135
126
|
exitOnHelpFlag
|
|
136
|
-
} from "../chunk-
|
|
127
|
+
} from "../chunk-HZVVNGEW.js";
|
|
137
128
|
import {
|
|
138
129
|
parseFlags
|
|
139
130
|
} from "../chunk-GMXKITVA.js";
|
|
@@ -141,26 +132,26 @@ import {
|
|
|
141
132
|
keyPrefix,
|
|
142
133
|
readControlMode,
|
|
143
134
|
readKeySource
|
|
144
|
-
} from "../chunk-
|
|
135
|
+
} from "../chunk-P7WQEVWA.js";
|
|
145
136
|
import {
|
|
146
137
|
callMcpTool,
|
|
147
138
|
sendMcpRequest
|
|
148
|
-
} from "../chunk-
|
|
139
|
+
} from "../chunk-M5ICYGHT.js";
|
|
149
140
|
import {
|
|
150
141
|
checkApiKey,
|
|
151
142
|
describeKeyCheck
|
|
152
|
-
} from "../chunk-
|
|
153
|
-
import "../chunk-
|
|
143
|
+
} from "../chunk-2ABTSGFT.js";
|
|
144
|
+
import "../chunk-2OY3ZZ5N.js";
|
|
154
145
|
import {
|
|
155
146
|
getMachineId
|
|
156
|
-
} from "../chunk-
|
|
147
|
+
} from "../chunk-LXQ5FBBD.js";
|
|
157
148
|
import {
|
|
158
149
|
UsageError
|
|
159
150
|
} from "../chunk-7QLSKOSU.js";
|
|
160
151
|
import {
|
|
161
152
|
EXIT
|
|
162
153
|
} from "../chunk-KZERVKTD.js";
|
|
163
|
-
import "../chunk-
|
|
154
|
+
import "../chunk-DB3ONZB4.js";
|
|
164
155
|
import {
|
|
165
156
|
CODEX_HOOK_EVENTS,
|
|
166
157
|
autoUpdateState,
|
|
@@ -176,7 +167,6 @@ import {
|
|
|
176
167
|
cursorPluginDir,
|
|
177
168
|
cursorUserHooks,
|
|
178
169
|
cursorUserMcp,
|
|
179
|
-
execNpm,
|
|
180
170
|
fetchLatestPublishedVersion,
|
|
181
171
|
fxMcpProfile,
|
|
182
172
|
fxSettings,
|
|
@@ -188,16 +178,17 @@ import {
|
|
|
188
178
|
missingCodexHookEvents,
|
|
189
179
|
pusharyConfigFile,
|
|
190
180
|
readCodexMcpAuth,
|
|
181
|
+
readGlobalCliInstall,
|
|
191
182
|
resolvePathBinary,
|
|
192
183
|
vscodePluginDir
|
|
193
|
-
} from "../chunk-
|
|
184
|
+
} from "../chunk-A2A2YTMG.js";
|
|
194
185
|
import "../chunk-T7E75EKA.js";
|
|
195
186
|
import {
|
|
196
187
|
getBaseUrl
|
|
197
|
-
} from "../chunk-
|
|
188
|
+
} from "../chunk-GPEGOGRJ.js";
|
|
198
189
|
import {
|
|
199
190
|
NPX_LATEST_COMMAND
|
|
200
|
-
} from "../chunk-
|
|
191
|
+
} from "../chunk-E4FJTUH4.js";
|
|
201
192
|
import {
|
|
202
193
|
AGENTS,
|
|
203
194
|
CURSOR_GATE_EVENTS,
|
|
@@ -206,12 +197,13 @@ import {
|
|
|
206
197
|
HOOK_SOURCES,
|
|
207
198
|
SUPPORT_DISCORD,
|
|
208
199
|
SUPPORT_EMAIL,
|
|
200
|
+
commandsPackage,
|
|
209
201
|
getPackageVersion,
|
|
210
202
|
hookActivationResult,
|
|
211
203
|
hookCompatibleProfile,
|
|
212
204
|
isHookActivationReport,
|
|
213
205
|
isNewerVersion
|
|
214
|
-
} from "../chunk-
|
|
206
|
+
} from "../chunk-NQTHFF4W.js";
|
|
215
207
|
|
|
216
208
|
// bin/pushary-doctor.ts
|
|
217
209
|
import { existsSync, readFileSync, writeFileSync } from "fs";
|
|
@@ -221,6 +213,33 @@ import { execFileSync } from "child_process";
|
|
|
221
213
|
import { confirm } from "@inquirer/prompts";
|
|
222
214
|
import { parse as parseTOML } from "smol-toml";
|
|
223
215
|
|
|
216
|
+
// src/diagnostics/global-package.ts
|
|
217
|
+
var NOT_FOUND = "not found";
|
|
218
|
+
var NPM_PREFIX_UNREADABLE = "not found (npm could not report its global prefix)";
|
|
219
|
+
var BOTH_INSTALLED_WARNING = "npm uninstall -g of either name removes every Pushary command";
|
|
220
|
+
var describeInstalledPackage = (installed2) => installed2.version === void 0 ? `${installed2.name}, version unreadable` : `${installed2.name} ${installed2.version}`;
|
|
221
|
+
var describeCommandOwner = (owner) => owner.kind === "owned" ? `the commands run from ${owner.name}` : "which one owns the commands could not be read";
|
|
222
|
+
var globalPackageCheck = (install) => {
|
|
223
|
+
switch (install.kind) {
|
|
224
|
+
case "unavailable":
|
|
225
|
+
return { ok: false, detail: NPM_PREFIX_UNREADABLE, commands: void 0 };
|
|
226
|
+
case "absent":
|
|
227
|
+
return { ok: false, detail: NOT_FOUND, commands: void 0 };
|
|
228
|
+
case "single":
|
|
229
|
+
return {
|
|
230
|
+
ok: install.installed.version !== void 0,
|
|
231
|
+
detail: describeInstalledPackage(install.installed),
|
|
232
|
+
commands: install.installed
|
|
233
|
+
};
|
|
234
|
+
case "both":
|
|
235
|
+
return {
|
|
236
|
+
ok: false,
|
|
237
|
+
detail: `both installed: ${install.installed.map(describeInstalledPackage).join(" and ")}; ${describeCommandOwner(install.owner)}; ${BOTH_INSTALLED_WARNING}`,
|
|
238
|
+
commands: commandsPackage(install)
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
|
|
224
243
|
// src/diagnostics/auto-update.ts
|
|
225
244
|
var globalPackageFreshness = (installed2, latest) => isNewerVersion(latest, installed2) ? { upToDate: false, detail: `${installed2} installed, ${latest} available \u2014 run ${NPX_LATEST_COMMAND} upgrade` } : { upToDate: true, detail: installed2 };
|
|
226
245
|
var AUTO_UPDATE_ON = "on: once a day at session start, within the same major version";
|
|
@@ -254,22 +273,21 @@ var describeAutoUpdateStatus = (input) => {
|
|
|
254
273
|
|
|
255
274
|
// src/diagnostics/bundle.ts
|
|
256
275
|
import { homedir, hostname } from "os";
|
|
257
|
-
var
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
return null;
|
|
262
|
-
}
|
|
276
|
+
var installedGlobalPackages = (install) => {
|
|
277
|
+
if (install.kind === "single") return [install.installed];
|
|
278
|
+
if (install.kind === "both") return install.installed;
|
|
279
|
+
return [];
|
|
263
280
|
};
|
|
264
281
|
var collectBundle = async (options2 = {}) => {
|
|
265
282
|
const now = options2.now ?? (() => /* @__PURE__ */ new Date());
|
|
266
|
-
const
|
|
283
|
+
const globalInstall = (options2.readGlobalInstall ?? readGlobalCliInstall)();
|
|
267
284
|
const source = readKeySource();
|
|
268
285
|
const identity = options2.identity ?? null;
|
|
269
286
|
return {
|
|
270
287
|
generatedAt: now().toISOString(),
|
|
271
288
|
cliVersion: getPackageVersion(),
|
|
272
|
-
globalVersion:
|
|
289
|
+
globalVersion: commandsPackage(globalInstall)?.version ?? null,
|
|
290
|
+
globalPackages: installedGlobalPackages(globalInstall),
|
|
273
291
|
node: process.version,
|
|
274
292
|
platform: process.platform,
|
|
275
293
|
arch: process.arch,
|
|
@@ -483,12 +501,6 @@ var reportHermesStatus = (status) => {
|
|
|
483
501
|
if (status.questionsRouted) check(true, "Hermes: questions go through Pushary", `clarify is off in ${config}`);
|
|
484
502
|
else console.log(` ${warn} Hermes: questions can stop in the terminal ${dim(`(clarify is not in agent.disabled_toolsets in ${config})`)}`);
|
|
485
503
|
};
|
|
486
|
-
var fxSettingsProblem = (read) => {
|
|
487
|
-
if (read.kind === "missing") return `${fxSettings()} is missing, so fx runs with no Pushary rules; re-run ${retryAgentCommand("fx")}`;
|
|
488
|
-
if (read.kind === "unreadable") return `${fxSettings()} could not be read`;
|
|
489
|
-
if (read.kind === "refused") return `${fxSettings()} ${FX_SETTINGS_REFUSALS[read.reason]}`;
|
|
490
|
-
return null;
|
|
491
|
-
};
|
|
492
504
|
var FX_QUESTION_ROUTING_WARNINGS = {
|
|
493
505
|
"full-access": "full-access mode ignores permission rules, so fx's terminal question tool stays on; its instructions ask it to use Pushary instead",
|
|
494
506
|
overridden: `a rule in ${fxSettings()} keeps ${FX_QUESTION_TOOL} on; make "${FX_QUESTION_TOOL}": "deny" the last rule that matches it`
|
|
@@ -1112,27 +1124,25 @@ var main = async () => {
|
|
|
1112
1124
|
} else {
|
|
1113
1125
|
skipped("OpenCode", installed("opencode") ? "installed, but Pushary is not set up for it" : "not installed");
|
|
1114
1126
|
}
|
|
1115
|
-
const
|
|
1116
|
-
const
|
|
1117
|
-
if (
|
|
1127
|
+
const fx = inspectFxInstallation(fxMcpProfile(), fxSettings(), process.env);
|
|
1128
|
+
const fxProfile = fx.profile;
|
|
1129
|
+
if (fx.configured) {
|
|
1118
1130
|
checking("fx");
|
|
1119
1131
|
check(true, "fx: Pushary MCP server configured", fxMcpProfile());
|
|
1120
|
-
const bridge =
|
|
1132
|
+
const bridge = fx.bridge;
|
|
1121
1133
|
if (bridge) {
|
|
1122
1134
|
const found = fxBridgeFound(bridge);
|
|
1123
1135
|
check(found, "fx: bridge binary resolves", found ? bridge : `${bridge} is not installed or not on PATH \u2014 re-run ${retryAgentCommand("fx")}`);
|
|
1124
1136
|
}
|
|
1125
|
-
const
|
|
1126
|
-
const settingsProblem = fxSettingsProblem(fxSettingsRead);
|
|
1127
|
-
const fxSettings2 = fxSettingsRead.kind === "settings" ? fxSettingsRead.settings : {};
|
|
1137
|
+
const settingsProblem = fx.settingsProblem;
|
|
1128
1138
|
if (settingsProblem) {
|
|
1129
1139
|
console.log(` ${warn} fx: Pushary tools are not auto-allowed and questions can still stop in the terminal ${dim(`(${settingsProblem})`)}`);
|
|
1130
|
-
} else if (!
|
|
1140
|
+
} else if (!fx.toolsAllowed) {
|
|
1131
1141
|
console.log(` ${warn} fx: Pushary tools are not auto-allowed ${dim(`(fx will review or prompt for each call; add "${FX_PUSHARY_TOOLS_RULE}": "allow" to permission in ${fxSettings()})`)}`);
|
|
1132
1142
|
}
|
|
1133
|
-
const questionRouting =
|
|
1143
|
+
const questionRouting = fx.questionRouting;
|
|
1134
1144
|
if (settingsProblem === null) reportFxQuestionRouting(questionRouting);
|
|
1135
|
-
const workspacesShowingQuestions =
|
|
1145
|
+
const workspacesShowingQuestions = fx.workspacesShowingQuestions;
|
|
1136
1146
|
if (workspacesShowingQuestions.length > 0) {
|
|
1137
1147
|
console.log(` ${warn} fx: ${workspacesShowingQuestions.length} workspace(s) replace the global rules and keep ${FX_QUESTION_TOOL} on ${dim(`(add "${FX_QUESTION_TOOL}": "deny" to their permission rules in ${fxSettings()})`)}`);
|
|
1138
1148
|
}
|
|
@@ -1164,17 +1174,13 @@ var main = async () => {
|
|
|
1164
1174
|
if (claudeInPlay) {
|
|
1165
1175
|
check(existsSync(SKILL_PATH), "Skill installed", existsSync(SKILL_PATH) ? SKILL_PATH : "not found");
|
|
1166
1176
|
}
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
}
|
|
1173
|
-
check(!!globalVersion2, "Global package installed", globalVersion2 || "not found");
|
|
1174
|
-
if (globalVersion2) {
|
|
1175
|
-
const latest = await fetchLatestPublishedVersion();
|
|
1177
|
+
const globalPackage = globalPackageCheck(readGlobalCliInstall());
|
|
1178
|
+
const globalVersion = globalPackage.commands?.version ?? "";
|
|
1179
|
+
check(globalPackage.ok, "Global package installed", globalPackage.detail);
|
|
1180
|
+
if (globalPackage.commands && globalVersion) {
|
|
1181
|
+
const latest = await fetchLatestPublishedVersion({ packageName: globalPackage.commands.name });
|
|
1176
1182
|
if (latest) {
|
|
1177
|
-
const freshness = globalPackageFreshness(
|
|
1183
|
+
const freshness = globalPackageFreshness(globalVersion, latest);
|
|
1178
1184
|
check(freshness.upToDate, "Global package up to date", freshness.detail);
|
|
1179
1185
|
}
|
|
1180
1186
|
}
|
|
@@ -1194,7 +1200,7 @@ var main = async () => {
|
|
|
1194
1200
|
}
|
|
1195
1201
|
});
|
|
1196
1202
|
if (aliasRc) {
|
|
1197
|
-
if (
|
|
1203
|
+
if (globalVersion) {
|
|
1198
1204
|
check(true, "claude alias \u2192 pushary claude", `set in ${aliasRc.split("/").pop()}`);
|
|
1199
1205
|
} else {
|
|
1200
1206
|
check(false, "claude alias \u2192 pushary claude", "alias is set but pushary is not installed \u2014 run `unalias claude` (this shell) or reinstall");
|