@pushary/agent-hooks 1.9.60 → 1.9.62

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 (125) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +6 -0
  3. package/dist/{api-ASQA5PZM.js → api-7HLZRIUV.js} +15 -12
  4. package/dist/bin/pushary-bell-hook.js +28 -27
  5. package/dist/bin/pushary-bell.js +11 -10
  6. package/dist/bin/pushary-claude.js +34 -26
  7. package/dist/bin/pushary-clean.js +36 -34
  8. package/dist/bin/pushary-codex-bridge.js +22 -21
  9. package/dist/bin/pushary-codex-hook.js +49 -35
  10. package/dist/bin/pushary-codex-session.js +9 -8
  11. package/dist/bin/pushary-codex.js +15 -14
  12. package/dist/bin/pushary-connect.js +28 -27
  13. package/dist/bin/pushary-cowork.js +6 -5
  14. package/dist/bin/pushary-daemon.js +38 -37
  15. package/dist/bin/pushary-disconnect.js +27 -26
  16. package/dist/bin/pushary-doctor.js +41 -40
  17. package/dist/bin/pushary-elicitation-hook.js +30 -27
  18. package/dist/bin/pushary-gemini-bridge.js +16 -15
  19. package/dist/bin/pushary-gemini-hook.js +38 -29
  20. package/dist/bin/pushary-hook.js +33 -31
  21. package/dist/bin/pushary-login.js +15 -14
  22. package/dist/bin/pushary-logout.js +28 -27
  23. package/dist/bin/pushary-mcp.js +12 -11
  24. package/dist/bin/pushary-mode.js +15 -14
  25. package/dist/bin/pushary-notification-hook.js +27 -26
  26. package/dist/bin/pushary-opencode-hook.js +40 -30
  27. package/dist/bin/pushary-permission-denied-hook.js +32 -31
  28. package/dist/bin/pushary-permission-hook.js +31 -30
  29. package/dist/bin/pushary-post-hook.js +27 -26
  30. package/dist/bin/pushary-prompt-hook.js +27 -26
  31. package/dist/bin/pushary-session-end-hook.js +27 -26
  32. package/dist/bin/pushary-session-start-hook.js +34 -33
  33. package/dist/bin/pushary-setup.js +4195 -93
  34. package/dist/bin/pushary-stats.js +6 -5
  35. package/dist/bin/pushary-status.js +32 -31
  36. package/dist/bin/pushary-stop-hook.js +27 -26
  37. package/dist/bin/pushary-stopfailure-hook.js +27 -26
  38. package/dist/bin/pushary-suggestions.js +15 -14
  39. package/dist/bin/pushary-transcript-register.js +19 -18
  40. package/dist/bin/pushary-transcripts.js +8 -7
  41. package/dist/bin/pushary-upgrade.js +43 -37
  42. package/dist/bin/pushary-wait.js +15 -14
  43. package/dist/bin/pushary.js +8 -7
  44. package/dist/{chunk-RPPXQNIA.js → chunk-3IFCXMC6.js} +1 -1
  45. package/dist/{chunk-WXPVVXBU.js → chunk-3LBB7GVF.js} +4 -4
  46. package/dist/{chunk-WFSGCFXQ.js → chunk-3YGUWPNZ.js} +2 -6
  47. package/dist/{chunk-SVQWHV65.js → chunk-44FNEAXK.js} +1 -1
  48. package/dist/{chunk-YPD3MTFU.js → chunk-4K6YZPZ3.js} +1 -1
  49. package/dist/{chunk-PUHP4IBA.js → chunk-557ZE5EX.js} +4 -4
  50. package/dist/{chunk-HC3FHDKB.js → chunk-5R23J52J.js} +6 -6
  51. package/dist/{chunk-625DZLT5.js → chunk-67Q3Q5IO.js} +8 -6
  52. package/dist/{chunk-QGSHV3WO.js → chunk-6HIYOY6I.js} +77 -18
  53. package/dist/{chunk-L3AFVFGQ.js → chunk-6JAWNRDR.js} +2 -2
  54. package/dist/{chunk-6MJWYYAS.js → chunk-6YSEOXP5.js} +47 -3
  55. package/dist/{chunk-VIJIG5YL.js → chunk-7E2ZN7XA.js} +2 -2
  56. package/dist/{chunk-QLMOU57V.js → chunk-7EHZXZB2.js} +33 -20
  57. package/dist/{chunk-2AELPDMT.js → chunk-7ETELRQX.js} +1 -1
  58. package/dist/{chunk-7BHI3PZN.js → chunk-7GU4PXE5.js} +1 -1
  59. package/dist/{chunk-CDQHQAS7.js → chunk-7NJ4TDUH.js} +5 -5
  60. package/dist/{chunk-X3YKQJCZ.js → chunk-7NXB7OVX.js} +1 -1
  61. package/dist/{chunk-XEJOPVCG.js → chunk-A4CZPUQ6.js} +1 -1
  62. package/dist/{chunk-YGE6ML3O.js → chunk-AFV3FQNG.js} +4 -4
  63. package/dist/{chunk-V57XLKZL.js → chunk-BIUSODLS.js} +2 -2
  64. package/dist/{chunk-2QREHU4O.js → chunk-CFIQ3252.js} +3 -3
  65. package/dist/{chunk-BG4Y64FW.js → chunk-DFKEJARZ.js} +1 -1
  66. package/dist/{chunk-S54C6TQC.js → chunk-EA6574W2.js} +5 -5
  67. package/dist/{chunk-FDWMG6NY.js → chunk-EO6CL4PD.js} +2 -2
  68. package/dist/{chunk-SEILUNWB.js → chunk-ESXGCZDA.js} +26 -3
  69. package/dist/{chunk-CEQ2AZH4.js → chunk-EUNSJKJJ.js} +8 -8
  70. package/dist/{chunk-56JCQQLS.js → chunk-EVZDYG7L.js} +2 -2
  71. package/dist/{chunk-4MUFZU2G.js → chunk-F35YILEN.js} +1 -1
  72. package/dist/{chunk-ERK24P76.js → chunk-FG5HMJ7C.js} +1 -1
  73. package/dist/{chunk-NKLNU577.js → chunk-FX7KDF47.js} +3 -3
  74. package/dist/{chunk-AXJLJJ3M.js → chunk-FXECTHAG.js} +73 -2
  75. package/dist/chunk-FYS27SUS.js +216 -0
  76. package/dist/{chunk-O6IUZGWV.js → chunk-G3ZDCYMU.js} +1 -1
  77. package/dist/{chunk-ELLJPP6O.js → chunk-GFAG72LR.js} +2 -2
  78. package/dist/{chunk-ATKN4BJT.js → chunk-GV43RXR2.js} +1 -1
  79. package/dist/{chunk-4MWRR5IT.js → chunk-HSRNWCXJ.js} +3 -3
  80. package/dist/{chunk-IF26ZGZ7.js → chunk-LCNN7UOE.js} +3 -3
  81. package/dist/{chunk-WXZHQ3TT.js → chunk-LILS32LF.js} +5 -5
  82. package/dist/{chunk-33OOEVPG.js → chunk-LL2KHEJH.js} +1 -1
  83. package/dist/{chunk-W2IVTHIG.js → chunk-LWR5VKNC.js} +18 -10
  84. package/dist/{chunk-QUBIEZXC.js → chunk-M7MEVILL.js} +3 -3
  85. package/dist/chunk-MLKGABMK.js +9 -0
  86. package/dist/{chunk-XV6S5PWW.js → chunk-MURJ4WAL.js} +1 -1
  87. package/dist/{chunk-FUZ5VYWD.js → chunk-MYEALNW6.js} +1 -1
  88. package/dist/{chunk-ADR3KHOC.js → chunk-NAZRRXZM.js} +2 -2
  89. package/dist/{chunk-ZGOJLNKS.js → chunk-NZLQ6GMX.js} +4 -4
  90. package/dist/{chunk-K4MBKXAE.js → chunk-OZRT64BB.js} +1 -1
  91. package/dist/{chunk-Y5VKZNFN.js → chunk-PSCXEH42.js} +2 -2
  92. package/dist/{chunk-METMK3L4.js → chunk-Q4WTIKM6.js} +3 -3
  93. package/dist/{chunk-U7NR4JVD.js → chunk-QIPW7OVB.js} +4 -4
  94. package/dist/{chunk-USE5IEEW.js → chunk-R3CLBNST.js} +1 -1
  95. package/dist/{chunk-7WFRY6OL.js → chunk-RFCEVROB.js} +2 -2
  96. package/dist/{chunk-EZHY65QA.js → chunk-RSNN2TPE.js} +13 -8
  97. package/dist/{chunk-DJ7EZIQA.js → chunk-RU37NSZH.js} +3 -3
  98. package/dist/{chunk-J4KQL7YZ.js → chunk-SDOWT67G.js} +5 -5
  99. package/dist/{chunk-4PZXI7WU.js → chunk-SJCPIYWJ.js} +2 -2
  100. package/dist/{chunk-MUNL23WE.js → chunk-SJJYXMJP.js} +6 -6
  101. package/dist/{chunk-6LOQE4J4.js → chunk-TMHE5CVX.js} +3 -3
  102. package/dist/{chunk-GAMVAORR.js → chunk-UUAVYIWJ.js} +1 -1
  103. package/dist/{chunk-Y5V4PA2Z.js → chunk-UWCPY4RY.js} +2 -2
  104. package/dist/{chunk-5RU35K57.js → chunk-VF3IL56Q.js} +2 -2
  105. package/dist/{chunk-WN3RACVD.js → chunk-W3CBFLIX.js} +3 -3
  106. package/dist/{chunk-RLVJ6TVL.js → chunk-W6MYFAOK.js} +26 -18
  107. package/dist/{chunk-CSOROFJY.js → chunk-YQK72JGV.js} +5 -5
  108. package/dist/{chunk-7JXJJNQ5.js → chunk-ZEDGKCCM.js} +1 -1
  109. package/dist/{chunk-SOCJ2N3E.js → chunk-ZJFJUAHS.js} +6 -6
  110. package/dist/{codex-app-cards-switch-ZO76D2NY.js → codex-app-cards-switch-IIL7IPP6.js} +12 -11
  111. package/dist/{codex-desktop-launch-MJT5E3O3.js → codex-desktop-launch-XCLMYVBD.js} +2 -1
  112. package/dist/{codex-session-launch-PTFCVIC7.js → codex-session-launch-UMVALJ3A.js} +19 -18
  113. package/dist/{config-SXV6XNVU.js → config-5N3GUJD5.js} +4 -3
  114. package/dist/{global-upgrade-ETDP32LO.js → global-upgrade-5F4CSXED.js} +10 -9
  115. package/dist/{identity-OOLIOSMR.js → identity-7ULYW4RL.js} +5 -4
  116. package/dist/{live-capabilities-2XIFA7YO.js → live-capabilities-QTSFXA6T.js} +5 -4
  117. package/dist/{paths-IIOQZESZ.js → paths-HEMK2ALW.js} +4 -3
  118. package/dist/{reapply-KFAJSKOQ.js → reapply-AMFKVYZV.js} +27 -26
  119. package/dist/src/index.d.ts +1 -0
  120. package/dist/src/index.js +22 -21
  121. package/dist/{upgrade-lock-T6ILR644.js → upgrade-lock-IAZC5644.js} +5 -4
  122. package/dist/usage-NEFDYSRT.js +11 -0
  123. package/package.json +1 -1
  124. package/dist/chunk-6MC2XXFD.js +0 -126
  125. package/dist/usage-6TN7FVWS.js +0 -10
@@ -1,23 +1,22 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
- CURSOR_GATE_SCRIPT,
4
3
  readServiceExecPath,
5
4
  readSetupFailure,
6
5
  versionManagerOf
7
- } from "../chunk-WFSGCFXQ.js";
6
+ } from "../chunk-3YGUWPNZ.js";
8
7
  import {
9
8
  CODEX_HOOK_REMEDY
10
- } from "../chunk-V57XLKZL.js";
9
+ } from "../chunk-BIUSODLS.js";
11
10
  import {
12
11
  describeWaitLadder
13
12
  } from "../chunk-CVWG2N3Y.js";
14
13
  import {
15
14
  writeJsonError,
16
15
  writeStdoutFully
17
- } from "../chunk-7BHI3PZN.js";
16
+ } from "../chunk-7GU4PXE5.js";
18
17
  import {
19
18
  fetchChannels
20
- } from "../chunk-ZGOJLNKS.js";
19
+ } from "../chunk-NZLQ6GMX.js";
21
20
  import {
22
21
  describeAnswerTestPrompt,
23
22
  describeReach,
@@ -26,16 +25,16 @@ import {
26
25
  reachVerdict,
27
26
  roundTripEvidence,
28
27
  verifyRoundTrip
29
- } from "../chunk-DJ7EZIQA.js";
28
+ } from "../chunk-RU37NSZH.js";
30
29
  import "../chunk-3EGEA4KH.js";
31
30
  import {
32
31
  readMachineReadiness,
33
32
  readManagedControlEvidence
34
- } from "../chunk-J4KQL7YZ.js";
33
+ } from "../chunk-SDOWT67G.js";
35
34
  import {
36
35
  assessCodexHookTrust,
37
36
  readCodexTrustForPusharyHooks
38
- } from "../chunk-56JCQQLS.js";
37
+ } from "../chunk-EVZDYG7L.js";
39
38
  import {
40
39
  HERMES_PIP_PACKAGE,
41
40
  HERMES_PLUGIN_NAME,
@@ -49,18 +48,18 @@ import {
49
48
  resolveHermesPython,
50
49
  shortenHome,
51
50
  vscodeSettingsTargets
52
- } from "../chunk-S54C6TQC.js";
51
+ } from "../chunk-EA6574W2.js";
53
52
  import {
54
53
  CONNECTED_THROUGH_MAC_APP,
55
54
  readMacAppConnectionWhenKeyless
56
- } from "../chunk-U7NR4JVD.js";
55
+ } from "../chunk-QIPW7OVB.js";
57
56
  import "../chunk-QCGNGEGE.js";
58
57
  import {
59
58
  SIGNED_OUT_ON_MAC_MESSAGE,
60
59
  activeKeyVerdictOf,
61
60
  describeSignedOutKey,
62
61
  readSignedOutDiagnosis
63
- } from "../chunk-ADR3KHOC.js";
62
+ } from "../chunk-NAZRRXZM.js";
64
63
  import {
65
64
  FX_PROFILE_REFUSALS,
66
65
  FX_PUSHARY_TOOLS_RULE,
@@ -68,8 +67,8 @@ import {
68
67
  hasInstructionBlock,
69
68
  inspectFxInstallation,
70
69
  retryAgentCommand
71
- } from "../chunk-WXZHQ3TT.js";
72
- import "../chunk-FDWMG6NY.js";
70
+ } from "../chunk-LILS32LF.js";
71
+ import "../chunk-EO6CL4PD.js";
73
72
  import {
74
73
  OPENCODE_PLUGIN_PLACEHOLDER,
75
74
  cliOwnsAnyAgentHooks,
@@ -77,25 +76,25 @@ import {
77
76
  openCodePluginDir,
78
77
  openCodePluginFile,
79
78
  openCodeWired
80
- } from "../chunk-QGSHV3WO.js";
79
+ } from "../chunk-6HIYOY6I.js";
81
80
  import {
82
81
  createIo
83
82
  } from "../chunk-FO3MDD26.js";
84
83
  import {
85
84
  exitOnHelpFlag
86
- } from "../chunk-K4MBKXAE.js";
85
+ } from "../chunk-OZRT64BB.js";
87
86
  import {
88
87
  describeMissingControlPrerequisite,
89
88
  detectProviderLiveCapabilities,
90
89
  expectedLaunchCapabilities,
91
90
  hasSpawnProvider,
92
91
  resolveControlPolicy
93
- } from "../chunk-6LOQE4J4.js";
94
- import "../chunk-USE5IEEW.js";
92
+ } from "../chunk-TMHE5CVX.js";
93
+ import "../chunk-R3CLBNST.js";
95
94
  import "../chunk-VUFHYMSP.js";
96
95
  import {
97
96
  readLedgerSummary
98
- } from "../chunk-SVQWHV65.js";
97
+ } from "../chunk-44FNEAXK.js";
99
98
  import {
100
99
  AUTO_UPDATE_DISABLE_ENV,
101
100
  autoUpdateOffReason,
@@ -103,7 +102,7 @@ import {
103
102
  describeAutoUpdateCheck,
104
103
  readAutoUpdateState,
105
104
  takeAutoUpdateAnnouncement
106
- } from "../chunk-5RU35K57.js";
105
+ } from "../chunk-VF3IL56Q.js";
107
106
  import {
108
107
  compatibleConfigFile,
109
108
  compatibleInstructionsFile,
@@ -111,7 +110,7 @@ import {
111
110
  hasCompatibleHooks,
112
111
  hasCompatibleMcpServer,
113
112
  missingCompatibleHookEvents
114
- } from "../chunk-PUHP4IBA.js";
113
+ } from "../chunk-557ZE5EX.js";
115
114
  import {
116
115
  daemonHasRemoteProof,
117
116
  daemonServiceManagerAvailable,
@@ -120,7 +119,7 @@ import {
120
119
  readDaemonNeedsLogin,
121
120
  readDaemonStatus,
122
121
  readInstalledDaemonService
123
- } from "../chunk-HC3FHDKB.js";
122
+ } from "../chunk-5R23J52J.js";
124
123
  import {
125
124
  claudeOtherHolders,
126
125
  claudeUnprovenHolds,
@@ -141,14 +140,14 @@ import {
141
140
  liveBridgeProbe,
142
141
  pusharyHookExecutable,
143
142
  resolveBridgeStub
144
- } from "../chunk-CDQHQAS7.js";
143
+ } from "../chunk-7NJ4TDUH.js";
145
144
  import {
146
145
  GEMINI_HOOK_BINARY,
147
146
  hasGeminiHooks,
148
147
  missingGeminiHookEvents
149
- } from "../chunk-IF26ZGZ7.js";
150
- import "../chunk-XV6S5PWW.js";
151
- import "../chunk-4MUFZU2G.js";
148
+ } from "../chunk-LCNN7UOE.js";
149
+ import "../chunk-MURJ4WAL.js";
150
+ import "../chunk-F35YILEN.js";
152
151
  import {
153
152
  parseFlags
154
153
  } from "../chunk-NMUI3ZWG.js";
@@ -158,31 +157,31 @@ import {
158
157
  keyPrefix,
159
158
  readControlMode,
160
159
  readKeySource
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";
160
+ } from "../chunk-W3CBFLIX.js";
161
+ import "../chunk-LWR5VKNC.js";
162
+ import "../chunk-LL2KHEJH.js";
163
+ import "../chunk-4K6YZPZ3.js";
164
+ import "../chunk-RSNN2TPE.js";
166
165
  import {
167
166
  callMcpTool,
168
167
  sendMcpRequest
169
- } from "../chunk-SEILUNWB.js";
168
+ } from "../chunk-ESXGCZDA.js";
170
169
  import "../chunk-POFBE6ZY.js";
171
170
  import {
172
171
  checkApiKey,
173
172
  describeKeyCheck
174
- } from "../chunk-METMK3L4.js";
175
- import "../chunk-4MWRR5IT.js";
173
+ } from "../chunk-Q4WTIKM6.js";
174
+ import "../chunk-HSRNWCXJ.js";
176
175
  import {
177
176
  getMachineId
178
- } from "../chunk-O6IUZGWV.js";
177
+ } from "../chunk-G3ZDCYMU.js";
179
178
  import {
180
179
  UsageError
181
180
  } from "../chunk-PPY5N2E6.js";
182
181
  import {
183
182
  EXIT
184
183
  } from "../chunk-KZERVKTD.js";
185
- import "../chunk-Y5VKZNFN.js";
184
+ import "../chunk-PSCXEH42.js";
186
185
  import {
187
186
  CODEX_HOOK_EVENTS,
188
187
  CODEX_REQUIRED_APPROVAL_EVENTS,
@@ -210,19 +209,19 @@ import {
210
209
  pusharyConfigFile,
211
210
  readCodexMcpAuth,
212
211
  vscodePluginDir
213
- } from "../chunk-6MJWYYAS.js";
212
+ } from "../chunk-6YSEOXP5.js";
214
213
  import {
215
214
  fetchLatestPublishedVersion,
216
215
  readGlobalCliInstall,
217
216
  resolvePathBinary
218
- } from "../chunk-2QREHU4O.js";
217
+ } from "../chunk-CFIQ3252.js";
219
218
  import "../chunk-QENTGE75.js";
220
219
  import {
221
220
  getBaseUrl
222
- } from "../chunk-BG4Y64FW.js";
221
+ } from "../chunk-DFKEJARZ.js";
223
222
  import {
224
223
  NPX_LATEST_COMMAND
225
- } from "../chunk-ERK24P76.js";
224
+ } from "../chunk-FG5HMJ7C.js";
226
225
  import {
227
226
  commandsPackage,
228
227
  getPackageVersion,
@@ -231,6 +230,7 @@ import {
231
230
  import {
232
231
  AGENTS,
233
232
  CURSOR_GATE_EVENTS,
233
+ CURSOR_GATE_SCRIPT,
234
234
  HOOK_COMPATIBLE_PROFILES,
235
235
  HOOK_LOCATOR_BINARY,
236
236
  HOOK_SOURCES,
@@ -241,7 +241,8 @@ import {
241
241
  hookCompatibleProfile,
242
242
  isHookActivationReport,
243
243
  redactSecretsFromContent
244
- } from "../chunk-AXJLJJ3M.js";
244
+ } from "../chunk-FXECTHAG.js";
245
+ import "../chunk-MLKGABMK.js";
245
246
 
246
247
  // bin/pushary-doctor.ts
247
248
  import { existsSync, readFileSync, writeFileSync } from "fs";
@@ -1,53 +1,54 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-6MC2XXFD.js";
4
+ } from "../chunk-FYS27SUS.js";
5
5
  import {
6
6
  announceSubscriptionRequired,
7
7
  isDeferAnswer
8
- } from "../chunk-RPPXQNIA.js";
9
- import "../chunk-CEQ2AZH4.js";
8
+ } from "../chunk-3IFCXMC6.js";
9
+ import "../chunk-EUNSJKJJ.js";
10
10
  import "../chunk-QW3FRUFB.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";
11
+ import "../chunk-557ZE5EX.js";
12
+ import "../chunk-5R23J52J.js";
13
+ import "../chunk-7NJ4TDUH.js";
14
+ import "../chunk-LCNN7UOE.js";
15
+ import "../chunk-MURJ4WAL.js";
16
+ import "../chunk-F35YILEN.js";
17
17
  import "../chunk-NMUI3ZWG.js";
18
- import "../chunk-2AELPDMT.js";
19
- import "../chunk-GAMVAORR.js";
20
- import "../chunk-7JXJJNQ5.js";
18
+ import "../chunk-7ETELRQX.js";
19
+ import "../chunk-UUAVYIWJ.js";
20
+ import "../chunk-ZEDGKCCM.js";
21
21
  import "../chunk-XHKBHWLX.js";
22
22
  import "../chunk-6ICPEJY5.js";
23
- import "../chunk-WN3RACVD.js";
24
- import "../chunk-W2IVTHIG.js";
25
- import "../chunk-33OOEVPG.js";
26
- import "../chunk-YPD3MTFU.js";
23
+ import "../chunk-W3CBFLIX.js";
24
+ import "../chunk-LWR5VKNC.js";
25
+ import "../chunk-LL2KHEJH.js";
26
+ import "../chunk-4K6YZPZ3.js";
27
27
  import {
28
28
  askUser,
29
29
  isDecisionStopped,
30
+ isQuestionLimitRefusal,
30
31
  waitForQuestion
31
- } from "../chunk-EZHY65QA.js";
32
+ } from "../chunk-RSNN2TPE.js";
32
33
  import {
33
34
  SubscriptionRequiredError
34
- } from "../chunk-SEILUNWB.js";
35
+ } from "../chunk-ESXGCZDA.js";
35
36
  import "../chunk-POFBE6ZY.js";
36
- import "../chunk-METMK3L4.js";
37
- import "../chunk-4MWRR5IT.js";
37
+ import "../chunk-Q4WTIKM6.js";
38
+ import "../chunk-HSRNWCXJ.js";
38
39
  import {
39
40
  getMachineId
40
- } from "../chunk-O6IUZGWV.js";
41
+ } from "../chunk-G3ZDCYMU.js";
41
42
  import "../chunk-PPY5N2E6.js";
42
43
  import "../chunk-KZERVKTD.js";
43
- import "../chunk-Y5VKZNFN.js";
44
- import "../chunk-6MJWYYAS.js";
45
- import "../chunk-2QREHU4O.js";
44
+ import "../chunk-PSCXEH42.js";
45
+ import "../chunk-6YSEOXP5.js";
46
+ import "../chunk-CFIQ3252.js";
46
47
  import "../chunk-QENTGE75.js";
47
48
  import {
48
49
  getApiKey
49
- } from "../chunk-BG4Y64FW.js";
50
- import "../chunk-ERK24P76.js";
50
+ } from "../chunk-DFKEJARZ.js";
51
+ import "../chunk-FG5HMJ7C.js";
51
52
  import "../chunk-QTOLNRET.js";
52
53
  import {
53
54
  ELICITATION_ANSWERABLE_MODE,
@@ -59,7 +60,8 @@ import {
59
60
  planElicitationAsk,
60
61
  readElicitationFields,
61
62
  renderElicitationOutput
62
- } from "../chunk-AXJLJJ3M.js";
63
+ } from "../chunk-FXECTHAG.js";
64
+ import "../chunk-MLKGABMK.js";
63
65
 
64
66
  // bin/pushary-elicitation-hook.ts
65
67
  import { basename } from "path";
@@ -113,6 +115,7 @@ var main = async () => {
113
115
  try {
114
116
  created = await askUser(apiKey, { ...common, ...prompt });
115
117
  } catch (error) {
118
+ if (isQuestionLimitRefusal(error)) return;
116
119
  if (error instanceof SubscriptionRequiredError) {
117
120
  announceSubscriptionRequired(error.upgradeUrl, input.session_id);
118
121
  return;
@@ -5,43 +5,44 @@ import {
5
5
  postLiveSession,
6
6
  postLiveSessionUntilAccepted,
7
7
  startLiveSessionHeartbeat
8
- } from "../chunk-ELLJPP6O.js";
8
+ } from "../chunk-GFAG72LR.js";
9
9
  import {
10
10
  resolveProviderBinary
11
- } from "../chunk-6LOQE4J4.js";
12
- import "../chunk-USE5IEEW.js";
11
+ } from "../chunk-TMHE5CVX.js";
12
+ import "../chunk-R3CLBNST.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-7WFRY6OL.js";
19
+ } from "../chunk-RFCEVROB.js";
20
20
  import "../chunk-VUFHYMSP.js";
21
- import "../chunk-2AELPDMT.js";
22
- import "../chunk-GAMVAORR.js";
21
+ import "../chunk-7ETELRQX.js";
22
+ import "../chunk-UUAVYIWJ.js";
23
23
  import {
24
24
  transcriptsEnabled
25
- } from "../chunk-7JXJJNQ5.js";
25
+ } from "../chunk-ZEDGKCCM.js";
26
26
  import {
27
27
  spawnClaude
28
28
  } from "../chunk-XHKBHWLX.js";
29
29
  import "../chunk-6ICPEJY5.js";
30
- import "../chunk-WN3RACVD.js";
30
+ import "../chunk-W3CBFLIX.js";
31
31
  import {
32
32
  getMachineId
33
- } from "../chunk-O6IUZGWV.js";
34
- import "../chunk-Y5VKZNFN.js";
35
- import "../chunk-6MJWYYAS.js";
36
- import "../chunk-2QREHU4O.js";
33
+ } from "../chunk-G3ZDCYMU.js";
34
+ import "../chunk-PSCXEH42.js";
35
+ import "../chunk-6YSEOXP5.js";
36
+ import "../chunk-CFIQ3252.js";
37
37
  import "../chunk-QENTGE75.js";
38
38
  import {
39
39
  getApiKey,
40
40
  getBaseUrl
41
- } from "../chunk-BG4Y64FW.js";
42
- import "../chunk-ERK24P76.js";
41
+ } from "../chunk-DFKEJARZ.js";
42
+ import "../chunk-FG5HMJ7C.js";
43
43
  import "../chunk-QTOLNRET.js";
44
- import "../chunk-AXJLJJ3M.js";
44
+ import "../chunk-FXECTHAG.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-SVQWHV65.js";
5
+ } from "../chunk-44FNEAXK.js";
6
6
  import {
7
7
  triggerAutoUpdate
8
- } from "../chunk-5RU35K57.js";
8
+ } from "../chunk-VF3IL56Q.js";
9
9
  import {
10
10
  readHookInput
11
- } from "../chunk-6MC2XXFD.js";
11
+ } from "../chunk-FYS27SUS.js";
12
12
  import {
13
13
  announceSubscriptionRequired,
14
14
  isDeferAnswer
15
- } from "../chunk-RPPXQNIA.js";
16
- import "../chunk-CEQ2AZH4.js";
15
+ } from "../chunk-3IFCXMC6.js";
16
+ import "../chunk-EUNSJKJJ.js";
17
17
  import "../chunk-QW3FRUFB.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";
18
+ import "../chunk-557ZE5EX.js";
19
+ import "../chunk-5R23J52J.js";
20
+ import "../chunk-7NJ4TDUH.js";
21
+ import "../chunk-LCNN7UOE.js";
22
+ import "../chunk-MURJ4WAL.js";
23
+ import "../chunk-F35YILEN.js";
24
24
  import "../chunk-NMUI3ZWG.js";
25
- import "../chunk-2AELPDMT.js";
26
- import "../chunk-GAMVAORR.js";
27
- import "../chunk-7JXJJNQ5.js";
25
+ import "../chunk-7ETELRQX.js";
26
+ import "../chunk-UUAVYIWJ.js";
27
+ import "../chunk-ZEDGKCCM.js";
28
28
  import "../chunk-XHKBHWLX.js";
29
29
  import "../chunk-6ICPEJY5.js";
30
- import "../chunk-WN3RACVD.js";
30
+ import "../chunk-W3CBFLIX.js";
31
31
  import {
32
32
  DEFAULT_SESSION,
33
33
  UNNAMED_ACTION,
@@ -46,40 +46,41 @@ import {
46
46
  readLastUserPrompt,
47
47
  reportEvent,
48
48
  scopePathFor
49
- } from "../chunk-W2IVTHIG.js";
50
- import "../chunk-33OOEVPG.js";
49
+ } from "../chunk-LWR5VKNC.js";
50
+ import "../chunk-LL2KHEJH.js";
51
51
  import {
52
52
  repoKeyFor
53
- } from "../chunk-YPD3MTFU.js";
53
+ } from "../chunk-4K6YZPZ3.js";
54
54
  import {
55
55
  askUser,
56
56
  exitAfterClientReports,
57
57
  isDecisionStopped,
58
58
  isLocalQuestionHandoff,
59
+ isQuestionLimitRefusal,
59
60
  sendNotification,
60
61
  waitForQuestion
61
- } from "../chunk-EZHY65QA.js";
62
+ } from "../chunk-RSNN2TPE.js";
62
63
  import {
63
64
  SubscriptionRequiredError
64
- } from "../chunk-SEILUNWB.js";
65
+ } from "../chunk-ESXGCZDA.js";
65
66
  import "../chunk-POFBE6ZY.js";
66
- import "../chunk-METMK3L4.js";
67
- import "../chunk-4MWRR5IT.js";
67
+ import "../chunk-Q4WTIKM6.js";
68
+ import "../chunk-HSRNWCXJ.js";
68
69
  import {
69
70
  getMachineId
70
- } from "../chunk-O6IUZGWV.js";
71
+ } from "../chunk-G3ZDCYMU.js";
71
72
  import "../chunk-PPY5N2E6.js";
72
73
  import {
73
74
  EXIT
74
75
  } from "../chunk-KZERVKTD.js";
75
- import "../chunk-Y5VKZNFN.js";
76
- import "../chunk-6MJWYYAS.js";
77
- import "../chunk-2QREHU4O.js";
76
+ import "../chunk-PSCXEH42.js";
77
+ import "../chunk-6YSEOXP5.js";
78
+ import "../chunk-CFIQ3252.js";
78
79
  import "../chunk-QENTGE75.js";
79
80
  import {
80
81
  getApiKey
81
- } from "../chunk-BG4Y64FW.js";
82
- import "../chunk-ERK24P76.js";
82
+ } from "../chunk-DFKEJARZ.js";
83
+ import "../chunk-FG5HMJ7C.js";
83
84
  import "../chunk-QTOLNRET.js";
84
85
  import {
85
86
  DECISION_STOP_REASON,
@@ -90,8 +91,11 @@ import {
90
91
  gateOutputFor,
91
92
  hookWaitClamped,
92
93
  hookWaitDeadline,
94
+ questionLimitHandBack,
95
+ refusesWhenUnanswered,
93
96
  resolveGate
94
- } from "../chunk-AXJLJJ3M.js";
97
+ } from "../chunk-FXECTHAG.js";
98
+ import "../chunk-MLKGABMK.js";
95
99
 
96
100
  // bin/pushary-gemini-hook.ts
97
101
  import { basename } from "path";
@@ -153,6 +157,10 @@ var geminiPushOnlyDecision = (pushed, timeoutAction, bridge) => {
153
157
  if (clampCut) return geminiPass();
154
158
  return geminiTimeoutDecision(timeoutAction);
155
159
  };
160
+ var geminiQuestionLimitDecision = ({ refusesUnanswered }) => {
161
+ const handBack = questionLimitHandBack({ refusesUnanswered, agentPromptFollows: false });
162
+ return handBack.kind === "refuse" ? geminiDeny(handBack.reason) : geminiPass();
163
+ };
156
164
  var toGeminiWire = (decision) => {
157
165
  if (decision.kind === "pass") return null;
158
166
  return gateOutputFor(
@@ -223,6 +231,7 @@ var handlePushOnly = async (apiKey, input, lookup, timeoutSeconds, timeoutAction
223
231
  pushed = await pushQuestion(apiKey, input, lookup, effectiveWaitSeconds(timeoutAction, timeoutSeconds, "gemini"), "push_only");
224
232
  } catch (error) {
225
233
  if (error instanceof SubscriptionRequiredError) return geminiStepsAside(error, input);
234
+ if (isQuestionLimitRefusal(error)) return geminiQuestionLimitDecision({ refusesUnanswered: refusesWhenUnanswered({ mode: "push_only", timeoutAction }) });
226
235
  pushed = void 0;
227
236
  }
228
237
  return geminiPushOnlyDecision(pushed, timeoutAction, process.env.PUSHARY_GEMINI_BRIDGE);
@@ -1,58 +1,58 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePreToolUse
4
- } from "../chunk-QLMOU57V.js";
4
+ } from "../chunk-7EHZXZB2.js";
5
5
  import {
6
6
  exitOnHelpFlag
7
- } from "../chunk-K4MBKXAE.js";
8
- import "../chunk-625DZLT5.js";
9
- import "../chunk-SVQWHV65.js";
7
+ } from "../chunk-OZRT64BB.js";
8
+ import "../chunk-67Q3Q5IO.js";
9
+ import "../chunk-44FNEAXK.js";
10
10
  import {
11
11
  readToolHookCall
12
- } from "../chunk-6MC2XXFD.js";
13
- import "../chunk-RPPXQNIA.js";
14
- import "../chunk-CEQ2AZH4.js";
12
+ } from "../chunk-FYS27SUS.js";
13
+ import "../chunk-3IFCXMC6.js";
14
+ import "../chunk-EUNSJKJJ.js";
15
15
  import "../chunk-QW3FRUFB.js";
16
16
  import {
17
17
  activeHookSource,
18
18
  normalizeToolCall,
19
19
  profileFromArgv
20
- } from "../chunk-PUHP4IBA.js";
21
- import "../chunk-HC3FHDKB.js";
22
- import "../chunk-CDQHQAS7.js";
23
- import "../chunk-IF26ZGZ7.js";
24
- import "../chunk-XV6S5PWW.js";
25
- import "../chunk-4MUFZU2G.js";
20
+ } from "../chunk-557ZE5EX.js";
21
+ import "../chunk-5R23J52J.js";
22
+ import "../chunk-7NJ4TDUH.js";
23
+ import "../chunk-LCNN7UOE.js";
24
+ import "../chunk-MURJ4WAL.js";
25
+ import "../chunk-F35YILEN.js";
26
26
  import "../chunk-NMUI3ZWG.js";
27
- import "../chunk-2AELPDMT.js";
28
- import "../chunk-GAMVAORR.js";
29
- import "../chunk-7JXJJNQ5.js";
27
+ import "../chunk-7ETELRQX.js";
28
+ import "../chunk-UUAVYIWJ.js";
29
+ import "../chunk-ZEDGKCCM.js";
30
30
  import "../chunk-XHKBHWLX.js";
31
31
  import "../chunk-6ICPEJY5.js";
32
- import "../chunk-WN3RACVD.js";
32
+ import "../chunk-W3CBFLIX.js";
33
33
  import {
34
34
  canonicalGateInputs
35
- } from "../chunk-W2IVTHIG.js";
36
- import "../chunk-33OOEVPG.js";
37
- import "../chunk-YPD3MTFU.js";
35
+ } from "../chunk-LWR5VKNC.js";
36
+ import "../chunk-LL2KHEJH.js";
37
+ import "../chunk-4K6YZPZ3.js";
38
38
  import {
39
39
  exitAfterClientReports
40
- } from "../chunk-EZHY65QA.js";
41
- import "../chunk-SEILUNWB.js";
40
+ } from "../chunk-RSNN2TPE.js";
41
+ import "../chunk-ESXGCZDA.js";
42
42
  import "../chunk-POFBE6ZY.js";
43
- import "../chunk-METMK3L4.js";
44
- import "../chunk-4MWRR5IT.js";
45
- import "../chunk-O6IUZGWV.js";
43
+ import "../chunk-Q4WTIKM6.js";
44
+ import "../chunk-HSRNWCXJ.js";
45
+ import "../chunk-G3ZDCYMU.js";
46
46
  import "../chunk-PPY5N2E6.js";
47
47
  import {
48
48
  EXIT
49
49
  } from "../chunk-KZERVKTD.js";
50
- import "../chunk-Y5VKZNFN.js";
51
- import "../chunk-6MJWYYAS.js";
52
- import "../chunk-2QREHU4O.js";
50
+ import "../chunk-PSCXEH42.js";
51
+ import "../chunk-6YSEOXP5.js";
52
+ import "../chunk-CFIQ3252.js";
53
53
  import "../chunk-QENTGE75.js";
54
- import "../chunk-BG4Y64FW.js";
55
- import "../chunk-ERK24P76.js";
54
+ import "../chunk-DFKEJARZ.js";
55
+ import "../chunk-FG5HMJ7C.js";
56
56
  import "../chunk-QTOLNRET.js";
57
57
  import {
58
58
  GROK_UNREADABLE_CALL,
@@ -60,7 +60,8 @@ import {
60
60
  isPusharyOwnTool,
61
61
  refusalOutput,
62
62
  renderPreToolUseVerdict
63
- } from "../chunk-AXJLJJ3M.js";
63
+ } from "../chunk-FXECTHAG.js";
64
+ import "../chunk-MLKGABMK.js";
64
65
 
65
66
  // bin/pushary-hook.ts
66
67
  exitOnHelpFlag("hook");
@@ -78,6 +79,7 @@ var emit = (verdict) => {
78
79
  };
79
80
  var isPusharysOwnCall = (read) => read.kind === "not_admitted" && isPusharyOwnTool(read.input.tool_name);
80
81
  var outputForCallNotJudged = (read) => {
82
+ if (read.kind === "gated_by_cursor") return void 0;
81
83
  if (profile?.source === "grok" && read.kind === "unreadable") return refusalOutput(profile, GROK_UNREADABLE_CALL);
82
84
  return profile?.soleGate && !isPusharysOwnCall(read) ? refusalOutput(profile, SOLE_GATE_UNDECIDED_REASON) : void 0;
83
85
  };