pushary 1.9.8 → 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.
Files changed (103) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/bin/pushary-bell-hook.js +22 -23
  3. package/dist/bin/pushary-bell.js +13 -13
  4. package/dist/bin/pushary-claude.js +26 -27
  5. package/dist/bin/pushary-clean.js +48 -51
  6. package/dist/bin/pushary-codex-bridge.js +20 -20
  7. package/dist/bin/pushary-codex-hook.js +34 -35
  8. package/dist/bin/pushary-codex.js +13 -13
  9. package/dist/bin/pushary-connect.js +39 -16
  10. package/dist/bin/pushary-cowork.js +5 -5
  11. package/dist/bin/pushary-daemon.js +35 -37
  12. package/dist/bin/pushary-disconnect.js +29 -32
  13. package/dist/bin/pushary-doctor.js +83 -72
  14. package/dist/bin/pushary-elicitation-hook.js +25 -26
  15. package/dist/bin/pushary-gemini-bridge.js +13 -13
  16. package/dist/bin/pushary-gemini-hook.js +29 -30
  17. package/dist/bin/pushary-hook.js +36 -37
  18. package/dist/bin/pushary-login.js +12 -12
  19. package/dist/bin/pushary-logout.js +10 -10
  20. package/dist/bin/pushary-mcp.js +9 -9
  21. package/dist/bin/pushary-mode.js +12 -12
  22. package/dist/bin/pushary-notification-hook.js +29 -30
  23. package/dist/bin/pushary-opencode-hook.js +28 -29
  24. package/dist/bin/pushary-permission-denied-hook.js +30 -31
  25. package/dist/bin/pushary-permission-hook.js +33 -34
  26. package/dist/bin/pushary-post-hook.js +30 -31
  27. package/dist/bin/pushary-prompt-hook.js +29 -30
  28. package/dist/bin/pushary-session-end-hook.js +29 -30
  29. package/dist/bin/pushary-session-start-hook.js +33 -35
  30. package/dist/bin/pushary-setup.js +132 -114
  31. package/dist/bin/pushary-stats.js +5 -5
  32. package/dist/bin/pushary-status.js +48 -18
  33. package/dist/bin/pushary-stop-hook.js +29 -30
  34. package/dist/bin/pushary-stopfailure-hook.js +29 -30
  35. package/dist/bin/pushary-suggestions.js +12 -12
  36. package/dist/bin/pushary-transcript-register.js +18 -19
  37. package/dist/bin/pushary-transcripts.js +7 -7
  38. package/dist/bin/pushary-upgrade.js +38 -44
  39. package/dist/bin/pushary-wait.js +12 -12
  40. package/dist/bin/pushary.js +6 -6
  41. package/dist/{chunk-CLOSJ4ES.js → chunk-462EQA6K.js} +1 -1
  42. package/dist/{chunk-7DVNSQWF.js → chunk-5DCDQ5VW.js} +1 -1
  43. package/dist/{chunk-TCQ43LSG.js → chunk-5N5L6DNN.js} +3 -3
  44. package/dist/{chunk-I5IJRMNV.js → chunk-5RGA636G.js} +21 -9
  45. package/dist/{chunk-MKTJEXZ3.js → chunk-6AYSKVLL.js} +3 -3
  46. package/dist/{chunk-MXHTGVFZ.js → chunk-6EBGOHDJ.js} +16 -20
  47. package/dist/{chunk-ZN3C6GBG.js → chunk-6W5M3MSE.js} +4 -4
  48. package/dist/{chunk-2A53H4S6.js → chunk-AI7RMFVV.js} +22 -21
  49. package/dist/{chunk-ZBK6E2OR.js → chunk-APP43AW7.js} +1 -1
  50. package/dist/{chunk-V5HPPF3E.js → chunk-AZOKPWVI.js} +1 -1
  51. package/dist/{chunk-IHO3YQAN.js → chunk-B5NMSP3V.js} +2 -2
  52. package/dist/{chunk-FQ2GORVG.js → chunk-BNSKVIAW.js} +2 -2
  53. package/dist/{chunk-2QGYMY7A.js → chunk-BYLKCZ2G.js} +142 -4
  54. package/dist/{chunk-MFF3ONG5.js → chunk-BZLHTMT6.js} +76 -8
  55. package/dist/{chunk-DPGSLWOS.js → chunk-COQ64C4F.js} +10 -10
  56. package/dist/{chunk-IAD2RT4L.js → chunk-DCCSULXK.js} +4 -4
  57. package/dist/{chunk-6TE27XZR.js → chunk-DP3WX7FW.js} +2 -2
  58. package/dist/chunk-E5HOHIUV.js +52 -0
  59. package/dist/{chunk-GU3EJCVV.js → chunk-EA5NWDK7.js} +4 -0
  60. package/dist/{chunk-BXET3ALR.js → chunk-EIAEUG7G.js} +2 -2
  61. package/dist/{chunk-I6MJXLMY.js → chunk-F7R3SZ4Q.js} +2 -2
  62. package/dist/{chunk-IHFDPV7C.js → chunk-G7RIDXAT.js} +1 -1
  63. package/dist/{chunk-HRULIYDU.js → chunk-H5T27W7M.js} +2 -2
  64. package/dist/{chunk-BEJRK4DF.js → chunk-HBWYMRR5.js} +4 -4
  65. package/dist/{chunk-ZSTSEBG7.js → chunk-IIVZZMSO.js} +1 -1
  66. package/dist/{chunk-5QUPKDI5.js → chunk-IRHABAQT.js} +1 -1
  67. package/dist/{chunk-7PT35RY2.js → chunk-K545B734.js} +2 -2
  68. package/dist/{chunk-DUZVXBBU.js → chunk-KOWFRUIT.js} +1 -1
  69. package/dist/{chunk-KRCR2CRQ.js → chunk-KQFTBQ66.js} +11 -11
  70. package/dist/{chunk-TCWKTUAE.js → chunk-LENBKYRB.js} +2 -2
  71. package/dist/{chunk-3I6IVOZV.js → chunk-M3STIAGU.js} +3 -3
  72. package/dist/{chunk-CD47ZFFZ.js → chunk-MD4SVNT6.js} +1 -1
  73. package/dist/{chunk-WG3K4TCH.js → chunk-MLGIVVSG.js} +1 -1
  74. package/dist/{chunk-MGRFDGWU.js → chunk-NGKUXZID.js} +2 -2
  75. package/dist/{chunk-KF3UZLYI.js → chunk-NUVGDBZC.js} +1 -1
  76. package/dist/{chunk-NWDG3MSW.js → chunk-OAYWO5NP.js} +1 -1
  77. package/dist/{chunk-2WXF3QJR.js → chunk-Q6C6ILUS.js} +2 -2
  78. package/dist/{chunk-2QTO5YIT.js → chunk-QIOIO7VN.js} +6 -6
  79. package/dist/{chunk-LWOO567I.js → chunk-QRXPWW3M.js} +3 -3
  80. package/dist/{chunk-B64KHETR.js → chunk-QTIUJZRX.js} +3 -3
  81. package/dist/{chunk-WWOHTTVP.js → chunk-R5RIVOPL.js} +2 -2
  82. package/dist/{chunk-N4QSPI3B.js → chunk-REU2VQPH.js} +2 -2
  83. package/dist/{chunk-WS4H76EP.js → chunk-RQ32ADJP.js} +2 -2
  84. package/dist/{chunk-LKLVTG3V.js → chunk-SZ4Q6ZVS.js} +5 -5
  85. package/dist/{chunk-QOLITCIP.js → chunk-T6ZN4TEF.js} +1 -1
  86. package/dist/{chunk-CKV3UPMU.js → chunk-TO3PS646.js} +2 -2
  87. package/dist/{chunk-KFF7G225.js → chunk-UAP5DS6P.js} +3 -3
  88. package/dist/{chunk-KHNFLYJO.js → chunk-UF6RBP5V.js} +4 -4
  89. package/dist/{chunk-DKMD6AWR.js → chunk-UPIZSCYD.js} +4 -4
  90. package/dist/{chunk-ZW3XZLJC.js → chunk-VHPFNLRS.js} +5 -5
  91. package/dist/{chunk-M6BZZFVQ.js → chunk-VIIHC42X.js} +1 -1
  92. package/dist/{chunk-2VZAALEJ.js → chunk-WRPYCIV2.js} +8 -8
  93. package/dist/{chunk-ZBHUHJG6.js → chunk-Z23ZBYDW.js} +6 -4
  94. package/dist/{chunk-DL7XWKYV.js → chunk-ZGADIZDS.js} +2 -2
  95. package/dist/{global-upgrade-I56HNM23.js → global-upgrade-H272QOGD.js} +6 -6
  96. package/dist/{paths-AGY43CXS.js → paths-HMVOTFUN.js} +2 -2
  97. package/dist/{reapply-IA5XUKWW.js → reapply-Q5NHDTVU.js} +22 -24
  98. package/dist/src/index.js +19 -19
  99. package/dist/{upgrade-lock-B34TAUKV.js → upgrade-lock-L3GHFIRW.js} +3 -3
  100. package/package.json +1 -1
  101. package/dist/chunk-3Z3A37WD.js +0 -77
  102. package/dist/chunk-OP7IHC2I.js +0 -24
  103. package/dist/chunk-YIG2R3BJ.js +0 -145
@@ -1,46 +1,45 @@
1
1
  #!/usr/bin/env node
2
- import {
3
- activeHookSource,
4
- activeIdentity
5
- } from "../chunk-KHNFLYJO.js";
6
2
  import {
7
3
  readHookInput
8
- } from "../chunk-WWOHTTVP.js";
9
- import "../chunk-DPGSLWOS.js";
4
+ } from "../chunk-R5RIVOPL.js";
5
+ import "../chunk-COQ64C4F.js";
10
6
  import "../chunk-SGZJ5LYH.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";
7
+ import "../chunk-SZ4Q6ZVS.js";
8
+ import "../chunk-APP43AW7.js";
9
+ import "../chunk-462EQA6K.js";
10
+ import "../chunk-VIIHC42X.js";
20
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";
21
21
  import "../chunk-6ICPEJY5.js";
22
+ import "../chunk-REU2VQPH.js";
22
23
  import {
23
24
  handleUserPrompt
24
- } from "../chunk-KRCR2CRQ.js";
25
+ } from "../chunk-KQFTBQ66.js";
25
26
  import "../chunk-N6IOSZOE.js";
26
- import "../chunk-CD47ZFFZ.js";
27
- import "../chunk-2VZAALEJ.js";
28
- import "../chunk-DKMD6AWR.js";
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";
29
32
  import "../chunk-POFBE6ZY.js";
30
- import "../chunk-GMXKITVA.js";
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";
33
+ import "../chunk-5N5L6DNN.js";
34
+ import "../chunk-KOWFRUIT.js";
36
35
  import "../chunk-7QLSKOSU.js";
37
36
  import "../chunk-KZERVKTD.js";
38
- import "../chunk-FQ2GORVG.js";
39
- import "../chunk-ZBHUHJG6.js";
37
+ import "../chunk-BNSKVIAW.js";
38
+ import "../chunk-Z23ZBYDW.js";
40
39
  import "../chunk-T7E75EKA.js";
41
- import "../chunk-5QUPKDI5.js";
42
- import "../chunk-7DVNSQWF.js";
43
- import "../chunk-I5IJRMNV.js";
40
+ import "../chunk-IRHABAQT.js";
41
+ import "../chunk-5DCDQ5VW.js";
42
+ import "../chunk-5RGA636G.js";
44
43
 
45
44
  // bin/pushary-prompt-hook.ts
46
45
  var AGENT = activeIdentity(process.argv);
@@ -2,48 +2,47 @@
2
2
  import {
3
3
  WRAPPER_ACTIVE_ENV
4
4
  } from "../chunk-PQ4K74WL.js";
5
- import {
6
- activeHookSource,
7
- activeIdentity
8
- } from "../chunk-KHNFLYJO.js";
9
5
  import {
10
6
  readHookInput
11
- } from "../chunk-WWOHTTVP.js";
12
- import "../chunk-DPGSLWOS.js";
7
+ } from "../chunk-R5RIVOPL.js";
8
+ import "../chunk-COQ64C4F.js";
13
9
  import "../chunk-SGZJ5LYH.js";
14
- import "../chunk-YIG2R3BJ.js";
15
- import "../chunk-DL7XWKYV.js";
16
- import "../chunk-LKLVTG3V.js";
17
- import "../chunk-2QGYMY7A.js";
18
- import "../chunk-3I6IVOZV.js";
19
- import "../chunk-WG3K4TCH.js";
20
- import "../chunk-ZBK6E2OR.js";
21
- import "../chunk-CLOSJ4ES.js";
22
- import "../chunk-M6BZZFVQ.js";
10
+ import "../chunk-SZ4Q6ZVS.js";
11
+ import "../chunk-APP43AW7.js";
12
+ import "../chunk-462EQA6K.js";
13
+ import "../chunk-VIIHC42X.js";
23
14
  import "../chunk-XHKBHWLX.js";
15
+ import {
16
+ activeHookSource,
17
+ activeIdentity
18
+ } from "../chunk-UF6RBP5V.js";
19
+ import "../chunk-BYLKCZ2G.js";
20
+ import "../chunk-M3STIAGU.js";
21
+ import "../chunk-ZGADIZDS.js";
22
+ import "../chunk-MLGIVVSG.js";
23
+ import "../chunk-GMXKITVA.js";
24
24
  import "../chunk-6ICPEJY5.js";
25
+ import "../chunk-REU2VQPH.js";
25
26
  import {
26
27
  handleSessionEnd
27
- } from "../chunk-KRCR2CRQ.js";
28
+ } from "../chunk-KQFTBQ66.js";
28
29
  import "../chunk-N6IOSZOE.js";
29
- import "../chunk-CD47ZFFZ.js";
30
- import "../chunk-2VZAALEJ.js";
31
- import "../chunk-DKMD6AWR.js";
30
+ import "../chunk-MD4SVNT6.js";
31
+ import "../chunk-WRPYCIV2.js";
32
+ import "../chunk-6AYSKVLL.js";
33
+ import "../chunk-QRXPWW3M.js";
34
+ import "../chunk-UPIZSCYD.js";
32
35
  import "../chunk-POFBE6ZY.js";
33
- import "../chunk-GMXKITVA.js";
34
- import "../chunk-N4QSPI3B.js";
35
- import "../chunk-MKTJEXZ3.js";
36
- import "../chunk-LWOO567I.js";
37
- import "../chunk-TCQ43LSG.js";
38
- import "../chunk-DUZVXBBU.js";
36
+ import "../chunk-5N5L6DNN.js";
37
+ import "../chunk-KOWFRUIT.js";
39
38
  import "../chunk-7QLSKOSU.js";
40
39
  import "../chunk-KZERVKTD.js";
41
- import "../chunk-FQ2GORVG.js";
42
- import "../chunk-ZBHUHJG6.js";
40
+ import "../chunk-BNSKVIAW.js";
41
+ import "../chunk-Z23ZBYDW.js";
43
42
  import "../chunk-T7E75EKA.js";
44
- import "../chunk-5QUPKDI5.js";
45
- import "../chunk-7DVNSQWF.js";
46
- import "../chunk-I5IJRMNV.js";
43
+ import "../chunk-IRHABAQT.js";
44
+ import "../chunk-5DCDQ5VW.js";
45
+ import "../chunk-5RGA636G.js";
47
46
 
48
47
  // bin/pushary-session-end-hook.ts
49
48
  var AGENT = activeIdentity(process.argv);
@@ -1,57 +1,55 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  reapplyClaudeForVersion
4
- } from "../chunk-MXHTGVFZ.js";
5
- import "../chunk-3Z3A37WD.js";
6
- import "../chunk-MGRFDGWU.js";
7
- import "../chunk-MFF3ONG5.js";
8
- import {
9
- activeHookSource,
10
- activeIdentity
11
- } from "../chunk-KHNFLYJO.js";
4
+ } from "../chunk-6EBGOHDJ.js";
5
+ import "../chunk-NGKUXZID.js";
12
6
  import "../chunk-RIVNNBEK.js";
13
7
  import {
14
8
  triggerAutoUpdate
15
- } from "../chunk-7PT35RY2.js";
9
+ } from "../chunk-K545B734.js";
16
10
  import {
17
11
  readHookInput
18
- } from "../chunk-WWOHTTVP.js";
19
- import "../chunk-DPGSLWOS.js";
12
+ } from "../chunk-R5RIVOPL.js";
13
+ import "../chunk-COQ64C4F.js";
20
14
  import "../chunk-SGZJ5LYH.js";
21
- import "../chunk-YIG2R3BJ.js";
22
- import "../chunk-DL7XWKYV.js";
23
- import "../chunk-LKLVTG3V.js";
24
- import "../chunk-2QGYMY7A.js";
25
- import "../chunk-3I6IVOZV.js";
26
- import "../chunk-WG3K4TCH.js";
27
- import "../chunk-ZBK6E2OR.js";
28
- import "../chunk-CLOSJ4ES.js";
29
- import "../chunk-M6BZZFVQ.js";
15
+ import "../chunk-SZ4Q6ZVS.js";
16
+ import "../chunk-APP43AW7.js";
17
+ import "../chunk-462EQA6K.js";
18
+ import "../chunk-VIIHC42X.js";
30
19
  import "../chunk-XHKBHWLX.js";
20
+ import "../chunk-BZLHTMT6.js";
21
+ import {
22
+ activeHookSource,
23
+ activeIdentity
24
+ } from "../chunk-UF6RBP5V.js";
25
+ import "../chunk-BYLKCZ2G.js";
26
+ import "../chunk-M3STIAGU.js";
27
+ import "../chunk-ZGADIZDS.js";
28
+ import "../chunk-MLGIVVSG.js";
29
+ import "../chunk-GMXKITVA.js";
31
30
  import "../chunk-6ICPEJY5.js";
31
+ import "../chunk-REU2VQPH.js";
32
32
  import {
33
33
  CLAUDE_CODE_AGENT,
34
34
  handleSessionStart
35
- } from "../chunk-KRCR2CRQ.js";
35
+ } from "../chunk-KQFTBQ66.js";
36
36
  import "../chunk-N6IOSZOE.js";
37
- import "../chunk-CD47ZFFZ.js";
38
- import "../chunk-2VZAALEJ.js";
39
- import "../chunk-DKMD6AWR.js";
37
+ import "../chunk-MD4SVNT6.js";
38
+ import "../chunk-WRPYCIV2.js";
39
+ import "../chunk-6AYSKVLL.js";
40
+ import "../chunk-QRXPWW3M.js";
41
+ import "../chunk-UPIZSCYD.js";
40
42
  import "../chunk-POFBE6ZY.js";
41
- import "../chunk-GMXKITVA.js";
42
- import "../chunk-N4QSPI3B.js";
43
- import "../chunk-MKTJEXZ3.js";
44
- import "../chunk-LWOO567I.js";
45
- import "../chunk-TCQ43LSG.js";
46
- import "../chunk-DUZVXBBU.js";
43
+ import "../chunk-5N5L6DNN.js";
44
+ import "../chunk-KOWFRUIT.js";
47
45
  import "../chunk-7QLSKOSU.js";
48
46
  import "../chunk-KZERVKTD.js";
49
- import "../chunk-FQ2GORVG.js";
50
- import "../chunk-ZBHUHJG6.js";
47
+ import "../chunk-BNSKVIAW.js";
48
+ import "../chunk-Z23ZBYDW.js";
51
49
  import "../chunk-T7E75EKA.js";
52
- import "../chunk-5QUPKDI5.js";
53
- import "../chunk-7DVNSQWF.js";
54
- import "../chunk-I5IJRMNV.js";
50
+ import "../chunk-IRHABAQT.js";
51
+ import "../chunk-5DCDQ5VW.js";
52
+ import "../chunk-5RGA636G.js";
55
53
 
56
54
  // bin/pushary-session-start-hook.ts
57
55
  var AGENT = activeIdentity(process.argv);
@@ -1,40 +1,36 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runBrowserLogin
4
- } from "../chunk-NWDG3MSW.js";
4
+ } from "../chunk-OAYWO5NP.js";
5
5
  import {
6
6
  coworkOutput,
7
7
  coworkSelection
8
- } from "../chunk-B64KHETR.js";
8
+ } from "../chunk-QTIUJZRX.js";
9
9
  import "../chunk-PUZZELE6.js";
10
10
  import {
11
11
  clearDeclinedAgent,
12
12
  declinedAgentForSetupChoice
13
- } from "../chunk-BXET3ALR.js";
14
- import {
15
- agentHookFile,
16
- agentHookOwner,
17
- macAppBridgeAvailable
18
- } from "../chunk-3Z3A37WD.js";
13
+ } from "../chunk-EIAEUG7G.js";
19
14
  import {
15
+ CURSOR_GATE_SCRIPT,
20
16
  describeVersionManagerPin,
21
17
  versionManagerOf
22
- } from "../chunk-GU3EJCVV.js";
18
+ } from "../chunk-EA5NWDK7.js";
23
19
  import {
24
20
  codexTrustOutcome,
25
21
  describeCodexTrustConfirmation,
26
22
  needsCodexTrustStep
27
- } from "../chunk-6TE27XZR.js";
23
+ } from "../chunk-DP3WX7FW.js";
28
24
  import {
29
25
  writeStdoutFully
30
26
  } from "../chunk-EO23EUOK.js";
31
27
  import {
32
28
  ensureCodexTrustsPusharyHooks
33
- } from "../chunk-MGRFDGWU.js";
29
+ } from "../chunk-NGKUXZID.js";
34
30
  import {
35
31
  readManagedControlEvidence,
36
32
  waitForMachineReadiness
37
- } from "../chunk-2QTO5YIT.js";
33
+ } from "../chunk-QIOIO7VN.js";
38
34
  import {
39
35
  describeSetupSideEffects,
40
36
  installAgentSkill,
@@ -44,7 +40,7 @@ import {
44
40
  CURSOR_PLUGIN_BACKUP_INFIX,
45
41
  CURSOR_PLUGIN_STAGING_PREFIX,
46
42
  registerCursorGate
47
- } from "../chunk-TCWKTUAE.js";
43
+ } from "../chunk-LENBKYRB.js";
48
44
  import {
49
45
  HERMES_PIP_PACKAGE,
50
46
  describeDetection,
@@ -57,7 +53,7 @@ import {
57
53
  runHermesConfigScript,
58
54
  shortenHome,
59
55
  vscodeSettingsTargets
60
- } from "../chunk-KFF7G225.js";
56
+ } from "../chunk-UAP5DS6P.js";
61
57
  import {
62
58
  AgentConfigError,
63
59
  FX_PUSHARY_TOOLS_RULE,
@@ -81,39 +77,10 @@ import {
81
77
  withFxPusharyServer,
82
78
  writeFxProfile,
83
79
  writeInstructionBlock
84
- } from "../chunk-ZN3C6GBG.js";
80
+ } from "../chunk-6W5M3MSE.js";
85
81
  import {
86
82
  MCP_BRIDGE_BINARY
87
- } from "../chunk-HRULIYDU.js";
88
- import {
89
- OPENCODE_HOOK_BINARY,
90
- addOpenCodeMcpServer,
91
- installOpenCodePlugin,
92
- openCodeConfigDir,
93
- openCodeConfigFile,
94
- openCodeHookArgv,
95
- openCodeInstructionsFile,
96
- openCodePluginDir,
97
- openCodePluginFile,
98
- openCodeWired
99
- } from "../chunk-MFF3ONG5.js";
100
- import {
101
- addClaudeMcpServer,
102
- addCompatibleHooks,
103
- addCompatibleMcpServer,
104
- addCompatibleToolPermissions,
105
- addPusharyHooks,
106
- addPusharyToolPermissions,
107
- captureClaudeMcpServer,
108
- compatibleConfigFile,
109
- compatibleHookEvents,
110
- compatibleInstructionsFile,
111
- compatibleMcpFile,
112
- compatiblePermissionRuleFile,
113
- hasCompatibleHooks,
114
- isClaudeMcpSnapshot,
115
- updateClaudeMcpSnapshot
116
- } from "../chunk-KHNFLYJO.js";
83
+ } from "../chunk-H5T27W7M.js";
117
84
  import {
118
85
  checkCodexInstall,
119
86
  detectProviderLiveCapabilities,
@@ -121,29 +88,14 @@ import {
121
88
  hasSpawnProvider,
122
89
  nodeCodexInstallProbe,
123
90
  resolveControlPolicy
124
- } from "../chunk-I6MJXLMY.js";
91
+ } from "../chunk-F7R3SZ4Q.js";
125
92
  import {
126
93
  detectClaudeVersion
127
94
  } from "../chunk-RIVNNBEK.js";
128
95
  import {
129
96
  describeAutoUpdateAnnouncement,
130
97
  takeAutoUpdateAnnouncement
131
- } from "../chunk-7PT35RY2.js";
132
- import {
133
- KEEP_HINT,
134
- captureHookTakeover,
135
- captureMcpServer,
136
- describeAppOwnership,
137
- describeHookOwnership,
138
- mcpBearerKey,
139
- planHooks
140
- } from "../chunk-YIG2R3BJ.js";
141
- import {
142
- AGENT_CHOICES,
143
- effectiveControlMode,
144
- effectiveVerify,
145
- parseSetupOptions
146
- } from "../chunk-DL7XWKYV.js";
98
+ } from "../chunk-K545B734.js";
147
99
  import {
148
100
  DAEMON_COLD_START_TIMEOUT_MS,
149
101
  clearDaemonNeedsLogin,
@@ -157,35 +109,11 @@ import {
157
109
  replaceDaemonService,
158
110
  stopDaemonService,
159
111
  waitForDaemonRemoteProof
160
- } from "../chunk-LKLVTG3V.js";
161
- import {
162
- claudeWired,
163
- codexWired,
164
- geminiWired,
165
- pusharyHookExecutable
166
- } from "../chunk-2QGYMY7A.js";
167
- import {
168
- GEMINI_HOOK_BINARY,
169
- addGeminiHooks,
170
- addGeminiMcpServer
171
- } from "../chunk-3I6IVOZV.js";
172
- import "../chunk-WG3K4TCH.js";
112
+ } from "../chunk-SZ4Q6ZVS.js";
173
113
  import {
174
114
  transcriptPreferenceForSetup
175
- } from "../chunk-M6BZZFVQ.js";
115
+ } from "../chunk-VIIHC42X.js";
176
116
  import "../chunk-XHKBHWLX.js";
177
- import {
178
- compareVersion,
179
- parseVersion
180
- } from "../chunk-6ICPEJY5.js";
181
- import {
182
- reportEvent
183
- } from "../chunk-KRCR2CRQ.js";
184
- import "../chunk-N6IOSZOE.js";
185
- import "../chunk-CD47ZFFZ.js";
186
- import "../chunk-2VZAALEJ.js";
187
- import "../chunk-DKMD6AWR.js";
188
- import "../chunk-POFBE6ZY.js";
189
117
  import {
190
118
  BROWSER_CONNECT_COMMAND,
191
119
  confirmAppConnection,
@@ -196,17 +124,78 @@ import {
196
124
  printConnectInstructions,
197
125
  roundTripEvidence,
198
126
  verifyRoundTrip
199
- } from "../chunk-IAD2RT4L.js";
127
+ } from "../chunk-DCCSULXK.js";
200
128
  import "../chunk-3EGEA4KH.js";
201
129
  import {
202
130
  setHumanStream
203
131
  } from "../chunk-QCGNGEGE.js";
132
+ import {
133
+ OPENCODE_HOOK_BINARY,
134
+ addOpenCodeMcpServer,
135
+ agentHookFile,
136
+ agentHookOwner,
137
+ installOpenCodePlugin,
138
+ macAppBridgeAvailable,
139
+ openCodeConfigDir,
140
+ openCodeConfigFile,
141
+ openCodeHookArgv,
142
+ openCodeInstructionsFile,
143
+ openCodePluginDir,
144
+ openCodePluginFile,
145
+ openCodeWired
146
+ } from "../chunk-BZLHTMT6.js";
147
+ import {
148
+ addClaudeMcpServer,
149
+ addCompatibleHooks,
150
+ addCompatibleMcpServer,
151
+ addCompatibleToolPermissions,
152
+ addPusharyHooks,
153
+ addPusharyToolPermissions,
154
+ captureClaudeMcpServer,
155
+ compatibleConfigFile,
156
+ compatibleHookEvents,
157
+ compatibleInstructionsFile,
158
+ compatibleMcpFile,
159
+ compatiblePermissionRuleFile,
160
+ hasCompatibleHooks,
161
+ isClaudeMcpSnapshot,
162
+ updateClaudeMcpSnapshot
163
+ } from "../chunk-UF6RBP5V.js";
204
164
  import {
205
165
  ansiPainter,
206
166
  createIo,
207
167
  useColor
208
168
  } from "../chunk-U4TMAANR.js";
169
+ import {
170
+ KEEP_HINT,
171
+ captureHookTakeover,
172
+ captureMcpServer,
173
+ claudeWired,
174
+ codexWired,
175
+ describeAppOwnership,
176
+ describeHookOwnership,
177
+ geminiWired,
178
+ mcpBearerKey,
179
+ planHooks,
180
+ pusharyHookExecutable
181
+ } from "../chunk-BYLKCZ2G.js";
182
+ import {
183
+ GEMINI_HOOK_BINARY,
184
+ addGeminiHooks,
185
+ addGeminiMcpServer
186
+ } from "../chunk-M3STIAGU.js";
187
+ import {
188
+ AGENT_CHOICES,
189
+ effectiveControlMode,
190
+ effectiveVerify,
191
+ parseSetupOptions
192
+ } from "../chunk-ZGADIZDS.js";
193
+ import "../chunk-MLGIVVSG.js";
209
194
  import "../chunk-GMXKITVA.js";
195
+ import {
196
+ compareVersion,
197
+ parseVersion
198
+ } from "../chunk-6ICPEJY5.js";
210
199
  import {
211
200
  KEY_FILE_MODE,
212
201
  exportLine,
@@ -219,22 +208,30 @@ import {
219
208
  recordMacAppKeyPrefix,
220
209
  resolveShellRc,
221
210
  writeKey
222
- } from "../chunk-N4QSPI3B.js";
223
- import "../chunk-MKTJEXZ3.js";
211
+ } from "../chunk-REU2VQPH.js";
212
+ import {
213
+ reportEvent
214
+ } from "../chunk-KQFTBQ66.js";
215
+ import "../chunk-N6IOSZOE.js";
216
+ import "../chunk-MD4SVNT6.js";
217
+ import "../chunk-WRPYCIV2.js";
218
+ import "../chunk-6AYSKVLL.js";
224
219
  import {
225
220
  checkApiKey,
226
221
  describeKeyCheck,
227
222
  samePusharyAccount
228
- } from "../chunk-LWOO567I.js";
229
- import "../chunk-TCQ43LSG.js";
230
- import "../chunk-DUZVXBBU.js";
223
+ } from "../chunk-QRXPWW3M.js";
224
+ import "../chunk-UPIZSCYD.js";
225
+ import "../chunk-POFBE6ZY.js";
226
+ import "../chunk-5N5L6DNN.js";
227
+ import "../chunk-KOWFRUIT.js";
231
228
  import {
232
229
  UsageError
233
230
  } from "../chunk-7QLSKOSU.js";
234
231
  import {
235
232
  EXIT
236
233
  } from "../chunk-KZERVKTD.js";
237
- import "../chunk-FQ2GORVG.js";
234
+ import "../chunk-BNSKVIAW.js";
238
235
  import {
239
236
  NpmMissingError,
240
237
  addCodexHookTrust,
@@ -266,6 +263,7 @@ import {
266
263
  geminiSettings,
267
264
  guardBinary,
268
265
  guardCursorGate,
266
+ guardNodeScript,
269
267
  guardedArgv,
270
268
  hermesConfigReceipt,
271
269
  hookTakeoverReceipt,
@@ -278,18 +276,18 @@ import {
278
276
  resolveGlobalBinary,
279
277
  vscodePluginDir,
280
278
  vscodePluginMcp
281
- } from "../chunk-ZBHUHJG6.js";
279
+ } from "../chunk-Z23ZBYDW.js";
282
280
  import {
283
281
  backupFile,
284
282
  readJsonSafe,
285
283
  writeFileAtomic,
286
284
  writeJsonAtomic
287
285
  } from "../chunk-T7E75EKA.js";
288
- import "../chunk-5QUPKDI5.js";
286
+ import "../chunk-IRHABAQT.js";
289
287
  import {
290
288
  NPX_LATEST_COMMAND,
291
289
  renderCommandHelp
292
- } from "../chunk-7DVNSQWF.js";
290
+ } from "../chunk-5DCDQ5VW.js";
293
291
  import {
294
292
  HOOK_COMPATIBLE_PROFILES,
295
293
  PRETOOLUSE_GATED_TOOLS,
@@ -303,7 +301,7 @@ import {
303
301
  isValidApiKey,
304
302
  launchedPackage,
305
303
  ownPackageName
306
- } from "../chunk-I5IJRMNV.js";
304
+ } from "../chunk-5RGA636G.js";
307
305
 
308
306
  // bin/pushary-setup.ts
309
307
  import { existsSync, readFileSync, writeFileSync, mkdirSync, cpSync, rmSync, renameSync, realpathSync, statSync, openSync, readSync, closeSync } from "fs";
@@ -644,6 +642,24 @@ var pickAppKey = (candidates) => candidates.fromAgents.find(
644
642
  (candidate) => typeof candidate === "string" && candidate !== candidates.storedKey && candidate !== candidates.envKey && isValidApiKey(candidate)
645
643
  ) ?? null;
646
644
 
645
+ // src/vscode-gate-hooks.ts
646
+ var isRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
647
+ var runsTheGate = (entry) => typeof entry.command === "string" && (pusharyHookExecutable(entry.command)?.endsWith(CURSOR_GATE_SCRIPT) ?? false);
648
+ var guardedEntry = (entry, command) => isRecord(entry) && runsTheGate(entry) ? { ...entry, command } : entry;
649
+ var guardVsCodeGateHooks = (document, gateScript) => {
650
+ if (!isRecord(document) || !isRecord(document.hooks)) {
651
+ return { kind: "invalid", reason: "bundled VS Code hooks.json has no hooks map" };
652
+ }
653
+ const hooks = document.hooks;
654
+ const preToolUse = hooks.PreToolUse;
655
+ if (!Array.isArray(preToolUse) || preToolUse.length === 0) {
656
+ return { kind: "invalid", reason: "bundled VS Code hooks.json is missing a PreToolUse entry" };
657
+ }
658
+ const command = guardNodeScript(gateScript);
659
+ const guarded = Object.fromEntries(Object.entries(hooks).map(([event, entries]) => [event, Array.isArray(entries) ? entries.map((entry) => guardedEntry(entry, command)) : entries]));
660
+ return { kind: "guarded", document: { ...document, hooks: guarded } };
661
+ };
662
+
647
663
  // src/setup/pairing-computer.ts
648
664
  var LOCAL_NETWORK_SUFFIX = /\.local$/i;
649
665
  var computerNameOfHost = (host) => host.replace(LOCAL_NETWORK_SUFFIX, "").trim() || null;
@@ -1308,16 +1324,11 @@ var resolveBundledVsCodePlugin = () => {
1308
1324
  ];
1309
1325
  return candidates.find((p) => existsSync(join3(p, ".claude-plugin", "plugin.json"))) ?? null;
1310
1326
  };
1311
- var pinVsCodeGatePath = (pluginDir) => {
1327
+ var pinGuardedVsCodeGate = (pluginDir) => {
1312
1328
  const hooksPath = join3(pluginDir, "hooks", "hooks.json");
1313
- const data = readJson(hooksPath);
1314
- const entries = data.hooks?.PreToolUse;
1315
- if (!Array.isArray(entries) || entries.length === 0) {
1316
- throw new Error("bundled VS Code hooks.json is missing a PreToolUse entry");
1317
- }
1318
- const gate = join3(pluginDir, "scripts", "pushary-gate.mjs");
1319
- data.hooks.PreToolUse = entries.map((entry) => ({ ...entry, command: `node "${gate}"` }));
1320
- writeJson(hooksPath, data);
1329
+ const guarded = guardVsCodeGateHooks(readJson(hooksPath), join3(pluginDir, "scripts", CURSOR_GATE_SCRIPT));
1330
+ if (guarded.kind === "invalid") throw new Error(guarded.reason);
1331
+ writeJson(hooksPath, guarded.document);
1321
1332
  };
1322
1333
  var registerVsCodePlugin = (pluginDir) => {
1323
1334
  const written = [];
@@ -1379,7 +1390,7 @@ var setupVsCode = async (apiKey) => {
1379
1390
  mcp.mcpServers = servers;
1380
1391
  writeJsonAtomic(mcpPath, mcp, KEY_FILE_MODE);
1381
1392
  }
1382
- pinVsCodeGatePath(VSCODE_PLUGIN_DIR);
1393
+ pinGuardedVsCodeGate(VSCODE_PLUGIN_DIR);
1383
1394
  });
1384
1395
  let registration = { written: [], manual: [] };
1385
1396
  await spinner("Registering the plugin with VS Code", async () => {
@@ -1417,7 +1428,7 @@ var saveApiKey = async (apiKey, controlMode, transcriptSync) => {
1417
1428
  let result;
1418
1429
  await spinner("Saving your API key", async () => {
1419
1430
  result = writeKey(apiKey, {
1420
- ...controlMode === null ? {} : { controlMode },
1431
+ controlMode,
1421
1432
  transcriptsEnabled: transcriptSync
1422
1433
  });
1423
1434
  });
@@ -1633,13 +1644,20 @@ var clearSetupChoiceDecline = (agent) => {
1633
1644
  const declined = declinedAgentForSetupChoice(agent);
1634
1645
  if (declined) clearDeclinedAgent(declined);
1635
1646
  };
1647
+ var APP_MCP_ENTRIES = {
1648
+ claude_code: { file: () => CLAUDE_JSON, container: "mcpServers" },
1649
+ gemini_cli: { file: () => GEMINI_SETTINGS, container: "mcpServers" },
1650
+ cursor: { file: cursorUserMcp, container: "mcpServers" },
1651
+ vscode: { file: () => VSCODE_PLUGIN_MCP, container: "mcpServers" },
1652
+ opencode: { file: openCodeConfigFile, container: "mcp" }
1653
+ };
1636
1654
  var appMcpKeyFor = (agent) => {
1637
1655
  if (agent === "codex") {
1638
1656
  const auth = readCodexMcpAuth(readAgentToml(codexConfigToml()));
1639
1657
  return auth?.method === "embedded" ? auth.key : null;
1640
1658
  }
1641
- const file = agent === "claude_code" ? CLAUDE_JSON : agent === "gemini_cli" ? GEMINI_SETTINGS : agent === "cursor" ? cursorUserMcp() : agent === "vscode" ? VSCODE_PLUGIN_MCP : null;
1642
- return file ? mcpBearerKey(readAgentJson(file), "mcpServers", "headers") : null;
1659
+ const entry = APP_MCP_ENTRIES[agent];
1660
+ return entry ? mcpBearerKey(readAgentJson(entry.file()), entry.container, "headers") : null;
1643
1661
  };
1644
1662
  var appMcpKeyIfReadable = (agent) => {
1645
1663
  try {
@@ -2006,7 +2024,7 @@ var reportDryRun = (apiKey, agents, keyCheck, controlMode) => {
2006
2024
  apiKey ? ` ${dim("Key:")} ${dim(`${apiKey.slice(0, 8)}...${apiKey.slice(-4)}`)} ${dim(`(${keyCheck?.kind ?? "not verified"})`)}` : ` ${dim("Key:")} ${dim("none on this machine \u2014 a real run would acquire one")}`
2007
2025
  );
2008
2026
  console.log(` ${dim("Key store:")} ${PUSHARY_CONFIG_FILE}`);
2009
- console.log(` ${dim("Control:")} ${controlMode ?? "unchanged (legacy install)"}`);
2027
+ console.log(` ${dim("Control:")} ${controlMode}`);
2010
2028
  const rc = resolveShellRc();
2011
2029
  console.log(` ${dim("Shell rc:")} ${rc ? rc.path : dim("none for this shell; the key would stay in Pushary's config only")}`);
2012
2030
  console.log();
@@ -2060,7 +2078,7 @@ var main = async () => {
2060
2078
  `);
2061
2079
  process.exit(EXIT.OK);
2062
2080
  }
2063
- const controlMode = effectiveControlMode(options, readControlMode(), existsSync(PUSHARY_CONFIG_FILE));
2081
+ const controlMode = effectiveControlMode(options, readControlMode());
2064
2082
  recordSetupOptions(options);
2065
2083
  if (options.json) {
2066
2084
  jsonMode = true;