pushary 1.9.120 → 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 (130) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/{api-QFUMNTEQ.js → api-RI52IA65.js} +11 -11
  3. package/dist/bin/pushary-audit.js +3 -3
  4. package/dist/bin/pushary-bell-hook.js +27 -27
  5. package/dist/bin/pushary-bell.js +10 -10
  6. package/dist/bin/pushary-claude.js +25 -25
  7. package/dist/bin/pushary-clean.js +34 -34
  8. package/dist/bin/pushary-codex-bridge.js +21 -21
  9. package/dist/bin/pushary-codex-hook.js +34 -34
  10. package/dist/bin/pushary-codex-session.js +8 -8
  11. package/dist/bin/pushary-codex.js +15 -15
  12. package/dist/bin/pushary-connect.js +28 -28
  13. package/dist/bin/pushary-cowork.js +5 -5
  14. package/dist/bin/pushary-daemon.js +42 -42
  15. package/dist/bin/pushary-disconnect.js +27 -27
  16. package/dist/bin/pushary-display-hook.js +17 -17
  17. package/dist/bin/pushary-doctor.js +42 -42
  18. package/dist/bin/pushary-elicitation-hook.js +27 -27
  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 +21 -21
  23. package/dist/bin/pushary-logout.js +26 -26
  24. package/dist/bin/pushary-mcp.js +12 -12
  25. package/dist/bin/pushary-mode.js +15 -15
  26. package/dist/bin/pushary-notification-hook.js +26 -26
  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 +33 -33
  30. package/dist/bin/pushary-post-hook.js +26 -26
  31. package/dist/bin/pushary-prompt-hook.js +26 -26
  32. package/dist/bin/pushary-session-end-hook.js +26 -26
  33. package/dist/bin/pushary-session-start-hook.js +35 -35
  34. package/dist/bin/pushary-setup.js +49 -49
  35. package/dist/bin/pushary-stats.js +5 -5
  36. package/dist/bin/pushary-status.js +32 -32
  37. package/dist/bin/pushary-stop-hook.js +26 -26
  38. package/dist/bin/pushary-stopfailure-hook.js +26 -26
  39. package/dist/bin/pushary-suggestions.js +15 -15
  40. package/dist/bin/pushary-transcript-register.js +17 -17
  41. package/dist/bin/pushary-transcripts.js +25 -25
  42. package/dist/bin/pushary-upgrade.js +40 -40
  43. package/dist/bin/pushary-wait.js +15 -15
  44. package/dist/bin/pushary.js +7 -7
  45. package/dist/{chunk-33NEYAK2.js → chunk-2A4X4ETF.js} +4 -4
  46. package/dist/{chunk-MZX35RFX.js → chunk-2M7FELUY.js} +1 -1
  47. package/dist/{chunk-363YZ5WJ.js → chunk-2QWQCU7L.js} +1 -1
  48. package/dist/{chunk-YOSATSUD.js → chunk-3HZ374VU.js} +2 -2
  49. package/dist/{chunk-6FR5ZYMS.js → chunk-4LR27PGD.js} +1 -1
  50. package/dist/{chunk-J6ACLE2A.js → chunk-5CMNZXJV.js} +2 -2
  51. package/dist/{chunk-4DSJF5JD.js → chunk-5MITA7MU.js} +3 -3
  52. package/dist/{chunk-7VRL6XYM.js → chunk-5S32WI3B.js} +1 -1
  53. package/dist/{chunk-EDNCFLR7.js → chunk-5UT5EFMH.js} +3 -3
  54. package/dist/{chunk-EU4NV7SS.js → chunk-6LP6G2NA.js} +2 -2
  55. package/dist/{chunk-HHZSB6KL.js → chunk-6RME4X3J.js} +5 -5
  56. package/dist/{chunk-SSTO42XS.js → chunk-7EYXAM63.js} +1 -1
  57. package/dist/{chunk-K4RIBZ32.js → chunk-7FDDOT2A.js} +1 -1
  58. package/dist/{chunk-RHTAI4XP.js → chunk-7FH6T4EN.js} +10 -10
  59. package/dist/{chunk-HVGN7TRN.js → chunk-7OSBFMRV.js} +1 -1
  60. package/dist/{chunk-XSSG5JLJ.js → chunk-AH4NLZTT.js} +1 -1
  61. package/dist/{chunk-F24QURGP.js → chunk-AXSAL7DK.js} +4 -4
  62. package/dist/{chunk-TAHUCUY3.js → chunk-B3KFHR43.js} +2 -2
  63. package/dist/{chunk-UFRRAAYD.js → chunk-BMME65OT.js} +4 -4
  64. package/dist/{chunk-7YRKM4AB.js → chunk-BPU6P3DS.js} +6 -6
  65. package/dist/{chunk-IYUAMUO6.js → chunk-BVI2N7QA.js} +1 -1
  66. package/dist/{chunk-ZR35L635.js → chunk-D2LPVOG5.js} +2 -2
  67. package/dist/{chunk-NVOQBKIL.js → chunk-DLXYQE5G.js} +4 -4
  68. package/dist/{chunk-47HCNA5U.js → chunk-E5LU5MJ2.js} +1 -1
  69. package/dist/{chunk-NXWQZBOK.js → chunk-EVWF3A5D.js} +3 -3
  70. package/dist/{chunk-ZWUVJ3DV.js → chunk-F4K2A7DJ.js} +3 -3
  71. package/dist/{chunk-5NHWNILG.js → chunk-F5FMUDD7.js} +5 -5
  72. package/dist/{chunk-2ZT4XV4I.js → chunk-FBJHC7HW.js} +6 -6
  73. package/dist/{chunk-VKRRUT45.js → chunk-FEJP2I44.js} +5 -5
  74. package/dist/{chunk-HSFTTGOB.js → chunk-FG67GH5B.js} +2 -2
  75. package/dist/{chunk-ZRTUS6WD.js → chunk-GZ3D46PV.js} +2 -3
  76. package/dist/{chunk-XUAGV5VH.js → chunk-H2OUB5S5.js} +2 -2
  77. package/dist/{chunk-W744DTUT.js → chunk-HI5YJFKW.js} +60 -13
  78. package/dist/{chunk-ZV7G73KH.js → chunk-HINZZUOB.js} +3 -3
  79. package/dist/{chunk-5KCUQ3B7.js → chunk-HLZWEGW3.js} +3 -3
  80. package/dist/{chunk-YZORQXN7.js → chunk-IA3E675D.js} +1 -1
  81. package/dist/{chunk-3DD44QTA.js → chunk-IEZXEY7L.js} +5 -5
  82. package/dist/{chunk-ODXZPMKN.js → chunk-IGMI36FA.js} +3 -3
  83. package/dist/{chunk-EG2E2562.js → chunk-IZ7MIGO7.js} +1 -1
  84. package/dist/{chunk-PTONPJWL.js → chunk-J7WPO2M2.js} +4 -4
  85. package/dist/{chunk-KESS6HAK.js → chunk-JK7GROFO.js} +2 -2
  86. package/dist/{chunk-AIABYHHZ.js → chunk-JY2DOJKN.js} +6 -6
  87. package/dist/{chunk-YQGPBLIT.js → chunk-KRKH26TX.js} +2 -2
  88. package/dist/{chunk-BYP2R2PF.js → chunk-LIIIC27B.js} +1 -1
  89. package/dist/{chunk-SUI5JE6T.js → chunk-LS3CQ536.js} +1 -1
  90. package/dist/{chunk-PEMESJZY.js → chunk-N47MAVYX.js} +3 -3
  91. package/dist/{chunk-B4M2XZNQ.js → chunk-NCHNITQW.js} +2 -2
  92. package/dist/{chunk-A5YOWKPR.js → chunk-NDOT226I.js} +10 -10
  93. package/dist/{chunk-4FLMGGWB.js → chunk-NLEHRQHL.js} +2 -2
  94. package/dist/{chunk-INKDRMSK.js → chunk-O7VVRTOR.js} +5 -5
  95. package/dist/{chunk-KG7UZSCD.js → chunk-QK4I4CHR.js} +6 -6
  96. package/dist/{chunk-H4LCCX7W.js → chunk-RI5APNBY.js} +6 -6
  97. package/dist/{chunk-6CJ7D6EQ.js → chunk-RK7QHQTY.js} +5 -5
  98. package/dist/{chunk-W4MZBZU3.js → chunk-S6TMCUU7.js} +3 -3
  99. package/dist/{chunk-WFHUECGB.js → chunk-SFMJMQJC.js} +6 -6
  100. package/dist/{chunk-UZL3VQCE.js → chunk-SQPAX33Q.js} +5 -5
  101. package/dist/{chunk-CPBS6LS3.js → chunk-SZV5SLSD.js} +3 -3
  102. package/dist/{chunk-2AMSWODQ.js → chunk-T2WDQ3NT.js} +2 -2
  103. package/dist/{chunk-BZ6N5DDZ.js → chunk-TZHTLLXJ.js} +19 -26
  104. package/dist/{chunk-YQUJQGJU.js → chunk-UI7XS3MN.js} +4 -4
  105. package/dist/{chunk-XRRY45XB.js → chunk-UIHY3ANL.js} +3 -3
  106. package/dist/{chunk-ZMKZ5WHS.js → chunk-UV2JM3PZ.js} +1 -1
  107. package/dist/{chunk-J4AJVM5F.js → chunk-VUNQZNKR.js} +3 -3
  108. package/dist/{chunk-RWS4DRFK.js → chunk-W4OWC34V.js} +3 -3
  109. package/dist/{chunk-L37Q4BR6.js → chunk-WJUFRGJS.js} +4 -4
  110. package/dist/{chunk-SJPH24TK.js → chunk-WS37PSC5.js} +4 -4
  111. package/dist/{chunk-5JZCFZUT.js → chunk-WSYWK4I3.js} +8 -8
  112. package/dist/{chunk-T57CIR6H.js → chunk-X2PN3XNW.js} +1 -1
  113. package/dist/{chunk-XOPOX5QY.js → chunk-X4CDZLUK.js} +11 -11
  114. package/dist/{chunk-3GFJ7CXQ.js → chunk-XOYPF2BI.js} +4 -4
  115. package/dist/{chunk-NBKH6SKN.js → chunk-Z7FUHJKU.js} +1 -1
  116. package/dist/{chunk-RM7MNCCA.js → chunk-ZQHT57AL.js} +5 -5
  117. package/dist/{codex-app-cards-switch-545ISCGQ.js → codex-app-cards-switch-MEVTS3QV.js} +11 -11
  118. package/dist/{codex-card-routing-IKNAEEMC.js → codex-card-routing-JTZ2PC24.js} +2 -2
  119. package/dist/{codex-desktop-launch-VQNI4GUS.js → codex-desktop-launch-E5TZ72YZ.js} +1 -1
  120. package/dist/{codex-session-launch-OGOGHTM7.js → codex-session-launch-UMVQ7FJA.js} +18 -18
  121. package/dist/{config-VGWGOR2V.js → config-43UOHCK6.js} +3 -3
  122. package/dist/{global-upgrade-GUHXKJPO.js → global-upgrade-KHVTFNAK.js} +9 -9
  123. package/dist/{identity-FORDJUYW.js → identity-DAUTKB5X.js} +4 -4
  124. package/dist/{live-capabilities-VA3VXZOZ.js → live-capabilities-T2FOTXAH.js} +4 -4
  125. package/dist/{paths-5XZPI4LD.js → paths-W5X4C6PA.js} +3 -3
  126. package/dist/{reapply-77JJ3QV2.js → reapply-WW4LJZUD.js} +28 -28
  127. package/dist/src/index.js +32 -32
  128. package/dist/{upgrade-lock-EEPLQBLA.js → upgrade-lock-TJBGZLH6.js} +4 -4
  129. package/dist/{usage-27IDH6UH.js → usage-MUXR5SZ7.js} +3 -3
  130. package/package.json +1 -1
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  ensureCodexTrustsPusharyHooks
3
- } from "./chunk-YOSATSUD.js";
3
+ } from "./chunk-3HZ374VU.js";
4
4
  import {
5
5
  hermesReceiptPaths,
6
6
  hermesSetupPredatesThePluginFolder,
7
7
  installHermesPlugin,
8
8
  refreshHermesPluginFiles,
9
9
  shippedHermesPlugin
10
- } from "./chunk-ZWUVJ3DV.js";
10
+ } from "./chunk-F4K2A7DJ.js";
11
11
  import {
12
12
  fxIgnoresInstructionsFile,
13
13
  fxInstructionsBody,
@@ -16,7 +16,7 @@ import {
16
16
  macAppFxBridge,
17
17
  refreshClineKey,
18
18
  switchFxHttpEntryToBridge
19
- } from "./chunk-5NHWNILG.js";
19
+ } from "./chunk-F5FMUDD7.js";
20
20
  import {
21
21
  OPENCODE_HOOK_BINARY,
22
22
  agentHookOwner,
@@ -28,16 +28,16 @@ import {
28
28
  openCodePluginDir,
29
29
  openCodeWired,
30
30
  withOpenCodeAskRules
31
- } from "./chunk-INKDRMSK.js";
31
+ } from "./chunk-O7VVRTOR.js";
32
32
  import {
33
33
  detectClaudeVersion
34
- } from "./chunk-YQGPBLIT.js";
34
+ } from "./chunk-KRKH26TX.js";
35
35
  import {
36
36
  addCompatibleHooks,
37
37
  compatibleConfigFile,
38
38
  compatibleInstructionsFile,
39
39
  hasCompatibleHooks
40
- } from "./chunk-HHZSB6KL.js";
40
+ } from "./chunk-6RME4X3J.js";
41
41
  import {
42
42
  GEMINI_HOOK_BINARY,
43
43
  addGeminiHooks,
@@ -49,7 +49,7 @@ import {
49
49
  geminiWired,
50
50
  hasGeminiHooks,
51
51
  planHooks
52
- } from "./chunk-3GFJ7CXQ.js";
52
+ } from "./chunk-XOYPF2BI.js";
53
53
  import {
54
54
  CLAUDE_HOOK_BINARY,
55
55
  CLAUDE_HOOK_EVENTS,
@@ -95,13 +95,13 @@ import {
95
95
  renderAgentInstructions,
96
96
  supportedClaudeEvents,
97
97
  vscodePluginMcp
98
- } from "./chunk-ZRTUS6WD.js";
98
+ } from "./chunk-GZ3D46PV.js";
99
99
  import {
100
100
  formatVersion,
101
101
  hookCommandsUseBareNames,
102
102
  resolveGlobalBinDir,
103
103
  resolveGlobalBinary
104
- } from "./chunk-ODXZPMKN.js";
104
+ } from "./chunk-IGMI36FA.js";
105
105
  import {
106
106
  readJsonSafe,
107
107
  writeFileAtomic,
@@ -111,7 +111,7 @@ import {
111
111
  HOOK_COMPATIBLE_PROFILES,
112
112
  isCompatibleAgentType,
113
113
  isRecord
114
- } from "./chunk-W744DTUT.js";
114
+ } from "./chunk-HI5YJFKW.js";
115
115
 
116
116
  // src/reapply.ts
117
117
  import { dirname, join } from "path";
@@ -24,7 +24,7 @@ import {
24
24
  reportableSessionId,
25
25
  toToolLookup,
26
26
  truncateLine
27
- } from "./chunk-W744DTUT.js";
27
+ } from "./chunk-HI5YJFKW.js";
28
28
 
29
29
  // ../hook-mapping/src/commit-receipt.ts
30
30
  var COMMIT_OUTPUT_MAX_LENGTH = 65536;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readTranscriptPreference
3
- } from "./chunk-CPBS6LS3.js";
3
+ } from "./chunk-SZV5SLSD.js";
4
4
 
5
5
  // src/transcript-setting.ts
6
6
  var transcriptEnvironmentPreference = () => {
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  UNNAMED_ACTION
3
- } from "./chunk-HVGN7TRN.js";
3
+ } from "./chunk-7OSBFMRV.js";
4
4
  import {
5
5
  askUser,
6
6
  isAwayPaused,
7
7
  isLocalQuestionHandoff,
8
8
  unavailableQuestionUnlessRefused,
9
9
  waitForQuestion
10
- } from "./chunk-KG7UZSCD.js";
10
+ } from "./chunk-QK4I4CHR.js";
11
11
  import {
12
12
  getMachineId
13
- } from "./chunk-6FR5ZYMS.js";
13
+ } from "./chunk-4LR27PGD.js";
14
14
  import {
15
15
  hookWaitClamped,
16
16
  hookWaitDeadline,
17
17
  scopeBreachReasonOf
18
- } from "./chunk-W744DTUT.js";
18
+ } from "./chunk-HI5YJFKW.js";
19
19
 
20
20
  // src/pushed-question.ts
21
21
  var scopeQuestionOf = (verdict) => {
@@ -9,13 +9,13 @@ import {
9
9
  installedCodexApp,
10
10
  readCodexAppRuntime,
11
11
  shellQuoted
12
- } from "./chunk-5KCUQ3B7.js";
12
+ } from "./chunk-HLZWEGW3.js";
13
13
  import {
14
14
  writeHuman
15
15
  } from "./chunk-QCGNGEGE.js";
16
16
  import {
17
17
  xml
18
- } from "./chunk-WFHUECGB.js";
18
+ } from "./chunk-SFMJMQJC.js";
19
19
  import {
20
20
  writeFileAtomic
21
21
  } from "./chunk-T5I4PKOQ.js";
@@ -12,7 +12,7 @@ import {
12
12
  reachVerdict,
13
13
  reachesYou,
14
14
  verifyDelivery
15
- } from "./chunk-AIABYHHZ.js";
15
+ } from "./chunk-JY2DOJKN.js";
16
16
  import {
17
17
  humanIsTty,
18
18
  writeHuman
@@ -24,14 +24,14 @@ import {
24
24
  } from "./chunk-FO3MDD26.js";
25
25
  import {
26
26
  reportedInstallSource
27
- } from "./chunk-B4M2XZNQ.js";
27
+ } from "./chunk-NCHNITQW.js";
28
28
  import {
29
29
  NPX_LATEST_COMMAND
30
- } from "./chunk-7VRL6XYM.js";
30
+ } from "./chunk-5S32WI3B.js";
31
31
  import {
32
32
  NO_PAIRING_COMPUTER,
33
33
  PAIR_TTL_SECONDS
34
- } from "./chunk-W744DTUT.js";
34
+ } from "./chunk-HI5YJFKW.js";
35
35
 
36
36
  // src/onboarding.ts
37
37
  import qrcodeTerminal from "qrcode-terminal";
@@ -3,10 +3,10 @@ import {
3
3
  forkFinishWithUpgradeLock,
4
4
  installWithUpgradeLock,
5
5
  releaseAutoUpdateLock
6
- } from "./chunk-J6ACLE2A.js";
6
+ } from "./chunk-5CMNZXJV.js";
7
7
  import {
8
8
  phoneStartIsRequired
9
- } from "./chunk-W4MZBZU3.js";
9
+ } from "./chunk-S6TMCUU7.js";
10
10
  import {
11
11
  describeAutoUpdateCheck,
12
12
  globalInstallLocation,
@@ -18,25 +18,25 @@ import {
18
18
  readAutoUpdateState,
19
19
  updateAutoUpdateState,
20
20
  upgradeEntryFor
21
- } from "./chunk-XUAGV5VH.js";
21
+ } from "./chunk-H2OUB5S5.js";
22
22
  import {
23
23
  autoUpdateLock,
24
24
  autoUpdateLog,
25
25
  autoUpdateState
26
- } from "./chunk-ZRTUS6WD.js";
26
+ } from "./chunk-GZ3D46PV.js";
27
27
  import {
28
28
  execNpm,
29
29
  fetchLatestPublishedVersion,
30
30
  npmErrorMessage,
31
31
  readGlobalCliInstallAt,
32
32
  readGlobalPrefix
33
- } from "./chunk-ODXZPMKN.js";
33
+ } from "./chunk-IGMI36FA.js";
34
34
  import {
35
35
  EXIT
36
36
  } from "./chunk-BG4HHB7E.js";
37
37
  import {
38
38
  NPX_LATEST_COMMAND
39
- } from "./chunk-7VRL6XYM.js";
39
+ } from "./chunk-5S32WI3B.js";
40
40
  import {
41
41
  commandsPackage,
42
42
  globalUpgradeEntry,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readConfigFileKey
3
- } from "./chunk-CPBS6LS3.js";
3
+ } from "./chunk-SZV5SLSD.js";
4
4
 
5
5
  // src/bell/fleet.ts
6
6
  import { closeSync, constants, futimesSync, lstatSync, mkdirSync, openSync, readdirSync, unlinkSync } from "fs";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  claudeConfigDir
3
- } from "./chunk-ZRTUS6WD.js";
3
+ } from "./chunk-GZ3D46PV.js";
4
4
  import {
5
5
  claudePermissionRulesFromSettings
6
- } from "./chunk-W744DTUT.js";
6
+ } from "./chunk-HI5YJFKW.js";
7
7
 
8
8
  // src/claude-permission-rules.ts
9
9
  import { readFileSync, statSync } from "fs";
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  openCodeConfigDirFrom
3
- } from "./chunk-INKDRMSK.js";
3
+ } from "./chunk-O7VVRTOR.js";
4
4
  import {
5
5
  nativeClaudeInstallPath
6
6
  } from "./chunk-ROVLRXBI.js";
7
7
  import {
8
8
  grokHome
9
- } from "./chunk-HHZSB6KL.js";
9
+ } from "./chunk-6RME4X3J.js";
10
10
  import {
11
11
  claudeConfigDir,
12
12
  clineDataDirectory,
13
13
  codexHomeFrom
14
- } from "./chunk-ZRTUS6WD.js";
14
+ } from "./chunk-GZ3D46PV.js";
15
15
  import {
16
16
  HOOK_COMPATIBLE_PROFILES
17
- } from "./chunk-W744DTUT.js";
17
+ } from "./chunk-HI5YJFKW.js";
18
18
 
19
19
  // src/vscode-config.ts
20
20
  import { homedir } from "os";
@@ -5,7 +5,7 @@ import {
5
5
  MCP_CREDENTIAL_REJECTION_BODY,
6
6
  isRecord,
7
7
  responseRejectsCredential
8
- } from "./chunk-W744DTUT.js";
8
+ } from "./chunk-HI5YJFKW.js";
9
9
 
10
10
  // src/credential-rejection.ts
11
11
  import { createHash, randomUUID } from "crypto";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  parseSseMessages
3
- } from "./chunk-UZL3VQCE.js";
3
+ } from "./chunk-SQPAX33Q.js";
4
4
  import {
5
5
  fetchAsCredential
6
- } from "./chunk-47HCNA5U.js";
6
+ } from "./chunk-E5LU5MJ2.js";
7
7
  import {
8
8
  NPX_LATEST_COMMAND
9
- } from "./chunk-7VRL6XYM.js";
9
+ } from "./chunk-5S32WI3B.js";
10
10
 
11
11
  // src/mcp-stdio-bridge.ts
12
12
  var MCP_BRIDGE_BINARY = "pushary-mcp";
@@ -5,10 +5,10 @@ import {
5
5
  hermesAppWiringRecord,
6
6
  hermesConfigReceipt,
7
7
  hermesSetupReceipt
8
- } from "./chunk-ZRTUS6WD.js";
8
+ } from "./chunk-GZ3D46PV.js";
9
9
  import {
10
10
  resolvePathBinary
11
- } from "./chunk-ODXZPMKN.js";
11
+ } from "./chunk-IGMI36FA.js";
12
12
  import {
13
13
  readJsonSafe,
14
14
  writeJsonAtomic
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-ZVU6WMMU.js";
20
20
  import {
21
21
  isRecord
22
- } from "./chunk-W744DTUT.js";
22
+ } from "./chunk-HI5YJFKW.js";
23
23
 
24
24
  // src/hermes/plugin-payload.ts
25
25
  import { createHash } from "crypto";
@@ -4,13 +4,13 @@ import {
4
4
  configFailureKind,
5
5
  retryAgentCommand,
6
6
  writeSetupConfigFile
7
- } from "./chunk-EDNCFLR7.js";
7
+ } from "./chunk-5UT5EFMH.js";
8
8
  import {
9
9
  MCP_BRIDGE_BINARY
10
- } from "./chunk-NXWQZBOK.js";
10
+ } from "./chunk-EVWF3A5D.js";
11
11
  import {
12
12
  KEY_FILE_MODE
13
- } from "./chunk-CPBS6LS3.js";
13
+ } from "./chunk-SZV5SLSD.js";
14
14
  import {
15
15
  CLINE_SERVER_NAME_TAKEN,
16
16
  CLINE_SETTINGS_REFUSALS,
@@ -32,10 +32,10 @@ import {
32
32
  withClinePusharyServer,
33
33
  withRefreshedClineKey,
34
34
  withoutClinePusharyServer
35
- } from "./chunk-ZRTUS6WD.js";
35
+ } from "./chunk-GZ3D46PV.js";
36
36
  import {
37
37
  resolveGlobalBinary
38
- } from "./chunk-ODXZPMKN.js";
38
+ } from "./chunk-IGMI36FA.js";
39
39
  import {
40
40
  readJsonSafe,
41
41
  writeFileAtomic,
@@ -2,10 +2,10 @@ import {
2
2
  SIGNED_OUT_ON_MAC_MESSAGE,
3
3
  describeSignedOutKey,
4
4
  readSignedOutDiagnosis
5
- } from "./chunk-4FLMGGWB.js";
5
+ } from "./chunk-NLEHRQHL.js";
6
6
  import {
7
7
  APPROVAL_RULES_PATH
8
- } from "./chunk-KESS6HAK.js";
8
+ } from "./chunk-JK7GROFO.js";
9
9
  import {
10
10
  createIo
11
11
  } from "./chunk-FO3MDD26.js";
@@ -14,19 +14,19 @@ import {
14
14
  checkApiKey,
15
15
  describeKeyCheck,
16
16
  keyCheckFromResponse
17
- } from "./chunk-ZV7G73KH.js";
17
+ } from "./chunk-HINZZUOB.js";
18
18
  import {
19
19
  readKeySource
20
- } from "./chunk-CPBS6LS3.js";
20
+ } from "./chunk-SZV5SLSD.js";
21
21
  import {
22
22
  getBaseUrl
23
- } from "./chunk-MZX35RFX.js";
23
+ } from "./chunk-2M7FELUY.js";
24
24
  import {
25
25
  EXIT
26
26
  } from "./chunk-BG4HHB7E.js";
27
27
  import {
28
28
  KEY_SCOPE
29
- } from "./chunk-W744DTUT.js";
29
+ } from "./chunk-HI5YJFKW.js";
30
30
 
31
31
  // src/cli/report-key.ts
32
32
  var { dim, yellow } = createIo();
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  cursorGateOwnsClaudeCall,
3
3
  readCursorGateRegistration
4
- } from "./chunk-L37Q4BR6.js";
4
+ } from "./chunk-WJUFRGJS.js";
5
5
  import {
6
6
  registerTranscript
7
- } from "./chunk-A5YOWKPR.js";
7
+ } from "./chunk-NDOT226I.js";
8
8
  import {
9
9
  namedEvent
10
- } from "./chunk-HHZSB6KL.js";
10
+ } from "./chunk-6RME4X3J.js";
11
11
  import {
12
12
  writeDegraded
13
- } from "./chunk-KG7UZSCD.js";
13
+ } from "./chunk-QK4I4CHR.js";
14
14
  import {
15
15
  claudeShapedHookInput,
16
16
  hookCompatibleProfileBySource,
17
17
  isGrokHookPayload,
18
18
  isGrokSessionEndStop
19
- } from "./chunk-W744DTUT.js";
19
+ } from "./chunk-HI5YJFKW.js";
20
20
 
21
21
  // src/tool-hook-input.ts
22
22
  var OPTIONAL_TEXT_FIELDS = ["hook_event_name", "session_id", "cwd", "transcript_path", "tool_use_id", "permission_mode", "cursor_version"];
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-ZRTUS6WD.js";
3
+ } from "./chunk-GZ3D46PV.js";
4
4
  import {
5
5
  readJsonSafe
6
6
  } from "./chunk-T5I4PKOQ.js";
7
7
  import {
8
8
  isRecord
9
- } from "./chunk-W744DTUT.js";
9
+ } from "./chunk-HI5YJFKW.js";
10
10
 
11
11
  // src/process-ownership.ts
12
12
  import { createHash, randomUUID } from "crypto";
@@ -3,7 +3,7 @@ import {
3
3
  formatVersion,
4
4
  quoteIfNeeded,
5
5
  shellDoubleQuoted
6
- } from "./chunk-ODXZPMKN.js";
6
+ } from "./chunk-IGMI36FA.js";
7
7
  import {
8
8
  writeFileAtomic
9
9
  } from "./chunk-T5I4PKOQ.js";
@@ -19,7 +19,7 @@ import {
19
19
  HOOK_LOCATOR_BINARY,
20
20
  PRETOOLUSE_GATED_TOOLS,
21
21
  withHookHoldBudget
22
- } from "./chunk-W744DTUT.js";
22
+ } from "./chunk-HI5YJFKW.js";
23
23
 
24
24
  // src/setup/paths.ts
25
25
  import { createHash as createHash2 } from "crypto";
@@ -742,7 +742,6 @@ var CLAUDE_MCP_ROUTE_HOLD_HOOK = {
742
742
  matcher: CLAUDE_MCP_PRETOOLUSE_MATCHER,
743
743
  timeout: HOOK_BUDGETS.claude.budgetSeconds,
744
744
  delivery: "approval",
745
- cliOnly: true,
746
745
  since: ESTABLISHED
747
746
  };
748
747
  var CLAUDE_REFUSALS_ONLY_HOOK = {
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-POFBE6ZY.js";
4
4
  import {
5
5
  autoUpdateState
6
- } from "./chunk-ZRTUS6WD.js";
6
+ } from "./chunk-GZ3D46PV.js";
7
7
  import {
8
8
  readJsonSafe,
9
9
  writeJsonAtomic
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-ZVU6WMMU.js";
18
18
  import {
19
19
  isAutoUpdateResult
20
- } from "./chunk-W744DTUT.js";
20
+ } from "./chunk-HI5YJFKW.js";
21
21
 
22
22
  // src/auto-update.ts
23
23
  import { spawn } from "child_process";
@@ -1807,20 +1807,60 @@ var scriptsOfShellsIn = (text3) => {
1807
1807
  const words = shellWordsOf(text3);
1808
1808
  return words === null ? [] : words.flatMap((_, index) => scriptArgumentOfAShellAt(words, index) ?? []);
1809
1809
  };
1810
+ var endsTheCommandAsAControlOperator = (text3, index) => {
1811
+ const char = text3.charAt(index);
1812
+ const before = text3.charAt(index - 1);
1813
+ if (char === "|") return before !== ">";
1814
+ return char === "&" && before !== ">" && before !== "<" && text3.charAt(index + 1) !== ">";
1815
+ };
1816
+ var endOfTheSimpleCommandAt = (text3, from) => {
1817
+ let depth = 0;
1818
+ let quote = null;
1819
+ let inBackticks = false;
1820
+ for (let index = from; index < text3.length; index += 1) {
1821
+ const char = text3.charAt(index);
1822
+ if (quote === "'") {
1823
+ if (char === "'") quote = null;
1824
+ } else if (char === "\\") {
1825
+ index += 1;
1826
+ } else if (quote === '"') {
1827
+ if (char === '"') quote = null;
1828
+ } else if (char === "'" || char === '"') {
1829
+ quote = char;
1830
+ } else if (char === "`") {
1831
+ inBackticks = !inBackticks;
1832
+ } else if (inBackticks) {
1833
+ continue;
1834
+ } else if (char === "(") {
1835
+ depth += 1;
1836
+ } else if (char === ")" && depth > 0) {
1837
+ depth -= 1;
1838
+ } else if (depth === 0 && (char === "\n" || char === ";" || char === ")" || endsTheCommandAsAControlOperator(text3, index))) {
1839
+ return index;
1840
+ }
1841
+ }
1842
+ return text3.length;
1843
+ };
1810
1844
  var scriptOfAnEvalEndingAt = (text3, end) => {
1811
- const words = shellWordsOf(text3.slice(end));
1812
- return words === null ? [] : [words.map((word) => word.text).join(" ")];
1845
+ const words = shellWordsOf(text3.slice(end, endOfTheSimpleCommandAt(text3, end)));
1846
+ if (words === null) return [];
1847
+ const firstComment = words.findIndex((word) => word.comment);
1848
+ return [(firstComment === -1 ? words : words.slice(0, firstComment)).map((word) => word.text).join(" ")];
1813
1849
  };
1814
- var scriptsOfEvalsIn = (text3) => [...text3.matchAll(AN_EVAL_THAT_RUNS)].slice(0, MOST_SCRIPTS_READ_FROM_ONE_COMMAND).flatMap((match) => scriptOfAnEvalEndingAt(text3, match.index + match[0].length));
1850
+ var scriptsOfEvalsIn = (text3) => [...text3.matchAll(AN_EVAL_THAT_RUNS)].slice(0, MOST_SCRIPTS_READ_FROM_ONE_COMMAND + 1).flatMap((match) => scriptOfAnEvalEndingAt(text3, match.index + match[0].length));
1815
1851
  var scriptsDirectlyInside = (text3) => [...scriptsOfEvalsIn(text3), ...scriptsOfShellsIn(text3)];
1816
- var scriptsPassedToAShell = (text3) => {
1817
- const found = [];
1852
+ var READING_OF_SCRIPTS_TOO_MANY_TO_READ = ": | sh";
1853
+ var readingsOfScriptsPassedToAShell = (text3) => {
1854
+ const readings = [];
1855
+ let scriptsRead = 0;
1818
1856
  let level = [text3];
1819
- for (let depth = 0; depth < DEEPEST_NESTED_SCRIPT_READ && level.length > 0 && found.length < MOST_SCRIPTS_READ_FROM_ONE_COMMAND; depth += 1) {
1820
- level = level.flatMap(scriptsDirectlyInside).slice(0, MOST_SCRIPTS_READ_FROM_ONE_COMMAND - found.length);
1821
- found.push(...level);
1857
+ for (let depth = 0; depth < DEEPEST_NESTED_SCRIPT_READ && level.length > 0; depth += 1) {
1858
+ level = level.flatMap(scriptsDirectlyInside).filter((script) => COMMENT_OR_ANSI_C_QUOTE.test(script));
1859
+ scriptsRead += level.length;
1860
+ if (scriptsRead > MOST_SCRIPTS_READ_FROM_ONE_COMMAND) return [...readings, READING_OF_SCRIPTS_TOO_MANY_TO_READ];
1861
+ readings.push(...level.flatMap((script) => readingWithoutCommentsOrAnsiEscapes(script) ?? []));
1822
1862
  }
1823
- return found;
1863
+ return readings;
1824
1864
  };
1825
1865
  var shellCommandSegments = (command) => splitShellSegments(command)?.map((segment) => segment.text) ?? null;
1826
1866
  var shellSegmentsReadingAPipe = (command) => splitShellSegments(command)?.filter((segment) => segment.readsPipe).map((segment) => segment.text) ?? null;
@@ -8655,6 +8695,13 @@ var CLAUDE_REFUSALS_ONLY_TOOLS = ["WebFetch", "Task", "Agent"];
8655
8695
  var CLAUDE_REFUSALS_ONLY_PRETOOLUSE_MATCHER = `^(${CLAUDE_REFUSALS_ONLY_TOOLS.join("|")})$`;
8656
8696
  var CLAUDE_SUBAGENT_TOOL_ALIASES = { Task: "Agent", Agent: "Task" };
8657
8697
  var claudeSubagentToolAliasOf = (toolName) => Object.hasOwn(CLAUDE_SUBAGENT_TOOL_ALIASES, toolName) ? CLAUDE_SUBAGENT_TOOL_ALIASES[toolName] : void 0;
8698
+ var isClaudeRefusalsOnlyTool = (toolName) => toolName.startsWith(MCP_TOOL_PREFIX) || CLAUDE_REFUSALS_ONLY_TOOLS.includes(toolName);
8699
+ var standingDenyOfSubagentAlias = (toolName, verdictFor) => {
8700
+ const alias = claudeSubagentToolAliasOf(toolName);
8701
+ if (alias === void 0) return void 0;
8702
+ const verdict = verdictFor(alias);
8703
+ return verdict.kind === "deny" && verdict.policy.tool !== WILDCARD_TOOL_PATTERN ? verdict : void 0;
8704
+ };
8658
8705
  var LINE_BREAK = /[\r\n]/;
8659
8706
  var bypassModeCovers = (toolName, toolInput) => {
8660
8707
  const arg = extractPolicyArg(toolName, toolInput);
@@ -8675,6 +8722,7 @@ var PATTERN_PREFIX_WILDCARD = /(?::\*|\*)?\)$/;
8675
8722
  var CONTINUES_A_COMMAND_WORD = /^[ :]/;
8676
8723
  var ruleNarrowsThePattern = (ruleTool, pattern) => {
8677
8724
  if (ruleTool === pattern) return false;
8725
+ if (pattern === WILDCARD_TOOL_PATTERN) return true;
8678
8726
  if (!pattern.includes("(")) return ruleTool.includes("(");
8679
8727
  const prefix = pattern.replace(PATTERN_PREFIX_WILDCARD, "");
8680
8728
  return ruleTool.startsWith(prefix) && CONTINUES_A_COMMAND_WORD.test(ruleTool.slice(prefix.length));
@@ -8713,7 +8761,7 @@ var extraReadingsOf = (toolInput) => {
8713
8761
  const readings = [
8714
8762
  commentFree,
8715
8763
  ...spelledOut,
8716
- ...[command, commentFree, ...spelledOut].filter(isAReading).flatMap((text3) => scriptsPassedToAShell(text3)).map(readingWithoutCommentsOrAnsiEscapes)
8764
+ ...[command, commentFree, ...spelledOut].filter(isAReading).flatMap(readingsOfScriptsPassedToAShell)
8717
8765
  ];
8718
8766
  return readings.filter(isAReading).map((reading) => ({ ...toolInput, command: reading }));
8719
8767
  };
@@ -9576,7 +9624,6 @@ export {
9576
9624
  isTokenCount,
9577
9625
  reportableSessionId,
9578
9626
  TOOL_NAME_MAX_LENGTH,
9579
- WILDCARD_TOOL_PATTERN,
9580
9627
  normalizeRepoRemote,
9581
9628
  localRepoKey,
9582
9629
  isSafeReadOnlyCommand,
@@ -9622,9 +9669,9 @@ export {
9622
9669
  isPermissionRequestOwnedByPreToolUse,
9623
9670
  CLAUDE_PRETOOLUSE_MATCHER,
9624
9671
  CLAUDE_MCP_PRETOOLUSE_MATCHER,
9625
- CLAUDE_REFUSALS_ONLY_TOOLS,
9626
9672
  CLAUDE_REFUSALS_ONLY_PRETOOLUSE_MATCHER,
9627
- claudeSubagentToolAliasOf,
9673
+ isClaudeRefusalsOnlyTool,
9674
+ standingDenyOfSubagentAlias,
9628
9675
  permissionsOffLineAppliesTo,
9629
9676
  permissionsOffAskReason,
9630
9677
  resolveGate,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  pusharyFetch
3
- } from "./chunk-XRRY45XB.js";
3
+ } from "./chunk-UIHY3ANL.js";
4
4
  import {
5
5
  getBaseUrl
6
- } from "./chunk-MZX35RFX.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
  isValidApiKey,
15
15
  normalizeKeyScope
16
- } from "./chunk-W744DTUT.js";
16
+ } from "./chunk-HI5YJFKW.js";
17
17
 
18
18
  // src/session.ts
19
19
  var samePusharyAccount = (left, right) => left.kind === "ok" && right.kind === "ok" && left.identity.workspaceId !== "" && left.identity.workspaceId === right.identity.workspaceId && left.identity.siteId === right.identity.siteId;
@@ -531,8 +531,8 @@ var loadedOnce = (load) => {
531
531
  };
532
532
 
533
533
  // src/codex-desktop-proxy.ts
534
- var loadThePhone = () => import("./api-QFUMNTEQ.js");
535
- var loadTheCardRouting = () => import("./codex-card-routing-IKNAEEMC.js");
534
+ var loadThePhone = () => import("./api-RI52IA65.js");
535
+ var loadTheCardRouting = () => import("./codex-card-routing-JTZ2PC24.js");
536
536
  var theFirstCardLoadsAgain = () => {
537
537
  };
538
538
  var ASKS_WITHOUT_ROUTING = {};
@@ -1085,7 +1085,7 @@ var codexDesktopCommand = async (args, entry, readAccount) => {
1085
1085
  return runCodexDesktopProxy(engine2, args.slice(3), readAccount, { watchesForCards: layoutIsKnown });
1086
1086
  }
1087
1087
  if (args[0] === APP_CARDS_FLAG) {
1088
- const { codexAppCardsCommandOnThisMac } = await import("./codex-app-cards-switch-545ISCGQ.js");
1088
+ const { codexAppCardsCommandOnThisMac } = await import("./codex-app-cards-switch-MEVTS3QV.js");
1089
1089
  return codexAppCardsCommandOnThisMac(args.slice(1), entry, readAccount);
1090
1090
  }
1091
1091
  if (args.length > 2) throw new Error("Usage: pushary codex --desktop [path/to/Codex.app]");
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-BG4HHB7E.js";
4
4
  import {
5
5
  renderCommandHelp
6
- } from "./chunk-7VRL6XYM.js";
6
+ } from "./chunk-5S32WI3B.js";
7
7
  import {
8
8
  getPackageVersion
9
9
  } from "./chunk-ZVU6WMMU.js";