@pushary/agent-hooks 1.6.4 → 1.7.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.
Files changed (98) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +3 -2
  3. package/dist/bin/pushary-bell-hook.js +23 -24
  4. package/dist/bin/pushary-bell.js +9 -10
  5. package/dist/bin/pushary-claude.js +27 -28
  6. package/dist/bin/pushary-clean.js +85 -28
  7. package/dist/bin/pushary-codex-bridge.js +17 -18
  8. package/dist/bin/pushary-codex-hook.js +30 -31
  9. package/dist/bin/pushary-codex.js +12 -13
  10. package/dist/bin/pushary-connect.js +13 -14
  11. package/dist/bin/pushary-cowork.js +5 -6
  12. package/dist/bin/pushary-daemon.js +27 -28
  13. package/dist/bin/pushary-disconnect.js +17 -18
  14. package/dist/bin/pushary-doctor.js +71 -36
  15. package/dist/bin/pushary-elicitation-hook.js +24 -25
  16. package/dist/bin/pushary-gemini-bridge.js +12 -13
  17. package/dist/bin/pushary-gemini-hook.js +27 -28
  18. package/dist/bin/pushary-hook.js +31 -32
  19. package/dist/bin/pushary-login.js +13 -15
  20. package/dist/bin/pushary-logout.js +7 -8
  21. package/dist/bin/pushary-mcp.d.ts +1 -0
  22. package/dist/bin/pushary-mcp.js +56 -0
  23. package/dist/bin/pushary-mode.js +9 -10
  24. package/dist/bin/pushary-notification-hook.js +27 -28
  25. package/dist/bin/pushary-opencode-hook.js +26 -27
  26. package/dist/bin/pushary-permission-denied-hook.js +31 -32
  27. package/dist/bin/pushary-permission-hook.js +30 -31
  28. package/dist/bin/pushary-post-hook.js +27 -28
  29. package/dist/bin/pushary-prompt-hook.js +27 -28
  30. package/dist/bin/pushary-session-end-hook.js +27 -28
  31. package/dist/bin/pushary-session-start-hook.js +31 -32
  32. package/dist/bin/pushary-setup.js +183 -73
  33. package/dist/bin/pushary-stats.js +5 -6
  34. package/dist/bin/pushary-status.js +15 -16
  35. package/dist/bin/pushary-stop-hook.js +27 -28
  36. package/dist/bin/pushary-stopfailure-hook.js +27 -28
  37. package/dist/bin/pushary-suggestions.js +4 -4
  38. package/dist/bin/pushary-transcript-register.js +19 -20
  39. package/dist/bin/pushary-transcripts.js +7 -8
  40. package/dist/bin/pushary-upgrade.js +20 -21
  41. package/dist/bin/pushary-wait.js +9 -10
  42. package/dist/bin/pushary.js +6 -7
  43. package/dist/{chunk-5UWV5GHM.js → chunk-2C7CCWVX.js} +1 -1
  44. package/dist/{chunk-P4BNYJ5Q.js → chunk-2PS6QWDW.js} +2 -2
  45. package/dist/{chunk-JOGA3TL2.js → chunk-4F46VIEE.js} +6 -6
  46. package/dist/{chunk-NYMPLNV3.js → chunk-52NVBNJT.js} +3 -3
  47. package/dist/{chunk-I3XJATMR.js → chunk-5HLTWFJ6.js} +1 -1
  48. package/dist/{chunk-HUB4Q35G.js → chunk-6ADZQFVW.js} +1 -1
  49. package/dist/{chunk-OZE2TQX5.js → chunk-73T6MSU5.js} +5 -5
  50. package/dist/{chunk-53DN77WB.js → chunk-7OS4IHGI.js} +2 -2
  51. package/dist/{chunk-BY2CRWBO.js → chunk-B234346F.js} +1 -1
  52. package/dist/{chunk-EA3IELHP.js → chunk-B3UXMSMW.js} +6 -2
  53. package/dist/{chunk-3VZX4NSP.js → chunk-B3YQANFN.js} +1 -1
  54. package/dist/{chunk-VA2R64I7.js → chunk-B76WVEDX.js} +1 -1
  55. package/dist/{chunk-YPONELWS.js → chunk-BBKNJJVX.js} +6 -6
  56. package/dist/{chunk-XOMH53NB.js → chunk-BH2SKSSK.js} +1 -1
  57. package/dist/{chunk-P4UYILQK.js → chunk-BWYJ6AAF.js} +2 -2
  58. package/dist/{chunk-I2YUMZLE.js → chunk-CVALVGA7.js} +1 -1
  59. package/dist/{chunk-6NLWK6ZV.js → chunk-D6BULEJW.js} +2 -2
  60. package/dist/{chunk-N62KAMMY.js → chunk-DANOZVZK.js} +1 -1
  61. package/dist/{chunk-K32C2RGK.js → chunk-DNJUSFBL.js} +11 -5
  62. package/dist/{chunk-5U3FJ6YF.js → chunk-DVQDPI3T.js} +8 -8
  63. package/dist/{chunk-YUGGNZSF.js → chunk-DZURML2D.js} +1 -1
  64. package/dist/{chunk-D3K2FPPJ.js → chunk-EAQMWJPG.js} +8 -8
  65. package/dist/{chunk-EREBZHN2.js → chunk-EGKXSQCY.js} +4 -4
  66. package/dist/{chunk-XJG2FUWS.js → chunk-HDRNWNVP.js} +6 -6
  67. package/dist/{chunk-H6XU22TN.js → chunk-IJ6ECPA6.js} +8 -8
  68. package/dist/{chunk-3LU74H52.js → chunk-J2355HR7.js} +1 -1
  69. package/dist/{chunk-BJENQBMH.js → chunk-JNXVOU6Y.js} +8 -4
  70. package/dist/{chunk-GBL4BTG3.js → chunk-JXUAXO74.js} +2 -2
  71. package/dist/{chunk-DESAUCH2.js → chunk-KW2RRR7D.js} +4 -6
  72. package/dist/{chunk-66H2QQAK.js → chunk-KXMZMZD3.js} +1 -1
  73. package/dist/{chunk-ZA5UXRNE.js → chunk-KYQXUGH7.js} +3 -3
  74. package/dist/{chunk-NFH73H5B.js → chunk-L4H2Q2S4.js} +276 -19
  75. package/dist/{chunk-LDRGVXLR.js → chunk-LEZFOTMI.js} +1 -1
  76. package/dist/{chunk-PBKEYMAO.js → chunk-O2LEPIU6.js} +1 -1
  77. package/dist/{chunk-YXPGFRRW.js → chunk-PQ4F64M2.js} +3 -3
  78. package/dist/{chunk-LFMOYHPY.js → chunk-PUDBG3GM.js} +1 -1
  79. package/dist/{chunk-YQMFGWBD.js → chunk-QXAK5RFU.js} +1 -1
  80. package/dist/{chunk-5SWQZ6HY.js → chunk-R2XCLT6I.js} +4 -4
  81. package/dist/{chunk-VHNDE3ZD.js → chunk-ROQK7IN3.js} +2 -2
  82. package/dist/{chunk-GU3EJCVV.js → chunk-S3UD4V6W.js} +39 -0
  83. package/dist/{chunk-PJF7L7AA.js → chunk-SQRWHALT.js} +2 -2
  84. package/dist/{chunk-UAP556WK.js → chunk-UC65FJJT.js} +2 -2
  85. package/dist/{chunk-R4HVHTNA.js → chunk-UOAQ6QMP.js} +2 -2
  86. package/dist/{chunk-OSJEMXSR.js → chunk-V4AQBAVG.js} +1 -1
  87. package/dist/{chunk-VOCZHOXV.js → chunk-V6QRSU2G.js} +4 -4
  88. package/dist/{chunk-LQI7W4RG.js → chunk-VKVIAZQO.js} +1 -1
  89. package/dist/{chunk-LJEL7IB5.js → chunk-WUNZAE7I.js} +5 -5
  90. package/dist/{chunk-UGKDBJJX.js → chunk-X6KDKOV5.js} +3 -3
  91. package/dist/{chunk-DZTKLE7Q.js → chunk-XNCMT7YY.js} +1 -1
  92. package/dist/{chunk-CAS7GFWI.js → chunk-YROGUPOZ.js} +75 -5
  93. package/dist/chunk-YYINL576.js +120 -0
  94. package/dist/{chunk-7CLTSZOL.js → chunk-ZQ7IDOKY.js} +3 -3
  95. package/dist/{reapply-4DAJKNVP.js → reapply-6PH3FMPX.js} +9 -10
  96. package/dist/src/index.js +19 -20
  97. package/package.json +2 -1
  98. package/dist/chunk-HWJW3CPO.js +0 -65
@@ -1,33 +1,32 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  reportEvent
4
- } from "../chunk-H6XU22TN.js";
5
- import "../chunk-YUGGNZSF.js";
4
+ } from "../chunk-IJ6ECPA6.js";
5
+ import "../chunk-DZURML2D.js";
6
6
  import {
7
7
  askUser,
8
8
  isDecisionStopped,
9
9
  waitForAnswer
10
- } from "../chunk-EREBZHN2.js";
11
- import "../chunk-VOCZHOXV.js";
10
+ } from "../chunk-EGKXSQCY.js";
11
+ import "../chunk-V6QRSU2G.js";
12
12
  import "../chunk-POFBE6ZY.js";
13
- import "../chunk-BJENQBMH.js";
14
- import "../chunk-DESAUCH2.js";
13
+ import "../chunk-JNXVOU6Y.js";
14
+ import "../chunk-KW2RRR7D.js";
15
15
  import {
16
16
  getMachineId
17
- } from "../chunk-DZTKLE7Q.js";
17
+ } from "../chunk-XNCMT7YY.js";
18
18
  import "../chunk-7QLSKOSU.js";
19
19
  import "../chunk-KZERVKTD.js";
20
- import "../chunk-VHNDE3ZD.js";
21
- import "../chunk-K32C2RGK.js";
20
+ import "../chunk-ROQK7IN3.js";
21
+ import "../chunk-DNJUSFBL.js";
22
22
  import "../chunk-T7E75EKA.js";
23
23
  import {
24
24
  getApiKey
25
- } from "../chunk-OSJEMXSR.js";
26
- import "../chunk-CAS7GFWI.js";
25
+ } from "../chunk-V4AQBAVG.js";
27
26
  import {
28
27
  NPX_LATEST_COMMAND
29
- } from "../chunk-EA3IELHP.js";
30
- import "../chunk-HWJW3CPO.js";
28
+ } from "../chunk-B3UXMSMW.js";
29
+ import "../chunk-YROGUPOZ.js";
31
30
 
32
31
  // bin/pushary-codex.ts
33
32
  import { basename } from "path";
@@ -1,45 +1,44 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  printKeyCheck
4
- } from "../chunk-LFMOYHPY.js";
4
+ } from "../chunk-PUDBG3GM.js";
5
5
  import {
6
6
  connectDevice,
7
7
  connectExistingApp,
8
8
  printConnectInstructions
9
- } from "../chunk-XJG2FUWS.js";
9
+ } from "../chunk-HDRNWNVP.js";
10
10
  import "../chunk-3EGEA4KH.js";
11
11
  import {
12
12
  checkApiKey
13
- } from "../chunk-UGKDBJJX.js";
13
+ } from "../chunk-X6KDKOV5.js";
14
14
  import "../chunk-QCGNGEGE.js";
15
15
  import {
16
16
  createIo
17
17
  } from "../chunk-5RUIFDTP.js";
18
18
  import {
19
19
  exitOnHelpFlag
20
- } from "../chunk-P4BNYJ5Q.js";
20
+ } from "../chunk-2PS6QWDW.js";
21
21
  import {
22
22
  parseFlags
23
23
  } from "../chunk-GMXKITVA.js";
24
24
  import {
25
25
  readKeySource
26
- } from "../chunk-R4HVHTNA.js";
27
- import "../chunk-BJENQBMH.js";
28
- import "../chunk-DESAUCH2.js";
29
- import "../chunk-DZTKLE7Q.js";
26
+ } from "../chunk-UOAQ6QMP.js";
27
+ import "../chunk-JNXVOU6Y.js";
28
+ import "../chunk-KW2RRR7D.js";
29
+ import "../chunk-XNCMT7YY.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-VHNDE3ZD.js";
37
- import "../chunk-K32C2RGK.js";
36
+ import "../chunk-ROQK7IN3.js";
37
+ import "../chunk-DNJUSFBL.js";
38
38
  import "../chunk-T7E75EKA.js";
39
- import "../chunk-OSJEMXSR.js";
40
- import "../chunk-CAS7GFWI.js";
41
- import "../chunk-EA3IELHP.js";
42
- import "../chunk-HWJW3CPO.js";
39
+ import "../chunk-V4AQBAVG.js";
40
+ import "../chunk-B3UXMSMW.js";
41
+ import "../chunk-YROGUPOZ.js";
43
42
 
44
43
  // bin/pushary-connect.ts
45
44
  exitOnHelpFlag("connect");
@@ -2,15 +2,15 @@
2
2
  import {
3
3
  coworkOutput,
4
4
  parseCoworkOptions
5
- } from "../chunk-6NLWK6ZV.js";
5
+ } from "../chunk-D6BULEJW.js";
6
6
  import {
7
7
  canOpenBrowser,
8
8
  openInBrowser
9
9
  } from "../chunk-PUZZELE6.js";
10
- import "../chunk-I2YUMZLE.js";
10
+ import "../chunk-CVALVGA7.js";
11
11
  import {
12
12
  exitOnHelpFlag
13
- } from "../chunk-P4BNYJ5Q.js";
13
+ } from "../chunk-2PS6QWDW.js";
14
14
  import "../chunk-GMXKITVA.js";
15
15
  import {
16
16
  UsageError
@@ -18,11 +18,10 @@ import {
18
18
  import {
19
19
  EXIT
20
20
  } from "../chunk-KZERVKTD.js";
21
+ import "../chunk-B3UXMSMW.js";
21
22
  import {
22
23
  CLAUDE_CONNECTOR_GUIDE
23
- } from "../chunk-CAS7GFWI.js";
24
- import "../chunk-EA3IELHP.js";
25
- import "../chunk-HWJW3CPO.js";
24
+ } from "../chunk-YROGUPOZ.js";
26
25
 
27
26
  // bin/pushary-cowork.ts
28
27
  exitOnHelpFlag("cowork");
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  inspectConfiguredManagedProviders
4
- } from "../chunk-YPONELWS.js";
5
- import "../chunk-PBKEYMAO.js";
6
- import "../chunk-53DN77WB.js";
4
+ } from "../chunk-BBKNJJVX.js";
5
+ import "../chunk-O2LEPIU6.js";
6
+ import "../chunk-7OS4IHGI.js";
7
7
  import {
8
8
  HEARTBEAT_INTERVAL_MS,
9
9
  sendHeartbeat
10
- } from "../chunk-JOGA3TL2.js";
11
- import "../chunk-ZA5UXRNE.js";
10
+ } from "../chunk-4F46VIEE.js";
11
+ import "../chunk-KYQXUGH7.js";
12
12
  import {
13
13
  detectProviderLiveCapabilities,
14
14
  hasSpawnProvider,
15
15
  resolveControlPolicy
16
- } from "../chunk-GBL4BTG3.js";
16
+ } from "../chunk-JXUAXO74.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-LDRGVXLR.js";
24
+ } from "../chunk-LEZFOTMI.js";
25
25
  import {
26
26
  startRegisteredTranscripts
27
- } from "../chunk-D3K2FPPJ.js";
27
+ } from "../chunk-EAQMWJPG.js";
28
28
  import "../chunk-SGZJ5LYH.js";
29
- import "../chunk-5SWQZ6HY.js";
30
- import "../chunk-I2YUMZLE.js";
31
- import "../chunk-I3XJATMR.js";
32
- import "../chunk-YXPGFRRW.js";
29
+ import "../chunk-R2XCLT6I.js";
30
+ import "../chunk-CVALVGA7.js";
31
+ import "../chunk-5HLTWFJ6.js";
32
+ import "../chunk-PQ4F64M2.js";
33
33
  import {
34
34
  DAEMON_LEASE_RENEW_INTERVAL_MS,
35
35
  acquireDaemonLease,
@@ -46,47 +46,46 @@ import {
46
46
  requestDaemonHandoff,
47
47
  stopDaemonRunning,
48
48
  writeDaemonNeedsLogin
49
- } from "../chunk-OZE2TQX5.js";
50
- import "../chunk-7CLTSZOL.js";
51
- import "../chunk-LQI7W4RG.js";
52
- import "../chunk-XOMH53NB.js";
53
- import "../chunk-66H2QQAK.js";
54
- import "../chunk-VA2R64I7.js";
49
+ } from "../chunk-73T6MSU5.js";
50
+ import "../chunk-ZQ7IDOKY.js";
51
+ import "../chunk-VKVIAZQO.js";
52
+ import "../chunk-BH2SKSSK.js";
53
+ import "../chunk-KXMZMZD3.js";
54
+ import "../chunk-B76WVEDX.js";
55
55
  import {
56
56
  spawnClaude
57
57
  } from "../chunk-XHKBHWLX.js";
58
- import "../chunk-YUGGNZSF.js";
58
+ import "../chunk-DZURML2D.js";
59
59
  import {
60
60
  writeHuman
61
61
  } from "../chunk-QCGNGEGE.js";
62
62
  import {
63
63
  exitOnHelpFlag
64
- } from "../chunk-P4BNYJ5Q.js";
64
+ } from "../chunk-2PS6QWDW.js";
65
65
  import "../chunk-GMXKITVA.js";
66
66
  import {
67
67
  readControlMode
68
- } from "../chunk-R4HVHTNA.js";
68
+ } from "../chunk-UOAQ6QMP.js";
69
69
  import {
70
70
  getMachineId
71
- } from "../chunk-DZTKLE7Q.js";
71
+ } from "../chunk-XNCMT7YY.js";
72
72
  import "../chunk-7QLSKOSU.js";
73
73
  import {
74
74
  EXIT
75
75
  } from "../chunk-KZERVKTD.js";
76
- import "../chunk-VHNDE3ZD.js";
76
+ import "../chunk-ROQK7IN3.js";
77
77
  import {
78
78
  resolveBinary
79
- } from "../chunk-K32C2RGK.js";
79
+ } from "../chunk-DNJUSFBL.js";
80
80
  import "../chunk-T7E75EKA.js";
81
81
  import {
82
82
  getApiKey,
83
83
  getBaseUrl
84
- } from "../chunk-OSJEMXSR.js";
85
- import "../chunk-CAS7GFWI.js";
84
+ } from "../chunk-V4AQBAVG.js";
86
85
  import {
87
86
  NPX_LATEST_COMMAND
88
- } from "../chunk-EA3IELHP.js";
89
- import "../chunk-HWJW3CPO.js";
87
+ } from "../chunk-B3UXMSMW.js";
88
+ import "../chunk-YROGUPOZ.js";
90
89
 
91
90
  // src/spawn-daemon.ts
92
91
  import { execFileSync, spawn } from "child_process";
@@ -8,38 +8,38 @@ import {
8
8
  openCodePluginDir,
9
9
  openCodePluginFile,
10
10
  removeOpenCodeMcpServer
11
- } from "../chunk-3VZX4NSP.js";
11
+ } from "../chunk-B3YQANFN.js";
12
12
  import {
13
13
  compatibleConfigFile,
14
14
  compatibleMcpFile,
15
15
  compatiblePermissionRuleFile,
16
16
  removeCompatibleHooks,
17
17
  removeCompatibleMcpServer
18
- } from "../chunk-LJEL7IB5.js";
18
+ } from "../chunk-WUNZAE7I.js";
19
19
  import {
20
20
  isClaudeMcpSnapshot,
21
21
  removeClaudeMcpServers,
22
22
  removePusharySettings,
23
23
  removePusharyToolPermissions,
24
24
  restoreClaudeMcpServer
25
- } from "../chunk-ZA5UXRNE.js";
25
+ } from "../chunk-KYQXUGH7.js";
26
26
  import {
27
27
  removeGeminiSettings
28
- } from "../chunk-7CLTSZOL.js";
29
- import "../chunk-H6XU22TN.js";
30
- import "../chunk-YUGGNZSF.js";
31
- import "../chunk-EREBZHN2.js";
32
- import "../chunk-VOCZHOXV.js";
28
+ } from "../chunk-ZQ7IDOKY.js";
29
+ import "../chunk-IJ6ECPA6.js";
30
+ import "../chunk-DZURML2D.js";
31
+ import "../chunk-EGKXSQCY.js";
32
+ import "../chunk-V6QRSU2G.js";
33
33
  import "../chunk-POFBE6ZY.js";
34
34
  import {
35
35
  exitOnHelpFlag
36
- } from "../chunk-P4BNYJ5Q.js";
37
- import "../chunk-BJENQBMH.js";
38
- import "../chunk-DESAUCH2.js";
39
- import "../chunk-DZTKLE7Q.js";
36
+ } from "../chunk-2PS6QWDW.js";
37
+ import "../chunk-JNXVOU6Y.js";
38
+ import "../chunk-KW2RRR7D.js";
39
+ import "../chunk-XNCMT7YY.js";
40
40
  import "../chunk-7QLSKOSU.js";
41
41
  import "../chunk-KZERVKTD.js";
42
- import "../chunk-VHNDE3ZD.js";
42
+ import "../chunk-ROQK7IN3.js";
43
43
  import {
44
44
  claudeJson,
45
45
  claudeMcpReceipt,
@@ -53,15 +53,14 @@ import {
53
53
  geminiSettings,
54
54
  removeCodexHooks,
55
55
  removeCodexSettings
56
- } from "../chunk-K32C2RGK.js";
56
+ } from "../chunk-DNJUSFBL.js";
57
57
  import "../chunk-T7E75EKA.js";
58
- import "../chunk-OSJEMXSR.js";
58
+ import "../chunk-V4AQBAVG.js";
59
+ import "../chunk-B3UXMSMW.js";
59
60
  import {
60
61
  DISCONNECTABLE_AGENTS,
61
62
  hookCompatibleProfileBySource
62
- } from "../chunk-CAS7GFWI.js";
63
- import "../chunk-EA3IELHP.js";
64
- import "../chunk-HWJW3CPO.js";
63
+ } from "../chunk-YROGUPOZ.js";
65
64
 
66
65
  // bin/pushary-disconnect.ts
67
66
  import { readdirSync, readFileSync, rmSync, writeFileSync } from "fs";
@@ -4,48 +4,59 @@ import {
4
4
  } from "../chunk-CVWG2N3Y.js";
5
5
  import {
6
6
  readServiceExecPath,
7
+ retryAgentCommand,
7
8
  versionManagerOf
8
- } from "../chunk-GU3EJCVV.js";
9
+ } from "../chunk-S3UD4V6W.js";
9
10
  import {
10
11
  assessCodexHookTrust,
11
12
  readCodexTrustForPusharyHooks
12
- } from "../chunk-53DN77WB.js";
13
+ } from "../chunk-7OS4IHGI.js";
13
14
  import {
14
15
  readMachineReadiness,
15
16
  readManagedControlEvidence
16
- } from "../chunk-JOGA3TL2.js";
17
+ } from "../chunk-4F46VIEE.js";
17
18
  import {
18
19
  CURSOR_GATE_SCRIPT
19
20
  } from "../chunk-P32LPT2L.js";
20
21
  import {
22
+ FX_PROFILE_REFUSALS,
23
+ FX_PUSHARY_TOOLS_RULE,
21
24
  agentProbes,
22
25
  detectAgent,
23
26
  detectAllAgents,
27
+ fxBridgeTargetOf,
28
+ fxPusharyEntryOf,
24
29
  hasInstructionBlock,
25
30
  isDetected,
31
+ isFxPusharyEntry,
26
32
  isPluginRegistered,
33
+ pusharyToolsAllowed,
34
+ readFxFile,
35
+ readFxProfile,
36
+ readFxSettings,
27
37
  shortenHome,
28
38
  vscodeSettingsTargets
29
- } from "../chunk-NFH73H5B.js";
39
+ } from "../chunk-L4H2Q2S4.js";
40
+ import "../chunk-YYINL576.js";
30
41
  import {
31
42
  OPENCODE_PLUGIN_PLACEHOLDER,
32
43
  openCodePluginDir,
33
44
  openCodePluginFile,
34
45
  openCodeWired
35
- } from "../chunk-3VZX4NSP.js";
46
+ } from "../chunk-B3YQANFN.js";
36
47
  import {
37
48
  compatibleConfigFile,
38
49
  compatibleInstructionsFile,
39
50
  compatibleMcpFile,
40
51
  hasCompatibleHooks,
41
52
  missingCompatibleHookEvents
42
- } from "../chunk-LJEL7IB5.js";
43
- import "../chunk-ZA5UXRNE.js";
53
+ } from "../chunk-WUNZAE7I.js";
54
+ import "../chunk-KYQXUGH7.js";
44
55
  import {
45
56
  detectProviderLiveCapabilities,
46
57
  hasSpawnProvider,
47
58
  resolveControlPolicy
48
- } from "../chunk-GBL4BTG3.js";
59
+ } from "../chunk-JXUAXO74.js";
49
60
  import {
50
61
  AUTO_UPDATE_DISABLE_ENV,
51
62
  autoUpdateOffReason,
@@ -53,16 +64,16 @@ import {
53
64
  describeAutoUpdateCheck,
54
65
  readAutoUpdateState,
55
66
  takeAutoUpdateAnnouncement
56
- } from "../chunk-P4UYILQK.js";
67
+ } from "../chunk-BWYJ6AAF.js";
57
68
  import {
58
69
  readLedgerSummary
59
- } from "../chunk-5UWV5GHM.js";
70
+ } from "../chunk-2C7CCWVX.js";
60
71
  import {
61
72
  describeBridgeResolution,
62
73
  isBridgeLocator,
63
74
  liveBridgeProbe,
64
75
  resolveBridgeStub
65
- } from "../chunk-I3XJATMR.js";
76
+ } from "../chunk-5HLTWFJ6.js";
66
77
  import {
67
78
  claudeOtherHolders,
68
79
  claudeUnprovenHolds,
@@ -79,7 +90,7 @@ import {
79
90
  geminiWired,
80
91
  holdsLong,
81
92
  pusharyHookExecutable
82
- } from "../chunk-YXPGFRRW.js";
93
+ } from "../chunk-PQ4F64M2.js";
83
94
  import {
84
95
  daemonHasRemoteProof,
85
96
  daemonServiceManagerAvailable,
@@ -88,17 +99,17 @@ import {
88
99
  readDaemonNeedsLogin,
89
100
  readDaemonStatus,
90
101
  readInstalledDaemonService
91
- } from "../chunk-OZE2TQX5.js";
102
+ } from "../chunk-73T6MSU5.js";
92
103
  import {
93
104
  GEMINI_HOOK_BINARY,
94
105
  hasGeminiHooks,
95
106
  missingGeminiHookEvents
96
- } from "../chunk-7CLTSZOL.js";
107
+ } from "../chunk-ZQ7IDOKY.js";
97
108
  import "../chunk-XHKBHWLX.js";
98
- import "../chunk-H6XU22TN.js";
99
- import "../chunk-YUGGNZSF.js";
100
- import "../chunk-EREBZHN2.js";
101
- import "../chunk-VOCZHOXV.js";
109
+ import "../chunk-IJ6ECPA6.js";
110
+ import "../chunk-DZURML2D.js";
111
+ import "../chunk-EGKXSQCY.js";
112
+ import "../chunk-V6QRSU2G.js";
102
113
  import "../chunk-POFBE6ZY.js";
103
114
  import {
104
115
  describeReach,
@@ -107,19 +118,19 @@ import {
107
118
  reachVerdict,
108
119
  roundTripEvidence,
109
120
  verifyRoundTrip
110
- } from "../chunk-XJG2FUWS.js";
121
+ } from "../chunk-HDRNWNVP.js";
111
122
  import "../chunk-3EGEA4KH.js";
112
123
  import {
113
124
  checkApiKey,
114
125
  describeKeyCheck
115
- } from "../chunk-UGKDBJJX.js";
126
+ } from "../chunk-X6KDKOV5.js";
116
127
  import "../chunk-QCGNGEGE.js";
117
128
  import {
118
129
  createIo
119
130
  } from "../chunk-5RUIFDTP.js";
120
131
  import {
121
132
  exitOnHelpFlag
122
- } from "../chunk-P4BNYJ5Q.js";
133
+ } from "../chunk-2PS6QWDW.js";
123
134
  import {
124
135
  parseFlags
125
136
  } from "../chunk-GMXKITVA.js";
@@ -127,22 +138,22 @@ import {
127
138
  keyPrefix,
128
139
  readControlMode,
129
140
  readKeySource
130
- } from "../chunk-R4HVHTNA.js";
141
+ } from "../chunk-UOAQ6QMP.js";
131
142
  import {
132
143
  callMcpTool,
133
144
  sendMcpRequest
134
- } from "../chunk-BJENQBMH.js";
135
- import "../chunk-DESAUCH2.js";
145
+ } from "../chunk-JNXVOU6Y.js";
146
+ import "../chunk-KW2RRR7D.js";
136
147
  import {
137
148
  getMachineId
138
- } from "../chunk-DZTKLE7Q.js";
149
+ } from "../chunk-XNCMT7YY.js";
139
150
  import {
140
151
  UsageError
141
152
  } from "../chunk-7QLSKOSU.js";
142
153
  import {
143
154
  EXIT
144
155
  } from "../chunk-KZERVKTD.js";
145
- import "../chunk-VHNDE3ZD.js";
156
+ import "../chunk-ROQK7IN3.js";
146
157
  import {
147
158
  CODEX_HOOK_EVENTS,
148
159
  autoUpdateState,
@@ -160,18 +171,24 @@ import {
160
171
  cursorUserMcp,
161
172
  execNpm,
162
173
  fetchLatestPublishedVersion,
174
+ fxMcpProfile,
175
+ fxSettings,
163
176
  geminiMd,
164
177
  geminiSettings,
165
178
  hasCodexHooks,
166
179
  missingCodexHookEvents,
167
180
  pusharyConfigFile,
168
181
  readCodexMcpAuth,
182
+ resolvePathBinary,
169
183
  vscodePluginDir
170
- } from "../chunk-K32C2RGK.js";
184
+ } from "../chunk-DNJUSFBL.js";
171
185
  import "../chunk-T7E75EKA.js";
172
186
  import {
173
187
  getBaseUrl
174
- } from "../chunk-OSJEMXSR.js";
188
+ } from "../chunk-V4AQBAVG.js";
189
+ import {
190
+ NPX_LATEST_COMMAND
191
+ } from "../chunk-B3UXMSMW.js";
175
192
  import {
176
193
  AGENTS,
177
194
  CURSOR_GATE_EVENTS,
@@ -180,17 +197,12 @@ import {
180
197
  HOOK_SOURCES,
181
198
  SUPPORT_DISCORD,
182
199
  SUPPORT_EMAIL,
200
+ getPackageVersion,
183
201
  hookActivationResult,
184
202
  hookCompatibleProfile,
185
- isHookActivationReport
186
- } from "../chunk-CAS7GFWI.js";
187
- import {
188
- NPX_LATEST_COMMAND
189
- } from "../chunk-EA3IELHP.js";
190
- import {
191
- getPackageVersion,
203
+ isHookActivationReport,
192
204
  isNewerVersion
193
- } from "../chunk-HWJW3CPO.js";
205
+ } from "../chunk-YROGUPOZ.js";
194
206
 
195
207
  // bin/pushary-doctor.ts
196
208
  import { existsSync, readFileSync, writeFileSync } from "fs";
@@ -443,6 +455,11 @@ var CLAUDE_SETTINGS = claudeSettings();
443
455
  var registeredConfigs = () => [CLAUDE_SETTINGS, codexHooksJson(), ...HOOK_COMPATIBLE_PROFILES.map((profile) => compatibleConfigFile(profile))].filter(existsSync).map((file) => ({ file, contents: readFileSync(file, "utf-8") }));
444
456
  var SKILL_PATH = join(claudeSkillDir(), "SKILL.md");
445
457
  var SHELL_FILES = [".zshrc", ".zprofile", ".bashrc", ".bash_profile"].map((f) => join(homedir2(), f));
458
+ var fxAllowsPusharyTools = () => {
459
+ const read = readFxFile(fxSettings(), readFxSettings);
460
+ return read.kind === "settings" && pusharyToolsAllowed(read.settings);
461
+ };
462
+ var fxBridgeFound = (target) => target.includes("/") ? existsSync(target) : resolvePathBinary(target) !== void 0;
446
463
  var readJson = (path) => {
447
464
  try {
448
465
  return JSON.parse(readFileSync(path, "utf-8"));
@@ -1061,6 +1078,24 @@ var main = async () => {
1061
1078
  } else {
1062
1079
  skipped("OpenCode", installed("opencode") ? "installed, but Pushary is not set up for it" : "not installed");
1063
1080
  }
1081
+ const fxProfile = readFxFile(fxMcpProfile(), readFxProfile);
1082
+ const fxEntry = fxProfile.kind === "profile" ? fxPusharyEntryOf(fxProfile.profile) : void 0;
1083
+ if (isFxPusharyEntry(fxEntry)) {
1084
+ checking("fx");
1085
+ check(true, "fx: Pushary MCP server configured", fxMcpProfile());
1086
+ const bridge = fxBridgeTargetOf(fxEntry);
1087
+ if (bridge) {
1088
+ const found = fxBridgeFound(bridge);
1089
+ check(found, "fx: bridge binary resolves", found ? bridge : `${bridge} is not installed or not on PATH \u2014 re-run ${retryAgentCommand("fx")}`);
1090
+ }
1091
+ if (!fxAllowsPusharyTools()) {
1092
+ 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()})`)}`);
1093
+ }
1094
+ } else if (fxProfile.kind === "refused" && installed("fx")) {
1095
+ check(false, "fx: MCP profile", `${fxMcpProfile()} ${FX_PROFILE_REFUSALS[fxProfile.reason]} \u2014 fix it, then run ${retryAgentCommand("fx")}`);
1096
+ } else {
1097
+ skipped("fx", installed("fx") ? "installed, but Pushary is not set up for it" : "not installed");
1098
+ }
1064
1099
  if (bridgeStub) {
1065
1100
  const resolution = resolveBridgeStub(bridgeStub, liveBridgeProbe());
1066
1101
  check(resolution.kind === "bundle", "Mac app behind pushary-bridge", describeBridgeResolution(resolution));
@@ -1,46 +1,47 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-UAP556WK.js";
4
+ } from "../chunk-UC65FJJT.js";
5
5
  import {
6
6
  isDeferAnswer
7
7
  } from "../chunk-YHG74UFF.js";
8
- import "../chunk-D3K2FPPJ.js";
8
+ import "../chunk-EAQMWJPG.js";
9
9
  import "../chunk-SGZJ5LYH.js";
10
- import "../chunk-5SWQZ6HY.js";
11
- import "../chunk-I2YUMZLE.js";
12
- import "../chunk-I3XJATMR.js";
13
- import "../chunk-YXPGFRRW.js";
14
- import "../chunk-OZE2TQX5.js";
15
- import "../chunk-7CLTSZOL.js";
16
- import "../chunk-LQI7W4RG.js";
17
- import "../chunk-XOMH53NB.js";
18
- import "../chunk-66H2QQAK.js";
19
- import "../chunk-VA2R64I7.js";
10
+ import "../chunk-R2XCLT6I.js";
11
+ import "../chunk-CVALVGA7.js";
12
+ import "../chunk-5HLTWFJ6.js";
13
+ import "../chunk-PQ4F64M2.js";
14
+ import "../chunk-73T6MSU5.js";
15
+ import "../chunk-ZQ7IDOKY.js";
16
+ import "../chunk-VKVIAZQO.js";
17
+ import "../chunk-BH2SKSSK.js";
18
+ import "../chunk-KXMZMZD3.js";
19
+ import "../chunk-B76WVEDX.js";
20
20
  import "../chunk-XHKBHWLX.js";
21
- import "../chunk-YUGGNZSF.js";
21
+ import "../chunk-DZURML2D.js";
22
22
  import {
23
23
  askUser,
24
24
  isDecisionStopped,
25
25
  waitForQuestion
26
- } from "../chunk-EREBZHN2.js";
27
- import "../chunk-VOCZHOXV.js";
26
+ } from "../chunk-EGKXSQCY.js";
27
+ import "../chunk-V6QRSU2G.js";
28
28
  import "../chunk-POFBE6ZY.js";
29
29
  import "../chunk-GMXKITVA.js";
30
- import "../chunk-R4HVHTNA.js";
31
- import "../chunk-BJENQBMH.js";
32
- import "../chunk-DESAUCH2.js";
30
+ import "../chunk-UOAQ6QMP.js";
31
+ import "../chunk-JNXVOU6Y.js";
32
+ import "../chunk-KW2RRR7D.js";
33
33
  import {
34
34
  getMachineId
35
- } from "../chunk-DZTKLE7Q.js";
35
+ } from "../chunk-XNCMT7YY.js";
36
36
  import "../chunk-7QLSKOSU.js";
37
37
  import "../chunk-KZERVKTD.js";
38
- import "../chunk-VHNDE3ZD.js";
39
- import "../chunk-K32C2RGK.js";
38
+ import "../chunk-ROQK7IN3.js";
39
+ import "../chunk-DNJUSFBL.js";
40
40
  import "../chunk-T7E75EKA.js";
41
41
  import {
42
42
  getApiKey
43
- } from "../chunk-OSJEMXSR.js";
43
+ } from "../chunk-V4AQBAVG.js";
44
+ import "../chunk-B3UXMSMW.js";
44
45
  import {
45
46
  ELICITATION_ANSWERABLE_MODE,
46
47
  effectiveWaitSeconds,
@@ -51,9 +52,7 @@ import {
51
52
  planElicitationAsk,
52
53
  readElicitationFields,
53
54
  renderElicitationOutput
54
- } from "../chunk-CAS7GFWI.js";
55
- import "../chunk-EA3IELHP.js";
56
- import "../chunk-HWJW3CPO.js";
55
+ } from "../chunk-YROGUPOZ.js";
57
56
 
58
57
  // bin/pushary-elicitation-hook.ts
59
58
  import { basename } from "path";