@pushary/agent-hooks 1.9.27 → 1.9.29

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 (100) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/bin/pushary-bell-hook.js +25 -25
  3. package/dist/bin/pushary-bell.js +9 -9
  4. package/dist/bin/pushary-claude.js +26 -25
  5. package/dist/bin/pushary-clean.js +29 -29
  6. package/dist/bin/pushary-codex-bridge.js +17 -17
  7. package/dist/bin/pushary-codex-hook.js +32 -32
  8. package/dist/bin/pushary-codex.js +12 -12
  9. package/dist/bin/pushary-connect.js +24 -24
  10. package/dist/bin/pushary-cowork.js +5 -5
  11. package/dist/bin/pushary-daemon.js +32 -32
  12. package/dist/bin/pushary-disconnect.js +24 -24
  13. package/dist/bin/pushary-doctor.js +33 -33
  14. package/dist/bin/pushary-elicitation-hook.js +25 -25
  15. package/dist/bin/pushary-gemini-bridge.js +13 -13
  16. package/dist/bin/pushary-gemini-hook.js +27 -27
  17. package/dist/bin/pushary-hook.js +40 -32
  18. package/dist/bin/pushary-login.js +12 -12
  19. package/dist/bin/pushary-logout.js +24 -24
  20. package/dist/bin/pushary-mcp.js +9 -9
  21. package/dist/bin/pushary-mode.js +12 -12
  22. package/dist/bin/pushary-notification-hook.js +24 -24
  23. package/dist/bin/pushary-opencode-hook.js +26 -26
  24. package/dist/bin/pushary-permission-denied-hook.js +29 -29
  25. package/dist/bin/pushary-permission-hook.js +28 -28
  26. package/dist/bin/pushary-post-hook.js +24 -24
  27. package/dist/bin/pushary-prompt-hook.js +24 -24
  28. package/dist/bin/pushary-session-end-hook.js +24 -24
  29. package/dist/bin/pushary-session-start-hook.js +28 -28
  30. package/dist/bin/pushary-setup.js +35 -35
  31. package/dist/bin/pushary-stats.js +5 -5
  32. package/dist/bin/pushary-status.js +26 -26
  33. package/dist/bin/pushary-stop-hook.js +24 -24
  34. package/dist/bin/pushary-stopfailure-hook.js +24 -24
  35. package/dist/bin/pushary-suggestions.js +12 -12
  36. package/dist/bin/pushary-transcript-register.js +17 -17
  37. package/dist/bin/pushary-transcripts.js +7 -7
  38. package/dist/bin/pushary-upgrade.js +30 -30
  39. package/dist/bin/pushary-wait.js +12 -12
  40. package/dist/bin/pushary.js +6 -6
  41. package/dist/{chunk-QMMOVPUP.js → chunk-2FOAQ64R.js} +8 -8
  42. package/dist/{chunk-BZYYTJ65.js → chunk-2XM4TGIM.js} +4 -4
  43. package/dist/{chunk-W4LNR7LP.js → chunk-35CMXPES.js} +3 -3
  44. package/dist/{chunk-GORB726L.js → chunk-4DTKE3AS.js} +2 -2
  45. package/dist/{chunk-UQTQVH5X.js → chunk-5L7H32JK.js} +1 -1
  46. package/dist/{chunk-WGTD4NZV.js → chunk-62LJB5U3.js} +2 -2
  47. package/dist/{chunk-O2SMA3JN.js → chunk-7MYGOFVX.js} +4 -4
  48. package/dist/{chunk-VWTCGKMU.js → chunk-AVQ6ETA7.js} +1 -1
  49. package/dist/{chunk-LOVDPKUU.js → chunk-AZMHKUUU.js} +1 -1
  50. package/dist/{chunk-OPSLFAKF.js → chunk-BAVNBGH4.js} +39 -10
  51. package/dist/{chunk-TQE5VIDJ.js → chunk-BJMVQ6D5.js} +10 -9
  52. package/dist/{chunk-IOTR2VQN.js → chunk-BKOWTW5P.js} +4 -4
  53. package/dist/{chunk-5SKHXKIF.js → chunk-BP3WMLXJ.js} +5 -5
  54. package/dist/{chunk-MTODICDT.js → chunk-BUOLA2AM.js} +1 -1
  55. package/dist/{chunk-PQAA37YV.js → chunk-C2ZIVQ6W.js} +6 -6
  56. package/dist/{chunk-YTTPPJZW.js → chunk-CBOHZ6NY.js} +4 -4
  57. package/dist/{chunk-6CBKIF3S.js → chunk-CCI2UBYR.js} +3 -3
  58. package/dist/{chunk-TYPQUHIS.js → chunk-CJQEJWLU.js} +5 -5
  59. package/dist/{chunk-LUJAURFP.js → chunk-CPZZTS4I.js} +1 -1
  60. package/dist/{chunk-XESMYZLU.js → chunk-DQGM57ZW.js} +1 -1
  61. package/dist/{chunk-H2ZHGK4F.js → chunk-DUVHHQEL.js} +2 -2
  62. package/dist/{chunk-V6HQFOBS.js → chunk-EO2GYHWH.js} +3 -3
  63. package/dist/{chunk-HFGTWPAD.js → chunk-ETLVZHRG.js} +2 -2
  64. package/dist/{chunk-DY6AKR4W.js → chunk-G4X3Z3YS.js} +4 -4
  65. package/dist/{chunk-4LIOV4YP.js → chunk-GMVZYB3W.js} +3 -3
  66. package/dist/{chunk-ZWDXBLEZ.js → chunk-GVIPEBEL.js} +3 -3
  67. package/dist/{chunk-ZQZRBPTP.js → chunk-H7QTZTIE.js} +68 -10
  68. package/dist/{chunk-RZNJGCPR.js → chunk-IM73P6JT.js} +5 -5
  69. package/dist/{chunk-2NQHGDK5.js → chunk-IWPEAA2J.js} +1 -1
  70. package/dist/{chunk-YZ7D3P3M.js → chunk-JGDBHB6L.js} +2 -2
  71. package/dist/{chunk-CSXWXXFJ.js → chunk-KMTSU366.js} +1 -1
  72. package/dist/{chunk-4LO6OQZ4.js → chunk-L7PGUSAU.js} +1 -1
  73. package/dist/{chunk-5LLH2TBR.js → chunk-LRLF6PZ2.js} +1 -1
  74. package/dist/{chunk-5ZR7XFTB.js → chunk-LSB66XQC.js} +21 -13
  75. package/dist/{chunk-NK2URK5A.js → chunk-M2L4EHYW.js} +2 -2
  76. package/dist/{chunk-JK42X2VL.js → chunk-NRV5PIPA.js} +2 -2
  77. package/dist/{chunk-VGVMBY4V.js → chunk-OSVDGVLL.js} +18 -9
  78. package/dist/{chunk-LY3KHTHS.js → chunk-OUWDJIJF.js} +1 -1
  79. package/dist/{chunk-M463H5LN.js → chunk-PRVG3COH.js} +2 -2
  80. package/dist/{chunk-OXOT3CGW.js → chunk-PX4RRHEB.js} +4 -4
  81. package/dist/{chunk-Z5AAPX3O.js → chunk-QOMUEL44.js} +1 -1
  82. package/dist/{chunk-UWEDDQHU.js → chunk-S3DP6DCZ.js} +2 -2
  83. package/dist/{chunk-MDAJO2MP.js → chunk-SLKVEJLM.js} +5 -5
  84. package/dist/{chunk-MSKJRRHY.js → chunk-TILXDMUR.js} +3 -3
  85. package/dist/{chunk-TWCWRHNK.js → chunk-TJXCBTL4.js} +5 -5
  86. package/dist/{chunk-XTTMUQ4Z.js → chunk-TXKAPRIA.js} +1 -1
  87. package/dist/{chunk-KN5ULH4O.js → chunk-UM2HNUJA.js} +3 -3
  88. package/dist/{chunk-W4DFSUZG.js → chunk-UW37WHVP.js} +2 -2
  89. package/dist/{chunk-MRMIGVUI.js → chunk-WJUYWTNT.js} +1 -1
  90. package/dist/{chunk-E4NITECV.js → chunk-WLDFMVRY.js} +2 -2
  91. package/dist/{chunk-JXOCD4MG.js → chunk-XH7NMH3Q.js} +2 -2
  92. package/dist/{chunk-AT4URLSU.js → chunk-Y3OZ3CT6.js} +5 -5
  93. package/dist/{chunk-U4Q3AKLU.js → chunk-YFEHKEGQ.js} +1 -1
  94. package/dist/{chunk-SLW45RGY.js → chunk-Z2WS466S.js} +17 -16
  95. package/dist/{global-upgrade-FKQPJL5P.js → global-upgrade-ZPULZXOY.js} +6 -6
  96. package/dist/{paths-TU47TCRS.js → paths-Y7ZWWCFK.js} +2 -2
  97. package/dist/{reapply-CTJZBUJY.js → reapply-I4YMQP7F.js} +22 -20
  98. package/dist/src/index.js +19 -19
  99. package/dist/{upgrade-lock-2SQCRMDL.js → upgrade-lock-IDAAFSH2.js} +3 -3
  100. package/package.json +1 -1
@@ -9,27 +9,27 @@ import {
9
9
  upgradeFinishOutcome,
10
10
  upgradeInstalledPackage,
11
11
  withUpgradeLock
12
- } from "../chunk-MDAJO2MP.js";
12
+ } from "../chunk-SLKVEJLM.js";
13
13
  import {
14
14
  installWithUpgradeLock
15
- } from "../chunk-XESMYZLU.js";
15
+ } from "../chunk-DQGM57ZW.js";
16
16
  import {
17
17
  ensureCodexTrustAfterReapply,
18
18
  reapplyAllAgents
19
- } from "../chunk-OPSLFAKF.js";
19
+ } from "../chunk-BAVNBGH4.js";
20
20
  import {
21
21
  describeCodexTrustConfirmation
22
- } from "../chunk-H2ZHGK4F.js";
23
- import "../chunk-GORB726L.js";
22
+ } from "../chunk-DUVHHQEL.js";
23
+ import "../chunk-4DTKE3AS.js";
24
24
  import {
25
25
  waitForMachineReadiness
26
- } from "../chunk-PQAA37YV.js";
26
+ } from "../chunk-C2ZIVQ6W.js";
27
27
  import {
28
28
  detectProviderLiveCapabilities,
29
29
  expectedLaunchCapabilities,
30
30
  hasSpawnProvider,
31
31
  resolveControlPolicy
32
- } from "../chunk-NK2URK5A.js";
32
+ } from "../chunk-M2L4EHYW.js";
33
33
  import "../chunk-RIVNNBEK.js";
34
34
  import {
35
35
  AUTO_UPDATE_DISABLE_ENV,
@@ -40,7 +40,7 @@ import {
40
40
  parseAutoUpdateFlag,
41
41
  readAutoUpdateState,
42
42
  updateAutoUpdateState
43
- } from "../chunk-WGTD4NZV.js";
43
+ } from "../chunk-62LJB5U3.js";
44
44
  import {
45
45
  DAEMON_COLD_START_TIMEOUT_MS,
46
46
  daemonHasRemoteProof,
@@ -52,39 +52,39 @@ import {
52
52
  replaceDaemonService,
53
53
  stopDaemonService,
54
54
  waitForDaemonRemoteProof
55
- } from "../chunk-TYPQUHIS.js";
55
+ } from "../chunk-CJQEJWLU.js";
56
56
  import "../chunk-XHKBHWLX.js";
57
57
  import {
58
58
  readMacAppAgentKey
59
- } from "../chunk-IOTR2VQN.js";
60
- import "../chunk-5SKHXKIF.js";
59
+ } from "../chunk-BKOWTW5P.js";
60
+ import "../chunk-BP3WMLXJ.js";
61
61
  import {
62
62
  exitOnHelpFlag
63
- } from "../chunk-JXOCD4MG.js";
64
- import "../chunk-TQE5VIDJ.js";
65
- import "../chunk-TWCWRHNK.js";
66
- import "../chunk-KN5ULH4O.js";
67
- import "../chunk-MRMIGVUI.js";
68
- import "../chunk-MTODICDT.js";
63
+ } from "../chunk-XH7NMH3Q.js";
64
+ import "../chunk-BJMVQ6D5.js";
65
+ import "../chunk-TJXCBTL4.js";
66
+ import "../chunk-UM2HNUJA.js";
67
+ import "../chunk-WJUYWTNT.js";
68
+ import "../chunk-BUOLA2AM.js";
69
69
  import "../chunk-GMXKITVA.js";
70
70
  import "../chunk-6ICPEJY5.js";
71
71
  import {
72
72
  readControlMode,
73
73
  recordMacAppKeyPrefix
74
- } from "../chunk-4LIOV4YP.js";
75
- import "../chunk-VGVMBY4V.js";
76
- import "../chunk-CSXWXXFJ.js";
77
- import "../chunk-AT4URLSU.js";
74
+ } from "../chunk-GMVZYB3W.js";
75
+ import "../chunk-OSVDGVLL.js";
76
+ import "../chunk-KMTSU366.js";
77
+ import "../chunk-Y3OZ3CT6.js";
78
78
  import "../chunk-POFBE6ZY.js";
79
- import "../chunk-ZWDXBLEZ.js";
80
- import "../chunk-MSKJRRHY.js";
81
- import "../chunk-W4LNR7LP.js";
82
- import "../chunk-U4Q3AKLU.js";
79
+ import "../chunk-GVIPEBEL.js";
80
+ import "../chunk-TILXDMUR.js";
81
+ import "../chunk-35CMXPES.js";
82
+ import "../chunk-YFEHKEGQ.js";
83
83
  import "../chunk-7QLSKOSU.js";
84
84
  import {
85
85
  EXIT
86
86
  } from "../chunk-KZERVKTD.js";
87
- import "../chunk-UWEDDQHU.js";
87
+ import "../chunk-S3DP6DCZ.js";
88
88
  import {
89
89
  LATEST_TAG,
90
90
  autoUpdateState,
@@ -94,19 +94,19 @@ import {
94
94
  fetchLatestPublishedVersion,
95
95
  geminiSettings,
96
96
  vscodePluginDir
97
- } from "../chunk-YTTPPJZW.js";
97
+ } from "../chunk-CBOHZ6NY.js";
98
98
  import "../chunk-AQFEP65J.js";
99
99
  import {
100
100
  getApiKey
101
- } from "../chunk-XTTMUQ4Z.js";
101
+ } from "../chunk-TXKAPRIA.js";
102
102
  import {
103
103
  NPX_LATEST_COMMAND
104
- } from "../chunk-Z5AAPX3O.js";
104
+ } from "../chunk-QOMUEL44.js";
105
105
  import {
106
106
  CANONICAL_PACKAGE,
107
107
  LEGACY_PACKAGE,
108
108
  getPackageVersion
109
- } from "../chunk-ZQZRBPTP.js";
109
+ } from "../chunk-H7QTZTIE.js";
110
110
 
111
111
  // bin/pushary-upgrade.ts
112
112
  import { existsSync } from "fs";
@@ -4,36 +4,36 @@ import {
4
4
  } from "../chunk-CVWG2N3Y.js";
5
5
  import {
6
6
  exitOnFailedSettingsRequest
7
- } from "../chunk-O2SMA3JN.js";
8
- import "../chunk-HFGTWPAD.js";
7
+ } from "../chunk-7MYGOFVX.js";
8
+ import "../chunk-ETLVZHRG.js";
9
9
  import {
10
10
  createIo
11
11
  } from "../chunk-FO3MDD26.js";
12
12
  import {
13
13
  exitOnHelpFlag
14
- } from "../chunk-JXOCD4MG.js";
14
+ } from "../chunk-XH7NMH3Q.js";
15
15
  import {
16
16
  rejectUnknownFlags
17
17
  } from "../chunk-GMXKITVA.js";
18
- import "../chunk-4LIOV4YP.js";
19
- import "../chunk-MSKJRRHY.js";
20
- import "../chunk-W4LNR7LP.js";
21
- import "../chunk-U4Q3AKLU.js";
18
+ import "../chunk-GMVZYB3W.js";
19
+ import "../chunk-TILXDMUR.js";
20
+ import "../chunk-35CMXPES.js";
21
+ import "../chunk-YFEHKEGQ.js";
22
22
  import {
23
23
  UsageError
24
24
  } from "../chunk-7QLSKOSU.js";
25
25
  import {
26
26
  EXIT
27
27
  } from "../chunk-KZERVKTD.js";
28
- import "../chunk-UWEDDQHU.js";
29
- import "../chunk-YTTPPJZW.js";
28
+ import "../chunk-S3DP6DCZ.js";
29
+ import "../chunk-CBOHZ6NY.js";
30
30
  import "../chunk-AQFEP65J.js";
31
31
  import {
32
32
  getApiKey,
33
33
  getBaseUrl
34
- } from "../chunk-XTTMUQ4Z.js";
35
- import "../chunk-Z5AAPX3O.js";
36
- import "../chunk-ZQZRBPTP.js";
34
+ } from "../chunk-TXKAPRIA.js";
35
+ import "../chunk-QOMUEL44.js";
36
+ import "../chunk-H7QTZTIE.js";
37
37
 
38
38
  // bin/pushary-wait.ts
39
39
  exitOnHelpFlag("wait");
@@ -1,23 +1,23 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  installNetworkDefaults
4
- } from "../chunk-W4LNR7LP.js";
5
- import "../chunk-U4Q3AKLU.js";
4
+ } from "../chunk-35CMXPES.js";
5
+ import "../chunk-YFEHKEGQ.js";
6
6
  import "../chunk-7QLSKOSU.js";
7
7
  import {
8
8
  EXIT
9
9
  } from "../chunk-KZERVKTD.js";
10
- import "../chunk-YTTPPJZW.js";
10
+ import "../chunk-CBOHZ6NY.js";
11
11
  import "../chunk-AQFEP65J.js";
12
- import "../chunk-XTTMUQ4Z.js";
12
+ import "../chunk-TXKAPRIA.js";
13
13
  import {
14
14
  COMMANDS,
15
15
  renderHelp,
16
16
  resolveCommandName
17
- } from "../chunk-Z5AAPX3O.js";
17
+ } from "../chunk-QOMUEL44.js";
18
18
  import {
19
19
  getPackageVersion
20
- } from "../chunk-ZQZRBPTP.js";
20
+ } from "../chunk-H7QTZTIE.js";
21
21
 
22
22
  // src/cli/runtime.ts
23
23
  var supportsRuntime = (version) => {
@@ -6,38 +6,38 @@ import {
6
6
  } from "./chunk-VTR4VRL2.js";
7
7
  import {
8
8
  ensureDaemonRunning
9
- } from "./chunk-TYPQUHIS.js";
9
+ } from "./chunk-CJQEJWLU.js";
10
10
  import {
11
11
  buildTranscriptRecords,
12
12
  decodePublicKey,
13
13
  generateSessionKey,
14
14
  wrapSessionKey
15
- } from "./chunk-LY3KHTHS.js";
15
+ } from "./chunk-OUWDJIJF.js";
16
16
  import {
17
17
  fetchTranscriptRecipients,
18
18
  uploadTranscriptRecords
19
- } from "./chunk-5LLH2TBR.js";
19
+ } from "./chunk-LRLF6PZ2.js";
20
20
  import {
21
21
  transcriptEnvironmentPreference,
22
22
  transcriptsEnabled
23
- } from "./chunk-VWTCGKMU.js";
23
+ } from "./chunk-AVQ6ETA7.js";
24
24
  import {
25
25
  hookOwnerOf
26
- } from "./chunk-TWCWRHNK.js";
26
+ } from "./chunk-TJXCBTL4.js";
27
27
  import {
28
28
  readTranscriptPreference
29
- } from "./chunk-4LIOV4YP.js";
29
+ } from "./chunk-GMVZYB3W.js";
30
30
  import {
31
31
  codexHome,
32
32
  pusharyDir
33
- } from "./chunk-YTTPPJZW.js";
33
+ } from "./chunk-CBOHZ6NY.js";
34
34
  import {
35
35
  writeJsonAtomic
36
36
  } from "./chunk-AQFEP65J.js";
37
37
  import {
38
38
  getApiKey,
39
39
  getBaseUrl
40
- } from "./chunk-XTTMUQ4Z.js";
40
+ } from "./chunk-TXKAPRIA.js";
41
41
 
42
42
  // src/transcript-registration.ts
43
43
  import { createHash } from "crypto";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  MCP_BRIDGE_BINARY
3
- } from "./chunk-JK42X2VL.js";
3
+ } from "./chunk-NRV5PIPA.js";
4
4
  import {
5
5
  KEY_FILE_MODE
6
- } from "./chunk-4LIOV4YP.js";
6
+ } from "./chunk-GMVZYB3W.js";
7
7
  import {
8
8
  NpmMissingError,
9
9
  NpmPermissionError
10
- } from "./chunk-YTTPPJZW.js";
10
+ } from "./chunk-CBOHZ6NY.js";
11
11
  import {
12
12
  readJsonSafe,
13
13
  writeFileAtomic,
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-AQFEP65J.js";
16
16
  import {
17
17
  NPX_LATEST_COMMAND
18
- } from "./chunk-Z5AAPX3O.js";
18
+ } from "./chunk-QOMUEL44.js";
19
19
 
20
20
  // src/instruction-file.ts
21
21
  import { existsSync, readFileSync, writeFileSync, mkdirSync, rmSync } from "fs";
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  readExistingMachineId
3
- } from "./chunk-U4Q3AKLU.js";
3
+ } from "./chunk-YFEHKEGQ.js";
4
4
  import {
5
5
  NetworkError
6
6
  } from "./chunk-7QLSKOSU.js";
7
7
  import {
8
8
  getBaseUrl
9
- } from "./chunk-XTTMUQ4Z.js";
9
+ } from "./chunk-TXKAPRIA.js";
10
10
  import {
11
11
  clientContextHeaders,
12
12
  getPackageVersion
13
- } from "./chunk-ZQZRBPTP.js";
13
+ } from "./chunk-H7QTZTIE.js";
14
14
 
15
15
  // src/cli/net.ts
16
16
  import { createRequire } from "module";
@@ -8,10 +8,10 @@ import {
8
8
  codexHooksJsonIn,
9
9
  isPusharyCodexCommand,
10
10
  resolvePathBinary
11
- } from "./chunk-YTTPPJZW.js";
11
+ } from "./chunk-CBOHZ6NY.js";
12
12
  import {
13
13
  getPackageVersion
14
- } from "./chunk-ZQZRBPTP.js";
14
+ } from "./chunk-H7QTZTIE.js";
15
15
 
16
16
  // src/codex-app-server.ts
17
17
  import { existsSync, realpathSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readConfigFileKey
3
- } from "./chunk-4LIOV4YP.js";
3
+ } from "./chunk-GMVZYB3W.js";
4
4
 
5
5
  // src/bell/fleet.ts
6
6
  import { closeSync, constants, futimesSync, lstatSync, mkdirSync, openSync, readdirSync, unlinkSync } from "fs";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-POFBE6ZY.js";
4
4
  import {
5
5
  autoUpdateState
6
- } from "./chunk-YTTPPJZW.js";
6
+ } from "./chunk-CBOHZ6NY.js";
7
7
  import {
8
8
  readJsonSafe,
9
9
  writeJsonAtomic
@@ -15,7 +15,7 @@ import {
15
15
  globalUpgradeEntry,
16
16
  isAutoUpdateResult,
17
17
  ownPackageRoot
18
- } from "./chunk-ZQZRBPTP.js";
18
+ } from "./chunk-H7QTZTIE.js";
19
19
 
20
20
  // src/auto-update.ts
21
21
  import { spawn } from "child_process";
@@ -2,25 +2,25 @@ import {
2
2
  SIGNED_OUT_ON_MAC_MESSAGE,
3
3
  describeSignedOutKey,
4
4
  readSignedOutDiagnosis
5
- } from "./chunk-HFGTWPAD.js";
5
+ } from "./chunk-ETLVZHRG.js";
6
6
  import {
7
7
  createIo
8
8
  } from "./chunk-FO3MDD26.js";
9
9
  import {
10
10
  readKeySource
11
- } from "./chunk-4LIOV4YP.js";
11
+ } from "./chunk-GMVZYB3W.js";
12
12
  import {
13
13
  absoluteUrl,
14
14
  checkApiKey,
15
15
  describeKeyCheck,
16
16
  keyCheckFromResponse
17
- } from "./chunk-MSKJRRHY.js";
17
+ } from "./chunk-TILXDMUR.js";
18
18
  import {
19
19
  EXIT
20
20
  } from "./chunk-KZERVKTD.js";
21
21
  import {
22
22
  getBaseUrl
23
- } from "./chunk-XTTMUQ4Z.js";
23
+ } from "./chunk-TXKAPRIA.js";
24
24
 
25
25
  // src/cli/report-key.ts
26
26
  var { dim, yellow } = createIo();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readTranscriptPreference
3
- } from "./chunk-4LIOV4YP.js";
3
+ } from "./chunk-GMVZYB3W.js";
4
4
 
5
5
  // src/transcript-setting.ts
6
6
  var transcriptEnvironmentPreference = () => {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DEFAULT_SESSION
3
- } from "./chunk-VGVMBY4V.js";
3
+ } from "./chunk-OSVDGVLL.js";
4
4
 
5
5
  // src/answer.ts
6
6
  var isDeferAnswer = (value) => value === "defer";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ensureCodexTrustsPusharyHooks
3
- } from "./chunk-GORB726L.js";
3
+ } from "./chunk-4DTKE3AS.js";
4
4
  import {
5
5
  detectClaudeVersion
6
6
  } from "./chunk-RIVNNBEK.js";
@@ -12,12 +12,15 @@ import {
12
12
  openCodeHookArgv,
13
13
  openCodePluginDir,
14
14
  openCodeWired
15
- } from "./chunk-5SKHXKIF.js";
15
+ } from "./chunk-BP3WMLXJ.js";
16
16
  import {
17
17
  addClaudeMcpServer,
18
+ addCompatibleHooks,
18
19
  addPusharyHooks,
19
- addPusharyToolPermissions
20
- } from "./chunk-TQE5VIDJ.js";
20
+ addPusharyToolPermissions,
21
+ compatibleConfigFile,
22
+ hasCompatibleHooks
23
+ } from "./chunk-BJMVQ6D5.js";
21
24
  import {
22
25
  claudeUnprovenHolds,
23
26
  claudeWired,
@@ -25,7 +28,7 @@ import {
25
28
  codexWired,
26
29
  geminiWired,
27
30
  planHooks
28
- } from "./chunk-TWCWRHNK.js";
31
+ } from "./chunk-TJXCBTL4.js";
29
32
  import {
30
33
  CLAUDE_HOOK_BINARY,
31
34
  CLAUDE_HOOK_EVENTS,
@@ -36,7 +39,7 @@ import {
36
39
  needsReregistration,
37
40
  registrationSignatures,
38
41
  supportedClaudeEvents
39
- } from "./chunk-KN5ULH4O.js";
42
+ } from "./chunk-UM2HNUJA.js";
40
43
  import {
41
44
  formatVersion
42
45
  } from "./chunk-6ICPEJY5.js";
@@ -57,17 +60,20 @@ import {
57
60
  namesOurBinary,
58
61
  registeredCommands,
59
62
  registrationHolderOf,
63
+ resolveGlobalBinDir,
60
64
  resolveGlobalBinary,
61
65
  vscodePluginMcp
62
- } from "./chunk-YTTPPJZW.js";
66
+ } from "./chunk-CBOHZ6NY.js";
63
67
  import {
64
68
  readJsonSafe,
65
69
  writeFileAtomic,
66
70
  writeJsonAtomic
67
71
  } from "./chunk-AQFEP65J.js";
68
72
  import {
73
+ HOOK_COMPATIBLE_PROFILES,
74
+ isCompatibleAgentType,
69
75
  isRecord
70
- } from "./chunk-ZQZRBPTP.js";
76
+ } from "./chunk-H7QTZTIE.js";
71
77
 
72
78
  // src/reapply.ts
73
79
  import { dirname, join } from "path";
@@ -328,6 +334,22 @@ var reapplyOpenCodePlugin = (paths = {}) => {
328
334
  return { configured: true, reapplied: false, hooks: false, mcp: false, failed: true };
329
335
  }
330
336
  };
337
+ var NOT_CONFIGURED = { configured: false, reapplied: false, hooks: false, mcp: false };
338
+ var CONFIGURED_BUT_FAILED = { configured: true, reapplied: false, hooks: false, mcp: false, failed: true };
339
+ var REFRESHED_HOOKS = { configured: true, reapplied: true, hooks: true, mcp: false };
340
+ var reapplyCompatibleHooks = (profile, paths = {}) => {
341
+ const configFile = paths.configFile ?? compatibleConfigFile(profile);
342
+ const config = readJson(configFile);
343
+ if (config == null || !hasCompatibleHooks(config, profile)) return NOT_CONFIGURED;
344
+ try {
345
+ const written = addCompatibleHooks(config, profile, paths.binDir ?? resolveGlobalBinDir(CLAUDE_HOOK_BINARY));
346
+ if (!written.ok) return CONFIGURED_BUT_FAILED;
347
+ writeJson(configFile, config);
348
+ return REFRESHED_HOOKS;
349
+ } catch {
350
+ return CONFIGURED_BUT_FAILED;
351
+ }
352
+ };
331
353
  var SETUP_CHOICE_BY_REAPPLY_ID = {
332
354
  claude: "claude_code",
333
355
  codex: "codex",
@@ -336,7 +358,8 @@ var SETUP_CHOICE_BY_REAPPLY_ID = {
336
358
  vscode: "vscode",
337
359
  opencode: "opencode"
338
360
  };
339
- var reapplyHookOwner = (id, appAvailable) => agentHookOwner(SETUP_CHOICE_BY_REAPPLY_ID[id], appAvailable);
361
+ var setupChoiceOf = (id) => isCompatibleAgentType(id) ? id : SETUP_CHOICE_BY_REAPPLY_ID[id];
362
+ var reapplyHookOwner = (id, appAvailable) => agentHookOwner(setupChoiceOf(id), appAvailable);
340
363
  var reapplyHolder = (id, appAvailable) => planHooks({ owner: reapplyHookOwner(id, appAvailable), takeOverHooks: false, nonInteractive: true }) === "keep" ? "app" : "cli";
341
364
  var KEPT_FOR_APP = { configured: true, reapplied: false, hooks: false, mcp: false };
342
365
  var FAILED_REAPPLY = { configured: false, reapplied: false, hooks: false, mcp: false, failed: true };
@@ -347,7 +370,12 @@ var reapplyAllAgents = (apiKey, options = {}) => {
347
370
  { id: "gemini", label: "Gemini CLI", run: () => reapplyGeminiSettings(apiKey) },
348
371
  { id: "cursor", label: "Cursor", run: () => reapplyCursorPlugin(apiKey) },
349
372
  { id: "vscode", label: "VS Code", run: () => reapplyVsCodePlugin(apiKey) },
350
- { id: "opencode", label: "OpenCode", run: () => reapplyOpenCodePlugin() }
373
+ { id: "opencode", label: "OpenCode", run: () => reapplyOpenCodePlugin() },
374
+ ...HOOK_COMPATIBLE_PROFILES.map((profile) => ({
375
+ id: profile.agentType,
376
+ label: profile.label,
377
+ run: () => reapplyCompatibleHooks(profile)
378
+ }))
351
379
  ];
352
380
  const appAvailable = (options.appAvailable ?? macAppBridgeAvailable)();
353
381
  const done = [];
@@ -378,6 +406,7 @@ export {
378
406
  reapplyCursorPlugin,
379
407
  reapplyVsCodePlugin,
380
408
  reapplyOpenCodePlugin,
409
+ reapplyCompatibleHooks,
381
410
  reapplyAllAgents,
382
411
  ensureCodexTrustAfterReapply
383
412
  };
@@ -3,18 +3,18 @@ import {
3
3
  addGeminiMcpServer,
4
4
  removeGeminiMcpServer,
5
5
  supportedClaudeEvents
6
- } from "./chunk-KN5ULH4O.js";
6
+ } from "./chunk-UM2HNUJA.js";
7
7
  import {
8
8
  CLAUDE_CODE_AGENT,
9
9
  parseApplyPatchFiles
10
- } from "./chunk-VGVMBY4V.js";
10
+ } from "./chunk-OSVDGVLL.js";
11
11
  import {
12
12
  guardBinary,
13
13
  guardBinaryRefusing,
14
14
  holdBudgetOf,
15
15
  isProtectedByScope,
16
16
  registerHookEntry
17
- } from "./chunk-YTTPPJZW.js";
17
+ } from "./chunk-CBOHZ6NY.js";
18
18
  import {
19
19
  HOOK_LOCATOR_BINARY,
20
20
  PHONE_ANSWERED_TOOLS,
@@ -24,7 +24,7 @@ import {
24
24
  refusalOutput,
25
25
  toToolLookup,
26
26
  withHookHoldBudget
27
- } from "./chunk-ZQZRBPTP.js";
27
+ } from "./chunk-H7QTZTIE.js";
28
28
 
29
29
  // src/claude-config.ts
30
30
  import { join } from "path";
@@ -277,9 +277,11 @@ var pruneEmptyMap = (config, keyPath) => {
277
277
  };
278
278
  var aliasesFor = (profile, canonical) => Object.entries(profile.toolAliases).flatMap(([agentName, target]) => target === canonical ? [agentName] : []);
279
279
  var carriesPhoneAnswer = (profile, canonical) => profile.wire !== "permission_decision" && PHONE_ANSWERED_TOOLS.has(canonical);
280
- var translateMatcher = (profile, matcher) => {
280
+ var isSoleGateEvent = (profile, definition) => profile.soleGate !== null && definition.delivery === "approval";
281
+ var soleGateCoverage = (profile, definition) => profile.soleGate && isSoleGateEvent(profile, definition) ? profile.soleGate.coveredTools : [];
282
+ var translateMatcher = (profile, definition, matcher) => {
281
283
  const spellings = matcher.split("|").filter((canonical) => !carriesPhoneAnswer(profile, canonical)).flatMap((canonical) => [canonical, ...aliasesFor(profile, canonical)]);
282
- return [.../* @__PURE__ */ new Set([...spellings, ...profile.extraMatchers])].join("|");
284
+ return [.../* @__PURE__ */ new Set([...spellings, ...soleGateCoverage(profile, definition), ...profile.extraMatchers])].join("|");
283
285
  };
284
286
  var TOOL_MATCHED_EVENTS = /* @__PURE__ */ new Set(["PreToolUse", "PostToolUse"]);
285
287
  var isPusharyHandler = (entry2, scope) => {
@@ -291,7 +293,7 @@ var withoutMatcher = ({ matcher, ...hook }) => hook;
291
293
  var compatibleHookEvents = (profile) => CLAUDE_HOOK_EVENTS.filter((hook) => profile.events.includes(hook.event)).map((hook) => {
292
294
  if (!hook.matcher) return hook;
293
295
  if (!TOOL_MATCHED_EVENTS.has(hook.event)) return withoutMatcher(hook);
294
- return { ...hook, matcher: translateMatcher(profile, hook.matcher) };
296
+ return { ...hook, matcher: translateMatcher(profile, hook, hook.matcher) };
295
297
  });
296
298
  var WRITTEN = { ok: true };
297
299
  var ROOT_KEY = "(root)";
@@ -329,8 +331,7 @@ var commandFor = (profile, definition, resolve2) => {
329
331
  return withHookHoldBudget(command, holdBudgetOf(definition));
330
332
  };
331
333
  var writesBareHandler = (profile, definition) => profile.nonToolEntries === "handler" && !TOOL_MATCHED_EVENTS.has(definition.event);
332
- var refusesWhenPusharyIsMissing = (profile, definition) => profile.soleGate !== null && definition.delivery === "approval";
333
- var guardFor = (profile, definition, path) => refusesWhenPusharyIsMissing(profile, definition) ? guardBinaryRefusing(path, refusalOutput(profile, pusharyMissingReason(profile))) : guardBinary(path);
334
+ var guardFor = (profile, definition, path) => isSoleGateEvent(profile, definition) ? guardBinaryRefusing(path, refusalOutput(profile, pusharyMissingReason(profile))) : guardBinary(path);
334
335
  var entryFor = (profile, definition, resolve2) => {
335
336
  const handler = { type: "command", command: commandFor(profile, definition, resolve2), timeout: definition.timeout };
336
337
  if (writesBareHandler(profile, definition)) return handler;
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  macAppBridgeAvailable
3
- } from "./chunk-5SKHXKIF.js";
3
+ } from "./chunk-BP3WMLXJ.js";
4
4
  import {
5
5
  keyPrefix
6
- } from "./chunk-4LIOV4YP.js";
6
+ } from "./chunk-GMVZYB3W.js";
7
7
  import {
8
8
  bridgeAgentKey
9
- } from "./chunk-YTTPPJZW.js";
9
+ } from "./chunk-CBOHZ6NY.js";
10
10
  import {
11
11
  readJsonSafe
12
12
  } from "./chunk-AQFEP65J.js";
13
13
  import {
14
14
  isValidApiKey
15
- } from "./chunk-ZQZRBPTP.js";
15
+ } from "./chunk-H7QTZTIE.js";
16
16
 
17
17
  // src/shared-mcp-key.ts
18
18
  var asRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value) ? value : void 0;
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  compatibleConfigFile
3
- } from "./chunk-TQE5VIDJ.js";
3
+ } from "./chunk-BJMVQ6D5.js";
4
4
  import {
5
5
  hookOwnerOf,
6
6
  hookOwnerOfCommands,
7
7
  liveBridgeProbe,
8
8
  resolveBridgeStub
9
- } from "./chunk-TWCWRHNK.js";
9
+ } from "./chunk-TJXCBTL4.js";
10
10
  import {
11
11
  AGENT_CHOICES
12
- } from "./chunk-MRMIGVUI.js";
12
+ } from "./chunk-WJUYWTNT.js";
13
13
  import {
14
14
  claudeSettings,
15
15
  codexHooksJson,
@@ -18,7 +18,7 @@ import {
18
18
  guardedArgv,
19
19
  pusharyDir,
20
20
  vscodePluginDir
21
- } from "./chunk-YTTPPJZW.js";
21
+ } from "./chunk-CBOHZ6NY.js";
22
22
  import {
23
23
  readJsonSafe
24
24
  } from "./chunk-AQFEP65J.js";
@@ -29,7 +29,7 @@ import {
29
29
  OPENCODE_APPROVAL_EVENT,
30
30
  hookCompatibleProfile,
31
31
  isRecord
32
- } from "./chunk-ZQZRBPTP.js";
32
+ } from "./chunk-H7QTZTIE.js";
33
33
 
34
34
  // src/opencode-plugin.ts
35
35
  var OPENCODE_PLUGIN_MARKER = "pushary-opencode-plugin w1";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  guardBinary
3
- } from "./chunk-YTTPPJZW.js";
3
+ } from "./chunk-CBOHZ6NY.js";
4
4
 
5
5
  // src/bell/install.ts
6
6
  import { join } from "path";