@pushary/agent-hooks 0.98.0 → 1.0.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 (81) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/bin/pushary-bell-hook.js +20 -19
  3. package/dist/bin/pushary-bell.js +7 -6
  4. package/dist/bin/pushary-claude.js +24 -25
  5. package/dist/bin/pushary-clean.js +61 -18
  6. package/dist/bin/pushary-codex-bridge.js +11 -10
  7. package/dist/bin/pushary-codex-hook.js +43 -35
  8. package/dist/bin/pushary-codex.js +7 -7
  9. package/dist/bin/pushary-connect.js +7 -6
  10. package/dist/bin/pushary-cowork.js +3 -3
  11. package/dist/bin/pushary-daemon.js +24 -23
  12. package/dist/bin/pushary-disconnect.js +48 -7
  13. package/dist/bin/pushary-doctor.js +61 -21
  14. package/dist/bin/pushary-elicitation-hook.js +19 -18
  15. package/dist/bin/pushary-gemini-bridge.js +10 -9
  16. package/dist/bin/pushary-gemini-hook.js +27 -28
  17. package/dist/bin/pushary-hook.js +63 -34
  18. package/dist/bin/pushary-login.js +8 -7
  19. package/dist/bin/pushary-logout.js +5 -4
  20. package/dist/bin/pushary-mode.js +3 -3
  21. package/dist/bin/pushary-notification-hook.js +28 -22
  22. package/dist/bin/pushary-opencode-hook.js +29 -30
  23. package/dist/bin/pushary-permission-denied-hook.js +26 -24
  24. package/dist/bin/pushary-permission-hook.js +34 -25
  25. package/dist/bin/pushary-post-hook.js +32 -23
  26. package/dist/bin/pushary-prompt-hook.js +28 -22
  27. package/dist/bin/pushary-session-end-hook.js +28 -22
  28. package/dist/bin/pushary-session-start-hook.js +32 -26
  29. package/dist/bin/pushary-setup.js +146 -37
  30. package/dist/bin/pushary-stats.js +2 -2
  31. package/dist/bin/pushary-status.js +11 -10
  32. package/dist/bin/pushary-stop-hook.js +29 -23
  33. package/dist/bin/pushary-stopfailure-hook.js +28 -22
  34. package/dist/bin/pushary-transcript-register.js +18 -17
  35. package/dist/bin/pushary-transcripts.js +6 -5
  36. package/dist/bin/pushary-upgrade.js +15 -14
  37. package/dist/bin/pushary-wait.js +3 -3
  38. package/dist/{chunk-HFQ7WSHZ.js → chunk-2PS3DTHQ.js} +7 -4
  39. package/dist/{chunk-W2MG2P46.js → chunk-2SL5X7UB.js} +9 -6
  40. package/dist/{chunk-53QCTSWY.js → chunk-3C4ERARU.js} +4 -4
  41. package/dist/{chunk-LBNAGGLV.js → chunk-3UUAK2AK.js} +3 -2
  42. package/dist/{chunk-V47GITZV.js → chunk-447SBIC7.js} +15 -2
  43. package/dist/{chunk-VZD2GEKB.js → chunk-4LL6LG5X.js} +1 -43
  44. package/dist/{chunk-WU6LSXJ6.js → chunk-7WMFPYR5.js} +2 -2
  45. package/dist/{chunk-XPPXOKIG.js → chunk-7ZDFVWRR.js} +1 -1
  46. package/dist/chunk-A3D43VXO.js +44 -0
  47. package/dist/{chunk-3RVCQDC4.js → chunk-BOZETFXB.js} +1 -1
  48. package/dist/{chunk-LX4NNYII.js → chunk-BPD4P3NN.js} +2 -2
  49. package/dist/{chunk-IRLTW6KF.js → chunk-CDTGL7TT.js} +1 -1
  50. package/dist/{chunk-CP34FI4B.js → chunk-D2N2EJH2.js} +2 -2
  51. package/dist/{chunk-J44RPHUZ.js → chunk-DMJTWULU.js} +2 -2
  52. package/dist/{chunk-SJLGOVC6.js → chunk-DOYARIYB.js} +4 -2
  53. package/dist/{chunk-XOOWC62T.js → chunk-DUOG74E7.js} +1 -1
  54. package/dist/{chunk-OPR2BPD4.js → chunk-EMCNSBF3.js} +1 -1
  55. package/dist/{chunk-5KLAETSU.js → chunk-GTR72MIU.js} +1 -1
  56. package/dist/{chunk-5B5QV3KC.js → chunk-HGEI7SVM.js} +8 -8
  57. package/dist/chunk-HS2KEAFD.js +224 -0
  58. package/dist/{chunk-6CYB77VD.js → chunk-I3TWY7GH.js} +30 -29
  59. package/dist/{chunk-NQGYPTJQ.js → chunk-IBU7UU3R.js} +1 -1
  60. package/dist/{chunk-M4TVEMLH.js → chunk-IWZG2Y4Z.js} +1 -1
  61. package/dist/{chunk-TZHDKRMG.js → chunk-IYA3NCZG.js} +2 -2
  62. package/dist/{chunk-XL3RKJYQ.js → chunk-LTPQKBJH.js} +65 -30
  63. package/dist/{chunk-YJDRHQLG.js → chunk-MDV7ZRAT.js} +698 -43
  64. package/dist/{chunk-QXIF6R4P.js → chunk-MGI6MLFU.js} +16 -16
  65. package/dist/{chunk-DOD3A6EU.js → chunk-MSOFZYI3.js} +4 -4
  66. package/dist/{chunk-JQU6PMH4.js → chunk-R744XA2M.js} +62 -45
  67. package/dist/{chunk-FAJ4R7IB.js → chunk-RFNMSC6N.js} +1 -1
  68. package/dist/{chunk-NIXVMMJM.js → chunk-S2W4ZSHE.js} +1 -1
  69. package/dist/{chunk-OUAE3GKO.js → chunk-TTBRBWAK.js} +278 -1
  70. package/dist/{chunk-6C6MS57P.js → chunk-TVY7AT6O.js} +1 -1
  71. package/dist/{chunk-2GLOHBYB.js → chunk-UWQVODHT.js} +1 -1
  72. package/dist/{chunk-6LRGZJFB.js → chunk-XK34HTMW.js} +10 -6
  73. package/dist/{chunk-SI7GYBQP.js → chunk-XKDKUFMP.js} +1 -1
  74. package/dist/{chunk-HB2KB7QL.js → chunk-XNXIMIFY.js} +1 -1
  75. package/dist/{chunk-K6CH5NVW.js → chunk-Y55JNI2I.js} +1 -1
  76. package/dist/{chunk-OBYC6SN4.js → chunk-YKLCWWEI.js} +1 -1
  77. package/dist/{chunk-B35OCFXH.js → chunk-ZZIUQVAN.js} +4 -4
  78. package/dist/reapply-I4NB5SSM.js +30 -0
  79. package/dist/src/index.js +13 -10
  80. package/package.json +1 -1
  81. package/dist/chunk-A76GNRIK.js +0 -608
@@ -1,69 +1,98 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePreToolUse
4
- } from "../chunk-6CYB77VD.js";
5
- import "../chunk-53QCTSWY.js";
6
- import "../chunk-XOOWC62T.js";
4
+ } from "../chunk-I3TWY7GH.js";
5
+ import {
6
+ activeHookSource,
7
+ normalizeToolCall,
8
+ profileFromArgv,
9
+ unreadablePathTool
10
+ } from "../chunk-HS2KEAFD.js";
11
+ import "../chunk-MGI6MLFU.js";
12
+ import "../chunk-3C4ERARU.js";
13
+ import "../chunk-DUOG74E7.js";
7
14
  import {
8
15
  readHookInput
9
- } from "../chunk-M4TVEMLH.js";
16
+ } from "../chunk-IWZG2Y4Z.js";
10
17
  import "../chunk-YHG74UFF.js";
11
- import "../chunk-5B5QV3KC.js";
12
- import "../chunk-OBYC6SN4.js";
13
- import "../chunk-W2MG2P46.js";
14
- import "../chunk-LBNAGGLV.js";
15
- import "../chunk-IRLTW6KF.js";
16
- import "../chunk-6LRGZJFB.js";
17
- import "../chunk-DOD3A6EU.js";
18
- import "../chunk-HFQ7WSHZ.js";
19
- import "../chunk-2GLOHBYB.js";
20
- import "../chunk-XPPXOKIG.js";
18
+ import "../chunk-HGEI7SVM.js";
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";
21
28
  import "../chunk-EQRS3SGM.js";
22
- import "../chunk-NQGYPTJQ.js";
29
+ import "../chunk-IBU7UU3R.js";
23
30
  import "../chunk-XHKBHWLX.js";
24
- import "../chunk-YJDRHQLG.js";
25
- import "../chunk-A76GNRIK.js";
26
- import "../chunk-OPR2BPD4.js";
31
+ import "../chunk-MDV7ZRAT.js";
32
+ import "../chunk-EMCNSBF3.js";
27
33
  import "../chunk-LGXUGYUH.js";
28
- import "../chunk-WU6LSXJ6.js";
29
- import "../chunk-XL3RKJYQ.js";
34
+ import "../chunk-7WMFPYR5.js";
35
+ import "../chunk-LTPQKBJH.js";
30
36
  import {
31
37
  exitOnHelpFlag
32
38
  } from "../chunk-GOQHN2UH.js";
33
39
  import "../chunk-LZQVAEWP.js";
34
40
  import "../chunk-GMXKITVA.js";
35
41
  import "../chunk-DINDL2CF.js";
36
- import "../chunk-SJLGOVC6.js";
42
+ import "../chunk-DOYARIYB.js";
37
43
  import "../chunk-EYRGBYZG.js";
38
44
  import "../chunk-SAF6HGAA.js";
39
45
  import "../chunk-7QLSKOSU.js";
40
46
  import "../chunk-KZERVKTD.js";
41
- import "../chunk-VZD2GEKB.js";
47
+ import "../chunk-A3D43VXO.js";
48
+ import "../chunk-4LL6LG5X.js";
42
49
  import "../chunk-2UMNXADU.js";
43
- import "../chunk-OUAE3GKO.js";
50
+ import {
51
+ renderPreToolUseVerdict
52
+ } from "../chunk-TTBRBWAK.js";
44
53
 
45
54
  // bin/pushary-hook.ts
46
55
  exitOnHelpFlag("hook");
56
+ var profile = profileFromArgv(process.argv);
57
+ var FALLBACK_TO_TERMINAL = {
58
+ hookSpecificOutput: {
59
+ hookEventName: "PreToolUse",
60
+ permissionDecision: "ask",
61
+ permissionDecisionReason: "Pushary hook error, falling back to terminal"
62
+ }
63
+ };
64
+ var askBecauseUnreadable = (toolName) => ({
65
+ hookSpecificOutput: {
66
+ hookEventName: "PreToolUse",
67
+ permissionDecision: "ask",
68
+ permissionDecisionReason: `Pushary could not read the path ${toolName} is writing to`
69
+ }
70
+ });
71
+ var emit = (verdict) => {
72
+ const output = verdict && profile ? renderPreToolUseVerdict(profile, verdict) : verdict;
73
+ if (output !== void 0) process.stdout.write(JSON.stringify(output));
74
+ };
47
75
  var main = async () => {
48
- const input = await readHookInput("claude", "PreToolUse");
49
- if (!input?.tool_name) {
76
+ const raw = await readHookInput(
77
+ activeHookSource(process.argv),
78
+ "PreToolUse"
79
+ );
80
+ if (!raw?.tool_name) {
50
81
  process.exit(0);
51
82
  }
52
83
  try {
53
- const output = await handlePreToolUse(input);
54
- if (output) process.stdout.write(JSON.stringify(output));
84
+ const unreadable = unreadablePathTool(profile, raw);
85
+ if (unreadable) {
86
+ emit(askBecauseUnreadable(unreadable));
87
+ return;
88
+ }
89
+ emit(await handlePreToolUse(normalizeToolCall(profile, raw)));
55
90
  } catch (err) {
56
91
  process.stderr.write(
57
92
  `[pushary-hook] Error: ${err instanceof Error ? err.message : String(err)}
58
93
  `
59
94
  );
60
- process.stdout.write(JSON.stringify({
61
- hookSpecificOutput: {
62
- hookEventName: "PreToolUse",
63
- permissionDecision: "ask",
64
- permissionDecisionReason: "Pushary hook error, falling back to terminal"
65
- }
66
- }));
95
+ emit(FALLBACK_TO_TERMINAL);
67
96
  }
68
97
  };
69
98
  main();
@@ -5,15 +5,15 @@ import {
5
5
  import "../chunk-PUZZELE6.js";
6
6
  import {
7
7
  recoverDaemonAfterLogin
8
- } from "../chunk-DOD3A6EU.js";
8
+ } from "../chunk-MSOFZYI3.js";
9
9
  import "../chunk-XHKBHWLX.js";
10
- import "../chunk-WU6LSXJ6.js";
11
- import "../chunk-XL3RKJYQ.js";
10
+ import "../chunk-7WMFPYR5.js";
11
+ import "../chunk-LTPQKBJH.js";
12
12
  import "../chunk-3EGEA4KH.js";
13
13
  import {
14
14
  checkApiKey,
15
15
  describeKeyCheck
16
- } from "../chunk-3RVCQDC4.js";
16
+ } from "../chunk-BOZETFXB.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-SJLGOVC6.js";
35
+ } from "../chunk-DOYARIYB.js";
36
36
  import "../chunk-SAF6HGAA.js";
37
37
  import {
38
38
  UsageError
@@ -40,11 +40,12 @@ import {
40
40
  import {
41
41
  EXIT
42
42
  } from "../chunk-KZERVKTD.js";
43
- import "../chunk-VZD2GEKB.js";
43
+ import "../chunk-A3D43VXO.js";
44
+ import "../chunk-4LL6LG5X.js";
44
45
  import "../chunk-2UMNXADU.js";
45
46
  import {
46
47
  isValidApiKey
47
- } from "../chunk-OUAE3GKO.js";
48
+ } from "../chunk-TTBRBWAK.js";
48
49
 
49
50
  // bin/pushary-login.ts
50
51
  exitOnHelpFlag("login");
@@ -4,7 +4,7 @@ import {
4
4
  codexConfigToml,
5
5
  cursorUserMcp,
6
6
  geminiSettings
7
- } from "../chunk-XL3RKJYQ.js";
7
+ } from "../chunk-LTPQKBJH.js";
8
8
  import {
9
9
  createIo
10
10
  } from "../chunk-5RUIFDTP.js";
@@ -19,18 +19,19 @@ import "../chunk-DINDL2CF.js";
19
19
  import {
20
20
  clearKey,
21
21
  readKeySource
22
- } from "../chunk-SJLGOVC6.js";
22
+ } from "../chunk-DOYARIYB.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-VZD2GEKB.js";
29
+ import "../chunk-A3D43VXO.js";
30
+ import "../chunk-4LL6LG5X.js";
30
31
  import {
31
32
  getBaseUrl
32
33
  } from "../chunk-2UMNXADU.js";
33
- import "../chunk-OUAE3GKO.js";
34
+ import "../chunk-TTBRBWAK.js";
34
35
 
35
36
  // bin/pushary-logout.ts
36
37
  import { existsSync } from "fs";
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  exitOnFailedResponse
4
- } from "../chunk-6C6MS57P.js";
5
- import "../chunk-3RVCQDC4.js";
4
+ } from "../chunk-TVY7AT6O.js";
5
+ import "../chunk-BOZETFXB.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-OUAE3GKO.js";
28
+ import "../chunk-TTBRBWAK.js";
29
29
 
30
30
  // src/cli/mode-request.ts
31
31
  var parseDuration = (value) => {
@@ -1,45 +1,51 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ activeHookSource,
4
+ activeIdentity
5
+ } from "../chunk-HS2KEAFD.js";
6
+ import "../chunk-MGI6MLFU.js";
2
7
  import {
3
8
  readHookInput
4
- } from "../chunk-M4TVEMLH.js";
5
- import "../chunk-5B5QV3KC.js";
6
- import "../chunk-OBYC6SN4.js";
7
- import "../chunk-W2MG2P46.js";
8
- import "../chunk-LBNAGGLV.js";
9
- import "../chunk-IRLTW6KF.js";
10
- import "../chunk-6LRGZJFB.js";
11
- import "../chunk-DOD3A6EU.js";
12
- import "../chunk-HFQ7WSHZ.js";
13
- import "../chunk-2GLOHBYB.js";
14
- import "../chunk-XPPXOKIG.js";
9
+ } from "../chunk-IWZG2Y4Z.js";
10
+ import "../chunk-HGEI7SVM.js";
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";
15
20
  import "../chunk-EQRS3SGM.js";
16
- import "../chunk-NQGYPTJQ.js";
21
+ import "../chunk-IBU7UU3R.js";
17
22
  import "../chunk-XHKBHWLX.js";
18
23
  import {
19
24
  handleNotification
20
- } from "../chunk-YJDRHQLG.js";
21
- import "../chunk-A76GNRIK.js";
22
- import "../chunk-OPR2BPD4.js";
25
+ } from "../chunk-MDV7ZRAT.js";
26
+ import "../chunk-EMCNSBF3.js";
23
27
  import "../chunk-LGXUGYUH.js";
24
- import "../chunk-WU6LSXJ6.js";
25
- import "../chunk-XL3RKJYQ.js";
28
+ import "../chunk-7WMFPYR5.js";
29
+ import "../chunk-LTPQKBJH.js";
26
30
  import "../chunk-GMXKITVA.js";
27
31
  import "../chunk-DINDL2CF.js";
28
- import "../chunk-SJLGOVC6.js";
32
+ import "../chunk-DOYARIYB.js";
29
33
  import "../chunk-EYRGBYZG.js";
30
34
  import "../chunk-SAF6HGAA.js";
31
35
  import "../chunk-7QLSKOSU.js";
32
36
  import "../chunk-KZERVKTD.js";
33
- import "../chunk-VZD2GEKB.js";
37
+ import "../chunk-A3D43VXO.js";
38
+ import "../chunk-4LL6LG5X.js";
34
39
  import "../chunk-2UMNXADU.js";
35
- import "../chunk-OUAE3GKO.js";
40
+ import "../chunk-TTBRBWAK.js";
36
41
 
37
42
  // bin/pushary-notification-hook.ts
43
+ var AGENT = activeIdentity(process.argv);
38
44
  var main = async () => {
39
- const input = await readHookInput("claude", "Notification");
45
+ const input = await readHookInput(activeHookSource(process.argv), "Notification");
40
46
  if (!input) return;
41
47
  try {
42
- await handleNotification(input);
48
+ await handleNotification(input, AGENT);
43
49
  } catch {
44
50
  }
45
51
  };
@@ -2,39 +2,29 @@
2
2
  import {
3
3
  isGatingMoment,
4
4
  recordKeylessMoment
5
- } from "../chunk-XOOWC62T.js";
5
+ } from "../chunk-DUOG74E7.js";
6
6
  import {
7
7
  readHookInput
8
- } from "../chunk-M4TVEMLH.js";
8
+ } from "../chunk-IWZG2Y4Z.js";
9
9
  import {
10
10
  denyReasonFrom,
11
11
  isDeferAnswer
12
12
  } from "../chunk-YHG74UFF.js";
13
- import "../chunk-5B5QV3KC.js";
14
- import "../chunk-OBYC6SN4.js";
15
- import "../chunk-W2MG2P46.js";
16
- import "../chunk-LBNAGGLV.js";
17
- import "../chunk-IRLTW6KF.js";
18
- import "../chunk-6LRGZJFB.js";
19
- import "../chunk-DOD3A6EU.js";
20
- import "../chunk-HFQ7WSHZ.js";
21
- import "../chunk-2GLOHBYB.js";
22
- import "../chunk-XPPXOKIG.js";
13
+ import "../chunk-HGEI7SVM.js";
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";
23
23
  import "../chunk-EQRS3SGM.js";
24
- import "../chunk-NQGYPTJQ.js";
24
+ import "../chunk-IBU7UU3R.js";
25
25
  import "../chunk-XHKBHWLX.js";
26
26
  import {
27
27
  DEFAULT_SESSION,
28
- fetchModeState,
29
- getPolicy,
30
- handlePostToolUse,
31
- handleStop,
32
- handleUserPrompt,
33
- policyRequestFor,
34
- readLastPrompt,
35
- repoKeyFor
36
- } from "../chunk-YJDRHQLG.js";
37
- import {
38
28
  HOOK_FALLBACK_MAX,
39
29
  OPENCODE_TOOL_NAMES,
40
30
  UNNAMED_ACTION,
@@ -42,9 +32,17 @@ import {
42
32
  deriveBlocker,
43
33
  deriveToolTarget,
44
34
  describeToolCall,
35
+ fetchModeState,
36
+ getPolicy,
37
+ handlePostToolUse,
38
+ handleStop,
39
+ handleUserPrompt,
40
+ policyRequestFor,
41
+ readLastPrompt,
42
+ repoKeyFor,
45
43
  scopePathFor
46
- } from "../chunk-A76GNRIK.js";
47
- import "../chunk-OPR2BPD4.js";
44
+ } from "../chunk-MDV7ZRAT.js";
45
+ import "../chunk-EMCNSBF3.js";
48
46
  import {
49
47
  DECISION_STOP_REASON,
50
48
  askUser,
@@ -56,16 +54,17 @@ import {
56
54
  } from "../chunk-LGXUGYUH.js";
57
55
  import {
58
56
  getMachineId
59
- } from "../chunk-WU6LSXJ6.js";
60
- import "../chunk-XL3RKJYQ.js";
57
+ } from "../chunk-7WMFPYR5.js";
58
+ import "../chunk-LTPQKBJH.js";
61
59
  import "../chunk-GMXKITVA.js";
62
60
  import "../chunk-DINDL2CF.js";
63
- import "../chunk-SJLGOVC6.js";
61
+ import "../chunk-DOYARIYB.js";
64
62
  import "../chunk-EYRGBYZG.js";
65
63
  import "../chunk-SAF6HGAA.js";
66
64
  import "../chunk-7QLSKOSU.js";
67
65
  import "../chunk-KZERVKTD.js";
68
- import "../chunk-VZD2GEKB.js";
66
+ import "../chunk-A3D43VXO.js";
67
+ import "../chunk-4LL6LG5X.js";
69
68
  import {
70
69
  getApiKey
71
70
  } from "../chunk-2UMNXADU.js";
@@ -79,7 +78,7 @@ import {
79
78
  hookWaitDeadline,
80
79
  redactSecrets,
81
80
  resolveGate
82
- } from "../chunk-OUAE3GKO.js";
81
+ } from "../chunk-TTBRBWAK.js";
83
82
 
84
83
  // bin/pushary-opencode-hook.ts
85
84
  import { basename } from "path";
@@ -1,45 +1,47 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePermissionDenied
4
- } from "../chunk-6CYB77VD.js";
4
+ } from "../chunk-I3TWY7GH.js";
5
+ import "../chunk-HS2KEAFD.js";
6
+ import "../chunk-MGI6MLFU.js";
5
7
  import {
6
8
  takeHookHoldBudget
7
- } from "../chunk-SI7GYBQP.js";
8
- import "../chunk-53QCTSWY.js";
9
- import "../chunk-XOOWC62T.js";
9
+ } from "../chunk-XKDKUFMP.js";
10
+ import "../chunk-3C4ERARU.js";
11
+ import "../chunk-DUOG74E7.js";
10
12
  import {
11
13
  readHookInput
12
- } from "../chunk-M4TVEMLH.js";
14
+ } from "../chunk-IWZG2Y4Z.js";
13
15
  import "../chunk-YHG74UFF.js";
14
- import "../chunk-5B5QV3KC.js";
15
- import "../chunk-OBYC6SN4.js";
16
- import "../chunk-W2MG2P46.js";
17
- import "../chunk-LBNAGGLV.js";
18
- import "../chunk-IRLTW6KF.js";
19
- import "../chunk-6LRGZJFB.js";
20
- import "../chunk-DOD3A6EU.js";
21
- import "../chunk-HFQ7WSHZ.js";
22
- import "../chunk-2GLOHBYB.js";
23
- import "../chunk-XPPXOKIG.js";
16
+ import "../chunk-HGEI7SVM.js";
17
+ import "../chunk-YKLCWWEI.js";
18
+ import "../chunk-2SL5X7UB.js";
19
+ import "../chunk-3UUAK2AK.js";
20
+ import "../chunk-CDTGL7TT.js";
21
+ import "../chunk-XK34HTMW.js";
22
+ import "../chunk-MSOFZYI3.js";
23
+ import "../chunk-2PS3DTHQ.js";
24
+ import "../chunk-UWQVODHT.js";
25
+ import "../chunk-7ZDFVWRR.js";
24
26
  import "../chunk-EQRS3SGM.js";
25
- import "../chunk-NQGYPTJQ.js";
27
+ import "../chunk-IBU7UU3R.js";
26
28
  import "../chunk-XHKBHWLX.js";
27
- import "../chunk-YJDRHQLG.js";
28
- import "../chunk-A76GNRIK.js";
29
- import "../chunk-OPR2BPD4.js";
29
+ import "../chunk-MDV7ZRAT.js";
30
+ import "../chunk-EMCNSBF3.js";
30
31
  import "../chunk-LGXUGYUH.js";
31
- import "../chunk-WU6LSXJ6.js";
32
- import "../chunk-XL3RKJYQ.js";
32
+ import "../chunk-7WMFPYR5.js";
33
+ import "../chunk-LTPQKBJH.js";
33
34
  import "../chunk-GMXKITVA.js";
34
35
  import "../chunk-DINDL2CF.js";
35
- import "../chunk-SJLGOVC6.js";
36
+ import "../chunk-DOYARIYB.js";
36
37
  import "../chunk-EYRGBYZG.js";
37
38
  import "../chunk-SAF6HGAA.js";
38
39
  import "../chunk-7QLSKOSU.js";
39
40
  import "../chunk-KZERVKTD.js";
40
- import "../chunk-VZD2GEKB.js";
41
+ import "../chunk-A3D43VXO.js";
42
+ import "../chunk-4LL6LG5X.js";
41
43
  import "../chunk-2UMNXADU.js";
42
- import "../chunk-OUAE3GKO.js";
44
+ import "../chunk-TTBRBWAK.js";
43
45
 
44
46
  // bin/pushary-permission-denied-hook.ts
45
47
  var main = async () => {
@@ -1,49 +1,58 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePermissionRequest
4
- } from "../chunk-6CYB77VD.js";
5
- import "../chunk-53QCTSWY.js";
6
- import "../chunk-XOOWC62T.js";
4
+ } from "../chunk-I3TWY7GH.js";
5
+ import {
6
+ activeHookSource,
7
+ normalizeToolCall,
8
+ profileFromArgv,
9
+ unreadablePathTool
10
+ } from "../chunk-HS2KEAFD.js";
11
+ import "../chunk-MGI6MLFU.js";
12
+ import "../chunk-3C4ERARU.js";
13
+ import "../chunk-DUOG74E7.js";
7
14
  import {
8
15
  readHookInput
9
- } from "../chunk-M4TVEMLH.js";
16
+ } from "../chunk-IWZG2Y4Z.js";
10
17
  import "../chunk-YHG74UFF.js";
11
- import "../chunk-5B5QV3KC.js";
12
- import "../chunk-OBYC6SN4.js";
13
- import "../chunk-W2MG2P46.js";
14
- import "../chunk-LBNAGGLV.js";
15
- import "../chunk-IRLTW6KF.js";
16
- import "../chunk-6LRGZJFB.js";
17
- import "../chunk-DOD3A6EU.js";
18
- import "../chunk-HFQ7WSHZ.js";
19
- import "../chunk-2GLOHBYB.js";
20
- import "../chunk-XPPXOKIG.js";
18
+ import "../chunk-HGEI7SVM.js";
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";
21
28
  import "../chunk-EQRS3SGM.js";
22
- import "../chunk-NQGYPTJQ.js";
29
+ import "../chunk-IBU7UU3R.js";
23
30
  import "../chunk-XHKBHWLX.js";
24
- import "../chunk-YJDRHQLG.js";
25
- import "../chunk-A76GNRIK.js";
26
- import "../chunk-OPR2BPD4.js";
31
+ import "../chunk-MDV7ZRAT.js";
32
+ import "../chunk-EMCNSBF3.js";
27
33
  import "../chunk-LGXUGYUH.js";
28
- import "../chunk-WU6LSXJ6.js";
29
- import "../chunk-XL3RKJYQ.js";
34
+ import "../chunk-7WMFPYR5.js";
35
+ import "../chunk-LTPQKBJH.js";
30
36
  import "../chunk-GMXKITVA.js";
31
37
  import "../chunk-DINDL2CF.js";
32
- import "../chunk-SJLGOVC6.js";
38
+ import "../chunk-DOYARIYB.js";
33
39
  import "../chunk-EYRGBYZG.js";
34
40
  import "../chunk-SAF6HGAA.js";
35
41
  import "../chunk-7QLSKOSU.js";
36
42
  import "../chunk-KZERVKTD.js";
37
- import "../chunk-VZD2GEKB.js";
43
+ import "../chunk-A3D43VXO.js";
44
+ import "../chunk-4LL6LG5X.js";
38
45
  import "../chunk-2UMNXADU.js";
39
- import "../chunk-OUAE3GKO.js";
46
+ import "../chunk-TTBRBWAK.js";
40
47
 
41
48
  // bin/pushary-permission-hook.ts
49
+ var profile = profileFromArgv(process.argv);
42
50
  var main = async () => {
43
- const input = await readHookInput("claude", "PermissionRequest");
51
+ const input = await readHookInput(activeHookSource(process.argv), "PermissionRequest");
44
52
  if (!input) return;
45
53
  try {
46
- const output = await handlePermissionRequest(input);
54
+ if (unreadablePathTool(profile, input)) return;
55
+ const output = await handlePermissionRequest(normalizeToolCall(profile, input));
47
56
  if (output) process.stdout.write(JSON.stringify(output));
48
57
  } catch {
49
58
  }
@@ -1,51 +1,60 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ activeHookSource,
4
+ activeIdentity,
5
+ normalizeToolCall,
6
+ profileFromArgv
7
+ } from "../chunk-HS2KEAFD.js";
8
+ import "../chunk-MGI6MLFU.js";
2
9
  import {
3
10
  readHookInput
4
- } from "../chunk-M4TVEMLH.js";
5
- import "../chunk-5B5QV3KC.js";
6
- import "../chunk-OBYC6SN4.js";
7
- import "../chunk-W2MG2P46.js";
8
- import "../chunk-LBNAGGLV.js";
9
- import "../chunk-IRLTW6KF.js";
10
- import "../chunk-6LRGZJFB.js";
11
- import "../chunk-DOD3A6EU.js";
12
- import "../chunk-HFQ7WSHZ.js";
13
- import "../chunk-2GLOHBYB.js";
14
- import "../chunk-XPPXOKIG.js";
11
+ } from "../chunk-IWZG2Y4Z.js";
12
+ import "../chunk-HGEI7SVM.js";
13
+ import "../chunk-YKLCWWEI.js";
14
+ import "../chunk-2SL5X7UB.js";
15
+ import "../chunk-3UUAK2AK.js";
16
+ import "../chunk-CDTGL7TT.js";
17
+ import "../chunk-XK34HTMW.js";
18
+ import "../chunk-MSOFZYI3.js";
19
+ import "../chunk-2PS3DTHQ.js";
20
+ import "../chunk-UWQVODHT.js";
21
+ import "../chunk-7ZDFVWRR.js";
15
22
  import "../chunk-EQRS3SGM.js";
16
- import "../chunk-NQGYPTJQ.js";
23
+ import "../chunk-IBU7UU3R.js";
17
24
  import "../chunk-XHKBHWLX.js";
18
25
  import {
19
26
  handleCompaction,
20
27
  handlePostToolUse,
21
28
  isCompactionEvent
22
- } from "../chunk-YJDRHQLG.js";
23
- import "../chunk-A76GNRIK.js";
24
- import "../chunk-OPR2BPD4.js";
29
+ } from "../chunk-MDV7ZRAT.js";
30
+ import "../chunk-EMCNSBF3.js";
25
31
  import "../chunk-LGXUGYUH.js";
26
- import "../chunk-WU6LSXJ6.js";
27
- import "../chunk-XL3RKJYQ.js";
32
+ import "../chunk-7WMFPYR5.js";
33
+ import "../chunk-LTPQKBJH.js";
28
34
  import "../chunk-GMXKITVA.js";
29
35
  import "../chunk-DINDL2CF.js";
30
- import "../chunk-SJLGOVC6.js";
36
+ import "../chunk-DOYARIYB.js";
31
37
  import "../chunk-EYRGBYZG.js";
32
38
  import "../chunk-SAF6HGAA.js";
33
39
  import "../chunk-7QLSKOSU.js";
34
40
  import "../chunk-KZERVKTD.js";
35
- import "../chunk-VZD2GEKB.js";
41
+ import "../chunk-A3D43VXO.js";
42
+ import "../chunk-4LL6LG5X.js";
36
43
  import "../chunk-2UMNXADU.js";
37
- import "../chunk-OUAE3GKO.js";
44
+ import "../chunk-TTBRBWAK.js";
38
45
 
39
46
  // bin/pushary-post-hook.ts
47
+ var profile = profileFromArgv(process.argv);
48
+ var AGENT = activeIdentity(process.argv);
40
49
  var main = async () => {
41
- const input = await readHookInput("claude", "PostToolUse");
50
+ const input = await readHookInput(activeHookSource(process.argv), "PostToolUse");
42
51
  if (!input) return;
43
52
  try {
44
53
  if (isCompactionEvent(input.hook_event_name)) {
45
- await handleCompaction(input);
54
+ await handleCompaction(input, AGENT);
46
55
  return;
47
56
  }
48
- const additionalContext = await handlePostToolUse(input);
57
+ const additionalContext = await handlePostToolUse(normalizeToolCall(profile, input), AGENT);
49
58
  if (additionalContext) {
50
59
  process.stdout.write(JSON.stringify({
51
60
  hookSpecificOutput: { hookEventName: "PostToolUse", additionalContext }