@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
@@ -2,22 +2,22 @@
2
2
  import {
3
3
  describeLastSeen,
4
4
  listMachines
5
- } from "../chunk-JL33EDN7.js";
6
- import "../chunk-WGV3VY7O.js";
7
- import "../chunk-CRFLU455.js";
5
+ } from "../chunk-ZZIUQVAN.js";
6
+ import "../chunk-IYA3NCZG.js";
7
+ import "../chunk-MSOFZYI3.js";
8
8
  import "../chunk-XHKBHWLX.js";
9
- import "../chunk-562UJ2DA.js";
10
- import "../chunk-JBJBVERL.js";
9
+ import "../chunk-7WMFPYR5.js";
10
+ import "../chunk-LTPQKBJH.js";
11
11
  import {
12
12
  describeReach,
13
13
  fetchChannels,
14
14
  reachVerdict
15
- } from "../chunk-4C4XFAGJ.js";
15
+ } from "../chunk-BPD4P3NN.js";
16
16
  import "../chunk-3EGEA4KH.js";
17
17
  import {
18
18
  checkApiKey,
19
19
  describeKeyCheck
20
- } from "../chunk-3RVCQDC4.js";
20
+ } from "../chunk-BOZETFXB.js";
21
21
  import "../chunk-QCGNGEGE.js";
22
22
  import {
23
23
  createIo
@@ -32,7 +32,7 @@ import {
32
32
  import "../chunk-DINDL2CF.js";
33
33
  import {
34
34
  readKeySource
35
- } from "../chunk-4PBCNVI3.js";
35
+ } from "../chunk-DOYARIYB.js";
36
36
  import "../chunk-EYRGBYZG.js";
37
37
  import "../chunk-SAF6HGAA.js";
38
38
  import {
@@ -41,10 +41,10 @@ import {
41
41
  import {
42
42
  EXIT
43
43
  } from "../chunk-KZERVKTD.js";
44
- import "../chunk-GCD3SQSV.js";
44
+ import "../chunk-A3D43VXO.js";
45
45
  import "../chunk-4LL6LG5X.js";
46
46
  import "../chunk-2UMNXADU.js";
47
- import "../chunk-OUAE3GKO.js";
47
+ import "../chunk-TTBRBWAK.js";
48
48
 
49
49
  // src/status.ts
50
50
  var keySourceLine = (source) => {
@@ -1,52 +1,57 @@
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
  handleStop,
20
25
  handleSubagentStop,
21
26
  isSubagentStop
22
- } from "../chunk-64WARXGV.js";
23
- import "../chunk-A76GNRIK.js";
24
- import "../chunk-OPR2BPD4.js";
27
+ } from "../chunk-MDV7ZRAT.js";
28
+ import "../chunk-EMCNSBF3.js";
25
29
  import "../chunk-LGXUGYUH.js";
26
- import "../chunk-562UJ2DA.js";
27
- import "../chunk-JBJBVERL.js";
30
+ import "../chunk-7WMFPYR5.js";
31
+ import "../chunk-LTPQKBJH.js";
28
32
  import "../chunk-GMXKITVA.js";
29
33
  import "../chunk-DINDL2CF.js";
30
- import "../chunk-4PBCNVI3.js";
34
+ import "../chunk-DOYARIYB.js";
31
35
  import "../chunk-EYRGBYZG.js";
32
36
  import "../chunk-SAF6HGAA.js";
33
37
  import "../chunk-7QLSKOSU.js";
34
38
  import "../chunk-KZERVKTD.js";
35
- import "../chunk-GCD3SQSV.js";
39
+ import "../chunk-A3D43VXO.js";
36
40
  import "../chunk-4LL6LG5X.js";
37
41
  import "../chunk-2UMNXADU.js";
38
- import "../chunk-OUAE3GKO.js";
42
+ import "../chunk-TTBRBWAK.js";
39
43
 
40
44
  // bin/pushary-stop-hook.ts
45
+ var AGENT = activeIdentity(process.argv);
41
46
  var main = async () => {
42
- const input = await readHookInput("claude", "Stop");
47
+ const input = await readHookInput(activeHookSource(process.argv), "Stop");
43
48
  if (!input) return;
44
49
  try {
45
50
  if (isSubagentStop(input)) {
46
- await handleSubagentStop(input);
51
+ await handleSubagentStop(input, AGENT);
47
52
  return;
48
53
  }
49
- const output = await handleStop(input);
54
+ const output = await handleStop(input, AGENT);
50
55
  if (output) process.stdout.write(JSON.stringify(output));
51
56
  } catch {
52
57
  }
@@ -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
  handleStopFailure
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-stopfailure-hook.ts
43
+ var AGENT = activeIdentity(process.argv);
39
44
  var main = async () => {
40
- const input = await readHookInput("claude", "StopFailure");
45
+ const input = await readHookInput(activeHookSource(process.argv), "StopFailure");
41
46
  if (!input) return;
42
47
  try {
43
- await handleStopFailure(input);
48
+ await handleStopFailure(input, AGENT);
44
49
  } catch {
45
50
  }
46
51
  };
@@ -1,31 +1,31 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  registerTranscript
4
- } from "../chunk-NSFNEDCT.js";
4
+ } from "../chunk-HGEI7SVM.js";
5
5
  import "../chunk-YKLCWWEI.js";
6
- import "../chunk-RALVI7OF.js";
7
- import "../chunk-LBNAGGLV.js";
8
- import "../chunk-IRLTW6KF.js";
9
- import "../chunk-JXELRCU5.js";
10
- import "../chunk-CRFLU455.js";
11
- import "../chunk-PD6JY33P.js";
12
- import "../chunk-EXHXR2X5.js";
13
- import "../chunk-XPPXOKIG.js";
6
+ import "../chunk-2SL5X7UB.js";
7
+ import "../chunk-3UUAK2AK.js";
8
+ import "../chunk-CDTGL7TT.js";
9
+ import "../chunk-XK34HTMW.js";
10
+ import "../chunk-MSOFZYI3.js";
11
+ import "../chunk-2PS3DTHQ.js";
12
+ import "../chunk-UWQVODHT.js";
13
+ import "../chunk-7ZDFVWRR.js";
14
14
  import "../chunk-EQRS3SGM.js";
15
- import "../chunk-ID5FDKDZ.js";
15
+ import "../chunk-IBU7UU3R.js";
16
16
  import "../chunk-XHKBHWLX.js";
17
- import "../chunk-OPR2BPD4.js";
18
- import "../chunk-562UJ2DA.js";
19
- import "../chunk-JBJBVERL.js";
17
+ import "../chunk-EMCNSBF3.js";
18
+ import "../chunk-7WMFPYR5.js";
19
+ import "../chunk-LTPQKBJH.js";
20
20
  import "../chunk-GMXKITVA.js";
21
21
  import "../chunk-DINDL2CF.js";
22
- import "../chunk-4PBCNVI3.js";
22
+ import "../chunk-DOYARIYB.js";
23
23
  import "../chunk-7QLSKOSU.js";
24
24
  import "../chunk-KZERVKTD.js";
25
- import "../chunk-GCD3SQSV.js";
25
+ import "../chunk-A3D43VXO.js";
26
26
  import "../chunk-4LL6LG5X.js";
27
27
  import "../chunk-2UMNXADU.js";
28
- import "../chunk-OUAE3GKO.js";
28
+ import "../chunk-TTBRBWAK.js";
29
29
 
30
30
  // bin/pushary-transcript-register.ts
31
31
  var raw = "";
@@ -6,18 +6,18 @@ import {
6
6
  } from "../chunk-YKLCWWEI.js";
7
7
  import {
8
8
  transcriptsEnabled
9
- } from "../chunk-ID5FDKDZ.js";
9
+ } from "../chunk-IBU7UU3R.js";
10
10
  import {
11
11
  exitOnHelpFlag
12
12
  } from "../chunk-GOQHN2UH.js";
13
13
  import "../chunk-LZQVAEWP.js";
14
14
  import "../chunk-DINDL2CF.js";
15
- import "../chunk-4PBCNVI3.js";
15
+ import "../chunk-DOYARIYB.js";
16
16
  import "../chunk-KZERVKTD.js";
17
- import "../chunk-GCD3SQSV.js";
17
+ import "../chunk-A3D43VXO.js";
18
18
  import "../chunk-4LL6LG5X.js";
19
19
  import "../chunk-2UMNXADU.js";
20
- import "../chunk-OUAE3GKO.js";
20
+ import "../chunk-TTBRBWAK.js";
21
21
 
22
22
  // bin/pushary-transcripts.ts
23
23
  exitOnHelpFlag("transcripts");
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  reapplyAllAgents
4
- } from "../chunk-LWKPMSBB.js";
5
- import "../chunk-K4XFCEVI.js";
4
+ } from "../chunk-R744XA2M.js";
5
+ import "../chunk-Y55JNI2I.js";
6
6
  import {
7
7
  waitForMachineReadiness
8
- } from "../chunk-JL33EDN7.js";
9
- import "../chunk-QS55LDX4.js";
8
+ } from "../chunk-ZZIUQVAN.js";
9
+ import "../chunk-MGI6MLFU.js";
10
10
  import {
11
11
  detectProviderLiveCapabilities,
12
12
  hasSpawnProvider,
13
13
  resolveControlPolicy
14
- } from "../chunk-WGV3VY7O.js";
15
- import "../chunk-JXELRCU5.js";
14
+ } from "../chunk-IYA3NCZG.js";
15
+ import "../chunk-XK34HTMW.js";
16
16
  import {
17
17
  daemonHasRemoteProof,
18
18
  daemonServiceManagerAvailable,
@@ -23,13 +23,13 @@ import {
23
23
  replaceDaemonService,
24
24
  stopDaemonService,
25
25
  waitForDaemonRemoteProof
26
- } from "../chunk-CRFLU455.js";
27
- import "../chunk-PD6JY33P.js";
26
+ } from "../chunk-MSOFZYI3.js";
27
+ import "../chunk-2PS3DTHQ.js";
28
28
  import {
29
29
  needsShell
30
30
  } from "../chunk-XHKBHWLX.js";
31
- import "../chunk-OPR2BPD4.js";
32
- import "../chunk-562UJ2DA.js";
31
+ import "../chunk-EMCNSBF3.js";
32
+ import "../chunk-7WMFPYR5.js";
33
33
  import {
34
34
  claudeJson,
35
35
  codexConfigToml,
@@ -39,7 +39,7 @@ import {
39
39
  npmErrorMessage,
40
40
  resolveGlobalBinary,
41
41
  vscodePluginDir
42
- } from "../chunk-JBJBVERL.js";
42
+ } from "../chunk-LTPQKBJH.js";
43
43
  import {
44
44
  exitOnHelpFlag
45
45
  } from "../chunk-GOQHN2UH.js";
@@ -49,14 +49,14 @@ import {
49
49
  } from "../chunk-DINDL2CF.js";
50
50
  import {
51
51
  readControlMode
52
- } from "../chunk-4PBCNVI3.js";
52
+ } from "../chunk-DOYARIYB.js";
53
53
  import "../chunk-KZERVKTD.js";
54
- import "../chunk-GCD3SQSV.js";
54
+ import "../chunk-A3D43VXO.js";
55
55
  import "../chunk-4LL6LG5X.js";
56
56
  import {
57
57
  getApiKey
58
58
  } from "../chunk-2UMNXADU.js";
59
- import "../chunk-OUAE3GKO.js";
59
+ import "../chunk-TTBRBWAK.js";
60
60
 
61
61
  // bin/pushary-upgrade.ts
62
62
  import { existsSync } from "fs";
@@ -4,8 +4,8 @@ import {
4
4
  } from "../chunk-CVWG2N3Y.js";
5
5
  import {
6
6
  exitOnFailedResponse
7
- } from "../chunk-6C6MS57P.js";
8
- import "../chunk-3RVCQDC4.js";
7
+ } from "../chunk-TVY7AT6O.js";
8
+ import "../chunk-BOZETFXB.js";
9
9
  import {
10
10
  createIo
11
11
  } from "../chunk-5RUIFDTP.js";
@@ -28,7 +28,7 @@ import {
28
28
  getApiKey,
29
29
  getBaseUrl
30
30
  } from "../chunk-2UMNXADU.js";
31
- import "../chunk-OUAE3GKO.js";
31
+ import "../chunk-TTBRBWAK.js";
32
32
 
33
33
  // bin/pushary-wait.ts
34
34
  exitOnHelpFlag("wait");
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  NOTIFICATION_MATCHED_TYPES,
3
3
  POSTTOOLUSE_MIRRORED_TOOLS
4
- } from "./chunk-OPR2BPD4.js";
4
+ } from "./chunk-EMCNSBF3.js";
5
5
  import {
6
6
  isProtectedByScope,
7
7
  registerHookEntry
8
- } from "./chunk-JBJBVERL.js";
8
+ } from "./chunk-LTPQKBJH.js";
9
9
  import {
10
10
  CLAUDE_PRETOOLUSE_MATCHER,
11
11
  HOOK_BUDGETS,
12
12
  HOOK_LOCATOR_BINARY
13
- } from "./chunk-OUAE3GKO.js";
13
+ } from "./chunk-TTBRBWAK.js";
14
14
 
15
15
  // src/gemini-config.ts
16
16
  var GEMINI_HOOK_BINARY = "pushary-gemini-hook";
@@ -170,6 +170,7 @@ export {
170
170
  GEMINI_HOOK_EVENTS,
171
171
  addGeminiMcpServer,
172
172
  addGeminiHooks,
173
+ removeGeminiMcpServer,
173
174
  removeGeminiSettings,
174
175
  hasGeminiHooks,
175
176
  missingGeminiHookEvents,
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  AGENT_CHOICES
3
- } from "./chunk-LBNAGGLV.js";
3
+ } from "./chunk-3UUAK2AK.js";
4
4
  import {
5
5
  isBridgeLocator
6
- } from "./chunk-IRLTW6KF.js";
6
+ } from "./chunk-CDTGL7TT.js";
7
7
  import {
8
8
  pusharyHookExecutable
9
- } from "./chunk-JXELRCU5.js";
9
+ } from "./chunk-XK34HTMW.js";
10
10
  import {
11
11
  BELL_HOOK_BINARY
12
- } from "./chunk-EXHXR2X5.js";
12
+ } from "./chunk-UWQVODHT.js";
13
13
 
14
14
  // src/setup/hook-ownership.ts
15
15
  var commandsIn = (value) => {
@@ -100,8 +100,11 @@ var restoreHookTakeover = (document, receipt) => {
100
100
  document.hooks = hooks;
101
101
  return JSON.stringify(document) !== before;
102
102
  };
103
- var hookOwnerOf = (document, appAvailable = true) => {
104
- const hooks = document && typeof document === "object" ? document.hooks : void 0;
103
+ var hookOwnerOf = (document, appAvailable = true, hooksKeyPath = ["hooks"]) => {
104
+ const hooks = hooksKeyPath.reduce(
105
+ (node, key) => node && typeof node === "object" ? node[key] : void 0,
106
+ document
107
+ );
105
108
  const executables = commandsIn(hooks).map(pusharyHookExecutable).filter((executable) => executable !== null);
106
109
  if (appAvailable && executables.some(isBridgeLocator)) return "app";
107
110
  if (executables.some((executable) => !isBridgeLocator(executable))) return "cli";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  canonicalGateInputs
3
- } from "./chunk-A76GNRIK.js";
3
+ } from "./chunk-MDV7ZRAT.js";
4
4
  import {
5
5
  canonicalJson
6
- } from "./chunk-JBJBVERL.js";
6
+ } from "./chunk-LTPQKBJH.js";
7
7
  import {
8
8
  writeFileAtomic
9
9
  } from "./chunk-4LL6LG5X.js";
@@ -11,7 +11,7 @@ import {
11
11
  BLOCKED_ACTION_GRANT_TTL_SECONDS,
12
12
  blockedActionIdentity,
13
13
  shouldDeferToNativeMode
14
- } from "./chunk-OUAE3GKO.js";
14
+ } from "./chunk-TTBRBWAK.js";
15
15
 
16
16
  // src/native-defer.ts
17
17
  var nativeDeferOptions = () => {
@@ -5,11 +5,12 @@ import {
5
5
  UsageError
6
6
  } from "./chunk-7QLSKOSU.js";
7
7
  import {
8
+ COMPATIBLE_AGENT_TYPES,
8
9
  isValidApiKey
9
- } from "./chunk-OUAE3GKO.js";
10
+ } from "./chunk-TTBRBWAK.js";
10
11
 
11
12
  // src/setup/options.ts
12
- var AGENT_CHOICES = ["claude_code", "codex", "gemini_cli", "hermes", "cursor", "vscode", "opencode", "custom"];
13
+ var AGENT_CHOICES = ["claude_code", "codex", "gemini_cli", "hermes", "cursor", "vscode", "opencode", ...COMPATIBLE_AGENT_TYPES, "custom"];
13
14
  var CONNECT_MODES = ["app", "browser", "web", "none"];
14
15
  var CONNECT_ALIASES = { auto: "app", pwa: "web" };
15
16
  var parseConnectMode = (raw) => {
@@ -1,9 +1,13 @@
1
1
  import {
2
2
  openCodeConfigDirFrom
3
- } from "./chunk-HB2KB7QL.js";
3
+ } from "./chunk-XNXIMIFY.js";
4
4
  import {
5
5
  codexHomeFrom
6
- } from "./chunk-JBJBVERL.js";
6
+ } from "./chunk-LTPQKBJH.js";
7
+ import {
8
+ HOOK_COMPATIBLE_PROFILES,
9
+ compatibleConfigDir
10
+ } from "./chunk-TTBRBWAK.js";
7
11
 
8
12
  // src/vscode-config.ts
9
13
  import { homedir } from "os";
@@ -234,10 +238,19 @@ var agentProbes = (home = homedir2()) => ({
234
238
  // never used.
235
239
  configMarkers: [openCodeConfigDirFrom(home)]
236
240
  },
241
+ ...compatibleProbes(home),
237
242
  // "Other" is a set of printed instructions for any MCP or HTTP client. There is
238
243
  // nothing to detect, and it must never be auto-selected.
239
244
  custom: { binary: null, paths: [], configMarkers: [] }
240
245
  });
246
+ var compatibleProbes = (home) => HOOK_COMPATIBLE_PROFILES.reduce((probes, profile) => ({
247
+ ...probes,
248
+ [profile.agentType]: {
249
+ binary: profile.binary,
250
+ paths: [],
251
+ configMarkers: [join2(home, ...compatibleConfigDir(profile))]
252
+ }
253
+ }), {});
241
254
  var detectAllAgents = (deps = defaultDeps, home) => {
242
255
  const probes = agentProbes(home);
243
256
  return Object.keys(probes).map((agent) => ({
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-JBJBVERL.js";
3
+ } from "./chunk-LTPQKBJH.js";
4
4
  import {
5
5
  writeFileAtomic
6
6
  } from "./chunk-4LL6LG5X.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  redactSecrets
3
- } from "./chunk-OUAE3GKO.js";
3
+ } from "./chunk-TTBRBWAK.js";
4
4
 
5
5
  // src/crypto.ts
6
6
  import nacl from "tweetnacl";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-2UMNXADU.js";
4
4
  import {
5
5
  normalizeInstallSource
6
- } from "./chunk-OUAE3GKO.js";
6
+ } from "./chunk-TTBRBWAK.js";
7
7
 
8
8
  // src/install-source.ts
9
9
  import { readFileSync } from "fs";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  isValidApiKey,
15
15
  normalizeKeyScope
16
- } from "./chunk-OUAE3GKO.js";
16
+ } from "./chunk-TTBRBWAK.js";
17
17
 
18
18
  // src/session.ts
19
19
  var samePusharyAccount = (left, right) => left.kind === "ok" && right.kind === "ok" && left.identity.workspaceId !== "" && left.identity.workspaceId === right.identity.workspaceId && left.identity.siteId === right.identity.siteId;
@@ -15,10 +15,10 @@ import {
15
15
  } from "./chunk-EYRGBYZG.js";
16
16
  import {
17
17
  reportedInstallSource
18
- } from "./chunk-GCD3SQSV.js";
18
+ } from "./chunk-A3D43VXO.js";
19
19
  import {
20
20
  isAnswerSource
21
- } from "./chunk-OUAE3GKO.js";
21
+ } from "./chunk-TTBRBWAK.js";
22
22
 
23
23
  // src/reach.ts
24
24
  var reachVerdict = (channels) => {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  HOOK_LOCATOR_BINARY
3
- } from "./chunk-OUAE3GKO.js";
3
+ } from "./chunk-TTBRBWAK.js";
4
4
 
5
5
  // src/diagnostics/bridge.ts
6
6
  import { execFileSync } from "child_process";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SETUP_FLAGS
3
- } from "./chunk-LBNAGGLV.js";
3
+ } from "./chunk-3UUAK2AK.js";
4
4
  import {
5
5
  parseFlags
6
6
  } from "./chunk-GMXKITVA.js";
@@ -14,7 +14,7 @@ import {
14
14
  CLAUDE_CONNECTOR_URL,
15
15
  COWORK_CONNECTOR_LIMIT,
16
16
  COWORK_STANDING_INSTRUCTIONS
17
- } from "./chunk-OUAE3GKO.js";
17
+ } from "./chunk-TTBRBWAK.js";
18
18
 
19
19
  // src/cli/cowork.ts
20
20
  import { readFileSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-JBJBVERL.js";
3
+ } from "./chunk-LTPQKBJH.js";
4
4
  import {
5
5
  readJsonSafe
6
6
  } from "./chunk-4LL6LG5X.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveInstallSourceFor
3
- } from "./chunk-GCD3SQSV.js";
3
+ } from "./chunk-A3D43VXO.js";
4
4
  import {
5
5
  backupFile,
6
6
  readJsonSafe,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isSafeReadOnlyCommand
3
- } from "./chunk-OUAE3GKO.js";
3
+ } from "./chunk-TTBRBWAK.js";
4
4
 
5
5
  // src/ledger.ts
6
6
  import { appendFileSync, existsSync, mkdirSync, readFileSync, renameSync, rmSync, statSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  PRETOOLUSE_GATED_TOOLS
3
- } from "./chunk-OUAE3GKO.js";
3
+ } from "./chunk-TTBRBWAK.js";
4
4
 
5
5
  // src/claude-tools.ts
6
6
  var POSTTOOLUSE_MIRROR_ONLY_TOOLS = ["TodoWrite", "Task", "WebFetch", "WebSearch"];
@@ -3,7 +3,7 @@ import {
3
3
  decodePublicKey,
4
4
  generateSessionKey,
5
5
  wrapSessionKey
6
- } from "./chunk-XPPXOKIG.js";
6
+ } from "./chunk-7ZDFVWRR.js";
7
7
  import {
8
8
  fetchTranscriptRecipients,
9
9
  uploadTranscriptRecords