@pushary/agent-hooks 1.8.2 → 1.9.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 (93) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/bin/pushary-bell-hook.js +23 -23
  3. package/dist/bin/pushary-bell.js +9 -9
  4. package/dist/bin/pushary-claude.js +26 -26
  5. package/dist/bin/pushary-clean.js +28 -28
  6. package/dist/bin/pushary-codex-bridge.js +18 -18
  7. package/dist/bin/pushary-codex-hook.js +31 -31
  8. package/dist/bin/pushary-codex.js +13 -13
  9. package/dist/bin/pushary-connect.js +13 -13
  10. package/dist/bin/pushary-cowork.js +5 -5
  11. package/dist/bin/pushary-daemon.js +43 -40
  12. package/dist/bin/pushary-disconnect.js +18 -18
  13. package/dist/bin/pushary-doctor.js +30 -30
  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 +28 -28
  17. package/dist/bin/pushary-hook.js +32 -32
  18. package/dist/bin/pushary-login.js +12 -12
  19. package/dist/bin/pushary-logout.js +7 -7
  20. package/dist/bin/pushary-mcp.js +9 -9
  21. package/dist/bin/pushary-mode.js +9 -9
  22. package/dist/bin/pushary-notification-hook.js +28 -28
  23. package/dist/bin/pushary-opencode-hook.js +27 -27
  24. package/dist/bin/pushary-permission-denied-hook.js +32 -32
  25. package/dist/bin/pushary-permission-hook.js +31 -31
  26. package/dist/bin/pushary-post-hook.js +28 -28
  27. package/dist/bin/pushary-prompt-hook.js +28 -28
  28. package/dist/bin/pushary-session-end-hook.js +28 -28
  29. package/dist/bin/pushary-session-start-hook.js +31 -31
  30. package/dist/bin/pushary-setup.js +53 -38
  31. package/dist/bin/pushary-stats.js +5 -5
  32. package/dist/bin/pushary-status.js +15 -15
  33. package/dist/bin/pushary-stop-hook.js +28 -28
  34. package/dist/bin/pushary-stopfailure-hook.js +28 -28
  35. package/dist/bin/pushary-suggestions.js +4 -4
  36. package/dist/bin/pushary-transcript-register.js +19 -19
  37. package/dist/bin/pushary-transcripts.js +7 -7
  38. package/dist/bin/pushary-upgrade.js +223 -147
  39. package/dist/bin/pushary-wait.js +9 -9
  40. package/dist/bin/pushary.js +6 -6
  41. package/dist/{chunk-NHCUXTEM.js → chunk-2V64X5RE.js} +1 -1
  42. package/dist/{chunk-ZJYJAD52.js → chunk-3OFHFVPX.js} +1 -1
  43. package/dist/{chunk-F6NTWZZC.js → chunk-42E4DE6C.js} +9 -9
  44. package/dist/{chunk-INSMZNS7.js → chunk-4GMZOGH4.js} +10 -7
  45. package/dist/{chunk-5YY3IJT4.js → chunk-4PCF34AB.js} +17 -0
  46. package/dist/{chunk-7U7ZWUTR.js → chunk-4ZXYWEEH.js} +1 -1
  47. package/dist/{chunk-DVW2MYCM.js → chunk-75CEJ4WP.js} +3 -3
  48. package/dist/{chunk-DXBS2EL7.js → chunk-7LLNRCOK.js} +1 -1
  49. package/dist/{chunk-I3XLHSOC.js → chunk-7TQQSQZ7.js} +6 -6
  50. package/dist/{chunk-KB2FTO4O.js → chunk-BG4QCOHQ.js} +4 -4
  51. package/dist/{chunk-XQZEIWAV.js → chunk-CFAD2LTH.js} +54 -6
  52. package/dist/{chunk-MOTNSXC3.js → chunk-CKPDSFY3.js} +5 -5
  53. package/dist/{chunk-I4HKMUZQ.js → chunk-CPBRXBLG.js} +3 -3
  54. package/dist/{chunk-ON5JW2HP.js → chunk-EG46RJRF.js} +1 -1
  55. package/dist/{chunk-DLEKCAQL.js → chunk-ET6QSY3H.js} +1 -1
  56. package/dist/{chunk-NOLPURUI.js → chunk-HHNFGWR5.js} +1 -1
  57. package/dist/{chunk-NNWQ5VDB.js → chunk-HNMMKFYN.js} +10 -10
  58. package/dist/{chunk-N6JJJTPH.js → chunk-HQWPMVR4.js} +3 -3
  59. package/dist/{chunk-UMMCHS6P.js → chunk-HSM5FIA3.js} +1 -1
  60. package/dist/{chunk-7ITOAMCD.js → chunk-IJJ3HHFT.js} +1 -1
  61. package/dist/{chunk-CHMOVJ2M.js → chunk-IQUBCAEK.js} +1 -1
  62. package/dist/{chunk-HVDMGDYV.js → chunk-JOQEPWDH.js} +2 -2
  63. package/dist/{chunk-W2LJ4O3A.js → chunk-JW7DKTT6.js} +2 -2
  64. package/dist/{chunk-CB23AO4D.js → chunk-K75TP4JY.js} +2 -2
  65. package/dist/{chunk-LK2S5XIV.js → chunk-K7DY2DQN.js} +6 -6
  66. package/dist/{chunk-HMNR7B2F.js → chunk-KETBIX7I.js} +1 -1
  67. package/dist/{chunk-EIGJYCOE.js → chunk-LQESQPIT.js} +5 -5
  68. package/dist/{chunk-T55H6YEP.js → chunk-MBNMO5IR.js} +2 -2
  69. package/dist/{chunk-72WOCX22.js → chunk-MBVV3RX3.js} +1 -1
  70. package/dist/{chunk-URNXU3FO.js → chunk-MGXXQHCM.js} +1 -1
  71. package/dist/{chunk-644AEX4T.js → chunk-MQJWO3AA.js} +3 -3
  72. package/dist/{chunk-XEGVVU5H.js → chunk-NAJ3UV4E.js} +3 -3
  73. package/dist/{chunk-YNCGXHM4.js → chunk-OLG6FJV2.js} +4 -4
  74. package/dist/{chunk-EESPY5DG.js → chunk-OXQKXZJ3.js} +2 -2
  75. package/dist/{chunk-64H5IZZD.js → chunk-P25O4K3J.js} +2 -2
  76. package/dist/{chunk-2SLCHCVN.js → chunk-P6VDRQF3.js} +3 -3
  77. package/dist/{chunk-UPLV5AJF.js → chunk-R76C43H7.js} +58 -6
  78. package/dist/{chunk-HOEB6AKG.js → chunk-RZXQFAWR.js} +1 -1
  79. package/dist/{chunk-35X5UDML.js → chunk-SDSKTRIV.js} +1 -1
  80. package/dist/{chunk-MYHG7PX2.js → chunk-TUZ7WKOF.js} +1 -1
  81. package/dist/{chunk-5Y2DY6X4.js → chunk-US3RDXK7.js} +2 -2
  82. package/dist/{chunk-4A3UQERT.js → chunk-VV4SBPCQ.js} +1 -1
  83. package/dist/{chunk-VFFHQC7W.js → chunk-VYNTRHB6.js} +1 -1
  84. package/dist/{chunk-DUA5O6X5.js → chunk-WFVNXGZ6.js} +8 -8
  85. package/dist/{chunk-BDMC5H5L.js → chunk-XGS2DHGF.js} +2 -2
  86. package/dist/{chunk-B3UVRGYP.js → chunk-XXVMUMKT.js} +5 -5
  87. package/dist/{chunk-S2UNQQQS.js → chunk-YFS4HYCI.js} +3 -3
  88. package/dist/{chunk-5DGNEUXK.js → chunk-YJZDIFON.js} +2 -2
  89. package/dist/{chunk-MMVCI6DT.js → chunk-ZMVLKPT7.js} +5 -5
  90. package/dist/{chunk-TJMAXQ5Q.js → chunk-ZRHA4PGN.js} +2 -2
  91. package/dist/{reapply-3UERAKQN.js → reapply-FYCVOWCW.js} +8 -8
  92. package/dist/src/index.js +20 -20
  93. package/package.json +1 -1
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  printKeyCheck
4
- } from "../chunk-NHCUXTEM.js";
4
+ } from "../chunk-2V64X5RE.js";
5
5
  import {
6
6
  connectDevice,
7
7
  connectExistingApp,
8
8
  printConnectInstructions
9
- } from "../chunk-INSMZNS7.js";
9
+ } from "../chunk-4GMZOGH4.js";
10
10
  import "../chunk-3EGEA4KH.js";
11
11
  import "../chunk-QCGNGEGE.js";
12
12
  import {
@@ -14,31 +14,31 @@ import {
14
14
  } from "../chunk-U4TMAANR.js";
15
15
  import {
16
16
  exitOnHelpFlag
17
- } from "../chunk-CB23AO4D.js";
17
+ } from "../chunk-K75TP4JY.js";
18
18
  import {
19
19
  parseFlags
20
20
  } from "../chunk-GMXKITVA.js";
21
21
  import {
22
22
  readKeySource
23
- } from "../chunk-TJMAXQ5Q.js";
24
- import "../chunk-I4HKMUZQ.js";
23
+ } from "../chunk-ZRHA4PGN.js";
24
+ import "../chunk-CPBRXBLG.js";
25
25
  import {
26
26
  checkApiKey
27
- } from "../chunk-DVW2MYCM.js";
28
- import "../chunk-2SLCHCVN.js";
29
- import "../chunk-4A3UQERT.js";
27
+ } from "../chunk-75CEJ4WP.js";
28
+ import "../chunk-P6VDRQF3.js";
29
+ import "../chunk-VV4SBPCQ.js";
30
30
  import {
31
31
  UsageError
32
32
  } from "../chunk-7QLSKOSU.js";
33
33
  import {
34
34
  EXIT
35
35
  } from "../chunk-KZERVKTD.js";
36
- import "../chunk-5Y2DY6X4.js";
37
- import "../chunk-UPLV5AJF.js";
36
+ import "../chunk-US3RDXK7.js";
37
+ import "../chunk-R76C43H7.js";
38
38
  import "../chunk-T7E75EKA.js";
39
- import "../chunk-ON5JW2HP.js";
40
- import "../chunk-35X5UDML.js";
41
- import "../chunk-5YY3IJT4.js";
39
+ import "../chunk-EG46RJRF.js";
40
+ import "../chunk-SDSKTRIV.js";
41
+ import "../chunk-4PCF34AB.js";
42
42
 
43
43
  // bin/pushary-connect.ts
44
44
  exitOnHelpFlag("connect");
@@ -2,15 +2,15 @@
2
2
  import {
3
3
  coworkOutput,
4
4
  parseCoworkOptions
5
- } from "../chunk-N6JJJTPH.js";
5
+ } from "../chunk-HQWPMVR4.js";
6
6
  import {
7
7
  canOpenBrowser,
8
8
  openInBrowser
9
9
  } from "../chunk-PUZZELE6.js";
10
- import "../chunk-DLEKCAQL.js";
10
+ import "../chunk-ET6QSY3H.js";
11
11
  import {
12
12
  exitOnHelpFlag
13
- } from "../chunk-CB23AO4D.js";
13
+ } from "../chunk-K75TP4JY.js";
14
14
  import "../chunk-GMXKITVA.js";
15
15
  import {
16
16
  UsageError
@@ -18,10 +18,10 @@ import {
18
18
  import {
19
19
  EXIT
20
20
  } from "../chunk-KZERVKTD.js";
21
- import "../chunk-35X5UDML.js";
21
+ import "../chunk-SDSKTRIV.js";
22
22
  import {
23
23
  CLAUDE_CONNECTOR_GUIDE
24
- } from "../chunk-5YY3IJT4.js";
24
+ } from "../chunk-4PCF34AB.js";
25
25
 
26
26
  // bin/pushary-cowork.ts
27
27
  exitOnHelpFlag("cowork");
@@ -1,23 +1,22 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  inspectConfiguredManagedProviders
4
- } from "../chunk-B3UVRGYP.js";
5
- import "../chunk-W2LJ4O3A.js";
4
+ } from "../chunk-XXVMUMKT.js";
5
+ import "../chunk-JW7DKTT6.js";
6
6
  import {
7
7
  HEARTBEAT_INTERVAL_MS,
8
8
  sendHeartbeat
9
- } from "../chunk-I3XLHSOC.js";
10
- import "../chunk-644AEX4T.js";
9
+ } from "../chunk-7TQQSQZ7.js";
10
+ import "../chunk-MQJWO3AA.js";
11
11
  import {
12
12
  codexBinaryIsBroken,
13
- detectLaunchableProviderCapabilities,
14
13
  detectProviderLiveCapabilities,
15
14
  hasSpawnProvider,
16
15
  launchAdvertisement,
17
16
  launchableProviders,
18
17
  resolveControlPolicy,
19
- resolveProviderBinary
20
- } from "../chunk-XQZEIWAV.js";
18
+ trackProviderInventory
19
+ } from "../chunk-CFAD2LTH.js";
21
20
  import "../chunk-RIVNNBEK.js";
22
21
  import {
23
22
  SESSION_REAP_SILENCE_MS,
@@ -26,15 +25,15 @@ import {
26
25
  listProcessProofs,
27
26
  ownsLiveProcess,
28
27
  silentSpawnedProofs
29
- } from "../chunk-ZJYJAD52.js";
28
+ } from "../chunk-3OFHFVPX.js";
30
29
  import {
31
30
  startRegisteredTranscripts
32
- } from "../chunk-DUA5O6X5.js";
31
+ } from "../chunk-WFVNXGZ6.js";
33
32
  import "../chunk-SGZJ5LYH.js";
34
- import "../chunk-YNCGXHM4.js";
35
- import "../chunk-DLEKCAQL.js";
36
- import "../chunk-MYHG7PX2.js";
37
- import "../chunk-XEGVVU5H.js";
33
+ import "../chunk-OLG6FJV2.js";
34
+ import "../chunk-ET6QSY3H.js";
35
+ import "../chunk-TUZ7WKOF.js";
36
+ import "../chunk-NAJ3UV4E.js";
38
37
  import {
39
38
  DAEMON_LEASE_RENEW_INTERVAL_MS,
40
39
  acquireDaemonLease,
@@ -51,47 +50,47 @@ import {
51
50
  requestDaemonHandoff,
52
51
  stopDaemonRunning,
53
52
  writeDaemonNeedsLogin
54
- } from "../chunk-EIGJYCOE.js";
55
- import "../chunk-S2UNQQQS.js";
56
- import "../chunk-HOEB6AKG.js";
57
- import "../chunk-URNXU3FO.js";
58
- import "../chunk-UMMCHS6P.js";
59
- import "../chunk-72WOCX22.js";
53
+ } from "../chunk-LQESQPIT.js";
54
+ import "../chunk-YFS4HYCI.js";
55
+ import "../chunk-RZXQFAWR.js";
56
+ import "../chunk-MGXXQHCM.js";
57
+ import "../chunk-HSM5FIA3.js";
58
+ import "../chunk-MBVV3RX3.js";
60
59
  import {
61
60
  spawnClaude
62
61
  } from "../chunk-XHKBHWLX.js";
63
62
  import "../chunk-6ICPEJY5.js";
64
- import "../chunk-VFFHQC7W.js";
63
+ import "../chunk-VYNTRHB6.js";
65
64
  import {
66
65
  writeHuman
67
66
  } from "../chunk-QCGNGEGE.js";
68
67
  import {
69
68
  exitOnHelpFlag
70
- } from "../chunk-CB23AO4D.js";
69
+ } from "../chunk-K75TP4JY.js";
71
70
  import "../chunk-GMXKITVA.js";
72
71
  import {
73
72
  readControlMode
74
- } from "../chunk-TJMAXQ5Q.js";
73
+ } from "../chunk-ZRHA4PGN.js";
75
74
  import {
76
75
  getMachineId
77
- } from "../chunk-4A3UQERT.js";
76
+ } from "../chunk-VV4SBPCQ.js";
78
77
  import "../chunk-7QLSKOSU.js";
79
78
  import {
80
79
  EXIT
81
80
  } from "../chunk-KZERVKTD.js";
82
- import "../chunk-5Y2DY6X4.js";
81
+ import "../chunk-US3RDXK7.js";
83
82
  import {
84
83
  resolveBinary
85
- } from "../chunk-UPLV5AJF.js";
84
+ } from "../chunk-R76C43H7.js";
86
85
  import "../chunk-T7E75EKA.js";
87
86
  import {
88
87
  getApiKey,
89
88
  getBaseUrl
90
- } from "../chunk-ON5JW2HP.js";
89
+ } from "../chunk-EG46RJRF.js";
91
90
  import {
92
91
  NPX_LATEST_COMMAND
93
- } from "../chunk-35X5UDML.js";
94
- import "../chunk-5YY3IJT4.js";
92
+ } from "../chunk-SDSKTRIV.js";
93
+ import "../chunk-4PCF34AB.js";
95
94
 
96
95
  // src/spawn-daemon.ts
97
96
  import { execFileSync, spawn } from "child_process";
@@ -360,7 +359,13 @@ var runSpawnDaemon = async () => {
360
359
  const baseUrl = getBaseUrl();
361
360
  const pusharyBin = resolveBinary("pushary") ?? "pushary";
362
361
  const configuredProviders = inspectConfiguredManagedProviders();
363
- let providerCapabilities = detectLaunchableProviderCapabilities(configuredProviders);
362
+ let describedProviders;
363
+ const inventory = await trackProviderInventory(configuredProviders, (next) => {
364
+ const description = describeLaunchableProviders(next.capabilities);
365
+ if (description !== describedProviders) log(`agents changed: ${description}`);
366
+ describedProviders = description;
367
+ });
368
+ describedProviders = describeLaunchableProviders(inventory.current.capabilities);
364
369
  const siblingEntry = process.argv[1] ? join(dirname(process.argv[1]), "pushary.js") : "";
365
370
  const codexBridgeEntry = process.argv[1] ? join(dirname(process.argv[1]), "pushary-codex-bridge.js") : "pushary-codex-bridge";
366
371
  const geminiBridgeEntry = process.argv[1] ? join(dirname(process.argv[1]), "pushary-gemini-bridge.js") : "pushary-gemini-bridge";
@@ -370,21 +375,25 @@ var runSpawnDaemon = async () => {
370
375
  try {
371
376
  handoff = await requestDaemonHandoff(existing);
372
377
  } catch (err) {
378
+ inventory.stop();
373
379
  stderr(`[pushary] daemon could not request a handoff: ${err instanceof Error ? err.message : String(err)}
374
380
  `);
375
381
  return 1;
376
382
  }
377
383
  if (existing.pid !== null && handoff.pid === existing.pid && handoff.processAlive === true) {
384
+ inventory.stop();
378
385
  stderr("[pushary] daemon could not replace the existing process; run `pushary doctor` for details\n");
379
386
  return 1;
380
387
  }
381
388
  const lifecycle = acquireDaemonLease({ machineId });
382
389
  if (lifecycle.kind === "already-running") {
390
+ inventory.stop();
383
391
  writeHuman(`[pushary] daemon already online as pid ${lifecycle.status.pid ?? "unknown"}
384
392
  `);
385
393
  return 0;
386
394
  }
387
395
  if (lifecycle.kind === "unavailable") {
396
+ inventory.stop();
388
397
  stderr(`[pushary] daemon could not acquire its local lease: ${lifecycle.detail}
389
398
  `);
390
399
  return 1;
@@ -419,7 +428,7 @@ var runSpawnDaemon = async () => {
419
428
  if (!directory.ok) return Promise.reject(new Error(directory.message));
420
429
  const agent = normalizeLaunchAgent(req.agent);
421
430
  if (!agent) return Promise.reject(new Error(`Unsupported agent provider: ${req.agent}`));
422
- const providerBin = resolveProviderBinary(agent);
431
+ const providerBin = inventory.current.binaries[agent];
423
432
  const unavailable = providerLaunchError(req.agent, {
424
433
  claude: agent === "claude" ? providerBin ?? null : null,
425
434
  codex: agent === "codex" ? providerBin ?? null : null,
@@ -723,19 +732,13 @@ var runSpawnDaemon = async () => {
723
732
  if (leaseRenewal) clearInterval(leaseRenewal);
724
733
  if (sessionReaper) clearInterval(sessionReaper);
725
734
  inflight?.abort();
735
+ inventory.stop();
726
736
  try {
727
737
  daemonLease.release();
728
738
  } catch (err) {
729
739
  log(`daemon could not release its local lease: ${errMsg(err)}`);
730
740
  }
731
741
  };
732
- const refreshProviderCapabilities = () => {
733
- const detected = detectLaunchableProviderCapabilities(configuredProviders);
734
- const before = describeLaunchableProviders(providerCapabilities);
735
- const after = describeLaunchableProviders(detected);
736
- providerCapabilities = detected;
737
- if (after !== before) log(`agents changed: ${after}`);
738
- };
739
742
  const beat = async () => {
740
743
  if (stopped) return;
741
744
  if (!daemonLease.isOwner()) {
@@ -745,7 +748,7 @@ var runSpawnDaemon = async () => {
745
748
  const result = await sendHeartbeat(apiKey, {
746
749
  repoKey: basename(process.cwd()),
747
750
  capabilities: [
748
- ...launchAdvertisement(providerCapabilities),
751
+ ...launchAdvertisement(inventory.current.capabilities),
749
752
  STOP_CAPABILITY,
750
753
  STOP_ACK_CAPABILITY
751
754
  ]
@@ -763,7 +766,7 @@ var runSpawnDaemon = async () => {
763
766
  };
764
767
  void beat();
765
768
  heartbeat = setInterval(() => {
766
- refreshProviderCapabilities();
769
+ void inventory.refresh().catch((err) => log(`agent discovery failed: ${errMsg(err)}`));
767
770
  void beat();
768
771
  }, HEARTBEAT_INTERVAL_MS);
769
772
  leaseRenewal = setInterval(() => daemonLease.renew(), DAEMON_LEASE_RENEW_INTERVAL_MS);
@@ -771,7 +774,7 @@ var runSpawnDaemon = async () => {
771
774
  if (daemonLease.shouldYield()) finish();
772
775
  }, VERSION_CHECK_INTERVAL_MS);
773
776
  sessionReaper = setInterval(() => void reapSilentSessions(), SESSION_REAP_INTERVAL_MS);
774
- log(hasSpawnProvider(providerCapabilities) ? `daemon online (pid ${process.pid}): this machine (${machineId}) can now be sent a new session from your phone. Ctrl-C to stop.` : `daemon online (pid ${process.pid}): no supported Claude, Codex, or Gemini CLI was found, so phone-start is unavailable. Ctrl-C to stop.`);
777
+ log(hasSpawnProvider(inventory.current.capabilities) ? `daemon online (pid ${process.pid}): this machine (${machineId}) can now be sent a new session from your phone. Ctrl-C to stop.` : `daemon online (pid ${process.pid}): no supported Claude, Codex, or Gemini CLI was found, so phone-start is unavailable. Ctrl-C to stop.`);
775
778
  timer = setTimeout(tick, 0);
776
779
  const signals = daemonSignals();
777
780
  await new Promise((resolve) => {
@@ -8,41 +8,41 @@ import {
8
8
  openCodePluginDir,
9
9
  openCodePluginFile,
10
10
  removeOpenCodeMcpServer
11
- } from "../chunk-NOLPURUI.js";
11
+ } from "../chunk-HHNFGWR5.js";
12
12
  import {
13
13
  compatibleConfigFile,
14
14
  compatibleMcpFile,
15
15
  compatiblePermissionRuleFile,
16
16
  removeCompatibleHooks,
17
17
  removeCompatibleMcpServer
18
- } from "../chunk-MOTNSXC3.js";
18
+ } from "../chunk-CKPDSFY3.js";
19
19
  import {
20
20
  isClaudeMcpSnapshot,
21
21
  removeClaudeMcpServers,
22
22
  removePusharySettings,
23
23
  removePusharyToolPermissions,
24
24
  restoreClaudeMcpServer
25
- } from "../chunk-644AEX4T.js";
25
+ } from "../chunk-MQJWO3AA.js";
26
26
  import {
27
27
  removeGeminiSettings
28
- } from "../chunk-S2UNQQQS.js";
28
+ } from "../chunk-YFS4HYCI.js";
29
29
  import "../chunk-6ICPEJY5.js";
30
- import "../chunk-F6NTWZZC.js";
30
+ import "../chunk-42E4DE6C.js";
31
31
  import "../chunk-N6IOSZOE.js";
32
- import "../chunk-VFFHQC7W.js";
33
- import "../chunk-MMVCI6DT.js";
34
- import "../chunk-KB2FTO4O.js";
32
+ import "../chunk-VYNTRHB6.js";
33
+ import "../chunk-ZMVLKPT7.js";
34
+ import "../chunk-BG4QCOHQ.js";
35
35
  import "../chunk-POFBE6ZY.js";
36
36
  import {
37
37
  exitOnHelpFlag
38
- } from "../chunk-CB23AO4D.js";
39
- import "../chunk-I4HKMUZQ.js";
40
- import "../chunk-DVW2MYCM.js";
41
- import "../chunk-2SLCHCVN.js";
42
- import "../chunk-4A3UQERT.js";
38
+ } from "../chunk-K75TP4JY.js";
39
+ import "../chunk-CPBRXBLG.js";
40
+ import "../chunk-75CEJ4WP.js";
41
+ import "../chunk-P6VDRQF3.js";
42
+ import "../chunk-VV4SBPCQ.js";
43
43
  import "../chunk-7QLSKOSU.js";
44
44
  import "../chunk-KZERVKTD.js";
45
- import "../chunk-5Y2DY6X4.js";
45
+ import "../chunk-US3RDXK7.js";
46
46
  import {
47
47
  claudeJson,
48
48
  claudeMcpReceipt,
@@ -56,14 +56,14 @@ import {
56
56
  geminiSettings,
57
57
  removeCodexHooks,
58
58
  removeCodexSettings
59
- } from "../chunk-UPLV5AJF.js";
59
+ } from "../chunk-R76C43H7.js";
60
60
  import "../chunk-T7E75EKA.js";
61
- import "../chunk-ON5JW2HP.js";
62
- import "../chunk-35X5UDML.js";
61
+ import "../chunk-EG46RJRF.js";
62
+ import "../chunk-SDSKTRIV.js";
63
63
  import {
64
64
  DISCONNECTABLE_AGENTS,
65
65
  hookCompatibleProfileBySource
66
- } from "../chunk-5YY3IJT4.js";
66
+ } from "../chunk-4PCF34AB.js";
67
67
 
68
68
  // bin/pushary-disconnect.ts
69
69
  import { readdirSync, readFileSync, rmSync, writeFileSync } from "fs";
@@ -9,11 +9,11 @@ import {
9
9
  import {
10
10
  assessCodexHookTrust,
11
11
  readCodexTrustForPusharyHooks
12
- } from "../chunk-W2LJ4O3A.js";
12
+ } from "../chunk-JW7DKTT6.js";
13
13
  import {
14
14
  readMachineReadiness,
15
15
  readManagedControlEvidence
16
- } from "../chunk-I3XLHSOC.js";
16
+ } from "../chunk-7TQQSQZ7.js";
17
17
  import {
18
18
  FX_PROFILE_REFUSALS,
19
19
  FX_PUSHARY_TOOLS_RULE,
@@ -33,28 +33,28 @@ import {
33
33
  retryAgentCommand,
34
34
  shortenHome,
35
35
  vscodeSettingsTargets
36
- } from "../chunk-LK2S5XIV.js";
37
- import "../chunk-T55H6YEP.js";
36
+ } from "../chunk-K7DY2DQN.js";
37
+ import "../chunk-MBNMO5IR.js";
38
38
  import {
39
39
  OPENCODE_PLUGIN_PLACEHOLDER,
40
40
  openCodePluginDir,
41
41
  openCodePluginFile,
42
42
  openCodeWired
43
- } from "../chunk-NOLPURUI.js";
43
+ } from "../chunk-HHNFGWR5.js";
44
44
  import {
45
45
  compatibleConfigFile,
46
46
  compatibleInstructionsFile,
47
47
  compatibleMcpFile,
48
48
  hasCompatibleHooks,
49
49
  missingCompatibleHookEvents
50
- } from "../chunk-MOTNSXC3.js";
51
- import "../chunk-644AEX4T.js";
50
+ } from "../chunk-CKPDSFY3.js";
51
+ import "../chunk-MQJWO3AA.js";
52
52
  import {
53
53
  detectProviderLiveCapabilities,
54
54
  expectedLaunchCapabilities,
55
55
  hasSpawnProvider,
56
56
  resolveControlPolicy
57
- } from "../chunk-XQZEIWAV.js";
57
+ } from "../chunk-CFAD2LTH.js";
58
58
  import "../chunk-RIVNNBEK.js";
59
59
  import {
60
60
  AUTO_UPDATE_DISABLE_ENV,
@@ -63,16 +63,16 @@ import {
63
63
  describeAutoUpdateCheck,
64
64
  readAutoUpdateState,
65
65
  takeAutoUpdateAnnouncement
66
- } from "../chunk-64H5IZZD.js";
66
+ } from "../chunk-P25O4K3J.js";
67
67
  import {
68
68
  readLedgerSummary
69
- } from "../chunk-7ITOAMCD.js";
69
+ } from "../chunk-IJJ3HHFT.js";
70
70
  import {
71
71
  describeBridgeResolution,
72
72
  isBridgeLocator,
73
73
  liveBridgeProbe,
74
74
  resolveBridgeStub
75
- } from "../chunk-MYHG7PX2.js";
75
+ } from "../chunk-TUZ7WKOF.js";
76
76
  import {
77
77
  claudeOtherHolders,
78
78
  claudeUnprovenHolds,
@@ -89,7 +89,7 @@ import {
89
89
  geminiWired,
90
90
  holdsLong,
91
91
  pusharyHookExecutable
92
- } from "../chunk-XEGVVU5H.js";
92
+ } from "../chunk-NAJ3UV4E.js";
93
93
  import {
94
94
  daemonHasRemoteProof,
95
95
  daemonServiceManagerAvailable,
@@ -98,19 +98,19 @@ import {
98
98
  readDaemonNeedsLogin,
99
99
  readDaemonStatus,
100
100
  readInstalledDaemonService
101
- } from "../chunk-EIGJYCOE.js";
101
+ } from "../chunk-LQESQPIT.js";
102
102
  import {
103
103
  GEMINI_HOOK_BINARY,
104
104
  hasGeminiHooks,
105
105
  missingGeminiHookEvents
106
- } from "../chunk-S2UNQQQS.js";
106
+ } from "../chunk-YFS4HYCI.js";
107
107
  import "../chunk-XHKBHWLX.js";
108
108
  import "../chunk-6ICPEJY5.js";
109
- import "../chunk-F6NTWZZC.js";
109
+ import "../chunk-42E4DE6C.js";
110
110
  import "../chunk-N6IOSZOE.js";
111
- import "../chunk-VFFHQC7W.js";
112
- import "../chunk-MMVCI6DT.js";
113
- import "../chunk-KB2FTO4O.js";
111
+ import "../chunk-VYNTRHB6.js";
112
+ import "../chunk-ZMVLKPT7.js";
113
+ import "../chunk-BG4QCOHQ.js";
114
114
  import "../chunk-POFBE6ZY.js";
115
115
  import {
116
116
  describeReach,
@@ -119,7 +119,7 @@ import {
119
119
  reachVerdict,
120
120
  roundTripEvidence,
121
121
  verifyRoundTrip
122
- } from "../chunk-INSMZNS7.js";
122
+ } from "../chunk-4GMZOGH4.js";
123
123
  import "../chunk-3EGEA4KH.js";
124
124
  import "../chunk-QCGNGEGE.js";
125
125
  import {
@@ -127,7 +127,7 @@ import {
127
127
  } from "../chunk-U4TMAANR.js";
128
128
  import {
129
129
  exitOnHelpFlag
130
- } from "../chunk-CB23AO4D.js";
130
+ } from "../chunk-K75TP4JY.js";
131
131
  import {
132
132
  parseFlags
133
133
  } from "../chunk-GMXKITVA.js";
@@ -135,26 +135,26 @@ import {
135
135
  keyPrefix,
136
136
  readControlMode,
137
137
  readKeySource
138
- } from "../chunk-TJMAXQ5Q.js";
138
+ } from "../chunk-ZRHA4PGN.js";
139
139
  import {
140
140
  callMcpTool,
141
141
  sendMcpRequest
142
- } from "../chunk-I4HKMUZQ.js";
142
+ } from "../chunk-CPBRXBLG.js";
143
143
  import {
144
144
  checkApiKey,
145
145
  describeKeyCheck
146
- } from "../chunk-DVW2MYCM.js";
147
- import "../chunk-2SLCHCVN.js";
146
+ } from "../chunk-75CEJ4WP.js";
147
+ import "../chunk-P6VDRQF3.js";
148
148
  import {
149
149
  getMachineId
150
- } from "../chunk-4A3UQERT.js";
150
+ } from "../chunk-VV4SBPCQ.js";
151
151
  import {
152
152
  UsageError
153
153
  } from "../chunk-7QLSKOSU.js";
154
154
  import {
155
155
  EXIT
156
156
  } from "../chunk-KZERVKTD.js";
157
- import "../chunk-5Y2DY6X4.js";
157
+ import "../chunk-US3RDXK7.js";
158
158
  import {
159
159
  CODEX_HOOK_EVENTS,
160
160
  autoUpdateState,
@@ -184,14 +184,14 @@ import {
184
184
  readGlobalCliInstall,
185
185
  resolvePathBinary,
186
186
  vscodePluginDir
187
- } from "../chunk-UPLV5AJF.js";
187
+ } from "../chunk-R76C43H7.js";
188
188
  import "../chunk-T7E75EKA.js";
189
189
  import {
190
190
  getBaseUrl
191
- } from "../chunk-ON5JW2HP.js";
191
+ } from "../chunk-EG46RJRF.js";
192
192
  import {
193
193
  NPX_LATEST_COMMAND
194
- } from "../chunk-35X5UDML.js";
194
+ } from "../chunk-SDSKTRIV.js";
195
195
  import {
196
196
  AGENTS,
197
197
  CURSOR_GATE_EVENTS,
@@ -206,7 +206,7 @@ import {
206
206
  hookCompatibleProfile,
207
207
  isHookActivationReport,
208
208
  isNewerVersion
209
- } from "../chunk-5YY3IJT4.js";
209
+ } from "../chunk-4PCF34AB.js";
210
210
 
211
211
  // bin/pushary-doctor.ts
212
212
  import { existsSync, readFileSync, writeFileSync } from "fs";
@@ -1,53 +1,53 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-EESPY5DG.js";
4
+ } from "../chunk-OXQKXZJ3.js";
5
5
  import {
6
6
  announceSubscriptionRequired,
7
7
  isDeferAnswer
8
8
  } from "../chunk-5OP5MQI7.js";
9
- import "../chunk-DUA5O6X5.js";
9
+ import "../chunk-WFVNXGZ6.js";
10
10
  import "../chunk-SGZJ5LYH.js";
11
- import "../chunk-YNCGXHM4.js";
12
- import "../chunk-DLEKCAQL.js";
13
- import "../chunk-MYHG7PX2.js";
14
- import "../chunk-XEGVVU5H.js";
15
- import "../chunk-EIGJYCOE.js";
16
- import "../chunk-S2UNQQQS.js";
17
- import "../chunk-HOEB6AKG.js";
18
- import "../chunk-URNXU3FO.js";
19
- import "../chunk-UMMCHS6P.js";
20
- import "../chunk-72WOCX22.js";
11
+ import "../chunk-OLG6FJV2.js";
12
+ import "../chunk-ET6QSY3H.js";
13
+ import "../chunk-TUZ7WKOF.js";
14
+ import "../chunk-NAJ3UV4E.js";
15
+ import "../chunk-LQESQPIT.js";
16
+ import "../chunk-YFS4HYCI.js";
17
+ import "../chunk-RZXQFAWR.js";
18
+ import "../chunk-MGXXQHCM.js";
19
+ import "../chunk-HSM5FIA3.js";
20
+ import "../chunk-MBVV3RX3.js";
21
21
  import "../chunk-XHKBHWLX.js";
22
22
  import "../chunk-6ICPEJY5.js";
23
23
  import "../chunk-N6IOSZOE.js";
24
- import "../chunk-VFFHQC7W.js";
24
+ import "../chunk-VYNTRHB6.js";
25
25
  import {
26
26
  askUser,
27
27
  isDecisionStopped,
28
28
  waitForQuestion
29
- } from "../chunk-MMVCI6DT.js";
30
- import "../chunk-KB2FTO4O.js";
29
+ } from "../chunk-ZMVLKPT7.js";
30
+ import "../chunk-BG4QCOHQ.js";
31
31
  import "../chunk-POFBE6ZY.js";
32
32
  import "../chunk-GMXKITVA.js";
33
- import "../chunk-TJMAXQ5Q.js";
33
+ import "../chunk-ZRHA4PGN.js";
34
34
  import {
35
35
  SubscriptionRequiredError
36
- } from "../chunk-I4HKMUZQ.js";
37
- import "../chunk-DVW2MYCM.js";
38
- import "../chunk-2SLCHCVN.js";
36
+ } from "../chunk-CPBRXBLG.js";
37
+ import "../chunk-75CEJ4WP.js";
38
+ import "../chunk-P6VDRQF3.js";
39
39
  import {
40
40
  getMachineId
41
- } from "../chunk-4A3UQERT.js";
41
+ } from "../chunk-VV4SBPCQ.js";
42
42
  import "../chunk-7QLSKOSU.js";
43
43
  import "../chunk-KZERVKTD.js";
44
- import "../chunk-5Y2DY6X4.js";
45
- import "../chunk-UPLV5AJF.js";
44
+ import "../chunk-US3RDXK7.js";
45
+ import "../chunk-R76C43H7.js";
46
46
  import "../chunk-T7E75EKA.js";
47
47
  import {
48
48
  getApiKey
49
- } from "../chunk-ON5JW2HP.js";
50
- import "../chunk-35X5UDML.js";
49
+ } from "../chunk-EG46RJRF.js";
50
+ import "../chunk-SDSKTRIV.js";
51
51
  import {
52
52
  ELICITATION_ANSWERABLE_MODE,
53
53
  effectiveWaitSeconds,
@@ -58,7 +58,7 @@ import {
58
58
  planElicitationAsk,
59
59
  readElicitationFields,
60
60
  renderElicitationOutput
61
- } from "../chunk-5YY3IJT4.js";
61
+ } from "../chunk-4PCF34AB.js";
62
62
 
63
63
  // bin/pushary-elicitation-hook.ts
64
64
  import { basename } from "path";