@pushary/agent-hooks 1.9.59 → 1.9.61

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 (130) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +6 -0
  3. package/data/cursor-plugin/.cursor-plugin/plugin.json +5 -1
  4. package/data/cursor-plugin/CHANGELOG.md +4 -0
  5. package/dist/{api-UVJGNZIF.js → api-LW3PJQYY.js} +12 -11
  6. package/dist/bin/pushary-bell-hook.js +30 -29
  7. package/dist/bin/pushary-bell.js +13 -12
  8. package/dist/bin/pushary-claude.js +32 -30
  9. package/dist/bin/pushary-clean.js +61 -54
  10. package/dist/bin/pushary-codex-bridge.js +23 -22
  11. package/dist/bin/pushary-codex-hook.js +35 -34
  12. package/dist/bin/pushary-codex-session.js +9 -8
  13. package/dist/bin/pushary-codex.js +16 -15
  14. package/dist/bin/pushary-connect.js +30 -29
  15. package/dist/bin/pushary-cowork.js +8 -7
  16. package/dist/bin/pushary-daemon.js +40 -39
  17. package/dist/bin/pushary-disconnect.js +43 -29
  18. package/dist/bin/pushary-doctor.js +52 -47
  19. package/dist/bin/pushary-elicitation-hook.js +30 -29
  20. package/dist/bin/pushary-gemini-bridge.js +16 -15
  21. package/dist/bin/pushary-gemini-hook.js +32 -31
  22. package/dist/bin/pushary-hook.js +34 -33
  23. package/dist/bin/pushary-login.js +23 -19
  24. package/dist/bin/pushary-logout.js +37 -31
  25. package/dist/bin/pushary-mcp.js +13 -12
  26. package/dist/bin/pushary-mode.js +42 -55
  27. package/dist/bin/pushary-notification-hook.js +29 -28
  28. package/dist/bin/pushary-opencode-hook.js +31 -30
  29. package/dist/bin/pushary-permission-denied-hook.js +34 -33
  30. package/dist/bin/pushary-permission-hook.js +33 -32
  31. package/dist/bin/pushary-post-hook.js +29 -28
  32. package/dist/bin/pushary-prompt-hook.js +29 -28
  33. package/dist/bin/pushary-session-end-hook.js +29 -28
  34. package/dist/bin/pushary-session-start-hook.js +36 -35
  35. package/dist/bin/pushary-setup.js +4397 -292
  36. package/dist/bin/pushary-stats.js +6 -5
  37. package/dist/bin/pushary-status.js +42 -36
  38. package/dist/bin/pushary-stop-hook.js +29 -28
  39. package/dist/bin/pushary-stopfailure-hook.js +29 -28
  40. package/dist/bin/pushary-suggestions.js +34 -39
  41. package/dist/bin/pushary-transcript-register.js +21 -20
  42. package/dist/bin/pushary-transcripts.js +34 -20
  43. package/dist/bin/pushary-upgrade.js +77 -50
  44. package/dist/bin/pushary-wait.js +37 -42
  45. package/dist/bin/pushary.js +9 -8
  46. package/dist/{chunk-PVANKDWM.js → chunk-2AELPDMT.js} +1 -1
  47. package/dist/{chunk-W47WL6JY.js → chunk-33OOEVPG.js} +1 -1
  48. package/dist/{chunk-BRUHVTFB.js → chunk-4N5E4JNF.js} +2 -2
  49. package/dist/{chunk-6ONSTCDJ.js → chunk-4VRTSDGP.js} +5 -5
  50. package/dist/{chunk-DS7X36Z3.js → chunk-64S5PQBQ.js} +4 -4
  51. package/dist/{chunk-KQHY6L3X.js → chunk-6FJ6CK32.js} +4 -4
  52. package/dist/{chunk-EBQTWH5O.js → chunk-6T5Z64KS.js} +39 -31
  53. package/dist/{chunk-JAKBCKEB.js → chunk-7BAO42UV.js} +8 -7
  54. package/dist/chunk-7BHI3PZN.js +41 -0
  55. package/dist/{chunk-5BNXJTOZ.js → chunk-7HDGH3Z2.js} +3 -12
  56. package/dist/{chunk-D6CXQIXO.js → chunk-7JXJJNQ5.js} +1 -1
  57. package/dist/{chunk-KHDD74MK.js → chunk-7MCCXE5Y.js} +5 -5
  58. package/dist/{chunk-AY32RSUC.js → chunk-ADR3KHOC.js} +2 -2
  59. package/dist/{chunk-MMLIQDTG.js → chunk-ATKN4BJT.js} +1 -1
  60. package/dist/{chunk-762CDAJJ.js → chunk-AXJLJJ3M.js} +7 -0
  61. package/dist/{chunk-4XXZUFWN.js → chunk-BG4Y64FW.js} +1 -1
  62. package/dist/{chunk-X4ES7QBT.js → chunk-BJTSKOH3.js} +9 -7
  63. package/dist/{chunk-TCH5UCPR.js → chunk-BQ2VV7LY.js} +2 -2
  64. package/dist/{chunk-IBXHVYN2.js → chunk-BUZIEL7Y.js} +2 -2
  65. package/dist/{chunk-UFJS4RR7.js → chunk-CICLXLQN.js} +3 -3
  66. package/dist/{chunk-US3IT6ZC.js → chunk-CJ5TCFD4.js} +11 -4
  67. package/dist/{chunk-5JWCWALO.js → chunk-DQLCFGHK.js} +12 -10
  68. package/dist/{chunk-V3PDUDPB.js → chunk-ELLJPP6O.js} +2 -2
  69. package/dist/{chunk-BMPZ5HVJ.js → chunk-ERK24P76.js} +11 -1
  70. package/dist/{chunk-2WMZDKPM.js → chunk-EUIPTDLX.js} +13 -13
  71. package/dist/{chunk-RQDP2SJY.js → chunk-FUZ5VYWD.js} +1 -1
  72. package/dist/{chunk-5PP4455M.js → chunk-G36T5LAP.js} +3 -3
  73. package/dist/{chunk-3N2ZTHZZ.js → chunk-GAMVAORR.js} +1 -1
  74. package/dist/{chunk-YQVKG5MC.js → chunk-GDKQUB52.js} +7 -6
  75. package/dist/{chunk-KQWN7C5C.js → chunk-GKFO5JLN.js} +4 -4
  76. package/dist/{chunk-MYU5D5VH.js → chunk-GZCSWDAS.js} +4 -4
  77. package/dist/{chunk-2FVP7WRP.js → chunk-HUI4OE43.js} +3 -3
  78. package/dist/{chunk-AS4Z6KS4.js → chunk-IFPOHFDJ.js} +1 -1
  79. package/dist/{chunk-L3NVHPBU.js → chunk-JGQV4MDQ.js} +6 -6
  80. package/dist/{chunk-UVZK5LIK.js → chunk-K4MBKXAE.js} +1 -1
  81. package/dist/{chunk-EHCIQA5D.js → chunk-KPNZ7JUL.js} +4 -4
  82. package/dist/{chunk-4QF2YLYK.js → chunk-LBHJJEKT.js} +6 -6
  83. package/dist/{chunk-5O6D4J2K.js → chunk-LN7DE5LY.js} +2 -2
  84. package/dist/chunk-MLKGABMK.js +9 -0
  85. package/dist/{chunk-KZCYHWDF.js → chunk-MWLTTLPK.js} +107 -50
  86. package/dist/{chunk-WWAVHLGS.js → chunk-NKLNU577.js} +5 -5
  87. package/dist/{chunk-GMXKITVA.js → chunk-NMUI3ZWG.js} +1 -1
  88. package/dist/{chunk-SIU6OWA6.js → chunk-O65F2IIN.js} +6 -6
  89. package/dist/{chunk-T65RIQK2.js → chunk-ORX5BTV4.js} +6 -6
  90. package/dist/{chunk-VAJHDTJX.js → chunk-P3VQH65N.js} +28 -17
  91. package/dist/{chunk-CPRA7IEK.js → chunk-PITQ5ZIQ.js} +2 -2
  92. package/dist/chunk-PPY5N2E6.js +58 -0
  93. package/dist/{chunk-UTJ5465F.js → chunk-QER5R7Z6.js} +2 -2
  94. package/dist/{chunk-TDOKDCFH.js → chunk-RGSW36XH.js} +3 -3
  95. package/dist/{chunk-WW24SG27.js → chunk-RJHX66EY.js} +21 -11
  96. package/dist/{chunk-M46WDK64.js → chunk-SFAP4AJY.js} +1 -1
  97. package/dist/{chunk-MSU3VKGJ.js → chunk-SHJVFW22.js} +2 -2
  98. package/dist/{chunk-RAMQBSVZ.js → chunk-SVQWHV65.js} +1 -1
  99. package/dist/{chunk-3NROUNIS.js → chunk-UADSXJZ4.js} +2 -2
  100. package/dist/{chunk-M6MOQBR5.js → chunk-USE5IEEW.js} +1 -1
  101. package/dist/{chunk-KW3DED2A.js → chunk-VX2MJ4X7.js} +4 -4
  102. package/dist/{chunk-OZIXBN3O.js → chunk-WFSGCFXQ.js} +2 -2
  103. package/dist/{chunk-KAJDKYUM.js → chunk-WN3RACVD.js} +3 -3
  104. package/dist/chunk-X3YKQJCZ.js +36 -0
  105. package/dist/{chunk-5EFNBL6V.js → chunk-XAO6EYGM.js} +3 -3
  106. package/dist/{chunk-BKVX53QR.js → chunk-XEJOPVCG.js} +1 -1
  107. package/dist/{chunk-75UYYIFJ.js → chunk-XV6S5PWW.js} +3 -3
  108. package/dist/{chunk-3RKIJM26.js → chunk-Y5VKZNFN.js} +2 -2
  109. package/dist/{chunk-DK35M4TH.js → chunk-Y6Z7DA5Y.js} +5 -5
  110. package/dist/{chunk-MA37WNVS.js → chunk-YDR4BQ7R.js} +4 -4
  111. package/dist/{chunk-XGP5VSQG.js → chunk-YPD3MTFU.js} +1 -1
  112. package/dist/{chunk-LAEW5QQD.js → chunk-ZEWIMY63.js} +1 -1
  113. package/dist/{chunk-JBCMXSBO.js → chunk-ZGU3NXL2.js} +77 -18
  114. package/dist/{codex-app-cards-switch-N77RWKCO.js → codex-app-cards-switch-BD7LCI2I.js} +12 -11
  115. package/dist/{codex-desktop-launch-KIX7OMTL.js → codex-desktop-launch-V5CASSBB.js} +2 -1
  116. package/dist/{codex-session-launch-XV7SIIWP.js → codex-session-launch-5PKFKUFD.js} +20 -19
  117. package/dist/{config-HH4DYYNX.js → config-AEKH7HGC.js} +4 -3
  118. package/dist/{global-upgrade-YWIVJIUR.js → global-upgrade-IUXJJDWF.js} +10 -9
  119. package/dist/{identity-4J7Y2MW3.js → identity-YJIV2XTY.js} +5 -4
  120. package/dist/{live-capabilities-LHZBCI5U.js → live-capabilities-QYFW5QAW.js} +5 -4
  121. package/dist/{paths-ES3V7BWQ.js → paths-A5GAR5PL.js} +4 -3
  122. package/dist/reapply-BKJGICRJ.js +63 -0
  123. package/dist/src/index.js +23 -22
  124. package/dist/{upgrade-lock-TJPKU5HL.js → upgrade-lock-DDB7WEWC.js} +5 -4
  125. package/dist/usage-HBDNFZ3O.js +11 -0
  126. package/package.json +1 -1
  127. package/dist/chunk-7QLSKOSU.js +0 -19
  128. package/dist/chunk-EO23EUOK.js +0 -14
  129. package/dist/reapply-KA5SIYWX.js +0 -62
  130. package/dist/usage-7ALXBJVJ.js +0 -10
@@ -2,17 +2,17 @@
2
2
  import {
3
3
  declinedAgentsFile,
4
4
  recordDeclinedAgent
5
- } from "../chunk-5O6D4J2K.js";
5
+ } from "../chunk-LN7DE5LY.js";
6
6
  import {
7
7
  isCursorPluginLeftover,
8
8
  isPusharyCursorPluginManifest,
9
9
  releaseSoleGate
10
- } from "../chunk-MYU5D5VH.js";
10
+ } from "../chunk-GZCSWDAS.js";
11
11
  import {
12
12
  planFxRemoval,
13
13
  removeInstructionBlock
14
- } from "../chunk-6ONSTCDJ.js";
15
- import "../chunk-3NROUNIS.js";
14
+ } from "../chunk-4VRTSDGP.js";
15
+ import "../chunk-UADSXJZ4.js";
16
16
  import {
17
17
  OPENCODE_PLUGIN_SIBLING,
18
18
  OPENCODE_PLUGIN_SIBLING_CONTENTS,
@@ -24,10 +24,10 @@ import {
24
24
  openCodePluginDir,
25
25
  openCodePluginFile,
26
26
  removeOpenCodeMcpServer
27
- } from "../chunk-JBCMXSBO.js";
27
+ } from "../chunk-ZGU3NXL2.js";
28
28
  import {
29
29
  exitOnHelpFlag
30
- } from "../chunk-UVZK5LIK.js";
30
+ } from "../chunk-K4MBKXAE.js";
31
31
  import {
32
32
  compatibleConfigFile,
33
33
  compatibleDocuments,
@@ -42,30 +42,34 @@ import {
42
42
  removePusharySettings,
43
43
  removePusharyToolPermissions,
44
44
  restoreClaudeMcpServer
45
- } from "../chunk-KQWN7C5C.js";
46
- import "../chunk-X4ES7QBT.js";
45
+ } from "../chunk-GKFO5JLN.js";
46
+ import "../chunk-BJTSKOH3.js";
47
47
  import {
48
48
  removeGeminiSettings
49
- } from "../chunk-TDOKDCFH.js";
50
- import "../chunk-75UYYIFJ.js";
51
- import "../chunk-AS4Z6KS4.js";
52
- import "../chunk-GMXKITVA.js";
49
+ } from "../chunk-RGSW36XH.js";
50
+ import "../chunk-XV6S5PWW.js";
51
+ import "../chunk-IFPOHFDJ.js";
52
+ import {
53
+ parseFlags
54
+ } from "../chunk-NMUI3ZWG.js";
53
55
  import "../chunk-6ICPEJY5.js";
54
- import "../chunk-KAJDKYUM.js";
55
- import "../chunk-5JWCWALO.js";
56
- import "../chunk-W47WL6JY.js";
57
- import "../chunk-XGP5VSQG.js";
58
- import "../chunk-WW24SG27.js";
59
- import "../chunk-5EFNBL6V.js";
56
+ import "../chunk-WN3RACVD.js";
57
+ import "../chunk-DQLCFGHK.js";
58
+ import "../chunk-33OOEVPG.js";
59
+ import "../chunk-YPD3MTFU.js";
60
+ import "../chunk-RJHX66EY.js";
61
+ import "../chunk-XAO6EYGM.js";
60
62
  import "../chunk-POFBE6ZY.js";
61
- import "../chunk-MA37WNVS.js";
62
- import "../chunk-JAKBCKEB.js";
63
- import "../chunk-M46WDK64.js";
64
- import "../chunk-7QLSKOSU.js";
63
+ import "../chunk-YDR4BQ7R.js";
64
+ import "../chunk-7BAO42UV.js";
65
+ import "../chunk-SFAP4AJY.js";
66
+ import {
67
+ UsageError
68
+ } from "../chunk-PPY5N2E6.js";
65
69
  import {
66
70
  EXIT
67
71
  } from "../chunk-KZERVKTD.js";
68
- import "../chunk-3RKIJM26.js";
72
+ import "../chunk-Y5VKZNFN.js";
69
73
  import {
70
74
  claudeJson,
71
75
  claudeMcpReceipt,
@@ -87,22 +91,23 @@ import {
87
91
  geminiSettings,
88
92
  removeCodexHooks,
89
93
  removeCodexSettings
90
- } from "../chunk-KZCYHWDF.js";
91
- import "../chunk-US3IT6ZC.js";
94
+ } from "../chunk-MWLTTLPK.js";
95
+ import "../chunk-CJ5TCFD4.js";
92
96
  import {
93
97
  readFileOrMissing
94
98
  } from "../chunk-QENTGE75.js";
95
- import "../chunk-4XXZUFWN.js";
99
+ import "../chunk-BG4Y64FW.js";
96
100
  import {
97
101
  isInvocationOf
98
- } from "../chunk-BMPZ5HVJ.js";
102
+ } from "../chunk-ERK24P76.js";
99
103
  import "../chunk-QTOLNRET.js";
100
104
  import {
101
105
  DISCONNECTABLE_AGENTS,
102
106
  DISCONNECT_AGENT_IDS,
103
107
  hookCompatibleProfileBySource,
104
108
  normalizeAgentId
105
- } from "../chunk-762CDAJJ.js";
109
+ } from "../chunk-AXJLJJ3M.js";
110
+ import "../chunk-MLKGABMK.js";
106
111
 
107
112
  // bin/pushary-disconnect.ts
108
113
  import { readdirSync, rmSync, writeFileSync } from "fs";
@@ -378,7 +383,16 @@ exitOnHelpFlag("disconnect");
378
383
  var MAC_APP_LEAVES_IT_OFF = (agent) => `The Pushary Mac app will leave ${agent} off until you connect it again, from the app or with pushary setup.`;
379
384
  var MAC_APP_MAY_RESTORE_IT = (agent, file) => `Could not write ${file}, so a running Pushary Mac app may connect ${agent} again. Turn it off in the app's Settings too.`;
380
385
  var rest = process.argv.slice(2);
381
- var typed = rest[0] !== void 0 && isInvocationOf(rest[0], "disconnect") ? rest[1] : rest[0];
386
+ var typed;
387
+ try {
388
+ const args = rest[0] !== void 0 && isInvocationOf(rest[0], "disconnect") ? rest.slice(1) : rest;
389
+ const flags = parseFlags(args, { bools: [], values: [] });
390
+ if (flags.rest.length > 0) throw new UsageError("Expected one agent to disconnect");
391
+ typed = flags.command;
392
+ } catch (err) {
393
+ console.error(err instanceof Error ? err.message : String(err));
394
+ process.exit(EXIT.USAGE);
395
+ }
382
396
  var requested = typed === void 0 ? null : normalizeAgentId(typed, DISCONNECT_AGENT_IDS);
383
397
  var printResult = (agent, changed, kept) => {
384
398
  if (changed.length === 0) console.log(`${agent} was not connected.`);
@@ -4,19 +4,20 @@ import {
4
4
  readServiceExecPath,
5
5
  readSetupFailure,
6
6
  versionManagerOf
7
- } from "../chunk-OZIXBN3O.js";
7
+ } from "../chunk-WFSGCFXQ.js";
8
8
  import {
9
9
  CODEX_HOOK_REMEDY
10
- } from "../chunk-UTJ5465F.js";
10
+ } from "../chunk-QER5R7Z6.js";
11
11
  import {
12
12
  describeWaitLadder
13
13
  } from "../chunk-CVWG2N3Y.js";
14
14
  import {
15
+ writeJsonError,
15
16
  writeStdoutFully
16
- } from "../chunk-EO23EUOK.js";
17
+ } from "../chunk-7BHI3PZN.js";
17
18
  import {
18
19
  fetchChannels
19
- } from "../chunk-KW3DED2A.js";
20
+ } from "../chunk-VX2MJ4X7.js";
20
21
  import {
21
22
  describeAnswerTestPrompt,
22
23
  describeReach,
@@ -25,16 +26,16 @@ import {
25
26
  reachVerdict,
26
27
  roundTripEvidence,
27
28
  verifyRoundTrip
28
- } from "../chunk-2FVP7WRP.js";
29
+ } from "../chunk-HUI4OE43.js";
29
30
  import "../chunk-3EGEA4KH.js";
30
31
  import {
31
32
  readMachineReadiness,
32
33
  readManagedControlEvidence
33
- } from "../chunk-KHDD74MK.js";
34
+ } from "../chunk-7MCCXE5Y.js";
34
35
  import {
35
36
  assessCodexHookTrust,
36
37
  readCodexTrustForPusharyHooks
37
- } from "../chunk-IBXHVYN2.js";
38
+ } from "../chunk-BUZIEL7Y.js";
38
39
  import {
39
40
  HERMES_PIP_PACKAGE,
40
41
  HERMES_PLUGIN_NAME,
@@ -48,18 +49,18 @@ import {
48
49
  resolveHermesPython,
49
50
  shortenHome,
50
51
  vscodeSettingsTargets
51
- } from "../chunk-YQVKG5MC.js";
52
+ } from "../chunk-GDKQUB52.js";
52
53
  import {
53
54
  CONNECTED_THROUGH_MAC_APP,
54
55
  readMacAppConnectionWhenKeyless
55
- } from "../chunk-EHCIQA5D.js";
56
+ } from "../chunk-KPNZ7JUL.js";
56
57
  import "../chunk-QCGNGEGE.js";
57
58
  import {
58
59
  SIGNED_OUT_ON_MAC_MESSAGE,
59
60
  activeKeyVerdictOf,
60
61
  describeSignedOutKey,
61
62
  readSignedOutDiagnosis
62
- } from "../chunk-AY32RSUC.js";
63
+ } from "../chunk-ADR3KHOC.js";
63
64
  import {
64
65
  FX_PROFILE_REFUSALS,
65
66
  FX_PUSHARY_TOOLS_RULE,
@@ -67,8 +68,8 @@ import {
67
68
  hasInstructionBlock,
68
69
  inspectFxInstallation,
69
70
  retryAgentCommand
70
- } from "../chunk-6ONSTCDJ.js";
71
- import "../chunk-3NROUNIS.js";
71
+ } from "../chunk-4VRTSDGP.js";
72
+ import "../chunk-UADSXJZ4.js";
72
73
  import {
73
74
  OPENCODE_PLUGIN_PLACEHOLDER,
74
75
  cliOwnsAnyAgentHooks,
@@ -76,25 +77,25 @@ import {
76
77
  openCodePluginDir,
77
78
  openCodePluginFile,
78
79
  openCodeWired
79
- } from "../chunk-JBCMXSBO.js";
80
+ } from "../chunk-ZGU3NXL2.js";
80
81
  import {
81
82
  createIo
82
83
  } from "../chunk-FO3MDD26.js";
83
84
  import {
84
85
  exitOnHelpFlag
85
- } from "../chunk-UVZK5LIK.js";
86
+ } from "../chunk-K4MBKXAE.js";
86
87
  import {
87
88
  describeMissingControlPrerequisite,
88
89
  detectProviderLiveCapabilities,
89
90
  expectedLaunchCapabilities,
90
91
  hasSpawnProvider,
91
92
  resolveControlPolicy
92
- } from "../chunk-5PP4455M.js";
93
- import "../chunk-M6MOQBR5.js";
93
+ } from "../chunk-G36T5LAP.js";
94
+ import "../chunk-USE5IEEW.js";
94
95
  import "../chunk-VUFHYMSP.js";
95
96
  import {
96
97
  readLedgerSummary
97
- } from "../chunk-RAMQBSVZ.js";
98
+ } from "../chunk-SVQWHV65.js";
98
99
  import {
99
100
  AUTO_UPDATE_DISABLE_ENV,
100
101
  autoUpdateOffReason,
@@ -102,7 +103,7 @@ import {
102
103
  describeAutoUpdateCheck,
103
104
  readAutoUpdateState,
104
105
  takeAutoUpdateAnnouncement
105
- } from "../chunk-5BNXJTOZ.js";
106
+ } from "../chunk-7HDGH3Z2.js";
106
107
  import {
107
108
  compatibleConfigFile,
108
109
  compatibleInstructionsFile,
@@ -110,7 +111,7 @@ import {
110
111
  hasCompatibleHooks,
111
112
  hasCompatibleMcpServer,
112
113
  missingCompatibleHookEvents
113
- } from "../chunk-KQWN7C5C.js";
114
+ } from "../chunk-GKFO5JLN.js";
114
115
  import {
115
116
  daemonHasRemoteProof,
116
117
  daemonServiceManagerAvailable,
@@ -119,7 +120,7 @@ import {
119
120
  readDaemonNeedsLogin,
120
121
  readDaemonStatus,
121
122
  readInstalledDaemonService
122
- } from "../chunk-4QF2YLYK.js";
123
+ } from "../chunk-LBHJJEKT.js";
123
124
  import {
124
125
  claudeOtherHolders,
125
126
  claudeUnprovenHolds,
@@ -140,48 +141,48 @@ import {
140
141
  liveBridgeProbe,
141
142
  pusharyHookExecutable,
142
143
  resolveBridgeStub
143
- } from "../chunk-X4ES7QBT.js";
144
+ } from "../chunk-BJTSKOH3.js";
144
145
  import {
145
146
  GEMINI_HOOK_BINARY,
146
147
  hasGeminiHooks,
147
148
  missingGeminiHookEvents
148
- } from "../chunk-TDOKDCFH.js";
149
- import "../chunk-75UYYIFJ.js";
150
- import "../chunk-AS4Z6KS4.js";
149
+ } from "../chunk-RGSW36XH.js";
150
+ import "../chunk-XV6S5PWW.js";
151
+ import "../chunk-IFPOHFDJ.js";
151
152
  import {
152
153
  parseFlags
153
- } from "../chunk-GMXKITVA.js";
154
+ } from "../chunk-NMUI3ZWG.js";
154
155
  import "../chunk-XHKBHWLX.js";
155
156
  import "../chunk-6ICPEJY5.js";
156
157
  import {
157
158
  keyPrefix,
158
159
  readControlMode,
159
160
  readKeySource
160
- } from "../chunk-KAJDKYUM.js";
161
- import "../chunk-5JWCWALO.js";
162
- import "../chunk-W47WL6JY.js";
163
- import "../chunk-XGP5VSQG.js";
164
- import "../chunk-WW24SG27.js";
161
+ } from "../chunk-WN3RACVD.js";
162
+ import "../chunk-DQLCFGHK.js";
163
+ import "../chunk-33OOEVPG.js";
164
+ import "../chunk-YPD3MTFU.js";
165
+ import "../chunk-RJHX66EY.js";
165
166
  import {
166
167
  callMcpTool,
167
168
  sendMcpRequest
168
- } from "../chunk-5EFNBL6V.js";
169
+ } from "../chunk-XAO6EYGM.js";
169
170
  import "../chunk-POFBE6ZY.js";
170
171
  import {
171
172
  checkApiKey,
172
173
  describeKeyCheck
173
- } from "../chunk-MA37WNVS.js";
174
- import "../chunk-JAKBCKEB.js";
174
+ } from "../chunk-YDR4BQ7R.js";
175
+ import "../chunk-7BAO42UV.js";
175
176
  import {
176
177
  getMachineId
177
- } from "../chunk-M46WDK64.js";
178
+ } from "../chunk-SFAP4AJY.js";
178
179
  import {
179
180
  UsageError
180
- } from "../chunk-7QLSKOSU.js";
181
+ } from "../chunk-PPY5N2E6.js";
181
182
  import {
182
183
  EXIT
183
184
  } from "../chunk-KZERVKTD.js";
184
- import "../chunk-3RKIJM26.js";
185
+ import "../chunk-Y5VKZNFN.js";
185
186
  import {
186
187
  CODEX_HOOK_EVENTS,
187
188
  CODEX_REQUIRED_APPROVAL_EVENTS,
@@ -209,19 +210,19 @@ import {
209
210
  pusharyConfigFile,
210
211
  readCodexMcpAuth,
211
212
  vscodePluginDir
212
- } from "../chunk-KZCYHWDF.js";
213
+ } from "../chunk-MWLTTLPK.js";
213
214
  import {
214
215
  fetchLatestPublishedVersion,
215
216
  readGlobalCliInstall,
216
217
  resolvePathBinary
217
- } from "../chunk-US3IT6ZC.js";
218
+ } from "../chunk-CJ5TCFD4.js";
218
219
  import "../chunk-QENTGE75.js";
219
220
  import {
220
221
  getBaseUrl
221
- } from "../chunk-4XXZUFWN.js";
222
+ } from "../chunk-BG4Y64FW.js";
222
223
  import {
223
224
  NPX_LATEST_COMMAND
224
- } from "../chunk-BMPZ5HVJ.js";
225
+ } from "../chunk-ERK24P76.js";
225
226
  import {
226
227
  commandsPackage,
227
228
  getPackageVersion,
@@ -238,8 +239,10 @@ import {
238
239
  SUPPORT_EMAIL,
239
240
  hookActivationResult,
240
241
  hookCompatibleProfile,
241
- isHookActivationReport
242
- } from "../chunk-762CDAJJ.js";
242
+ isHookActivationReport,
243
+ redactSecretsFromContent
244
+ } from "../chunk-AXJLJJ3M.js";
245
+ import "../chunk-MLKGABMK.js";
243
246
 
244
247
  // bin/pushary-doctor.ts
245
248
  import { existsSync, readFileSync, writeFileSync } from "fs";
@@ -353,7 +356,7 @@ var stripWorkspace = (identity) => {
353
356
  };
354
357
  var KEY_PATTERN = /pk_[A-Za-z0-9_]+\.[A-Za-z0-9_]+/g;
355
358
  var homePattern = () => new RegExp(homedir().replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "g");
356
- var redactText = (text) => text.replace(KEY_PATTERN, (match) => `${match.split(".")[0]}.REDACTED`).replace(homePattern(), "~").replace(new RegExp(hostname().replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "g"), "HOST");
359
+ var redactText = (text) => text.replace(/\bhttps?:\/\/[^\s"]+/gi, redactSecretsFromContent).replace(KEY_PATTERN, (match) => `${match.split(".")[0]}.REDACTED`).replace(homePattern(), "~").replace(new RegExp(hostname().replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "g"), "HOST");
357
360
  var redact = (bundle) => JSON.parse(redactText(JSON.stringify(bundle)));
358
361
  var bundleFileName = (bundle) => `pushary-diagnostics-${bundle.generatedAt.replace(/[:.]/g, "-")}.json`;
359
362
 
@@ -539,10 +542,11 @@ var options;
539
542
  try {
540
543
  options = parseDoctorOptions(process.argv.slice(2));
541
544
  } catch (err) {
545
+ const { exitCode } = await writeJsonError("doctor", err);
542
546
  process.stderr.write(` ! ${err instanceof Error ? err.message : String(err)}
543
547
  `);
544
548
  process.stderr.write(" Run `pushary doctor --help` for the full list.\n");
545
- process.exit(EXIT.USAGE);
549
+ process.exit(exitCode);
546
550
  }
547
551
  if (options.json) {
548
552
  console.log = (...args) => {
@@ -773,7 +777,7 @@ var main = async () => {
773
777
  const claudeAuth = pusharyServer.headers?.Authorization;
774
778
  if (typeof claudeAuth === "string" && apiKey) {
775
779
  const matches = claudeAuth === `Bearer ${apiKey}`;
776
- check(matches, "Claude Code: MCP key matches active key", matches ? void 0 : "the key in ~/.claude.json is not the key hooks use (rotated?) \u2014 re-run setup");
780
+ check(matches, "Claude Code: MCP key matches active key", matches ? void 0 : `the key in ${shortenHome(CLAUDE_JSON)} is not the key hooks use (rotated?) \u2014 re-run setup`);
777
781
  }
778
782
  }
779
783
  }
@@ -1531,7 +1535,8 @@ var main = async () => {
1531
1535
  }
1532
1536
  process.exit(exitCode);
1533
1537
  };
1534
- main().catch((err) => {
1538
+ main().catch(async (err) => {
1539
+ const { exitCode } = await writeJsonError("doctor", err);
1535
1540
  console.error(` doctor failed: ${err instanceof Error ? err.message : String(err)}`);
1536
- process.exit(1);
1541
+ process.exit(exitCode);
1537
1542
  });
@@ -1,53 +1,53 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-KQHY6L3X.js";
4
+ } from "../chunk-6FJ6CK32.js";
5
5
  import {
6
6
  announceSubscriptionRequired,
7
7
  isDeferAnswer
8
- } from "../chunk-LAEW5QQD.js";
9
- import "../chunk-2WMZDKPM.js";
8
+ } from "../chunk-ZEWIMY63.js";
9
+ import "../chunk-EUIPTDLX.js";
10
10
  import "../chunk-QW3FRUFB.js";
11
- import "../chunk-KQWN7C5C.js";
12
- import "../chunk-4QF2YLYK.js";
13
- import "../chunk-X4ES7QBT.js";
14
- import "../chunk-TDOKDCFH.js";
15
- import "../chunk-75UYYIFJ.js";
16
- import "../chunk-AS4Z6KS4.js";
17
- import "../chunk-GMXKITVA.js";
18
- import "../chunk-PVANKDWM.js";
19
- import "../chunk-3N2ZTHZZ.js";
20
- import "../chunk-D6CXQIXO.js";
11
+ import "../chunk-GKFO5JLN.js";
12
+ import "../chunk-LBHJJEKT.js";
13
+ import "../chunk-BJTSKOH3.js";
14
+ import "../chunk-RGSW36XH.js";
15
+ import "../chunk-XV6S5PWW.js";
16
+ import "../chunk-IFPOHFDJ.js";
17
+ import "../chunk-NMUI3ZWG.js";
18
+ import "../chunk-2AELPDMT.js";
19
+ import "../chunk-GAMVAORR.js";
20
+ import "../chunk-7JXJJNQ5.js";
21
21
  import "../chunk-XHKBHWLX.js";
22
22
  import "../chunk-6ICPEJY5.js";
23
- import "../chunk-KAJDKYUM.js";
24
- import "../chunk-5JWCWALO.js";
25
- import "../chunk-W47WL6JY.js";
26
- import "../chunk-XGP5VSQG.js";
23
+ import "../chunk-WN3RACVD.js";
24
+ import "../chunk-DQLCFGHK.js";
25
+ import "../chunk-33OOEVPG.js";
26
+ import "../chunk-YPD3MTFU.js";
27
27
  import {
28
28
  askUser,
29
29
  isDecisionStopped,
30
30
  waitForQuestion
31
- } from "../chunk-WW24SG27.js";
31
+ } from "../chunk-RJHX66EY.js";
32
32
  import {
33
33
  SubscriptionRequiredError
34
- } from "../chunk-5EFNBL6V.js";
34
+ } from "../chunk-XAO6EYGM.js";
35
35
  import "../chunk-POFBE6ZY.js";
36
- import "../chunk-MA37WNVS.js";
37
- import "../chunk-JAKBCKEB.js";
36
+ import "../chunk-YDR4BQ7R.js";
37
+ import "../chunk-7BAO42UV.js";
38
38
  import {
39
39
  getMachineId
40
- } from "../chunk-M46WDK64.js";
41
- import "../chunk-7QLSKOSU.js";
40
+ } from "../chunk-SFAP4AJY.js";
41
+ import "../chunk-PPY5N2E6.js";
42
42
  import "../chunk-KZERVKTD.js";
43
- import "../chunk-3RKIJM26.js";
44
- import "../chunk-KZCYHWDF.js";
45
- import "../chunk-US3IT6ZC.js";
43
+ import "../chunk-Y5VKZNFN.js";
44
+ import "../chunk-MWLTTLPK.js";
45
+ import "../chunk-CJ5TCFD4.js";
46
46
  import "../chunk-QENTGE75.js";
47
47
  import {
48
48
  getApiKey
49
- } from "../chunk-4XXZUFWN.js";
50
- import "../chunk-BMPZ5HVJ.js";
49
+ } from "../chunk-BG4Y64FW.js";
50
+ import "../chunk-ERK24P76.js";
51
51
  import "../chunk-QTOLNRET.js";
52
52
  import {
53
53
  ELICITATION_ANSWERABLE_MODE,
@@ -59,7 +59,8 @@ import {
59
59
  planElicitationAsk,
60
60
  readElicitationFields,
61
61
  renderElicitationOutput
62
- } from "../chunk-762CDAJJ.js";
62
+ } from "../chunk-AXJLJJ3M.js";
63
+ import "../chunk-MLKGABMK.js";
63
64
 
64
65
  // bin/pushary-elicitation-hook.ts
65
66
  import { basename } from "path";
@@ -5,43 +5,44 @@ import {
5
5
  postLiveSession,
6
6
  postLiveSessionUntilAccepted,
7
7
  startLiveSessionHeartbeat
8
- } from "../chunk-V3PDUDPB.js";
8
+ } from "../chunk-ELLJPP6O.js";
9
9
  import {
10
10
  resolveProviderBinary
11
- } from "../chunk-5PP4455M.js";
12
- import "../chunk-M6MOQBR5.js";
11
+ } from "../chunk-G36T5LAP.js";
12
+ import "../chunk-USE5IEEW.js";
13
13
  import {
14
14
  SESSION_IDLE_TIMEOUT_MS,
15
15
  describeIdleWindow,
16
16
  idleDeadlinePassed,
17
17
  startProcessOwnership,
18
18
  withSpawnProcessOwnership
19
- } from "../chunk-MSU3VKGJ.js";
19
+ } from "../chunk-SHJVFW22.js";
20
20
  import "../chunk-VUFHYMSP.js";
21
- import "../chunk-PVANKDWM.js";
22
- import "../chunk-3N2ZTHZZ.js";
21
+ import "../chunk-2AELPDMT.js";
22
+ import "../chunk-GAMVAORR.js";
23
23
  import {
24
24
  transcriptsEnabled
25
- } from "../chunk-D6CXQIXO.js";
25
+ } from "../chunk-7JXJJNQ5.js";
26
26
  import {
27
27
  spawnClaude
28
28
  } from "../chunk-XHKBHWLX.js";
29
29
  import "../chunk-6ICPEJY5.js";
30
- import "../chunk-KAJDKYUM.js";
30
+ import "../chunk-WN3RACVD.js";
31
31
  import {
32
32
  getMachineId
33
- } from "../chunk-M46WDK64.js";
34
- import "../chunk-3RKIJM26.js";
35
- import "../chunk-KZCYHWDF.js";
36
- import "../chunk-US3IT6ZC.js";
33
+ } from "../chunk-SFAP4AJY.js";
34
+ import "../chunk-Y5VKZNFN.js";
35
+ import "../chunk-MWLTTLPK.js";
36
+ import "../chunk-CJ5TCFD4.js";
37
37
  import "../chunk-QENTGE75.js";
38
38
  import {
39
39
  getApiKey,
40
40
  getBaseUrl
41
- } from "../chunk-4XXZUFWN.js";
42
- import "../chunk-BMPZ5HVJ.js";
41
+ } from "../chunk-BG4Y64FW.js";
42
+ import "../chunk-ERK24P76.js";
43
43
  import "../chunk-QTOLNRET.js";
44
- import "../chunk-762CDAJJ.js";
44
+ import "../chunk-AXJLJJ3M.js";
45
+ import "../chunk-MLKGABMK.js";
45
46
 
46
47
  // bin/pushary-gemini-bridge.ts
47
48
  import { existsSync } from "fs";
@@ -2,32 +2,32 @@
2
2
  import {
3
3
  isGatingMoment,
4
4
  recordKeylessMoment
5
- } from "../chunk-RAMQBSVZ.js";
5
+ } from "../chunk-SVQWHV65.js";
6
6
  import {
7
7
  triggerAutoUpdate
8
- } from "../chunk-5BNXJTOZ.js";
8
+ } from "../chunk-7HDGH3Z2.js";
9
9
  import {
10
10
  readHookInput
11
- } from "../chunk-KQHY6L3X.js";
11
+ } from "../chunk-6FJ6CK32.js";
12
12
  import {
13
13
  announceSubscriptionRequired,
14
14
  isDeferAnswer
15
- } from "../chunk-LAEW5QQD.js";
16
- import "../chunk-2WMZDKPM.js";
15
+ } from "../chunk-ZEWIMY63.js";
16
+ import "../chunk-EUIPTDLX.js";
17
17
  import "../chunk-QW3FRUFB.js";
18
- import "../chunk-KQWN7C5C.js";
19
- import "../chunk-4QF2YLYK.js";
20
- import "../chunk-X4ES7QBT.js";
21
- import "../chunk-TDOKDCFH.js";
22
- import "../chunk-75UYYIFJ.js";
23
- import "../chunk-AS4Z6KS4.js";
24
- import "../chunk-GMXKITVA.js";
25
- import "../chunk-PVANKDWM.js";
26
- import "../chunk-3N2ZTHZZ.js";
27
- import "../chunk-D6CXQIXO.js";
18
+ import "../chunk-GKFO5JLN.js";
19
+ import "../chunk-LBHJJEKT.js";
20
+ import "../chunk-BJTSKOH3.js";
21
+ import "../chunk-RGSW36XH.js";
22
+ import "../chunk-XV6S5PWW.js";
23
+ import "../chunk-IFPOHFDJ.js";
24
+ import "../chunk-NMUI3ZWG.js";
25
+ import "../chunk-2AELPDMT.js";
26
+ import "../chunk-GAMVAORR.js";
27
+ import "../chunk-7JXJJNQ5.js";
28
28
  import "../chunk-XHKBHWLX.js";
29
29
  import "../chunk-6ICPEJY5.js";
30
- import "../chunk-KAJDKYUM.js";
30
+ import "../chunk-WN3RACVD.js";
31
31
  import {
32
32
  DEFAULT_SESSION,
33
33
  UNNAMED_ACTION,
@@ -46,11 +46,11 @@ import {
46
46
  readLastUserPrompt,
47
47
  reportEvent,
48
48
  scopePathFor
49
- } from "../chunk-5JWCWALO.js";
50
- import "../chunk-W47WL6JY.js";
49
+ } from "../chunk-DQLCFGHK.js";
50
+ import "../chunk-33OOEVPG.js";
51
51
  import {
52
52
  repoKeyFor
53
- } from "../chunk-XGP5VSQG.js";
53
+ } from "../chunk-YPD3MTFU.js";
54
54
  import {
55
55
  askUser,
56
56
  exitAfterClientReports,
@@ -58,28 +58,28 @@ import {
58
58
  isLocalQuestionHandoff,
59
59
  sendNotification,
60
60
  waitForQuestion
61
- } from "../chunk-WW24SG27.js";
61
+ } from "../chunk-RJHX66EY.js";
62
62
  import {
63
63
  SubscriptionRequiredError
64
- } from "../chunk-5EFNBL6V.js";
64
+ } from "../chunk-XAO6EYGM.js";
65
65
  import "../chunk-POFBE6ZY.js";
66
- import "../chunk-MA37WNVS.js";
67
- import "../chunk-JAKBCKEB.js";
66
+ import "../chunk-YDR4BQ7R.js";
67
+ import "../chunk-7BAO42UV.js";
68
68
  import {
69
69
  getMachineId
70
- } from "../chunk-M46WDK64.js";
71
- import "../chunk-7QLSKOSU.js";
70
+ } from "../chunk-SFAP4AJY.js";
71
+ import "../chunk-PPY5N2E6.js";
72
72
  import {
73
73
  EXIT
74
74
  } from "../chunk-KZERVKTD.js";
75
- import "../chunk-3RKIJM26.js";
76
- import "../chunk-KZCYHWDF.js";
77
- import "../chunk-US3IT6ZC.js";
75
+ import "../chunk-Y5VKZNFN.js";
76
+ import "../chunk-MWLTTLPK.js";
77
+ import "../chunk-CJ5TCFD4.js";
78
78
  import "../chunk-QENTGE75.js";
79
79
  import {
80
80
  getApiKey
81
- } from "../chunk-4XXZUFWN.js";
82
- import "../chunk-BMPZ5HVJ.js";
81
+ } from "../chunk-BG4Y64FW.js";
82
+ import "../chunk-ERK24P76.js";
83
83
  import "../chunk-QTOLNRET.js";
84
84
  import {
85
85
  DECISION_STOP_REASON,
@@ -91,7 +91,8 @@ import {
91
91
  hookWaitClamped,
92
92
  hookWaitDeadline,
93
93
  resolveGate
94
- } from "../chunk-762CDAJJ.js";
94
+ } from "../chunk-AXJLJJ3M.js";
95
+ import "../chunk-MLKGABMK.js";
95
96
 
96
97
  // bin/pushary-gemini-hook.ts
97
98
  import { basename } from "path";