@pushary/agent-hooks 0.99.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 (79) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/bin/pushary-bell-hook.js +18 -18
  3. package/dist/bin/pushary-bell.js +6 -6
  4. package/dist/bin/pushary-claude.js +22 -24
  5. package/dist/bin/pushary-clean.js +60 -18
  6. package/dist/bin/pushary-codex-bridge.js +10 -10
  7. package/dist/bin/pushary-codex-hook.js +33 -35
  8. package/dist/bin/pushary-codex.js +6 -7
  9. package/dist/bin/pushary-connect.js +6 -6
  10. package/dist/bin/pushary-cowork.js +3 -3
  11. package/dist/bin/pushary-daemon.js +22 -22
  12. package/dist/bin/pushary-disconnect.js +48 -7
  13. package/dist/bin/pushary-doctor.js +58 -19
  14. package/dist/bin/pushary-elicitation-hook.js +17 -17
  15. package/dist/bin/pushary-gemini-bridge.js +9 -9
  16. package/dist/bin/pushary-gemini-hook.js +25 -27
  17. package/dist/bin/pushary-hook.js +61 -33
  18. package/dist/bin/pushary-login.js +7 -7
  19. package/dist/bin/pushary-logout.js +4 -4
  20. package/dist/bin/pushary-mode.js +3 -3
  21. package/dist/bin/pushary-notification-hook.js +26 -21
  22. package/dist/bin/pushary-opencode-hook.js +27 -29
  23. package/dist/bin/pushary-permission-denied-hook.js +24 -23
  24. package/dist/bin/pushary-permission-hook.js +32 -24
  25. package/dist/bin/pushary-post-hook.js +30 -22
  26. package/dist/bin/pushary-prompt-hook.js +26 -21
  27. package/dist/bin/pushary-session-end-hook.js +26 -21
  28. package/dist/bin/pushary-session-start-hook.js +30 -25
  29. package/dist/bin/pushary-setup.js +145 -37
  30. package/dist/bin/pushary-stats.js +2 -2
  31. package/dist/bin/pushary-status.js +10 -10
  32. package/dist/bin/pushary-stop-hook.js +27 -22
  33. package/dist/bin/pushary-stopfailure-hook.js +26 -21
  34. package/dist/bin/pushary-transcript-register.js +16 -16
  35. package/dist/bin/pushary-transcripts.js +4 -4
  36. package/dist/bin/pushary-upgrade.js +14 -14
  37. package/dist/bin/pushary-wait.js +3 -3
  38. package/dist/{chunk-PD6JY33P.js → chunk-2PS3DTHQ.js} +4 -3
  39. package/dist/{chunk-RALVI7OF.js → chunk-2SL5X7UB.js} +9 -6
  40. package/dist/{chunk-6KLCP7VF.js → chunk-3C4ERARU.js} +3 -3
  41. package/dist/{chunk-LBNAGGLV.js → chunk-3UUAK2AK.js} +3 -2
  42. package/dist/{chunk-V262ATS5.js → chunk-447SBIC7.js} +15 -2
  43. package/dist/{chunk-562UJ2DA.js → chunk-7WMFPYR5.js} +1 -1
  44. package/dist/{chunk-XPPXOKIG.js → chunk-7ZDFVWRR.js} +1 -1
  45. package/dist/{chunk-GCD3SQSV.js → chunk-A3D43VXO.js} +1 -1
  46. package/dist/{chunk-3RVCQDC4.js → chunk-BOZETFXB.js} +1 -1
  47. package/dist/{chunk-4C4XFAGJ.js → chunk-BPD4P3NN.js} +2 -2
  48. package/dist/{chunk-IRLTW6KF.js → chunk-CDTGL7TT.js} +1 -1
  49. package/dist/{chunk-CP34FI4B.js → chunk-D2N2EJH2.js} +2 -2
  50. package/dist/{chunk-6IFUXNFX.js → chunk-DMJTWULU.js} +1 -1
  51. package/dist/{chunk-4PBCNVI3.js → chunk-DOYARIYB.js} +1 -1
  52. package/dist/{chunk-XOOWC62T.js → chunk-DUOG74E7.js} +1 -1
  53. package/dist/{chunk-OPR2BPD4.js → chunk-EMCNSBF3.js} +1 -1
  54. package/dist/{chunk-5KLAETSU.js → chunk-GTR72MIU.js} +1 -1
  55. package/dist/{chunk-NSFNEDCT.js → chunk-HGEI7SVM.js} +6 -6
  56. package/dist/chunk-HS2KEAFD.js +224 -0
  57. package/dist/{chunk-T3JZZUAR.js → chunk-I3TWY7GH.js} +30 -29
  58. package/dist/{chunk-ID5FDKDZ.js → chunk-IBU7UU3R.js} +1 -1
  59. package/dist/{chunk-O3LZQEQP.js → chunk-IWZG2Y4Z.js} +1 -1
  60. package/dist/{chunk-WGV3VY7O.js → chunk-IYA3NCZG.js} +2 -2
  61. package/dist/{chunk-JBJBVERL.js → chunk-LTPQKBJH.js} +1 -1
  62. package/dist/{chunk-64WARXGV.js → chunk-MDV7ZRAT.js} +698 -43
  63. package/dist/{chunk-QS55LDX4.js → chunk-MGI6MLFU.js} +16 -16
  64. package/dist/{chunk-CRFLU455.js → chunk-MSOFZYI3.js} +3 -3
  65. package/dist/{chunk-LWKPMSBB.js → chunk-R744XA2M.js} +5 -5
  66. package/dist/{chunk-3ZAEUPM4.js → chunk-RFNMSC6N.js} +1 -1
  67. package/dist/{chunk-K6BASBQJ.js → chunk-S2W4ZSHE.js} +1 -1
  68. package/dist/{chunk-OUAE3GKO.js → chunk-TTBRBWAK.js} +278 -1
  69. package/dist/{chunk-6C6MS57P.js → chunk-TVY7AT6O.js} +1 -1
  70. package/dist/{chunk-EXHXR2X5.js → chunk-UWQVODHT.js} +1 -1
  71. package/dist/{chunk-JXELRCU5.js → chunk-XK34HTMW.js} +3 -3
  72. package/dist/{chunk-SI7GYBQP.js → chunk-XKDKUFMP.js} +1 -1
  73. package/dist/{chunk-HB2KB7QL.js → chunk-XNXIMIFY.js} +1 -1
  74. package/dist/{chunk-K4XFCEVI.js → chunk-Y55JNI2I.js} +1 -1
  75. package/dist/{chunk-JL33EDN7.js → chunk-ZZIUQVAN.js} +4 -4
  76. package/dist/{reapply-HQ264ZTR.js → reapply-I4NB5SSM.js} +8 -8
  77. package/dist/src/index.js +12 -10
  78. package/package.json +1 -1
  79. package/dist/chunk-A76GNRIK.js +0 -608
@@ -1,70 +1,98 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePreToolUse
4
- } from "../chunk-T3JZZUAR.js";
5
- import "../chunk-6KLCP7VF.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-O3LZQEQP.js";
16
+ } from "../chunk-IWZG2Y4Z.js";
10
17
  import "../chunk-YHG74UFF.js";
11
- import "../chunk-NSFNEDCT.js";
18
+ import "../chunk-HGEI7SVM.js";
12
19
  import "../chunk-YKLCWWEI.js";
13
- import "../chunk-RALVI7OF.js";
14
- import "../chunk-LBNAGGLV.js";
15
- import "../chunk-IRLTW6KF.js";
16
- import "../chunk-JXELRCU5.js";
17
- import "../chunk-CRFLU455.js";
18
- import "../chunk-PD6JY33P.js";
19
- import "../chunk-EXHXR2X5.js";
20
- import "../chunk-XPPXOKIG.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-ID5FDKDZ.js";
29
+ import "../chunk-IBU7UU3R.js";
23
30
  import "../chunk-XHKBHWLX.js";
24
- import "../chunk-64WARXGV.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-562UJ2DA.js";
29
- import "../chunk-JBJBVERL.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-4PBCNVI3.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-GCD3SQSV.js";
47
+ import "../chunk-A3D43VXO.js";
42
48
  import "../chunk-4LL6LG5X.js";
43
49
  import "../chunk-2UMNXADU.js";
44
- import "../chunk-OUAE3GKO.js";
50
+ import {
51
+ renderPreToolUseVerdict
52
+ } from "../chunk-TTBRBWAK.js";
45
53
 
46
54
  // bin/pushary-hook.ts
47
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
+ };
48
75
  var main = async () => {
49
- const input = await readHookInput("claude", "PreToolUse");
50
- if (!input?.tool_name) {
76
+ const raw = await readHookInput(
77
+ activeHookSource(process.argv),
78
+ "PreToolUse"
79
+ );
80
+ if (!raw?.tool_name) {
51
81
  process.exit(0);
52
82
  }
53
83
  try {
54
- const output = await handlePreToolUse(input);
55
- 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)));
56
90
  } catch (err) {
57
91
  process.stderr.write(
58
92
  `[pushary-hook] Error: ${err instanceof Error ? err.message : String(err)}
59
93
  `
60
94
  );
61
- process.stdout.write(JSON.stringify({
62
- hookSpecificOutput: {
63
- hookEventName: "PreToolUse",
64
- permissionDecision: "ask",
65
- permissionDecisionReason: "Pushary hook error, falling back to terminal"
66
- }
67
- }));
95
+ emit(FALLBACK_TO_TERMINAL);
68
96
  }
69
97
  };
70
98
  main();
@@ -5,15 +5,15 @@ import {
5
5
  import "../chunk-PUZZELE6.js";
6
6
  import {
7
7
  recoverDaemonAfterLogin
8
- } from "../chunk-CRFLU455.js";
8
+ } from "../chunk-MSOFZYI3.js";
9
9
  import "../chunk-XHKBHWLX.js";
10
- import "../chunk-562UJ2DA.js";
11
- import "../chunk-JBJBVERL.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-4PBCNVI3.js";
35
+ } from "../chunk-DOYARIYB.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-GCD3SQSV.js";
43
+ import "../chunk-A3D43VXO.js";
44
44
  import "../chunk-4LL6LG5X.js";
45
45
  import "../chunk-2UMNXADU.js";
46
46
  import {
47
47
  isValidApiKey
48
- } from "../chunk-OUAE3GKO.js";
48
+ } from "../chunk-TTBRBWAK.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-JBJBVERL.js";
7
+ } from "../chunk-LTPQKBJH.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-4PBCNVI3.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-GCD3SQSV.js";
29
+ import "../chunk-A3D43VXO.js";
30
30
  import "../chunk-4LL6LG5X.js";
31
31
  import {
32
32
  getBaseUrl
33
33
  } from "../chunk-2UMNXADU.js";
34
- import "../chunk-OUAE3GKO.js";
34
+ import "../chunk-TTBRBWAK.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-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,46 +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-O3LZQEQP.js";
5
- import "../chunk-NSFNEDCT.js";
9
+ } from "../chunk-IWZG2Y4Z.js";
10
+ import "../chunk-HGEI7SVM.js";
6
11
  import "../chunk-YKLCWWEI.js";
7
- import "../chunk-RALVI7OF.js";
8
- import "../chunk-LBNAGGLV.js";
9
- import "../chunk-IRLTW6KF.js";
10
- import "../chunk-JXELRCU5.js";
11
- import "../chunk-CRFLU455.js";
12
- import "../chunk-PD6JY33P.js";
13
- import "../chunk-EXHXR2X5.js";
14
- import "../chunk-XPPXOKIG.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-ID5FDKDZ.js";
21
+ import "../chunk-IBU7UU3R.js";
17
22
  import "../chunk-XHKBHWLX.js";
18
23
  import {
19
24
  handleNotification
20
- } from "../chunk-64WARXGV.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-562UJ2DA.js";
25
- import "../chunk-JBJBVERL.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-4PBCNVI3.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-GCD3SQSV.js";
37
+ import "../chunk-A3D43VXO.js";
34
38
  import "../chunk-4LL6LG5X.js";
35
39
  import "../chunk-2UMNXADU.js";
36
- import "../chunk-OUAE3GKO.js";
40
+ import "../chunk-TTBRBWAK.js";
37
41
 
38
42
  // bin/pushary-notification-hook.ts
43
+ var AGENT = activeIdentity(process.argv);
39
44
  var main = async () => {
40
- const input = await readHookInput("claude", "Notification");
45
+ const input = await readHookInput(activeHookSource(process.argv), "Notification");
41
46
  if (!input) return;
42
47
  try {
43
- await handleNotification(input);
48
+ await handleNotification(input, AGENT);
44
49
  } catch {
45
50
  }
46
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-O3LZQEQP.js";
8
+ } from "../chunk-IWZG2Y4Z.js";
9
9
  import {
10
10
  denyReasonFrom,
11
11
  isDeferAnswer
12
12
  } from "../chunk-YHG74UFF.js";
13
- import "../chunk-NSFNEDCT.js";
13
+ import "../chunk-HGEI7SVM.js";
14
14
  import "../chunk-YKLCWWEI.js";
15
- import "../chunk-RALVI7OF.js";
16
- import "../chunk-LBNAGGLV.js";
17
- import "../chunk-IRLTW6KF.js";
18
- import "../chunk-JXELRCU5.js";
19
- import "../chunk-CRFLU455.js";
20
- import "../chunk-PD6JY33P.js";
21
- import "../chunk-EXHXR2X5.js";
22
- import "../chunk-XPPXOKIG.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-ID5FDKDZ.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-64WARXGV.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,16 @@ import {
56
54
  } from "../chunk-LGXUGYUH.js";
57
55
  import {
58
56
  getMachineId
59
- } from "../chunk-562UJ2DA.js";
60
- import "../chunk-JBJBVERL.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-4PBCNVI3.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-GCD3SQSV.js";
66
+ import "../chunk-A3D43VXO.js";
69
67
  import "../chunk-4LL6LG5X.js";
70
68
  import {
71
69
  getApiKey
@@ -80,7 +78,7 @@ import {
80
78
  hookWaitDeadline,
81
79
  redactSecrets,
82
80
  resolveGate
83
- } from "../chunk-OUAE3GKO.js";
81
+ } from "../chunk-TTBRBWAK.js";
84
82
 
85
83
  // bin/pushary-opencode-hook.ts
86
84
  import { basename } from "path";
@@ -1,46 +1,47 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePermissionDenied
4
- } from "../chunk-T3JZZUAR.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-6KLCP7VF.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-O3LZQEQP.js";
14
+ } from "../chunk-IWZG2Y4Z.js";
13
15
  import "../chunk-YHG74UFF.js";
14
- import "../chunk-NSFNEDCT.js";
16
+ import "../chunk-HGEI7SVM.js";
15
17
  import "../chunk-YKLCWWEI.js";
16
- import "../chunk-RALVI7OF.js";
17
- import "../chunk-LBNAGGLV.js";
18
- import "../chunk-IRLTW6KF.js";
19
- import "../chunk-JXELRCU5.js";
20
- import "../chunk-CRFLU455.js";
21
- import "../chunk-PD6JY33P.js";
22
- import "../chunk-EXHXR2X5.js";
23
- import "../chunk-XPPXOKIG.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-ID5FDKDZ.js";
27
+ import "../chunk-IBU7UU3R.js";
26
28
  import "../chunk-XHKBHWLX.js";
27
- import "../chunk-64WARXGV.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-562UJ2DA.js";
32
- import "../chunk-JBJBVERL.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-4PBCNVI3.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-GCD3SQSV.js";
41
+ import "../chunk-A3D43VXO.js";
41
42
  import "../chunk-4LL6LG5X.js";
42
43
  import "../chunk-2UMNXADU.js";
43
- import "../chunk-OUAE3GKO.js";
44
+ import "../chunk-TTBRBWAK.js";
44
45
 
45
46
  // bin/pushary-permission-denied-hook.ts
46
47
  var main = async () => {
@@ -1,50 +1,58 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePermissionRequest
4
- } from "../chunk-T3JZZUAR.js";
5
- import "../chunk-6KLCP7VF.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-O3LZQEQP.js";
16
+ } from "../chunk-IWZG2Y4Z.js";
10
17
  import "../chunk-YHG74UFF.js";
11
- import "../chunk-NSFNEDCT.js";
18
+ import "../chunk-HGEI7SVM.js";
12
19
  import "../chunk-YKLCWWEI.js";
13
- import "../chunk-RALVI7OF.js";
14
- import "../chunk-LBNAGGLV.js";
15
- import "../chunk-IRLTW6KF.js";
16
- import "../chunk-JXELRCU5.js";
17
- import "../chunk-CRFLU455.js";
18
- import "../chunk-PD6JY33P.js";
19
- import "../chunk-EXHXR2X5.js";
20
- import "../chunk-XPPXOKIG.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-ID5FDKDZ.js";
29
+ import "../chunk-IBU7UU3R.js";
23
30
  import "../chunk-XHKBHWLX.js";
24
- import "../chunk-64WARXGV.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-562UJ2DA.js";
29
- import "../chunk-JBJBVERL.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-4PBCNVI3.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-GCD3SQSV.js";
43
+ import "../chunk-A3D43VXO.js";
38
44
  import "../chunk-4LL6LG5X.js";
39
45
  import "../chunk-2UMNXADU.js";
40
- import "../chunk-OUAE3GKO.js";
46
+ import "../chunk-TTBRBWAK.js";
41
47
 
42
48
  // bin/pushary-permission-hook.ts
49
+ var profile = profileFromArgv(process.argv);
43
50
  var main = async () => {
44
- const input = await readHookInput("claude", "PermissionRequest");
51
+ const input = await readHookInput(activeHookSource(process.argv), "PermissionRequest");
45
52
  if (!input) return;
46
53
  try {
47
- const output = await handlePermissionRequest(input);
54
+ if (unreadablePathTool(profile, input)) return;
55
+ const output = await handlePermissionRequest(normalizeToolCall(profile, input));
48
56
  if (output) process.stdout.write(JSON.stringify(output));
49
57
  } catch {
50
58
  }
@@ -1,52 +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-O3LZQEQP.js";
5
- import "../chunk-NSFNEDCT.js";
11
+ } from "../chunk-IWZG2Y4Z.js";
12
+ import "../chunk-HGEI7SVM.js";
6
13
  import "../chunk-YKLCWWEI.js";
7
- import "../chunk-RALVI7OF.js";
8
- import "../chunk-LBNAGGLV.js";
9
- import "../chunk-IRLTW6KF.js";
10
- import "../chunk-JXELRCU5.js";
11
- import "../chunk-CRFLU455.js";
12
- import "../chunk-PD6JY33P.js";
13
- import "../chunk-EXHXR2X5.js";
14
- import "../chunk-XPPXOKIG.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-ID5FDKDZ.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-64WARXGV.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-562UJ2DA.js";
27
- import "../chunk-JBJBVERL.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-4PBCNVI3.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-GCD3SQSV.js";
41
+ import "../chunk-A3D43VXO.js";
36
42
  import "../chunk-4LL6LG5X.js";
37
43
  import "../chunk-2UMNXADU.js";
38
- import "../chunk-OUAE3GKO.js";
44
+ import "../chunk-TTBRBWAK.js";
39
45
 
40
46
  // bin/pushary-post-hook.ts
47
+ var profile = profileFromArgv(process.argv);
48
+ var AGENT = activeIdentity(process.argv);
41
49
  var main = async () => {
42
- const input = await readHookInput("claude", "PostToolUse");
50
+ const input = await readHookInput(activeHookSource(process.argv), "PostToolUse");
43
51
  if (!input) return;
44
52
  try {
45
53
  if (isCompactionEvent(input.hook_event_name)) {
46
- await handleCompaction(input);
54
+ await handleCompaction(input, AGENT);
47
55
  return;
48
56
  }
49
- const additionalContext = await handlePostToolUse(input);
57
+ const additionalContext = await handlePostToolUse(normalizeToolCall(profile, input), AGENT);
50
58
  if (additionalContext) {
51
59
  process.stdout.write(JSON.stringify({
52
60
  hookSpecificOutput: { hookEventName: "PostToolUse", additionalContext }