@pushary/agent-hooks 1.3.1 → 1.4.1

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 (84) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +1 -1
  3. package/dist/bin/pushary-bell-hook.js +18 -18
  4. package/dist/bin/pushary-bell.js +8 -8
  5. package/dist/bin/pushary-claude.js +18 -18
  6. package/dist/bin/pushary-clean.js +490 -95
  7. package/dist/bin/pushary-codex-bridge.js +10 -10
  8. package/dist/bin/pushary-codex-hook.js +28 -26
  9. package/dist/bin/pushary-codex.js +6 -6
  10. package/dist/bin/pushary-connect.js +8 -8
  11. package/dist/bin/pushary-cowork.js +5 -5
  12. package/dist/bin/pushary-daemon.js +24 -24
  13. package/dist/bin/pushary-disconnect.js +12 -12
  14. package/dist/bin/pushary-doctor.js +75 -26
  15. package/dist/bin/pushary-elicitation-hook.js +17 -17
  16. package/dist/bin/pushary-gemini-bridge.js +9 -9
  17. package/dist/bin/pushary-gemini-hook.js +19 -19
  18. package/dist/bin/pushary-hook.js +27 -27
  19. package/dist/bin/pushary-login.js +9 -9
  20. package/dist/bin/pushary-logout.js +6 -6
  21. package/dist/bin/pushary-mode.js +5 -5
  22. package/dist/bin/pushary-notification-hook.js +20 -20
  23. package/dist/bin/pushary-opencode-hook.js +19 -19
  24. package/dist/bin/pushary-permission-denied-hook.js +24 -24
  25. package/dist/bin/pushary-permission-hook.js +25 -25
  26. package/dist/bin/pushary-post-hook.js +20 -20
  27. package/dist/bin/pushary-prompt-hook.js +20 -20
  28. package/dist/bin/pushary-session-end-hook.js +20 -20
  29. package/dist/bin/pushary-session-start-hook.js +22 -22
  30. package/dist/bin/pushary-setup.js +38 -59
  31. package/dist/bin/pushary-stats.js +4 -4
  32. package/dist/bin/pushary-status.js +12 -12
  33. package/dist/bin/pushary-stop-hook.js +20 -20
  34. package/dist/bin/pushary-stopfailure-hook.js +20 -20
  35. package/dist/bin/pushary-suggestions.js +2 -2
  36. package/dist/bin/pushary-transcript-register.js +16 -16
  37. package/dist/bin/pushary-transcripts.js +6 -6
  38. package/dist/bin/pushary-upgrade.js +16 -16
  39. package/dist/bin/pushary-wait.js +5 -5
  40. package/dist/bin/pushary.js +1 -1
  41. package/dist/{chunk-RERJ2ZDV.js → chunk-2GMI6JH6.js} +5 -5
  42. package/dist/{chunk-AFOTOA24.js → chunk-37VLIYLI.js} +35 -4
  43. package/dist/{chunk-6HH4IH4K.js → chunk-3BPB2HYZ.js} +3 -3
  44. package/dist/{chunk-465UENKO.js → chunk-3T52B2OF.js} +1 -1
  45. package/dist/{chunk-PEV6ULSM.js → chunk-3UA6FPRC.js} +3 -3
  46. package/dist/{chunk-QDYJQLXT.js → chunk-43JKGLZZ.js} +2 -2
  47. package/dist/{chunk-CKLWJ6EL.js → chunk-4FN6VV56.js} +33 -7
  48. package/dist/{chunk-HCTSTMDD.js → chunk-ALFT7H5B.js} +3 -3
  49. package/dist/{chunk-35RPUNYU.js → chunk-BZBUPZC6.js} +1 -1
  50. package/dist/{chunk-CDSL3LLO.js → chunk-CRNAXFQ6.js} +1 -1
  51. package/dist/{chunk-NDSOOJDX.js → chunk-D7ERHWYB.js} +1 -1
  52. package/dist/{chunk-KHGIM2BN.js → chunk-ED5TA2FJ.js} +3 -3
  53. package/dist/{chunk-LZQVAEWP.js → chunk-FAH3D74E.js} +2 -1
  54. package/dist/{chunk-5UWDYOZX.js → chunk-FVKFDTN6.js} +81 -8
  55. package/dist/{chunk-I2OLM3DM.js → chunk-GOFDGTEI.js} +62 -12
  56. package/dist/{chunk-JZA2JOGO.js → chunk-HK3IXIQJ.js} +1 -1
  57. package/dist/{chunk-LWT34GSY.js → chunk-HQLAZWJJ.js} +7 -7
  58. package/dist/{chunk-5XKMOZO6.js → chunk-I6HRQOMT.js} +4 -4
  59. package/dist/{chunk-EAGMQMRM.js → chunk-JOVWYVSR.js} +1 -1
  60. package/dist/{chunk-5WLH2ENB.js → chunk-K6I5M2ME.js} +1 -1
  61. package/dist/{chunk-REIZ5GXG.js → chunk-KEMEBTCJ.js} +4 -4
  62. package/dist/{chunk-PHXU4NOP.js → chunk-KI36MAT6.js} +2 -2
  63. package/dist/{chunk-WOBHHXW5.js → chunk-LNGYW6G4.js} +5 -4
  64. package/dist/{chunk-AFKOWCMQ.js → chunk-LUT2EZLG.js} +1 -1
  65. package/dist/{chunk-KLZJEMSE.js → chunk-LYXX5NSB.js} +1 -1
  66. package/dist/{chunk-YXWM4TNX.js → chunk-MN3XOVRK.js} +1 -1
  67. package/dist/{chunk-XOUQUZ43.js → chunk-PHHGHHOW.js} +1 -1
  68. package/dist/{chunk-TW7KA27C.js → chunk-QBS6LGEK.js} +1 -1
  69. package/dist/{chunk-FGNABUPN.js → chunk-R3AMKNIW.js} +1 -1
  70. package/dist/{chunk-TGG4FWWB.js → chunk-S3EP4B35.js} +2 -2
  71. package/dist/{chunk-34NNTYK6.js → chunk-SAF6NNXY.js} +1 -1
  72. package/dist/{chunk-R5CU7ED6.js → chunk-SKXLIVFM.js} +1 -1
  73. package/dist/{chunk-OMP3KDDU.js → chunk-SWFF5U2N.js} +1 -1
  74. package/dist/{chunk-QOCWB4Q6.js → chunk-TF4IOINR.js} +3 -3
  75. package/dist/{chunk-5SALHATY.js → chunk-TI3ZWXZG.js} +11 -2
  76. package/dist/{chunk-P232YODQ.js → chunk-TNS3YLFE.js} +6 -6
  77. package/dist/{chunk-GOQHN2UH.js → chunk-TWWLVOPB.js} +1 -1
  78. package/dist/{chunk-XVE52YFZ.js → chunk-VYUDGQM7.js} +1 -1
  79. package/dist/{chunk-XP2KRTZD.js → chunk-WEO5JCB4.js} +1 -1
  80. package/dist/{chunk-SGZE2JBF.js → chunk-WIOXWUUH.js} +3 -3
  81. package/dist/{reapply-ADFRVH5N.js → reapply-BAWDJTG7.js} +8 -8
  82. package/dist/src/index.d.ts +19 -16
  83. package/dist/src/index.js +12 -12
  84. package/package.json +1 -1
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  readMachineReadiness,
11
11
  readManagedControlEvidence
12
- } from "../chunk-5XKMOZO6.js";
12
+ } from "../chunk-I6HRQOMT.js";
13
13
  import {
14
14
  CURSOR_GATE_SCRIPT
15
15
  } from "../chunk-P32LPT2L.js";
@@ -22,35 +22,35 @@ import {
22
22
  isPluginRegistered,
23
23
  shortenHome,
24
24
  vscodeSettingsTargets
25
- } from "../chunk-PEV6ULSM.js";
25
+ } from "../chunk-3UA6FPRC.js";
26
26
  import {
27
27
  OPENCODE_PLUGIN_PLACEHOLDER,
28
28
  openCodePluginDir,
29
29
  openCodePluginFile,
30
30
  openCodeWired
31
- } from "../chunk-XVE52YFZ.js";
31
+ } from "../chunk-VYUDGQM7.js";
32
32
  import {
33
33
  compatibleConfigFile,
34
34
  compatibleInstructionsFile,
35
35
  compatibleMcpFile,
36
36
  hasCompatibleHooks,
37
37
  missingCompatibleHookEvents
38
- } from "../chunk-LWT34GSY.js";
39
- import "../chunk-SGZE2JBF.js";
38
+ } from "../chunk-HQLAZWJJ.js";
39
+ import "../chunk-WIOXWUUH.js";
40
40
  import {
41
41
  detectProviderLiveCapabilities,
42
42
  hasSpawnProvider,
43
43
  resolveControlPolicy
44
- } from "../chunk-PHXU4NOP.js";
44
+ } from "../chunk-KI36MAT6.js";
45
45
  import {
46
46
  readLedgerSummary
47
- } from "../chunk-OMP3KDDU.js";
47
+ } from "../chunk-SWFF5U2N.js";
48
48
  import {
49
49
  describeBridgeResolution,
50
50
  isBridgeLocator,
51
51
  liveBridgeProbe,
52
52
  resolveBridgeStub
53
- } from "../chunk-KLZJEMSE.js";
53
+ } from "../chunk-LYXX5NSB.js";
54
54
  import {
55
55
  claudeOtherHolders,
56
56
  claudeUnprovenHolds,
@@ -67,7 +67,7 @@ import {
67
67
  geminiWired,
68
68
  holdsLong,
69
69
  pusharyHookExecutable
70
- } from "../chunk-QOCWB4Q6.js";
70
+ } from "../chunk-TF4IOINR.js";
71
71
  import {
72
72
  daemonHasRemoteProof,
73
73
  daemonServiceManagerAvailable,
@@ -76,19 +76,19 @@ import {
76
76
  readDaemonNeedsLogin,
77
77
  readDaemonStatus,
78
78
  readInstalledDaemonService
79
- } from "../chunk-6HH4IH4K.js";
79
+ } from "../chunk-3BPB2HYZ.js";
80
80
  import {
81
81
  GEMINI_HOOK_BINARY,
82
82
  hasGeminiHooks,
83
83
  missingGeminiHookEvents
84
- } from "../chunk-KHGIM2BN.js";
84
+ } from "../chunk-ED5TA2FJ.js";
85
85
  import "../chunk-XHKBHWLX.js";
86
- import "../chunk-WOBHHXW5.js";
87
- import "../chunk-XP2KRTZD.js";
86
+ import "../chunk-LNGYW6G4.js";
87
+ import "../chunk-WEO5JCB4.js";
88
88
  import "../chunk-LGXUGYUH.js";
89
89
  import {
90
90
  getMachineId
91
- } from "../chunk-465UENKO.js";
91
+ } from "../chunk-3T52B2OF.js";
92
92
  import {
93
93
  CODEX_HOOK_EVENTS,
94
94
  claudeJson,
@@ -111,7 +111,7 @@ import {
111
111
  pusharyConfigFile,
112
112
  readCodexMcpAuth,
113
113
  vscodePluginDir
114
- } from "../chunk-34NNTYK6.js";
114
+ } from "../chunk-SAF6NNXY.js";
115
115
  import {
116
116
  describeReach,
117
117
  describeRoundTrip,
@@ -119,20 +119,20 @@ import {
119
119
  reachVerdict,
120
120
  roundTripEvidence,
121
121
  verifyRoundTrip
122
- } from "../chunk-TGG4FWWB.js";
122
+ } from "../chunk-S3EP4B35.js";
123
123
  import "../chunk-3EGEA4KH.js";
124
124
  import {
125
125
  checkApiKey,
126
126
  describeKeyCheck
127
- } from "../chunk-TW7KA27C.js";
127
+ } from "../chunk-QBS6LGEK.js";
128
128
  import "../chunk-QCGNGEGE.js";
129
129
  import {
130
130
  createIo
131
131
  } from "../chunk-5RUIFDTP.js";
132
132
  import {
133
133
  exitOnHelpFlag
134
- } from "../chunk-GOQHN2UH.js";
135
- import "../chunk-LZQVAEWP.js";
134
+ } from "../chunk-TWWLVOPB.js";
135
+ import "../chunk-FAH3D74E.js";
136
136
  import {
137
137
  parseFlags
138
138
  } from "../chunk-GMXKITVA.js";
@@ -143,7 +143,7 @@ import {
143
143
  keyPrefix,
144
144
  readControlMode,
145
145
  readKeySource
146
- } from "../chunk-5SALHATY.js";
146
+ } from "../chunk-TI3ZWXZG.js";
147
147
  import {
148
148
  callMcpTool,
149
149
  sendMcpRequest
@@ -155,7 +155,7 @@ import {
155
155
  import {
156
156
  EXIT
157
157
  } from "../chunk-KZERVKTD.js";
158
- import "../chunk-5WLH2ENB.js";
158
+ import "../chunk-K6I5M2ME.js";
159
159
  import "../chunk-T7E75EKA.js";
160
160
  import {
161
161
  getBaseUrl
@@ -165,10 +165,13 @@ import {
165
165
  CURSOR_GATE_EVENTS,
166
166
  HOOK_COMPATIBLE_PROFILES,
167
167
  HOOK_LOCATOR_BINARY,
168
+ HOOK_SOURCES,
169
+ SUPPORT_DISCORD,
170
+ SUPPORT_EMAIL,
168
171
  hookActivationResult,
169
172
  hookCompatibleProfile,
170
173
  isHookActivationReport
171
- } from "../chunk-5UWDYOZX.js";
174
+ } from "../chunk-FVKFDTN6.js";
172
175
 
173
176
  // bin/pushary-doctor.ts
174
177
  import { existsSync, readFileSync, writeFileSync } from "fs";
@@ -251,9 +254,54 @@ var rewriterMechanism = ({ rewriter }) => `${rewriter.label} ${rewriter.what}.`;
251
254
  var rewriterRemedy = ({ state }) => state === "armed" ? 'Tick "Apply Common Config" on the provider so a switch keeps them, or re-run setup after each switch' : 'Re-run setup to put them back, then tick "Apply Common Config" on the provider so a switch keeps them';
252
255
 
253
256
  // src/diagnostics/inert-registrations.ts
254
- var PUSHARY_AGENT_FLAG_PATTERN = /pushary[^"'\n]*?--agent=([A-Za-z0-9_-]*)/g;
255
- var pusharyAgentsNamedIn = (contents) => [...new Set([...contents.matchAll(PUSHARY_AGENT_FLAG_PATTERN)].map((match) => match[1] ?? ""))];
256
- var inertRegistrations = (configs, resolves) => configs.flatMap(({ file, contents }) => pusharyAgentsNamedIn(contents).filter((named) => !resolves(named)).map((named) => ({ file, named })));
257
+ var REGISTRATION_FLAGS = ["agent", "source"];
258
+ var FLAG_PATTERNS = {
259
+ agent: /--agent(?:=|\s+)([A-Za-z0-9_-]*)/g,
260
+ source: /--source(?:=|\s+)([A-Za-z0-9_-]*)/g
261
+ };
262
+ function collectHookCommands(value) {
263
+ if (value === null || typeof value !== "object") return [];
264
+ const commands = [];
265
+ for (const [key, nested] of Object.entries(value)) {
266
+ if (key === "command" && typeof nested === "string") commands.push(nested);
267
+ else commands.push(...collectHookCommands(nested));
268
+ }
269
+ return commands;
270
+ }
271
+ function readHookCommands(contents) {
272
+ try {
273
+ return collectHookCommands(JSON.parse(contents));
274
+ } catch {
275
+ return contents.split("\n");
276
+ }
277
+ }
278
+ function registeredNames(contents, flag) {
279
+ const names = /* @__PURE__ */ new Set();
280
+ for (const command of readHookCommands(contents)) {
281
+ if (pusharyHookExecutable(command) === null) continue;
282
+ for (const match of command.matchAll(FLAG_PATTERNS[flag])) names.add(match[1] ?? "");
283
+ }
284
+ return [...names];
285
+ }
286
+ function pusharyAgentsNamedIn(contents) {
287
+ return registeredNames(contents, "agent");
288
+ }
289
+ function resolvesHookRegistration(name, flag) {
290
+ if (flag === "agent") return hookCompatibleProfile(name) !== void 0;
291
+ return HOOK_SOURCES.includes(name);
292
+ }
293
+ function inertRegistrations(configs, resolves) {
294
+ const findings = [];
295
+ for (const config of configs) {
296
+ for (const flag of REGISTRATION_FLAGS) {
297
+ const names = flag === "agent" ? pusharyAgentsNamedIn(config.contents) : registeredNames(config.contents, flag);
298
+ for (const name of names) {
299
+ if (!resolves(name, flag)) findings.push({ file: config.file, named: name });
300
+ }
301
+ }
302
+ }
303
+ return findings;
304
+ }
257
305
  var describeInertRegistration = ({ named }) => `hooks here are registered for "${named}", which this CLI has no profile for, so every one of them stands aside`;
258
306
  var inertRegistrationRemedy = () => "Upgrade with npx @pushary/agent-hooks@latest upgrade, or re-run setup to rewrite them for an agent this version knows";
259
307
 
@@ -711,7 +759,7 @@ var main = async () => {
711
759
  } else {
712
760
  skipped("Gemini CLI", installed("gemini_cli") ? "installed, but Pushary is not set up for it" : "not installed");
713
761
  }
714
- for (const finding of inertRegistrations(registeredConfigs(), (named) => hookCompatibleProfile(named) !== void 0)) {
762
+ for (const finding of inertRegistrations(registeredConfigs(), resolvesHookRegistration)) {
715
763
  console.log(` ${warn} ${shortenHome(finding.file)}: ${describeInertRegistration(finding)}`);
716
764
  console.log(` ${dim(inertRegistrationRemedy())}`);
717
765
  }
@@ -1163,6 +1211,7 @@ var main = async () => {
1163
1211
  }
1164
1212
  console.log();
1165
1213
  console.log(` ${dim("Run")} ${cyan("npx @pushary/agent-hooks@latest clean")} ${dim("then")} ${cyan("setup")} ${dim("to fix.")}`);
1214
+ console.log(` ${dim("Still failing after that? Send this report to")} ${cyan(SUPPORT_EMAIL)} ${dim("or ask on")} ${cyan(SUPPORT_DISCORD)}`);
1166
1215
  }
1167
1216
  console.log();
1168
1217
  const keyExit = keyVerdict && (keyVerdict.kind === "rejected" || keyVerdict.kind === "locked" || keyVerdict.kind === "malformed") ? describeKeyCheck(keyVerdict).exitCode : null;
@@ -1,24 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-CKLWJ6EL.js";
4
+ } from "../chunk-4FN6VV56.js";
5
5
  import {
6
6
  isDeferAnswer
7
7
  } from "../chunk-YHG74UFF.js";
8
- import "../chunk-P232YODQ.js";
8
+ import "../chunk-TNS3YLFE.js";
9
9
  import "../chunk-SGZJ5LYH.js";
10
- import "../chunk-REIZ5GXG.js";
11
- import "../chunk-FGNABUPN.js";
12
- import "../chunk-KLZJEMSE.js";
13
- import "../chunk-QOCWB4Q6.js";
14
- import "../chunk-6HH4IH4K.js";
15
- import "../chunk-KHGIM2BN.js";
16
- import "../chunk-EAGMQMRM.js";
17
- import "../chunk-CDSL3LLO.js";
10
+ import "../chunk-KEMEBTCJ.js";
11
+ import "../chunk-R3AMKNIW.js";
12
+ import "../chunk-LYXX5NSB.js";
13
+ import "../chunk-TF4IOINR.js";
14
+ import "../chunk-3BPB2HYZ.js";
15
+ import "../chunk-ED5TA2FJ.js";
16
+ import "../chunk-JOVWYVSR.js";
17
+ import "../chunk-CRNAXFQ6.js";
18
18
  import "../chunk-EQRS3SGM.js";
19
- import "../chunk-YXWM4TNX.js";
19
+ import "../chunk-MN3XOVRK.js";
20
20
  import "../chunk-XHKBHWLX.js";
21
- import "../chunk-XP2KRTZD.js";
21
+ import "../chunk-WEO5JCB4.js";
22
22
  import {
23
23
  askUser,
24
24
  isDecisionStopped,
@@ -26,16 +26,16 @@ import {
26
26
  } from "../chunk-LGXUGYUH.js";
27
27
  import {
28
28
  getMachineId
29
- } from "../chunk-465UENKO.js";
30
- import "../chunk-34NNTYK6.js";
29
+ } from "../chunk-3T52B2OF.js";
30
+ import "../chunk-SAF6NNXY.js";
31
31
  import "../chunk-GMXKITVA.js";
32
32
  import "../chunk-DINDL2CF.js";
33
- import "../chunk-5SALHATY.js";
33
+ import "../chunk-TI3ZWXZG.js";
34
34
  import "../chunk-EYRGBYZG.js";
35
35
  import "../chunk-SAF6HGAA.js";
36
36
  import "../chunk-7QLSKOSU.js";
37
37
  import "../chunk-KZERVKTD.js";
38
- import "../chunk-5WLH2ENB.js";
38
+ import "../chunk-K6I5M2ME.js";
39
39
  import "../chunk-T7E75EKA.js";
40
40
  import {
41
41
  getApiKey
@@ -50,7 +50,7 @@ import {
50
50
  planElicitationAsk,
51
51
  readElicitationFields,
52
52
  renderElicitationOutput
53
- } from "../chunk-5UWDYOZX.js";
53
+ } from "../chunk-FVKFDTN6.js";
54
54
 
55
55
  // bin/pushary-elicitation-hook.ts
56
56
  import { basename } from "path";
@@ -5,36 +5,36 @@ import {
5
5
  postLiveSession,
6
6
  postLiveSessionUntilAccepted,
7
7
  startLiveSessionHeartbeat
8
- } from "../chunk-R5CU7ED6.js";
8
+ } from "../chunk-SKXLIVFM.js";
9
9
  import {
10
10
  SESSION_IDLE_TIMEOUT_MS,
11
11
  describeIdleWindow,
12
12
  idleDeadlinePassed,
13
13
  startProcessOwnership,
14
14
  withSpawnProcessOwnership
15
- } from "../chunk-XOUQUZ43.js";
16
- import "../chunk-CDSL3LLO.js";
15
+ } from "../chunk-PHHGHHOW.js";
16
+ import "../chunk-CRNAXFQ6.js";
17
17
  import "../chunk-EQRS3SGM.js";
18
18
  import {
19
19
  transcriptsEnabled
20
- } from "../chunk-YXWM4TNX.js";
20
+ } from "../chunk-MN3XOVRK.js";
21
21
  import {
22
22
  spawnClaude
23
23
  } from "../chunk-XHKBHWLX.js";
24
24
  import {
25
25
  getMachineId
26
- } from "../chunk-465UENKO.js";
26
+ } from "../chunk-3T52B2OF.js";
27
27
  import {
28
28
  resolveBinary
29
- } from "../chunk-34NNTYK6.js";
30
- import "../chunk-5SALHATY.js";
31
- import "../chunk-5WLH2ENB.js";
29
+ } from "../chunk-SAF6NNXY.js";
30
+ import "../chunk-TI3ZWXZG.js";
31
+ import "../chunk-K6I5M2ME.js";
32
32
  import "../chunk-T7E75EKA.js";
33
33
  import {
34
34
  getApiKey,
35
35
  getBaseUrl
36
36
  } from "../chunk-2UMNXADU.js";
37
- import "../chunk-5UWDYOZX.js";
37
+ import "../chunk-FVKFDTN6.js";
38
38
 
39
39
  // bin/pushary-gemini-bridge.ts
40
40
  import { existsSync } from "fs";
@@ -2,26 +2,26 @@
2
2
  import {
3
3
  isGatingMoment,
4
4
  recordKeylessMoment
5
- } from "../chunk-OMP3KDDU.js";
5
+ } from "../chunk-SWFF5U2N.js";
6
6
  import {
7
7
  readHookInput
8
- } from "../chunk-CKLWJ6EL.js";
8
+ } from "../chunk-4FN6VV56.js";
9
9
  import {
10
10
  denyReasonFrom,
11
11
  isDeferAnswer
12
12
  } from "../chunk-YHG74UFF.js";
13
- import "../chunk-P232YODQ.js";
13
+ import "../chunk-TNS3YLFE.js";
14
14
  import "../chunk-SGZJ5LYH.js";
15
- import "../chunk-REIZ5GXG.js";
16
- import "../chunk-FGNABUPN.js";
17
- import "../chunk-KLZJEMSE.js";
18
- import "../chunk-QOCWB4Q6.js";
19
- import "../chunk-6HH4IH4K.js";
20
- import "../chunk-KHGIM2BN.js";
21
- import "../chunk-EAGMQMRM.js";
22
- import "../chunk-CDSL3LLO.js";
15
+ import "../chunk-KEMEBTCJ.js";
16
+ import "../chunk-R3AMKNIW.js";
17
+ import "../chunk-LYXX5NSB.js";
18
+ import "../chunk-TF4IOINR.js";
19
+ import "../chunk-3BPB2HYZ.js";
20
+ import "../chunk-ED5TA2FJ.js";
21
+ import "../chunk-JOVWYVSR.js";
22
+ import "../chunk-CRNAXFQ6.js";
23
23
  import "../chunk-EQRS3SGM.js";
24
- import "../chunk-YXWM4TNX.js";
24
+ import "../chunk-MN3XOVRK.js";
25
25
  import "../chunk-XHKBHWLX.js";
26
26
  import {
27
27
  DEFAULT_SESSION,
@@ -42,8 +42,8 @@ import {
42
42
  repoKeyFor,
43
43
  reportEvent,
44
44
  scopePathFor
45
- } from "../chunk-WOBHHXW5.js";
46
- import "../chunk-XP2KRTZD.js";
45
+ } from "../chunk-LNGYW6G4.js";
46
+ import "../chunk-WEO5JCB4.js";
47
47
  import {
48
48
  DECISION_STOP_REASON,
49
49
  askUser,
@@ -54,16 +54,16 @@ import {
54
54
  } from "../chunk-LGXUGYUH.js";
55
55
  import {
56
56
  getMachineId
57
- } from "../chunk-465UENKO.js";
58
- import "../chunk-34NNTYK6.js";
57
+ } from "../chunk-3T52B2OF.js";
58
+ import "../chunk-SAF6NNXY.js";
59
59
  import "../chunk-GMXKITVA.js";
60
60
  import "../chunk-DINDL2CF.js";
61
- import "../chunk-5SALHATY.js";
61
+ import "../chunk-TI3ZWXZG.js";
62
62
  import "../chunk-EYRGBYZG.js";
63
63
  import "../chunk-SAF6HGAA.js";
64
64
  import "../chunk-7QLSKOSU.js";
65
65
  import "../chunk-KZERVKTD.js";
66
- import "../chunk-5WLH2ENB.js";
66
+ import "../chunk-K6I5M2ME.js";
67
67
  import "../chunk-T7E75EKA.js";
68
68
  import {
69
69
  getApiKey
@@ -76,7 +76,7 @@ import {
76
76
  hookWaitClamped,
77
77
  hookWaitDeadline,
78
78
  resolveGate
79
- } from "../chunk-5UWDYOZX.js";
79
+ } from "../chunk-FVKFDTN6.js";
80
80
 
81
81
  // bin/pushary-gemini-hook.ts
82
82
  import { basename } from "path";
@@ -1,56 +1,56 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePreToolUse
4
- } from "../chunk-I2OLM3DM.js";
4
+ } from "../chunk-GOFDGTEI.js";
5
5
  import {
6
6
  activeHookSource,
7
7
  normalizeToolCall,
8
8
  profileFromArgv
9
- } from "../chunk-LWT34GSY.js";
10
- import "../chunk-SGZE2JBF.js";
11
- import "../chunk-HCTSTMDD.js";
12
- import "../chunk-OMP3KDDU.js";
9
+ } from "../chunk-HQLAZWJJ.js";
10
+ import "../chunk-WIOXWUUH.js";
11
+ import "../chunk-ALFT7H5B.js";
12
+ import "../chunk-SWFF5U2N.js";
13
13
  import {
14
- readHookInput
15
- } from "../chunk-CKLWJ6EL.js";
14
+ readToolHookInput
15
+ } from "../chunk-4FN6VV56.js";
16
16
  import "../chunk-YHG74UFF.js";
17
- import "../chunk-P232YODQ.js";
17
+ import "../chunk-TNS3YLFE.js";
18
18
  import "../chunk-SGZJ5LYH.js";
19
- import "../chunk-REIZ5GXG.js";
20
- import "../chunk-FGNABUPN.js";
21
- import "../chunk-KLZJEMSE.js";
22
- import "../chunk-QOCWB4Q6.js";
23
- import "../chunk-6HH4IH4K.js";
24
- import "../chunk-KHGIM2BN.js";
25
- import "../chunk-EAGMQMRM.js";
26
- import "../chunk-CDSL3LLO.js";
19
+ import "../chunk-KEMEBTCJ.js";
20
+ import "../chunk-R3AMKNIW.js";
21
+ import "../chunk-LYXX5NSB.js";
22
+ import "../chunk-TF4IOINR.js";
23
+ import "../chunk-3BPB2HYZ.js";
24
+ import "../chunk-ED5TA2FJ.js";
25
+ import "../chunk-JOVWYVSR.js";
26
+ import "../chunk-CRNAXFQ6.js";
27
27
  import "../chunk-EQRS3SGM.js";
28
- import "../chunk-YXWM4TNX.js";
28
+ import "../chunk-MN3XOVRK.js";
29
29
  import "../chunk-XHKBHWLX.js";
30
30
  import {
31
31
  canonicalGateInputs
32
- } from "../chunk-WOBHHXW5.js";
33
- import "../chunk-XP2KRTZD.js";
32
+ } from "../chunk-LNGYW6G4.js";
33
+ import "../chunk-WEO5JCB4.js";
34
34
  import "../chunk-LGXUGYUH.js";
35
- import "../chunk-465UENKO.js";
36
- import "../chunk-34NNTYK6.js";
35
+ import "../chunk-3T52B2OF.js";
36
+ import "../chunk-SAF6NNXY.js";
37
37
  import {
38
38
  exitOnHelpFlag
39
- } from "../chunk-GOQHN2UH.js";
40
- import "../chunk-LZQVAEWP.js";
39
+ } from "../chunk-TWWLVOPB.js";
40
+ import "../chunk-FAH3D74E.js";
41
41
  import "../chunk-GMXKITVA.js";
42
42
  import "../chunk-DINDL2CF.js";
43
- import "../chunk-5SALHATY.js";
43
+ import "../chunk-TI3ZWXZG.js";
44
44
  import "../chunk-EYRGBYZG.js";
45
45
  import "../chunk-SAF6HGAA.js";
46
46
  import "../chunk-7QLSKOSU.js";
47
47
  import "../chunk-KZERVKTD.js";
48
- import "../chunk-5WLH2ENB.js";
48
+ import "../chunk-K6I5M2ME.js";
49
49
  import "../chunk-T7E75EKA.js";
50
50
  import "../chunk-2UMNXADU.js";
51
51
  import {
52
52
  renderPreToolUseVerdict
53
- } from "../chunk-5UWDYOZX.js";
53
+ } from "../chunk-FVKFDTN6.js";
54
54
 
55
55
  // bin/pushary-hook.ts
56
56
  exitOnHelpFlag("hook");
@@ -67,7 +67,7 @@ var emit = (verdict) => {
67
67
  if (output !== void 0) process.stdout.write(JSON.stringify(output));
68
68
  };
69
69
  var main = async () => {
70
- const raw = await readHookInput(
70
+ const raw = await readToolHookInput(
71
71
  activeHookSource(process.argv),
72
72
  "PreToolUse"
73
73
  );
@@ -5,22 +5,22 @@ import {
5
5
  import "../chunk-PUZZELE6.js";
6
6
  import {
7
7
  recoverDaemonAfterLogin
8
- } from "../chunk-6HH4IH4K.js";
8
+ } from "../chunk-3BPB2HYZ.js";
9
9
  import "../chunk-XHKBHWLX.js";
10
- import "../chunk-465UENKO.js";
11
- import "../chunk-34NNTYK6.js";
10
+ import "../chunk-3T52B2OF.js";
11
+ import "../chunk-SAF6NNXY.js";
12
12
  import "../chunk-3EGEA4KH.js";
13
13
  import {
14
14
  checkApiKey,
15
15
  describeKeyCheck
16
- } from "../chunk-TW7KA27C.js";
16
+ } from "../chunk-QBS6LGEK.js";
17
17
  import {
18
18
  createIo
19
19
  } from "../chunk-5RUIFDTP.js";
20
20
  import {
21
21
  exitOnHelpFlag
22
- } from "../chunk-GOQHN2UH.js";
23
- import "../chunk-LZQVAEWP.js";
22
+ } from "../chunk-TWWLVOPB.js";
23
+ import "../chunk-FAH3D74E.js";
24
24
  import {
25
25
  parseFlags
26
26
  } from "../chunk-GMXKITVA.js";
@@ -32,7 +32,7 @@ import {
32
32
  readControlMode,
33
33
  readKeySource,
34
34
  writeKey
35
- } from "../chunk-5SALHATY.js";
35
+ } from "../chunk-TI3ZWXZG.js";
36
36
  import "../chunk-SAF6HGAA.js";
37
37
  import {
38
38
  UsageError
@@ -40,12 +40,12 @@ import {
40
40
  import {
41
41
  EXIT
42
42
  } from "../chunk-KZERVKTD.js";
43
- import "../chunk-5WLH2ENB.js";
43
+ import "../chunk-K6I5M2ME.js";
44
44
  import "../chunk-T7E75EKA.js";
45
45
  import "../chunk-2UMNXADU.js";
46
46
  import {
47
47
  isValidApiKey
48
- } from "../chunk-5UWDYOZX.js";
48
+ } from "../chunk-FVKFDTN6.js";
49
49
 
50
50
  // bin/pushary-login.ts
51
51
  exitOnHelpFlag("login");
@@ -4,14 +4,14 @@ import {
4
4
  codexConfigToml,
5
5
  cursorUserMcp,
6
6
  geminiSettings
7
- } from "../chunk-34NNTYK6.js";
7
+ } from "../chunk-SAF6NNXY.js";
8
8
  import {
9
9
  createIo
10
10
  } from "../chunk-5RUIFDTP.js";
11
11
  import {
12
12
  exitOnHelpFlag
13
- } from "../chunk-GOQHN2UH.js";
14
- import "../chunk-LZQVAEWP.js";
13
+ } from "../chunk-TWWLVOPB.js";
14
+ import "../chunk-FAH3D74E.js";
15
15
  import {
16
16
  parseFlags
17
17
  } from "../chunk-GMXKITVA.js";
@@ -19,19 +19,19 @@ import "../chunk-DINDL2CF.js";
19
19
  import {
20
20
  clearKey,
21
21
  readKeySource
22
- } from "../chunk-5SALHATY.js";
22
+ } from "../chunk-TI3ZWXZG.js";
23
23
  import {
24
24
  UsageError
25
25
  } from "../chunk-7QLSKOSU.js";
26
26
  import {
27
27
  EXIT
28
28
  } from "../chunk-KZERVKTD.js";
29
- import "../chunk-5WLH2ENB.js";
29
+ import "../chunk-K6I5M2ME.js";
30
30
  import "../chunk-T7E75EKA.js";
31
31
  import {
32
32
  getBaseUrl
33
33
  } from "../chunk-2UMNXADU.js";
34
- import "../chunk-5UWDYOZX.js";
34
+ import "../chunk-FVKFDTN6.js";
35
35
 
36
36
  // bin/pushary-logout.ts
37
37
  import { existsSync } from "fs";
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  exitOnFailedResponse
4
- } from "../chunk-NDSOOJDX.js";
5
- import "../chunk-TW7KA27C.js";
4
+ } from "../chunk-D7ERHWYB.js";
5
+ import "../chunk-QBS6LGEK.js";
6
6
  import {
7
7
  createIo
8
8
  } from "../chunk-5RUIFDTP.js";
9
9
  import {
10
10
  exitOnHelpFlag
11
- } from "../chunk-GOQHN2UH.js";
12
- import "../chunk-LZQVAEWP.js";
11
+ } from "../chunk-TWWLVOPB.js";
12
+ import "../chunk-FAH3D74E.js";
13
13
  import {
14
14
  rejectUnknownFlags
15
15
  } from "../chunk-GMXKITVA.js";
@@ -25,7 +25,7 @@ import {
25
25
  getApiKey,
26
26
  getBaseUrl
27
27
  } from "../chunk-2UMNXADU.js";
28
- import "../chunk-5UWDYOZX.js";
28
+ import "../chunk-FVKFDTN6.js";
29
29
 
30
30
  // src/cli/mode-request.ts
31
31
  var parseDuration = (value) => {