pushary 1.9.58 → 1.9.60

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 (126) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/data/cursor-plugin/.cursor-plugin/plugin.json +5 -1
  3. package/data/cursor-plugin/CHANGELOG.md +4 -0
  4. package/dist/{api-WVXBM4MR.js → api-ASQA5PZM.js} +11 -11
  5. package/dist/bin/pushary-bell-hook.js +29 -29
  6. package/dist/bin/pushary-bell.js +12 -12
  7. package/dist/bin/pushary-claude.js +31 -30
  8. package/dist/bin/pushary-clean.js +58 -53
  9. package/dist/bin/pushary-codex-bridge.js +22 -22
  10. package/dist/bin/pushary-codex-hook.js +34 -34
  11. package/dist/bin/pushary-codex-session.js +8 -8
  12. package/dist/bin/pushary-codex.js +15 -15
  13. package/dist/bin/pushary-connect.js +29 -29
  14. package/dist/bin/pushary-cowork.js +7 -7
  15. package/dist/bin/pushary-daemon.js +39 -39
  16. package/dist/bin/pushary-disconnect.js +42 -29
  17. package/dist/bin/pushary-doctor.js +51 -47
  18. package/dist/bin/pushary-elicitation-hook.js +29 -29
  19. package/dist/bin/pushary-gemini-bridge.js +15 -15
  20. package/dist/bin/pushary-gemini-hook.js +31 -31
  21. package/dist/bin/pushary-hook.js +33 -33
  22. package/dist/bin/pushary-login.js +22 -19
  23. package/dist/bin/pushary-logout.js +36 -31
  24. package/dist/bin/pushary-mcp.js +12 -12
  25. package/dist/bin/pushary-mode.js +41 -55
  26. package/dist/bin/pushary-notification-hook.js +28 -28
  27. package/dist/bin/pushary-opencode-hook.js +30 -30
  28. package/dist/bin/pushary-permission-denied-hook.js +33 -33
  29. package/dist/bin/pushary-permission-hook.js +32 -32
  30. package/dist/bin/pushary-post-hook.js +28 -28
  31. package/dist/bin/pushary-prompt-hook.js +28 -28
  32. package/dist/bin/pushary-session-end-hook.js +28 -28
  33. package/dist/bin/pushary-session-start-hook.js +35 -35
  34. package/dist/bin/pushary-setup.js +49 -46
  35. package/dist/bin/pushary-stats.js +5 -5
  36. package/dist/bin/pushary-status.js +41 -36
  37. package/dist/bin/pushary-stop-hook.js +28 -28
  38. package/dist/bin/pushary-stopfailure-hook.js +28 -28
  39. package/dist/bin/pushary-suggestions.js +33 -39
  40. package/dist/bin/pushary-transcript-register.js +20 -20
  41. package/dist/bin/pushary-transcripts.js +33 -20
  42. package/dist/bin/pushary-upgrade.js +71 -50
  43. package/dist/bin/pushary-wait.js +36 -42
  44. package/dist/bin/pushary.js +8 -8
  45. package/dist/{chunk-JSQOHMNJ.js → chunk-2AELPDMT.js} +1 -1
  46. package/dist/{chunk-WVP6UQG3.js → chunk-2QREHU4O.js} +11 -4
  47. package/dist/{chunk-QTCFEKLJ.js → chunk-33OOEVPG.js} +1 -1
  48. package/dist/{chunk-QDFLBTUP.js → chunk-4MUFZU2G.js} +1 -1
  49. package/dist/{chunk-5DZHKNBU.js → chunk-4MWRR5IT.js} +8 -7
  50. package/dist/{chunk-XEJV3QSS.js → chunk-4PZXI7WU.js} +3 -3
  51. package/dist/{chunk-UMVVQXAC.js → chunk-56JCQQLS.js} +2 -2
  52. package/dist/{chunk-JZKEC4XJ.js → chunk-5RU35K57.js} +3 -12
  53. package/dist/{chunk-HRHAZ3GE.js → chunk-625DZLT5.js} +6 -6
  54. package/dist/{chunk-3KOPY2UQ.js → chunk-6LOQE4J4.js} +3 -3
  55. package/dist/{chunk-K5CAURU5.js → chunk-6MC2XXFD.js} +4 -4
  56. package/dist/{chunk-MYBCXDIL.js → chunk-6MJWYYAS.js} +62 -49
  57. package/dist/chunk-7BHI3PZN.js +41 -0
  58. package/dist/{chunk-C3IWX6KU.js → chunk-7JXJJNQ5.js} +1 -1
  59. package/dist/{chunk-CK5BCFQF.js → chunk-7WFRY6OL.js} +2 -2
  60. package/dist/{chunk-4YNNAF53.js → chunk-ADR3KHOC.js} +2 -2
  61. package/dist/{chunk-XTZHUIGJ.js → chunk-ATKN4BJT.js} +1 -1
  62. package/dist/{chunk-GZL3KEPC.js → chunk-AXJLJJ3M.js} +147 -136
  63. package/dist/{chunk-LVDC3RUE.js → chunk-BG4Y64FW.js} +1 -1
  64. package/dist/{chunk-KSVCCSAO.js → chunk-CDQHQAS7.js} +9 -7
  65. package/dist/{chunk-TN74MUMB.js → chunk-CEQ2AZH4.js} +13 -13
  66. package/dist/{chunk-X6F4BQEE.js → chunk-CSOROFJY.js} +5 -5
  67. package/dist/{chunk-CZULJ647.js → chunk-DJ7EZIQA.js} +3 -3
  68. package/dist/{chunk-IUOUNRLH.js → chunk-ELLJPP6O.js} +2 -2
  69. package/dist/{chunk-5SFM6XB4.js → chunk-ERK24P76.js} +12 -2
  70. package/dist/{chunk-DQ565WFA.js → chunk-EZHY65QA.js} +21 -11
  71. package/dist/{chunk-4LUPZ347.js → chunk-FDWMG6NY.js} +2 -2
  72. package/dist/{chunk-S5LX25XE.js → chunk-FUZ5VYWD.js} +1 -1
  73. package/dist/{chunk-N3NSWWNU.js → chunk-GAMVAORR.js} +1 -1
  74. package/dist/{chunk-QP3XPS5U.js → chunk-HC3FHDKB.js} +6 -6
  75. package/dist/{chunk-ATUZX4K7.js → chunk-IF26ZGZ7.js} +3 -3
  76. package/dist/{chunk-CSQJCXPX.js → chunk-J4KQL7YZ.js} +5 -5
  77. package/dist/{chunk-M7NX25ZA.js → chunk-K4MBKXAE.js} +1 -1
  78. package/dist/{chunk-PZOFPAPG.js → chunk-L3AFVFGQ.js} +2 -2
  79. package/dist/{chunk-S54YLXWW.js → chunk-METMK3L4.js} +4 -4
  80. package/dist/{chunk-ZEHUWE3X.js → chunk-MUNL23WE.js} +6 -6
  81. package/dist/{chunk-3TJLPABQ.js → chunk-NKLNU577.js} +5 -5
  82. package/dist/{chunk-GMXKITVA.js → chunk-NMUI3ZWG.js} +1 -1
  83. package/dist/{chunk-IJ6XKKQW.js → chunk-O6IUZGWV.js} +1 -1
  84. package/dist/chunk-PPY5N2E6.js +58 -0
  85. package/dist/{chunk-XWY4UW62.js → chunk-PUHP4IBA.js} +4 -4
  86. package/dist/{chunk-T2AC5VFQ.js → chunk-QGSHV3WO.js} +5 -5
  87. package/dist/{chunk-RGQEULXD.js → chunk-QLMOU57V.js} +28 -17
  88. package/dist/{chunk-FAGDOPQI.js → chunk-QUBIEZXC.js} +3 -3
  89. package/dist/{chunk-XFUKCBPU.js → chunk-RLVJ6TVL.js} +23 -23
  90. package/dist/{chunk-VPZ5K72D.js → chunk-RPPXQNIA.js} +1 -1
  91. package/dist/{chunk-MCHOBQHE.js → chunk-S54C6TQC.js} +7 -6
  92. package/dist/{chunk-ZL3UR6M5.js → chunk-SEILUNWB.js} +3 -3
  93. package/dist/{chunk-4JJ3T7IE.js → chunk-SOCJ2N3E.js} +6 -6
  94. package/dist/{chunk-JYXIARGW.js → chunk-SVQWHV65.js} +1 -1
  95. package/dist/{chunk-T2BEIPK2.js → chunk-U7NR4JVD.js} +4 -4
  96. package/dist/{chunk-LVWXRXT7.js → chunk-USE5IEEW.js} +1 -1
  97. package/dist/{chunk-OHD35NPC.js → chunk-V57XLKZL.js} +2 -2
  98. package/dist/{chunk-KIH5BDH5.js → chunk-VIJIG5YL.js} +2 -2
  99. package/dist/{chunk-RF74KBF5.js → chunk-W2IVTHIG.js} +9 -9
  100. package/dist/{chunk-WXZN5CS3.js → chunk-WFSGCFXQ.js} +2 -2
  101. package/dist/{chunk-IRZ5FVWG.js → chunk-WN3RACVD.js} +3 -3
  102. package/dist/{chunk-3WNOO7BM.js → chunk-WXPVVXBU.js} +4 -4
  103. package/dist/{chunk-HUWLEVL2.js → chunk-WXZHQ3TT.js} +5 -5
  104. package/dist/chunk-X3YKQJCZ.js +36 -0
  105. package/dist/{chunk-I43PY5G3.js → chunk-XEJOPVCG.js} +1 -1
  106. package/dist/{chunk-ECJJKDP7.js → chunk-XV6S5PWW.js} +3 -3
  107. package/dist/{chunk-ZJNU32VE.js → chunk-Y5V4PA2Z.js} +155 -37
  108. package/dist/{chunk-7RZO6VWD.js → chunk-Y5VKZNFN.js} +2 -2
  109. package/dist/{chunk-VLJ5C6IT.js → chunk-YGE6ML3O.js} +4 -4
  110. package/dist/{chunk-XXNT4FGA.js → chunk-YPD3MTFU.js} +1 -1
  111. package/dist/{chunk-KW6EYFZV.js → chunk-ZGOJLNKS.js} +4 -4
  112. package/dist/{codex-app-cards-switch-TVKXJWXE.js → codex-app-cards-switch-ZO76D2NY.js} +11 -11
  113. package/dist/{codex-desktop-launch-ROTJEEGF.js → codex-desktop-launch-MJT5E3O3.js} +1 -1
  114. package/dist/{codex-session-launch-VL6ZQA3N.js → codex-session-launch-PTFCVIC7.js} +19 -19
  115. package/dist/{config-SYLUYZQE.js → config-SXV6XNVU.js} +3 -3
  116. package/dist/{global-upgrade-IPWV5PTM.js → global-upgrade-ETDP32LO.js} +9 -9
  117. package/dist/{identity-ARPAUNGN.js → identity-OOLIOSMR.js} +4 -4
  118. package/dist/{live-capabilities-EWTRY2HA.js → live-capabilities-2XIFA7YO.js} +4 -4
  119. package/dist/{paths-IZTNMJAQ.js → paths-IIOQZESZ.js} +3 -3
  120. package/dist/{reapply-ILKOYYKA.js → reapply-KFAJSKOQ.js} +28 -28
  121. package/dist/src/index.js +22 -22
  122. package/dist/{upgrade-lock-ML73QXIG.js → upgrade-lock-T6ILR644.js} +4 -4
  123. package/dist/{usage-OUV76AIY.js → usage-6TN7FVWS.js} +3 -3
  124. package/package.json +1 -1
  125. package/dist/chunk-7QLSKOSU.js +0 -19
  126. package/dist/chunk-EO23EUOK.js +0 -14
@@ -2,17 +2,17 @@
2
2
  import {
3
3
  declinedAgentsFile,
4
4
  recordDeclinedAgent
5
- } from "../chunk-PZOFPAPG.js";
5
+ } from "../chunk-L3AFVFGQ.js";
6
6
  import {
7
7
  isCursorPluginLeftover,
8
8
  isPusharyCursorPluginManifest,
9
9
  releaseSoleGate
10
- } from "../chunk-3WNOO7BM.js";
10
+ } from "../chunk-WXPVVXBU.js";
11
11
  import {
12
12
  planFxRemoval,
13
13
  removeInstructionBlock
14
- } from "../chunk-HUWLEVL2.js";
15
- import "../chunk-4LUPZ347.js";
14
+ } from "../chunk-WXZHQ3TT.js";
15
+ import "../chunk-FDWMG6NY.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-T2AC5VFQ.js";
27
+ } from "../chunk-QGSHV3WO.js";
28
28
  import {
29
29
  exitOnHelpFlag
30
- } from "../chunk-M7NX25ZA.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-XWY4UW62.js";
46
- import "../chunk-KSVCCSAO.js";
45
+ } from "../chunk-PUHP4IBA.js";
46
+ import "../chunk-CDQHQAS7.js";
47
47
  import {
48
48
  removeGeminiSettings
49
- } from "../chunk-ATUZX4K7.js";
50
- import "../chunk-ECJJKDP7.js";
51
- import "../chunk-QDFLBTUP.js";
52
- import "../chunk-GMXKITVA.js";
49
+ } from "../chunk-IF26ZGZ7.js";
50
+ import "../chunk-XV6S5PWW.js";
51
+ import "../chunk-4MUFZU2G.js";
52
+ import {
53
+ parseFlags
54
+ } from "../chunk-NMUI3ZWG.js";
53
55
  import "../chunk-6ICPEJY5.js";
54
- import "../chunk-IRZ5FVWG.js";
55
- import "../chunk-RF74KBF5.js";
56
- import "../chunk-QTCFEKLJ.js";
57
- import "../chunk-XXNT4FGA.js";
58
- import "../chunk-DQ565WFA.js";
59
- import "../chunk-ZL3UR6M5.js";
56
+ import "../chunk-WN3RACVD.js";
57
+ import "../chunk-W2IVTHIG.js";
58
+ import "../chunk-33OOEVPG.js";
59
+ import "../chunk-YPD3MTFU.js";
60
+ import "../chunk-EZHY65QA.js";
61
+ import "../chunk-SEILUNWB.js";
60
62
  import "../chunk-POFBE6ZY.js";
61
- import "../chunk-S54YLXWW.js";
62
- import "../chunk-5DZHKNBU.js";
63
- import "../chunk-IJ6XKKQW.js";
64
- import "../chunk-7QLSKOSU.js";
63
+ import "../chunk-METMK3L4.js";
64
+ import "../chunk-4MWRR5IT.js";
65
+ import "../chunk-O6IUZGWV.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-7RZO6VWD.js";
72
+ import "../chunk-Y5VKZNFN.js";
69
73
  import {
70
74
  claudeJson,
71
75
  claudeMcpReceipt,
@@ -87,22 +91,22 @@ import {
87
91
  geminiSettings,
88
92
  removeCodexHooks,
89
93
  removeCodexSettings
90
- } from "../chunk-MYBCXDIL.js";
91
- import "../chunk-WVP6UQG3.js";
94
+ } from "../chunk-6MJWYYAS.js";
95
+ import "../chunk-2QREHU4O.js";
92
96
  import {
93
97
  readFileOrMissing
94
98
  } from "../chunk-QENTGE75.js";
95
- import "../chunk-LVDC3RUE.js";
99
+ import "../chunk-BG4Y64FW.js";
96
100
  import {
97
101
  isInvocationOf
98
- } from "../chunk-5SFM6XB4.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-GZL3KEPC.js";
109
+ } from "../chunk-AXJLJJ3M.js";
106
110
 
107
111
  // bin/pushary-disconnect.ts
108
112
  import { readdirSync, rmSync, writeFileSync } from "fs";
@@ -378,7 +382,16 @@ exitOnHelpFlag("disconnect");
378
382
  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
383
  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
384
  var rest = process.argv.slice(2);
381
- var typed = rest[0] !== void 0 && isInvocationOf(rest[0], "disconnect") ? rest[1] : rest[0];
385
+ var typed;
386
+ try {
387
+ const args = rest[0] !== void 0 && isInvocationOf(rest[0], "disconnect") ? rest.slice(1) : rest;
388
+ const flags = parseFlags(args, { bools: [], values: [] });
389
+ if (flags.rest.length > 0) throw new UsageError("Expected one agent to disconnect");
390
+ typed = flags.command;
391
+ } catch (err) {
392
+ console.error(err instanceof Error ? err.message : String(err));
393
+ process.exit(EXIT.USAGE);
394
+ }
382
395
  var requested = typed === void 0 ? null : normalizeAgentId(typed, DISCONNECT_AGENT_IDS);
383
396
  var printResult = (agent, changed, kept) => {
384
397
  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-WXZN5CS3.js";
7
+ } from "../chunk-WFSGCFXQ.js";
8
8
  import {
9
9
  CODEX_HOOK_REMEDY
10
- } from "../chunk-OHD35NPC.js";
10
+ } from "../chunk-V57XLKZL.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-KW6EYFZV.js";
20
+ } from "../chunk-ZGOJLNKS.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-CZULJ647.js";
29
+ } from "../chunk-DJ7EZIQA.js";
29
30
  import "../chunk-3EGEA4KH.js";
30
31
  import {
31
32
  readMachineReadiness,
32
33
  readManagedControlEvidence
33
- } from "../chunk-CSQJCXPX.js";
34
+ } from "../chunk-J4KQL7YZ.js";
34
35
  import {
35
36
  assessCodexHookTrust,
36
37
  readCodexTrustForPusharyHooks
37
- } from "../chunk-UMVVQXAC.js";
38
+ } from "../chunk-56JCQQLS.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-MCHOBQHE.js";
52
+ } from "../chunk-S54C6TQC.js";
52
53
  import {
53
54
  CONNECTED_THROUGH_MAC_APP,
54
55
  readMacAppConnectionWhenKeyless
55
- } from "../chunk-T2BEIPK2.js";
56
+ } from "../chunk-U7NR4JVD.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-4YNNAF53.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-HUWLEVL2.js";
71
- import "../chunk-4LUPZ347.js";
71
+ } from "../chunk-WXZHQ3TT.js";
72
+ import "../chunk-FDWMG6NY.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-T2AC5VFQ.js";
80
+ } from "../chunk-QGSHV3WO.js";
80
81
  import {
81
82
  createIo
82
83
  } from "../chunk-FO3MDD26.js";
83
84
  import {
84
85
  exitOnHelpFlag
85
- } from "../chunk-M7NX25ZA.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-3KOPY2UQ.js";
93
- import "../chunk-LVWXRXT7.js";
93
+ } from "../chunk-6LOQE4J4.js";
94
+ import "../chunk-USE5IEEW.js";
94
95
  import "../chunk-VUFHYMSP.js";
95
96
  import {
96
97
  readLedgerSummary
97
- } from "../chunk-JYXIARGW.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-JZKEC4XJ.js";
106
+ } from "../chunk-5RU35K57.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-XWY4UW62.js";
114
+ } from "../chunk-PUHP4IBA.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-QP3XPS5U.js";
123
+ } from "../chunk-HC3FHDKB.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-KSVCCSAO.js";
144
+ } from "../chunk-CDQHQAS7.js";
144
145
  import {
145
146
  GEMINI_HOOK_BINARY,
146
147
  hasGeminiHooks,
147
148
  missingGeminiHookEvents
148
- } from "../chunk-ATUZX4K7.js";
149
- import "../chunk-ECJJKDP7.js";
150
- import "../chunk-QDFLBTUP.js";
149
+ } from "../chunk-IF26ZGZ7.js";
150
+ import "../chunk-XV6S5PWW.js";
151
+ import "../chunk-4MUFZU2G.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-IRZ5FVWG.js";
161
- import "../chunk-RF74KBF5.js";
162
- import "../chunk-QTCFEKLJ.js";
163
- import "../chunk-XXNT4FGA.js";
164
- import "../chunk-DQ565WFA.js";
161
+ } from "../chunk-WN3RACVD.js";
162
+ import "../chunk-W2IVTHIG.js";
163
+ import "../chunk-33OOEVPG.js";
164
+ import "../chunk-YPD3MTFU.js";
165
+ import "../chunk-EZHY65QA.js";
165
166
  import {
166
167
  callMcpTool,
167
168
  sendMcpRequest
168
- } from "../chunk-ZL3UR6M5.js";
169
+ } from "../chunk-SEILUNWB.js";
169
170
  import "../chunk-POFBE6ZY.js";
170
171
  import {
171
172
  checkApiKey,
172
173
  describeKeyCheck
173
- } from "../chunk-S54YLXWW.js";
174
- import "../chunk-5DZHKNBU.js";
174
+ } from "../chunk-METMK3L4.js";
175
+ import "../chunk-4MWRR5IT.js";
175
176
  import {
176
177
  getMachineId
177
- } from "../chunk-IJ6XKKQW.js";
178
+ } from "../chunk-O6IUZGWV.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-7RZO6VWD.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-MYBCXDIL.js";
213
+ } from "../chunk-6MJWYYAS.js";
213
214
  import {
214
215
  fetchLatestPublishedVersion,
215
216
  readGlobalCliInstall,
216
217
  resolvePathBinary
217
- } from "../chunk-WVP6UQG3.js";
218
+ } from "../chunk-2QREHU4O.js";
218
219
  import "../chunk-QENTGE75.js";
219
220
  import {
220
221
  getBaseUrl
221
- } from "../chunk-LVDC3RUE.js";
222
+ } from "../chunk-BG4Y64FW.js";
222
223
  import {
223
224
  NPX_LATEST_COMMAND
224
- } from "../chunk-5SFM6XB4.js";
225
+ } from "../chunk-ERK24P76.js";
225
226
  import {
226
227
  commandsPackage,
227
228
  getPackageVersion,
@@ -238,8 +239,9 @@ import {
238
239
  SUPPORT_EMAIL,
239
240
  hookActivationResult,
240
241
  hookCompatibleProfile,
241
- isHookActivationReport
242
- } from "../chunk-GZL3KEPC.js";
242
+ isHookActivationReport,
243
+ redactSecretsFromContent
244
+ } from "../chunk-AXJLJJ3M.js";
243
245
 
244
246
  // bin/pushary-doctor.ts
245
247
  import { existsSync, readFileSync, writeFileSync } from "fs";
@@ -353,7 +355,7 @@ var stripWorkspace = (identity) => {
353
355
  };
354
356
  var KEY_PATTERN = /pk_[A-Za-z0-9_]+\.[A-Za-z0-9_]+/g;
355
357
  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");
358
+ 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
359
  var redact = (bundle) => JSON.parse(redactText(JSON.stringify(bundle)));
358
360
  var bundleFileName = (bundle) => `pushary-diagnostics-${bundle.generatedAt.replace(/[:.]/g, "-")}.json`;
359
361
 
@@ -539,10 +541,11 @@ var options;
539
541
  try {
540
542
  options = parseDoctorOptions(process.argv.slice(2));
541
543
  } catch (err) {
544
+ const { exitCode } = await writeJsonError("doctor", err);
542
545
  process.stderr.write(` ! ${err instanceof Error ? err.message : String(err)}
543
546
  `);
544
547
  process.stderr.write(" Run `pushary doctor --help` for the full list.\n");
545
- process.exit(EXIT.USAGE);
548
+ process.exit(exitCode);
546
549
  }
547
550
  if (options.json) {
548
551
  console.log = (...args) => {
@@ -773,7 +776,7 @@ var main = async () => {
773
776
  const claudeAuth = pusharyServer.headers?.Authorization;
774
777
  if (typeof claudeAuth === "string" && apiKey) {
775
778
  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");
779
+ 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
780
  }
778
781
  }
779
782
  }
@@ -1531,7 +1534,8 @@ var main = async () => {
1531
1534
  }
1532
1535
  process.exit(exitCode);
1533
1536
  };
1534
- main().catch((err) => {
1537
+ main().catch(async (err) => {
1538
+ const { exitCode } = await writeJsonError("doctor", err);
1535
1539
  console.error(` doctor failed: ${err instanceof Error ? err.message : String(err)}`);
1536
- process.exit(1);
1540
+ process.exit(exitCode);
1537
1541
  });
@@ -1,53 +1,53 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-K5CAURU5.js";
4
+ } from "../chunk-6MC2XXFD.js";
5
5
  import {
6
6
  announceSubscriptionRequired,
7
7
  isDeferAnswer
8
- } from "../chunk-VPZ5K72D.js";
9
- import "../chunk-TN74MUMB.js";
8
+ } from "../chunk-RPPXQNIA.js";
9
+ import "../chunk-CEQ2AZH4.js";
10
10
  import "../chunk-QW3FRUFB.js";
11
- import "../chunk-XWY4UW62.js";
12
- import "../chunk-QP3XPS5U.js";
13
- import "../chunk-KSVCCSAO.js";
14
- import "../chunk-ATUZX4K7.js";
15
- import "../chunk-ECJJKDP7.js";
16
- import "../chunk-QDFLBTUP.js";
17
- import "../chunk-GMXKITVA.js";
18
- import "../chunk-JSQOHMNJ.js";
19
- import "../chunk-N3NSWWNU.js";
20
- import "../chunk-C3IWX6KU.js";
11
+ import "../chunk-PUHP4IBA.js";
12
+ import "../chunk-HC3FHDKB.js";
13
+ import "../chunk-CDQHQAS7.js";
14
+ import "../chunk-IF26ZGZ7.js";
15
+ import "../chunk-XV6S5PWW.js";
16
+ import "../chunk-4MUFZU2G.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-IRZ5FVWG.js";
24
- import "../chunk-RF74KBF5.js";
25
- import "../chunk-QTCFEKLJ.js";
26
- import "../chunk-XXNT4FGA.js";
23
+ import "../chunk-WN3RACVD.js";
24
+ import "../chunk-W2IVTHIG.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-DQ565WFA.js";
31
+ } from "../chunk-EZHY65QA.js";
32
32
  import {
33
33
  SubscriptionRequiredError
34
- } from "../chunk-ZL3UR6M5.js";
34
+ } from "../chunk-SEILUNWB.js";
35
35
  import "../chunk-POFBE6ZY.js";
36
- import "../chunk-S54YLXWW.js";
37
- import "../chunk-5DZHKNBU.js";
36
+ import "../chunk-METMK3L4.js";
37
+ import "../chunk-4MWRR5IT.js";
38
38
  import {
39
39
  getMachineId
40
- } from "../chunk-IJ6XKKQW.js";
41
- import "../chunk-7QLSKOSU.js";
40
+ } from "../chunk-O6IUZGWV.js";
41
+ import "../chunk-PPY5N2E6.js";
42
42
  import "../chunk-KZERVKTD.js";
43
- import "../chunk-7RZO6VWD.js";
44
- import "../chunk-MYBCXDIL.js";
45
- import "../chunk-WVP6UQG3.js";
43
+ import "../chunk-Y5VKZNFN.js";
44
+ import "../chunk-6MJWYYAS.js";
45
+ import "../chunk-2QREHU4O.js";
46
46
  import "../chunk-QENTGE75.js";
47
47
  import {
48
48
  getApiKey
49
- } from "../chunk-LVDC3RUE.js";
50
- import "../chunk-5SFM6XB4.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,7 @@ import {
59
59
  planElicitationAsk,
60
60
  readElicitationFields,
61
61
  renderElicitationOutput
62
- } from "../chunk-GZL3KEPC.js";
62
+ } from "../chunk-AXJLJJ3M.js";
63
63
 
64
64
  // bin/pushary-elicitation-hook.ts
65
65
  import { basename } from "path";
@@ -5,43 +5,43 @@ import {
5
5
  postLiveSession,
6
6
  postLiveSessionUntilAccepted,
7
7
  startLiveSessionHeartbeat
8
- } from "../chunk-IUOUNRLH.js";
8
+ } from "../chunk-ELLJPP6O.js";
9
9
  import {
10
10
  resolveProviderBinary
11
- } from "../chunk-3KOPY2UQ.js";
12
- import "../chunk-LVWXRXT7.js";
11
+ } from "../chunk-6LOQE4J4.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-CK5BCFQF.js";
19
+ } from "../chunk-7WFRY6OL.js";
20
20
  import "../chunk-VUFHYMSP.js";
21
- import "../chunk-JSQOHMNJ.js";
22
- import "../chunk-N3NSWWNU.js";
21
+ import "../chunk-2AELPDMT.js";
22
+ import "../chunk-GAMVAORR.js";
23
23
  import {
24
24
  transcriptsEnabled
25
- } from "../chunk-C3IWX6KU.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-IRZ5FVWG.js";
30
+ import "../chunk-WN3RACVD.js";
31
31
  import {
32
32
  getMachineId
33
- } from "../chunk-IJ6XKKQW.js";
34
- import "../chunk-7RZO6VWD.js";
35
- import "../chunk-MYBCXDIL.js";
36
- import "../chunk-WVP6UQG3.js";
33
+ } from "../chunk-O6IUZGWV.js";
34
+ import "../chunk-Y5VKZNFN.js";
35
+ import "../chunk-6MJWYYAS.js";
36
+ import "../chunk-2QREHU4O.js";
37
37
  import "../chunk-QENTGE75.js";
38
38
  import {
39
39
  getApiKey,
40
40
  getBaseUrl
41
- } from "../chunk-LVDC3RUE.js";
42
- import "../chunk-5SFM6XB4.js";
41
+ } from "../chunk-BG4Y64FW.js";
42
+ import "../chunk-ERK24P76.js";
43
43
  import "../chunk-QTOLNRET.js";
44
- import "../chunk-GZL3KEPC.js";
44
+ import "../chunk-AXJLJJ3M.js";
45
45
 
46
46
  // bin/pushary-gemini-bridge.ts
47
47
  import { existsSync } from "fs";
@@ -2,32 +2,32 @@
2
2
  import {
3
3
  isGatingMoment,
4
4
  recordKeylessMoment
5
- } from "../chunk-JYXIARGW.js";
5
+ } from "../chunk-SVQWHV65.js";
6
6
  import {
7
7
  triggerAutoUpdate
8
- } from "../chunk-JZKEC4XJ.js";
8
+ } from "../chunk-5RU35K57.js";
9
9
  import {
10
10
  readHookInput
11
- } from "../chunk-K5CAURU5.js";
11
+ } from "../chunk-6MC2XXFD.js";
12
12
  import {
13
13
  announceSubscriptionRequired,
14
14
  isDeferAnswer
15
- } from "../chunk-VPZ5K72D.js";
16
- import "../chunk-TN74MUMB.js";
15
+ } from "../chunk-RPPXQNIA.js";
16
+ import "../chunk-CEQ2AZH4.js";
17
17
  import "../chunk-QW3FRUFB.js";
18
- import "../chunk-XWY4UW62.js";
19
- import "../chunk-QP3XPS5U.js";
20
- import "../chunk-KSVCCSAO.js";
21
- import "../chunk-ATUZX4K7.js";
22
- import "../chunk-ECJJKDP7.js";
23
- import "../chunk-QDFLBTUP.js";
24
- import "../chunk-GMXKITVA.js";
25
- import "../chunk-JSQOHMNJ.js";
26
- import "../chunk-N3NSWWNU.js";
27
- import "../chunk-C3IWX6KU.js";
18
+ import "../chunk-PUHP4IBA.js";
19
+ import "../chunk-HC3FHDKB.js";
20
+ import "../chunk-CDQHQAS7.js";
21
+ import "../chunk-IF26ZGZ7.js";
22
+ import "../chunk-XV6S5PWW.js";
23
+ import "../chunk-4MUFZU2G.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-IRZ5FVWG.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-RF74KBF5.js";
50
- import "../chunk-QTCFEKLJ.js";
49
+ } from "../chunk-W2IVTHIG.js";
50
+ import "../chunk-33OOEVPG.js";
51
51
  import {
52
52
  repoKeyFor
53
- } from "../chunk-XXNT4FGA.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-DQ565WFA.js";
61
+ } from "../chunk-EZHY65QA.js";
62
62
  import {
63
63
  SubscriptionRequiredError
64
- } from "../chunk-ZL3UR6M5.js";
64
+ } from "../chunk-SEILUNWB.js";
65
65
  import "../chunk-POFBE6ZY.js";
66
- import "../chunk-S54YLXWW.js";
67
- import "../chunk-5DZHKNBU.js";
66
+ import "../chunk-METMK3L4.js";
67
+ import "../chunk-4MWRR5IT.js";
68
68
  import {
69
69
  getMachineId
70
- } from "../chunk-IJ6XKKQW.js";
71
- import "../chunk-7QLSKOSU.js";
70
+ } from "../chunk-O6IUZGWV.js";
71
+ import "../chunk-PPY5N2E6.js";
72
72
  import {
73
73
  EXIT
74
74
  } from "../chunk-KZERVKTD.js";
75
- import "../chunk-7RZO6VWD.js";
76
- import "../chunk-MYBCXDIL.js";
77
- import "../chunk-WVP6UQG3.js";
75
+ import "../chunk-Y5VKZNFN.js";
76
+ import "../chunk-6MJWYYAS.js";
77
+ import "../chunk-2QREHU4O.js";
78
78
  import "../chunk-QENTGE75.js";
79
79
  import {
80
80
  getApiKey
81
- } from "../chunk-LVDC3RUE.js";
82
- import "../chunk-5SFM6XB4.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,7 @@ import {
91
91
  hookWaitClamped,
92
92
  hookWaitDeadline,
93
93
  resolveGate
94
- } from "../chunk-GZL3KEPC.js";
94
+ } from "../chunk-AXJLJJ3M.js";
95
95
 
96
96
  // bin/pushary-gemini-hook.ts
97
97
  import { basename } from "path";