pushary 1.9.93 → 1.9.96

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 (126) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/{api-QUARGXSY.js → api-FPEL3PLH.js} +10 -10
  3. package/dist/bin/pushary-bell-hook.js +26 -26
  4. package/dist/bin/pushary-bell.js +10 -10
  5. package/dist/bin/pushary-claude.js +27 -27
  6. package/dist/bin/pushary-clean.js +34 -34
  7. package/dist/bin/pushary-codex-bridge.js +21 -21
  8. package/dist/bin/pushary-codex-hook.js +34 -32
  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 +39 -39
  14. package/dist/bin/pushary-disconnect.js +26 -26
  15. package/dist/bin/pushary-display-hook.js +17 -17
  16. package/dist/bin/pushary-doctor.js +42 -42
  17. package/dist/bin/pushary-elicitation-hook.js +26 -26
  18. package/dist/bin/pushary-gemini-bridge.js +15 -15
  19. package/dist/bin/pushary-gemini-hook.js +28 -28
  20. package/dist/bin/pushary-hook.js +30 -30
  21. package/dist/bin/pushary-login.js +20 -20
  22. package/dist/bin/pushary-logout.js +25 -25
  23. package/dist/bin/pushary-mcp.js +11 -11
  24. package/dist/bin/pushary-mode.js +15 -15
  25. package/dist/bin/pushary-notification-hook.js +25 -25
  26. package/dist/bin/pushary-opencode-hook.js +27 -27
  27. package/dist/bin/pushary-permission-denied-hook.js +30 -30
  28. package/dist/bin/pushary-permission-hook.js +30 -30
  29. package/dist/bin/pushary-post-hook.js +25 -25
  30. package/dist/bin/pushary-prompt-hook.js +25 -25
  31. package/dist/bin/pushary-session-end-hook.js +27 -27
  32. package/dist/bin/pushary-session-start-hook.js +35 -35
  33. package/dist/bin/pushary-setup.js +48 -48
  34. package/dist/bin/pushary-stats.js +5 -5
  35. package/dist/bin/pushary-status.js +32 -32
  36. package/dist/bin/pushary-stop-hook.js +25 -25
  37. package/dist/bin/pushary-stopfailure-hook.js +25 -25
  38. package/dist/bin/pushary-suggestions.js +15 -15
  39. package/dist/bin/pushary-transcript-register.js +18 -18
  40. package/dist/bin/pushary-transcripts.js +26 -26
  41. package/dist/bin/pushary-upgrade.js +40 -40
  42. package/dist/bin/pushary-wait.js +15 -15
  43. package/dist/bin/pushary.js +7 -7
  44. package/dist/{chunk-WW4OMRZX.js → chunk-2DF4TBGX.js} +1 -1
  45. package/dist/{chunk-JZ2MRWC4.js → chunk-2QFD5XGU.js} +3 -3
  46. package/dist/{chunk-ONRA5ON4.js → chunk-3GPXHHBM.js} +1 -1
  47. package/dist/{chunk-7DOSRSRU.js → chunk-3QS2RCCZ.js} +6 -6
  48. package/dist/{chunk-NHGOCUX7.js → chunk-3QT3DMNX.js} +1 -1
  49. package/dist/{chunk-5TQC2LS6.js → chunk-3X3ALGMP.js} +4 -4
  50. package/dist/{chunk-ATWH6TGY.js → chunk-4BLNOWGZ.js} +23 -19
  51. package/dist/{chunk-HUNGCBCF.js → chunk-6JZNZTGZ.js} +3 -3
  52. package/dist/{chunk-NDPOESVW.js → chunk-6YG5PZZS.js} +1 -1
  53. package/dist/{chunk-Y7AX6BS4.js → chunk-77HBRZJI.js} +3 -3
  54. package/dist/{chunk-HALVTC2N.js → chunk-7CW3K3B5.js} +5 -5
  55. package/dist/{chunk-UGGACQMD.js → chunk-AEOYYLXF.js} +3 -3
  56. package/dist/{chunk-V3LBQFQM.js → chunk-ARDQBF25.js} +1 -1
  57. package/dist/{chunk-LTMMFZHG.js → chunk-B4G4Q2AF.js} +1 -1
  58. package/dist/{chunk-CO6TQ44W.js → chunk-B75SIY5C.js} +3 -3
  59. package/dist/{chunk-OLMKZINV.js → chunk-BDCFB4NV.js} +6 -6
  60. package/dist/{chunk-7PQ66CB3.js → chunk-BKN5E4L5.js} +1 -1
  61. package/dist/{chunk-YLCNW7YN.js → chunk-C4IKRLT4.js} +2 -2
  62. package/dist/{chunk-3JVV6PMG.js → chunk-CLN5W5QP.js} +5 -5
  63. package/dist/{chunk-UNPDFIPQ.js → chunk-CQ3YV6QI.js} +2 -2
  64. package/dist/{chunk-SR44ZNZF.js → chunk-CRJDKGEF.js} +5 -5
  65. package/dist/{chunk-UZRKR6NZ.js → chunk-CTKJVVDL.js} +3 -3
  66. package/dist/{chunk-BETKU76V.js → chunk-DN3QW2TT.js} +3 -3
  67. package/dist/{chunk-FTJ5DQL7.js → chunk-EMVK57K7.js} +2 -2
  68. package/dist/{chunk-GLA6MCOG.js → chunk-EPFI6W2K.js} +1 -1
  69. package/dist/{chunk-7VJ7PEI3.js → chunk-GAZPL742.js} +4 -4
  70. package/dist/{chunk-A2FDS7E3.js → chunk-HOYWYQNC.js} +5 -5
  71. package/dist/{chunk-X3AHEUQ5.js → chunk-HY7G3PWJ.js} +3 -3
  72. package/dist/{chunk-7YB2XRY7.js → chunk-IVYKPYMH.js} +3 -3
  73. package/dist/{chunk-66VEUAN5.js → chunk-J3W32P43.js} +1 -1
  74. package/dist/{chunk-3CJFBWID.js → chunk-JCYXG6LQ.js} +3 -3
  75. package/dist/{chunk-373552A3.js → chunk-JU3JYEUG.js} +4 -4
  76. package/dist/{chunk-RXQT5FTX.js → chunk-KG7GT7UW.js} +1 -1
  77. package/dist/{chunk-JJWZIPDL.js → chunk-KHGW7THQ.js} +4 -4
  78. package/dist/{chunk-4HQTZQ4D.js → chunk-LGJPT33C.js} +2 -2
  79. package/dist/{chunk-MSJXRN22.js → chunk-M52UDSMQ.js} +5 -5
  80. package/dist/{chunk-CQMY74I2.js → chunk-M7ZV5IPA.js} +7 -7
  81. package/dist/{chunk-V7TNHTHH.js → chunk-MSPHJNUL.js} +1 -1
  82. package/dist/{chunk-CSUO5YJG.js → chunk-N2KK2NSY.js} +2 -2
  83. package/dist/{chunk-SPPMPM7F.js → chunk-NGSJHUQN.js} +1 -1
  84. package/dist/{chunk-OC47FGOY.js → chunk-OP2WJEPY.js} +1 -1
  85. package/dist/{chunk-PFHU3CW4.js → chunk-OQY4G7FS.js} +1 -1
  86. package/dist/{chunk-OMN5UCMW.js → chunk-OS32P4RZ.js} +560 -36
  87. package/dist/{chunk-2FL5PLA4.js → chunk-PD2DWO4X.js} +2 -2
  88. package/dist/{chunk-4PD7FP55.js → chunk-PDRPVVZX.js} +2 -2
  89. package/dist/{chunk-RFP4Q5I3.js → chunk-QDS55ODM.js} +11 -11
  90. package/dist/{chunk-ANDG4PUV.js → chunk-R2RCFCFW.js} +6 -6
  91. package/dist/{chunk-VMIWR724.js → chunk-SARU6WNW.js} +1 -1
  92. package/dist/{chunk-2BXWBKVN.js → chunk-SI2CJ2BB.js} +3 -3
  93. package/dist/{chunk-5V2YDO4U.js → chunk-SISYAMDC.js} +4 -4
  94. package/dist/{chunk-XDWJX7LT.js → chunk-T2Z5ITWJ.js} +3 -3
  95. package/dist/{chunk-DV7LLH25.js → chunk-T7X5MQ3H.js} +1 -1
  96. package/dist/{chunk-OFQJHWAS.js → chunk-TAMHTWQZ.js} +10 -10
  97. package/dist/{chunk-NPH4DJAU.js → chunk-TQKVKV76.js} +5 -5
  98. package/dist/{chunk-7GFWYFLO.js → chunk-TTK2DLUS.js} +10 -10
  99. package/dist/{chunk-LANGH7UF.js → chunk-TVGOSEWS.js} +4 -4
  100. package/dist/{chunk-NPZ5L2WQ.js → chunk-TXDFQD2I.js} +1 -1
  101. package/dist/{chunk-CFD3IESN.js → chunk-TZWK2BVY.js} +6 -6
  102. package/dist/{chunk-RXAQOAZI.js → chunk-UFWRBHTV.js} +3 -3
  103. package/dist/{chunk-XTNCXIYR.js → chunk-V7EWOHNV.js} +4 -4
  104. package/dist/{chunk-YT3ENXBT.js → chunk-VTFXPV4U.js} +2 -2
  105. package/dist/{chunk-76ROCOWD.js → chunk-VX27HJF6.js} +7 -7
  106. package/dist/{chunk-H4MIOBC6.js → chunk-WUYB3J3Q.js} +2 -2
  107. package/dist/{chunk-N7CPX5S5.js → chunk-WVDPP7OQ.js} +5 -5
  108. package/dist/{chunk-KJ752DUH.js → chunk-WZADX5VO.js} +6 -6
  109. package/dist/{chunk-2BVVMWVF.js → chunk-XLM2JZBE.js} +1 -1
  110. package/dist/{chunk-NZKH2RMQ.js → chunk-XLRPJHXN.js} +1 -1
  111. package/dist/{chunk-UHS3JZLN.js → chunk-XZHJVGR3.js} +2 -2
  112. package/dist/{chunk-CHVXLS7U.js → chunk-YCYFREHD.js} +2 -2
  113. package/dist/{chunk-PS2K6ZQ3.js → chunk-YGMSDYOH.js} +6 -6
  114. package/dist/{codex-app-cards-switch-XP2H2CZO.js → codex-app-cards-switch-7YTDIMCX.js} +11 -11
  115. package/dist/{codex-desktop-launch-QRFE2GHZ.js → codex-desktop-launch-CICLFWQX.js} +1 -1
  116. package/dist/{codex-session-launch-EUUWALWW.js → codex-session-launch-KW7VUPAH.js} +18 -18
  117. package/dist/{config-WBDMUTD4.js → config-632JSNBM.js} +3 -3
  118. package/dist/{global-upgrade-ZXFLRGGV.js → global-upgrade-BMCLOI2P.js} +10 -10
  119. package/dist/{identity-NUQ75BP7.js → identity-UCVTGQHM.js} +4 -4
  120. package/dist/{live-capabilities-SIQ25SSK.js → live-capabilities-5VPEAE37.js} +5 -5
  121. package/dist/{paths-BGO6PZFZ.js → paths-NCKEVGEI.js} +3 -3
  122. package/dist/{reapply-AD5ATZOO.js → reapply-UPZ2L4ID.js} +28 -28
  123. package/dist/src/index.js +29 -29
  124. package/dist/{upgrade-lock-B5HTMEWT.js → upgrade-lock-J36URBLG.js} +4 -4
  125. package/dist/{usage-YHFALPKW.js → usage-BL3KXNWQ.js} +3 -3
  126. package/package.json +1 -1
@@ -2,43 +2,43 @@
2
2
  import {
3
3
  waitResponse,
4
4
  waitWindowResponse
5
- } from "../chunk-WW4OMRZX.js";
5
+ } from "../chunk-2DF4TBGX.js";
6
6
  import {
7
7
  exitOnFailedSettingsRequest
8
- } from "../chunk-KJ752DUH.js";
8
+ } from "../chunk-WZADX5VO.js";
9
9
  import {
10
10
  describeWaitLadder
11
11
  } from "../chunk-CVWG2N3Y.js";
12
- import "../chunk-H4MIOBC6.js";
12
+ import "../chunk-WUYB3J3Q.js";
13
13
  import {
14
14
  APPROVAL_RULES_PATH,
15
15
  PUSH_WINDOW_COMMAND,
16
16
  PUSH_WINDOW_RESET_COMMAND
17
- } from "../chunk-FTJ5DQL7.js";
17
+ } from "../chunk-EMVK57K7.js";
18
18
  import {
19
19
  createIo
20
20
  } from "../chunk-FO3MDD26.js";
21
21
  import {
22
22
  exitOnHelpFlag
23
- } from "../chunk-V7TNHTHH.js";
23
+ } from "../chunk-MSPHJNUL.js";
24
24
  import {
25
25
  parseFlags
26
26
  } from "../chunk-NMUI3ZWG.js";
27
- import "../chunk-LANGH7UF.js";
27
+ import "../chunk-TVGOSEWS.js";
28
28
  import {
29
29
  absoluteUrl
30
- } from "../chunk-UZRKR6NZ.js";
30
+ } from "../chunk-CTKJVVDL.js";
31
31
  import {
32
32
  pusharyFetch
33
- } from "../chunk-CO6TQ44W.js";
34
- import "../chunk-CSUO5YJG.js";
35
- import "../chunk-YLCNW7YN.js";
36
- import "../chunk-CHVXLS7U.js";
37
- import "../chunk-Y7AX6BS4.js";
33
+ } from "../chunk-B75SIY5C.js";
34
+ import "../chunk-N2KK2NSY.js";
35
+ import "../chunk-C4IKRLT4.js";
36
+ import "../chunk-YCYFREHD.js";
37
+ import "../chunk-77HBRZJI.js";
38
38
  import {
39
39
  getApiKey,
40
40
  getBaseUrl
41
- } from "../chunk-NPZ5L2WQ.js";
41
+ } from "../chunk-TXDFQD2I.js";
42
42
  import {
43
43
  UsageError,
44
44
  exitCodeFor
@@ -46,9 +46,9 @@ import {
46
46
  import {
47
47
  EXIT
48
48
  } from "../chunk-KZERVKTD.js";
49
- import "../chunk-NDPOESVW.js";
49
+ import "../chunk-6YG5PZZS.js";
50
50
  import "../chunk-ZVU6WMMU.js";
51
- import "../chunk-OMN5UCMW.js";
51
+ import "../chunk-OS32P4RZ.js";
52
52
  import "../chunk-MLKGABMK.js";
53
53
 
54
54
  // bin/pushary-wait.ts
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  installNetworkDefaults
4
- } from "../chunk-CO6TQ44W.js";
5
- import "../chunk-CSUO5YJG.js";
6
- import "../chunk-CHVXLS7U.js";
7
- import "../chunk-Y7AX6BS4.js";
8
- import "../chunk-NPZ5L2WQ.js";
4
+ } from "../chunk-B75SIY5C.js";
5
+ import "../chunk-N2KK2NSY.js";
6
+ import "../chunk-YCYFREHD.js";
7
+ import "../chunk-77HBRZJI.js";
8
+ import "../chunk-TXDFQD2I.js";
9
9
  import "../chunk-PPY5N2E6.js";
10
10
  import {
11
11
  EXIT
@@ -14,11 +14,11 @@ import {
14
14
  LISTED_COMMANDS,
15
15
  renderHelp,
16
16
  resolveCommandName
17
- } from "../chunk-NDPOESVW.js";
17
+ } from "../chunk-6YG5PZZS.js";
18
18
  import {
19
19
  getPackageVersion
20
20
  } from "../chunk-ZVU6WMMU.js";
21
- import "../chunk-OMN5UCMW.js";
21
+ import "../chunk-OS32P4RZ.js";
22
22
  import "../chunk-MLKGABMK.js";
23
23
 
24
24
  // src/cli/runtime.ts
@@ -2,7 +2,7 @@ import {
2
2
  isApprovalMode,
3
3
  isRecord,
4
4
  isTimeoutAction
5
- } from "./chunk-OMN5UCMW.js";
5
+ } from "./chunk-OS32P4RZ.js";
6
6
 
7
7
  // src/cli/settings-response.ts
8
8
  var isFiniteNumber = (value) => typeof value === "number" && Number.isFinite(value);
@@ -5,19 +5,19 @@ import {
5
5
  hermesAppWiringRecord,
6
6
  hermesConfigReceipt,
7
7
  hermesSetupReceipt
8
- } from "./chunk-CHVXLS7U.js";
8
+ } from "./chunk-YCYFREHD.js";
9
9
  import {
10
10
  readJsonSafe,
11
11
  resolvePathBinary,
12
12
  writeJsonAtomic
13
- } from "./chunk-Y7AX6BS4.js";
13
+ } from "./chunk-77HBRZJI.js";
14
14
  import {
15
15
  isNewerVersion,
16
16
  isReleaseVersion
17
17
  } from "./chunk-ZVU6WMMU.js";
18
18
  import {
19
19
  isRecord
20
- } from "./chunk-OMN5UCMW.js";
20
+ } from "./chunk-OS32P4RZ.js";
21
21
 
22
22
  // src/hermes/plugin-payload.ts
23
23
  import { createHash } from "crypto";
@@ -9,7 +9,7 @@ import {
9
9
  isSetupConnectMode,
10
10
  isValidApiKey,
11
11
  normalizeAgentId
12
- } from "./chunk-OMN5UCMW.js";
12
+ } from "./chunk-OS32P4RZ.js";
13
13
 
14
14
  // src/setup/options.ts
15
15
  var AGENT_CHOICES = SETUP_AGENT_CHOICES;
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  APPROVAL_RULES_PATH,
3
3
  canChangeApprovalSettings
4
- } from "./chunk-FTJ5DQL7.js";
4
+ } from "./chunk-EMVK57K7.js";
5
5
  import {
6
6
  callMcpTool
7
- } from "./chunk-XTNCXIYR.js";
7
+ } from "./chunk-V7EWOHNV.js";
8
8
  import {
9
9
  absoluteUrl
10
- } from "./chunk-UZRKR6NZ.js";
10
+ } from "./chunk-CTKJVVDL.js";
11
11
  import {
12
12
  getBaseUrl
13
- } from "./chunk-NPZ5L2WQ.js";
13
+ } from "./chunk-TXDFQD2I.js";
14
14
  import {
15
15
  NPX_LATEST_COMMAND
16
- } from "./chunk-NDPOESVW.js";
16
+ } from "./chunk-6YG5PZZS.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-OMN5UCMW.js";
24
+ } from "./chunk-OS32P4RZ.js";
25
25
 
26
26
  // src/reach.ts
27
27
  var reachVerdict = (channels) => {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  HOOK_HOLD_BUDGET_ENV,
3
3
  hookHoldBudgetProof
4
- } from "./chunk-OMN5UCMW.js";
4
+ } from "./chunk-OS32P4RZ.js";
5
5
 
6
6
  // src/hold-budget.ts
7
7
  var takeHookHoldBudget = (args = process.argv.slice(2), env = process.env) => {
@@ -12,7 +12,7 @@ import {
12
12
  reachVerdict,
13
13
  reachesYou,
14
14
  verifyDelivery
15
- } from "./chunk-7DOSRSRU.js";
15
+ } from "./chunk-3QS2RCCZ.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-YLCNW7YN.js";
27
+ } from "./chunk-C4IKRLT4.js";
28
28
  import {
29
29
  NPX_LATEST_COMMAND
30
- } from "./chunk-NDPOESVW.js";
30
+ } from "./chunk-6YG5PZZS.js";
31
31
  import {
32
32
  NO_PAIRING_COMPUTER,
33
33
  PAIR_TTL_SECONDS
34
- } from "./chunk-OMN5UCMW.js";
34
+ } from "./chunk-OS32P4RZ.js";
35
35
 
36
36
  // src/onboarding.ts
37
37
  import qrcodeTerminal from "qrcode-terminal";
@@ -4,24 +4,24 @@ import {
4
4
  outcomeOfFailedAsk,
5
5
  reportMachineDenial,
6
6
  storedWaitDeadline
7
- } from "./chunk-76ROCOWD.js";
7
+ } from "./chunk-VX27HJF6.js";
8
8
  import {
9
9
  isGatingMoment,
10
10
  recordKeylessMoment
11
- } from "./chunk-GLA6MCOG.js";
11
+ } from "./chunk-EPFI6W2K.js";
12
12
  import {
13
13
  isAdmitted,
14
14
  readAdmissionRules
15
- } from "./chunk-CQMY74I2.js";
15
+ } from "./chunk-M7ZV5IPA.js";
16
16
  import {
17
17
  isDeferAnswer,
18
18
  oncePerSession
19
- } from "./chunk-V3LBQFQM.js";
19
+ } from "./chunk-ARDQBF25.js";
20
20
  import {
21
21
  activeHookSource,
22
22
  activeIdentity,
23
23
  namedSource
24
- } from "./chunk-HALVTC2N.js";
24
+ } from "./chunk-7CW3K3B5.js";
25
25
  import {
26
26
  DEFAULT_SESSION,
27
27
  approvalAwaitingRetry,
@@ -37,7 +37,7 @@ import {
37
37
  recordBlockedActionHint,
38
38
  reportEvent,
39
39
  settleQuestionsForToolUse
40
- } from "./chunk-OFQJHWAS.js";
40
+ } from "./chunk-TAMHTWQZ.js";
41
41
  import {
42
42
  UNNAMED_ACTION,
43
43
  deriveAction,
@@ -45,13 +45,14 @@ import {
45
45
  deriveBlocker,
46
46
  deriveToolTarget,
47
47
  describeToolCall,
48
+ patchDeletesFiles,
48
49
  permissionDeniedAction,
49
50
  scopePathFor
50
- } from "./chunk-2BVVMWVF.js";
51
+ } from "./chunk-XLM2JZBE.js";
51
52
  import {
52
53
  repoKeyFor,
53
54
  repositoryScopeFor
54
- } from "./chunk-RXQT5FTX.js";
55
+ } from "./chunk-KG7GT7UW.js";
55
56
  import {
56
57
  askUser,
57
58
  cancelQuestion,
@@ -68,20 +69,20 @@ import {
68
69
  waitForQuestion,
69
70
  waitsForThePhone,
70
71
  withdrawQuestion
71
- } from "./chunk-SR44ZNZF.js";
72
+ } from "./chunk-CRJDKGEF.js";
72
73
  import {
73
74
  getMachineId
74
- } from "./chunk-CSUO5YJG.js";
75
+ } from "./chunk-N2KK2NSY.js";
75
76
  import {
76
77
  claudeConfigDir
77
- } from "./chunk-CHVXLS7U.js";
78
+ } from "./chunk-YCYFREHD.js";
78
79
  import {
79
80
  getApiKey,
80
81
  getBaseUrl
81
- } from "./chunk-NPZ5L2WQ.js";
82
+ } from "./chunk-TXDFQD2I.js";
82
83
  import {
83
84
  NPX_LATEST_COMMAND
84
- } from "./chunk-NDPOESVW.js";
85
+ } from "./chunk-6YG5PZZS.js";
85
86
  import {
86
87
  AGENT_QUESTION_STRATEGY,
87
88
  AGENT_QUESTION_TOOL,
@@ -128,6 +129,7 @@ import {
128
129
  isPusharyOwnTool,
129
130
  isRecord,
130
131
  parseAgentQuestions,
132
+ permissionsOffAskReason,
131
133
  questionHandedToTheTerminal,
132
134
  questionLimitHandBack,
133
135
  refusesWhenUnanswered,
@@ -136,7 +138,7 @@ import {
136
138
  terminalStaysLiveForTheCall,
137
139
  timeoutActionWithoutLocalPrompt,
138
140
  unansweredRefusalReason
139
- } from "./chunk-OMN5UCMW.js";
141
+ } from "./chunk-OS32P4RZ.js";
140
142
 
141
143
  // src/terminal-answer-watch.ts
142
144
  import { closeSync, openSync, readSync, statSync } from "fs";
@@ -532,7 +534,7 @@ var emitDecisionEpisode = (apiKey, input, toolPolicy, machineId, toolTarget, dec
532
534
  machineId
533
535
  });
534
536
  };
535
- var dispatchModeHandler = async (apiKey, input, toolPolicy, machineId, trainingConsent = false, scopeReason, scopePath, terminalLive) => {
537
+ var dispatchModeHandler = async (apiKey, input, toolPolicy, machineId, trainingConsent = false, scopeReason, scopePath, terminalLive, askReason) => {
536
538
  const description = describeToolCall(input.tool_name, input.tool_input, "hook");
537
539
  const projectName = basename(input.cwd ?? process.cwd());
538
540
  const sessionId = input.session_id;
@@ -544,7 +546,7 @@ var dispatchModeHandler = async (apiKey, input, toolPolicy, machineId, trainingC
544
546
  toolPath: hookWritePath(input.tool_name, input.tool_input),
545
547
  intent,
546
548
  action: deriveAction(input.tool_name, input.tool_input),
547
- blocker: scopeReason ?? deriveBlocker(toolPolicy.mode),
549
+ blocker: scopeReason ?? deriveBlocker(toolPolicy.mode, askReason),
548
550
  actionBody: deriveActionBody(input.tool_name, input.tool_input),
549
551
  repoKey: repoKeyFor(input.cwd),
550
552
  // Only when the breach is what caused the question, so an ordinary approval
@@ -726,7 +728,9 @@ var claudeGateInput = (modeState, config, input, canonical) => {
726
728
  }) : [],
727
729
  cwd: input.cwd,
728
730
  ...repositoryScopeFor(input.cwd),
729
- sessionId: input.session_id
731
+ sessionId: input.session_id,
732
+ permissionMode: input.permission_mode,
733
+ deletesFiles: patchDeletesFiles(input.tool_name, input.tool_input ?? {})
730
734
  };
731
735
  };
732
736
  var BLOCKED_ACTION_GATE_TIMEOUT_MS = 15e3;
@@ -830,7 +834,7 @@ var handlePreToolUse = async (input, canonical) => {
830
834
  return undecidedCall(SOLE_GATE_UNDECIDED_REASON);
831
835
  default:
832
836
  if (preToolUseHandsOff(input, gateInput, verdict)) return ask(TERMINAL_AND_PHONE_REASON);
833
- return await dispatchModeHandler(apiKey, input, verdict.policy, getMachineId(), modeState.trainingConsent, verdict.scopeReason, verdict.scopePath);
837
+ return await dispatchModeHandler(apiKey, input, verdict.policy, getMachineId(), modeState.trainingConsent, verdict.scopeReason, verdict.scopePath, void 0, permissionsOffAskReason(gateInput, verdict));
834
838
  }
835
839
  } catch (error) {
836
840
  await reportHookFailure("pre_tool_use_failed", error);
@@ -889,7 +893,7 @@ var handlePermissionRequest = async (input, canonical, holdBudgetSeconds) => {
889
893
  return void 0;
890
894
  default:
891
895
  return toPermissionRequestOutput(
892
- await dispatchModeHandler(apiKey, input, verdict.policy, getMachineId(), modeState.trainingConsent, verdict.scopeReason, verdict.scopePath, terminalLiveDispatch)
896
+ await dispatchModeHandler(apiKey, input, verdict.policy, getMachineId(), modeState.trainingConsent, verdict.scopeReason, verdict.scopePath, terminalLiveDispatch, permissionsOffAskReason(gateInput, verdict))
893
897
  );
894
898
  }
895
899
  } catch (error) {
@@ -3,11 +3,11 @@ import {
3
3
  } from "./chunk-POFBE6ZY.js";
4
4
  import {
5
5
  autoUpdateState
6
- } from "./chunk-CHVXLS7U.js";
6
+ } from "./chunk-YCYFREHD.js";
7
7
  import {
8
8
  readJsonSafe,
9
9
  writeJsonAtomic
10
- } from "./chunk-Y7AX6BS4.js";
10
+ } from "./chunk-77HBRZJI.js";
11
11
  import {
12
12
  CLI_PACKAGE_NAMES,
13
13
  POSIX_GLOBAL_ROOT_SEGMENTS,
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-ZVU6WMMU.js";
18
18
  import {
19
19
  isAutoUpdateResult
20
- } from "./chunk-OMN5UCMW.js";
20
+ } from "./chunk-OS32P4RZ.js";
21
21
 
22
22
  // src/auto-update.ts
23
23
  import { spawn } from "child_process";
@@ -2,7 +2,7 @@ import {
2
2
  DISCONNECT_AGENT_IDS,
3
3
  SETUP_AGENT_CHOICES,
4
4
  isApprovalMode
5
- } from "./chunk-OMN5UCMW.js";
5
+ } from "./chunk-OS32P4RZ.js";
6
6
 
7
7
  // src/cli/mode-request.ts
8
8
  var parseDuration = (value) => {
@@ -471,9 +471,9 @@ var installGlobally = (options) => {
471
471
  }
472
472
  const started = (async () => {
473
473
  if (!npmIsOnPath()) throw new NpmMissingError();
474
- const { withUpgradeLock } = await import("./global-upgrade-ZXFLRGGV.js");
475
- const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-B5HTMEWT.js");
476
- const { autoUpdateLock } = await import("./paths-BGO6PZFZ.js");
474
+ const { withUpgradeLock } = await import("./global-upgrade-BMCLOI2P.js");
475
+ const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-J36URBLG.js");
476
+ const { autoUpdateLock } = await import("./paths-NCKEVGEI.js");
477
477
  let result = "skipped";
478
478
  const install = async () => {
479
479
  const platform = process.platform;
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  addGeminiMcpServer,
3
3
  removeGeminiMcpServer
4
- } from "./chunk-5V2YDO4U.js";
4
+ } from "./chunk-SISYAMDC.js";
5
5
  import {
6
6
  CLAUDE_CODE_AGENT
7
- } from "./chunk-OFQJHWAS.js";
7
+ } from "./chunk-TAMHTWQZ.js";
8
8
  import {
9
9
  compatibleToolLookup
10
- } from "./chunk-2BVVMWVF.js";
10
+ } from "./chunk-XLM2JZBE.js";
11
11
  import {
12
12
  CLAUDE_HOOK_EVENTS,
13
13
  PUSHARY_MCP_URL,
@@ -19,7 +19,7 @@ import {
19
19
  isPusharyHook,
20
20
  registerHookEntry,
21
21
  removeClaudeMcpServers
22
- } from "./chunk-CHVXLS7U.js";
22
+ } from "./chunk-YCYFREHD.js";
23
23
  import {
24
24
  HOOK_COMPATIBLE_PROFILES,
25
25
  PHONE_ANSWERED_TOOLS,
@@ -30,7 +30,7 @@ import {
30
30
  pusharyMissingReason,
31
31
  refusalOutput,
32
32
  withHookHoldBudget
33
- } from "./chunk-OMN5UCMW.js";
33
+ } from "./chunk-OS32P4RZ.js";
34
34
 
35
35
  // src/config-document.ts
36
36
  import { parse, stringify } from "smol-toml";
@@ -9,20 +9,20 @@ import {
9
9
  installedCodexApp,
10
10
  readCodexAppRuntime,
11
11
  shellQuoted
12
- } from "./chunk-YT3ENXBT.js";
12
+ } from "./chunk-VTFXPV4U.js";
13
13
  import {
14
14
  writeHuman
15
15
  } from "./chunk-QCGNGEGE.js";
16
16
  import {
17
17
  xml
18
- } from "./chunk-CFD3IESN.js";
18
+ } from "./chunk-TZWK2BVY.js";
19
19
  import {
20
20
  CODEX_APP_LAUNCH_AT_LOGIN_VERB,
21
21
  CODEX_APP_LAUNCH_VARIABLE
22
22
  } from "./chunk-E46NE7FB.js";
23
23
  import {
24
24
  writeFileAtomic
25
- } from "./chunk-Y7AX6BS4.js";
25
+ } from "./chunk-77HBRZJI.js";
26
26
 
27
27
  // src/codex-app-cards-switch.ts
28
28
  import { execFileSync as execFileSync2 } from "child_process";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DEFAULT_SESSION
3
- } from "./chunk-OFQJHWAS.js";
3
+ } from "./chunk-TAMHTWQZ.js";
4
4
 
5
5
  // src/answer.ts
6
6
  var isDeferAnswer = (value) => value === "defer";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readConfigFileKey
3
- } from "./chunk-LANGH7UF.js";
3
+ } from "./chunk-TVGOSEWS.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
  readExistingMachineId
3
- } from "./chunk-CSUO5YJG.js";
3
+ } from "./chunk-N2KK2NSY.js";
4
4
  import {
5
5
  getBaseUrl
6
- } from "./chunk-NPZ5L2WQ.js";
6
+ } from "./chunk-TXDFQD2I.js";
7
7
  import {
8
8
  NetworkError
9
9
  } from "./chunk-PPY5N2E6.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  clientContextHeaders,
15
15
  redactSecretsFromContent
16
- } from "./chunk-OMN5UCMW.js";
16
+ } from "./chunk-OS32P4RZ.js";
17
17
 
18
18
  // src/cli/net.ts
19
19
  import { createRequire } from "module";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  compatibleConfigFile
3
- } from "./chunk-HALVTC2N.js";
3
+ } from "./chunk-7CW3K3B5.js";
4
4
  import {
5
5
  hookOwnerOf,
6
6
  hookOwnerOfCommands,
7
7
  liveBridgeProbe,
8
8
  resolveBridgeStub
9
- } from "./chunk-5V2YDO4U.js";
9
+ } from "./chunk-SISYAMDC.js";
10
10
  import {
11
11
  AGENT_CHOICES
12
- } from "./chunk-ONRA5ON4.js";
12
+ } from "./chunk-3GPXHHBM.js";
13
13
  import {
14
14
  claudeSettings,
15
15
  codexHooksJson,
@@ -19,10 +19,10 @@ import {
19
19
  pusharyDir,
20
20
  vscodePluginDir,
21
21
  windowsNodeLauncherFor
22
- } from "./chunk-CHVXLS7U.js";
22
+ } from "./chunk-YCYFREHD.js";
23
23
  import {
24
24
  readJsonSafe
25
- } from "./chunk-Y7AX6BS4.js";
25
+ } from "./chunk-77HBRZJI.js";
26
26
  import {
27
27
  HOOK_BUDGETS,
28
28
  HOOK_COMPATIBLE_PROFILES,
@@ -30,7 +30,7 @@ import {
30
30
  OPENCODE_APPROVAL_EVENT,
31
31
  hookCompatibleProfile,
32
32
  isRecord
33
- } from "./chunk-OMN5UCMW.js";
33
+ } from "./chunk-OS32P4RZ.js";
34
34
 
35
35
  // src/opencode-plugin.ts
36
36
  var OPENCODE_PLUGIN_MARKER = "pushary-opencode-plugin w1";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  readOwnerOnlyJson,
3
3
  transcriptReadPositionSchema
4
- } from "./chunk-OC47FGOY.js";
4
+ } from "./chunk-OP2WJEPY.js";
5
5
  import {
6
6
  external_exports
7
7
  } from "./chunk-XMSDA5WA.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  configFilePath
3
- } from "./chunk-NPZ5L2WQ.js";
3
+ } from "./chunk-TXDFQD2I.js";
4
4
  import {
5
5
  normalizeInstallSource
6
- } from "./chunk-OMN5UCMW.js";
6
+ } from "./chunk-OS32P4RZ.js";
7
7
 
8
8
  // src/install-source.ts
9
9
  import { readFileSync } from "fs";
@@ -3,24 +3,24 @@ import {
3
3
  expectedLaunchCapabilities,
4
4
  hasSpawnProvider,
5
5
  resolveControlPolicy
6
- } from "./chunk-JJWZIPDL.js";
6
+ } from "./chunk-KHGW7THQ.js";
7
7
  import {
8
8
  daemonHasRemoteProof,
9
9
  daemonServiceManagerAvailable,
10
10
  hasDaemonServiceDefinition,
11
11
  readDaemonNeedsLogin,
12
12
  readDaemonStatus
13
- } from "./chunk-CFD3IESN.js";
13
+ } from "./chunk-TZWK2BVY.js";
14
14
  import {
15
15
  readControlMode,
16
16
  readKeySource
17
- } from "./chunk-LANGH7UF.js";
17
+ } from "./chunk-TVGOSEWS.js";
18
18
  import {
19
19
  getMachineId
20
- } from "./chunk-CSUO5YJG.js";
20
+ } from "./chunk-N2KK2NSY.js";
21
21
  import {
22
22
  getBaseUrl
23
- } from "./chunk-NPZ5L2WQ.js";
23
+ } from "./chunk-TXDFQD2I.js";
24
24
  import {
25
25
  getPackageVersion
26
26
  } from "./chunk-ZVU6WMMU.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  autoUpdateLock
3
- } from "./chunk-CHVXLS7U.js";
3
+ } from "./chunk-YCYFREHD.js";
4
4
  import {
5
5
  installPackageGlobally,
6
6
  npmErrorMessage,
7
7
  writeJsonAtomic
8
- } from "./chunk-Y7AX6BS4.js";
8
+ } from "./chunk-77HBRZJI.js";
9
9
 
10
10
  // src/upgrade-lock.ts
11
11
  import { fork } from "child_process";
@@ -6,18 +6,18 @@ import {
6
6
  McpToolError,
7
7
  SubscriptionRequiredError,
8
8
  callMcpTool
9
- } from "./chunk-XTNCXIYR.js";
9
+ } from "./chunk-V7EWOHNV.js";
10
10
  import {
11
11
  installNetworkDefaults,
12
12
  isNetworkFailure
13
- } from "./chunk-CO6TQ44W.js";
13
+ } from "./chunk-B75SIY5C.js";
14
14
  import {
15
15
  clientReportClaims
16
- } from "./chunk-CHVXLS7U.js";
16
+ } from "./chunk-YCYFREHD.js";
17
17
  import {
18
18
  getApiKey,
19
19
  getBaseUrl
20
- } from "./chunk-NPZ5L2WQ.js";
20
+ } from "./chunk-TXDFQD2I.js";
21
21
  import {
22
22
  ASK_AGENT_NAME_MAX,
23
23
  CLIENT_REPORT_PATH,
@@ -26,7 +26,7 @@ import {
26
26
  TOOL_FAILURE_CODES,
27
27
  degradedLine,
28
28
  truncateLine
29
- } from "./chunk-OMN5UCMW.js";
29
+ } from "./chunk-OS32P4RZ.js";
30
30
 
31
31
  // src/api.ts
32
32
  import { randomUUID } from "crypto";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  pusharyFetch
3
- } from "./chunk-CO6TQ44W.js";
3
+ } from "./chunk-B75SIY5C.js";
4
4
  import {
5
5
  getBaseUrl
6
- } from "./chunk-NPZ5L2WQ.js";
6
+ } from "./chunk-TXDFQD2I.js";
7
7
  import {
8
8
  NetworkError
9
9
  } from "./chunk-PPY5N2E6.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  isValidApiKey,
15
15
  normalizeKeyScope
16
- } from "./chunk-OMN5UCMW.js";
16
+ } from "./chunk-OS32P4RZ.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;