pushary 1.9.118 → 1.9.120

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 +16 -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-Q2HBBRLT.js → api-QFUMNTEQ.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 +34 -34
  10. package/dist/bin/pushary-codex-bridge.js +21 -21
  11. package/dist/bin/pushary-codex-hook.js +34 -34
  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 +42 -42
  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 +42 -42
  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 +31 -31
  23. package/dist/bin/pushary-hook.js +33 -33
  24. package/dist/bin/pushary-login.js +21 -21
  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 +49 -49
  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 +40 -40
  45. package/dist/bin/pushary-wait.js +15 -15
  46. package/dist/bin/pushary.js +7 -7
  47. package/dist/{chunk-AN6AKKHO.js → chunk-2AMSWODQ.js} +2 -2
  48. package/dist/{chunk-GX3QCU32.js → chunk-2ZT4XV4I.js} +6 -6
  49. package/dist/{chunk-MTG3JLMP.js → chunk-33NEYAK2.js} +4 -4
  50. package/dist/{chunk-WELDACYF.js → chunk-363YZ5WJ.js} +1 -1
  51. package/dist/{chunk-BQVB563P.js → chunk-3DD44QTA.js} +5 -5
  52. package/dist/{chunk-LWY2U7NZ.js → chunk-3GFJ7CXQ.js} +4 -4
  53. package/dist/{chunk-7K6DZPYV.js → chunk-47HCNA5U.js} +1 -1
  54. package/dist/{chunk-XWVEAAZO.js → chunk-4DSJF5JD.js} +3 -3
  55. package/dist/{chunk-4PXJ2LBU.js → chunk-4FLMGGWB.js} +2 -2
  56. package/dist/{chunk-SMBFZFVN.js → chunk-5JZCFZUT.js} +8 -8
  57. package/dist/{chunk-D3PHTY54.js → chunk-5KCUQ3B7.js} +3 -3
  58. package/dist/{chunk-VIR7SCIQ.js → chunk-5NHWNILG.js} +5 -5
  59. package/dist/{chunk-H6YES2DS.js → chunk-6CJ7D6EQ.js} +5 -5
  60. package/dist/{chunk-A2TAWW5L.js → chunk-6FR5ZYMS.js} +1 -1
  61. package/dist/{chunk-CKR43BBJ.js → chunk-7VRL6XYM.js} +1 -1
  62. package/dist/{chunk-CVIJBTGE.js → chunk-7YRKM4AB.js} +6 -6
  63. package/dist/{chunk-K5H4YAMZ.js → chunk-A5YOWKPR.js} +10 -10
  64. package/dist/{chunk-TOUMNM7M.js → chunk-AIABYHHZ.js} +6 -6
  65. package/dist/{chunk-46ZIEQGC.js → chunk-B4M2XZNQ.js} +2 -2
  66. package/dist/{chunk-UKCCVMI2.js → chunk-BYP2R2PF.js} +1 -1
  67. package/dist/{chunk-WLXXEFHA.js → chunk-BZ6N5DDZ.js} +60 -16
  68. package/dist/{chunk-JBWEGNKE.js → chunk-CPBS6LS3.js} +3 -3
  69. package/dist/{chunk-B6HPULOG.js → chunk-EDNCFLR7.js} +3 -3
  70. package/dist/{chunk-7YQPI4UE.js → chunk-EG2E2562.js} +1 -1
  71. package/dist/{chunk-NJSCVQ6S.js → chunk-EU4NV7SS.js} +2 -2
  72. package/dist/{chunk-WCSPOQ5W.js → chunk-F24QURGP.js} +4 -4
  73. package/dist/{chunk-FLBMCN45.js → chunk-H4LCCX7W.js} +6 -6
  74. package/dist/{chunk-OP2ZDOBR.js → chunk-HHZSB6KL.js} +151 -6
  75. package/dist/{chunk-QASBFNVD.js → chunk-HSFTTGOB.js} +2 -2
  76. package/dist/{chunk-GAYUSL24.js → chunk-HVGN7TRN.js} +1 -1
  77. package/dist/{chunk-WZZHWX7Q.js → chunk-INKDRMSK.js} +5 -5
  78. package/dist/{chunk-FNT4VWXV.js → chunk-IYUAMUO6.js} +1 -1
  79. package/dist/{chunk-RPW7LX2L.js → chunk-J4AJVM5F.js} +3 -3
  80. package/dist/{chunk-R4BBSIUK.js → chunk-J6ACLE2A.js} +2 -2
  81. package/dist/{chunk-MG5WFAND.js → chunk-K4RIBZ32.js} +1 -1
  82. package/dist/{chunk-NPMVVR6I.js → chunk-KESS6HAK.js} +2 -2
  83. package/dist/{chunk-YQVZQM53.js → chunk-KG7UZSCD.js} +6 -6
  84. package/dist/{chunk-XSUNHOAP.js → chunk-L37Q4BR6.js} +4 -4
  85. package/dist/{chunk-KOEQIRDA.js → chunk-MZX35RFX.js} +1 -1
  86. package/dist/{chunk-P2H6TDL4.js → chunk-NBKH6SKN.js} +1 -1
  87. package/dist/{chunk-TUQ6R6DD.js → chunk-NVOQBKIL.js} +4 -4
  88. package/dist/{chunk-5FJPEDMZ.js → chunk-NXWQZBOK.js} +3 -3
  89. package/dist/{chunk-IKX4X4LJ.js → chunk-ODXZPMKN.js} +3 -3
  90. package/dist/{chunk-5UIRDDJN.js → chunk-PEMESJZY.js} +3 -3
  91. package/dist/{chunk-F5C6XZZ7.js → chunk-PTONPJWL.js} +4 -4
  92. package/dist/{chunk-CTBNVQND.js → chunk-RHTAI4XP.js} +10 -10
  93. package/dist/{chunk-M2PLZ5V3.js → chunk-RM7MNCCA.js} +5 -5
  94. package/dist/{chunk-FAL7WRMM.js → chunk-RWS4DRFK.js} +3 -3
  95. package/dist/{chunk-UJ6UCGY4.js → chunk-SJPH24TK.js} +4 -4
  96. package/dist/{chunk-UXVCDVPL.js → chunk-SSTO42XS.js} +1 -1
  97. package/dist/{chunk-CUQOWRYT.js → chunk-SUI5JE6T.js} +1 -1
  98. package/dist/{chunk-2WCARUXQ.js → chunk-T57CIR6H.js} +1 -1
  99. package/dist/{chunk-C664L36M.js → chunk-TAHUCUY3.js} +2 -2
  100. package/dist/{chunk-KWDQI7TI.js → chunk-UFRRAAYD.js} +4 -4
  101. package/dist/{chunk-PZLNBKMS.js → chunk-UZL3VQCE.js} +5 -5
  102. package/dist/{chunk-H7B6LLP4.js → chunk-VKRRUT45.js} +13 -6
  103. package/dist/{chunk-6UN3AUIS.js → chunk-W4MZBZU3.js} +3 -3
  104. package/dist/{chunk-I7LP4DKM.js → chunk-W744DTUT.js} +341 -37
  105. package/dist/{chunk-SAISSZZA.js → chunk-WFHUECGB.js} +6 -6
  106. package/dist/{chunk-UNXVORET.js → chunk-XOPOX5QY.js} +47 -29
  107. package/dist/{chunk-FEP7FXBP.js → chunk-XRRY45XB.js} +3 -3
  108. package/dist/{chunk-EJYLQNMC.js → chunk-XSSG5JLJ.js} +1 -1
  109. package/dist/{chunk-QO6SWGLH.js → chunk-XUAGV5VH.js} +2 -2
  110. package/dist/{chunk-BUNRL7QV.js → chunk-YOSATSUD.js} +2 -2
  111. package/dist/{chunk-Q64D24NF.js → chunk-YQGPBLIT.js} +2 -2
  112. package/dist/{chunk-BBLXVKW2.js → chunk-YQUJQGJU.js} +4 -4
  113. package/dist/{chunk-T5N42XDU.js → chunk-YZORQXN7.js} +1 -1
  114. package/dist/{chunk-RMUKFMT3.js → chunk-ZMKZ5WHS.js} +1 -1
  115. package/dist/{chunk-ZGYLMVNB.js → chunk-ZR35L635.js} +2 -2
  116. package/dist/{chunk-A23GIPWY.js → chunk-ZRTUS6WD.js} +12 -5
  117. package/dist/{chunk-QQ24SUBD.js → chunk-ZV7G73KH.js} +3 -3
  118. package/dist/{chunk-X4UWBBFI.js → chunk-ZWUVJ3DV.js} +3 -3
  119. package/dist/{codex-app-cards-switch-45UK7FRY.js → codex-app-cards-switch-545ISCGQ.js} +11 -11
  120. package/dist/{codex-card-routing-7B77ISR2.js → codex-card-routing-IKNAEEMC.js} +2 -2
  121. package/dist/{codex-desktop-launch-DWC7Q5A6.js → codex-desktop-launch-VQNI4GUS.js} +1 -1
  122. package/dist/{codex-session-launch-MK2CXFRQ.js → codex-session-launch-OGOGHTM7.js} +18 -18
  123. package/dist/{config-OHLNHWP4.js → config-VGWGOR2V.js} +3 -3
  124. package/dist/{global-upgrade-KKFYAQVO.js → global-upgrade-GUHXKJPO.js} +9 -9
  125. package/dist/{identity-AKGGBW3A.js → identity-FORDJUYW.js} +4 -4
  126. package/dist/{live-capabilities-O6MAYZZS.js → live-capabilities-VA3VXZOZ.js} +4 -4
  127. package/dist/{paths-5XEJTZAS.js → paths-5XZPI4LD.js} +3 -3
  128. package/dist/{reapply-VQFRLS3P.js → reapply-77JJ3QV2.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-6HGNG7RT.js → upgrade-lock-EEPLQBLA.js} +4 -4
  132. package/dist/{usage-ATA2A3TZ.js → usage-27IDH6UH.js} +3 -3
  133. package/package.json +2 -2
@@ -531,8 +531,8 @@ var loadedOnce = (load) => {
531
531
  };
532
532
 
533
533
  // src/codex-desktop-proxy.ts
534
- var loadThePhone = () => import("./api-Q2HBBRLT.js");
535
- var loadTheCardRouting = () => import("./codex-card-routing-7B77ISR2.js");
534
+ var loadThePhone = () => import("./api-QFUMNTEQ.js");
535
+ var loadTheCardRouting = () => import("./codex-card-routing-IKNAEEMC.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-45UK7FRY.js");
1088
+ const { codexAppCardsCommandOnThisMac } = await import("./codex-app-cards-switch-545ISCGQ.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]");
@@ -4,13 +4,13 @@ import {
4
4
  configFailureKind,
5
5
  retryAgentCommand,
6
6
  writeSetupConfigFile
7
- } from "./chunk-B6HPULOG.js";
7
+ } from "./chunk-EDNCFLR7.js";
8
8
  import {
9
9
  MCP_BRIDGE_BINARY
10
- } from "./chunk-5FJPEDMZ.js";
10
+ } from "./chunk-NXWQZBOK.js";
11
11
  import {
12
12
  KEY_FILE_MODE
13
- } from "./chunk-JBWEGNKE.js";
13
+ } from "./chunk-CPBS6LS3.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-A23GIPWY.js";
35
+ } from "./chunk-ZRTUS6WD.js";
36
36
  import {
37
37
  resolveGlobalBinary
38
- } from "./chunk-IKX4X4LJ.js";
38
+ } from "./chunk-ODXZPMKN.js";
39
39
  import {
40
40
  readJsonSafe,
41
41
  writeFileAtomic,
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  readMacAppAgentKey
3
- } from "./chunk-F5C6XZZ7.js";
3
+ } from "./chunk-PTONPJWL.js";
4
4
  import {
5
5
  API_KEYS_PATH
6
- } from "./chunk-NPMVVR6I.js";
6
+ } from "./chunk-KESS6HAK.js";
7
7
  import {
8
8
  absoluteUrl
9
- } from "./chunk-QQ24SUBD.js";
9
+ } from "./chunk-ZV7G73KH.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-JBWEGNKE.js";
19
+ } from "./chunk-CPBS6LS3.js";
20
20
  import {
21
21
  isValidApiKey
22
- } from "./chunk-I7LP4DKM.js";
22
+ } from "./chunk-W744DTUT.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
  pusharyDir
3
- } from "./chunk-A23GIPWY.js";
3
+ } from "./chunk-ZRTUS6WD.js";
4
4
  import {
5
5
  writeFileAtomic
6
6
  } from "./chunk-T5I4PKOQ.js";
@@ -2,7 +2,7 @@ import {
2
2
  DISCONNECT_AGENT_IDS,
3
3
  SETUP_AGENT_CHOICES,
4
4
  isApprovalMode
5
- } from "./chunk-I7LP4DKM.js";
5
+ } from "./chunk-W744DTUT.js";
6
6
 
7
7
  // src/cli/mode-request.ts
8
8
  var parseDuration = (value) => {
@@ -3,10 +3,10 @@ import {
3
3
  forkFinishWithUpgradeLock,
4
4
  installWithUpgradeLock,
5
5
  releaseAutoUpdateLock
6
- } from "./chunk-R4BBSIUK.js";
6
+ } from "./chunk-J6ACLE2A.js";
7
7
  import {
8
8
  phoneStartIsRequired
9
- } from "./chunk-6UN3AUIS.js";
9
+ } from "./chunk-W4MZBZU3.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-QO6SWGLH.js";
21
+ } from "./chunk-XUAGV5VH.js";
22
22
  import {
23
23
  autoUpdateLock,
24
24
  autoUpdateLog,
25
25
  autoUpdateState
26
- } from "./chunk-A23GIPWY.js";
26
+ } from "./chunk-ZRTUS6WD.js";
27
27
  import {
28
28
  execNpm,
29
29
  fetchLatestPublishedVersion,
30
30
  npmErrorMessage,
31
31
  readGlobalCliInstallAt,
32
32
  readGlobalPrefix
33
- } from "./chunk-IKX4X4LJ.js";
33
+ } from "./chunk-ODXZPMKN.js";
34
34
  import {
35
35
  EXIT
36
36
  } from "./chunk-BG4HHB7E.js";
37
37
  import {
38
38
  NPX_LATEST_COMMAND
39
- } from "./chunk-CKR43BBJ.js";
39
+ } from "./chunk-7VRL6XYM.js";
40
40
  import {
41
41
  commandsPackage,
42
42
  globalUpgradeEntry,
@@ -7,13 +7,13 @@ import {
7
7
  } from "./chunk-G66WIAST.js";
8
8
  import {
9
9
  ensureDaemonRunning
10
- } from "./chunk-SAISSZZA.js";
10
+ } from "./chunk-WFHUECGB.js";
11
11
  import {
12
12
  hookOwnerOf
13
- } from "./chunk-LWY2U7NZ.js";
13
+ } from "./chunk-3GFJ7CXQ.js";
14
14
  import {
15
15
  hookMeaning
16
- } from "./chunk-GAYUSL24.js";
16
+ } from "./chunk-HVGN7TRN.js";
17
17
  import {
18
18
  buildTranscriptRecords,
19
19
  decodePublicKey,
@@ -24,29 +24,29 @@ import {
24
24
  recordSealerFor,
25
25
  uploadTranscriptRecords,
26
26
  wrapSessionKey
27
- } from "./chunk-XWVEAAZO.js";
27
+ } from "./chunk-4DSJF5JD.js";
28
28
  import {
29
29
  external_exports
30
30
  } from "./chunk-XMSDA5WA.js";
31
31
  import {
32
32
  transcriptEnvironmentPreference,
33
33
  transcriptsEnabled
34
- } from "./chunk-EJYLQNMC.js";
34
+ } from "./chunk-XSSG5JLJ.js";
35
35
  import {
36
36
  fetchAsCredential
37
- } from "./chunk-7K6DZPYV.js";
37
+ } from "./chunk-47HCNA5U.js";
38
38
  import {
39
39
  readTranscriptPreference
40
- } from "./chunk-JBWEGNKE.js";
40
+ } from "./chunk-CPBS6LS3.js";
41
41
  import {
42
42
  claudeConfigDir,
43
43
  codexHome,
44
44
  pusharyDir
45
- } from "./chunk-A23GIPWY.js";
45
+ } from "./chunk-ZRTUS6WD.js";
46
46
  import {
47
47
  getApiKey,
48
48
  getBaseUrl
49
- } from "./chunk-KOEQIRDA.js";
49
+ } from "./chunk-MZX35RFX.js";
50
50
  import {
51
51
  writeJsonAtomic,
52
52
  writeJsonAtomicDurable
@@ -58,7 +58,7 @@ import {
58
58
  isHookSource,
59
59
  isRecord,
60
60
  redactSecretsFromContent
61
- } from "./chunk-I7LP4DKM.js";
61
+ } from "./chunk-W744DTUT.js";
62
62
 
63
63
  // src/transcript-recipient-pin.ts
64
64
  import { createHash } from "crypto";
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  APPROVAL_RULES_PATH,
3
3
  canChangeApprovalSettings
4
- } from "./chunk-NPMVVR6I.js";
4
+ } from "./chunk-KESS6HAK.js";
5
5
  import {
6
6
  callMcpTool
7
- } from "./chunk-PZLNBKMS.js";
7
+ } from "./chunk-UZL3VQCE.js";
8
8
  import {
9
9
  absoluteUrl
10
- } from "./chunk-QQ24SUBD.js";
10
+ } from "./chunk-ZV7G73KH.js";
11
11
  import {
12
12
  getBaseUrl
13
- } from "./chunk-KOEQIRDA.js";
13
+ } from "./chunk-MZX35RFX.js";
14
14
  import {
15
15
  NPX_LATEST_COMMAND
16
- } from "./chunk-CKR43BBJ.js";
16
+ } from "./chunk-7VRL6XYM.js";
17
17
  import {
18
18
  AGENT_STOP_DEFAULT_SECONDS,
19
19
  APPROVAL_MODE_META,
@@ -21,7 +21,7 @@ import {
21
21
  classifyConfirmResponse,
22
22
  isAnswerSource,
23
23
  roundTripAsk
24
- } from "./chunk-I7LP4DKM.js";
24
+ } from "./chunk-W744DTUT.js";
25
25
 
26
26
  // src/reach.ts
27
27
  var reachVerdict = (channels) => {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  configFilePath
3
- } from "./chunk-KOEQIRDA.js";
3
+ } from "./chunk-MZX35RFX.js";
4
4
  import {
5
5
  normalizeInstallSource
6
- } from "./chunk-I7LP4DKM.js";
6
+ } from "./chunk-W744DTUT.js";
7
7
 
8
8
  // src/install-source.ts
9
9
  import { readFileSync } from "fs";
@@ -7,7 +7,7 @@ import {
7
7
  recordSealerFor,
8
8
  uploadTranscriptRecords,
9
9
  wrapSessionKey
10
- } from "./chunk-XWVEAAZO.js";
10
+ } from "./chunk-4DSJF5JD.js";
11
11
 
12
12
  // src/live-session.ts
13
13
  var MAX_TRANSCRIPT_QUEUE = 100;
@@ -1,41 +1,43 @@
1
1
  import {
2
2
  claudeSettingsLocationFor,
3
3
  readClaudePermissionRules
4
- } from "./chunk-ZGYLMVNB.js";
4
+ } from "./chunk-ZR35L635.js";
5
5
  import {
6
6
  askAgentQuestions,
7
7
  defersToNativeMode,
8
8
  outcomeOfFailedAsk,
9
9
  storedWaitDeadline
10
- } from "./chunk-BQVB563P.js";
10
+ } from "./chunk-3DD44QTA.js";
11
11
  import {
12
12
  reportMachineDenial
13
- } from "./chunk-5UIRDDJN.js";
13
+ } from "./chunk-PEMESJZY.js";
14
14
  import {
15
15
  isGatingMoment,
16
16
  recordKeylessMoment
17
- } from "./chunk-UXVCDVPL.js";
17
+ } from "./chunk-SSTO42XS.js";
18
18
  import {
19
19
  isAdmitted,
20
20
  readAdmissionRules
21
- } from "./chunk-H7B6LLP4.js";
21
+ } from "./chunk-VKRRUT45.js";
22
22
  import {
23
23
  isDeferAnswer,
24
24
  oncePerSession
25
- } from "./chunk-MG5WFAND.js";
25
+ } from "./chunk-K4RIBZ32.js";
26
26
  import {
27
27
  activeHookSource,
28
28
  activeIdentity,
29
29
  namedSource
30
- } from "./chunk-OP2ZDOBR.js";
30
+ } from "./chunk-HHZSB6KL.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-UNXVORET.js";
51
+ } from "./chunk-XOPOX5QY.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-GAYUSL24.js";
62
+ } from "./chunk-HVGN7TRN.js";
61
63
  import {
62
64
  branchFor,
63
65
  repoKeyFor,
64
66
  repositoryScopeFor
65
- } from "./chunk-WELDACYF.js";
67
+ } from "./chunk-363YZ5WJ.js";
66
68
  import {
67
69
  askUser,
68
70
  cancelQuestion,
@@ -79,27 +81,29 @@ import {
79
81
  waitForQuestion,
80
82
  waitsForThePhone,
81
83
  withdrawQuestion
82
- } from "./chunk-YQVZQM53.js";
84
+ } from "./chunk-KG7UZSCD.js";
83
85
  import {
84
86
  getMachineId
85
- } from "./chunk-A2TAWW5L.js";
87
+ } from "./chunk-6FR5ZYMS.js";
86
88
  import {
87
89
  getApiKey,
88
90
  getBaseUrl
89
- } from "./chunk-KOEQIRDA.js";
91
+ } from "./chunk-MZX35RFX.js";
90
92
  import {
91
93
  writeFileAtomic
92
94
  } from "./chunk-T5I4PKOQ.js";
93
95
  import {
94
96
  NPX_LATEST_COMMAND
95
- } from "./chunk-CKR43BBJ.js";
97
+ } from "./chunk-7VRL6XYM.js";
96
98
  import {
97
99
  AGENT_QUESTION_STRATEGY,
98
100
  AGENT_QUESTION_TOOL,
101
+ CLAUDE_REFUSALS_ONLY_TOOLS,
99
102
  DECISION_STOP_REASON,
100
103
  GATE_BLOCK_REASON_MAX_LENGTH,
101
104
  GATE_WIRE,
102
105
  HANDED_BACK_REASON,
106
+ KILL_REASON,
103
107
  MCP_TOOL_PREFIX,
104
108
  PLAN_DECLINED_REASON,
105
109
  PRETOOLUSE_HANDLED_TOOLS,
@@ -111,6 +115,7 @@ import {
111
115
  TERMINAL_AND_PHONE_REASON,
112
116
  UNREADABLE_CALL_REASON,
113
117
  UNVERIFIABLE_APPROVAL_REASON,
118
+ WILDCARD_TOOL_PATTERN,
114
119
  WITHDRAWN_APPROVAL_REASON,
115
120
  agentQuestionStrategy,
116
121
  agentRulesAllowEveryInput,
@@ -127,6 +132,7 @@ import {
127
132
  claudePromptTakesTheCall,
128
133
  claudeStoppedPermissionRequestOutput,
129
134
  claudeStoppedPreToolUseOutput,
135
+ claudeSubagentToolAliasOf,
130
136
  denyReasonFrom,
131
137
  editGoesToTheAgentsPrompt,
132
138
  effectiveWaitSeconds,
@@ -140,6 +146,7 @@ import {
140
146
  isBlockedActionRequest,
141
147
  isCursorHookPayload,
142
148
  isPermissionRequestOwnedByPreToolUse,
149
+ isPusharyConnectorTool,
143
150
  isPusharyOwnTool,
144
151
  isRecord,
145
152
  matchedRouteOf,
@@ -157,7 +164,7 @@ import {
157
164
  timeoutActionWithoutLocalPrompt,
158
165
  unansweredRefusalReason,
159
166
  unapprovedScopeReason
160
- } from "./chunk-I7LP4DKM.js";
167
+ } from "./chunk-W744DTUT.js";
161
168
 
162
169
  // src/terminal-answer-watch.ts
163
170
  import { closeSync, openSync, readSync, statSync } from "fs";
@@ -829,9 +836,46 @@ var rememberHandbackToThePrompt = (input, heldForMcpRoute, result) => {
829
836
  if (heldForMcpRoute && result?.hookSpecificOutput?.permissionDecision === "ask") recordMcpHoldHandback(blockedActionFingerprintFor(input));
830
837
  return result;
831
838
  };
839
+ var isRefusalsOnlyCallInClaudeCode = (input) => isMcpCallInClaudeCode(input) || ACTIVE_SOURCE === "claude" && CLAUDE_REFUSALS_ONLY_TOOLS.includes(input.tool_name);
840
+ var STANDING_REFUSAL_NETWORK_BUDGET_MS = 800;
841
+ var standingDenyOfTheSubagentAlias = (gateInputFor, toolName) => {
842
+ const alias = claudeSubagentToolAliasOf(toolName);
843
+ if (alias === void 0) return void 0;
844
+ const verdict = resolveGate(gateInputFor(alias));
845
+ return verdict.kind === "deny" && verdict.policy.tool !== WILDCARD_TOOL_PATTERN ? verdict : void 0;
846
+ };
847
+ var standingRefusalOf = async (input) => {
848
+ let apiKey;
849
+ try {
850
+ apiKey = getApiKey();
851
+ } catch {
852
+ return void 0;
853
+ }
854
+ try {
855
+ const networkBudget = AbortSignal.timeout(STANDING_REFUSAL_NETWORK_BUDGET_MS);
856
+ const { state: modeState, answeredLive } = await fetchLiveModeState(apiKey, input.session_id, networkBudget);
857
+ if (modeState.kill) {
858
+ await reportMachineDenial(input, { kind: "kill", reason: KILL_REASON }, ACTIVE_AGENT);
859
+ return halted(KILL_REASON);
860
+ }
861
+ const policy = answeredLive ? await getPolicyForStandingDenies(apiKey, modeState.policyVersion, ACTIVE_AGENT.type, true, input.session_id, networkBudget) : readCachedPolicy(apiKey, ACTIVE_AGENT.type, true);
862
+ if (policy === null) return void 0;
863
+ const gateInputFor = (toolName) => claudeGateInput(modeState, policy, { ...input, tool_name: toolName });
864
+ const asCalled = resolveGate(gateInputFor(input.tool_name));
865
+ const denied = asCalled.kind === "deny" ? asCalled : standingDenyOfTheSubagentAlias(gateInputFor, input.tool_name);
866
+ if (denied === void 0) return void 0;
867
+ await reportMachineDenial(input, denied, ACTIVE_AGENT);
868
+ return deny(denied.reason);
869
+ } catch (error) {
870
+ await reportHookFailure("pre_tool_use_failed", error);
871
+ return void 0;
872
+ }
873
+ };
832
874
  var handlePreToolUse = async (input, canonical) => {
833
875
  if (isPusharyOwnTool(input.tool_name)) return void 0;
834
- if (isMcpCallInClaudeCode(input) && !mcpCallWaitsForSomeoneElse(input)) return void 0;
876
+ if (isRefusalsOnlyCallInClaudeCode(input) && !mcpCallWaitsForSomeoneElse(input)) {
877
+ return isPusharyConnectorTool(input.tool_name) ? void 0 : standingRefusalOf(input);
878
+ }
835
879
  let apiKey;
836
880
  try {
837
881
  apiKey = getApiKey();
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  resolveInstallSourceFor
3
- } from "./chunk-46ZIEQGC.js";
3
+ } from "./chunk-B4M2XZNQ.js";
4
4
  import {
5
5
  configFilePath
6
- } from "./chunk-KOEQIRDA.js";
6
+ } from "./chunk-MZX35RFX.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-I7LP4DKM.js";
17
+ } from "./chunk-W744DTUT.js";
18
18
 
19
19
  // src/shell-alias.ts
20
20
  import { homedir } from "os";
@@ -2,16 +2,16 @@ import {
2
2
  NpmInstallError,
3
3
  NpmMissingError,
4
4
  NpmPermissionError
5
- } from "./chunk-IKX4X4LJ.js";
5
+ } from "./chunk-ODXZPMKN.js";
6
6
  import {
7
7
  writeFileAtomic
8
8
  } from "./chunk-T5I4PKOQ.js";
9
9
  import {
10
10
  NPX_LATEST_COMMAND
11
- } from "./chunk-CKR43BBJ.js";
11
+ } from "./chunk-7VRL6XYM.js";
12
12
  import {
13
13
  readSetupAgentFailures
14
- } from "./chunk-I7LP4DKM.js";
14
+ } from "./chunk-W744DTUT.js";
15
15
 
16
16
  // src/setup/config-write.ts
17
17
  var AgentConfigWriteError = class extends Error {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  guardBinary
3
- } from "./chunk-A23GIPWY.js";
3
+ } from "./chunk-ZRTUS6WD.js";
4
4
 
5
5
  // src/bell/install.ts
6
6
  import { join } from "path";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-A23GIPWY.js";
3
+ } from "./chunk-ZRTUS6WD.js";
4
4
  import {
5
5
  readRegularJsonFile,
6
6
  writeFileAtomic
@@ -13,7 +13,7 @@ import {
13
13
  serializeDeclinedAgents,
14
14
  withDeclinedAgent,
15
15
  withoutDeclinedAgent
16
- } from "./chunk-I7LP4DKM.js";
16
+ } from "./chunk-W744DTUT.js";
17
17
 
18
18
  // src/declined-agents-file.ts
19
19
  import { join } from "path";
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  UNNAMED_ACTION
3
- } from "./chunk-GAYUSL24.js";
3
+ } from "./chunk-HVGN7TRN.js";
4
4
  import {
5
5
  askUser,
6
6
  isAwayPaused,
7
7
  isLocalQuestionHandoff,
8
8
  unavailableQuestionUnlessRefused,
9
9
  waitForQuestion
10
- } from "./chunk-YQVZQM53.js";
10
+ } from "./chunk-KG7UZSCD.js";
11
11
  import {
12
12
  getMachineId
13
- } from "./chunk-A2TAWW5L.js";
13
+ } from "./chunk-6FR5ZYMS.js";
14
14
  import {
15
15
  hookWaitClamped,
16
16
  hookWaitDeadline,
17
17
  scopeBreachReasonOf
18
- } from "./chunk-I7LP4DKM.js";
18
+ } from "./chunk-W744DTUT.js";
19
19
 
20
20
  // src/pushed-question.ts
21
21
  var scopeQuestionOf = (verdict) => {
@@ -4,7 +4,7 @@ import {
4
4
  postLiveSession,
5
5
  postLiveSessionUntilAccepted,
6
6
  startLiveSessionHeartbeat
7
- } from "./chunk-UKCCVMI2.js";
7
+ } from "./chunk-BYP2R2PF.js";
8
8
  import {
9
9
  CommandReceipts,
10
10
  controllerCommandSchema
@@ -14,21 +14,21 @@ import {
14
14
  describeIdleWindow,
15
15
  idleDeadlinePassed,
16
16
  startProcessOwnership
17
- } from "./chunk-QASBFNVD.js";
17
+ } from "./chunk-HSFTTGOB.js";
18
18
  import {
19
19
  repositoryScopeFor
20
- } from "./chunk-WELDACYF.js";
20
+ } from "./chunk-363YZ5WJ.js";
21
21
  import {
22
22
  isAskUserResponse,
23
23
  isDecisionStopped,
24
24
  isWaitForAnswerResponse,
25
25
  withdrawQuestion,
26
26
  writeDegraded
27
- } from "./chunk-YQVZQM53.js";
27
+ } from "./chunk-KG7UZSCD.js";
28
28
  import {
29
29
  callMcpTool,
30
30
  isRetryable
31
- } from "./chunk-PZLNBKMS.js";
31
+ } from "./chunk-UZL3VQCE.js";
32
32
  import {
33
33
  spawnClaude
34
34
  } from "./chunk-XHKBHWLX.js";
@@ -52,7 +52,7 @@ import {
52
52
  parseCodexQuestions,
53
53
  planElicitationAsk,
54
54
  readElicitationFields
55
- } from "./chunk-I7LP4DKM.js";
55
+ } from "./chunk-W744DTUT.js";
56
56
 
57
57
  // src/codex-question-owner.ts
58
58
  import { createHash } from "crypto";