@pushary/agent-hooks 1.4.0 → 1.4.2

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 (78) hide show
  1. package/CHANGELOG.md +15 -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 +18 -18
  5. package/dist/bin/pushary-clean.js +159 -138
  6. package/dist/bin/pushary-codex-bridge.js +10 -10
  7. package/dist/bin/pushary-codex-hook.js +31 -26
  8. package/dist/bin/pushary-codex.js +6 -6
  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 +10 -10
  13. package/dist/bin/pushary-doctor.js +20 -20
  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 +19 -19
  17. package/dist/bin/pushary-hook.js +23 -23
  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 +20 -20
  22. package/dist/bin/pushary-opencode-hook.js +19 -19
  23. package/dist/bin/pushary-permission-denied-hook.js +24 -24
  24. package/dist/bin/pushary-permission-hook.js +23 -23
  25. package/dist/bin/pushary-post-hook.js +20 -20
  26. package/dist/bin/pushary-prompt-hook.js +20 -20
  27. package/dist/bin/pushary-session-end-hook.js +20 -20
  28. package/dist/bin/pushary-session-start-hook.js +22 -22
  29. package/dist/bin/pushary-setup.js +53 -32
  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 +20 -20
  33. package/dist/bin/pushary-stopfailure-hook.js +20 -20
  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-VENQSVKA.js → chunk-25RTLTQD.js} +1 -1
  39. package/dist/{chunk-H25UB3CG.js → chunk-2V2IKOGJ.js} +1 -1
  40. package/dist/{chunk-BYAXXBNO.js → chunk-4BROEAKH.js} +1 -1
  41. package/dist/{chunk-UTYTPDWN.js → chunk-4ZDKSDVW.js} +4 -4
  42. package/dist/{chunk-2TOTCUJC.js → chunk-55KW4FLG.js} +2 -2
  43. package/dist/{chunk-S3CLZSV3.js → chunk-ACYIZ3KH.js} +5 -5
  44. package/dist/{chunk-RGZY77CD.js → chunk-BZ4GDOJX.js} +3 -3
  45. package/dist/{chunk-5MSBI6NP.js → chunk-DY4ILT6L.js} +1 -1
  46. package/dist/{chunk-Q4UAMWXK.js → chunk-F4UWL4NY.js} +1 -1
  47. package/dist/{chunk-NYHNLMQO.js → chunk-FU2DFEAZ.js} +1 -1
  48. package/dist/{chunk-IF46POXX.js → chunk-G653QPTR.js} +17 -13
  49. package/dist/{chunk-S3EUZZJB.js → chunk-GZ7E6VOB.js} +1 -1
  50. package/dist/{chunk-5IBVIMWT.js → chunk-II7PUMPB.js} +3 -3
  51. package/dist/{chunk-ZIGGEKZW.js → chunk-JVTOML54.js} +2 -2
  52. package/dist/{chunk-5F5QQMCA.js → chunk-LEAAERSQ.js} +1 -1
  53. package/dist/{chunk-A7XIL2WD.js → chunk-LPYCPFBZ.js} +3 -3
  54. package/dist/{chunk-XJWMPQ6X.js → chunk-M5CTUFF3.js} +1 -1
  55. package/dist/{chunk-O5L2OJBB.js → chunk-MUVTZNJW.js} +3 -3
  56. package/dist/{chunk-7PQZYCEP.js → chunk-MW6ZPC6R.js} +1 -1
  57. package/dist/{chunk-RQM5SMMR.js → chunk-NHTAHAIS.js} +1 -1
  58. package/dist/{chunk-GS5EI2YL.js → chunk-NOWZUGZW.js} +1 -1
  59. package/dist/{chunk-D4TNSUDY.js → chunk-NY6XQ6CA.js} +1 -1
  60. package/dist/{chunk-SGZ3IAWF.js → chunk-PC6DU5C4.js} +1 -1
  61. package/dist/{chunk-7IEB2GV4.js → chunk-SOUZBGYJ.js} +5 -0
  62. package/dist/{chunk-JCWCTBYH.js → chunk-SUWRZYQG.js} +56 -5
  63. package/dist/{chunk-U4FB623J.js → chunk-T5SZ4PML.js} +24 -10
  64. package/dist/{chunk-UCGQEAKZ.js → chunk-TRLFZKVG.js} +1 -1
  65. package/dist/{chunk-GLPWCQ6V.js → chunk-TYEO6T5J.js} +2 -2
  66. package/dist/{chunk-ESLLVHDY.js → chunk-UJBZIKSY.js} +6 -6
  67. package/dist/{chunk-P4JVVJ2D.js → chunk-UM5J3J4V.js} +1 -1
  68. package/dist/{chunk-HGN6VZTY.js → chunk-VIOL2DJS.js} +5 -5
  69. package/dist/{chunk-GIXLZFEY.js → chunk-VOMOZ4D5.js} +1 -1
  70. package/dist/{chunk-UIN3RD2U.js → chunk-VW66JEGU.js} +4 -4
  71. package/dist/{chunk-O6RN46OS.js → chunk-WPVHRUDT.js} +3 -3
  72. package/dist/{chunk-43Z3RLS5.js → chunk-XDP3UYH5.js} +16 -43
  73. package/dist/{chunk-NBCTKC4Z.js → chunk-Y3MM6PYN.js} +4 -4
  74. package/dist/{chunk-KZIXHLPQ.js → chunk-YXP3WPAI.js} +1 -1
  75. package/dist/{chunk-YYRZPEMA.js → chunk-ZVY25BMK.js} +1 -1
  76. package/dist/{reapply-B3S2LRMT.js → reapply-J527BCJG.js} +8 -8
  77. package/dist/src/index.js +12 -12
  78. package/package.json +1 -1
@@ -2,42 +2,42 @@
2
2
  import {
3
3
  activeHookSource,
4
4
  activeIdentity
5
- } from "../chunk-HGN6VZTY.js";
6
- import "../chunk-5IBVIMWT.js";
5
+ } from "../chunk-VIOL2DJS.js";
6
+ import "../chunk-II7PUMPB.js";
7
7
  import {
8
8
  readHookInput
9
- } from "../chunk-ZIGGEKZW.js";
10
- import "../chunk-ESLLVHDY.js";
9
+ } from "../chunk-JVTOML54.js";
10
+ import "../chunk-UJBZIKSY.js";
11
11
  import "../chunk-SGZJ5LYH.js";
12
- import "../chunk-UTYTPDWN.js";
13
- import "../chunk-5MSBI6NP.js";
14
- import "../chunk-YYRZPEMA.js";
15
- import "../chunk-O6RN46OS.js";
16
- import "../chunk-RGZY77CD.js";
17
- import "../chunk-A7XIL2WD.js";
18
- import "../chunk-7PQZYCEP.js";
19
- import "../chunk-S3EUZZJB.js";
12
+ import "../chunk-4ZDKSDVW.js";
13
+ import "../chunk-DY4ILT6L.js";
14
+ import "../chunk-ZVY25BMK.js";
15
+ import "../chunk-WPVHRUDT.js";
16
+ import "../chunk-BZ4GDOJX.js";
17
+ import "../chunk-LPYCPFBZ.js";
18
+ import "../chunk-MW6ZPC6R.js";
19
+ import "../chunk-GZ7E6VOB.js";
20
20
  import "../chunk-EQRS3SGM.js";
21
- import "../chunk-BYAXXBNO.js";
21
+ import "../chunk-4BROEAKH.js";
22
22
  import "../chunk-XHKBHWLX.js";
23
23
  import {
24
24
  handleUserPrompt
25
- } from "../chunk-IF46POXX.js";
26
- import "../chunk-KZIXHLPQ.js";
25
+ } from "../chunk-G653QPTR.js";
26
+ import "../chunk-YXP3WPAI.js";
27
27
  import "../chunk-LGXUGYUH.js";
28
- import "../chunk-RQM5SMMR.js";
29
- import "../chunk-UCGQEAKZ.js";
28
+ import "../chunk-NHTAHAIS.js";
29
+ import "../chunk-TRLFZKVG.js";
30
30
  import "../chunk-GMXKITVA.js";
31
31
  import "../chunk-DINDL2CF.js";
32
- import "../chunk-NYHNLMQO.js";
32
+ import "../chunk-FU2DFEAZ.js";
33
33
  import "../chunk-EYRGBYZG.js";
34
34
  import "../chunk-SAF6HGAA.js";
35
35
  import "../chunk-7QLSKOSU.js";
36
36
  import "../chunk-KZERVKTD.js";
37
- import "../chunk-P4JVVJ2D.js";
37
+ import "../chunk-UM5J3J4V.js";
38
38
  import "../chunk-T7E75EKA.js";
39
39
  import "../chunk-2UMNXADU.js";
40
- import "../chunk-7IEB2GV4.js";
40
+ import "../chunk-SOUZBGYJ.js";
41
41
 
42
42
  // bin/pushary-prompt-hook.ts
43
43
  var AGENT = activeIdentity(process.argv);
@@ -5,42 +5,42 @@ import {
5
5
  import {
6
6
  activeHookSource,
7
7
  activeIdentity
8
- } from "../chunk-HGN6VZTY.js";
9
- import "../chunk-5IBVIMWT.js";
8
+ } from "../chunk-VIOL2DJS.js";
9
+ import "../chunk-II7PUMPB.js";
10
10
  import {
11
11
  readHookInput
12
- } from "../chunk-ZIGGEKZW.js";
13
- import "../chunk-ESLLVHDY.js";
12
+ } from "../chunk-JVTOML54.js";
13
+ import "../chunk-UJBZIKSY.js";
14
14
  import "../chunk-SGZJ5LYH.js";
15
- import "../chunk-UTYTPDWN.js";
16
- import "../chunk-5MSBI6NP.js";
17
- import "../chunk-YYRZPEMA.js";
18
- import "../chunk-O6RN46OS.js";
19
- import "../chunk-RGZY77CD.js";
20
- import "../chunk-A7XIL2WD.js";
21
- import "../chunk-7PQZYCEP.js";
22
- import "../chunk-S3EUZZJB.js";
15
+ import "../chunk-4ZDKSDVW.js";
16
+ import "../chunk-DY4ILT6L.js";
17
+ import "../chunk-ZVY25BMK.js";
18
+ import "../chunk-WPVHRUDT.js";
19
+ import "../chunk-BZ4GDOJX.js";
20
+ import "../chunk-LPYCPFBZ.js";
21
+ import "../chunk-MW6ZPC6R.js";
22
+ import "../chunk-GZ7E6VOB.js";
23
23
  import "../chunk-EQRS3SGM.js";
24
- import "../chunk-BYAXXBNO.js";
24
+ import "../chunk-4BROEAKH.js";
25
25
  import "../chunk-XHKBHWLX.js";
26
26
  import {
27
27
  handleSessionEnd
28
- } from "../chunk-IF46POXX.js";
29
- import "../chunk-KZIXHLPQ.js";
28
+ } from "../chunk-G653QPTR.js";
29
+ import "../chunk-YXP3WPAI.js";
30
30
  import "../chunk-LGXUGYUH.js";
31
- import "../chunk-RQM5SMMR.js";
32
- import "../chunk-UCGQEAKZ.js";
31
+ import "../chunk-NHTAHAIS.js";
32
+ import "../chunk-TRLFZKVG.js";
33
33
  import "../chunk-GMXKITVA.js";
34
34
  import "../chunk-DINDL2CF.js";
35
- import "../chunk-NYHNLMQO.js";
35
+ import "../chunk-FU2DFEAZ.js";
36
36
  import "../chunk-EYRGBYZG.js";
37
37
  import "../chunk-SAF6HGAA.js";
38
38
  import "../chunk-7QLSKOSU.js";
39
39
  import "../chunk-KZERVKTD.js";
40
- import "../chunk-P4JVVJ2D.js";
40
+ import "../chunk-UM5J3J4V.js";
41
41
  import "../chunk-T7E75EKA.js";
42
42
  import "../chunk-2UMNXADU.js";
43
- import "../chunk-7IEB2GV4.js";
43
+ import "../chunk-SOUZBGYJ.js";
44
44
 
45
45
  // bin/pushary-session-end-hook.ts
46
46
  var AGENT = activeIdentity(process.argv);
@@ -1,48 +1,48 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  reapplyClaudeForVersion
4
- } from "../chunk-S3CLZSV3.js";
5
- import "../chunk-SGZ3IAWF.js";
4
+ } from "../chunk-ACYIZ3KH.js";
5
+ import "../chunk-PC6DU5C4.js";
6
6
  import {
7
7
  activeHookSource,
8
8
  activeIdentity
9
- } from "../chunk-HGN6VZTY.js";
10
- import "../chunk-5IBVIMWT.js";
9
+ } from "../chunk-VIOL2DJS.js";
10
+ import "../chunk-II7PUMPB.js";
11
11
  import {
12
12
  readHookInput
13
- } from "../chunk-ZIGGEKZW.js";
14
- import "../chunk-ESLLVHDY.js";
13
+ } from "../chunk-JVTOML54.js";
14
+ import "../chunk-UJBZIKSY.js";
15
15
  import "../chunk-SGZJ5LYH.js";
16
- import "../chunk-UTYTPDWN.js";
17
- import "../chunk-5MSBI6NP.js";
18
- import "../chunk-YYRZPEMA.js";
19
- import "../chunk-O6RN46OS.js";
20
- import "../chunk-RGZY77CD.js";
21
- import "../chunk-A7XIL2WD.js";
22
- import "../chunk-7PQZYCEP.js";
23
- import "../chunk-S3EUZZJB.js";
16
+ import "../chunk-4ZDKSDVW.js";
17
+ import "../chunk-DY4ILT6L.js";
18
+ import "../chunk-ZVY25BMK.js";
19
+ import "../chunk-WPVHRUDT.js";
20
+ import "../chunk-BZ4GDOJX.js";
21
+ import "../chunk-LPYCPFBZ.js";
22
+ import "../chunk-MW6ZPC6R.js";
23
+ import "../chunk-GZ7E6VOB.js";
24
24
  import "../chunk-EQRS3SGM.js";
25
- import "../chunk-BYAXXBNO.js";
25
+ import "../chunk-4BROEAKH.js";
26
26
  import "../chunk-XHKBHWLX.js";
27
27
  import {
28
28
  CLAUDE_CODE_AGENT,
29
29
  handleSessionStart
30
- } from "../chunk-IF46POXX.js";
31
- import "../chunk-KZIXHLPQ.js";
30
+ } from "../chunk-G653QPTR.js";
31
+ import "../chunk-YXP3WPAI.js";
32
32
  import "../chunk-LGXUGYUH.js";
33
- import "../chunk-RQM5SMMR.js";
34
- import "../chunk-UCGQEAKZ.js";
33
+ import "../chunk-NHTAHAIS.js";
34
+ import "../chunk-TRLFZKVG.js";
35
35
  import "../chunk-GMXKITVA.js";
36
36
  import "../chunk-DINDL2CF.js";
37
- import "../chunk-NYHNLMQO.js";
37
+ import "../chunk-FU2DFEAZ.js";
38
38
  import "../chunk-EYRGBYZG.js";
39
39
  import "../chunk-SAF6HGAA.js";
40
40
  import "../chunk-7QLSKOSU.js";
41
41
  import "../chunk-KZERVKTD.js";
42
- import "../chunk-P4JVVJ2D.js";
42
+ import "../chunk-UM5J3J4V.js";
43
43
  import "../chunk-T7E75EKA.js";
44
44
  import "../chunk-2UMNXADU.js";
45
- import "../chunk-7IEB2GV4.js";
45
+ import "../chunk-SOUZBGYJ.js";
46
46
 
47
47
  // bin/pushary-session-start-hook.ts
48
48
  var AGENT = activeIdentity(process.argv);
@@ -5,11 +5,11 @@ import {
5
5
  import {
6
6
  coworkOutput,
7
7
  coworkSelection
8
- } from "../chunk-2TOTCUJC.js";
8
+ } from "../chunk-55KW4FLG.js";
9
9
  import "../chunk-PUZZELE6.js";
10
10
  import {
11
11
  detectClaudeVersion
12
- } from "../chunk-SGZ3IAWF.js";
12
+ } from "../chunk-PC6DU5C4.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-UIN3RD2U.js";
20
+ } from "../chunk-VW66JEGU.js";
21
21
  import {
22
22
  HERMES_CONFIG_SCRIPT,
23
23
  HERMES_PIP_PACKAGE,
@@ -27,7 +27,7 @@ import {
27
27
  isHermesConfigReceipt,
28
28
  resolveHermesPython,
29
29
  runHermesPythonScript
30
- } from "../chunk-NBCTKC4Z.js";
30
+ } from "../chunk-Y3MM6PYN.js";
31
31
  import {
32
32
  describeDetection,
33
33
  detectAllAgents,
@@ -39,7 +39,7 @@ import {
39
39
  shortenHome,
40
40
  vscodeSettingsTargets,
41
41
  writeInstructionBlock
42
- } from "../chunk-O5L2OJBB.js";
42
+ } from "../chunk-MUVTZNJW.js";
43
43
  import {
44
44
  OPENCODE_HOOK_BINARY,
45
45
  addOpenCodeMcpServer,
@@ -50,7 +50,7 @@ import {
50
50
  openCodePluginDir,
51
51
  openCodePluginFile,
52
52
  openCodeWired
53
- } from "../chunk-Q4UAMWXK.js";
53
+ } from "../chunk-F4UWL4NY.js";
54
54
  import {
55
55
  addCompatibleHooks,
56
56
  addCompatibleMcpServer,
@@ -61,7 +61,7 @@ import {
61
61
  compatibleMcpFile,
62
62
  compatiblePermissionRuleFile,
63
63
  hasCompatibleHooks
64
- } from "../chunk-HGN6VZTY.js";
64
+ } from "../chunk-VIOL2DJS.js";
65
65
  import {
66
66
  addClaudeMcpServer,
67
67
  addPusharyHooks,
@@ -69,12 +69,12 @@ import {
69
69
  captureClaudeMcpServer,
70
70
  isClaudeMcpSnapshot,
71
71
  updateClaudeMcpSnapshot
72
- } from "../chunk-5IBVIMWT.js";
72
+ } from "../chunk-II7PUMPB.js";
73
73
  import {
74
74
  detectProviderLiveCapabilities,
75
75
  hasSpawnProvider,
76
76
  resolveControlPolicy
77
- } from "../chunk-GLPWCQ6V.js";
77
+ } from "../chunk-TYEO6T5J.js";
78
78
  import {
79
79
  KEEP_HINT,
80
80
  captureHookTakeover,
@@ -84,23 +84,23 @@ import {
84
84
  hookOwnerOf,
85
85
  mcpBearerKey,
86
86
  planHooks
87
- } from "../chunk-UTYTPDWN.js";
87
+ } from "../chunk-4ZDKSDVW.js";
88
88
  import {
89
89
  AGENT_CHOICES,
90
90
  effectiveControlMode,
91
91
  effectiveVerify,
92
92
  parseSetupOptions
93
- } from "../chunk-5MSBI6NP.js";
93
+ } from "../chunk-DY4ILT6L.js";
94
94
  import {
95
95
  liveBridgeProbe,
96
96
  resolveBridgeStub
97
- } from "../chunk-YYRZPEMA.js";
97
+ } from "../chunk-ZVY25BMK.js";
98
98
  import {
99
99
  claudeWired,
100
100
  codexWired,
101
101
  geminiWired,
102
102
  pusharyHookExecutable
103
- } from "../chunk-O6RN46OS.js";
103
+ } from "../chunk-WPVHRUDT.js";
104
104
  import {
105
105
  clearDaemonNeedsLogin,
106
106
  daemonHasRemoteProof,
@@ -113,25 +113,26 @@ import {
113
113
  replaceDaemonService,
114
114
  stopDaemonService,
115
115
  waitForDaemonRemoteProof
116
- } from "../chunk-RGZY77CD.js";
116
+ } from "../chunk-BZ4GDOJX.js";
117
117
  import {
118
118
  GEMINI_HOOK_BINARY,
119
119
  addGeminiHooks,
120
120
  addGeminiMcpServer,
121
121
  compareVersion,
122
+ formatVersion,
122
123
  parseVersion
123
- } from "../chunk-A7XIL2WD.js";
124
- import "../chunk-7PQZYCEP.js";
124
+ } from "../chunk-LPYCPFBZ.js";
125
+ import "../chunk-MW6ZPC6R.js";
125
126
  import {
126
127
  transcriptPreferenceForSetup
127
- } from "../chunk-BYAXXBNO.js";
128
+ } from "../chunk-4BROEAKH.js";
128
129
  import "../chunk-XHKBHWLX.js";
129
130
  import {
130
131
  reportEvent
131
- } from "../chunk-IF46POXX.js";
132
- import "../chunk-KZIXHLPQ.js";
132
+ } from "../chunk-G653QPTR.js";
133
+ import "../chunk-YXP3WPAI.js";
133
134
  import "../chunk-LGXUGYUH.js";
134
- import "../chunk-RQM5SMMR.js";
135
+ import "../chunk-NHTAHAIS.js";
135
136
  import {
136
137
  addCodexHookTrust,
137
138
  addCodexHooks,
@@ -169,8 +170,9 @@ import {
169
170
  resolveGlobalBinary,
170
171
  vscodePluginDir,
171
172
  vscodePluginMcp
172
- } from "../chunk-UCGQEAKZ.js";
173
+ } from "../chunk-TRLFZKVG.js";
173
174
  import {
175
+ BROWSER_CONNECT_COMMAND,
174
176
  confirmAppConnection,
175
177
  connectDevice,
176
178
  connectViaAppPairing,
@@ -179,13 +181,13 @@ import {
179
181
  printConnectInstructions,
180
182
  roundTripEvidence,
181
183
  verifyRoundTrip
182
- } from "../chunk-U4FB623J.js";
184
+ } from "../chunk-T5SZ4PML.js";
183
185
  import "../chunk-3EGEA4KH.js";
184
186
  import {
185
187
  checkApiKey,
186
188
  describeKeyCheck,
187
189
  samePusharyAccount
188
- } from "../chunk-D4TNSUDY.js";
190
+ } from "../chunk-NY6XQ6CA.js";
189
191
  import {
190
192
  setHumanStream
191
193
  } from "../chunk-QCGNGEGE.js";
@@ -210,7 +212,7 @@ import {
210
212
  readKeySource,
211
213
  resolveShellRc,
212
214
  writeKey
213
- } from "../chunk-NYHNLMQO.js";
215
+ } from "../chunk-FU2DFEAZ.js";
214
216
  import "../chunk-EYRGBYZG.js";
215
217
  import "../chunk-SAF6HGAA.js";
216
218
  import {
@@ -219,7 +221,7 @@ import {
219
221
  import {
220
222
  EXIT
221
223
  } from "../chunk-KZERVKTD.js";
222
- import "../chunk-P4JVVJ2D.js";
224
+ import "../chunk-UM5J3J4V.js";
223
225
  import {
224
226
  backupFile,
225
227
  readJsonSafe,
@@ -235,7 +237,7 @@ import {
235
237
  compatibleTargetFiles,
236
238
  hookCompatibleProfile,
237
239
  isValidApiKey
238
- } from "../chunk-7IEB2GV4.js";
240
+ } from "../chunk-SOUZBGYJ.js";
239
241
 
240
242
  // bin/pushary-setup.ts
241
243
  import { existsSync, readFileSync, writeFileSync, mkdirSync, cpSync, rmSync, renameSync, realpathSync, readdirSync, statSync, openSync, readSync, closeSync } from "fs";
@@ -437,6 +439,15 @@ var readCodexVersion = (probe) => {
437
439
  return bundled ? parseCodexVersion(bundled) : null;
438
440
  };
439
441
 
442
+ // src/setup/codex-trust.ts
443
+ var CODEX_TRUST_VERIFIED_MAX = [0, 155, 1];
444
+ var planCodexTrust = (installed, hashingProvenOnThisMachine) => hashingProvenOnThisMachine || compareCodexVersion(installed, CODEX_TRUST_VERIFIED_MAX) <= 0 ? { kind: "pretrust" } : { kind: "manual", installed, verifiedMax: CODEX_TRUST_VERIFIED_MAX };
445
+ var codexTrustOutcome = (pretrusted) => pretrusted ? "pretrusted" : "manual";
446
+ var describeUnverifiedCodexTrust = (plan, surface) => {
447
+ const where = surface === "chatgpt" ? "Open ChatGPT, then Settings and Hooks," : "Open Codex";
448
+ return `Codex ${formatVersion(plan.installed)} is newer than the last version Pushary verified (${formatVersion(plan.verifiedMax)}), so its hooks are not trusted yet. ${where} and choose Trust for the Pushary hooks.`;
449
+ };
450
+
440
451
  // src/setup/codex-install.ts
441
452
  var NATIVE_BINARY_MIN_BYTES = 20 * 1024 * 1024;
442
453
  var packageRootFor = (probe, binPath) => {
@@ -528,6 +539,10 @@ var recordedKey = null;
528
539
  var recordSetupKey = (apiKey) => {
529
540
  recordedKey = apiKey;
530
541
  };
542
+ var recordedCodexTrust = null;
543
+ var recordCodexTrust = (outcome) => {
544
+ recordedCodexTrust = outcome;
545
+ };
531
546
  var emitted = false;
532
547
  var defaultDeps = { report: reportEvent };
533
548
  var emit = async (deps, props) => {
@@ -535,7 +550,7 @@ var emit = async (deps, props) => {
535
550
  emitted = true;
536
551
  try {
537
552
  await deps.report(
538
- { event: "agent_setup_completed", agentType: "setup", ...props },
553
+ { event: "agent_setup_completed", agentType: "setup", ...props, codexTrust: recordedCodexTrust },
539
554
  { maxAttempts: 1, timeoutMs: 2e3, ...recordedKey ? { apiKey: recordedKey } : {} }
540
555
  );
541
556
  } catch {
@@ -874,7 +889,6 @@ var setupHermes = async (_apiKey) => {
874
889
  };
875
890
  var CODEX_HOOKS_JSON = join3(CODEX_HOME, "hooks.json");
876
891
  var CODEX_HOOKS_MIN_VERSION = [0, 122, 0];
877
- var CODEX_TRUST_VERIFIED_MAX = [0, 147, 0];
878
892
  var codexOnPath = () => {
879
893
  const whichCmd = IS_WINDOWS ? "where" : "which";
880
894
  try {
@@ -983,7 +997,6 @@ var detectCodexInstall = () => checkCodexInstall({
983
997
  dirname: dirname2
984
998
  });
985
999
  var codexSupportsHooks = (version) => version !== null && compareCodexVersion(version, CODEX_HOOKS_MIN_VERSION) >= 0;
986
- var codexTrustAutoSupported = (version) => version !== null && codexSupportsHooks(version) && compareCodexVersion(version, CODEX_TRUST_VERIFIED_MAX) <= 0;
987
1000
  var removeCodexNotifyEntry = (codexConfig) => {
988
1001
  let raw = "";
989
1002
  try {
@@ -1053,7 +1066,11 @@ var setupCodex = async (apiKey) => {
1053
1066
  });
1054
1067
  const codexVersion = detectCodexVersion();
1055
1068
  const hooksSupported = codexSupportsHooks(codexVersion);
1056
- const trustAuto = hooksSupported && (codexTrustSchemeAgrees(readAgentJson(CODEX_HOOKS_JSON), readAgentToml(codexConfig), CODEX_HOOKS_JSON) || codexTrustAutoSupported(codexVersion));
1069
+ const trustPlan = hooksSupported && codexVersion !== null ? planCodexTrust(
1070
+ codexVersion,
1071
+ codexTrustSchemeAgrees(readAgentJson(CODEX_HOOKS_JSON), readAgentToml(codexConfig), CODEX_HOOKS_JSON)
1072
+ ) : null;
1073
+ const trustAuto = trustPlan?.kind === "pretrust";
1057
1074
  let trusted = false;
1058
1075
  if (hooksSupported) {
1059
1076
  const hookCommand = guardBinary(resolveGlobalBinary("pushary-codex-hook") ?? "pushary-codex-hook");
@@ -1083,6 +1100,7 @@ var setupCodex = async (apiKey) => {
1083
1100
  await spinner("Removing legacy notify handler", async () => {
1084
1101
  removeCodexNotifyEntry(codexConfig);
1085
1102
  });
1103
+ recordCodexTrust(codexTrustOutcome(trusted));
1086
1104
  } else {
1087
1105
  if (codexVersion !== null) {
1088
1106
  console.log(` ${yellow("!")} This Codex version predates native hooks (needs ${CODEX_HOOKS_MIN_VERSION.join(".")}+).`);
@@ -1113,6 +1131,9 @@ var setupCodex = async (apiKey) => {
1113
1131
  if (trusted) {
1114
1132
  console.log(` ${dim("\u2022")} Hook pre-trusted: no ${cyan("/hooks")} step. If approvals never arrive, ${cyan("/hooks")} re-trusts it`);
1115
1133
  } else {
1134
+ if (trustPlan?.kind === "manual") {
1135
+ console.log(` ${yellow("!")} ${describeUnverifiedCodexTrust(trustPlan, bundled ? "chatgpt" : "codex")}`);
1136
+ }
1116
1137
  console.log();
1117
1138
  console.log(` ${bold("One step left, and it happens inside Codex")}`);
1118
1139
  console.log(` ${dim("Codex makes you trust any hook before it runs. This is Codex's own")}`);
@@ -1743,7 +1764,7 @@ var printPairingEscape = () => {
1743
1764
  console.log();
1744
1765
  console.log(` ${yellow("!")} No app? Two ways to finish without one:`);
1745
1766
  console.log();
1746
- console.log(` ${cyan("npx @pushary/agent-hooks setup --connect browser")}`);
1767
+ console.log(` ${cyan(BROWSER_CONNECT_COMMAND)}`);
1747
1768
  console.log(` ${dim("Approve in a browser tab. No phone needed.")}`);
1748
1769
  console.log();
1749
1770
  console.log(` ${cyan("npx @pushary/agent-hooks setup --key pk_...")}`);
@@ -1989,7 +2010,7 @@ var main = async () => {
1989
2010
  console.log(` ${dim("Pairing with your Pushary app.")}`);
1990
2011
  console.log(` ${dim("Agent control requires a paid plan after the trial. Current pricing:")} ${cyan("https://pushary.com/pricing")}`);
1991
2012
  console.log(` ${dim("No app yet? Get it at")} ${cyan("https://pushary.com/download")}${dim(", this keeps waiting.")}`);
1992
- console.log(` ${dim("No phone? Ctrl-C, then:")} ${cyan("npx @pushary/agent-hooks setup --connect browser")}`);
2013
+ console.log(` ${dim("No phone? Ctrl-C, then:")} ${cyan(BROWSER_CONNECT_COMMAND)}`);
1993
2014
  markStep("pair");
1994
2015
  const previous = readKeySource();
1995
2016
  const paired = await connectViaAppPairing({
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readLedgerSummary
4
- } from "../chunk-5F5QQMCA.js";
4
+ } from "../chunk-LEAAERSQ.js";
5
5
  import {
6
6
  exitOnHelpFlag
7
7
  } from "../chunk-TWWLVOPB.js";
@@ -11,7 +11,7 @@ import "../chunk-KZERVKTD.js";
11
11
  import {
12
12
  getApiKey
13
13
  } from "../chunk-2UMNXADU.js";
14
- import "../chunk-7IEB2GV4.js";
14
+ import "../chunk-SOUZBGYJ.js";
15
15
 
16
16
  // bin/pushary-stats.ts
17
17
  exitOnHelpFlag("stats");
@@ -2,22 +2,22 @@
2
2
  import {
3
3
  describeLastSeen,
4
4
  listMachines
5
- } from "../chunk-UIN3RD2U.js";
6
- import "../chunk-GLPWCQ6V.js";
7
- import "../chunk-RGZY77CD.js";
5
+ } from "../chunk-VW66JEGU.js";
6
+ import "../chunk-TYEO6T5J.js";
7
+ import "../chunk-BZ4GDOJX.js";
8
8
  import "../chunk-XHKBHWLX.js";
9
- import "../chunk-RQM5SMMR.js";
10
- import "../chunk-UCGQEAKZ.js";
9
+ import "../chunk-NHTAHAIS.js";
10
+ import "../chunk-TRLFZKVG.js";
11
11
  import {
12
12
  describeReach,
13
13
  fetchChannels,
14
14
  reachVerdict
15
- } from "../chunk-U4FB623J.js";
15
+ } from "../chunk-T5SZ4PML.js";
16
16
  import "../chunk-3EGEA4KH.js";
17
17
  import {
18
18
  checkApiKey,
19
19
  describeKeyCheck
20
- } from "../chunk-D4TNSUDY.js";
20
+ } from "../chunk-NY6XQ6CA.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-NYHNLMQO.js";
35
+ } from "../chunk-FU2DFEAZ.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-P4JVVJ2D.js";
44
+ import "../chunk-UM5J3J4V.js";
45
45
  import "../chunk-T7E75EKA.js";
46
46
  import "../chunk-2UMNXADU.js";
47
- import "../chunk-7IEB2GV4.js";
47
+ import "../chunk-SOUZBGYJ.js";
48
48
 
49
49
  // src/status.ts
50
50
  var keySourceLine = (source) => {
@@ -2,44 +2,44 @@
2
2
  import {
3
3
  activeHookSource,
4
4
  activeIdentity
5
- } from "../chunk-HGN6VZTY.js";
6
- import "../chunk-5IBVIMWT.js";
5
+ } from "../chunk-VIOL2DJS.js";
6
+ import "../chunk-II7PUMPB.js";
7
7
  import {
8
8
  readHookInput
9
- } from "../chunk-ZIGGEKZW.js";
10
- import "../chunk-ESLLVHDY.js";
9
+ } from "../chunk-JVTOML54.js";
10
+ import "../chunk-UJBZIKSY.js";
11
11
  import "../chunk-SGZJ5LYH.js";
12
- import "../chunk-UTYTPDWN.js";
13
- import "../chunk-5MSBI6NP.js";
14
- import "../chunk-YYRZPEMA.js";
15
- import "../chunk-O6RN46OS.js";
16
- import "../chunk-RGZY77CD.js";
17
- import "../chunk-A7XIL2WD.js";
18
- import "../chunk-7PQZYCEP.js";
19
- import "../chunk-S3EUZZJB.js";
12
+ import "../chunk-4ZDKSDVW.js";
13
+ import "../chunk-DY4ILT6L.js";
14
+ import "../chunk-ZVY25BMK.js";
15
+ import "../chunk-WPVHRUDT.js";
16
+ import "../chunk-BZ4GDOJX.js";
17
+ import "../chunk-LPYCPFBZ.js";
18
+ import "../chunk-MW6ZPC6R.js";
19
+ import "../chunk-GZ7E6VOB.js";
20
20
  import "../chunk-EQRS3SGM.js";
21
- import "../chunk-BYAXXBNO.js";
21
+ import "../chunk-4BROEAKH.js";
22
22
  import "../chunk-XHKBHWLX.js";
23
23
  import {
24
24
  handleStop,
25
25
  handleSubagentStop,
26
26
  isSubagentStop
27
- } from "../chunk-IF46POXX.js";
28
- import "../chunk-KZIXHLPQ.js";
27
+ } from "../chunk-G653QPTR.js";
28
+ import "../chunk-YXP3WPAI.js";
29
29
  import "../chunk-LGXUGYUH.js";
30
- import "../chunk-RQM5SMMR.js";
31
- import "../chunk-UCGQEAKZ.js";
30
+ import "../chunk-NHTAHAIS.js";
31
+ import "../chunk-TRLFZKVG.js";
32
32
  import "../chunk-GMXKITVA.js";
33
33
  import "../chunk-DINDL2CF.js";
34
- import "../chunk-NYHNLMQO.js";
34
+ import "../chunk-FU2DFEAZ.js";
35
35
  import "../chunk-EYRGBYZG.js";
36
36
  import "../chunk-SAF6HGAA.js";
37
37
  import "../chunk-7QLSKOSU.js";
38
38
  import "../chunk-KZERVKTD.js";
39
- import "../chunk-P4JVVJ2D.js";
39
+ import "../chunk-UM5J3J4V.js";
40
40
  import "../chunk-T7E75EKA.js";
41
41
  import "../chunk-2UMNXADU.js";
42
- import "../chunk-7IEB2GV4.js";
42
+ import "../chunk-SOUZBGYJ.js";
43
43
 
44
44
  // bin/pushary-stop-hook.ts
45
45
  var AGENT = activeIdentity(process.argv);