@pushary/agent-hooks 1.9.50 → 1.9.51

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 (120) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +0 -1
  3. package/dist/api-PPNFRSJC.js +55 -0
  4. package/dist/bin/pushary-bell-hook.js +28 -25
  5. package/dist/bin/pushary-bell.js +13 -11
  6. package/dist/bin/pushary-claude.js +36 -32
  7. package/dist/bin/pushary-clean.js +68 -42
  8. package/dist/bin/pushary-codex-bridge.js +23 -20
  9. package/dist/bin/pushary-codex-hook.js +35 -31
  10. package/dist/bin/pushary-codex-session.js +17 -616
  11. package/dist/bin/pushary-codex.js +15 -12
  12. package/dist/bin/pushary-connect.js +31 -28
  13. package/dist/bin/pushary-cowork.js +7 -6
  14. package/dist/bin/pushary-daemon.js +55 -52
  15. package/dist/bin/pushary-disconnect.js +29 -26
  16. package/dist/bin/pushary-doctor.js +57 -52
  17. package/dist/bin/pushary-elicitation-hook.js +28 -25
  18. package/dist/bin/pushary-gemini-bridge.js +17 -15
  19. package/dist/bin/pushary-gemini-hook.js +32 -28
  20. package/dist/bin/pushary-hook.js +34 -31
  21. package/dist/bin/pushary-login.js +19 -16
  22. package/dist/bin/pushary-logout.js +30 -27
  23. package/dist/bin/pushary-mcp.js +11 -9
  24. package/dist/bin/pushary-mode.js +16 -14
  25. package/dist/bin/pushary-notification-hook.js +27 -24
  26. package/dist/bin/pushary-opencode-hook.js +31 -27
  27. package/dist/bin/pushary-permission-denied-hook.js +32 -29
  28. package/dist/bin/pushary-permission-hook.js +31 -28
  29. package/dist/bin/pushary-post-hook.js +27 -24
  30. package/dist/bin/pushary-prompt-hook.js +27 -24
  31. package/dist/bin/pushary-session-end-hook.js +27 -24
  32. package/dist/bin/pushary-session-start-hook.js +32 -29
  33. package/dist/bin/pushary-setup.js +133 -81
  34. package/dist/bin/pushary-stats.js +8 -7
  35. package/dist/bin/pushary-status.js +35 -32
  36. package/dist/bin/pushary-stop-hook.js +27 -24
  37. package/dist/bin/pushary-stopfailure-hook.js +27 -24
  38. package/dist/bin/pushary-suggestions.js +16 -14
  39. package/dist/bin/pushary-transcript-register.js +19 -17
  40. package/dist/bin/pushary-transcripts.js +10 -9
  41. package/dist/bin/pushary-upgrade.js +46 -42
  42. package/dist/bin/pushary-wait.js +16 -14
  43. package/dist/bin/pushary.js +10 -8
  44. package/dist/{chunk-IF2UPWD2.js → chunk-26MUPAKS.js} +1 -1
  45. package/dist/{chunk-AWMMABVB.js → chunk-2QPHUCXU.js} +49 -135
  46. package/dist/{chunk-WEY5ZHDB.js → chunk-2YSCVT6Q.js} +5 -5
  47. package/dist/chunk-36NGFHE4.js +72 -0
  48. package/dist/{chunk-25SYEAW4.js → chunk-3ICRY72Q.js} +3 -3
  49. package/dist/{chunk-LZYJMSOY.js → chunk-3OLEGCMU.js} +3 -3
  50. package/dist/{chunk-B7LV6W7U.js → chunk-3RPN7AAT.js} +1 -1
  51. package/dist/{chunk-VCZN7NAB.js → chunk-3YAOJEHG.js} +7 -5
  52. package/dist/{chunk-TGCIFEDE.js → chunk-43NXSBNZ.js} +13 -11
  53. package/dist/{chunk-Y74IJ2IO.js → chunk-4JM2CK2A.js} +4 -4
  54. package/dist/{chunk-KEAIIVW3.js → chunk-4QQEUJL4.js} +2 -2
  55. package/dist/{chunk-XNZB274I.js → chunk-5463UUO2.js} +1 -1
  56. package/dist/{chunk-ZMYLVFXC.js → chunk-5CRQCIHR.js} +14 -9
  57. package/dist/{chunk-KIO2MZQC.js → chunk-6QPRQVQM.js} +5 -3
  58. package/dist/{chunk-4PCJ6DYK.js → chunk-6SWMKF5E.js} +2 -2
  59. package/dist/{chunk-Y7WD72J7.js → chunk-7CLLWDCP.js} +1 -1
  60. package/dist/{chunk-TYTIDEBW.js → chunk-7DBTOPOT.js} +5 -5
  61. package/dist/chunk-7YAVKENV.js +271 -0
  62. package/dist/{chunk-34AQAQKW.js → chunk-AA2K3H7Y.js} +4 -4
  63. package/dist/{chunk-DH4BWFU7.js → chunk-AZHTI5JX.js} +5 -5
  64. package/dist/{chunk-PA54A437.js → chunk-BUXDR6US.js} +1 -1
  65. package/dist/{chunk-VUS6QGND.js → chunk-CQ5JGRML.js} +5 -1
  66. package/dist/{chunk-YVO4HIHX.js → chunk-DT5CACWZ.js} +12 -10
  67. package/dist/{chunk-LLRYP5TR.js → chunk-DT5Y55FI.js} +5 -5
  68. package/dist/{chunk-ZTTCYHOM.js → chunk-DUMZORSL.js} +8 -6
  69. package/dist/{chunk-XTVEW2NG.js → chunk-EGKD4S5H.js} +1 -1
  70. package/dist/{chunk-FPKQGWAF.js → chunk-EJCPHLY2.js} +2 -2
  71. package/dist/{chunk-YTYXFA5M.js → chunk-FI73DGNB.js} +1 -1
  72. package/dist/{chunk-JGNYCRB2.js → chunk-FV34HT35.js} +1 -1
  73. package/dist/{chunk-KK2DIUVV.js → chunk-GCN73COS.js} +1 -1
  74. package/dist/{chunk-SE4JFMLW.js → chunk-GTSI6NG6.js} +8 -6
  75. package/dist/chunk-JBT3ZSJS.js +92 -0
  76. package/dist/chunk-JZDRR7BL.js +427 -0
  77. package/dist/{chunk-KBGKWB5T.js → chunk-K3BIMGP4.js} +4 -2
  78. package/dist/{chunk-LY3OJFBW.js → chunk-KQBXPGXO.js} +2 -1
  79. package/dist/{chunk-OR5F63C2.js → chunk-LF3TLC7B.js} +2 -168
  80. package/dist/{chunk-GTGXQ7FJ.js → chunk-LXRQLDGW.js} +11 -11
  81. package/dist/{chunk-ZOKMGBPR.js → chunk-MC4VY5LK.js} +16 -5
  82. package/dist/{chunk-OW4DNSQ6.js → chunk-NSY2V7XU.js} +1 -1
  83. package/dist/{chunk-X3RCIOIH.js → chunk-ONCWYACA.js} +1 -1
  84. package/dist/{chunk-EP6S6VY3.js → chunk-PMJEN6CX.js} +6 -6
  85. package/dist/{chunk-K73CBZKW.js → chunk-PTNSIGLB.js} +4 -4
  86. package/dist/chunk-PVDSN6TB.js +729 -0
  87. package/dist/chunk-QTOLNRET.js +169 -0
  88. package/dist/{chunk-APASKZ2I.js → chunk-RLADRNPV.js} +5 -3
  89. package/dist/{chunk-BOVSUH4N.js → chunk-S6RNS4UL.js} +2 -2
  90. package/dist/{chunk-34RXPM5U.js → chunk-SRXBOMSR.js} +3 -3
  91. package/dist/{chunk-HXRH7ZCK.js → chunk-TQ6AGJVH.js} +2 -2
  92. package/dist/{chunk-SALUTWPX.js → chunk-UKX5WIB5.js} +4 -4
  93. package/dist/{chunk-ABMEBN2R.js → chunk-UR7XX2DV.js} +6 -4
  94. package/dist/{chunk-BXK6ZJVJ.js → chunk-UVT6B6XN.js} +2 -2
  95. package/dist/{chunk-5Q2FRMPC.js → chunk-VD2OAF7Q.js} +4 -4
  96. package/dist/{chunk-XH3F66VD.js → chunk-VYBH6D4X.js} +3 -3
  97. package/dist/{chunk-UCF3EZZL.js → chunk-VZRCM362.js} +13 -13
  98. package/dist/{chunk-7RMSB4A2.js → chunk-W26Q2DTD.js} +14 -12
  99. package/dist/{chunk-GBKSCDEK.js → chunk-WVSM3G4C.js} +17 -4
  100. package/dist/{chunk-GDDXGBTM.js → chunk-X5GHIFST.js} +2 -2
  101. package/dist/chunk-XCEN33UP.js +7 -0
  102. package/dist/{chunk-UHVD7BSV.js → chunk-XQHPHJHR.js} +6 -6
  103. package/dist/{chunk-OZLGTMIY.js → chunk-XSUJ2PQY.js} +2 -2
  104. package/dist/{chunk-ZYYQJSIO.js → chunk-YQDZ7ZIL.js} +44 -462
  105. package/dist/{chunk-PXUNPXOX.js → chunk-ZOP3I2GQ.js} +3 -3
  106. package/dist/{chunk-WLT6J3SB.js → chunk-ZXGDBCIH.js} +2 -2
  107. package/dist/codex-app-cards-switch-ZQRT7MXB.js +52 -0
  108. package/dist/codex-desktop-launch-X7UKQ4VR.js +27 -0
  109. package/dist/codex-session-launch-IX33LOQZ.js +331 -0
  110. package/dist/config-HX6ZNOIL.js +14 -0
  111. package/dist/{global-upgrade-AIUSS2YH.js → global-upgrade-DGP2E2NE.js} +8 -6
  112. package/dist/identity-YISWVJ2A.js +15 -0
  113. package/dist/live-capabilities-44KFBOD4.js +53 -0
  114. package/dist/{paths-RO34TYNM.js → paths-VLGX4GJA.js} +4 -2
  115. package/dist/{reapply-KTNPP4XE.js → reapply-35F3WDTB.js} +24 -21
  116. package/dist/src/index.d.ts +3 -3
  117. package/dist/src/index.js +22 -19
  118. package/dist/{upgrade-lock-5UAGXIW7.js → upgrade-lock-LMO3DSSU.js} +5 -3
  119. package/dist/usage-ZC6BKIE3.js +10 -0
  120. package/package.json +1 -1
@@ -1,27 +1,27 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runBrowserLogin
4
- } from "../chunk-YTYXFA5M.js";
4
+ } from "../chunk-FI73DGNB.js";
5
5
  import {
6
6
  coworkOutput,
7
7
  coworkSelection
8
- } from "../chunk-PXUNPXOX.js";
8
+ } from "../chunk-ZOP3I2GQ.js";
9
9
  import "../chunk-PUZZELE6.js";
10
10
  import {
11
11
  clearDeclinedAgent,
12
12
  declinedAgentForSetupChoice
13
- } from "../chunk-WLT6J3SB.js";
13
+ } from "../chunk-ZXGDBCIH.js";
14
14
  import {
15
15
  CURSOR_GATE_SCRIPT,
16
16
  describeVersionManagerPin,
17
17
  saveSetupFailure,
18
18
  versionManagerOf
19
- } from "../chunk-OZLGTMIY.js";
19
+ } from "../chunk-XSUJ2PQY.js";
20
20
  import {
21
21
  codexTrustOutcome,
22
22
  describeCodexTrustConfirmation,
23
23
  needsCodexTrustStep
24
- } from "../chunk-HXRH7ZCK.js";
24
+ } from "../chunk-TQ6AGJVH.js";
25
25
  import {
26
26
  describeWaitLadder
27
27
  } from "../chunk-CVWG2N3Y.js";
@@ -39,23 +39,24 @@ import {
39
39
  roundTripEvidence,
40
40
  verifyRoundTrip,
41
41
  waitForYourPhone
42
- } from "../chunk-UHVD7BSV.js";
42
+ } from "../chunk-XQHPHJHR.js";
43
43
  import "../chunk-3EGEA4KH.js";
44
44
  import {
45
45
  readManagedControlEvidence,
46
46
  waitForMachineReadiness
47
- } from "../chunk-GTGXQ7FJ.js";
47
+ } from "../chunk-LXRQLDGW.js";
48
48
  import {
49
49
  ensureCodexTrustsPusharyHooks
50
- } from "../chunk-KIO2MZQC.js";
51
- import {
52
- setHumanStream
53
- } from "../chunk-QCGNGEGE.js";
50
+ } from "../chunk-6QPRQVQM.js";
54
51
  import {
55
52
  describeSetupSideEffects,
56
53
  installAgentSkill,
57
54
  installSkillViaSkillsCli
58
55
  } from "../chunk-EUW7JL2K.js";
56
+ import {
57
+ codexEngineBehindLauncher
58
+ } from "../chunk-PVDSN6TB.js";
59
+ import "../chunk-XCEN33UP.js";
59
60
  import {
60
61
  CURSOR_PLUGIN_BACKUP_INFIX,
61
62
  CURSOR_PLUGIN_STAGING_PREFIX,
@@ -64,7 +65,7 @@ import {
64
65
  soleGateFile,
65
66
  soleGateReceipt,
66
67
  soleGateReceiptFile
67
- } from "../chunk-34AQAQKW.js";
68
+ } from "../chunk-AA2K3H7Y.js";
68
69
  import {
69
70
  HERMES_PIP_PACKAGE,
70
71
  describeDetection,
@@ -77,11 +78,14 @@ import {
77
78
  runHermesConfigScript,
78
79
  shortenHome,
79
80
  vscodeSettingsTargets
80
- } from "../chunk-VCZN7NAB.js";
81
+ } from "../chunk-3YAOJEHG.js";
81
82
  import {
82
83
  mcpServerBearer,
83
84
  readMacAppAgentKey
84
- } from "../chunk-K73CBZKW.js";
85
+ } from "../chunk-PTNSIGLB.js";
86
+ import {
87
+ setHumanStream
88
+ } from "../chunk-QCGNGEGE.js";
85
89
  import {
86
90
  AgentConfigError,
87
91
  FX_PUSHARY_TOOLS_RULE,
@@ -109,10 +113,10 @@ import {
109
113
  writeInstructionBlock,
110
114
  writeSetupConfigFile,
111
115
  writeSetupConfigJson
112
- } from "../chunk-DH4BWFU7.js";
116
+ } from "../chunk-AZHTI5JX.js";
113
117
  import {
114
118
  MCP_BRIDGE_BINARY
115
- } from "../chunk-GDDXGBTM.js";
119
+ } from "../chunk-X5GHIFST.js";
116
120
  import {
117
121
  OPENCODE_HOOK_BINARY,
118
122
  addOpenCodeMcpServer,
@@ -128,16 +132,29 @@ import {
128
132
  openCodePluginDir,
129
133
  openCodePluginFile,
130
134
  openCodeWired
131
- } from "../chunk-LLRYP5TR.js";
135
+ } from "../chunk-DT5Y55FI.js";
132
136
  import {
133
137
  ansiPainter,
134
138
  createIo,
135
139
  useColor
136
140
  } from "../chunk-FO3MDD26.js";
141
+ import {
142
+ checkCodexInstall,
143
+ detectProviderLiveCapabilities,
144
+ expectedLaunchCapabilities,
145
+ hasSpawnProvider,
146
+ missingControlPrerequisite,
147
+ nodeCodexInstallProbe,
148
+ phoneStartIsRequired,
149
+ resolveControlPolicy
150
+ } from "../chunk-WVSM3G4C.js";
151
+ import {
152
+ detectClaudeVersion
153
+ } from "../chunk-RIVNNBEK.js";
137
154
  import {
138
155
  describeAutoUpdateAnnouncement,
139
156
  takeAutoUpdateAnnouncement
140
- } from "../chunk-APASKZ2I.js";
157
+ } from "../chunk-RLADRNPV.js";
141
158
  import {
142
159
  addClaudeMcpServer,
143
160
  addCompatibleHooks,
@@ -156,7 +173,7 @@ import {
156
173
  hasCompatibleHooks,
157
174
  isClaudeMcpSnapshot,
158
175
  updateClaudeMcpSnapshot
159
- } from "../chunk-Y74IJ2IO.js";
176
+ } from "../chunk-4JM2CK2A.js";
160
177
  import {
161
178
  DAEMON_COLD_START_TIMEOUT_MS,
162
179
  clearDaemonNeedsLogin,
@@ -170,7 +187,7 @@ import {
170
187
  replaceDaemonService,
171
188
  stopDaemonService,
172
189
  waitForDaemonRemoteProof
173
- } from "../chunk-ZMYLVFXC.js";
190
+ } from "../chunk-5CRQCIHR.js";
174
191
  import {
175
192
  KEEP_HINT,
176
193
  captureHookTakeover,
@@ -182,24 +199,29 @@ import {
182
199
  geminiWired,
183
200
  planHooks,
184
201
  pusharyHookExecutable
185
- } from "../chunk-WEY5ZHDB.js";
202
+ } from "../chunk-2YSCVT6Q.js";
186
203
  import {
187
204
  GEMINI_HOOK_BINARY,
188
205
  GEMINI_HOOK_EVENTS,
189
206
  addGeminiHooks,
190
207
  addGeminiMcpServer
191
- } from "../chunk-25SYEAW4.js";
208
+ } from "../chunk-3ICRY72Q.js";
192
209
  import {
193
210
  AGENT_CHOICES,
194
211
  effectiveControlMode,
195
212
  effectiveVerify,
196
213
  parseSetupOptions
197
- } from "../chunk-PA54A437.js";
198
- import "../chunk-XTVEW2NG.js";
214
+ } from "../chunk-BUXDR6US.js";
215
+ import "../chunk-EGKD4S5H.js";
199
216
  import "../chunk-GMXKITVA.js";
200
217
  import {
201
218
  transcriptPreferenceForSetup
202
- } from "../chunk-JGNYCRB2.js";
219
+ } from "../chunk-FV34HT35.js";
220
+ import "../chunk-XHKBHWLX.js";
221
+ import {
222
+ compareVersion,
223
+ parseVersion
224
+ } from "../chunk-6ICPEJY5.js";
203
225
  import {
204
226
  KEY_FILE_MODE,
205
227
  exportLine,
@@ -212,48 +234,36 @@ import {
212
234
  recordMacAppKeyPrefix,
213
235
  resolveShellRc,
214
236
  writeKey
215
- } from "../chunk-XH3F66VD.js";
237
+ } from "../chunk-VYBH6D4X.js";
216
238
  import {
217
- checkCodexInstall,
218
- detectProviderLiveCapabilities,
219
- expectedLaunchCapabilities,
220
- hasSpawnProvider,
221
- missingControlPrerequisite,
222
- nodeCodexInstallProbe,
223
- phoneStartIsRequired,
224
- resolveControlPolicy
225
- } from "../chunk-GBKSCDEK.js";
226
- import {
227
- detectClaudeVersion
228
- } from "../chunk-RIVNNBEK.js";
229
- import "../chunk-XHKBHWLX.js";
230
- import {
231
- compareVersion,
232
- parseVersion
233
- } from "../chunk-6ICPEJY5.js";
239
+ CODEX_ENGINE_DIRECTORY,
240
+ CODEX_ENGINE_ENTRYPOINT,
241
+ CODEX_ENGINE_MANIFEST,
242
+ codexEngineInside
243
+ } from "../chunk-36NGFHE4.js";
234
244
  import {
235
245
  reportEvent
236
- } from "../chunk-YVO4HIHX.js";
237
- import "../chunk-B7LV6W7U.js";
238
- import "../chunk-KEAIIVW3.js";
239
- import "../chunk-AWMMABVB.js";
246
+ } from "../chunk-DT5CACWZ.js";
247
+ import "../chunk-3RPN7AAT.js";
248
+ import "../chunk-JBT3ZSJS.js";
249
+ import "../chunk-2QPHUCXU.js";
240
250
  import "../chunk-POFBE6ZY.js";
241
- import "../chunk-LZYJMSOY.js";
251
+ import "../chunk-3OLEGCMU.js";
242
252
  import {
243
253
  checkApiKey,
244
254
  describeKeyCheck,
245
255
  samePusharyAccount
246
- } from "../chunk-34RXPM5U.js";
247
- import "../chunk-ABMEBN2R.js";
248
- import "../chunk-LY3OJFBW.js";
256
+ } from "../chunk-SRXBOMSR.js";
257
+ import "../chunk-UR7XX2DV.js";
258
+ import "../chunk-KQBXPGXO.js";
249
259
  import {
250
260
  UsageError
251
261
  } from "../chunk-7QLSKOSU.js";
252
262
  import {
253
263
  EXIT
254
264
  } from "../chunk-KZERVKTD.js";
265
+ import "../chunk-4QQEUJL4.js";
255
266
  import {
256
- NpmMissingError,
257
267
  addCodexHookTrust,
258
268
  addCodexHooks,
259
269
  addCodexMcpServer,
@@ -273,7 +283,6 @@ import {
273
283
  cursorUserHooks,
274
284
  cursorUserMcp,
275
285
  dropVacatedCodexHookTrust,
276
- fetchLatestPublishedVersion,
277
286
  fxAgentsMd,
278
287
  fxConfigDir,
279
288
  fxMcpProfile,
@@ -287,47 +296,53 @@ import {
287
296
  guardedArgv,
288
297
  hermesConfigReceipt,
289
298
  hookTakeoverReceipt,
290
- installGlobally,
291
- npmInstallFailure,
292
- plannedGlobalPackage,
293
299
  pusharyConfigFile,
294
300
  readCodexMcpAuth,
295
- resolveGlobalBinDir,
296
- resolveGlobalBinary,
297
301
  vscodePluginDir,
298
302
  vscodePluginMcp
299
- } from "../chunk-ZYYQJSIO.js";
303
+ } from "../chunk-YQDZ7ZIL.js";
304
+ import {
305
+ NpmMissingError,
306
+ fetchLatestPublishedVersion,
307
+ installGlobally,
308
+ npmInstallFailure,
309
+ plannedGlobalPackage,
310
+ resolveGlobalBinDir,
311
+ resolveGlobalBinary
312
+ } from "../chunk-JZDRR7BL.js";
300
313
  import {
301
314
  backupFile,
302
315
  readJsonSafe
303
316
  } from "../chunk-AQFEP65J.js";
304
317
  import {
305
318
  getBaseUrl
306
- } from "../chunk-VUS6QGND.js";
319
+ } from "../chunk-CQ5JGRML.js";
307
320
  import {
308
321
  NPX_LATEST_COMMAND,
309
322
  renderCommandHelp
310
- } from "../chunk-ZOKMGBPR.js";
323
+ } from "../chunk-MC4VY5LK.js";
324
+ import {
325
+ getPackageVersion,
326
+ isNewerVersion,
327
+ launchedPackage,
328
+ ownPackageName
329
+ } from "../chunk-QTOLNRET.js";
311
330
  import {
312
331
  HOOK_COMPATIBLE_PROFILES,
313
332
  PRETOOLUSE_GATED_TOOLS,
314
333
  SUPPORT_EMAIL,
315
334
  computerOsOfPlatform,
316
- getPackageVersion,
317
335
  hookCompatibleProfile,
318
336
  isApprovalMode,
319
337
  isComputerAgent,
320
- isNewerVersion,
321
338
  isRecord,
322
339
  isTimeoutAction,
323
- isValidApiKey,
324
- launchedPackage,
325
- ownPackageName
326
- } from "../chunk-OR5F63C2.js";
340
+ isValidApiKey
341
+ } from "../chunk-LF3TLC7B.js";
327
342
 
328
343
  // bin/pushary-setup.ts
329
344
  import { existsSync, readFileSync, writeFileSync, mkdirSync, cpSync, rmSync, renameSync, realpathSync, statSync, openSync, readSync, closeSync } from "fs";
330
- import { join as join3, dirname as dirname2, basename } from "path";
345
+ import { join as join3, dirname as dirname3, basename } from "path";
331
346
  import { homedir, hostname } from "os";
332
347
  import { execSync } from "child_process";
333
348
  import { checkbox, input, confirm } from "@inquirer/prompts";
@@ -923,7 +938,7 @@ var readCodexVersion = (probe) => {
923
938
  };
924
939
 
925
940
  // src/setup/codex-bundled.ts
926
- import { join as join2 } from "path";
941
+ import { dirname as dirname2, join as join2 } from "path";
927
942
  var asRecord = (value) => value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
928
943
  var codexCliPathFromConfig = (config) => {
929
944
  const servers = asRecord(config.mcp_servers);
@@ -934,16 +949,34 @@ var codexCliPathFromConfig = (config) => {
934
949
  }
935
950
  return null;
936
951
  };
952
+ var SYSTEM_CHATGPT_APP = "/Applications/ChatGPT.app";
953
+ var userChatGptApp = (home) => join2(home, "Applications", "ChatGPT.app");
937
954
  var bundledCodexCandidates = (home, platform) => platform === "darwin" ? [
938
- "/Applications/ChatGPT.app/Contents/Resources/codex",
939
- join2(home, "Applications", "ChatGPT.app", "Contents", "Resources", "codex")
955
+ codexEngineInside(SYSTEM_CHATGPT_APP),
956
+ codexEngineInside(userChatGptApp(home)),
957
+ join2(SYSTEM_CHATGPT_APP, "Contents", "Resources", "codex"),
958
+ join2(userChatGptApp(home), "Contents", "Resources", "codex")
940
959
  ] : [];
941
960
  var findBundledCodex = (probe) => {
942
961
  const config = probe.config();
943
962
  const declared = config ? codexCliPathFromConfig(config) : null;
944
- if (declared && probe.exists(declared)) return declared;
963
+ const codex = declared ? probe.engineBehindPusharyLauncher(declared) ?? declared : null;
964
+ if (codex && probe.exists(codex)) return codex;
945
965
  return bundledCodexCandidates(probe.home, probe.platform).find(probe.exists) ?? null;
946
966
  };
967
+ var ENGINE_ENTRYPOINT_INSIDE_THE_APP = `/${CODEX_ENGINE_DIRECTORY}/${CODEX_ENGINE_ENTRYPOINT}`;
968
+ var MANIFEST_VERSION = /^\d+\.\d+\.\d+/;
969
+ var codexEngineManifestBeside = (codex) => codex.endsWith(ENGINE_ENTRYPOINT_INSIDE_THE_APP) ? join2(dirname2(dirname2(codex)), CODEX_ENGINE_MANIFEST) : null;
970
+ var parseCodexEngineManifestVersion = (contents) => {
971
+ let manifest;
972
+ try {
973
+ manifest = JSON.parse(contents);
974
+ } catch {
975
+ return null;
976
+ }
977
+ const version = asRecord(manifest)?.version;
978
+ return typeof version === "string" ? version.match(MANIFEST_VERSION)?.[0] ?? null : null;
979
+ };
947
980
  var parseEmbeddedCodexVersion = (haystack) => haystack.match(/cli_version(\d+\.\d+\.\d+)/)?.[1] ?? null;
948
981
 
949
982
  // src/setup/telemetry.ts
@@ -1236,7 +1269,7 @@ var installGlobally2 = async () => {
1236
1269
  var _cachedSkillContent = null;
1237
1270
  var fetchSkillContent = async () => {
1238
1271
  if (_cachedSkillContent) return _cachedSkillContent;
1239
- const __dirname = dirname2(fileURLToPath(import.meta.url));
1272
+ const __dirname = dirname3(fileURLToPath(import.meta.url));
1240
1273
  const candidates = [
1241
1274
  join3(__dirname, "..", "..", "data", "SKILL.md"),
1242
1275
  join3(__dirname, "..", "data", "SKILL.md")
@@ -1409,6 +1442,24 @@ var readEmbeddedCodexVersion = (path) => {
1409
1442
  }
1410
1443
  }
1411
1444
  };
1445
+ var LARGEST_LAUNCHER_BYTES = 64 * 1024;
1446
+ var engineBehindPusharyLauncher = (path) => {
1447
+ try {
1448
+ if (statSync(path).size > LARGEST_LAUNCHER_BYTES) return null;
1449
+ return codexEngineBehindLauncher(readFileSync(path, "utf-8"));
1450
+ } catch {
1451
+ return null;
1452
+ }
1453
+ };
1454
+ var codexEngineManifestVersion = (codex) => {
1455
+ const manifest = codexEngineManifestBeside(codex);
1456
+ if (!manifest) return null;
1457
+ try {
1458
+ return parseCodexEngineManifestVersion(readFileSync(manifest, "utf-8"));
1459
+ } catch {
1460
+ return null;
1461
+ }
1462
+ };
1412
1463
  var bundledCodex = () => findBundledCodex({
1413
1464
  config: () => {
1414
1465
  try {
@@ -1418,6 +1469,7 @@ var bundledCodex = () => findBundledCodex({
1418
1469
  }
1419
1470
  },
1420
1471
  exists: existsSync,
1472
+ engineBehindPusharyLauncher,
1421
1473
  home: homedir(),
1422
1474
  platform: process.platform
1423
1475
  });
@@ -1433,7 +1485,7 @@ var detectCodexVersion = () => readCodexVersion({
1433
1485
  },
1434
1486
  bundledVersion: () => {
1435
1487
  const path = bundledCodex();
1436
- return path ? readEmbeddedCodexVersion(path) : null;
1488
+ return path ? codexEngineManifestVersion(path) ?? readEmbeddedCodexVersion(path) : null;
1437
1489
  },
1438
1490
  brewVersions: () => {
1439
1491
  try {
@@ -1617,7 +1669,7 @@ var setupCodex = async (apiKey) => {
1617
1669
  }
1618
1670
  };
1619
1671
  var resolveBundledPlugin = () => {
1620
- const dir = dirname2(fileURLToPath(import.meta.url));
1672
+ const dir = dirname3(fileURLToPath(import.meta.url));
1621
1673
  const candidates = [
1622
1674
  join3(dir, "..", "..", "data", "cursor-plugin"),
1623
1675
  join3(dir, "..", "data", "cursor-plugin"),
@@ -1678,7 +1730,7 @@ var setupCursor = async (apiKey) => {
1678
1730
  const source = resolveBundledPlugin();
1679
1731
  if (!source) throw new Error("bundled Cursor plugin not found in this package");
1680
1732
  await spinner("Installing Pushary plugin", async () => {
1681
- const staging = join3(dirname2(CURSOR_PLUGIN_DIR), `${CURSOR_PLUGIN_STAGING_PREFIX}${process.pid}`);
1733
+ const staging = join3(dirname3(CURSOR_PLUGIN_DIR), `${CURSOR_PLUGIN_STAGING_PREFIX}${process.pid}`);
1682
1734
  const backup = `${CURSOR_PLUGIN_DIR}${CURSOR_PLUGIN_BACKUP_INFIX}${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}`;
1683
1735
  rmSync(staging, { recursive: true, force: true });
1684
1736
  try {
@@ -1726,7 +1778,7 @@ var setupCursor = async (apiKey) => {
1726
1778
  noteManual("Fully quit and reopen Cursor. A Reload Window may not be enough.");
1727
1779
  };
1728
1780
  var resolveBundledVsCodePlugin = () => {
1729
- const dir = dirname2(fileURLToPath(import.meta.url));
1781
+ const dir = dirname3(fileURLToPath(import.meta.url));
1730
1782
  const candidates = [
1731
1783
  join3(dir, "..", "..", "data", "vscode-plugin"),
1732
1784
  join3(dir, "..", "data", "vscode-plugin"),
@@ -1753,7 +1805,7 @@ var registerVsCodePlugin = (pluginDir) => {
1753
1805
  continue;
1754
1806
  }
1755
1807
  if (current !== null) backupFile(settingsPath);
1756
- mkdirSync(dirname2(settingsPath), { recursive: true });
1808
+ mkdirSync(dirname3(settingsPath), { recursive: true });
1757
1809
  writeSetupConfigFile(settingsPath, result.content);
1758
1810
  written.push(settingsPath);
1759
1811
  }
@@ -1766,9 +1818,9 @@ var setupVsCode = async (apiKey) => {
1766
1818
  const source = resolveBundledVsCodePlugin();
1767
1819
  if (!source) throw new Error("bundled VS Code plugin not found in this package");
1768
1820
  await spinner("Installing Pushary plugin", async () => {
1769
- const staging = join3(dirname2(VSCODE_PLUGIN_DIR), `.pushary-staging-vscode-${process.pid}`);
1821
+ const staging = join3(dirname3(VSCODE_PLUGIN_DIR), `.pushary-staging-vscode-${process.pid}`);
1770
1822
  const backup = `${VSCODE_PLUGIN_DIR}.pushary-backup-${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}`;
1771
- mkdirSync(dirname2(VSCODE_PLUGIN_DIR), { recursive: true });
1823
+ mkdirSync(dirname3(VSCODE_PLUGIN_DIR), { recursive: true });
1772
1824
  rmSync(staging, { recursive: true, force: true });
1773
1825
  try {
1774
1826
  cpSync(source, staging, {
@@ -2183,7 +2235,7 @@ var setupCompatibleAgent = (profile) => async (apiKey) => {
2183
2235
  console.log(`
2184
2236
  ${bold(`Setting up ${profile.label}`)}
2185
2237
  `);
2186
- if (!isInstalled(profile.binary) && (profile.configDirIsShared || !existsSync(dirname2(configFile)))) {
2238
+ if (!isInstalled(profile.binary) && (profile.configDirIsShared || !existsSync(dirname3(configFile)))) {
2187
2239
  console.log(` ${yellow("!")} ${profile.label} not found. Skipping.`);
2188
2240
  console.log(` ${dim(`Install ${profile.label} and re-run setup to configure.`)}`);
2189
2241
  return "skipped";
@@ -1,16 +1,17 @@
1
1
  #!/usr/bin/env node
2
- import {
3
- readLedgerSummary
4
- } from "../chunk-Y7WD72J7.js";
5
2
  import {
6
3
  exitOnHelpFlag
7
- } from "../chunk-BOVSUH4N.js";
4
+ } from "../chunk-S6RNS4UL.js";
5
+ import {
6
+ readLedgerSummary
7
+ } from "../chunk-7CLLWDCP.js";
8
8
  import "../chunk-KZERVKTD.js";
9
9
  import {
10
10
  getApiKey
11
- } from "../chunk-VUS6QGND.js";
12
- import "../chunk-ZOKMGBPR.js";
13
- import "../chunk-OR5F63C2.js";
11
+ } from "../chunk-CQ5JGRML.js";
12
+ import "../chunk-MC4VY5LK.js";
13
+ import "../chunk-QTOLNRET.js";
14
+ import "../chunk-LF3TLC7B.js";
14
15
 
15
16
  // bin/pushary-stats.ts
16
17
  exitOnHelpFlag("stats");
@@ -3,69 +3,72 @@ import {
3
3
  describeReach,
4
4
  fetchChannels,
5
5
  reachVerdict
6
- } from "../chunk-UHVD7BSV.js";
6
+ } from "../chunk-XQHPHJHR.js";
7
7
  import "../chunk-3EGEA4KH.js";
8
8
  import {
9
9
  describeLastSeen,
10
10
  listMachines
11
- } from "../chunk-GTGXQ7FJ.js";
12
- import "../chunk-QCGNGEGE.js";
11
+ } from "../chunk-LXRQLDGW.js";
13
12
  import {
14
13
  CONNECTED_THROUGH_MAC_APP,
15
14
  readMacAppConnectionWhenKeyless
16
- } from "../chunk-K73CBZKW.js";
15
+ } from "../chunk-PTNSIGLB.js";
16
+ import "../chunk-QCGNGEGE.js";
17
17
  import {
18
18
  SIGNED_OUT_ON_MAC_MESSAGE,
19
19
  activeKeyVerdictOf,
20
20
  describeSignedOutKey,
21
21
  readSignedOutDiagnosis
22
- } from "../chunk-4PCJ6DYK.js";
23
- import "../chunk-LLRYP5TR.js";
22
+ } from "../chunk-6SWMKF5E.js";
23
+ import "../chunk-DT5Y55FI.js";
24
24
  import {
25
25
  createIo
26
26
  } from "../chunk-FO3MDD26.js";
27
- import "../chunk-Y74IJ2IO.js";
28
- import "../chunk-ZMYLVFXC.js";
29
- import "../chunk-WEY5ZHDB.js";
30
- import "../chunk-25SYEAW4.js";
31
- import "../chunk-PA54A437.js";
32
- import "../chunk-XTVEW2NG.js";
33
- import {
34
- rejectUnknownFlags
35
- } from "../chunk-GMXKITVA.js";
36
- import {
37
- readKeySource
38
- } from "../chunk-XH3F66VD.js";
39
27
  import {
40
28
  exitOnHelpFlag
41
- } from "../chunk-BOVSUH4N.js";
42
- import "../chunk-GBKSCDEK.js";
29
+ } from "../chunk-S6RNS4UL.js";
30
+ import "../chunk-WVSM3G4C.js";
43
31
  import "../chunk-RIVNNBEK.js";
32
+ import "../chunk-4JM2CK2A.js";
33
+ import "../chunk-5CRQCIHR.js";
34
+ import "../chunk-2YSCVT6Q.js";
35
+ import "../chunk-3ICRY72Q.js";
36
+ import "../chunk-BUXDR6US.js";
37
+ import "../chunk-EGKD4S5H.js";
38
+ import {
39
+ rejectUnknownFlags
40
+ } from "../chunk-GMXKITVA.js";
44
41
  import "../chunk-XHKBHWLX.js";
45
42
  import "../chunk-6ICPEJY5.js";
46
- import "../chunk-YVO4HIHX.js";
47
- import "../chunk-B7LV6W7U.js";
48
- import "../chunk-KEAIIVW3.js";
49
- import "../chunk-AWMMABVB.js";
43
+ import {
44
+ readKeySource
45
+ } from "../chunk-VYBH6D4X.js";
46
+ import "../chunk-DT5CACWZ.js";
47
+ import "../chunk-3RPN7AAT.js";
48
+ import "../chunk-JBT3ZSJS.js";
49
+ import "../chunk-2QPHUCXU.js";
50
50
  import "../chunk-POFBE6ZY.js";
51
- import "../chunk-LZYJMSOY.js";
51
+ import "../chunk-3OLEGCMU.js";
52
52
  import {
53
53
  checkApiKey,
54
54
  describeKeyCheck
55
- } from "../chunk-34RXPM5U.js";
56
- import "../chunk-ABMEBN2R.js";
57
- import "../chunk-LY3OJFBW.js";
55
+ } from "../chunk-SRXBOMSR.js";
56
+ import "../chunk-UR7XX2DV.js";
57
+ import "../chunk-KQBXPGXO.js";
58
58
  import {
59
59
  UsageError
60
60
  } from "../chunk-7QLSKOSU.js";
61
61
  import {
62
62
  EXIT
63
63
  } from "../chunk-KZERVKTD.js";
64
- import "../chunk-ZYYQJSIO.js";
64
+ import "../chunk-4QQEUJL4.js";
65
+ import "../chunk-YQDZ7ZIL.js";
66
+ import "../chunk-JZDRR7BL.js";
65
67
  import "../chunk-AQFEP65J.js";
66
- import "../chunk-VUS6QGND.js";
67
- import "../chunk-ZOKMGBPR.js";
68
- import "../chunk-OR5F63C2.js";
68
+ import "../chunk-CQ5JGRML.js";
69
+ import "../chunk-MC4VY5LK.js";
70
+ import "../chunk-QTOLNRET.js";
71
+ import "../chunk-LF3TLC7B.js";
69
72
 
70
73
  // src/status.ts
71
74
  var SIGNED_OUT_LINE = { label: "Server", value: "key signed out on this Mac", ok: false };
@@ -1,45 +1,48 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-SALUTWPX.js";
5
- import "../chunk-UCF3EZZL.js";
4
+ } from "../chunk-UKX5WIB5.js";
5
+ import "../chunk-VZRCM362.js";
6
6
  import "../chunk-DWQYCOPI.js";
7
7
  import {
8
8
  activeHookSource,
9
9
  activeIdentity
10
- } from "../chunk-Y74IJ2IO.js";
11
- import "../chunk-ZMYLVFXC.js";
12
- import "../chunk-WEY5ZHDB.js";
13
- import "../chunk-25SYEAW4.js";
14
- import "../chunk-PA54A437.js";
15
- import "../chunk-XTVEW2NG.js";
10
+ } from "../chunk-4JM2CK2A.js";
11
+ import "../chunk-5CRQCIHR.js";
12
+ import "../chunk-2YSCVT6Q.js";
13
+ import "../chunk-3ICRY72Q.js";
14
+ import "../chunk-BUXDR6US.js";
15
+ import "../chunk-EGKD4S5H.js";
16
16
  import "../chunk-GMXKITVA.js";
17
- import "../chunk-JGNYCRB2.js";
18
- import "../chunk-XH3F66VD.js";
19
- import "../chunk-XNZB274I.js";
20
- import "../chunk-KK2DIUVV.js";
17
+ import "../chunk-5463UUO2.js";
18
+ import "../chunk-GCN73COS.js";
19
+ import "../chunk-FV34HT35.js";
21
20
  import "../chunk-XHKBHWLX.js";
22
21
  import "../chunk-6ICPEJY5.js";
22
+ import "../chunk-VYBH6D4X.js";
23
23
  import {
24
24
  handleStop,
25
25
  handleSubagentStop,
26
26
  isSubagentStop
27
- } from "../chunk-YVO4HIHX.js";
28
- import "../chunk-B7LV6W7U.js";
29
- import "../chunk-KEAIIVW3.js";
30
- import "../chunk-AWMMABVB.js";
27
+ } from "../chunk-DT5CACWZ.js";
28
+ import "../chunk-3RPN7AAT.js";
29
+ import "../chunk-JBT3ZSJS.js";
30
+ import "../chunk-2QPHUCXU.js";
31
31
  import "../chunk-POFBE6ZY.js";
32
- import "../chunk-LZYJMSOY.js";
33
- import "../chunk-34RXPM5U.js";
34
- import "../chunk-ABMEBN2R.js";
35
- import "../chunk-LY3OJFBW.js";
32
+ import "../chunk-3OLEGCMU.js";
33
+ import "../chunk-SRXBOMSR.js";
34
+ import "../chunk-UR7XX2DV.js";
35
+ import "../chunk-KQBXPGXO.js";
36
36
  import "../chunk-7QLSKOSU.js";
37
37
  import "../chunk-KZERVKTD.js";
38
- import "../chunk-ZYYQJSIO.js";
38
+ import "../chunk-4QQEUJL4.js";
39
+ import "../chunk-YQDZ7ZIL.js";
40
+ import "../chunk-JZDRR7BL.js";
39
41
  import "../chunk-AQFEP65J.js";
40
- import "../chunk-VUS6QGND.js";
41
- import "../chunk-ZOKMGBPR.js";
42
- import "../chunk-OR5F63C2.js";
42
+ import "../chunk-CQ5JGRML.js";
43
+ import "../chunk-MC4VY5LK.js";
44
+ import "../chunk-QTOLNRET.js";
45
+ import "../chunk-LF3TLC7B.js";
43
46
 
44
47
  // bin/pushary-stop-hook.ts
45
48
  var AGENT = activeIdentity(process.argv);