@pushary/agent-hooks 0.95.8 → 0.98.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 (82) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/bin/pushary-bell-hook.js +19 -21
  3. package/dist/bin/pushary-bell.js +6 -8
  4. package/dist/bin/pushary-claude.js +21 -23
  5. package/dist/bin/pushary-clean.js +19 -22
  6. package/dist/bin/pushary-codex-bridge.js +13 -14
  7. package/dist/bin/pushary-codex-hook.js +452 -104
  8. package/dist/bin/pushary-codex.js +8 -8
  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 +25 -27
  12. package/dist/bin/pushary-disconnect.js +6 -8
  13. package/dist/bin/pushary-doctor.js +28 -23
  14. package/dist/bin/pushary-elicitation-hook.js +19 -21
  15. package/dist/bin/pushary-gemini-bridge.js +11 -12
  16. package/dist/bin/pushary-gemini-hook.js +22 -24
  17. package/dist/bin/pushary-hook.js +24 -26
  18. package/dist/bin/pushary-login.js +7 -8
  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 +21 -23
  22. package/dist/bin/pushary-opencode-hook.js +22 -24
  23. package/dist/bin/pushary-permission-denied-hook.js +28 -27
  24. package/dist/bin/pushary-permission-hook.js +24 -26
  25. package/dist/bin/pushary-post-hook.js +21 -23
  26. package/dist/bin/pushary-prompt-hook.js +21 -23
  27. package/dist/bin/pushary-session-end-hook.js +21 -23
  28. package/dist/bin/pushary-session-start-hook.js +24 -26
  29. package/dist/bin/pushary-setup.js +45 -40
  30. package/dist/bin/pushary-stats.js +2 -2
  31. package/dist/bin/pushary-status.js +10 -11
  32. package/dist/bin/pushary-stop-hook.js +21 -23
  33. package/dist/bin/pushary-stopfailure-hook.js +21 -23
  34. package/dist/bin/pushary-transcript-register.js +17 -19
  35. package/dist/bin/pushary-transcripts.js +5 -5
  36. package/dist/bin/pushary-upgrade.js +17 -20
  37. package/dist/bin/pushary-wait.js +3 -3
  38. package/dist/{chunk-GOPIMNVC.js → chunk-2GLOHBYB.js} +1 -1
  39. package/dist/{chunk-BQL7UDIB.js → chunk-3RVCQDC4.js} +1 -1
  40. package/dist/chunk-53QCTSWY.js +202 -0
  41. package/dist/{chunk-3YFJGKJQ.js → chunk-5B5QV3KC.js} +8 -8
  42. package/dist/{chunk-FRXZMCVA.js → chunk-5KLAETSU.js} +1 -1
  43. package/dist/{chunk-SDNTRS76.js → chunk-6C6MS57P.js} +1 -1
  44. package/dist/{chunk-A22VQ5ZL.js → chunk-6CYB77VD.js} +111 -55
  45. package/dist/{chunk-QD73WATQ.js → chunk-6LRGZJFB.js} +21 -21
  46. package/dist/{chunk-Z4JVEL7R.js → chunk-A76GNRIK.js} +191 -2
  47. package/dist/{chunk-RE25RJ5A.js → chunk-B35OCFXH.js} +4 -4
  48. package/dist/{chunk-UKMLSQXA.js → chunk-CP34FI4B.js} +2 -2
  49. package/dist/{chunk-I7LKI4WO.js → chunk-DOD3A6EU.js} +6 -8
  50. package/dist/{chunk-N6FAXQDD.js → chunk-FAJ4R7IB.js} +1 -1
  51. package/dist/{chunk-U5RIXR7I.js → chunk-HB2KB7QL.js} +1 -1
  52. package/dist/{chunk-QV266EGS.js → chunk-HFQ7WSHZ.js} +11 -14
  53. package/dist/{chunk-QJPYJVL3.js → chunk-IRLTW6KF.js} +1 -1
  54. package/dist/{chunk-Y6SCMXR6.js → chunk-J44RPHUZ.js} +2 -2
  55. package/dist/{chunk-R6LBGKWQ.js → chunk-JQU6PMH4.js} +17 -15
  56. package/dist/{chunk-4DUEIUUO.js → chunk-K6CH5NVW.js} +1 -1
  57. package/dist/{chunk-XZWUOCJZ.js → chunk-LBNAGGLV.js} +1 -1
  58. package/dist/{chunk-XS33QBJA.js → chunk-LGXUGYUH.js} +50 -1
  59. package/dist/{chunk-XO3JR3OP.js → chunk-LX4NNYII.js} +2 -2
  60. package/dist/{chunk-XEVOPOKT.js → chunk-M4TVEMLH.js} +1 -1
  61. package/dist/{chunk-TY6IJY6I.js → chunk-NIXVMMJM.js} +1 -1
  62. package/dist/{chunk-VERXHIQF.js → chunk-NQGYPTJQ.js} +1 -1
  63. package/dist/{chunk-EMGGUO2Q.js → chunk-OBYC6SN4.js} +1 -1
  64. package/dist/{chunk-XUTSZYYJ.js → chunk-OPR2BPD4.js} +1 -4
  65. package/dist/{chunk-MC5WUOJJ.js → chunk-OUAE3GKO.js} +75 -1
  66. package/dist/{chunk-ATKGKAP6.js → chunk-QXIF6R4P.js} +16 -13
  67. package/dist/chunk-SI7GYBQP.js +15 -0
  68. package/dist/{chunk-VMQU7YEJ.js → chunk-SJLGOVC6.js} +1 -1
  69. package/dist/{chunk-54W7ELDQ.js → chunk-TZHDKRMG.js} +2 -2
  70. package/dist/{chunk-F4TMY6XI.js → chunk-V47GITZV.js} +3 -3
  71. package/dist/{chunk-L7NOG547.js → chunk-VZD2GEKB.js} +1 -1
  72. package/dist/{chunk-R3OZ5ISU.js → chunk-W2MG2P46.js} +4 -4
  73. package/dist/{chunk-E47WV7BJ.js → chunk-WU6LSXJ6.js} +2 -2
  74. package/dist/{chunk-NOVA7KZ2.js → chunk-XL3RKJYQ.js} +308 -35
  75. package/dist/{chunk-5GKNAQTG.js → chunk-XOOWC62T.js} +1 -1
  76. package/dist/{chunk-SKPXQRKN.js → chunk-XPPXOKIG.js} +1 -1
  77. package/dist/{chunk-HUGIKB5O.js → chunk-YJDRHQLG.js} +6 -6
  78. package/dist/src/index.js +11 -11
  79. package/package.json +1 -1
  80. package/dist/chunk-3AJIK5AO.js +0 -57
  81. package/dist/chunk-L4ZCFMWW.js +0 -177
  82. package/dist/chunk-VDI645ZX.js +0 -18
@@ -4,40 +4,38 @@ import {
4
4
  } from "../chunk-PQ4K74WL.js";
5
5
  import {
6
6
  readHookInput
7
- } from "../chunk-XEVOPOKT.js";
8
- import "../chunk-3YFJGKJQ.js";
9
- import "../chunk-EMGGUO2Q.js";
10
- import "../chunk-R3OZ5ISU.js";
11
- import "../chunk-XZWUOCJZ.js";
12
- import "../chunk-QJPYJVL3.js";
13
- import "../chunk-QD73WATQ.js";
14
- import "../chunk-I7LKI4WO.js";
15
- import "../chunk-QV266EGS.js";
16
- import "../chunk-GOPIMNVC.js";
17
- import "../chunk-3AJIK5AO.js";
18
- import "../chunk-SKPXQRKN.js";
7
+ } from "../chunk-M4TVEMLH.js";
8
+ import "../chunk-5B5QV3KC.js";
9
+ import "../chunk-OBYC6SN4.js";
10
+ import "../chunk-W2MG2P46.js";
11
+ import "../chunk-LBNAGGLV.js";
12
+ import "../chunk-IRLTW6KF.js";
13
+ import "../chunk-6LRGZJFB.js";
14
+ import "../chunk-DOD3A6EU.js";
15
+ import "../chunk-HFQ7WSHZ.js";
16
+ import "../chunk-2GLOHBYB.js";
17
+ import "../chunk-XPPXOKIG.js";
19
18
  import "../chunk-EQRS3SGM.js";
20
- import "../chunk-VERXHIQF.js";
19
+ import "../chunk-NQGYPTJQ.js";
21
20
  import "../chunk-XHKBHWLX.js";
22
- import "../chunk-L4ZCFMWW.js";
23
21
  import {
24
22
  handleSessionEnd
25
- } from "../chunk-HUGIKB5O.js";
26
- import "../chunk-Z4JVEL7R.js";
27
- import "../chunk-XUTSZYYJ.js";
28
- import "../chunk-XS33QBJA.js";
29
- import "../chunk-E47WV7BJ.js";
30
- import "../chunk-NOVA7KZ2.js";
23
+ } from "../chunk-YJDRHQLG.js";
24
+ import "../chunk-A76GNRIK.js";
25
+ import "../chunk-OPR2BPD4.js";
26
+ import "../chunk-LGXUGYUH.js";
27
+ import "../chunk-WU6LSXJ6.js";
28
+ import "../chunk-XL3RKJYQ.js";
31
29
  import "../chunk-GMXKITVA.js";
32
30
  import "../chunk-DINDL2CF.js";
33
- import "../chunk-VMQU7YEJ.js";
31
+ import "../chunk-SJLGOVC6.js";
34
32
  import "../chunk-EYRGBYZG.js";
35
33
  import "../chunk-SAF6HGAA.js";
36
34
  import "../chunk-7QLSKOSU.js";
37
35
  import "../chunk-KZERVKTD.js";
38
- import "../chunk-L7NOG547.js";
36
+ import "../chunk-VZD2GEKB.js";
39
37
  import "../chunk-2UMNXADU.js";
40
- import "../chunk-MC5WUOJJ.js";
38
+ import "../chunk-OUAE3GKO.js";
41
39
 
42
40
  // bin/pushary-session-end-hook.ts
43
41
  var main = async () => {
@@ -1,45 +1,43 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  reapplyClaudeForVersion
4
- } from "../chunk-R6LBGKWQ.js";
5
- import "../chunk-4DUEIUUO.js";
6
- import "../chunk-ATKGKAP6.js";
4
+ } from "../chunk-JQU6PMH4.js";
5
+ import "../chunk-K6CH5NVW.js";
6
+ import "../chunk-QXIF6R4P.js";
7
7
  import {
8
8
  readHookInput
9
- } from "../chunk-XEVOPOKT.js";
10
- import "../chunk-3YFJGKJQ.js";
11
- import "../chunk-EMGGUO2Q.js";
12
- import "../chunk-R3OZ5ISU.js";
13
- import "../chunk-XZWUOCJZ.js";
14
- import "../chunk-QJPYJVL3.js";
15
- import "../chunk-QD73WATQ.js";
16
- import "../chunk-I7LKI4WO.js";
17
- import "../chunk-QV266EGS.js";
18
- import "../chunk-GOPIMNVC.js";
19
- import "../chunk-3AJIK5AO.js";
20
- import "../chunk-SKPXQRKN.js";
9
+ } from "../chunk-M4TVEMLH.js";
10
+ import "../chunk-5B5QV3KC.js";
11
+ import "../chunk-OBYC6SN4.js";
12
+ import "../chunk-W2MG2P46.js";
13
+ import "../chunk-LBNAGGLV.js";
14
+ import "../chunk-IRLTW6KF.js";
15
+ import "../chunk-6LRGZJFB.js";
16
+ import "../chunk-DOD3A6EU.js";
17
+ import "../chunk-HFQ7WSHZ.js";
18
+ import "../chunk-2GLOHBYB.js";
19
+ import "../chunk-XPPXOKIG.js";
21
20
  import "../chunk-EQRS3SGM.js";
22
- import "../chunk-VERXHIQF.js";
21
+ import "../chunk-NQGYPTJQ.js";
23
22
  import "../chunk-XHKBHWLX.js";
24
- import "../chunk-L4ZCFMWW.js";
25
23
  import {
26
24
  handleSessionStart
27
- } from "../chunk-HUGIKB5O.js";
28
- import "../chunk-Z4JVEL7R.js";
29
- import "../chunk-XUTSZYYJ.js";
30
- import "../chunk-XS33QBJA.js";
31
- import "../chunk-E47WV7BJ.js";
32
- import "../chunk-NOVA7KZ2.js";
25
+ } from "../chunk-YJDRHQLG.js";
26
+ import "../chunk-A76GNRIK.js";
27
+ import "../chunk-OPR2BPD4.js";
28
+ import "../chunk-LGXUGYUH.js";
29
+ import "../chunk-WU6LSXJ6.js";
30
+ import "../chunk-XL3RKJYQ.js";
33
31
  import "../chunk-GMXKITVA.js";
34
32
  import "../chunk-DINDL2CF.js";
35
- import "../chunk-VMQU7YEJ.js";
33
+ import "../chunk-SJLGOVC6.js";
36
34
  import "../chunk-EYRGBYZG.js";
37
35
  import "../chunk-SAF6HGAA.js";
38
36
  import "../chunk-7QLSKOSU.js";
39
37
  import "../chunk-KZERVKTD.js";
40
- import "../chunk-L7NOG547.js";
38
+ import "../chunk-VZD2GEKB.js";
41
39
  import "../chunk-2UMNXADU.js";
42
- import "../chunk-MC5WUOJJ.js";
40
+ import "../chunk-OUAE3GKO.js";
43
41
 
44
42
  // bin/pushary-session-start-hook.ts
45
43
  var main = async () => {
@@ -5,11 +5,11 @@ import {
5
5
  import {
6
6
  coworkOutput,
7
7
  coworkSelection
8
- } from "../chunk-UKMLSQXA.js";
8
+ } from "../chunk-CP34FI4B.js";
9
9
  import "../chunk-PUZZELE6.js";
10
10
  import {
11
11
  detectClaudeVersion
12
- } from "../chunk-4DUEIUUO.js";
12
+ } from "../chunk-K6CH5NVW.js";
13
13
  import {
14
14
  describeVersionManagerPin,
15
15
  versionManagerOf
@@ -17,7 +17,7 @@ import {
17
17
  import {
18
18
  readManagedControlEvidence,
19
19
  waitForMachineReadiness
20
- } from "../chunk-RE25RJ5A.js";
20
+ } from "../chunk-B35OCFXH.js";
21
21
  import {
22
22
  HERMES_CONFIG_SCRIPT,
23
23
  HERMES_PIP_PACKAGE,
@@ -25,7 +25,7 @@ import {
25
25
  isHermesConfigReceipt,
26
26
  resolveHermesPython,
27
27
  runHermesPythonScript
28
- } from "../chunk-N6FAXQDD.js";
28
+ } from "../chunk-FAJ4R7IB.js";
29
29
  import {
30
30
  describeDetection,
31
31
  detectAllAgents,
@@ -37,7 +37,7 @@ import {
37
37
  shortenHome,
38
38
  vscodeSettingsTargets,
39
39
  writeInstructionBlock
40
- } from "../chunk-F4TMY6XI.js";
40
+ } from "../chunk-V47GITZV.js";
41
41
  import {
42
42
  OPENCODE_HOOK_BINARY,
43
43
  addOpenCodeMcpServer,
@@ -48,7 +48,7 @@ import {
48
48
  openCodePluginDir,
49
49
  openCodePluginFile,
50
50
  openCodeWired
51
- } from "../chunk-U5RIXR7I.js";
51
+ } from "../chunk-HB2KB7QL.js";
52
52
  import {
53
53
  addClaudeMcpServer,
54
54
  addPusharyHooks,
@@ -56,12 +56,12 @@ import {
56
56
  captureClaudeMcpServer,
57
57
  isClaudeMcpSnapshot,
58
58
  updateClaudeMcpSnapshot
59
- } from "../chunk-ATKGKAP6.js";
59
+ } from "../chunk-QXIF6R4P.js";
60
60
  import {
61
61
  detectProviderLiveCapabilities,
62
62
  hasSpawnProvider,
63
63
  resolveControlPolicy
64
- } from "../chunk-54W7ELDQ.js";
64
+ } from "../chunk-TZHDKRMG.js";
65
65
  import {
66
66
  KEEP_HINT,
67
67
  captureHookTakeover,
@@ -71,23 +71,23 @@ import {
71
71
  hookOwnerOf,
72
72
  mcpBearerKey,
73
73
  planHooks
74
- } from "../chunk-R3OZ5ISU.js";
74
+ } from "../chunk-W2MG2P46.js";
75
75
  import {
76
76
  AGENT_CHOICES,
77
77
  effectiveControlMode,
78
78
  effectiveVerify,
79
79
  parseSetupOptions
80
- } from "../chunk-XZWUOCJZ.js";
80
+ } from "../chunk-LBNAGGLV.js";
81
81
  import {
82
82
  liveBridgeProbe,
83
83
  resolveBridgeStub
84
- } from "../chunk-QJPYJVL3.js";
84
+ } from "../chunk-IRLTW6KF.js";
85
85
  import {
86
86
  claudeWired,
87
87
  codexWired,
88
88
  geminiWired,
89
89
  pusharyHookExecutable
90
- } from "../chunk-QD73WATQ.js";
90
+ } from "../chunk-6LRGZJFB.js";
91
91
  import {
92
92
  clearDaemonNeedsLogin,
93
93
  daemonHasRemoteProof,
@@ -100,37 +100,26 @@ import {
100
100
  replaceDaemonService,
101
101
  stopDaemonService,
102
102
  waitForDaemonRemoteProof
103
- } from "../chunk-I7LKI4WO.js";
103
+ } from "../chunk-DOD3A6EU.js";
104
104
  import {
105
105
  GEMINI_HOOK_BINARY,
106
106
  addGeminiHooks,
107
107
  addGeminiMcpServer,
108
108
  compareVersion,
109
109
  parseVersion
110
- } from "../chunk-QV266EGS.js";
111
- import "../chunk-GOPIMNVC.js";
112
- import {
113
- guardBinary,
114
- guardCursorGate,
115
- guardedArgv
116
- } from "../chunk-3AJIK5AO.js";
110
+ } from "../chunk-HFQ7WSHZ.js";
111
+ import "../chunk-2GLOHBYB.js";
117
112
  import {
118
113
  transcriptPreferenceForSetup
119
- } from "../chunk-VERXHIQF.js";
114
+ } from "../chunk-NQGYPTJQ.js";
120
115
  import "../chunk-XHKBHWLX.js";
121
- import {
122
- installGlobally,
123
- npmErrorMessage,
124
- resolveGlobalBinDir,
125
- resolveGlobalBinary
126
- } from "../chunk-L4ZCFMWW.js";
127
116
  import {
128
117
  reportEvent
129
- } from "../chunk-HUGIKB5O.js";
130
- import "../chunk-Z4JVEL7R.js";
131
- import "../chunk-XUTSZYYJ.js";
132
- import "../chunk-XS33QBJA.js";
133
- import "../chunk-E47WV7BJ.js";
118
+ } from "../chunk-YJDRHQLG.js";
119
+ import "../chunk-A76GNRIK.js";
120
+ import "../chunk-OPR2BPD4.js";
121
+ import "../chunk-LGXUGYUH.js";
122
+ import "../chunk-WU6LSXJ6.js";
134
123
  import {
135
124
  addCodexHookTrust,
136
125
  addCodexHooks,
@@ -146,19 +135,29 @@ import {
146
135
  codexHookPositions,
147
136
  codexSkillDir2 as codexSkillDir,
148
137
  codexTrustSchemeAgrees,
138
+ codexVacatedIndexes,
149
139
  cursorPluginDir,
150
140
  cursorUserHooks,
151
141
  cursorUserMcp,
142
+ dropVacatedCodexHookTrust,
152
143
  geminiMd,
153
144
  geminiSettings,
145
+ guardBinary,
146
+ guardCursorGate,
147
+ guardedArgv,
154
148
  hermesConfigReceipt,
155
149
  hookTakeoverReceipt,
150
+ installGlobally,
151
+ npmErrorMessage,
156
152
  pusharyConfigFile,
157
153
  pusharyDir,
158
154
  readCodexMcpAuth,
155
+ registerHookEntry,
156
+ resolveGlobalBinDir,
157
+ resolveGlobalBinary,
159
158
  vscodePluginDir,
160
159
  vscodePluginMcp
161
- } from "../chunk-NOVA7KZ2.js";
160
+ } from "../chunk-XL3RKJYQ.js";
162
161
  import {
163
162
  confirmAppConnection,
164
163
  connectDevice,
@@ -168,13 +167,13 @@ import {
168
167
  printConnectInstructions,
169
168
  roundTripEvidence,
170
169
  verifyRoundTrip
171
- } from "../chunk-XO3JR3OP.js";
170
+ } from "../chunk-LX4NNYII.js";
172
171
  import "../chunk-3EGEA4KH.js";
173
172
  import {
174
173
  checkApiKey,
175
174
  describeKeyCheck,
176
175
  samePusharyAccount
177
- } from "../chunk-BQL7UDIB.js";
176
+ } from "../chunk-3RVCQDC4.js";
178
177
  import {
179
178
  setHumanStream
180
179
  } from "../chunk-QCGNGEGE.js";
@@ -199,7 +198,7 @@ import {
199
198
  readKeySource,
200
199
  resolveShellRc,
201
200
  writeKey
202
- } from "../chunk-VMQU7YEJ.js";
201
+ } from "../chunk-SJLGOVC6.js";
203
202
  import "../chunk-EYRGBYZG.js";
204
203
  import "../chunk-SAF6HGAA.js";
205
204
  import {
@@ -213,12 +212,12 @@ import {
213
212
  readJsonSafe,
214
213
  writeFileAtomic,
215
214
  writeJsonAtomic
216
- } from "../chunk-L7NOG547.js";
215
+ } from "../chunk-VZD2GEKB.js";
217
216
  import "../chunk-2UMNXADU.js";
218
217
  import {
219
218
  HOOK_LOCATOR_BINARY,
220
219
  isValidApiKey
221
- } from "../chunk-MC5WUOJJ.js";
220
+ } from "../chunk-OUAE3GKO.js";
222
221
 
223
222
  // bin/pushary-setup.ts
224
223
  import { existsSync, readFileSync, writeFileSync, mkdirSync, cpSync, rmSync, renameSync, realpathSync, readdirSync, statSync, openSync, readSync, closeSync } from "fs";
@@ -232,6 +231,10 @@ import { parse as parseTOML, stringify as stringifyTOML } from "smol-toml";
232
231
  // src/cli/exit.ts
233
232
  var isExitPromptError = (err) => err instanceof Error && (err.name === "ExitPromptError" || err.message.includes("User force closed") || /force closed the prompt/i.test(err.message));
234
233
 
234
+ // src/cursor-config.ts
235
+ var isPusharyCursorEntry = (entry) => pusharyHookExecutable(String(entry?.command ?? "")) !== null;
236
+ var registerCursorGate = (existing, entry) => registerHookEntry(existing, isPusharyCursorEntry, entry);
237
+
235
238
  // src/setup/phone-check.ts
236
239
  var planPhoneCheck = (context) => {
237
240
  if (context.locked) return "locked";
@@ -1062,8 +1065,10 @@ var setupCodex = async (apiKey) => {
1062
1065
  if (hooksSupported) {
1063
1066
  const hookCommand = guardBinary(resolveGlobalBinary("pushary-codex-hook") ?? "pushary-codex-hook");
1064
1067
  let hookPositions = {};
1068
+ let vacated = {};
1065
1069
  await spinner("Adding native hooks (~/.codex/hooks.json)", async () => {
1066
1070
  const hooksConfig = readAgentJson(CODEX_HOOKS_JSON);
1071
+ vacated = codexVacatedIndexes(hooksConfig);
1067
1072
  addCodexHooks(hooksConfig, hookCommand);
1068
1073
  writeJson(CODEX_HOOKS_JSON, hooksConfig);
1069
1074
  hookPositions = codexHookPositions(hooksConfig);
@@ -1076,6 +1081,7 @@ var setupCodex = async (apiKey) => {
1076
1081
  } catch {
1077
1082
  }
1078
1083
  const config = raw ? parseTOML(raw) : {};
1084
+ dropVacatedCodexHookTrust(config, CODEX_HOOKS_JSON, vacated);
1079
1085
  addCodexHookTrust(config, CODEX_HOOKS_JSON, hookCommand, hookPositions);
1080
1086
  writeFileSync(codexConfig, stringifyTOML(config), "utf-8");
1081
1087
  trusted = true;
@@ -1168,8 +1174,7 @@ var installCursorUserHooks = (gateScript) => {
1168
1174
  const template = bundled[event]?.[0];
1169
1175
  if (!template) throw new Error(`bundled Cursor hooks.json missing a ${event} entry`);
1170
1176
  const existing = Array.isArray(hooks[event]) ? hooks[event] : [];
1171
- const others = existing.filter((h) => pusharyHookExecutable(String(h.command ?? "")) === null);
1172
- hooks[event] = [...others, { ...template, command: guardCursorGate(gateScript) }];
1177
+ hooks[event] = registerCursorGate(existing, { ...template, command: guardCursorGate(gateScript) });
1173
1178
  }
1174
1179
  writeJson(CURSOR_USER_HOOKS, { ...userHooks, version: userHooks.version ?? 1, hooks });
1175
1180
  };
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readLedgerSummary
4
- } from "../chunk-5GKNAQTG.js";
4
+ } from "../chunk-XOOWC62T.js";
5
5
  import {
6
6
  exitOnHelpFlag
7
7
  } from "../chunk-GOQHN2UH.js";
@@ -11,7 +11,7 @@ import "../chunk-KZERVKTD.js";
11
11
  import {
12
12
  getApiKey
13
13
  } from "../chunk-2UMNXADU.js";
14
- import "../chunk-MC5WUOJJ.js";
14
+ import "../chunk-OUAE3GKO.js";
15
15
 
16
16
  // bin/pushary-stats.ts
17
17
  exitOnHelpFlag("stats");
@@ -2,23 +2,22 @@
2
2
  import {
3
3
  describeLastSeen,
4
4
  listMachines
5
- } from "../chunk-RE25RJ5A.js";
6
- import "../chunk-54W7ELDQ.js";
7
- import "../chunk-I7LKI4WO.js";
5
+ } from "../chunk-B35OCFXH.js";
6
+ import "../chunk-TZHDKRMG.js";
7
+ import "../chunk-DOD3A6EU.js";
8
8
  import "../chunk-XHKBHWLX.js";
9
- import "../chunk-L4ZCFMWW.js";
10
- import "../chunk-E47WV7BJ.js";
11
- import "../chunk-NOVA7KZ2.js";
9
+ import "../chunk-WU6LSXJ6.js";
10
+ import "../chunk-XL3RKJYQ.js";
12
11
  import {
13
12
  describeReach,
14
13
  fetchChannels,
15
14
  reachVerdict
16
- } from "../chunk-XO3JR3OP.js";
15
+ } from "../chunk-LX4NNYII.js";
17
16
  import "../chunk-3EGEA4KH.js";
18
17
  import {
19
18
  checkApiKey,
20
19
  describeKeyCheck
21
- } from "../chunk-BQL7UDIB.js";
20
+ } from "../chunk-3RVCQDC4.js";
22
21
  import "../chunk-QCGNGEGE.js";
23
22
  import {
24
23
  createIo
@@ -33,7 +32,7 @@ import {
33
32
  import "../chunk-DINDL2CF.js";
34
33
  import {
35
34
  readKeySource
36
- } from "../chunk-VMQU7YEJ.js";
35
+ } from "../chunk-SJLGOVC6.js";
37
36
  import "../chunk-EYRGBYZG.js";
38
37
  import "../chunk-SAF6HGAA.js";
39
38
  import {
@@ -42,9 +41,9 @@ import {
42
41
  import {
43
42
  EXIT
44
43
  } from "../chunk-KZERVKTD.js";
45
- import "../chunk-L7NOG547.js";
44
+ import "../chunk-VZD2GEKB.js";
46
45
  import "../chunk-2UMNXADU.js";
47
- import "../chunk-MC5WUOJJ.js";
46
+ import "../chunk-OUAE3GKO.js";
48
47
 
49
48
  // src/status.ts
50
49
  var keySourceLine = (source) => {
@@ -1,42 +1,40 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-XEVOPOKT.js";
5
- import "../chunk-3YFJGKJQ.js";
6
- import "../chunk-EMGGUO2Q.js";
7
- import "../chunk-R3OZ5ISU.js";
8
- import "../chunk-XZWUOCJZ.js";
9
- import "../chunk-QJPYJVL3.js";
10
- import "../chunk-QD73WATQ.js";
11
- import "../chunk-I7LKI4WO.js";
12
- import "../chunk-QV266EGS.js";
13
- import "../chunk-GOPIMNVC.js";
14
- import "../chunk-3AJIK5AO.js";
15
- import "../chunk-SKPXQRKN.js";
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";
16
15
  import "../chunk-EQRS3SGM.js";
17
- import "../chunk-VERXHIQF.js";
16
+ import "../chunk-NQGYPTJQ.js";
18
17
  import "../chunk-XHKBHWLX.js";
19
- import "../chunk-L4ZCFMWW.js";
20
18
  import {
21
19
  handleStop,
22
20
  handleSubagentStop,
23
21
  isSubagentStop
24
- } from "../chunk-HUGIKB5O.js";
25
- import "../chunk-Z4JVEL7R.js";
26
- import "../chunk-XUTSZYYJ.js";
27
- import "../chunk-XS33QBJA.js";
28
- import "../chunk-E47WV7BJ.js";
29
- import "../chunk-NOVA7KZ2.js";
22
+ } from "../chunk-YJDRHQLG.js";
23
+ import "../chunk-A76GNRIK.js";
24
+ import "../chunk-OPR2BPD4.js";
25
+ import "../chunk-LGXUGYUH.js";
26
+ import "../chunk-WU6LSXJ6.js";
27
+ import "../chunk-XL3RKJYQ.js";
30
28
  import "../chunk-GMXKITVA.js";
31
29
  import "../chunk-DINDL2CF.js";
32
- import "../chunk-VMQU7YEJ.js";
30
+ import "../chunk-SJLGOVC6.js";
33
31
  import "../chunk-EYRGBYZG.js";
34
32
  import "../chunk-SAF6HGAA.js";
35
33
  import "../chunk-7QLSKOSU.js";
36
34
  import "../chunk-KZERVKTD.js";
37
- import "../chunk-L7NOG547.js";
35
+ import "../chunk-VZD2GEKB.js";
38
36
  import "../chunk-2UMNXADU.js";
39
- import "../chunk-MC5WUOJJ.js";
37
+ import "../chunk-OUAE3GKO.js";
40
38
 
41
39
  // bin/pushary-stop-hook.ts
42
40
  var main = async () => {
@@ -1,40 +1,38 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-XEVOPOKT.js";
5
- import "../chunk-3YFJGKJQ.js";
6
- import "../chunk-EMGGUO2Q.js";
7
- import "../chunk-R3OZ5ISU.js";
8
- import "../chunk-XZWUOCJZ.js";
9
- import "../chunk-QJPYJVL3.js";
10
- import "../chunk-QD73WATQ.js";
11
- import "../chunk-I7LKI4WO.js";
12
- import "../chunk-QV266EGS.js";
13
- import "../chunk-GOPIMNVC.js";
14
- import "../chunk-3AJIK5AO.js";
15
- import "../chunk-SKPXQRKN.js";
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";
16
15
  import "../chunk-EQRS3SGM.js";
17
- import "../chunk-VERXHIQF.js";
16
+ import "../chunk-NQGYPTJQ.js";
18
17
  import "../chunk-XHKBHWLX.js";
19
- import "../chunk-L4ZCFMWW.js";
20
18
  import {
21
19
  handleStopFailure
22
- } from "../chunk-HUGIKB5O.js";
23
- import "../chunk-Z4JVEL7R.js";
24
- import "../chunk-XUTSZYYJ.js";
25
- import "../chunk-XS33QBJA.js";
26
- import "../chunk-E47WV7BJ.js";
27
- import "../chunk-NOVA7KZ2.js";
20
+ } from "../chunk-YJDRHQLG.js";
21
+ import "../chunk-A76GNRIK.js";
22
+ import "../chunk-OPR2BPD4.js";
23
+ import "../chunk-LGXUGYUH.js";
24
+ import "../chunk-WU6LSXJ6.js";
25
+ import "../chunk-XL3RKJYQ.js";
28
26
  import "../chunk-GMXKITVA.js";
29
27
  import "../chunk-DINDL2CF.js";
30
- import "../chunk-VMQU7YEJ.js";
28
+ import "../chunk-SJLGOVC6.js";
31
29
  import "../chunk-EYRGBYZG.js";
32
30
  import "../chunk-SAF6HGAA.js";
33
31
  import "../chunk-7QLSKOSU.js";
34
32
  import "../chunk-KZERVKTD.js";
35
- import "../chunk-L7NOG547.js";
33
+ import "../chunk-VZD2GEKB.js";
36
34
  import "../chunk-2UMNXADU.js";
37
- import "../chunk-MC5WUOJJ.js";
35
+ import "../chunk-OUAE3GKO.js";
38
36
 
39
37
  // bin/pushary-stopfailure-hook.ts
40
38
  var main = async () => {
@@ -1,32 +1,30 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  registerTranscript
4
- } from "../chunk-3YFJGKJQ.js";
5
- import "../chunk-EMGGUO2Q.js";
6
- import "../chunk-R3OZ5ISU.js";
7
- import "../chunk-XZWUOCJZ.js";
8
- import "../chunk-QJPYJVL3.js";
9
- import "../chunk-QD73WATQ.js";
10
- import "../chunk-I7LKI4WO.js";
11
- import "../chunk-QV266EGS.js";
12
- import "../chunk-GOPIMNVC.js";
13
- import "../chunk-3AJIK5AO.js";
14
- import "../chunk-SKPXQRKN.js";
4
+ } from "../chunk-5B5QV3KC.js";
5
+ import "../chunk-OBYC6SN4.js";
6
+ import "../chunk-W2MG2P46.js";
7
+ import "../chunk-LBNAGGLV.js";
8
+ import "../chunk-IRLTW6KF.js";
9
+ import "../chunk-6LRGZJFB.js";
10
+ import "../chunk-DOD3A6EU.js";
11
+ import "../chunk-HFQ7WSHZ.js";
12
+ import "../chunk-2GLOHBYB.js";
13
+ import "../chunk-XPPXOKIG.js";
15
14
  import "../chunk-EQRS3SGM.js";
16
- import "../chunk-VERXHIQF.js";
15
+ import "../chunk-NQGYPTJQ.js";
17
16
  import "../chunk-XHKBHWLX.js";
18
- import "../chunk-L4ZCFMWW.js";
19
- import "../chunk-XUTSZYYJ.js";
20
- import "../chunk-E47WV7BJ.js";
21
- import "../chunk-NOVA7KZ2.js";
17
+ import "../chunk-OPR2BPD4.js";
18
+ import "../chunk-WU6LSXJ6.js";
19
+ import "../chunk-XL3RKJYQ.js";
22
20
  import "../chunk-GMXKITVA.js";
23
21
  import "../chunk-DINDL2CF.js";
24
- import "../chunk-VMQU7YEJ.js";
22
+ import "../chunk-SJLGOVC6.js";
25
23
  import "../chunk-7QLSKOSU.js";
26
24
  import "../chunk-KZERVKTD.js";
27
- import "../chunk-L7NOG547.js";
25
+ import "../chunk-VZD2GEKB.js";
28
26
  import "../chunk-2UMNXADU.js";
29
- import "../chunk-MC5WUOJJ.js";
27
+ import "../chunk-OUAE3GKO.js";
30
28
 
31
29
  // bin/pushary-transcript-register.ts
32
30
  var raw = "";
@@ -3,20 +3,20 @@ import {
3
3
  clearPin,
4
4
  fingerprint,
5
5
  loadPin
6
- } from "../chunk-EMGGUO2Q.js";
6
+ } from "../chunk-OBYC6SN4.js";
7
7
  import {
8
8
  transcriptsEnabled
9
- } from "../chunk-VERXHIQF.js";
9
+ } from "../chunk-NQGYPTJQ.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-VMQU7YEJ.js";
15
+ import "../chunk-SJLGOVC6.js";
16
16
  import "../chunk-KZERVKTD.js";
17
- import "../chunk-L7NOG547.js";
17
+ import "../chunk-VZD2GEKB.js";
18
18
  import "../chunk-2UMNXADU.js";
19
- import "../chunk-MC5WUOJJ.js";
19
+ import "../chunk-OUAE3GKO.js";
20
20
 
21
21
  // bin/pushary-transcripts.ts
22
22
  exitOnHelpFlag("transcripts");