@pushary/agent-hooks 1.0.0 → 1.2.0

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 (83) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/data/SKILL.md +250 -49
  3. package/data/cursor-plugin/scripts/pushary-gate.mjs +24 -0
  4. package/data/cursor-plugin/skills/pushary/SKILL.md +250 -49
  5. package/data/vscode-plugin/scripts/pushary-gate.mjs +24 -0
  6. package/data/vscode-plugin/skills/pushary/SKILL.md +250 -49
  7. package/dist/bin/pushary-bell-hook.js +18 -18
  8. package/dist/bin/pushary-bell.js +6 -6
  9. package/dist/bin/pushary-claude.js +18 -18
  10. package/dist/bin/pushary-clean.js +19 -19
  11. package/dist/bin/pushary-codex-bridge.js +10 -10
  12. package/dist/bin/pushary-codex-hook.js +22 -22
  13. package/dist/bin/pushary-codex.js +6 -6
  14. package/dist/bin/pushary-connect.js +6 -6
  15. package/dist/bin/pushary-cowork.js +3 -3
  16. package/dist/bin/pushary-daemon.js +22 -22
  17. package/dist/bin/pushary-disconnect.js +10 -10
  18. package/dist/bin/pushary-doctor.js +50 -20
  19. package/dist/bin/pushary-elicitation-hook.js +17 -17
  20. package/dist/bin/pushary-gemini-bridge.js +9 -9
  21. package/dist/bin/pushary-gemini-hook.js +19 -19
  22. package/dist/bin/pushary-hook.js +26 -26
  23. package/dist/bin/pushary-login.js +7 -7
  24. package/dist/bin/pushary-logout.js +4 -4
  25. package/dist/bin/pushary-mode.js +3 -3
  26. package/dist/bin/pushary-notification-hook.js +20 -20
  27. package/dist/bin/pushary-opencode-hook.js +19 -19
  28. package/dist/bin/pushary-permission-denied-hook.js +24 -24
  29. package/dist/bin/pushary-permission-hook.js +25 -25
  30. package/dist/bin/pushary-post-hook.js +20 -20
  31. package/dist/bin/pushary-prompt-hook.js +20 -20
  32. package/dist/bin/pushary-session-end-hook.js +20 -20
  33. package/dist/bin/pushary-session-start-hook.js +22 -22
  34. package/dist/bin/pushary-setup.js +26 -26
  35. package/dist/bin/pushary-stats.js +2 -2
  36. package/dist/bin/pushary-status.js +10 -10
  37. package/dist/bin/pushary-stop-hook.js +20 -20
  38. package/dist/bin/pushary-stopfailure-hook.js +20 -20
  39. package/dist/bin/pushary-transcript-register.js +16 -16
  40. package/dist/bin/pushary-transcripts.js +4 -4
  41. package/dist/bin/pushary-upgrade.js +14 -14
  42. package/dist/bin/pushary-wait.js +3 -3
  43. package/dist/{chunk-DUOG74E7.js → chunk-2DT7STR5.js} +1 -1
  44. package/dist/{chunk-IWZG2Y4Z.js → chunk-4UT44NRP.js} +5 -1
  45. package/dist/{chunk-MDV7ZRAT.js → chunk-5AATCXJN.js} +29 -5
  46. package/dist/{chunk-7ZDFVWRR.js → chunk-6QCN5XQE.js} +1 -1
  47. package/dist/{chunk-TTBRBWAK.js → chunk-7DQVIIHX.js} +97 -16
  48. package/dist/{chunk-S2W4ZSHE.js → chunk-7ERWAYVV.js} +1 -1
  49. package/dist/{chunk-447SBIC7.js → chunk-7GH3D6YG.js} +9 -9
  50. package/dist/{chunk-DOYARIYB.js → chunk-7TDQ7KDY.js} +1 -1
  51. package/dist/{chunk-3C4ERARU.js → chunk-BXLFUTSD.js} +3 -3
  52. package/dist/{chunk-XK34HTMW.js → chunk-C3WH44MH.js} +3 -3
  53. package/dist/{chunk-IYA3NCZG.js → chunk-CG4ZUQ5O.js} +2 -2
  54. package/dist/{chunk-MSOFZYI3.js → chunk-CVCSUAXI.js} +3 -3
  55. package/dist/{chunk-R744XA2M.js → chunk-DRAATYTY.js} +5 -5
  56. package/dist/{chunk-2PS3DTHQ.js → chunk-ERP7FOFQ.js} +3 -3
  57. package/dist/{chunk-RFNMSC6N.js → chunk-JOTV75GX.js} +1 -1
  58. package/dist/{chunk-Y55JNI2I.js → chunk-JQJB7BZE.js} +1 -1
  59. package/dist/{chunk-DMJTWULU.js → chunk-KEVJ2WW6.js} +1 -1
  60. package/dist/{chunk-IBU7UU3R.js → chunk-KHTBSSY5.js} +1 -1
  61. package/dist/{chunk-I3TWY7GH.js → chunk-KODKICKJ.js} +6 -6
  62. package/dist/{chunk-7WMFPYR5.js → chunk-KZPUARCU.js} +1 -1
  63. package/dist/{chunk-D2N2EJH2.js → chunk-LAXU5U75.js} +2 -2
  64. package/dist/{chunk-XKDKUFMP.js → chunk-LGO7U23Z.js} +1 -1
  65. package/dist/{chunk-XNXIMIFY.js → chunk-LWKVEMVK.js} +1 -1
  66. package/dist/{chunk-GTR72MIU.js → chunk-OGSRCIOD.js} +1 -1
  67. package/dist/{chunk-HGEI7SVM.js → chunk-PCT2MYG5.js} +6 -6
  68. package/dist/{chunk-LTPQKBJH.js → chunk-PX53RT6Q.js} +1 -1
  69. package/dist/{chunk-MGI6MLFU.js → chunk-PX54KULQ.js} +3 -3
  70. package/dist/{chunk-BOZETFXB.js → chunk-RN6ZWIAC.js} +1 -1
  71. package/dist/{chunk-CDTGL7TT.js → chunk-U42ES5U3.js} +1 -1
  72. package/dist/{chunk-EMCNSBF3.js → chunk-UWP66NDF.js} +1 -1
  73. package/dist/{chunk-UWQVODHT.js → chunk-VDOKRCWM.js} +1 -1
  74. package/dist/{chunk-TVY7AT6O.js → chunk-VE2ZWUML.js} +1 -1
  75. package/dist/{chunk-BPD4P3NN.js → chunk-VIQ7CCWW.js} +2 -2
  76. package/dist/{chunk-2SL5X7UB.js → chunk-W6XVHP4U.js} +4 -4
  77. package/dist/{chunk-3UUAK2AK.js → chunk-WC5PYFDK.js} +1 -1
  78. package/dist/{chunk-ZZIUQVAN.js → chunk-YK3OU4E2.js} +4 -4
  79. package/dist/{chunk-HS2KEAFD.js → chunk-YT6H7BB5.js} +21 -14
  80. package/dist/{chunk-A3D43VXO.js → chunk-ZFQPSGPO.js} +1 -1
  81. package/dist/{reapply-I4NB5SSM.js → reapply-47AMVIXN.js} +8 -8
  82. package/dist/src/index.js +12 -12
  83. package/package.json +1 -1
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  readMachineReadiness,
11
11
  readManagedControlEvidence
12
- } from "../chunk-ZZIUQVAN.js";
12
+ } from "../chunk-YK3OU4E2.js";
13
13
  import {
14
14
  CURSOR_GATE_SCRIPT
15
15
  } from "../chunk-KBITFQST.js";
@@ -22,35 +22,35 @@ import {
22
22
  isPluginRegistered,
23
23
  shortenHome,
24
24
  vscodeSettingsTargets
25
- } from "../chunk-447SBIC7.js";
25
+ } from "../chunk-7GH3D6YG.js";
26
26
  import {
27
27
  OPENCODE_PLUGIN_PLACEHOLDER,
28
28
  openCodePluginDir,
29
29
  openCodePluginFile,
30
30
  openCodeWired
31
- } from "../chunk-XNXIMIFY.js";
31
+ } from "../chunk-LWKVEMVK.js";
32
32
  import {
33
33
  compatibleConfigFile,
34
34
  compatibleInstructionsFile,
35
35
  compatibleMcpFile,
36
36
  hasCompatibleHooks,
37
37
  missingCompatibleHookEvents
38
- } from "../chunk-HS2KEAFD.js";
39
- import "../chunk-MGI6MLFU.js";
38
+ } from "../chunk-YT6H7BB5.js";
39
+ import "../chunk-PX54KULQ.js";
40
40
  import {
41
41
  detectProviderLiveCapabilities,
42
42
  hasSpawnProvider,
43
43
  resolveControlPolicy
44
- } from "../chunk-IYA3NCZG.js";
44
+ } from "../chunk-CG4ZUQ5O.js";
45
45
  import {
46
46
  readLedgerSummary
47
- } from "../chunk-DUOG74E7.js";
47
+ } from "../chunk-2DT7STR5.js";
48
48
  import {
49
49
  describeBridgeResolution,
50
50
  isBridgeLocator,
51
51
  liveBridgeProbe,
52
52
  resolveBridgeStub
53
- } from "../chunk-CDTGL7TT.js";
53
+ } from "../chunk-U42ES5U3.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-XK34HTMW.js";
70
+ } from "../chunk-C3WH44MH.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-MSOFZYI3.js";
79
+ } from "../chunk-CVCSUAXI.js";
80
80
  import {
81
81
  GEMINI_HOOK_BINARY,
82
82
  hasGeminiHooks,
83
83
  missingGeminiHookEvents
84
- } from "../chunk-2PS3DTHQ.js";
84
+ } from "../chunk-ERP7FOFQ.js";
85
85
  import "../chunk-XHKBHWLX.js";
86
- import "../chunk-MDV7ZRAT.js";
87
- import "../chunk-EMCNSBF3.js";
86
+ import "../chunk-5AATCXJN.js";
87
+ import "../chunk-UWP66NDF.js";
88
88
  import "../chunk-LGXUGYUH.js";
89
89
  import {
90
90
  getMachineId
91
- } from "../chunk-7WMFPYR5.js";
91
+ } from "../chunk-KZPUARCU.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-LTPQKBJH.js";
114
+ } from "../chunk-PX53RT6Q.js";
115
115
  import {
116
116
  describeReach,
117
117
  describeRoundTrip,
@@ -119,12 +119,12 @@ import {
119
119
  reachVerdict,
120
120
  roundTripEvidence,
121
121
  verifyRoundTrip
122
- } from "../chunk-BPD4P3NN.js";
122
+ } from "../chunk-VIQ7CCWW.js";
123
123
  import "../chunk-3EGEA4KH.js";
124
124
  import {
125
125
  checkApiKey,
126
126
  describeKeyCheck
127
- } from "../chunk-BOZETFXB.js";
127
+ } from "../chunk-RN6ZWIAC.js";
128
128
  import "../chunk-QCGNGEGE.js";
129
129
  import {
130
130
  createIo
@@ -143,7 +143,7 @@ import {
143
143
  keyPrefix,
144
144
  readControlMode,
145
145
  readKeySource
146
- } from "../chunk-DOYARIYB.js";
146
+ } from "../chunk-7TDQ7KDY.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-A3D43VXO.js";
158
+ import "../chunk-ZFQPSGPO.js";
159
159
  import "../chunk-4LL6LG5X.js";
160
160
  import {
161
161
  getBaseUrl
@@ -167,7 +167,7 @@ import {
167
167
  HOOK_LOCATOR_BINARY,
168
168
  hookActivationResult,
169
169
  isHookActivationReport
170
- } from "../chunk-TTBRBWAK.js";
170
+ } from "../chunk-7DQVIIHX.js";
171
171
 
172
172
  // bin/pushary-doctor.ts
173
173
  import { existsSync, readFileSync, writeFileSync } from "fs";
@@ -230,6 +230,25 @@ var resolveDoctorExit = ({ keyExit, failures }) => {
230
230
  return EXIT.PROBLEMS_FOUND;
231
231
  };
232
232
 
233
+ // src/diagnostics/config-rewriters.ts
234
+ var CONFIG_REWRITERS = Object.freeze([
235
+ {
236
+ id: "cc-switch",
237
+ label: "cc-switch",
238
+ markers: [[".cc-switch", "cc-switch.db"], [".cc-switch", "config.json"]],
239
+ rewrites: ["Claude Code"],
240
+ what: "replaces ~/.claude/settings.json with what that provider stored plus your common config, rather than merging into the file on disk"
241
+ }
242
+ ]);
243
+ var rewriterFindings = ({ present, agentState }, rewriters = CONFIG_REWRITERS) => rewriters.filter(present).flatMap((rewriter) => rewriter.rewrites.flatMap((agent) => {
244
+ const state = agentState(agent);
245
+ if (!state?.wired) return [];
246
+ return [{ rewriter, agent, state: state.hooksIntact ? "armed" : "suspect" }];
247
+ }));
248
+ var describeRewriterFinding = ({ rewriter, agent, state }) => state === "armed" ? `${rewriter.label} is installed, and a provider switch can take ${agent}'s Pushary hooks out of settings.json` : `${agent}'s Pushary hooks are gone from settings.json, and ${rewriter.label} is one way that happens`;
249
+ var rewriterMechanism = ({ rewriter }) => `${rewriter.label} ${rewriter.what}.`;
250
+ 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';
251
+
233
252
  // src/diagnostics/activation.ts
234
253
  var readHookActivation = async (apiKey, agentType, target, deps = {}) => {
235
254
  const machineId = deps.machineId ?? getMachineId();
@@ -487,6 +506,7 @@ var main = async () => {
487
506
  }
488
507
  }
489
508
  const settings = claudeInPlay ? readJson(CLAUDE_SETTINGS) : null;
509
+ let claudeHooksMissing = 0;
490
510
  if (settings) {
491
511
  const hooks = settings.hooks;
492
512
  const CLAUDE_HOOK_CHECKS = [
@@ -504,6 +524,7 @@ var main = async () => {
504
524
  for (const { event, needle, label } of CLAUDE_HOOK_CHECKS) {
505
525
  const configured = JSON.stringify(hooks?.[event] ?? []);
506
526
  const present = configured.includes(needle) || configured.includes(HOOK_LOCATOR_BINARY);
527
+ if (!present) claudeHooksMissing += 1;
507
528
  check(present, `Claude Code: ${label}`, present ? void 0 : "missing \u2014 run npx @pushary/agent-hooks@latest upgrade");
508
529
  }
509
530
  for (const event of claudeUnprovenHolds(settings)) {
@@ -526,6 +547,15 @@ var main = async () => {
526
547
  } else if (claudeInPlay) {
527
548
  check(false, "Claude Code: settings.json", "not found");
528
549
  }
550
+ const claudeHookState = { wired: claudeInPlay, hooksIntact: settings !== null && claudeHooksMissing === 0 };
551
+ for (const finding of rewriterFindings({
552
+ present: (rewriter) => rewriter.markers.some((marker) => existsSync(join(homedir2(), ...marker))),
553
+ agentState: (agent) => agent === "Claude Code" ? claudeHookState : void 0
554
+ })) {
555
+ console.log(` ${warn} ${describeRewriterFinding(finding)}`);
556
+ console.log(` ${dim(rewriterMechanism(finding))}`);
557
+ console.log(` ${dim(rewriterRemedy(finding))}`);
558
+ }
529
559
  const codexConfigPath = codexConfigToml();
530
560
  const codexHooksPath = codexHooksJson();
531
561
  const codexHooksConfig = readJson(codexHooksPath);
@@ -1,24 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-IWZG2Y4Z.js";
4
+ } from "../chunk-4UT44NRP.js";
5
5
  import {
6
6
  isDeferAnswer
7
7
  } from "../chunk-YHG74UFF.js";
8
- import "../chunk-HGEI7SVM.js";
8
+ import "../chunk-PCT2MYG5.js";
9
9
  import "../chunk-YKLCWWEI.js";
10
- import "../chunk-2SL5X7UB.js";
11
- import "../chunk-3UUAK2AK.js";
12
- import "../chunk-CDTGL7TT.js";
13
- import "../chunk-XK34HTMW.js";
14
- import "../chunk-MSOFZYI3.js";
15
- import "../chunk-2PS3DTHQ.js";
16
- import "../chunk-UWQVODHT.js";
17
- import "../chunk-7ZDFVWRR.js";
10
+ import "../chunk-W6XVHP4U.js";
11
+ import "../chunk-WC5PYFDK.js";
12
+ import "../chunk-U42ES5U3.js";
13
+ import "../chunk-C3WH44MH.js";
14
+ import "../chunk-CVCSUAXI.js";
15
+ import "../chunk-ERP7FOFQ.js";
16
+ import "../chunk-VDOKRCWM.js";
17
+ import "../chunk-6QCN5XQE.js";
18
18
  import "../chunk-EQRS3SGM.js";
19
- import "../chunk-IBU7UU3R.js";
19
+ import "../chunk-KHTBSSY5.js";
20
20
  import "../chunk-XHKBHWLX.js";
21
- import "../chunk-EMCNSBF3.js";
21
+ import "../chunk-UWP66NDF.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-7WMFPYR5.js";
30
- import "../chunk-LTPQKBJH.js";
29
+ } from "../chunk-KZPUARCU.js";
30
+ import "../chunk-PX53RT6Q.js";
31
31
  import "../chunk-GMXKITVA.js";
32
32
  import "../chunk-DINDL2CF.js";
33
- import "../chunk-DOYARIYB.js";
33
+ import "../chunk-7TDQ7KDY.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-A3D43VXO.js";
38
+ import "../chunk-ZFQPSGPO.js";
39
39
  import "../chunk-4LL6LG5X.js";
40
40
  import {
41
41
  getApiKey
@@ -50,7 +50,7 @@ import {
50
50
  planElicitationAsk,
51
51
  readElicitationFields,
52
52
  renderElicitationOutput
53
- } from "../chunk-TTBRBWAK.js";
53
+ } from "../chunk-7DQVIIHX.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-GTR72MIU.js";
8
+ } from "../chunk-OGSRCIOD.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-DMJTWULU.js";
16
- import "../chunk-7ZDFVWRR.js";
15
+ } from "../chunk-KEVJ2WW6.js";
16
+ import "../chunk-6QCN5XQE.js";
17
17
  import "../chunk-EQRS3SGM.js";
18
18
  import {
19
19
  transcriptsEnabled
20
- } from "../chunk-IBU7UU3R.js";
20
+ } from "../chunk-KHTBSSY5.js";
21
21
  import {
22
22
  spawnClaude
23
23
  } from "../chunk-XHKBHWLX.js";
24
24
  import {
25
25
  getMachineId
26
- } from "../chunk-7WMFPYR5.js";
26
+ } from "../chunk-KZPUARCU.js";
27
27
  import {
28
28
  resolveBinary
29
- } from "../chunk-LTPQKBJH.js";
30
- import "../chunk-DOYARIYB.js";
31
- import "../chunk-A3D43VXO.js";
29
+ } from "../chunk-PX53RT6Q.js";
30
+ import "../chunk-7TDQ7KDY.js";
31
+ import "../chunk-ZFQPSGPO.js";
32
32
  import "../chunk-4LL6LG5X.js";
33
33
  import {
34
34
  getApiKey,
35
35
  getBaseUrl
36
36
  } from "../chunk-2UMNXADU.js";
37
- import "../chunk-TTBRBWAK.js";
37
+ import "../chunk-7DQVIIHX.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-DUOG74E7.js";
5
+ } from "../chunk-2DT7STR5.js";
6
6
  import {
7
7
  readHookInput
8
- } from "../chunk-IWZG2Y4Z.js";
8
+ } from "../chunk-4UT44NRP.js";
9
9
  import {
10
10
  denyReasonFrom,
11
11
  isDeferAnswer
12
12
  } from "../chunk-YHG74UFF.js";
13
- import "../chunk-HGEI7SVM.js";
13
+ import "../chunk-PCT2MYG5.js";
14
14
  import "../chunk-YKLCWWEI.js";
15
- import "../chunk-2SL5X7UB.js";
16
- import "../chunk-3UUAK2AK.js";
17
- import "../chunk-CDTGL7TT.js";
18
- import "../chunk-XK34HTMW.js";
19
- import "../chunk-MSOFZYI3.js";
20
- import "../chunk-2PS3DTHQ.js";
21
- import "../chunk-UWQVODHT.js";
22
- import "../chunk-7ZDFVWRR.js";
15
+ import "../chunk-W6XVHP4U.js";
16
+ import "../chunk-WC5PYFDK.js";
17
+ import "../chunk-U42ES5U3.js";
18
+ import "../chunk-C3WH44MH.js";
19
+ import "../chunk-CVCSUAXI.js";
20
+ import "../chunk-ERP7FOFQ.js";
21
+ import "../chunk-VDOKRCWM.js";
22
+ import "../chunk-6QCN5XQE.js";
23
23
  import "../chunk-EQRS3SGM.js";
24
- import "../chunk-IBU7UU3R.js";
24
+ import "../chunk-KHTBSSY5.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-MDV7ZRAT.js";
46
- import "../chunk-EMCNSBF3.js";
45
+ } from "../chunk-5AATCXJN.js";
46
+ import "../chunk-UWP66NDF.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-7WMFPYR5.js";
58
- import "../chunk-LTPQKBJH.js";
57
+ } from "../chunk-KZPUARCU.js";
58
+ import "../chunk-PX53RT6Q.js";
59
59
  import "../chunk-GMXKITVA.js";
60
60
  import "../chunk-DINDL2CF.js";
61
- import "../chunk-DOYARIYB.js";
61
+ import "../chunk-7TDQ7KDY.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-A3D43VXO.js";
66
+ import "../chunk-ZFQPSGPO.js";
67
67
  import "../chunk-4LL6LG5X.js";
68
68
  import {
69
69
  getApiKey
@@ -76,7 +76,7 @@ import {
76
76
  hookWaitClamped,
77
77
  hookWaitDeadline,
78
78
  resolveGate
79
- } from "../chunk-TTBRBWAK.js";
79
+ } from "../chunk-7DQVIIHX.js";
80
80
 
81
81
  // bin/pushary-gemini-hook.ts
82
82
  import { basename } from "path";
@@ -1,55 +1,55 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePreToolUse
4
- } from "../chunk-I3TWY7GH.js";
4
+ } from "../chunk-KODKICKJ.js";
5
5
  import {
6
6
  activeHookSource,
7
7
  normalizeToolCall,
8
8
  profileFromArgv,
9
- unreadablePathTool
10
- } from "../chunk-HS2KEAFD.js";
11
- import "../chunk-MGI6MLFU.js";
12
- import "../chunk-3C4ERARU.js";
13
- import "../chunk-DUOG74E7.js";
9
+ unreadableTool
10
+ } from "../chunk-YT6H7BB5.js";
11
+ import "../chunk-PX54KULQ.js";
12
+ import "../chunk-BXLFUTSD.js";
13
+ import "../chunk-2DT7STR5.js";
14
14
  import {
15
15
  readHookInput
16
- } from "../chunk-IWZG2Y4Z.js";
16
+ } from "../chunk-4UT44NRP.js";
17
17
  import "../chunk-YHG74UFF.js";
18
- import "../chunk-HGEI7SVM.js";
18
+ import "../chunk-PCT2MYG5.js";
19
19
  import "../chunk-YKLCWWEI.js";
20
- import "../chunk-2SL5X7UB.js";
21
- import "../chunk-3UUAK2AK.js";
22
- import "../chunk-CDTGL7TT.js";
23
- import "../chunk-XK34HTMW.js";
24
- import "../chunk-MSOFZYI3.js";
25
- import "../chunk-2PS3DTHQ.js";
26
- import "../chunk-UWQVODHT.js";
27
- import "../chunk-7ZDFVWRR.js";
20
+ import "../chunk-W6XVHP4U.js";
21
+ import "../chunk-WC5PYFDK.js";
22
+ import "../chunk-U42ES5U3.js";
23
+ import "../chunk-C3WH44MH.js";
24
+ import "../chunk-CVCSUAXI.js";
25
+ import "../chunk-ERP7FOFQ.js";
26
+ import "../chunk-VDOKRCWM.js";
27
+ import "../chunk-6QCN5XQE.js";
28
28
  import "../chunk-EQRS3SGM.js";
29
- import "../chunk-IBU7UU3R.js";
29
+ import "../chunk-KHTBSSY5.js";
30
30
  import "../chunk-XHKBHWLX.js";
31
- import "../chunk-MDV7ZRAT.js";
32
- import "../chunk-EMCNSBF3.js";
31
+ import "../chunk-5AATCXJN.js";
32
+ import "../chunk-UWP66NDF.js";
33
33
  import "../chunk-LGXUGYUH.js";
34
- import "../chunk-7WMFPYR5.js";
35
- import "../chunk-LTPQKBJH.js";
34
+ import "../chunk-KZPUARCU.js";
35
+ import "../chunk-PX53RT6Q.js";
36
36
  import {
37
37
  exitOnHelpFlag
38
38
  } from "../chunk-GOQHN2UH.js";
39
39
  import "../chunk-LZQVAEWP.js";
40
40
  import "../chunk-GMXKITVA.js";
41
41
  import "../chunk-DINDL2CF.js";
42
- import "../chunk-DOYARIYB.js";
42
+ import "../chunk-7TDQ7KDY.js";
43
43
  import "../chunk-EYRGBYZG.js";
44
44
  import "../chunk-SAF6HGAA.js";
45
45
  import "../chunk-7QLSKOSU.js";
46
46
  import "../chunk-KZERVKTD.js";
47
- import "../chunk-A3D43VXO.js";
47
+ import "../chunk-ZFQPSGPO.js";
48
48
  import "../chunk-4LL6LG5X.js";
49
49
  import "../chunk-2UMNXADU.js";
50
50
  import {
51
51
  renderPreToolUseVerdict
52
- } from "../chunk-TTBRBWAK.js";
52
+ } from "../chunk-7DQVIIHX.js";
53
53
 
54
54
  // bin/pushary-hook.ts
55
55
  exitOnHelpFlag("hook");
@@ -65,7 +65,7 @@ var askBecauseUnreadable = (toolName) => ({
65
65
  hookSpecificOutput: {
66
66
  hookEventName: "PreToolUse",
67
67
  permissionDecision: "ask",
68
- permissionDecisionReason: `Pushary could not read the path ${toolName} is writing to`
68
+ permissionDecisionReason: `Pushary could not read what ${toolName} acts on`
69
69
  }
70
70
  });
71
71
  var emit = (verdict) => {
@@ -81,7 +81,7 @@ var main = async () => {
81
81
  process.exit(0);
82
82
  }
83
83
  try {
84
- const unreadable = unreadablePathTool(profile, raw);
84
+ const unreadable = unreadableTool(profile, raw);
85
85
  if (unreadable) {
86
86
  emit(askBecauseUnreadable(unreadable));
87
87
  return;
@@ -5,15 +5,15 @@ import {
5
5
  import "../chunk-PUZZELE6.js";
6
6
  import {
7
7
  recoverDaemonAfterLogin
8
- } from "../chunk-MSOFZYI3.js";
8
+ } from "../chunk-CVCSUAXI.js";
9
9
  import "../chunk-XHKBHWLX.js";
10
- import "../chunk-7WMFPYR5.js";
11
- import "../chunk-LTPQKBJH.js";
10
+ import "../chunk-KZPUARCU.js";
11
+ import "../chunk-PX53RT6Q.js";
12
12
  import "../chunk-3EGEA4KH.js";
13
13
  import {
14
14
  checkApiKey,
15
15
  describeKeyCheck
16
- } from "../chunk-BOZETFXB.js";
16
+ } from "../chunk-RN6ZWIAC.js";
17
17
  import {
18
18
  createIo
19
19
  } from "../chunk-5RUIFDTP.js";
@@ -32,7 +32,7 @@ import {
32
32
  readControlMode,
33
33
  readKeySource,
34
34
  writeKey
35
- } from "../chunk-DOYARIYB.js";
35
+ } from "../chunk-7TDQ7KDY.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-A3D43VXO.js";
43
+ import "../chunk-ZFQPSGPO.js";
44
44
  import "../chunk-4LL6LG5X.js";
45
45
  import "../chunk-2UMNXADU.js";
46
46
  import {
47
47
  isValidApiKey
48
- } from "../chunk-TTBRBWAK.js";
48
+ } from "../chunk-7DQVIIHX.js";
49
49
 
50
50
  // bin/pushary-login.ts
51
51
  exitOnHelpFlag("login");
@@ -4,7 +4,7 @@ import {
4
4
  codexConfigToml,
5
5
  cursorUserMcp,
6
6
  geminiSettings
7
- } from "../chunk-LTPQKBJH.js";
7
+ } from "../chunk-PX53RT6Q.js";
8
8
  import {
9
9
  createIo
10
10
  } from "../chunk-5RUIFDTP.js";
@@ -19,19 +19,19 @@ import "../chunk-DINDL2CF.js";
19
19
  import {
20
20
  clearKey,
21
21
  readKeySource
22
- } from "../chunk-DOYARIYB.js";
22
+ } from "../chunk-7TDQ7KDY.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-A3D43VXO.js";
29
+ import "../chunk-ZFQPSGPO.js";
30
30
  import "../chunk-4LL6LG5X.js";
31
31
  import {
32
32
  getBaseUrl
33
33
  } from "../chunk-2UMNXADU.js";
34
- import "../chunk-TTBRBWAK.js";
34
+ import "../chunk-7DQVIIHX.js";
35
35
 
36
36
  // bin/pushary-logout.ts
37
37
  import { existsSync } from "fs";
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  exitOnFailedResponse
4
- } from "../chunk-TVY7AT6O.js";
5
- import "../chunk-BOZETFXB.js";
4
+ } from "../chunk-VE2ZWUML.js";
5
+ import "../chunk-RN6ZWIAC.js";
6
6
  import {
7
7
  createIo
8
8
  } from "../chunk-5RUIFDTP.js";
@@ -25,7 +25,7 @@ import {
25
25
  getApiKey,
26
26
  getBaseUrl
27
27
  } from "../chunk-2UMNXADU.js";
28
- import "../chunk-TTBRBWAK.js";
28
+ import "../chunk-7DQVIIHX.js";
29
29
 
30
30
  // src/cli/mode-request.ts
31
31
  var parseDuration = (value) => {
@@ -2,42 +2,42 @@
2
2
  import {
3
3
  activeHookSource,
4
4
  activeIdentity
5
- } from "../chunk-HS2KEAFD.js";
6
- import "../chunk-MGI6MLFU.js";
5
+ } from "../chunk-YT6H7BB5.js";
6
+ import "../chunk-PX54KULQ.js";
7
7
  import {
8
8
  readHookInput
9
- } from "../chunk-IWZG2Y4Z.js";
10
- import "../chunk-HGEI7SVM.js";
9
+ } from "../chunk-4UT44NRP.js";
10
+ import "../chunk-PCT2MYG5.js";
11
11
  import "../chunk-YKLCWWEI.js";
12
- import "../chunk-2SL5X7UB.js";
13
- import "../chunk-3UUAK2AK.js";
14
- import "../chunk-CDTGL7TT.js";
15
- import "../chunk-XK34HTMW.js";
16
- import "../chunk-MSOFZYI3.js";
17
- import "../chunk-2PS3DTHQ.js";
18
- import "../chunk-UWQVODHT.js";
19
- import "../chunk-7ZDFVWRR.js";
12
+ import "../chunk-W6XVHP4U.js";
13
+ import "../chunk-WC5PYFDK.js";
14
+ import "../chunk-U42ES5U3.js";
15
+ import "../chunk-C3WH44MH.js";
16
+ import "../chunk-CVCSUAXI.js";
17
+ import "../chunk-ERP7FOFQ.js";
18
+ import "../chunk-VDOKRCWM.js";
19
+ import "../chunk-6QCN5XQE.js";
20
20
  import "../chunk-EQRS3SGM.js";
21
- import "../chunk-IBU7UU3R.js";
21
+ import "../chunk-KHTBSSY5.js";
22
22
  import "../chunk-XHKBHWLX.js";
23
23
  import {
24
24
  handleNotification
25
- } from "../chunk-MDV7ZRAT.js";
26
- import "../chunk-EMCNSBF3.js";
25
+ } from "../chunk-5AATCXJN.js";
26
+ import "../chunk-UWP66NDF.js";
27
27
  import "../chunk-LGXUGYUH.js";
28
- import "../chunk-7WMFPYR5.js";
29
- import "../chunk-LTPQKBJH.js";
28
+ import "../chunk-KZPUARCU.js";
29
+ import "../chunk-PX53RT6Q.js";
30
30
  import "../chunk-GMXKITVA.js";
31
31
  import "../chunk-DINDL2CF.js";
32
- import "../chunk-DOYARIYB.js";
32
+ import "../chunk-7TDQ7KDY.js";
33
33
  import "../chunk-EYRGBYZG.js";
34
34
  import "../chunk-SAF6HGAA.js";
35
35
  import "../chunk-7QLSKOSU.js";
36
36
  import "../chunk-KZERVKTD.js";
37
- import "../chunk-A3D43VXO.js";
37
+ import "../chunk-ZFQPSGPO.js";
38
38
  import "../chunk-4LL6LG5X.js";
39
39
  import "../chunk-2UMNXADU.js";
40
- import "../chunk-TTBRBWAK.js";
40
+ import "../chunk-7DQVIIHX.js";
41
41
 
42
42
  // bin/pushary-notification-hook.ts
43
43
  var AGENT = activeIdentity(process.argv);