pushary 1.9.144 → 1.9.145

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 (134) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/{api-ZV7TT25P.js → api-KWJQMO6G.js} +11 -11
  3. package/dist/bin/pushary-audit.js +3 -3
  4. package/dist/bin/pushary-bell-hook.js +28 -28
  5. package/dist/bin/pushary-bell.js +10 -10
  6. package/dist/bin/pushary-claude.js +27 -27
  7. package/dist/bin/pushary-clean.js +35 -35
  8. package/dist/bin/pushary-codex-bridge.js +23 -23
  9. package/dist/bin/pushary-codex-hook.js +35 -35
  10. package/dist/bin/pushary-codex-session.js +8 -8
  11. package/dist/bin/pushary-codex.js +16 -16
  12. package/dist/bin/pushary-connect.js +29 -29
  13. package/dist/bin/pushary-cowork.js +5 -5
  14. package/dist/bin/pushary-daemon.js +43 -43
  15. package/dist/bin/pushary-disconnect.js +28 -28
  16. package/dist/bin/pushary-display-hook.js +7 -0
  17. package/dist/bin/pushary-doctor.js +58 -43
  18. package/dist/bin/pushary-elicitation-hook.js +28 -28
  19. package/dist/bin/pushary-gemini-bridge.js +17 -17
  20. package/dist/bin/pushary-gemini-hook.js +32 -32
  21. package/dist/bin/pushary-hook.js +35 -35
  22. package/dist/bin/pushary-login.js +21 -21
  23. package/dist/bin/pushary-logout.js +27 -27
  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 +27 -27
  27. package/dist/bin/pushary-opencode-hook.js +31 -31
  28. package/dist/bin/pushary-permission-denied-hook.js +35 -35
  29. package/dist/bin/pushary-permission-hook.js +35 -35
  30. package/dist/bin/pushary-post-hook.js +28 -28
  31. package/dist/bin/pushary-prompt-hook.js +27 -27
  32. package/dist/bin/pushary-session-end-hook.js +27 -27
  33. package/dist/bin/pushary-session-start-hook.js +36 -36
  34. package/dist/bin/pushary-setup.js +119 -52
  35. package/dist/bin/pushary-stats.js +5 -5
  36. package/dist/bin/pushary-status.js +33 -33
  37. package/dist/bin/pushary-stop-hook.js +27 -27
  38. package/dist/bin/pushary-stopfailure-hook.js +27 -27
  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 +41 -41
  43. package/dist/bin/pushary-wait.js +15 -15
  44. package/dist/bin/pushary.js +7 -7
  45. package/dist/{chunk-MCI6KYN7.js → chunk-2ELNRGNX.js} +3 -3
  46. package/dist/{chunk-OZG6CGYW.js → chunk-2LGDEPVL.js} +6 -6
  47. package/dist/{chunk-5TZYAMGW.js → chunk-33BYPZ52.js} +1 -1
  48. package/dist/{chunk-LUVSHGLH.js → chunk-4KDRT3OA.js} +1 -1
  49. package/dist/{chunk-B4VIT5N3.js → chunk-4L5WPDTB.js} +1 -1
  50. package/dist/{chunk-BHNX7XNO.js → chunk-52UXNCZG.js} +3 -3
  51. package/dist/{chunk-56HFENZK.js → chunk-5TWW7ZUL.js} +5 -5
  52. package/dist/{chunk-CWWO3JTD.js → chunk-63WX5KZN.js} +3 -3
  53. package/dist/{chunk-Z2WQD2W6.js → chunk-6IWOMXUF.js} +4 -4
  54. package/dist/{chunk-R7FSMUHG.js → chunk-6LZ7MXHD.js} +2 -1
  55. package/dist/{chunk-EMODTMHE.js → chunk-6UK4K5RS.js} +1 -1
  56. package/dist/{chunk-RPXSGCRG.js → chunk-72LP4RPC.js} +2 -2
  57. package/dist/{chunk-WC25Z4XS.js → chunk-7LTP2GHO.js} +2 -2
  58. package/dist/{chunk-QESEICW4.js → chunk-A2H256WR.js} +1 -1
  59. package/dist/{chunk-23CGCD5L.js → chunk-B4JQIH5M.js} +6 -6
  60. package/dist/{chunk-4EBJ4PTZ.js → chunk-BWREST4F.js} +1 -1
  61. package/dist/{chunk-ZVJIJPQY.js → chunk-BYKRAYGD.js} +1 -1
  62. package/dist/{chunk-KEBI7NYU.js → chunk-CUR2DCZN.js} +4 -4
  63. package/dist/chunk-D3UFDCTQ.js +87 -0
  64. package/dist/{chunk-BE5LO5VW.js → chunk-DZIZ3XFL.js} +2 -2
  65. package/dist/{chunk-WTULK73V.js → chunk-EPWOARGR.js} +2 -2
  66. package/dist/{chunk-GV3FDGQH.js → chunk-FCSPMSDC.js} +4 -4
  67. package/dist/{chunk-ZGYGKKXF.js → chunk-FNAH3YJC.js} +16 -16
  68. package/dist/{chunk-ZKKZEVNI.js → chunk-G3VSMI7K.js} +2 -2
  69. package/dist/{chunk-LVOHE66T.js → chunk-GK5X2ZTN.js} +5 -5
  70. package/dist/{chunk-UK5DKLZY.js → chunk-GURIOZE7.js} +8 -8
  71. package/dist/{chunk-7VMVMC4H.js → chunk-HOQH5CLZ.js} +1 -1
  72. package/dist/{chunk-LS6BU5RM.js → chunk-IDLOJIIS.js} +1 -1
  73. package/dist/{chunk-P5QXH5QI.js → chunk-IIN26HL7.js} +1 -1
  74. package/dist/{chunk-22CXL7YI.js → chunk-IRPIMQ7U.js} +3 -3
  75. package/dist/{chunk-4JTZZXB3.js → chunk-JKWUF776.js} +3 -3
  76. package/dist/{chunk-7QWH257P.js → chunk-JZT2LPRM.js} +1 -1
  77. package/dist/{chunk-EY5CVFDL.js → chunk-K2SKUBYY.js} +12 -12
  78. package/dist/{chunk-EOKUIOMT.js → chunk-KFALRZIN.js} +4 -4
  79. package/dist/{chunk-AJQ4TTPJ.js → chunk-KGFB2LEB.js} +3 -3
  80. package/dist/{chunk-XLMJEEW3.js → chunk-KKPT7ROP.js} +2 -2
  81. package/dist/{chunk-5BTAIFVV.js → chunk-KS3PNTRT.js} +1 -1
  82. package/dist/{chunk-S7WVJ6AR.js → chunk-L4OGTRVW.js} +4 -4
  83. package/dist/{chunk-QLGLUUOP.js → chunk-LD4R2P6N.js} +1 -1
  84. package/dist/{chunk-YESBU4VQ.js → chunk-LJRPWUST.js} +3 -3
  85. package/dist/{chunk-DDJHPMBJ.js → chunk-LMU6NG2G.js} +1 -1
  86. package/dist/{chunk-C5LIS3XM.js → chunk-LQXUWXQP.js} +7 -0
  87. package/dist/{chunk-4524ZR2U.js → chunk-MKHVLDMN.js} +2 -2
  88. package/dist/{chunk-C6SKS6IU.js → chunk-MNU5N3CQ.js} +11 -11
  89. package/dist/{chunk-BHKODM4L.js → chunk-MOC2DN42.js} +2 -2
  90. package/dist/{chunk-44BLJJPH.js → chunk-NTMKJRQ3.js} +2 -2
  91. package/dist/{chunk-FC2ENROR.js → chunk-OONMKLUF.js} +4 -4
  92. package/dist/{chunk-5AXDNDUJ.js → chunk-PXZTCR4M.js} +2 -2
  93. package/dist/{chunk-EC7VHNHE.js → chunk-PY6CM4NK.js} +6 -6
  94. package/dist/{chunk-HNFYZPNJ.js → chunk-Q6P7G4NY.js} +4 -4
  95. package/dist/{chunk-3KRGT5AZ.js → chunk-QKTF7WS6.js} +67 -4
  96. package/dist/{chunk-WGOTBZ23.js → chunk-R34RWVN2.js} +6 -5
  97. package/dist/{chunk-HGIW56MU.js → chunk-RO6EVL5C.js} +2 -2
  98. package/dist/{chunk-JK7DTAQH.js → chunk-RWLNTZK5.js} +5 -5
  99. package/dist/{chunk-PYT4WXXR.js → chunk-S3A4PCRR.js} +10 -10
  100. package/dist/{chunk-YCU7Y77H.js → chunk-S7HGPKCL.js} +1 -1
  101. package/dist/{chunk-F37YD4YE.js → chunk-SQL5YXUH.js} +1 -1
  102. package/dist/{chunk-WTBFPSTR.js → chunk-TJXJGMSP.js} +4 -4
  103. package/dist/{chunk-44WPMZGQ.js → chunk-TRV3ETGY.js} +5 -5
  104. package/dist/{chunk-WWCM6UL7.js → chunk-USFZJAB4.js} +1 -1
  105. package/dist/{chunk-5I3UQEAX.js → chunk-VTJ4WZOC.js} +3 -3
  106. package/dist/{chunk-VP4T5352.js → chunk-WH4ODOCE.js} +6 -6
  107. package/dist/{chunk-YY5YVMBA.js → chunk-WMBWKPKJ.js} +5 -5
  108. package/dist/{chunk-HIIXYZYV.js → chunk-WOSO4YFQ.js} +3 -3
  109. package/dist/{chunk-WGT5LCIB.js → chunk-WPBWJMBZ.js} +5 -5
  110. package/dist/{chunk-CZOMD2IW.js → chunk-WUT3PO33.js} +8 -8
  111. package/dist/{chunk-AGUL2JDK.js → chunk-Y7INHH5G.js} +3 -3
  112. package/dist/{chunk-YD376BLV.js → chunk-YNCVSKUW.js} +5 -5
  113. package/dist/{chunk-E32SRYTE.js → chunk-YRJZF5RG.js} +3 -3
  114. package/dist/{chunk-74QCFZKV.js → chunk-YU5XE6VC.js} +6 -6
  115. package/dist/{chunk-YFK3MJGZ.js → chunk-YZA3YBHX.js} +2 -2
  116. package/dist/{chunk-53KLGXFL.js → chunk-ZBMVOMFG.js} +4 -3
  117. package/dist/{chunk-H33CFJOF.js → chunk-ZJZNT2G5.js} +4 -4
  118. package/dist/{chunk-6LALK6GI.js → chunk-ZORBUQFG.js} +2 -2
  119. package/dist/{chunk-CV4EIXPV.js → chunk-ZSOCJHL7.js} +188 -13
  120. package/dist/{codex-app-cards-switch-5PWB62W3.js → codex-app-cards-switch-F7WQ7Y3I.js} +11 -11
  121. package/dist/{codex-card-routing-I6YOJBTT.js → codex-card-routing-EVL5L36G.js} +2 -2
  122. package/dist/{codex-desktop-launch-BCPUKOCV.js → codex-desktop-launch-PL6Z2ELZ.js} +1 -1
  123. package/dist/{codex-session-launch-4ZUBROFZ.js → codex-session-launch-7NQEAUDU.js} +20 -20
  124. package/dist/{config-2CHOLFNB.js → config-KFFD4VWH.js} +3 -3
  125. package/dist/{global-upgrade-4IKWJHLE.js → global-upgrade-L3CY6EFF.js} +9 -9
  126. package/dist/{identity-I2VWLZAQ.js → identity-DPYYIMHL.js} +4 -4
  127. package/dist/{live-capabilities-4CLCROSP.js → live-capabilities-QJEXK6GH.js} +4 -4
  128. package/dist/{paths-YMHQKLFX.js → paths-PEF6C64P.js} +3 -3
  129. package/dist/{reapply-FBQ7VR6L.js → reapply-7APCQRRK.js} +29 -29
  130. package/dist/src/index.js +34 -34
  131. package/dist/{upgrade-lock-7ONNXM6V.js → upgrade-lock-A7OKXMRW.js} +4 -4
  132. package/dist/{usage-GWUTCS5A.js → usage-HSS33762.js} +3 -3
  133. package/package.json +1 -1
  134. package/dist/chunk-I6HXZIER.js +0 -31
@@ -22,7 +22,7 @@ import {
22
22
  runBrowserLogin,
23
23
  switchBackToTheShellKeyLine,
24
24
  wrongAccountHintPlacement
25
- } from "../chunk-H33CFJOF.js";
25
+ } from "../chunk-ZJZNT2G5.js";
26
26
  import {
27
27
  INSTALL_NODE_STEP,
28
28
  NPM_FILE_IN_USE_STEP,
@@ -36,23 +36,25 @@ import {
36
36
  renderCommandSurface,
37
37
  teamOfferLines,
38
38
  unverifiedKeyClosingReason
39
- } from "../chunk-WTBFPSTR.js";
39
+ } from "../chunk-TJXJGMSP.js";
40
40
  import {
41
41
  coworkOutput,
42
42
  coworkSelection
43
- } from "../chunk-4JTZZXB3.js";
43
+ } from "../chunk-JKWUF776.js";
44
44
  import "../chunk-PUZZELE6.js";
45
45
  import {
46
46
  readCodexHooksOnDisk
47
- } from "../chunk-UK5DKLZY.js";
48
- import "../chunk-44BLJJPH.js";
47
+ } from "../chunk-GURIOZE7.js";
48
+ import "../chunk-NTMKJRQ3.js";
49
49
  import {
50
50
  clearDeclinedAgent,
51
51
  declinedAgentForSetupChoice
52
- } from "../chunk-XLMJEEW3.js";
52
+ } from "../chunk-KKPT7ROP.js";
53
53
  import {
54
+ gateHermesShell,
55
+ readHermesShellGate,
54
56
  saveSetupFailure
55
- } from "../chunk-I6HXZIER.js";
57
+ } from "../chunk-D3UFDCTQ.js";
56
58
  import {
57
59
  CODEX_NEEDS_A_NEWER_VERSION,
58
60
  CODEX_SETTINGS_STOP_A_HOOK,
@@ -61,16 +63,19 @@ import {
61
63
  codexTrustOutcome,
62
64
  describeCodexTrustConfirmation,
63
65
  describeHermesInstallFailure,
66
+ describeHermesShellGate,
67
+ describeHermesShellGateFailure,
64
68
  describeHermesState,
69
+ hermesGateShellCommand,
65
70
  needsCodexTrustStep
66
- } from "../chunk-3KRGT5AZ.js";
71
+ } from "../chunk-QKTF7WS6.js";
67
72
  import {
68
73
  describeWaitLadder
69
74
  } from "../chunk-CVWG2N3Y.js";
70
75
  import {
71
76
  writeJsonError,
72
77
  writeStdoutFully
73
- } from "../chunk-QLGLUUOP.js";
78
+ } from "../chunk-LD4R2P6N.js";
74
79
  import {
75
80
  confirmAppConnection,
76
81
  connectDevice,
@@ -79,7 +84,7 @@ import {
79
84
  pairingEscapeApplies,
80
85
  printConnectInstructions,
81
86
  waitForYourPhone
82
- } from "../chunk-GV3FDGQH.js";
87
+ } from "../chunk-FCSPMSDC.js";
83
88
  import "../chunk-3EGEA4KH.js";
84
89
  import {
85
90
  SETUP_AGENT_NAME,
@@ -88,7 +93,7 @@ import {
88
93
  roundTripEvidence,
89
94
  roundTripWasAnswered,
90
95
  verifyRoundTrip
91
- } from "../chunk-EC7VHNHE.js";
96
+ } from "../chunk-PY6CM4NK.js";
92
97
  import {
93
98
  keepLinuxDaemonAfterLogout,
94
99
  lingerReportOf
@@ -96,10 +101,10 @@ import {
96
101
  import {
97
102
  readManagedControlEvidence,
98
103
  waitForMachineReadiness
99
- } from "../chunk-JK7DTAQH.js";
104
+ } from "../chunk-RWLNTZK5.js";
100
105
  import {
101
106
  ensureCodexTrustsPusharyHooks
102
- } from "../chunk-6LALK6GI.js";
107
+ } from "../chunk-ZORBUQFG.js";
103
108
  import {
104
109
  describeSetupSideEffects,
105
110
  installAgentSkill,
@@ -107,7 +112,7 @@ import {
107
112
  } from "../chunk-XR27HPYC.js";
108
113
  import {
109
114
  codexEngineBehindLauncher
110
- } from "../chunk-AJQ4TTPJ.js";
115
+ } from "../chunk-KGFB2LEB.js";
111
116
  import "../chunk-XCEN33UP.js";
112
117
  import {
113
118
  CURSOR_PLUGIN_BACKUP_INFIX,
@@ -117,7 +122,7 @@ import {
117
122
  soleGateFile,
118
123
  soleGateReceipt,
119
124
  soleGateReceiptFile
120
- } from "../chunk-Z2WQD2W6.js";
125
+ } from "../chunk-6IWOMXUF.js";
121
126
  import {
122
127
  describeDetection,
123
128
  detectAllAgents,
@@ -126,27 +131,30 @@ import {
126
131
  registerPluginLocation,
127
132
  shortenHome,
128
133
  vscodeSettingsTargets
129
- } from "../chunk-HNFYZPNJ.js";
134
+ } from "../chunk-Q6P7G4NY.js";
130
135
  import {
131
136
  mcpServerBearer,
132
137
  readMacAppAgentKey
133
- } from "../chunk-EOKUIOMT.js";
138
+ } from "../chunk-KFALRZIN.js";
134
139
  import {
135
140
  keyScopeOf
136
- } from "../chunk-YFK3MJGZ.js";
141
+ } from "../chunk-YZA3YBHX.js";
137
142
  import {
138
143
  HERMES_CONFIG_FILE,
144
+ HERMES_GATE_TOOLS_KEY,
145
+ HERMES_SHELL_TOOL,
139
146
  defaultHermesHome,
140
147
  findHermesLauncher,
141
148
  hermesPluginDirectory,
142
149
  hermesReceiptPaths,
150
+ hermesShellGateChoice,
143
151
  inspectHermesWiring,
144
152
  installHermesPlugin,
145
153
  isHermesWired,
146
154
  routesHermesQuestions,
147
155
  runsAnOlderPlugin,
148
156
  shippedHermesPlugin
149
- } from "../chunk-CV4EIXPV.js";
157
+ } from "../chunk-ZSOCJHL7.js";
150
158
  import {
151
159
  setHumanStream
152
160
  } from "../chunk-QCGNGEGE.js";
@@ -166,7 +174,7 @@ import {
166
174
  readFxProfileForSetup,
167
175
  withFxPusharyServer,
168
176
  writeFxProfile
169
- } from "../chunk-YD376BLV.js";
177
+ } from "../chunk-YNCVSKUW.js";
170
178
  import {
171
179
  AgentConfigError,
172
180
  afterAgentFailureNote,
@@ -179,10 +187,10 @@ import {
179
187
  retryAgentCommand,
180
188
  writeSetupConfigFile,
181
189
  writeSetupConfigJson
182
- } from "../chunk-MCI6KYN7.js";
190
+ } from "../chunk-2ELNRGNX.js";
183
191
  import {
184
192
  MCP_BRIDGE_BINARY
185
- } from "../chunk-BHNX7XNO.js";
193
+ } from "../chunk-52UXNCZG.js";
186
194
  import {
187
195
  OPENCODE_HOOK_BINARY,
188
196
  addOpenCodeMcpServer,
@@ -200,7 +208,7 @@ import {
200
208
  openCodePluginFile,
201
209
  openCodeWired,
202
210
  withOpenCodeAskRules
203
- } from "../chunk-LVOHE66T.js";
211
+ } from "../chunk-GK5X2ZTN.js";
204
212
  import {
205
213
  ansiPainter,
206
214
  createIo,
@@ -216,16 +224,16 @@ import {
216
224
  nodeCodexInstallProbe,
217
225
  phoneStartIsRequired,
218
226
  resolveControlPolicy
219
- } from "../chunk-AGUL2JDK.js";
227
+ } from "../chunk-Y7INHH5G.js";
220
228
  import {
221
229
  detectClaudeVersion
222
- } from "../chunk-BE5LO5VW.js";
230
+ } from "../chunk-DZIZ3XFL.js";
223
231
  import "../chunk-CYTPQDQY.js";
224
232
  import {
225
233
  describeAutoUpdateAnnouncement,
226
234
  takeAutoUpdateAnnouncement
227
- } from "../chunk-4524ZR2U.js";
228
- import "../chunk-S7WVJ6AR.js";
235
+ } from "../chunk-MKHVLDMN.js";
236
+ import "../chunk-L4OGTRVW.js";
229
237
  import "../chunk-VAE5JBR5.js";
230
238
  import "../chunk-G66WIAST.js";
231
239
  import {
@@ -241,7 +249,7 @@ import {
241
249
  compatibleRecord,
242
250
  compatibleTargetPaths,
243
251
  hasCompatibleHooks
244
- } from "../chunk-WGOTBZ23.js";
252
+ } from "../chunk-R34RWVN2.js";
245
253
  import {
246
254
  DAEMON_COLD_START_TIMEOUT_MS,
247
255
  clearDaemonNeedsLogin,
@@ -260,7 +268,7 @@ import {
260
268
  stopDaemonService,
261
269
  versionManagerOf,
262
270
  waitForDaemonRemoteProof
263
- } from "../chunk-VP4T5352.js";
271
+ } from "../chunk-WH4ODOCE.js";
264
272
  import {
265
273
  GEMINI_HOOK_BINARY,
266
274
  GEMINI_HOOK_EVENTS,
@@ -276,38 +284,38 @@ import {
276
284
  geminiWired,
277
285
  planHooks,
278
286
  pusharyHookExecutable
279
- } from "../chunk-KEBI7NYU.js";
287
+ } from "../chunk-CUR2DCZN.js";
280
288
  import {
281
289
  reportEvent
282
- } from "../chunk-EY5CVFDL.js";
283
- import "../chunk-7QWH257P.js";
290
+ } from "../chunk-K2SKUBYY.js";
291
+ import "../chunk-JZT2LPRM.js";
284
292
  import {
285
293
  AGENT_CHOICES,
286
294
  effectiveAgentSelection,
287
295
  effectiveControlMode,
288
296
  effectiveVerify,
289
297
  parseSetupOptions
290
- } from "../chunk-53KLGXFL.js";
291
- import "../chunk-F37YD4YE.js";
298
+ } from "../chunk-ZBMVOMFG.js";
299
+ import "../chunk-SQL5YXUH.js";
292
300
  import "../chunk-YPY4YCIZ.js";
293
301
  import "../chunk-XMSDA5WA.js";
294
302
  import {
295
303
  transcriptPreferenceForSetup
296
- } from "../chunk-7VMVMC4H.js";
297
- import "../chunk-EMODTMHE.js";
298
- import "../chunk-74QCFZKV.js";
304
+ } from "../chunk-HOQH5CLZ.js";
305
+ import "../chunk-6UK4K5RS.js";
306
+ import "../chunk-YU5XE6VC.js";
299
307
  import "../chunk-POFBE6ZY.js";
300
- import "../chunk-WGT5LCIB.js";
308
+ import "../chunk-WPBWJMBZ.js";
301
309
  import {
302
310
  checkApiKey,
303
311
  describeKeyCheck,
304
312
  samePusharyAccount
305
- } from "../chunk-E32SRYTE.js";
306
- import "../chunk-YESBU4VQ.js";
313
+ } from "../chunk-YRJZF5RG.js";
314
+ import "../chunk-LJRPWUST.js";
307
315
  import "../chunk-H6CL3T2S.js";
308
- import "../chunk-ZVJIJPQY.js";
309
- import "../chunk-YCU7Y77H.js";
310
- import "../chunk-5BTAIFVV.js";
316
+ import "../chunk-BYKRAYGD.js";
317
+ import "../chunk-S7HGPKCL.js";
318
+ import "../chunk-KS3PNTRT.js";
311
319
  import {
312
320
  UsageError
313
321
  } from "../chunk-YU2EUD7O.js";
@@ -327,8 +335,8 @@ import {
327
335
  resolveShellRc,
328
336
  shellKeyWasReplaced,
329
337
  writeKey
330
- } from "../chunk-HIIXYZYV.js";
331
- import "../chunk-BHKODM4L.js";
338
+ } from "../chunk-WOSO4YFQ.js";
339
+ import "../chunk-MOC2DN42.js";
332
340
  import {
333
341
  CLINE_AUTO_APPROVE_STEP,
334
342
  CLINE_RELOAD_STEP,
@@ -387,7 +395,7 @@ import {
387
395
  vscodePluginDir,
388
396
  vscodePluginMcp,
389
397
  writeInstructionBlock
390
- } from "../chunk-RPXSGCRG.js";
398
+ } from "../chunk-72LP4RPC.js";
391
399
  import {
392
400
  NpmMissingError,
393
401
  compareVersion,
@@ -398,10 +406,10 @@ import {
398
406
  plannedGlobalPackage,
399
407
  resolveGlobalBinDir,
400
408
  resolveGlobalBinary
401
- } from "../chunk-5I3UQEAX.js";
409
+ } from "../chunk-VTJ4WZOC.js";
402
410
  import {
403
411
  getBaseUrl
404
- } from "../chunk-4EBJ4PTZ.js";
412
+ } from "../chunk-BWREST4F.js";
405
413
  import {
406
414
  EXIT
407
415
  } from "../chunk-BG4HHB7E.js";
@@ -412,7 +420,7 @@ import {
412
420
  import {
413
421
  NPX_LATEST_COMMAND,
414
422
  renderCommandHelp
415
- } from "../chunk-R7FSMUHG.js";
423
+ } from "../chunk-6LZ7MXHD.js";
416
424
  import {
417
425
  getPackageVersion,
418
426
  isNewerVersion,
@@ -431,7 +439,7 @@ import {
431
439
  isRecord,
432
440
  isTimeoutAction,
433
441
  isValidApiKey
434
- } from "../chunk-C5LIS3XM.js";
442
+ } from "../chunk-LQXUWXQP.js";
435
443
  import {
436
444
  CODEX_ENGINE_DIRECTORY,
437
445
  CODEX_ENGINE_ENTRYPOINT,
@@ -1017,7 +1025,59 @@ var reportHermesInstall = (outcome, version) => {
1017
1025
  }
1018
1026
  };
1019
1027
  var hermesInspectionIsWired = (inspection) => inspection.kind === "inspected" && isHermesWired(inspection.state);
1020
- var setupHermes = async (_apiKey) => {
1028
+ var HERMES_SHELL_GATE_QUESTION = `Ask on your phone before every ${HERMES_SHELL_TOOL} command Hermes runs? That includes read-only ones like ls, so a busy agent asks often.`;
1029
+ var reportHermesShellGateOutcome = (outcome, receipts) => {
1030
+ switch (outcome.kind) {
1031
+ case "gated":
1032
+ console.log(` ${check} ${HERMES_GATE_TOOLS_KEY} is now ${bold(outcome.value)}. ${dim(`${NPX_LATEST_COMMAND} clean puts the old value back.`)}`);
1033
+ console.log(` ${yellow("!")} Restart Hermes so it reads the new setting: ${bold(HERMES_RESTART_COMMAND)}`);
1034
+ noteManual(`Restart Hermes so it gates ${HERMES_SHELL_TOOL} commands: ${HERMES_RESTART_COMMAND}`);
1035
+ return;
1036
+ case "already_gated":
1037
+ console.log(` ${check} ${HERMES_GATE_TOOLS_KEY} already includes ${HERMES_SHELL_TOOL}`);
1038
+ return;
1039
+ case "failed": {
1040
+ const message = describeHermesShellGateFailure(outcome.reason, shortenHome(receipts.receiptPath));
1041
+ console.log(` ${yellow("!")} ${message}`);
1042
+ noteManual(message);
1043
+ }
1044
+ }
1045
+ };
1046
+ var reportHermesShellGateWithoutOffer = (state, report, choice) => {
1047
+ if (report.tone === "warn") {
1048
+ console.log();
1049
+ console.log(` ${yellow("!")} ${report.label}`);
1050
+ console.log(` ${dim(`${report.detail}. To fix it, ${report.fix}.`)}`);
1051
+ noteManual(`${report.label}: ${report.fix}`);
1052
+ return;
1053
+ }
1054
+ if (state.kind === "pushary_gates") {
1055
+ console.log(` ${check} ${report.label} ${dim(`(${report.detail})`)}`);
1056
+ return;
1057
+ }
1058
+ if (choice === "apply") console.log(` ${dim(`${report.label} (${report.detail}), so ${HERMES_GATE_TOOLS_KEY} was left as it is.`)}`);
1059
+ };
1060
+ var offerHermesShellGate = async (choice, receipts) => {
1061
+ const launcher = findHermesLauncher();
1062
+ if (!launcher) return;
1063
+ const state = await readHermesShellGate(launcher);
1064
+ const report = describeHermesShellGate(state);
1065
+ if (state.kind !== "ungated") {
1066
+ reportHermesShellGateWithoutOffer(state, report, choice);
1067
+ return;
1068
+ }
1069
+ console.log();
1070
+ console.log(` ${yellow("!")} ${report.label}`);
1071
+ console.log(` ${dim(`${report.detail}.`)}`);
1072
+ const wanted = choice === "apply" || choice === "ask" && await confirm({ message: HERMES_SHELL_GATE_QUESTION, default: false });
1073
+ if (!wanted) {
1074
+ console.log(` ${dim("To gate them later:")} ${bold(hermesGateShellCommand())}`);
1075
+ noteManual(`To gate Hermes ${HERMES_SHELL_TOOL} commands on the ${state.backend} backend: ${hermesGateShellCommand()}`);
1076
+ return;
1077
+ }
1078
+ reportHermesShellGateOutcome(await gateHermesShell({ launcher, receipts }), receipts);
1079
+ };
1080
+ var setupHermes = async (_apiKey, context) => {
1021
1081
  console.log(`
1022
1082
  ${bold("Setting up Hermes Agent")}
1023
1083
  `);
@@ -1044,6 +1104,7 @@ var setupHermes = async (_apiKey) => {
1044
1104
  return "skipped";
1045
1105
  }
1046
1106
  reportHermesInstall(outcome, plugin.version);
1107
+ await offerHermesShellGate(context.hermesShellGate, receipts);
1047
1108
  return hermesInspectionIsWired(outcome.inspection) ? "verified" : "configured";
1048
1109
  };
1049
1110
  var CODEX_HOOKS_JSON = join4(CODEX_HOME, "hooks.json");
@@ -2506,7 +2567,13 @@ var main = async () => {
2506
2567
  if (keyCheck.kind === "ok") clearDaemonNeedsLogin();
2507
2568
  markStep("resolve-agents");
2508
2569
  const agents = await resolveAgents(options, { paired: keyFromPairing });
2509
- const context = { rc };
2570
+ const context = {
2571
+ rc,
2572
+ hermesShellGate: hermesShellGateChoice({
2573
+ requested: options.hermesGateTerminal,
2574
+ canAsk: canAskAtTheTerminal({ stdoutIsTty: process.stdout.isTTY === true, nonInteractive: options.nonInteractive, dryRun: options.dryRun })
2575
+ })
2576
+ };
2510
2577
  const accountChecks = /* @__PURE__ */ new Map();
2511
2578
  if (keyCheck) accountChecks.set(trimmedKey, Promise.resolve(keyCheck));
2512
2579
  const accountCheckFor = (key) => {
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  exitOnHelpFlag
4
- } from "../chunk-QESEICW4.js";
4
+ } from "../chunk-A2H256WR.js";
5
5
  import {
6
6
  readLedgerSummary
7
- } from "../chunk-5TZYAMGW.js";
7
+ } from "../chunk-33BYPZ52.js";
8
8
  import {
9
9
  getApiKey
10
- } from "../chunk-4EBJ4PTZ.js";
10
+ } from "../chunk-BWREST4F.js";
11
11
  import "../chunk-BG4HHB7E.js";
12
- import "../chunk-R7FSMUHG.js";
12
+ import "../chunk-6LZ7MXHD.js";
13
13
  import "../chunk-WIIMW5YO.js";
14
- import "../chunk-C5LIS3XM.js";
14
+ import "../chunk-LQXUWXQP.js";
15
15
  import "../chunk-MLKGABMK.js";
16
16
 
17
17
  // bin/pushary-stats.ts
@@ -1,82 +1,82 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  writeJsonError
4
- } from "../chunk-QLGLUUOP.js";
4
+ } from "../chunk-LD4R2P6N.js";
5
5
  import {
6
6
  fetchChannels
7
- } from "../chunk-GV3FDGQH.js";
7
+ } from "../chunk-FCSPMSDC.js";
8
8
  import "../chunk-3EGEA4KH.js";
9
9
  import {
10
10
  describeReach,
11
11
  reachVerdict
12
- } from "../chunk-EC7VHNHE.js";
12
+ } from "../chunk-PY6CM4NK.js";
13
13
  import {
14
14
  describeLastSeen,
15
15
  listMachines
16
- } from "../chunk-JK7DTAQH.js";
16
+ } from "../chunk-RWLNTZK5.js";
17
17
  import {
18
18
  SIGNED_OUT_ON_MAC_MESSAGE,
19
19
  activeKeyVerdictOf,
20
20
  describeSignedOutKey,
21
21
  readSignedOutDiagnosis
22
- } from "../chunk-ZKKZEVNI.js";
22
+ } from "../chunk-G3VSMI7K.js";
23
23
  import {
24
24
  CONNECTED_THROUGH_MAC_APP,
25
25
  keyWrittenByMacApp,
26
26
  readMacAppConnectionWhenKeyless
27
- } from "../chunk-EOKUIOMT.js";
28
- import "../chunk-YFK3MJGZ.js";
27
+ } from "../chunk-KFALRZIN.js";
28
+ import "../chunk-YZA3YBHX.js";
29
29
  import "../chunk-QCGNGEGE.js";
30
- import "../chunk-LVOHE66T.js";
30
+ import "../chunk-GK5X2ZTN.js";
31
31
  import {
32
32
  createIo
33
33
  } from "../chunk-FO3MDD26.js";
34
34
  import {
35
35
  exitOnHelpFlag
36
- } from "../chunk-QESEICW4.js";
37
- import "../chunk-AGUL2JDK.js";
38
- import "../chunk-BE5LO5VW.js";
36
+ } from "../chunk-A2H256WR.js";
37
+ import "../chunk-Y7INHH5G.js";
38
+ import "../chunk-DZIZ3XFL.js";
39
39
  import "../chunk-CYTPQDQY.js";
40
- import "../chunk-WGOTBZ23.js";
41
- import "../chunk-VP4T5352.js";
42
- import "../chunk-KEBI7NYU.js";
43
- import "../chunk-EY5CVFDL.js";
44
- import "../chunk-7QWH257P.js";
45
- import "../chunk-53KLGXFL.js";
46
- import "../chunk-F37YD4YE.js";
40
+ import "../chunk-R34RWVN2.js";
41
+ import "../chunk-WH4ODOCE.js";
42
+ import "../chunk-CUR2DCZN.js";
43
+ import "../chunk-K2SKUBYY.js";
44
+ import "../chunk-JZT2LPRM.js";
45
+ import "../chunk-ZBMVOMFG.js";
46
+ import "../chunk-SQL5YXUH.js";
47
47
  import {
48
48
  rejectUnknownFlags
49
49
  } from "../chunk-YPY4YCIZ.js";
50
- import "../chunk-EMODTMHE.js";
51
- import "../chunk-74QCFZKV.js";
50
+ import "../chunk-6UK4K5RS.js";
51
+ import "../chunk-YU5XE6VC.js";
52
52
  import "../chunk-POFBE6ZY.js";
53
- import "../chunk-WGT5LCIB.js";
53
+ import "../chunk-WPBWJMBZ.js";
54
54
  import {
55
55
  checkApiKey,
56
56
  describeKeyCheck
57
- } from "../chunk-E32SRYTE.js";
58
- import "../chunk-YESBU4VQ.js";
57
+ } from "../chunk-YRJZF5RG.js";
58
+ import "../chunk-LJRPWUST.js";
59
59
  import "../chunk-H6CL3T2S.js";
60
- import "../chunk-ZVJIJPQY.js";
61
- import "../chunk-YCU7Y77H.js";
62
- import "../chunk-5BTAIFVV.js";
60
+ import "../chunk-BYKRAYGD.js";
61
+ import "../chunk-S7HGPKCL.js";
62
+ import "../chunk-KS3PNTRT.js";
63
63
  import {
64
64
  UsageError
65
65
  } from "../chunk-YU2EUD7O.js";
66
66
  import {
67
67
  readKeySource
68
- } from "../chunk-HIIXYZYV.js";
69
- import "../chunk-BHKODM4L.js";
70
- import "../chunk-RPXSGCRG.js";
71
- import "../chunk-5I3UQEAX.js";
72
- import "../chunk-4EBJ4PTZ.js";
68
+ } from "../chunk-WOSO4YFQ.js";
69
+ import "../chunk-MOC2DN42.js";
70
+ import "../chunk-72LP4RPC.js";
71
+ import "../chunk-VTJ4WZOC.js";
72
+ import "../chunk-BWREST4F.js";
73
73
  import {
74
74
  EXIT
75
75
  } from "../chunk-BG4HHB7E.js";
76
76
  import "../chunk-TODDEIYG.js";
77
- import "../chunk-R7FSMUHG.js";
77
+ import "../chunk-6LZ7MXHD.js";
78
78
  import "../chunk-WIIMW5YO.js";
79
- import "../chunk-C5LIS3XM.js";
79
+ import "../chunk-LQXUWXQP.js";
80
80
  import "../chunk-MLKGABMK.js";
81
81
 
82
82
  // src/status.ts
@@ -1,51 +1,51 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-56HFENZK.js";
5
- import "../chunk-S7WVJ6AR.js";
6
- import "../chunk-PYT4WXXR.js";
4
+ } from "../chunk-5TWW7ZUL.js";
5
+ import "../chunk-L4OGTRVW.js";
6
+ import "../chunk-S3A4PCRR.js";
7
7
  import "../chunk-VAE5JBR5.js";
8
8
  import "../chunk-G66WIAST.js";
9
9
  import {
10
10
  activeHookSource,
11
11
  activeIdentity
12
- } from "../chunk-WGOTBZ23.js";
13
- import "../chunk-VP4T5352.js";
14
- import "../chunk-KEBI7NYU.js";
12
+ } from "../chunk-R34RWVN2.js";
13
+ import "../chunk-WH4ODOCE.js";
14
+ import "../chunk-CUR2DCZN.js";
15
15
  import {
16
16
  emitHookOutput,
17
17
  handleStop,
18
18
  handleSubagentStop,
19
19
  isSubagentStop
20
- } from "../chunk-EY5CVFDL.js";
21
- import "../chunk-7QWH257P.js";
22
- import "../chunk-53KLGXFL.js";
23
- import "../chunk-F37YD4YE.js";
20
+ } from "../chunk-K2SKUBYY.js";
21
+ import "../chunk-JZT2LPRM.js";
22
+ import "../chunk-ZBMVOMFG.js";
23
+ import "../chunk-SQL5YXUH.js";
24
24
  import "../chunk-YPY4YCIZ.js";
25
- import "../chunk-22CXL7YI.js";
25
+ import "../chunk-IRPIMQ7U.js";
26
26
  import "../chunk-XMSDA5WA.js";
27
- import "../chunk-7VMVMC4H.js";
28
- import "../chunk-EMODTMHE.js";
29
- import "../chunk-74QCFZKV.js";
27
+ import "../chunk-HOQH5CLZ.js";
28
+ import "../chunk-6UK4K5RS.js";
29
+ import "../chunk-YU5XE6VC.js";
30
30
  import "../chunk-POFBE6ZY.js";
31
- import "../chunk-WGT5LCIB.js";
32
- import "../chunk-E32SRYTE.js";
33
- import "../chunk-YESBU4VQ.js";
31
+ import "../chunk-WPBWJMBZ.js";
32
+ import "../chunk-YRJZF5RG.js";
33
+ import "../chunk-LJRPWUST.js";
34
34
  import "../chunk-H6CL3T2S.js";
35
- import "../chunk-ZVJIJPQY.js";
36
- import "../chunk-YCU7Y77H.js";
37
- import "../chunk-5BTAIFVV.js";
35
+ import "../chunk-BYKRAYGD.js";
36
+ import "../chunk-S7HGPKCL.js";
37
+ import "../chunk-KS3PNTRT.js";
38
38
  import "../chunk-YU2EUD7O.js";
39
- import "../chunk-HIIXYZYV.js";
40
- import "../chunk-BHKODM4L.js";
41
- import "../chunk-RPXSGCRG.js";
42
- import "../chunk-5I3UQEAX.js";
43
- import "../chunk-4EBJ4PTZ.js";
39
+ import "../chunk-WOSO4YFQ.js";
40
+ import "../chunk-MOC2DN42.js";
41
+ import "../chunk-72LP4RPC.js";
42
+ import "../chunk-VTJ4WZOC.js";
43
+ import "../chunk-BWREST4F.js";
44
44
  import "../chunk-BG4HHB7E.js";
45
45
  import "../chunk-TODDEIYG.js";
46
- import "../chunk-R7FSMUHG.js";
46
+ import "../chunk-6LZ7MXHD.js";
47
47
  import "../chunk-WIIMW5YO.js";
48
- import "../chunk-C5LIS3XM.js";
48
+ import "../chunk-LQXUWXQP.js";
49
49
  import "../chunk-MLKGABMK.js";
50
50
 
51
51
  // bin/pushary-stop-hook.ts