pushary 1.9.119 → 1.9.121

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 (133) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/data/cursor-plugin/scripts/pushary-gate.mjs +13 -2
  3. package/data/vscode-plugin/scripts/pushary-gate.mjs +12 -1
  4. package/dist/{api-WWB7ZOLK.js → api-RI52IA65.js} +11 -11
  5. package/dist/bin/pushary-audit.js +3 -3
  6. package/dist/bin/pushary-bell-hook.js +27 -27
  7. package/dist/bin/pushary-bell.js +10 -10
  8. package/dist/bin/pushary-claude.js +25 -25
  9. package/dist/bin/pushary-clean.js +43 -43
  10. package/dist/bin/pushary-codex-bridge.js +21 -21
  11. package/dist/bin/pushary-codex-hook.js +36 -36
  12. package/dist/bin/pushary-codex-session.js +8 -8
  13. package/dist/bin/pushary-codex.js +15 -15
  14. package/dist/bin/pushary-connect.js +28 -28
  15. package/dist/bin/pushary-cowork.js +5 -5
  16. package/dist/bin/pushary-daemon.js +44 -44
  17. package/dist/bin/pushary-disconnect.js +27 -27
  18. package/dist/bin/pushary-display-hook.js +17 -17
  19. package/dist/bin/pushary-doctor.js +47 -47
  20. package/dist/bin/pushary-elicitation-hook.js +27 -27
  21. package/dist/bin/pushary-gemini-bridge.js +15 -15
  22. package/dist/bin/pushary-gemini-hook.js +33 -33
  23. package/dist/bin/pushary-hook.js +33 -33
  24. package/dist/bin/pushary-login.js +22 -22
  25. package/dist/bin/pushary-logout.js +26 -26
  26. package/dist/bin/pushary-mcp.js +12 -12
  27. package/dist/bin/pushary-mode.js +15 -15
  28. package/dist/bin/pushary-notification-hook.js +26 -26
  29. package/dist/bin/pushary-opencode-hook.js +30 -30
  30. package/dist/bin/pushary-permission-denied-hook.js +33 -33
  31. package/dist/bin/pushary-permission-hook.js +33 -33
  32. package/dist/bin/pushary-post-hook.js +26 -26
  33. package/dist/bin/pushary-prompt-hook.js +26 -26
  34. package/dist/bin/pushary-session-end-hook.js +26 -26
  35. package/dist/bin/pushary-session-start-hook.js +35 -35
  36. package/dist/bin/pushary-setup.js +90 -90
  37. package/dist/bin/pushary-stats.js +5 -5
  38. package/dist/bin/pushary-status.js +32 -32
  39. package/dist/bin/pushary-stop-hook.js +26 -26
  40. package/dist/bin/pushary-stopfailure-hook.js +26 -26
  41. package/dist/bin/pushary-suggestions.js +15 -15
  42. package/dist/bin/pushary-transcript-register.js +17 -17
  43. package/dist/bin/pushary-transcripts.js +25 -25
  44. package/dist/bin/pushary-upgrade.js +43 -43
  45. package/dist/bin/pushary-wait.js +17 -17
  46. package/dist/bin/pushary.js +7 -7
  47. package/dist/{chunk-Z3OG44Z4.js → chunk-2A4X4ETF.js} +4 -4
  48. package/dist/{chunk-R3RTISDD.js → chunk-2M7FELUY.js} +1 -1
  49. package/dist/{chunk-SE7P5BBK.js → chunk-2QWQCU7L.js} +1 -1
  50. package/dist/{chunk-NVV3YUTX.js → chunk-3HZ374VU.js} +2 -2
  51. package/dist/{chunk-TZYVXTLN.js → chunk-4LR27PGD.js} +1 -1
  52. package/dist/{chunk-EFFH2FYG.js → chunk-5CMNZXJV.js} +2 -2
  53. package/dist/{chunk-SQRS4IF2.js → chunk-5MITA7MU.js} +3 -3
  54. package/dist/{chunk-PJSFKKZ5.js → chunk-5S32WI3B.js} +1 -1
  55. package/dist/{chunk-XBH6OKHD.js → chunk-5UT5EFMH.js} +3 -3
  56. package/dist/{chunk-VRZOUCIK.js → chunk-6LP6G2NA.js} +2 -2
  57. package/dist/{chunk-YZESBU7F.js → chunk-6RME4X3J.js} +151 -6
  58. package/dist/{chunk-ISVHV2DP.js → chunk-7EYXAM63.js} +1 -1
  59. package/dist/{chunk-GBVTVTDF.js → chunk-7FDDOT2A.js} +1 -1
  60. package/dist/{chunk-KVDN4U6W.js → chunk-7FH6T4EN.js} +10 -10
  61. package/dist/{chunk-GW3PE52Q.js → chunk-7OSBFMRV.js} +1 -1
  62. package/dist/{chunk-TLCJCP5R.js → chunk-AH4NLZTT.js} +1 -1
  63. package/dist/{chunk-ZLUAXGAA.js → chunk-AXSAL7DK.js} +4 -4
  64. package/dist/{chunk-G5FQU2XF.js → chunk-B3KFHR43.js} +6 -6
  65. package/dist/{chunk-7CJ7W2RH.js → chunk-BMME65OT.js} +4 -4
  66. package/dist/{chunk-JKS4MN47.js → chunk-BPU6P3DS.js} +6 -6
  67. package/dist/{chunk-JJNF6QU4.js → chunk-BVI2N7QA.js} +1 -1
  68. package/dist/{chunk-DXJUASTS.js → chunk-D2LPVOG5.js} +2 -2
  69. package/dist/{chunk-ZTVBM3EZ.js → chunk-DLXYQE5G.js} +4 -4
  70. package/dist/{chunk-U32N5JZO.js → chunk-E5LU5MJ2.js} +1 -1
  71. package/dist/{chunk-6KX2H4I5.js → chunk-EVWF3A5D.js} +3 -3
  72. package/dist/{chunk-5HKU4VUL.js → chunk-F4K2A7DJ.js} +3 -3
  73. package/dist/{chunk-K5WTTEIQ.js → chunk-F5FMUDD7.js} +5 -5
  74. package/dist/{chunk-PNSIMPC7.js → chunk-FBJHC7HW.js} +6 -6
  75. package/dist/{chunk-2C45MJGK.js → chunk-FEJP2I44.js} +13 -6
  76. package/dist/{chunk-SNKC2IQZ.js → chunk-FG67GH5B.js} +2 -2
  77. package/dist/{chunk-CBLFIWPI.js → chunk-GZ3D46PV.js} +12 -6
  78. package/dist/{chunk-MYNLU6DV.js → chunk-H2OUB5S5.js} +2 -2
  79. package/dist/{chunk-TRDHHF3A.js → chunk-HI5YJFKW.js} +74 -10
  80. package/dist/{chunk-4HDX77ND.js → chunk-HINZZUOB.js} +3 -3
  81. package/dist/{chunk-GAOUWLYN.js → chunk-HLZWEGW3.js} +3 -3
  82. package/dist/{chunk-67I7QRQB.js → chunk-IA3E675D.js} +1 -1
  83. package/dist/{chunk-XNCKBVZX.js → chunk-IEZXEY7L.js} +5 -5
  84. package/dist/{chunk-KOZBVXXC.js → chunk-IGMI36FA.js} +3 -3
  85. package/dist/{chunk-V52J2THT.js → chunk-IZ7MIGO7.js} +1 -1
  86. package/dist/{chunk-FPG7X2GS.js → chunk-J7WPO2M2.js} +4 -4
  87. package/dist/{chunk-BQ673OOD.js → chunk-JK7GROFO.js} +2 -2
  88. package/dist/{chunk-YCCLWG7G.js → chunk-JY2DOJKN.js} +6 -6
  89. package/dist/{chunk-CXIYGD33.js → chunk-KRKH26TX.js} +2 -2
  90. package/dist/{chunk-HYTDNEXV.js → chunk-LIIIC27B.js} +1 -1
  91. package/dist/{chunk-2UE2NDCX.js → chunk-LS3CQ536.js} +1 -1
  92. package/dist/{chunk-VFZ2PE6U.js → chunk-N47MAVYX.js} +3 -3
  93. package/dist/{chunk-VMM6JCNQ.js → chunk-NCHNITQW.js} +2 -2
  94. package/dist/{chunk-PDAOZ2NF.js → chunk-NDOT226I.js} +10 -10
  95. package/dist/{chunk-UHAUC7EO.js → chunk-NLEHRQHL.js} +2 -2
  96. package/dist/{chunk-AGXOTZID.js → chunk-O7VVRTOR.js} +5 -5
  97. package/dist/{chunk-NASQPMXW.js → chunk-QK4I4CHR.js} +9 -9
  98. package/dist/{chunk-4SZM2HRA.js → chunk-RI5APNBY.js} +6 -6
  99. package/dist/{chunk-W5ZUDPKV.js → chunk-RK7QHQTY.js} +5 -5
  100. package/dist/{chunk-SSBETUYZ.js → chunk-S6TMCUU7.js} +3 -3
  101. package/dist/{chunk-EISUEJDT.js → chunk-SFMJMQJC.js} +6 -6
  102. package/dist/{chunk-W6LKC5YD.js → chunk-SQPAX33Q.js} +5 -5
  103. package/dist/{chunk-YZ7V2LVG.js → chunk-SZV5SLSD.js} +3 -3
  104. package/dist/{chunk-RIAELZYW.js → chunk-T2WDQ3NT.js} +2 -2
  105. package/dist/{chunk-KILSIJTF.js → chunk-TZHTLLXJ.js} +53 -16
  106. package/dist/{chunk-4D23TNCL.js → chunk-UI7XS3MN.js} +4 -4
  107. package/dist/{chunk-RGXFBS56.js → chunk-UIHY3ANL.js} +3 -3
  108. package/dist/{chunk-B7BOENW7.js → chunk-UV2JM3PZ.js} +1 -1
  109. package/dist/{chunk-6YLVNFQZ.js → chunk-VUNQZNKR.js} +3 -3
  110. package/dist/{chunk-3IESC326.js → chunk-W4OWC34V.js} +3 -3
  111. package/dist/{chunk-EP6I3MQY.js → chunk-WJUFRGJS.js} +4 -4
  112. package/dist/{chunk-R67NTMBY.js → chunk-WS37PSC5.js} +8 -8
  113. package/dist/{chunk-MEPYLTWF.js → chunk-WSYWK4I3.js} +10 -10
  114. package/dist/{chunk-3B7S2H4R.js → chunk-X2PN3XNW.js} +1 -1
  115. package/dist/{chunk-G4OVFWU4.js → chunk-X4CDZLUK.js} +46 -28
  116. package/dist/{chunk-COXNQUDP.js → chunk-XOYPF2BI.js} +4 -4
  117. package/dist/{chunk-5T5T4YXM.js → chunk-Z7FUHJKU.js} +1 -1
  118. package/dist/{chunk-L3MCQSES.js → chunk-ZQHT57AL.js} +5 -5
  119. package/dist/{codex-app-cards-switch-J6EULXO5.js → codex-app-cards-switch-MEVTS3QV.js} +12 -12
  120. package/dist/{codex-card-routing-XNJB6573.js → codex-card-routing-JTZ2PC24.js} +2 -2
  121. package/dist/{codex-desktop-launch-46ELENBQ.js → codex-desktop-launch-E5TZ72YZ.js} +1 -1
  122. package/dist/{codex-session-launch-R5FHFWAG.js → codex-session-launch-UMVQ7FJA.js} +18 -18
  123. package/dist/{config-RKWDMDRY.js → config-43UOHCK6.js} +3 -3
  124. package/dist/{global-upgrade-E65GJQS6.js → global-upgrade-KHVTFNAK.js} +9 -9
  125. package/dist/{identity-JRGY2KS6.js → identity-DAUTKB5X.js} +4 -4
  126. package/dist/{live-capabilities-SOO6PD7Y.js → live-capabilities-T2FOTXAH.js} +4 -4
  127. package/dist/{paths-G7NZODAY.js → paths-W5X4C6PA.js} +3 -3
  128. package/dist/{reapply-YKN5BKIP.js → reapply-WW4LJZUD.js} +28 -28
  129. package/dist/src/index.d.ts +1 -1
  130. package/dist/src/index.js +32 -32
  131. package/dist/{upgrade-lock-YKAZI3BH.js → upgrade-lock-TJBGZLH6.js} +4 -4
  132. package/dist/{usage-QWYNOIU6.js → usage-MUXR5SZ7.js} +3 -3
  133. package/package.json +1 -1
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  readMacAppAgentKey
3
- } from "./chunk-FPG7X2GS.js";
3
+ } from "./chunk-J7WPO2M2.js";
4
4
  import {
5
5
  API_KEYS_PATH
6
- } from "./chunk-BQ673OOD.js";
6
+ } from "./chunk-JK7GROFO.js";
7
7
  import {
8
8
  absoluteUrl
9
- } from "./chunk-4HDX77ND.js";
9
+ } from "./chunk-HINZZUOB.js";
10
10
  import {
11
11
  findExportedKeyLines,
12
12
  isAdoptedMacAppKey,
@@ -16,10 +16,10 @@ import {
16
16
  readConfigFileKey,
17
17
  readKeySource,
18
18
  readMacAppKeyPrefix
19
- } from "./chunk-YZ7V2LVG.js";
19
+ } from "./chunk-SZV5SLSD.js";
20
20
  import {
21
21
  isValidApiKey
22
- } from "./chunk-TRDHHF3A.js";
22
+ } from "./chunk-HI5YJFKW.js";
23
23
 
24
24
  // src/key-revocation.ts
25
25
  var SELF_REVOKE_PATH = "/api/v1/server/keys/self/revoke";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  realpath
3
- } from "./chunk-CXIYGD33.js";
3
+ } from "./chunk-KRKH26TX.js";
4
4
  import {
5
5
  findNativeClaudeInstall
6
6
  } from "./chunk-ROVLRXBI.js";
@@ -13,10 +13,10 @@ import {
13
13
  resolvePackageVersionFromBinary,
14
14
  resolvePathBinary,
15
15
  resolvePathBinaryAsync
16
- } from "./chunk-KOZBVXXC.js";
16
+ } from "./chunk-IGMI36FA.js";
17
17
  import {
18
18
  MANAGED_PROVIDERS
19
- } from "./chunk-TRDHHF3A.js";
19
+ } from "./chunk-HI5YJFKW.js";
20
20
 
21
21
  // src/live-capabilities.ts
22
22
  import { homedir } from "os";
@@ -4,19 +4,19 @@ import {
4
4
  } from "./chunk-XHKBHWLX.js";
5
5
  import {
6
6
  getMachineId
7
- } from "./chunk-TZYVXTLN.js";
7
+ } from "./chunk-4LR27PGD.js";
8
8
  import {
9
9
  readControlMode
10
- } from "./chunk-YZ7V2LVG.js";
10
+ } from "./chunk-SZV5SLSD.js";
11
11
  import {
12
12
  pusharyDir
13
- } from "./chunk-CBLFIWPI.js";
13
+ } from "./chunk-GZ3D46PV.js";
14
14
  import {
15
15
  resolveGlobalBinary
16
- } from "./chunk-KOZBVXXC.js";
16
+ } from "./chunk-IGMI36FA.js";
17
17
  import {
18
18
  getApiKey
19
- } from "./chunk-R3RTISDD.js";
19
+ } from "./chunk-2M7FELUY.js";
20
20
  import {
21
21
  readJsonSafe,
22
22
  writeFileAtomic,
@@ -32,7 +32,7 @@ import {
32
32
  } from "./chunk-ZVU6WMMU.js";
33
33
  import {
34
34
  isRecord
35
- } from "./chunk-TRDHHF3A.js";
35
+ } from "./chunk-HI5YJFKW.js";
36
36
 
37
37
  // src/daemon-lifecycle.ts
38
38
  import { dirname, join, win32 as win32Path } from "path";
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  keyCheckFromResponse
3
- } from "./chunk-4HDX77ND.js";
3
+ } from "./chunk-HINZZUOB.js";
4
4
  import {
5
5
  installNetworkDefaults
6
- } from "./chunk-RGXFBS56.js";
6
+ } from "./chunk-UIHY3ANL.js";
7
7
  import {
8
8
  fetchAsCredential
9
- } from "./chunk-U32N5JZO.js";
9
+ } from "./chunk-E5LU5MJ2.js";
10
10
  import {
11
11
  getBaseUrl
12
- } from "./chunk-R3RTISDD.js";
12
+ } from "./chunk-2M7FELUY.js";
13
13
  import {
14
14
  isRecord,
15
15
  isToolErrorResult,
16
16
  toolFailureCodeOfResult
17
- } from "./chunk-TRDHHF3A.js";
17
+ } from "./chunk-HI5YJFKW.js";
18
18
 
19
19
  // src/retry.ts
20
20
  var isRetryable = (err) => {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  resolveInstallSourceFor
3
- } from "./chunk-VMM6JCNQ.js";
3
+ } from "./chunk-NCHNITQW.js";
4
4
  import {
5
5
  configFilePath
6
- } from "./chunk-R3RTISDD.js";
6
+ } from "./chunk-2M7FELUY.js";
7
7
  import {
8
8
  backupFile,
9
9
  readJsonSafe,
@@ -14,7 +14,7 @@ import {
14
14
  API_KEY_PREFIX_PATTERN,
15
15
  isRecord,
16
16
  isValidApiKey
17
- } from "./chunk-TRDHHF3A.js";
17
+ } from "./chunk-HI5YJFKW.js";
18
18
 
19
19
  // src/shell-alias.ts
20
20
  import { homedir } from "os";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  configFilePath
3
- } from "./chunk-R3RTISDD.js";
3
+ } from "./chunk-2M7FELUY.js";
4
4
  import {
5
5
  readJsonSafe,
6
6
  writeJsonAtomic
7
7
  } from "./chunk-T5I4PKOQ.js";
8
8
  import {
9
9
  readSetupOutcomeProperties
10
- } from "./chunk-TRDHHF3A.js";
10
+ } from "./chunk-HI5YJFKW.js";
11
11
 
12
12
  // src/diagnostics/service-runtime.ts
13
13
  var unescapeXml = (value) => value.replaceAll("&quot;", '"').replaceAll("&apos;", "'").replaceAll("&lt;", "<").replaceAll("&gt;", ">").replaceAll("&amp;", "&");
@@ -1,41 +1,43 @@
1
1
  import {
2
2
  claudeSettingsLocationFor,
3
3
  readClaudePermissionRules
4
- } from "./chunk-DXJUASTS.js";
4
+ } from "./chunk-D2LPVOG5.js";
5
5
  import {
6
6
  askAgentQuestions,
7
7
  defersToNativeMode,
8
8
  outcomeOfFailedAsk,
9
9
  storedWaitDeadline
10
- } from "./chunk-XNCKBVZX.js";
10
+ } from "./chunk-IEZXEY7L.js";
11
11
  import {
12
12
  reportMachineDenial
13
- } from "./chunk-VFZ2PE6U.js";
13
+ } from "./chunk-N47MAVYX.js";
14
14
  import {
15
15
  isGatingMoment,
16
16
  recordKeylessMoment
17
- } from "./chunk-ISVHV2DP.js";
17
+ } from "./chunk-7EYXAM63.js";
18
18
  import {
19
19
  isAdmitted,
20
20
  readAdmissionRules
21
- } from "./chunk-2C45MJGK.js";
21
+ } from "./chunk-FEJP2I44.js";
22
22
  import {
23
23
  isDeferAnswer,
24
24
  oncePerSession
25
- } from "./chunk-GBVTVTDF.js";
25
+ } from "./chunk-7FDDOT2A.js";
26
26
  import {
27
27
  activeHookSource,
28
28
  activeIdentity,
29
29
  namedSource
30
- } from "./chunk-YZESBU7F.js";
30
+ } from "./chunk-6RME4X3J.js";
31
31
  import {
32
32
  DEFAULT_SESSION,
33
33
  approvalAwaitingRetry,
34
34
  blockedActionFingerprint,
35
35
  claimThrottle,
36
+ fetchLiveModeState,
36
37
  fetchModeState,
37
38
  forgetBlockedActionHint,
38
39
  getPolicy,
40
+ getPolicyForStandingDenies,
39
41
  hasBlockedActionHint,
40
42
  markApprovalReminded,
41
43
  readCachedPolicy,
@@ -46,7 +48,7 @@ import {
46
48
  settleQuestionsForToolUse,
47
49
  sweepFilesOlderThan,
48
50
  userScope
49
- } from "./chunk-G4OVFWU4.js";
51
+ } from "./chunk-X4CDZLUK.js";
50
52
  import {
51
53
  UNNAMED_ACTION,
52
54
  deriveAction,
@@ -57,12 +59,12 @@ import {
57
59
  patchDeletesFiles,
58
60
  permissionDeniedAction,
59
61
  scopePathFor
60
- } from "./chunk-GW3PE52Q.js";
62
+ } from "./chunk-7OSBFMRV.js";
61
63
  import {
62
64
  branchFor,
63
65
  repoKeyFor,
64
66
  repositoryScopeFor
65
- } from "./chunk-SE7P5BBK.js";
67
+ } from "./chunk-2QWQCU7L.js";
66
68
  import {
67
69
  askUser,
68
70
  cancelQuestion,
@@ -79,20 +81,20 @@ import {
79
81
  waitForQuestion,
80
82
  waitsForThePhone,
81
83
  withdrawQuestion
82
- } from "./chunk-NASQPMXW.js";
84
+ } from "./chunk-QK4I4CHR.js";
83
85
  import {
84
86
  getMachineId
85
- } from "./chunk-TZYVXTLN.js";
87
+ } from "./chunk-4LR27PGD.js";
86
88
  import {
87
89
  getApiKey,
88
90
  getBaseUrl
89
- } from "./chunk-R3RTISDD.js";
91
+ } from "./chunk-2M7FELUY.js";
90
92
  import {
91
93
  writeFileAtomic
92
94
  } from "./chunk-T5I4PKOQ.js";
93
95
  import {
94
96
  NPX_LATEST_COMMAND
95
- } from "./chunk-PJSFKKZ5.js";
97
+ } from "./chunk-5S32WI3B.js";
96
98
  import {
97
99
  AGENT_QUESTION_STRATEGY,
98
100
  AGENT_QUESTION_TOOL,
@@ -100,6 +102,7 @@ import {
100
102
  GATE_BLOCK_REASON_MAX_LENGTH,
101
103
  GATE_WIRE,
102
104
  HANDED_BACK_REASON,
105
+ KILL_REASON,
103
106
  MCP_TOOL_PREFIX,
104
107
  PLAN_DECLINED_REASON,
105
108
  PRETOOLUSE_HANDLED_TOOLS,
@@ -138,8 +141,10 @@ import {
138
141
  hookWaitDeadline,
139
142
  hookWritePath,
140
143
  isBlockedActionRequest,
144
+ isClaudeRefusalsOnlyTool,
141
145
  isCursorHookPayload,
142
146
  isPermissionRequestOwnedByPreToolUse,
147
+ isPusharyConnectorTool,
143
148
  isPusharyOwnTool,
144
149
  isRecord,
145
150
  matchedRouteOf,
@@ -152,12 +157,13 @@ import {
152
157
  questionLimitHandBack,
153
158
  refusesWhenUnanswered,
154
159
  resolveGate,
160
+ standingDenyOfSubagentAlias,
155
161
  terminalLiveWait,
156
162
  terminalStaysLiveForTheCall,
157
163
  timeoutActionWithoutLocalPrompt,
158
164
  unansweredRefusalReason,
159
165
  unapprovedScopeReason
160
- } from "./chunk-TRDHHF3A.js";
166
+ } from "./chunk-HI5YJFKW.js";
161
167
 
162
168
  // src/terminal-answer-watch.ts
163
169
  import { closeSync, openSync, readSync, statSync } from "fs";
@@ -829,9 +835,40 @@ var rememberHandbackToThePrompt = (input, heldForMcpRoute, result) => {
829
835
  if (heldForMcpRoute && result?.hookSpecificOutput?.permissionDecision === "ask") recordMcpHoldHandback(blockedActionFingerprintFor(input));
830
836
  return result;
831
837
  };
838
+ var isRefusalsOnlyCallInClaudeCode = (input) => ACTIVE_SOURCE === "claude" && isClaudeRefusalsOnlyTool(input.tool_name);
839
+ var STANDING_REFUSAL_NETWORK_BUDGET_MS = 800;
840
+ var standingRefusalOf = async (input) => {
841
+ let apiKey;
842
+ try {
843
+ apiKey = getApiKey();
844
+ } catch {
845
+ return void 0;
846
+ }
847
+ try {
848
+ const networkBudget = AbortSignal.timeout(STANDING_REFUSAL_NETWORK_BUDGET_MS);
849
+ const { state: modeState, answeredLive } = await fetchLiveModeState(apiKey, input.session_id, networkBudget);
850
+ if (modeState.kill) {
851
+ await reportMachineDenial(input, { kind: "kill", reason: KILL_REASON }, ACTIVE_AGENT);
852
+ return halted(KILL_REASON);
853
+ }
854
+ const policy = answeredLive ? await getPolicyForStandingDenies(apiKey, modeState.policyVersion, ACTIVE_AGENT.type, true, input.session_id, networkBudget) : readCachedPolicy(apiKey, ACTIVE_AGENT.type, true);
855
+ if (policy === null) return void 0;
856
+ const gateInputFor = (toolName) => claudeGateInput(modeState, policy, { ...input, tool_name: toolName });
857
+ const asCalled = resolveGate(gateInputFor(input.tool_name));
858
+ const denied = asCalled.kind === "deny" ? asCalled : standingDenyOfSubagentAlias(input.tool_name, (toolName) => resolveGate(gateInputFor(toolName)));
859
+ if (denied === void 0) return void 0;
860
+ await reportMachineDenial(input, denied, ACTIVE_AGENT);
861
+ return deny(denied.reason);
862
+ } catch (error) {
863
+ await reportHookFailure("pre_tool_use_failed", error);
864
+ return void 0;
865
+ }
866
+ };
832
867
  var handlePreToolUse = async (input, canonical) => {
833
868
  if (isPusharyOwnTool(input.tool_name)) return void 0;
834
- if (isMcpCallInClaudeCode(input) && !mcpCallWaitsForSomeoneElse(input)) return void 0;
869
+ if (isRefusalsOnlyCallInClaudeCode(input) && !mcpCallWaitsForSomeoneElse(input)) {
870
+ return isPusharyConnectorTool(input.tool_name) ? void 0 : standingRefusalOf(input);
871
+ }
835
872
  let apiKey;
836
873
  try {
837
874
  apiKey = getApiKey();
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  notificationAnswerStep
3
- } from "./chunk-YCCLWG7G.js";
3
+ } from "./chunk-JY2DOJKN.js";
4
4
  import {
5
5
  canChangeApprovalSettings
6
- } from "./chunk-BQ673OOD.js";
6
+ } from "./chunk-JK7GROFO.js";
7
7
  import {
8
8
  matchMacAccountStep,
9
9
  retryAgentCommand
10
- } from "./chunk-XBH6OKHD.js";
10
+ } from "./chunk-5UT5EFMH.js";
11
11
  import {
12
12
  EXIT
13
13
  } from "./chunk-BG4HHB7E.js";
14
14
  import {
15
15
  NPX_LATEST_COMMAND
16
- } from "./chunk-PJSFKKZ5.js";
16
+ } from "./chunk-5S32WI3B.js";
17
17
 
18
18
  // src/setup/closing.ts
19
19
  var ACTIVITY_URL = "pushary.com/dashboard/agent/activity";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  readExistingMachineId
3
- } from "./chunk-TZYVXTLN.js";
3
+ } from "./chunk-4LR27PGD.js";
4
4
  import {
5
5
  getBaseUrl
6
- } from "./chunk-R3RTISDD.js";
6
+ } from "./chunk-2M7FELUY.js";
7
7
  import {
8
8
  NetworkError
9
9
  } from "./chunk-YU2EUD7O.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  clientContextHeaders,
15
15
  redactSecretsFromContent
16
- } from "./chunk-TRDHHF3A.js";
16
+ } from "./chunk-HI5YJFKW.js";
17
17
 
18
18
  // src/cli/net.ts
19
19
  import { createRequire } from "module";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  HOOK_HOLD_BUDGET_ENV,
3
3
  hookHoldBudgetProof
4
- } from "./chunk-TRDHHF3A.js";
4
+ } from "./chunk-HI5YJFKW.js";
5
5
 
6
6
  // src/hold-budget.ts
7
7
  var takeHookHoldBudget = (args = process.argv.slice(2), env = process.env) => {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SETUP_FLAGS
3
- } from "./chunk-2UE2NDCX.js";
3
+ } from "./chunk-LS3CQ536.js";
4
4
  import {
5
5
  parseFlags
6
6
  } from "./chunk-YPY4YCIZ.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-YU2EUD7O.js";
10
10
  import {
11
11
  NPX_LATEST_COMMAND
12
- } from "./chunk-PJSFKKZ5.js";
12
+ } from "./chunk-5S32WI3B.js";
13
13
  import {
14
14
  CLAUDE_CONNECTOR_GUIDE,
15
15
  CLAUDE_CONNECTOR_STEPS,
@@ -17,7 +17,7 @@ import {
17
17
  CLAUDE_CONNECTOR_URL,
18
18
  COWORK_CONNECTOR_LIMIT,
19
19
  COWORK_STANDING_INSTRUCTIONS
20
- } from "./chunk-TRDHHF3A.js";
20
+ } from "./chunk-HI5YJFKW.js";
21
21
 
22
22
  // src/cli/cowork.ts
23
23
  import { readFileSync } from "fs";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  CODEX_HOOK_STATUS
3
- } from "./chunk-NVV3YUTX.js";
3
+ } from "./chunk-3HZ374VU.js";
4
4
  import {
5
5
  retryAgentCommand
6
- } from "./chunk-XBH6OKHD.js";
6
+ } from "./chunk-5UT5EFMH.js";
7
7
  import {
8
8
  NPX_LATEST_COMMAND
9
- } from "./chunk-PJSFKKZ5.js";
9
+ } from "./chunk-5S32WI3B.js";
10
10
 
11
11
  // src/setup/codex-trust.ts
12
12
  var CODEX_TRUST_TELEMETRY = {
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  pusharyHookExecutable
3
- } from "./chunk-COXNQUDP.js";
3
+ } from "./chunk-XOYPF2BI.js";
4
4
  import {
5
5
  bridgeResolvesToApp,
6
6
  cursorUserHooks,
7
7
  executableFileName,
8
8
  isBridgeLocator,
9
9
  liveBridgeProbe
10
- } from "./chunk-CBLFIWPI.js";
10
+ } from "./chunk-GZ3D46PV.js";
11
11
  import {
12
12
  atLeast,
13
13
  parseVersion
14
- } from "./chunk-KOZBVXXC.js";
14
+ } from "./chunk-IGMI36FA.js";
15
15
  import {
16
16
  CURSOR_GATE_COVERAGE,
17
17
  CURSOR_GATE_SCRIPT,
@@ -21,7 +21,7 @@ import {
21
21
  isCursorHookPayload,
22
22
  isRecord,
23
23
  toolsCoveredByGateEntry
24
- } from "./chunk-TRDHHF3A.js";
24
+ } from "./chunk-HI5YJFKW.js";
25
25
 
26
26
  // src/cursor-gate-registration.ts
27
27
  import { dirname, isAbsolute, join, resolve } from "path";
@@ -1,28 +1,28 @@
1
+ import {
2
+ canOpenBrowser,
3
+ openInBrowser
4
+ } from "./chunk-PUZZELE6.js";
1
5
  import {
2
6
  generateKeypair,
3
7
  openSealedKey,
4
8
  publicKeyFingerprint
5
9
  } from "./chunk-3EGEA4KH.js";
6
- import {
7
- canOpenBrowser,
8
- openInBrowser
9
- } from "./chunk-PUZZELE6.js";
10
10
  import {
11
11
  PLAN_CONFIGS,
12
12
  PLAN_TYPES
13
13
  } from "./chunk-G66WIAST.js";
14
14
  import {
15
15
  keyPrefix
16
- } from "./chunk-YZ7V2LVG.js";
16
+ } from "./chunk-SZV5SLSD.js";
17
17
  import {
18
18
  getBaseUrl
19
- } from "./chunk-R3RTISDD.js";
19
+ } from "./chunk-2M7FELUY.js";
20
20
  import {
21
21
  NPX_LATEST_COMMAND
22
- } from "./chunk-PJSFKKZ5.js";
22
+ } from "./chunk-5S32WI3B.js";
23
23
  import {
24
24
  isValidApiKey
25
- } from "./chunk-TRDHHF3A.js";
25
+ } from "./chunk-HI5YJFKW.js";
26
26
 
27
27
  // src/cli/login-ui.ts
28
28
  import { hostname } from "os";
@@ -1,31 +1,31 @@
1
+ import {
2
+ MANAGED_CLAUDE_SETTINGS_BY_PLATFORM
3
+ } from "./chunk-D2LPVOG5.js";
1
4
  import {
2
5
  declinedAgentsFile,
3
6
  readDeclinedAgents
4
- } from "./chunk-VRZOUCIK.js";
5
- import {
6
- MANAGED_CLAUDE_SETTINGS_BY_PLATFORM
7
- } from "./chunk-DXJUASTS.js";
7
+ } from "./chunk-6LP6G2NA.js";
8
8
  import {
9
9
  OPENCODE_HOOK_BINARY,
10
10
  openCodeConfigDir,
11
11
  openCodePluginArgv,
12
12
  openCodePluginFile
13
- } from "./chunk-AGXOTZID.js";
13
+ } from "./chunk-O7VVRTOR.js";
14
14
  import {
15
15
  liveCursorGateCoverage
16
- } from "./chunk-EP6I3MQY.js";
16
+ } from "./chunk-WJUFRGJS.js";
17
17
  import {
18
18
  compatibleConfigFile,
19
19
  compatibleHookEvents,
20
20
  grokHome,
21
21
  parseConfigDocument
22
- } from "./chunk-YZESBU7F.js";
22
+ } from "./chunk-6RME4X3J.js";
23
23
  import {
24
24
  DEFAULT_HOOKS_KEY_PATH,
25
25
  GEMINI_HOOK_BINARY,
26
26
  GEMINI_HOOK_EVENTS,
27
27
  hooksAt
28
- } from "./chunk-COXNQUDP.js";
28
+ } from "./chunk-XOYPF2BI.js";
29
29
  import {
30
30
  CODEX_EARLIER_APPROVAL_MATCHERS,
31
31
  CODEX_HOOK_BINARY,
@@ -53,7 +53,7 @@ import {
53
53
  parseHookArgv,
54
54
  parseHookCommand,
55
55
  supportedClaudeEvents
56
- } from "./chunk-CBLFIWPI.js";
56
+ } from "./chunk-GZ3D46PV.js";
57
57
  import {
58
58
  readRegularJsonFile,
59
59
  readRegularTextFile
@@ -67,7 +67,7 @@ import {
67
67
  OPENCODE_APPROVAL_EVENT,
68
68
  isRecord,
69
69
  matcherMatchesEveryCall
70
- } from "./chunk-TRDHHF3A.js";
70
+ } from "./chunk-HI5YJFKW.js";
71
71
 
72
72
  // src/hook-wiring.ts
73
73
  import { createHash } from "crypto";
@@ -2,7 +2,7 @@ import {
2
2
  isApprovalMode,
3
3
  isRecord,
4
4
  isTimeoutAction
5
- } from "./chunk-TRDHHF3A.js";
5
+ } from "./chunk-HI5YJFKW.js";
6
6
 
7
7
  // src/cli/settings-response.ts
8
8
  var isFiniteNumber = (value) => typeof value === "number" && Number.isFinite(value);