@pushary/agent-hooks 1.9.61 → 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 (122) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/{api-LW3PJQYY.js → api-7HLZRIUV.js} +14 -12
  3. package/dist/bin/pushary-bell-hook.js +27 -27
  4. package/dist/bin/pushary-bell.js +10 -10
  5. package/dist/bin/pushary-claude.js +33 -26
  6. package/dist/bin/pushary-clean.js +33 -33
  7. package/dist/bin/pushary-codex-bridge.js +21 -21
  8. package/dist/bin/pushary-codex-hook.js +48 -35
  9. package/dist/bin/pushary-codex-session.js +8 -8
  10. package/dist/bin/pushary-codex.js +14 -14
  11. package/dist/bin/pushary-connect.js +27 -27
  12. package/dist/bin/pushary-cowork.js +5 -5
  13. package/dist/bin/pushary-daemon.js +37 -37
  14. package/dist/bin/pushary-disconnect.js +26 -26
  15. package/dist/bin/pushary-doctor.js +40 -40
  16. package/dist/bin/pushary-elicitation-hook.js +29 -27
  17. package/dist/bin/pushary-gemini-bridge.js +15 -15
  18. package/dist/bin/pushary-gemini-hook.js +37 -29
  19. package/dist/bin/pushary-hook.js +32 -31
  20. package/dist/bin/pushary-login.js +14 -14
  21. package/dist/bin/pushary-logout.js +27 -27
  22. package/dist/bin/pushary-mcp.js +11 -11
  23. package/dist/bin/pushary-mode.js +14 -14
  24. package/dist/bin/pushary-notification-hook.js +26 -26
  25. package/dist/bin/pushary-opencode-hook.js +39 -30
  26. package/dist/bin/pushary-permission-denied-hook.js +31 -31
  27. package/dist/bin/pushary-permission-hook.js +30 -30
  28. package/dist/bin/pushary-post-hook.js +26 -26
  29. package/dist/bin/pushary-prompt-hook.js +26 -26
  30. package/dist/bin/pushary-session-end-hook.js +26 -26
  31. package/dist/bin/pushary-session-start-hook.js +33 -33
  32. package/dist/bin/pushary-setup.js +44 -44
  33. package/dist/bin/pushary-stats.js +5 -5
  34. package/dist/bin/pushary-status.js +31 -31
  35. package/dist/bin/pushary-stop-hook.js +26 -26
  36. package/dist/bin/pushary-stopfailure-hook.js +26 -26
  37. package/dist/bin/pushary-suggestions.js +14 -14
  38. package/dist/bin/pushary-transcript-register.js +18 -18
  39. package/dist/bin/pushary-transcripts.js +7 -7
  40. package/dist/bin/pushary-upgrade.js +37 -37
  41. package/dist/bin/pushary-wait.js +14 -14
  42. package/dist/bin/pushary.js +7 -7
  43. package/dist/{chunk-ZEWIMY63.js → chunk-3IFCXMC6.js} +1 -1
  44. package/dist/{chunk-GZCSWDAS.js → chunk-3LBB7GVF.js} +4 -4
  45. package/dist/{chunk-WFSGCFXQ.js → chunk-3YGUWPNZ.js} +2 -6
  46. package/dist/{chunk-SVQWHV65.js → chunk-44FNEAXK.js} +1 -1
  47. package/dist/{chunk-YPD3MTFU.js → chunk-4K6YZPZ3.js} +1 -1
  48. package/dist/{chunk-GKFO5JLN.js → chunk-557ZE5EX.js} +4 -4
  49. package/dist/{chunk-LBHJJEKT.js → chunk-5R23J52J.js} +6 -6
  50. package/dist/{chunk-ORX5BTV4.js → chunk-67Q3Q5IO.js} +8 -6
  51. package/dist/{chunk-ZGU3NXL2.js → chunk-6HIYOY6I.js} +5 -5
  52. package/dist/{chunk-LN7DE5LY.js → chunk-6JAWNRDR.js} +2 -2
  53. package/dist/{chunk-MWLTTLPK.js → chunk-6YSEOXP5.js} +2 -2
  54. package/dist/{chunk-4N5E4JNF.js → chunk-7E2ZN7XA.js} +2 -2
  55. package/dist/{chunk-P3VQH65N.js → chunk-7EHZXZB2.js} +33 -20
  56. package/dist/{chunk-2AELPDMT.js → chunk-7ETELRQX.js} +1 -1
  57. package/dist/{chunk-7BHI3PZN.js → chunk-7GU4PXE5.js} +1 -1
  58. package/dist/{chunk-BJTSKOH3.js → chunk-7NJ4TDUH.js} +5 -5
  59. package/dist/{chunk-X3YKQJCZ.js → chunk-7NXB7OVX.js} +1 -1
  60. package/dist/{chunk-XEJOPVCG.js → chunk-A4CZPUQ6.js} +1 -1
  61. package/dist/{chunk-64S5PQBQ.js → chunk-AFV3FQNG.js} +4 -4
  62. package/dist/{chunk-QER5R7Z6.js → chunk-BIUSODLS.js} +2 -2
  63. package/dist/{chunk-CJ5TCFD4.js → chunk-CFIQ3252.js} +3 -3
  64. package/dist/{chunk-BG4Y64FW.js → chunk-DFKEJARZ.js} +1 -1
  65. package/dist/{chunk-GDKQUB52.js → chunk-EA6574W2.js} +5 -5
  66. package/dist/{chunk-UADSXJZ4.js → chunk-EO6CL4PD.js} +2 -2
  67. package/dist/{chunk-XAO6EYGM.js → chunk-ESXGCZDA.js} +26 -3
  68. package/dist/{chunk-EUIPTDLX.js → chunk-EUNSJKJJ.js} +8 -8
  69. package/dist/{chunk-BUZIEL7Y.js → chunk-EVZDYG7L.js} +2 -2
  70. package/dist/{chunk-IFPOHFDJ.js → chunk-F35YILEN.js} +1 -1
  71. package/dist/{chunk-ERK24P76.js → chunk-FG5HMJ7C.js} +1 -1
  72. package/dist/{chunk-NKLNU577.js → chunk-FX7KDF47.js} +3 -3
  73. package/dist/{chunk-AXJLJJ3M.js → chunk-FXECTHAG.js} +73 -2
  74. package/dist/chunk-FYS27SUS.js +216 -0
  75. package/dist/{chunk-SFAP4AJY.js → chunk-G3ZDCYMU.js} +1 -1
  76. package/dist/{chunk-ELLJPP6O.js → chunk-GFAG72LR.js} +2 -2
  77. package/dist/{chunk-ATKN4BJT.js → chunk-GV43RXR2.js} +1 -1
  78. package/dist/{chunk-7BAO42UV.js → chunk-HSRNWCXJ.js} +3 -3
  79. package/dist/{chunk-RGSW36XH.js → chunk-LCNN7UOE.js} +3 -3
  80. package/dist/{chunk-4VRTSDGP.js → chunk-LILS32LF.js} +5 -5
  81. package/dist/{chunk-33OOEVPG.js → chunk-LL2KHEJH.js} +1 -1
  82. package/dist/{chunk-DQLCFGHK.js → chunk-LWR5VKNC.js} +15 -9
  83. package/dist/{chunk-CICLXLQN.js → chunk-M7MEVILL.js} +3 -3
  84. package/dist/{chunk-XV6S5PWW.js → chunk-MURJ4WAL.js} +1 -1
  85. package/dist/{chunk-FUZ5VYWD.js → chunk-MYEALNW6.js} +1 -1
  86. package/dist/{chunk-ADR3KHOC.js → chunk-NAZRRXZM.js} +2 -2
  87. package/dist/{chunk-VX2MJ4X7.js → chunk-NZLQ6GMX.js} +4 -4
  88. package/dist/{chunk-K4MBKXAE.js → chunk-OZRT64BB.js} +1 -1
  89. package/dist/{chunk-Y5VKZNFN.js → chunk-PSCXEH42.js} +2 -2
  90. package/dist/{chunk-YDR4BQ7R.js → chunk-Q4WTIKM6.js} +3 -3
  91. package/dist/{chunk-KPNZ7JUL.js → chunk-QIPW7OVB.js} +4 -4
  92. package/dist/{chunk-USE5IEEW.js → chunk-R3CLBNST.js} +1 -1
  93. package/dist/{chunk-SHJVFW22.js → chunk-RFCEVROB.js} +2 -2
  94. package/dist/{chunk-RJHX66EY.js → chunk-RSNN2TPE.js} +13 -8
  95. package/dist/{chunk-HUI4OE43.js → chunk-RU37NSZH.js} +3 -3
  96. package/dist/{chunk-7MCCXE5Y.js → chunk-SDOWT67G.js} +5 -5
  97. package/dist/{chunk-BQ2VV7LY.js → chunk-SJCPIYWJ.js} +2 -2
  98. package/dist/{chunk-O65F2IIN.js → chunk-SJJYXMJP.js} +6 -6
  99. package/dist/{chunk-G36T5LAP.js → chunk-TMHE5CVX.js} +3 -3
  100. package/dist/{chunk-GAMVAORR.js → chunk-UUAVYIWJ.js} +1 -1
  101. package/dist/{chunk-PITQ5ZIQ.js → chunk-UWCPY4RY.js} +2 -2
  102. package/dist/{chunk-7HDGH3Z2.js → chunk-VF3IL56Q.js} +2 -2
  103. package/dist/{chunk-WN3RACVD.js → chunk-W3CBFLIX.js} +3 -3
  104. package/dist/{chunk-6T5Z64KS.js → chunk-W6MYFAOK.js} +10 -10
  105. package/dist/{chunk-Y6Z7DA5Y.js → chunk-YQK72JGV.js} +5 -5
  106. package/dist/{chunk-7JXJJNQ5.js → chunk-ZEDGKCCM.js} +1 -1
  107. package/dist/{chunk-JGQV4MDQ.js → chunk-ZJFJUAHS.js} +6 -6
  108. package/dist/{codex-app-cards-switch-BD7LCI2I.js → codex-app-cards-switch-IIL7IPP6.js} +11 -11
  109. package/dist/{codex-desktop-launch-V5CASSBB.js → codex-desktop-launch-XCLMYVBD.js} +1 -1
  110. package/dist/{codex-session-launch-5PKFKUFD.js → codex-session-launch-UMVALJ3A.js} +18 -18
  111. package/dist/{config-AEKH7HGC.js → config-5N3GUJD5.js} +3 -3
  112. package/dist/{global-upgrade-IUXJJDWF.js → global-upgrade-5F4CSXED.js} +9 -9
  113. package/dist/{identity-YJIV2XTY.js → identity-7ULYW4RL.js} +4 -4
  114. package/dist/{live-capabilities-QYFW5QAW.js → live-capabilities-QTSFXA6T.js} +4 -4
  115. package/dist/{paths-A5GAR5PL.js → paths-HEMK2ALW.js} +3 -3
  116. package/dist/{reapply-BKJGICRJ.js → reapply-AMFKVYZV.js} +26 -26
  117. package/dist/src/index.d.ts +1 -0
  118. package/dist/src/index.js +21 -21
  119. package/dist/{upgrade-lock-DDB7WEWC.js → upgrade-lock-IAZC5644.js} +4 -4
  120. package/dist/{usage-HBDNFZ3O.js → usage-NEFDYSRT.js} +3 -3
  121. package/package.json +1 -1
  122. package/dist/chunk-6FJ6CK32.js +0 -126
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.9.62
4
+
5
+ - In Cursor, each shell command and file change reaches your phone once. Cursor also runs Claude Code's hooks, so with Pushary's Cursor gate installed every gated call was asked about twice, once by each hook. The Claude Code hook now leaves a call from Cursor to the Cursor gate when `~/.cursor/hooks.json` registers that gate for that kind of call and the gate can answer it: its script is present and new enough to handle that kind of call, or the Pushary app is installed. Anything the Cursor gate does not cover is still asked about by the Claude Code hook. Commands the Cursor gate lets run without asking, such as ones that only read, no longer reach your phone through the Claude Code hook. This applies where this CLI runs Claude Code's hooks; while the Pushary Mac app runs them, calls from Cursor are still asked about twice until an app update.
6
+ - When a session already has as many open questions as Pushary allows, a new approval is never approved and nobody is asked again. Before, the hook stopped the agent and told it to retry, and every retry was refused again. Now the call goes to a prompt only where one is sure to follow: Claude Code's own prompt or permission dialog, the prompt of an agent that runs Claude Code's hooks and has one of its own, such as Grok, and Codex's own confirmation for a call Codex itself asked about. Everywhere else it is refused, with a message that says why: under a rule that refuses when nobody answers, in Codex before a tool runs, in Gemini CLI and OpenCode, in Antigravity CLI, in sessions started from your phone, and for a call from Cursor, because Cursor does not hold a call for a prompt. Gemini CLI under When I'm out hands the call to Gemini, as it did before. A question your agent asks you ends as an unanswered question, so its own picker, plan dialog or MCP form shows.
7
+
3
8
  ## 1.9.61
4
9
 
5
10
  - Pushary for Mac can connect Codex through its own helper, so Codex follows the account signed in to the app instead of a copied key that sign-out revokes. Setup, upgrade and doctor now recognize that entry. When setup or upgrade handles Codex's hooks itself, with `--take-over-hooks` or because the app is gone, it moves Codex's MCP to this CLI's account too, instead of leaving Codex on the Mac's account or on a helper that cannot start.
@@ -6,33 +6,34 @@ import {
6
6
  isAwayPaused,
7
7
  isDecisionStopped,
8
8
  isLocalQuestionHandoff,
9
+ isQuestionLimitRefusal,
9
10
  nextLongPollMs,
10
11
  pollForAnswer,
11
12
  requestGate,
12
13
  sendNotification,
13
- unavailableQuestionUnlessSubscriptionRequired,
14
+ unavailableQuestionUnlessRefused,
14
15
  waitForAnswer,
15
16
  waitForQuestion,
16
17
  waitsForThePhone,
17
18
  withdrawQuestion
18
- } from "./chunk-RJHX66EY.js";
19
- import "./chunk-XAO6EYGM.js";
19
+ } from "./chunk-RSNN2TPE.js";
20
+ import "./chunk-ESXGCZDA.js";
20
21
  import "./chunk-POFBE6ZY.js";
21
- import "./chunk-YDR4BQ7R.js";
22
- import "./chunk-7BAO42UV.js";
23
- import "./chunk-SFAP4AJY.js";
22
+ import "./chunk-Q4WTIKM6.js";
23
+ import "./chunk-HSRNWCXJ.js";
24
+ import "./chunk-G3ZDCYMU.js";
24
25
  import "./chunk-PPY5N2E6.js";
25
26
  import "./chunk-KZERVKTD.js";
26
- import "./chunk-MWLTTLPK.js";
27
- import "./chunk-CJ5TCFD4.js";
27
+ import "./chunk-6YSEOXP5.js";
28
+ import "./chunk-CFIQ3252.js";
28
29
  import "./chunk-QENTGE75.js";
29
- import "./chunk-BG4Y64FW.js";
30
- import "./chunk-ERK24P76.js";
30
+ import "./chunk-DFKEJARZ.js";
31
+ import "./chunk-FG5HMJ7C.js";
31
32
  import "./chunk-QTOLNRET.js";
32
33
  import {
33
34
  DECISION_STOP_REASON,
34
35
  UNVERIFIABLE_APPROVAL_REASON
35
- } from "./chunk-AXJLJJ3M.js";
36
+ } from "./chunk-FXECTHAG.js";
36
37
  import "./chunk-MLKGABMK.js";
37
38
  export {
38
39
  DECISION_STOP_REASON,
@@ -44,11 +45,12 @@ export {
44
45
  isAwayPaused,
45
46
  isDecisionStopped,
46
47
  isLocalQuestionHandoff,
48
+ isQuestionLimitRefusal,
47
49
  nextLongPollMs,
48
50
  pollForAnswer,
49
51
  requestGate,
50
52
  sendNotification,
51
- unavailableQuestionUnlessSubscriptionRequired,
53
+ unavailableQuestionUnlessRefused,
52
54
  waitForAnswer,
53
55
  waitForQuestion,
54
56
  waitsForThePhone,
@@ -1,44 +1,44 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handleBell
4
- } from "../chunk-ATKN4BJT.js";
4
+ } from "../chunk-GV43RXR2.js";
5
5
  import {
6
6
  readHookInput
7
- } from "../chunk-6FJ6CK32.js";
8
- import "../chunk-EUIPTDLX.js";
7
+ } from "../chunk-FYS27SUS.js";
8
+ import "../chunk-EUNSJKJJ.js";
9
9
  import "../chunk-QW3FRUFB.js";
10
- import "../chunk-GKFO5JLN.js";
11
- import "../chunk-LBHJJEKT.js";
12
- import "../chunk-BJTSKOH3.js";
13
- import "../chunk-RGSW36XH.js";
14
- import "../chunk-XV6S5PWW.js";
15
- import "../chunk-IFPOHFDJ.js";
10
+ import "../chunk-557ZE5EX.js";
11
+ import "../chunk-5R23J52J.js";
12
+ import "../chunk-7NJ4TDUH.js";
13
+ import "../chunk-LCNN7UOE.js";
14
+ import "../chunk-MURJ4WAL.js";
15
+ import "../chunk-F35YILEN.js";
16
16
  import "../chunk-NMUI3ZWG.js";
17
- import "../chunk-2AELPDMT.js";
18
- import "../chunk-GAMVAORR.js";
19
- import "../chunk-7JXJJNQ5.js";
17
+ import "../chunk-7ETELRQX.js";
18
+ import "../chunk-UUAVYIWJ.js";
19
+ import "../chunk-ZEDGKCCM.js";
20
20
  import "../chunk-XHKBHWLX.js";
21
21
  import "../chunk-6ICPEJY5.js";
22
- import "../chunk-WN3RACVD.js";
23
- import "../chunk-DQLCFGHK.js";
24
- import "../chunk-33OOEVPG.js";
25
- import "../chunk-YPD3MTFU.js";
26
- import "../chunk-RJHX66EY.js";
27
- import "../chunk-XAO6EYGM.js";
22
+ import "../chunk-W3CBFLIX.js";
23
+ import "../chunk-LWR5VKNC.js";
24
+ import "../chunk-LL2KHEJH.js";
25
+ import "../chunk-4K6YZPZ3.js";
26
+ import "../chunk-RSNN2TPE.js";
27
+ import "../chunk-ESXGCZDA.js";
28
28
  import "../chunk-POFBE6ZY.js";
29
- import "../chunk-YDR4BQ7R.js";
30
- import "../chunk-7BAO42UV.js";
31
- import "../chunk-SFAP4AJY.js";
29
+ import "../chunk-Q4WTIKM6.js";
30
+ import "../chunk-HSRNWCXJ.js";
31
+ import "../chunk-G3ZDCYMU.js";
32
32
  import "../chunk-PPY5N2E6.js";
33
33
  import "../chunk-KZERVKTD.js";
34
- import "../chunk-Y5VKZNFN.js";
35
- import "../chunk-MWLTTLPK.js";
36
- import "../chunk-CJ5TCFD4.js";
34
+ import "../chunk-PSCXEH42.js";
35
+ import "../chunk-6YSEOXP5.js";
36
+ import "../chunk-CFIQ3252.js";
37
37
  import "../chunk-QENTGE75.js";
38
- import "../chunk-BG4Y64FW.js";
39
- import "../chunk-ERK24P76.js";
38
+ import "../chunk-DFKEJARZ.js";
39
+ import "../chunk-FG5HMJ7C.js";
40
40
  import "../chunk-QTOLNRET.js";
41
- import "../chunk-AXJLJJ3M.js";
41
+ import "../chunk-FXECTHAG.js";
42
42
  import "../chunk-MLKGABMK.js";
43
43
 
44
44
  // bin/pushary-bell-hook.ts
@@ -5,41 +5,41 @@ import {
5
5
  liveAgentCount,
6
6
  ring,
7
7
  upgradeThreshold
8
- } from "../chunk-ATKN4BJT.js";
8
+ } from "../chunk-GV43RXR2.js";
9
9
  import {
10
10
  createIo
11
11
  } from "../chunk-FO3MDD26.js";
12
12
  import {
13
13
  exitOnHelpFlag
14
- } from "../chunk-K4MBKXAE.js";
14
+ } from "../chunk-OZRT64BB.js";
15
15
  import {
16
16
  addBellHooks,
17
17
  bellInstalled,
18
18
  removeBellHooks
19
- } from "../chunk-IFPOHFDJ.js";
19
+ } from "../chunk-F35YILEN.js";
20
20
  import {
21
21
  parseFlags
22
22
  } from "../chunk-NMUI3ZWG.js";
23
- import "../chunk-WN3RACVD.js";
23
+ import "../chunk-W3CBFLIX.js";
24
24
  import "../chunk-PPY5N2E6.js";
25
25
  import {
26
26
  EXIT
27
27
  } from "../chunk-KZERVKTD.js";
28
- import "../chunk-Y5VKZNFN.js";
28
+ import "../chunk-PSCXEH42.js";
29
29
  import {
30
30
  claudeSettings
31
- } from "../chunk-MWLTTLPK.js";
32
- import "../chunk-CJ5TCFD4.js";
31
+ } from "../chunk-6YSEOXP5.js";
32
+ import "../chunk-CFIQ3252.js";
33
33
  import {
34
34
  readJsonSafe,
35
35
  writeJsonAtomic
36
36
  } from "../chunk-QENTGE75.js";
37
- import "../chunk-BG4Y64FW.js";
38
- import "../chunk-ERK24P76.js";
37
+ import "../chunk-DFKEJARZ.js";
38
+ import "../chunk-FG5HMJ7C.js";
39
39
  import "../chunk-QTOLNRET.js";
40
40
  import {
41
41
  isRecord
42
- } from "../chunk-AXJLJJ3M.js";
42
+ } from "../chunk-FXECTHAG.js";
43
43
  import "../chunk-MLKGABMK.js";
44
44
 
45
45
  // bin/pushary-bell.ts
@@ -8,40 +8,40 @@ import {
8
8
  describeIdleWindow,
9
9
  startProcessOwnership,
10
10
  withSpawnProcessOwnership
11
- } from "../chunk-SHJVFW22.js";
11
+ } from "../chunk-RFCEVROB.js";
12
12
  import "../chunk-VUFHYMSP.js";
13
13
  import {
14
14
  announceSubscriptionRequired,
15
15
  isDeferAnswer
16
- } from "../chunk-ZEWIMY63.js";
16
+ } from "../chunk-3IFCXMC6.js";
17
17
  import {
18
18
  claudeTranscriptPath,
19
19
  loadSessionKey,
20
20
  registerTranscript,
21
21
  registeredTranscriptEnabled
22
- } from "../chunk-EUIPTDLX.js";
22
+ } from "../chunk-EUNSJKJJ.js";
23
23
  import "../chunk-QW3FRUFB.js";
24
24
  import {
25
25
  ensureDaemonRunning
26
- } from "../chunk-LBHJJEKT.js";
27
- import "../chunk-BJTSKOH3.js";
28
- import "../chunk-RGSW36XH.js";
29
- import "../chunk-XV6S5PWW.js";
30
- import "../chunk-IFPOHFDJ.js";
26
+ } from "../chunk-5R23J52J.js";
27
+ import "../chunk-7NJ4TDUH.js";
28
+ import "../chunk-LCNN7UOE.js";
29
+ import "../chunk-MURJ4WAL.js";
30
+ import "../chunk-F35YILEN.js";
31
31
  import "../chunk-NMUI3ZWG.js";
32
32
  import {
33
33
  encryptRecord
34
- } from "../chunk-2AELPDMT.js";
35
- import "../chunk-GAMVAORR.js";
34
+ } from "../chunk-7ETELRQX.js";
35
+ import "../chunk-UUAVYIWJ.js";
36
36
  import {
37
37
  transcriptsEnabled
38
- } from "../chunk-7JXJJNQ5.js";
38
+ } from "../chunk-ZEDGKCCM.js";
39
39
  import {
40
40
  needsShell,
41
41
  spawnClaude
42
42
  } from "../chunk-XHKBHWLX.js";
43
43
  import "../chunk-6ICPEJY5.js";
44
- import "../chunk-WN3RACVD.js";
44
+ import "../chunk-W3CBFLIX.js";
45
45
  import {
46
46
  DEFAULT_SESSION,
47
47
  UNNAMED_ACTION,
@@ -58,46 +58,47 @@ import {
58
58
  reportEvent,
59
59
  savePendingCommand,
60
60
  scopePathFor
61
- } from "../chunk-DQLCFGHK.js";
62
- import "../chunk-33OOEVPG.js";
61
+ } from "../chunk-LWR5VKNC.js";
62
+ import "../chunk-LL2KHEJH.js";
63
63
  import {
64
64
  repoKeyFor
65
- } from "../chunk-YPD3MTFU.js";
65
+ } from "../chunk-4K6YZPZ3.js";
66
66
  import {
67
67
  askUser,
68
68
  cancelQuestion,
69
69
  isAwayPaused,
70
70
  isDecisionStopped,
71
71
  isLocalQuestionHandoff,
72
+ isQuestionLimitRefusal,
72
73
  nextLongPollMs,
73
74
  waitForAnswer,
74
75
  waitsForThePhone,
75
76
  withdrawQuestion
76
- } from "../chunk-RJHX66EY.js";
77
+ } from "../chunk-RSNN2TPE.js";
77
78
  import {
78
79
  SubscriptionRequiredError
79
- } from "../chunk-XAO6EYGM.js";
80
+ } from "../chunk-ESXGCZDA.js";
80
81
  import "../chunk-POFBE6ZY.js";
81
- import "../chunk-YDR4BQ7R.js";
82
- import "../chunk-7BAO42UV.js";
82
+ import "../chunk-Q4WTIKM6.js";
83
+ import "../chunk-HSRNWCXJ.js";
83
84
  import {
84
85
  getMachineId
85
- } from "../chunk-SFAP4AJY.js";
86
+ } from "../chunk-G3ZDCYMU.js";
86
87
  import "../chunk-PPY5N2E6.js";
87
88
  import "../chunk-KZERVKTD.js";
88
- import "../chunk-Y5VKZNFN.js";
89
+ import "../chunk-PSCXEH42.js";
89
90
  import {
90
91
  claudeConfigDir
91
- } from "../chunk-MWLTTLPK.js";
92
- import "../chunk-CJ5TCFD4.js";
92
+ } from "../chunk-6YSEOXP5.js";
93
+ import "../chunk-CFIQ3252.js";
93
94
  import "../chunk-QENTGE75.js";
94
95
  import {
95
96
  getApiKey,
96
97
  getBaseUrl
97
- } from "../chunk-BG4Y64FW.js";
98
+ } from "../chunk-DFKEJARZ.js";
98
99
  import {
99
100
  NPX_LATEST_COMMAND
100
- } from "../chunk-ERK24P76.js";
101
+ } from "../chunk-FG5HMJ7C.js";
101
102
  import "../chunk-QTOLNRET.js";
102
103
  import {
103
104
  DECISION_STOP_REASON,
@@ -105,10 +106,12 @@ import {
105
106
  KILL_REASON,
106
107
  SESSION_PAUSED_REASON,
107
108
  UNVERIFIABLE_APPROVAL_REASON,
109
+ questionLimitHandBack,
108
110
  redactSecretsFromContent,
111
+ refusesWhenUnanswered,
109
112
  resolveGate,
110
113
  timeoutActionWithoutLocalPrompt
111
- } from "../chunk-AXJLJJ3M.js";
114
+ } from "../chunk-FXECTHAG.js";
112
115
  import "../chunk-MLKGABMK.js";
113
116
 
114
117
  // src/wrapper/localPassthrough.ts
@@ -451,6 +454,7 @@ var allow = (input) => ({
451
454
  updatedInput: input
452
455
  });
453
456
  var deny = (message) => ({ behavior: "deny", message });
457
+ var resultOfHandBack = (handBack) => deny(handBack.kind === "refuse" ? handBack.reason : HAND_BACK_WITHOUT_A_PROMPT.reason);
454
458
  var createRemoteApprover = (deps) => {
455
459
  const fetchModeState2 = deps.fetchModeState ?? fetchModeState;
456
460
  const getPolicy2 = deps.getPolicy ?? getPolicy;
@@ -549,6 +553,9 @@ var createRemoteApprover = (deps) => {
549
553
  localSurfaceAvailable: false
550
554
  });
551
555
  } catch (error) {
556
+ if (isQuestionLimitRefusal(error)) {
557
+ return resultOfHandBack(questionLimitHandBack({ refusesUnanswered: refusesWhenUnanswered(policy), agentPromptFollows: false }));
558
+ }
552
559
  if (!(error instanceof SubscriptionRequiredError)) return deny(UNVERIFIABLE_APPROVAL_REASON);
553
560
  announceSubscriptionRequired(error.upgradeUrl, sessionId);
554
561
  return deny(SUBSCRIPTION_REQUIRED_NO_LOCAL_APPROVAL_UI);
@@ -15,26 +15,26 @@ import {
15
15
  storedMacAppState,
16
16
  storedPusharyKeychainServices,
17
17
  waitForMacAppExit
18
- } from "../chunk-BQ2VV7LY.js";
18
+ } from "../chunk-SJCPIYWJ.js";
19
19
  import {
20
20
  PUSHARY_SKILL_NAME,
21
21
  PUSHARY_SKILL_SOURCE,
22
22
  createGuards
23
23
  } from "../chunk-EUW7JL2K.js";
24
- import "../chunk-PITQ5ZIQ.js";
24
+ import "../chunk-UWCPY4RY.js";
25
25
  import "../chunk-XCEN33UP.js";
26
26
  import {
27
27
  describeCliKeyRevocation,
28
28
  planCliKeyRevocations,
29
29
  readCliHeldKeys,
30
30
  revokeCliKeys
31
- } from "../chunk-Y6Z7DA5Y.js";
32
- import "../chunk-64S5PQBQ.js";
31
+ } from "../chunk-YQK72JGV.js";
32
+ import "../chunk-AFV3FQNG.js";
33
33
  import {
34
34
  isCursorPluginLeftover,
35
35
  releaseSoleGate,
36
36
  withoutPusharyCursorHooks
37
- } from "../chunk-GZCSWDAS.js";
37
+ } from "../chunk-3LBB7GVF.js";
38
38
  import {
39
39
  HERMES_PIP_PACKAGE,
40
40
  readHermesStatus,
@@ -43,21 +43,21 @@ import {
43
43
  shortenHome,
44
44
  unregisterPluginLocation,
45
45
  vscodeSettingsTargets
46
- } from "../chunk-GDKQUB52.js";
46
+ } from "../chunk-EA6574W2.js";
47
47
  import {
48
48
  macAppKeepsMcpEntry,
49
49
  mcpServerBearer,
50
50
  pusharyKey,
51
51
  readMacAppAgentKey,
52
52
  setupReceiptKey
53
- } from "../chunk-KPNZ7JUL.js";
53
+ } from "../chunk-QIPW7OVB.js";
54
54
  import "../chunk-QCGNGEGE.js";
55
- import "../chunk-ADR3KHOC.js";
55
+ import "../chunk-NAZRRXZM.js";
56
56
  import {
57
57
  planFxRemoval,
58
58
  removeInstructionBlock
59
- } from "../chunk-4VRTSDGP.js";
60
- import "../chunk-UADSXJZ4.js";
59
+ } from "../chunk-LILS32LF.js";
60
+ import "../chunk-EO6CL4PD.js";
61
61
  import {
62
62
  OPENCODE_PLUGIN_SIBLING,
63
63
  OPENCODE_PLUGIN_SIBLING_CONTENTS,
@@ -69,14 +69,14 @@ import {
69
69
  openCodePluginDir,
70
70
  openCodePluginFile,
71
71
  removeOpenCodeMcpServer
72
- } from "../chunk-ZGU3NXL2.js";
72
+ } from "../chunk-6HIYOY6I.js";
73
73
  import {
74
74
  ansiPainter,
75
75
  useColor
76
76
  } from "../chunk-FO3MDD26.js";
77
77
  import {
78
78
  exitOnHelpFlag
79
- } from "../chunk-K4MBKXAE.js";
79
+ } from "../chunk-OZRT64BB.js";
80
80
  import "../chunk-VUFHYMSP.js";
81
81
  import {
82
82
  compatibleConfigFile,
@@ -94,10 +94,10 @@ import {
94
94
  removePusharyToolPermissions,
95
95
  restoreClaudeMcpServer,
96
96
  serializeConfigDocument
97
- } from "../chunk-GKFO5JLN.js";
97
+ } from "../chunk-557ZE5EX.js";
98
98
  import {
99
99
  disableDaemonService
100
- } from "../chunk-LBHJJEKT.js";
100
+ } from "../chunk-5R23J52J.js";
101
101
  import {
102
102
  hookOwnerOf,
103
103
  isHookTakeoverReceipt,
@@ -105,12 +105,12 @@ import {
105
105
  resolveBridgeStub,
106
106
  restoreHookTakeover,
107
107
  restoreMcpServer
108
- } from "../chunk-BJTSKOH3.js";
108
+ } from "../chunk-7NJ4TDUH.js";
109
109
  import {
110
110
  removeGeminiSettings
111
- } from "../chunk-RGSW36XH.js";
112
- import "../chunk-XV6S5PWW.js";
113
- import "../chunk-IFPOHFDJ.js";
111
+ } from "../chunk-LCNN7UOE.js";
112
+ import "../chunk-MURJ4WAL.js";
113
+ import "../chunk-F35YILEN.js";
114
114
  import {
115
115
  parseFlags
116
116
  } from "../chunk-NMUI3ZWG.js";
@@ -121,22 +121,22 @@ import {
121
121
  isDisabledExport,
122
122
  removeClaudeAlias,
123
123
  shellProfileCandidates
124
- } from "../chunk-WN3RACVD.js";
124
+ } from "../chunk-W3CBFLIX.js";
125
125
  import "../chunk-E46NE7FB.js";
126
- import "../chunk-DQLCFGHK.js";
127
- import "../chunk-33OOEVPG.js";
128
- import "../chunk-YPD3MTFU.js";
129
- import "../chunk-RJHX66EY.js";
130
- import "../chunk-XAO6EYGM.js";
126
+ import "../chunk-LWR5VKNC.js";
127
+ import "../chunk-LL2KHEJH.js";
128
+ import "../chunk-4K6YZPZ3.js";
129
+ import "../chunk-RSNN2TPE.js";
130
+ import "../chunk-ESXGCZDA.js";
131
131
  import "../chunk-POFBE6ZY.js";
132
- import "../chunk-YDR4BQ7R.js";
133
- import "../chunk-7BAO42UV.js";
134
- import "../chunk-SFAP4AJY.js";
132
+ import "../chunk-Q4WTIKM6.js";
133
+ import "../chunk-HSRNWCXJ.js";
134
+ import "../chunk-G3ZDCYMU.js";
135
135
  import "../chunk-PPY5N2E6.js";
136
136
  import {
137
137
  EXIT
138
138
  } from "../chunk-KZERVKTD.js";
139
- import "../chunk-Y5VKZNFN.js";
139
+ import "../chunk-PSCXEH42.js";
140
140
  import {
141
141
  claudeConfigDir,
142
142
  claudeJson,
@@ -171,21 +171,21 @@ import {
171
171
  restoreCodexHookTrust,
172
172
  vscodePluginDir,
173
173
  vscodePluginMcp
174
- } from "../chunk-MWLTTLPK.js";
174
+ } from "../chunk-6YSEOXP5.js";
175
175
  import {
176
176
  cleanNpmEnv,
177
177
  globalPackageState,
178
178
  npmIsOnPath,
179
179
  readGlobalFolder,
180
180
  readGlobalPrefix
181
- } from "../chunk-CJ5TCFD4.js";
181
+ } from "../chunk-CFIQ3252.js";
182
182
  import "../chunk-QENTGE75.js";
183
183
  import {
184
184
  getBaseUrl
185
- } from "../chunk-BG4Y64FW.js";
185
+ } from "../chunk-DFKEJARZ.js";
186
186
  import {
187
187
  NPX_LATEST_COMMAND
188
- } from "../chunk-ERK24P76.js";
188
+ } from "../chunk-FG5HMJ7C.js";
189
189
  import {
190
190
  CLI_PACKAGE_NAMES,
191
191
  globalPackageFolder,
@@ -199,7 +199,7 @@ import {
199
199
  SUPPORT_EMAIL,
200
200
  isValidApiKey,
201
201
  redactSecrets
202
- } from "../chunk-AXJLJJ3M.js";
202
+ } from "../chunk-FXECTHAG.js";
203
203
  import "../chunk-MLKGABMK.js";
204
204
 
205
205
  // bin/pushary-clean.ts
@@ -1,46 +1,46 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCodexBridge
4
- } from "../chunk-O65F2IIN.js";
5
- import "../chunk-ELLJPP6O.js";
4
+ } from "../chunk-SJJYXMJP.js";
5
+ import "../chunk-GFAG72LR.js";
6
6
  import {
7
7
  resolveProviderBinary
8
- } from "../chunk-G36T5LAP.js";
9
- import "../chunk-USE5IEEW.js";
8
+ } from "../chunk-TMHE5CVX.js";
9
+ import "../chunk-R3CLBNST.js";
10
10
  import {
11
11
  withSpawnProcessOwnership
12
- } from "../chunk-SHJVFW22.js";
12
+ } from "../chunk-RFCEVROB.js";
13
13
  import "../chunk-VUFHYMSP.js";
14
- import "../chunk-2AELPDMT.js";
15
- import "../chunk-GAMVAORR.js";
14
+ import "../chunk-7ETELRQX.js";
15
+ import "../chunk-UUAVYIWJ.js";
16
16
  import {
17
17
  transcriptsEnabled
18
- } from "../chunk-7JXJJNQ5.js";
18
+ } from "../chunk-ZEDGKCCM.js";
19
19
  import "../chunk-XHKBHWLX.js";
20
20
  import "../chunk-6ICPEJY5.js";
21
- import "../chunk-WN3RACVD.js";
22
- import "../chunk-YPD3MTFU.js";
23
- import "../chunk-RJHX66EY.js";
24
- import "../chunk-XAO6EYGM.js";
21
+ import "../chunk-W3CBFLIX.js";
22
+ import "../chunk-4K6YZPZ3.js";
23
+ import "../chunk-RSNN2TPE.js";
24
+ import "../chunk-ESXGCZDA.js";
25
25
  import "../chunk-POFBE6ZY.js";
26
- import "../chunk-YDR4BQ7R.js";
27
- import "../chunk-7BAO42UV.js";
26
+ import "../chunk-Q4WTIKM6.js";
27
+ import "../chunk-HSRNWCXJ.js";
28
28
  import {
29
29
  getMachineId
30
- } from "../chunk-SFAP4AJY.js";
30
+ } from "../chunk-G3ZDCYMU.js";
31
31
  import "../chunk-PPY5N2E6.js";
32
32
  import "../chunk-KZERVKTD.js";
33
- import "../chunk-Y5VKZNFN.js";
34
- import "../chunk-MWLTTLPK.js";
35
- import "../chunk-CJ5TCFD4.js";
33
+ import "../chunk-PSCXEH42.js";
34
+ import "../chunk-6YSEOXP5.js";
35
+ import "../chunk-CFIQ3252.js";
36
36
  import "../chunk-QENTGE75.js";
37
37
  import {
38
38
  getApiKey,
39
39
  getBaseUrl
40
- } from "../chunk-BG4Y64FW.js";
41
- import "../chunk-ERK24P76.js";
40
+ } from "../chunk-DFKEJARZ.js";
41
+ import "../chunk-FG5HMJ7C.js";
42
42
  import "../chunk-QTOLNRET.js";
43
- import "../chunk-AXJLJJ3M.js";
43
+ import "../chunk-FXECTHAG.js";
44
44
  import "../chunk-MLKGABMK.js";
45
45
 
46
46
  // bin/pushary-codex-bridge.ts