pushary 1.9.51 → 1.9.53

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 (91) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +9 -0
  3. package/dist/{api-PPNFRSJC.js → api-K6ZROHYB.js} +7 -7
  4. package/dist/bin/pushary-bell-hook.js +15 -15
  5. package/dist/bin/pushary-bell.js +3 -3
  6. package/dist/bin/pushary-claude.js +16 -16
  7. package/dist/bin/pushary-clean.js +28 -26
  8. package/dist/bin/pushary-codex-bridge.js +10 -10
  9. package/dist/bin/pushary-codex-hook.js +20 -20
  10. package/dist/bin/pushary-codex-session.js +6 -6
  11. package/dist/bin/pushary-codex.js +8 -8
  12. package/dist/bin/pushary-connect.js +16 -16
  13. package/dist/bin/pushary-daemon.js +23 -21
  14. package/dist/bin/pushary-disconnect.js +17 -17
  15. package/dist/bin/pushary-doctor.js +25 -25
  16. package/dist/bin/pushary-elicitation-hook.js +17 -17
  17. package/dist/bin/pushary-gemini-bridge.js +5 -5
  18. package/dist/bin/pushary-gemini-hook.js +18 -18
  19. package/dist/bin/pushary-hook.js +18 -18
  20. package/dist/bin/pushary-login.js +6 -6
  21. package/dist/bin/pushary-logout.js +16 -16
  22. package/dist/bin/pushary-mcp.js +12 -7
  23. package/dist/bin/pushary-mode.js +6 -6
  24. package/dist/bin/pushary-notification-hook.js +15 -15
  25. package/dist/bin/pushary-opencode-hook.js +17 -17
  26. package/dist/bin/pushary-permission-denied-hook.js +18 -18
  27. package/dist/bin/pushary-permission-hook.js +18 -18
  28. package/dist/bin/pushary-post-hook.js +15 -15
  29. package/dist/bin/pushary-prompt-hook.js +15 -15
  30. package/dist/bin/pushary-session-end-hook.js +15 -15
  31. package/dist/bin/pushary-session-start-hook.js +21 -19
  32. package/dist/bin/pushary-setup.js +97 -92
  33. package/dist/bin/pushary-status.js +18 -18
  34. package/dist/bin/pushary-stop-hook.js +15 -15
  35. package/dist/bin/pushary-stopfailure-hook.js +15 -15
  36. package/dist/bin/pushary-suggestions.js +6 -6
  37. package/dist/bin/pushary-transcript-register.js +8 -8
  38. package/dist/bin/pushary-upgrade.js +53 -27
  39. package/dist/bin/pushary-wait.js +6 -6
  40. package/dist/bin/pushary.js +4 -4
  41. package/dist/{chunk-WVSM3G4C.js → chunk-2LEH5IGX.js} +1 -1
  42. package/dist/{chunk-X5GHIFST.js → chunk-46TC24ET.js} +1 -1
  43. package/dist/{chunk-EJCPHLY2.js → chunk-56ZTIY6D.js} +1 -1
  44. package/dist/{chunk-AA2K3H7Y.js → chunk-63IQRYVP.js} +3 -3
  45. package/dist/{chunk-3ICRY72Q.js → chunk-6C4S3QYD.js} +1 -1
  46. package/dist/{chunk-PVDSN6TB.js → chunk-ABGN5RN2.js} +6 -3
  47. package/dist/{chunk-ZXGDBCIH.js → chunk-ALZZVC3E.js} +1 -1
  48. package/dist/{chunk-5CRQCIHR.js → chunk-BL3WAGIK.js} +3 -3
  49. package/dist/{chunk-26MUPAKS.js → chunk-DHJSBK63.js} +1 -1
  50. package/dist/{chunk-UR7XX2DV.js → chunk-EK7SZJ4K.js} +1 -1
  51. package/dist/{chunk-3YAOJEHG.js → chunk-EPOD7QHT.js} +4 -4
  52. package/dist/{chunk-6QPRQVQM.js → chunk-FCMWUYIE.js} +2 -2
  53. package/dist/{chunk-K3BIMGP4.js → chunk-H57DXSHR.js} +2 -2
  54. package/dist/{chunk-UKX5WIB5.js → chunk-IHUFRAHB.js} +3 -3
  55. package/dist/{chunk-VD2OAF7Q.js → chunk-JOWF4Y4P.js} +1 -1
  56. package/dist/{chunk-PMJEN6CX.js → chunk-JPABKXK6.js} +5 -5
  57. package/dist/{chunk-DT5Y55FI.js → chunk-K23WMLPY.js} +3 -3
  58. package/dist/{chunk-SRXBOMSR.js → chunk-L5YTS2BP.js} +1 -1
  59. package/dist/{chunk-GTSI6NG6.js → chunk-LD4MWJMD.js} +3 -3
  60. package/dist/{chunk-EGKD4S5H.js → chunk-LIESRXK5.js} +1 -1
  61. package/dist/{chunk-PTNSIGLB.js → chunk-MHQB62K5.js} +2 -2
  62. package/dist/{chunk-AZHTI5JX.js → chunk-MTKV4RUQ.js} +79 -13
  63. package/dist/{chunk-4JM2CK2A.js → chunk-N77BH7H2.js} +9 -3
  64. package/dist/{chunk-DUMZORSL.js → chunk-NECZKPJN.js} +27 -4
  65. package/dist/{chunk-43NXSBNZ.js → chunk-NELH25J7.js} +6 -6
  66. package/dist/{chunk-TQ6AGJVH.js → chunk-NHVEQLQC.js} +1 -1
  67. package/dist/{chunk-YQDZ7ZIL.js → chunk-OML4YFBN.js} +1 -1
  68. package/dist/{chunk-3OLEGCMU.js → chunk-P2546BBI.js} +2 -2
  69. package/dist/{chunk-2YSCVT6Q.js → chunk-Q7OXI6VS.js} +3 -3
  70. package/dist/{chunk-RLADRNPV.js → chunk-QKU46TK5.js} +1 -1
  71. package/dist/{chunk-7DBTOPOT.js → chunk-RH6KR6EH.js} +3 -3
  72. package/dist/{chunk-W26Q2DTD.js → chunk-RL7EOD6I.js} +80 -19
  73. package/dist/{chunk-7YAVKENV.js → chunk-SUIB4O3S.js} +53 -13
  74. package/dist/{chunk-KQBXPGXO.js → chunk-T6RIKJUO.js} +1 -1
  75. package/dist/{chunk-DT5CACWZ.js → chunk-U2L42GVI.js} +4 -4
  76. package/dist/{chunk-VZRCM362.js → chunk-VQPSWD3A.js} +3 -3
  77. package/dist/{chunk-LXRQLDGW.js → chunk-XDCXTDHH.js} +3 -3
  78. package/dist/{chunk-JZDRR7BL.js → chunk-XUW2DRAQ.js} +3 -3
  79. package/dist/{chunk-XQHPHJHR.js → chunk-XZRLFBEA.js} +1 -1
  80. package/dist/{chunk-2QPHUCXU.js → chunk-ZMPR436Z.js} +6 -6
  81. package/dist/{codex-app-cards-switch-ZQRT7MXB.js → codex-app-cards-switch-RENOSSDD.js} +14 -6
  82. package/dist/{codex-desktop-launch-X7UKQ4VR.js → codex-desktop-launch-I2D6QATK.js} +5 -1
  83. package/dist/{codex-session-launch-IX33LOQZ.js → codex-session-launch-KLH2FSSJ.js} +10 -10
  84. package/dist/{global-upgrade-DGP2E2NE.js → global-upgrade-AZN3BPI3.js} +5 -5
  85. package/dist/{identity-YISWVJ2A.js → identity-AQIMUWYN.js} +3 -3
  86. package/dist/{live-capabilities-44KFBOD4.js → live-capabilities-4IIFAMHU.js} +2 -2
  87. package/dist/{paths-VLGX4GJA.js → paths-X4IPV2WJ.js} +2 -2
  88. package/dist/{reapply-35F3WDTB.js → reapply-CXODG53B.js} +18 -15
  89. package/dist/src/index.js +13 -13
  90. package/dist/{upgrade-lock-LMO3DSSU.js → upgrade-lock-AHISGKER.js} +3 -3
  91. package/package.json +1 -1
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-UKX5WIB5.js";
5
- import "../chunk-VZRCM362.js";
4
+ } from "../chunk-IHUFRAHB.js";
5
+ import "../chunk-VQPSWD3A.js";
6
6
  import "../chunk-DWQYCOPI.js";
7
7
  import {
8
8
  activeHookSource,
9
9
  activeIdentity
10
- } from "../chunk-4JM2CK2A.js";
11
- import "../chunk-5CRQCIHR.js";
12
- import "../chunk-2YSCVT6Q.js";
13
- import "../chunk-3ICRY72Q.js";
10
+ } from "../chunk-N77BH7H2.js";
11
+ import "../chunk-BL3WAGIK.js";
12
+ import "../chunk-Q7OXI6VS.js";
13
+ import "../chunk-6C4S3QYD.js";
14
14
  import "../chunk-BUXDR6US.js";
15
- import "../chunk-EGKD4S5H.js";
15
+ import "../chunk-LIESRXK5.js";
16
16
  import "../chunk-GMXKITVA.js";
17
17
  import "../chunk-5463UUO2.js";
18
18
  import "../chunk-GCN73COS.js";
@@ -24,20 +24,20 @@ import {
24
24
  handleStop,
25
25
  handleSubagentStop,
26
26
  isSubagentStop
27
- } from "../chunk-DT5CACWZ.js";
27
+ } from "../chunk-U2L42GVI.js";
28
28
  import "../chunk-3RPN7AAT.js";
29
29
  import "../chunk-JBT3ZSJS.js";
30
- import "../chunk-2QPHUCXU.js";
30
+ import "../chunk-ZMPR436Z.js";
31
+ import "../chunk-P2546BBI.js";
31
32
  import "../chunk-POFBE6ZY.js";
32
- import "../chunk-3OLEGCMU.js";
33
- import "../chunk-SRXBOMSR.js";
34
- import "../chunk-UR7XX2DV.js";
35
- import "../chunk-KQBXPGXO.js";
33
+ import "../chunk-L5YTS2BP.js";
34
+ import "../chunk-EK7SZJ4K.js";
35
+ import "../chunk-T6RIKJUO.js";
36
36
  import "../chunk-7QLSKOSU.js";
37
37
  import "../chunk-KZERVKTD.js";
38
38
  import "../chunk-4QQEUJL4.js";
39
- import "../chunk-YQDZ7ZIL.js";
40
- import "../chunk-JZDRR7BL.js";
39
+ import "../chunk-OML4YFBN.js";
40
+ import "../chunk-XUW2DRAQ.js";
41
41
  import "../chunk-AQFEP65J.js";
42
42
  import "../chunk-CQ5JGRML.js";
43
43
  import "../chunk-MC4VY5LK.js";
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-UKX5WIB5.js";
5
- import "../chunk-VZRCM362.js";
4
+ } from "../chunk-IHUFRAHB.js";
5
+ import "../chunk-VQPSWD3A.js";
6
6
  import "../chunk-DWQYCOPI.js";
7
7
  import {
8
8
  activeHookSource,
9
9
  activeIdentity
10
- } from "../chunk-4JM2CK2A.js";
11
- import "../chunk-5CRQCIHR.js";
12
- import "../chunk-2YSCVT6Q.js";
13
- import "../chunk-3ICRY72Q.js";
10
+ } from "../chunk-N77BH7H2.js";
11
+ import "../chunk-BL3WAGIK.js";
12
+ import "../chunk-Q7OXI6VS.js";
13
+ import "../chunk-6C4S3QYD.js";
14
14
  import "../chunk-BUXDR6US.js";
15
- import "../chunk-EGKD4S5H.js";
15
+ import "../chunk-LIESRXK5.js";
16
16
  import "../chunk-GMXKITVA.js";
17
17
  import "../chunk-5463UUO2.js";
18
18
  import "../chunk-GCN73COS.js";
@@ -22,20 +22,20 @@ import "../chunk-6ICPEJY5.js";
22
22
  import "../chunk-VYBH6D4X.js";
23
23
  import {
24
24
  handleStopFailure
25
- } from "../chunk-DT5CACWZ.js";
25
+ } from "../chunk-U2L42GVI.js";
26
26
  import "../chunk-3RPN7AAT.js";
27
27
  import "../chunk-JBT3ZSJS.js";
28
- import "../chunk-2QPHUCXU.js";
28
+ import "../chunk-ZMPR436Z.js";
29
+ import "../chunk-P2546BBI.js";
29
30
  import "../chunk-POFBE6ZY.js";
30
- import "../chunk-3OLEGCMU.js";
31
- import "../chunk-SRXBOMSR.js";
32
- import "../chunk-UR7XX2DV.js";
33
- import "../chunk-KQBXPGXO.js";
31
+ import "../chunk-L5YTS2BP.js";
32
+ import "../chunk-EK7SZJ4K.js";
33
+ import "../chunk-T6RIKJUO.js";
34
34
  import "../chunk-7QLSKOSU.js";
35
35
  import "../chunk-KZERVKTD.js";
36
36
  import "../chunk-4QQEUJL4.js";
37
- import "../chunk-YQDZ7ZIL.js";
38
- import "../chunk-JZDRR7BL.js";
37
+ import "../chunk-OML4YFBN.js";
38
+ import "../chunk-XUW2DRAQ.js";
39
39
  import "../chunk-AQFEP65J.js";
40
40
  import "../chunk-CQ5JGRML.js";
41
41
  import "../chunk-MC4VY5LK.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  exitOnFailedSettingsRequest
4
- } from "../chunk-VD2OAF7Q.js";
4
+ } from "../chunk-JOWF4Y4P.js";
5
5
  import "../chunk-6SWMKF5E.js";
6
6
  import {
7
7
  createIo
@@ -13,9 +13,9 @@ import {
13
13
  rejectUnknownFlags
14
14
  } from "../chunk-GMXKITVA.js";
15
15
  import "../chunk-VYBH6D4X.js";
16
- import "../chunk-SRXBOMSR.js";
17
- import "../chunk-UR7XX2DV.js";
18
- import "../chunk-KQBXPGXO.js";
16
+ import "../chunk-L5YTS2BP.js";
17
+ import "../chunk-EK7SZJ4K.js";
18
+ import "../chunk-T6RIKJUO.js";
19
19
  import {
20
20
  UsageError
21
21
  } from "../chunk-7QLSKOSU.js";
@@ -23,8 +23,8 @@ import {
23
23
  EXIT
24
24
  } from "../chunk-KZERVKTD.js";
25
25
  import "../chunk-4QQEUJL4.js";
26
- import "../chunk-YQDZ7ZIL.js";
27
- import "../chunk-JZDRR7BL.js";
26
+ import "../chunk-OML4YFBN.js";
27
+ import "../chunk-XUW2DRAQ.js";
28
28
  import "../chunk-AQFEP65J.js";
29
29
  import {
30
30
  getApiKey,
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  registerTranscript
4
- } from "../chunk-VZRCM362.js";
4
+ } from "../chunk-VQPSWD3A.js";
5
5
  import "../chunk-DWQYCOPI.js";
6
- import "../chunk-5CRQCIHR.js";
7
- import "../chunk-2YSCVT6Q.js";
8
- import "../chunk-3ICRY72Q.js";
6
+ import "../chunk-BL3WAGIK.js";
7
+ import "../chunk-Q7OXI6VS.js";
8
+ import "../chunk-6C4S3QYD.js";
9
9
  import "../chunk-BUXDR6US.js";
10
- import "../chunk-EGKD4S5H.js";
10
+ import "../chunk-LIESRXK5.js";
11
11
  import "../chunk-GMXKITVA.js";
12
12
  import "../chunk-5463UUO2.js";
13
13
  import "../chunk-GCN73COS.js";
@@ -16,12 +16,12 @@ import "../chunk-XHKBHWLX.js";
16
16
  import "../chunk-6ICPEJY5.js";
17
17
  import "../chunk-VYBH6D4X.js";
18
18
  import "../chunk-3RPN7AAT.js";
19
- import "../chunk-KQBXPGXO.js";
19
+ import "../chunk-T6RIKJUO.js";
20
20
  import "../chunk-7QLSKOSU.js";
21
21
  import "../chunk-KZERVKTD.js";
22
22
  import "../chunk-4QQEUJL4.js";
23
- import "../chunk-YQDZ7ZIL.js";
24
- import "../chunk-JZDRR7BL.js";
23
+ import "../chunk-OML4YFBN.js";
24
+ import "../chunk-XUW2DRAQ.js";
25
25
  import "../chunk-AQFEP65J.js";
26
26
  import "../chunk-CQ5JGRML.js";
27
27
  import "../chunk-MC4VY5LK.js";
@@ -3,31 +3,40 @@ import {
3
3
  FINISH_UPGRADE_FLAG,
4
4
  finishGlobalUpgrade,
5
5
  finishUpgradeWithLock,
6
+ instructionsLeftNoteOf,
6
7
  readGlobalUpgradeSubject,
8
+ refreshedPartsOf,
7
9
  runAutoUpdate,
8
10
  upgradeFinishExitCode,
9
11
  upgradeFinishOutcome,
10
12
  upgradeInstalledPackage,
13
+ wasRefreshed,
11
14
  withUpgradeLock
12
- } from "../chunk-DUMZORSL.js";
15
+ } from "../chunk-NECZKPJN.js";
13
16
  import {
14
17
  installWithUpgradeLock
15
- } from "../chunk-K3BIMGP4.js";
18
+ } from "../chunk-H57DXSHR.js";
16
19
  import {
17
20
  ensureCodexTrustAfterReapply,
18
21
  reapplyAllAgents
19
- } from "../chunk-W26Q2DTD.js";
22
+ } from "../chunk-RL7EOD6I.js";
20
23
  import {
21
24
  describeCodexTrustConfirmation
22
- } from "../chunk-TQ6AGJVH.js";
25
+ } from "../chunk-NHVEQLQC.js";
23
26
  import {
24
27
  waitForMachineReadiness
25
- } from "../chunk-LXRQLDGW.js";
26
- import "../chunk-6QPRQVQM.js";
28
+ } from "../chunk-XDCXTDHH.js";
29
+ import "../chunk-FCMWUYIE.js";
27
30
  import {
28
31
  readMacAppAgentKey
29
- } from "../chunk-PTNSIGLB.js";
30
- import "../chunk-DT5Y55FI.js";
32
+ } from "../chunk-MHQB62K5.js";
33
+ import {
34
+ fxServerHolder,
35
+ macAppFxBridge,
36
+ retryAgentCommand
37
+ } from "../chunk-MTKV4RUQ.js";
38
+ import "../chunk-46TC24ET.js";
39
+ import "../chunk-K23WMLPY.js";
31
40
  import {
32
41
  exitOnHelpFlag
33
42
  } from "../chunk-S6RNS4UL.js";
@@ -36,7 +45,7 @@ import {
36
45
  expectedLaunchCapabilities,
37
46
  hasSpawnProvider,
38
47
  resolveControlPolicy
39
- } from "../chunk-WVSM3G4C.js";
48
+ } from "../chunk-2LEH5IGX.js";
40
49
  import "../chunk-RIVNNBEK.js";
41
50
  import {
42
51
  AUTO_UPDATE_DISABLE_ENV,
@@ -47,8 +56,8 @@ import {
47
56
  parseAutoUpdateFlag,
48
57
  readAutoUpdateState,
49
58
  updateAutoUpdateState
50
- } from "../chunk-RLADRNPV.js";
51
- import "../chunk-4JM2CK2A.js";
59
+ } from "../chunk-QKU46TK5.js";
60
+ import "../chunk-N77BH7H2.js";
52
61
  import {
53
62
  DAEMON_COLD_START_TIMEOUT_MS,
54
63
  daemonHasRemoteProof,
@@ -60,11 +69,11 @@ import {
60
69
  replaceDaemonService,
61
70
  stopDaemonService,
62
71
  waitForDaemonRemoteProof
63
- } from "../chunk-5CRQCIHR.js";
64
- import "../chunk-2YSCVT6Q.js";
65
- import "../chunk-3ICRY72Q.js";
72
+ } from "../chunk-BL3WAGIK.js";
73
+ import "../chunk-Q7OXI6VS.js";
74
+ import "../chunk-6C4S3QYD.js";
66
75
  import "../chunk-BUXDR6US.js";
67
- import "../chunk-EGKD4S5H.js";
76
+ import "../chunk-LIESRXK5.js";
68
77
  import "../chunk-GMXKITVA.js";
69
78
  import "../chunk-XHKBHWLX.js";
70
79
  import "../chunk-6ICPEJY5.js";
@@ -72,15 +81,15 @@ import {
72
81
  readControlMode,
73
82
  recordMacAppKeyPrefix
74
83
  } from "../chunk-VYBH6D4X.js";
75
- import "../chunk-DT5CACWZ.js";
84
+ import "../chunk-U2L42GVI.js";
76
85
  import "../chunk-3RPN7AAT.js";
77
86
  import "../chunk-JBT3ZSJS.js";
78
- import "../chunk-2QPHUCXU.js";
87
+ import "../chunk-ZMPR436Z.js";
88
+ import "../chunk-P2546BBI.js";
79
89
  import "../chunk-POFBE6ZY.js";
80
- import "../chunk-3OLEGCMU.js";
81
- import "../chunk-SRXBOMSR.js";
82
- import "../chunk-UR7XX2DV.js";
83
- import "../chunk-KQBXPGXO.js";
90
+ import "../chunk-L5YTS2BP.js";
91
+ import "../chunk-EK7SZJ4K.js";
92
+ import "../chunk-T6RIKJUO.js";
84
93
  import "../chunk-7QLSKOSU.js";
85
94
  import {
86
95
  EXIT
@@ -91,13 +100,15 @@ import {
91
100
  claudeJson,
92
101
  codexConfigToml,
93
102
  cursorPluginDir,
103
+ fxMcpProfile,
94
104
  geminiSettings,
105
+ pusharyDir,
95
106
  vscodePluginDir
96
- } from "../chunk-YQDZ7ZIL.js";
107
+ } from "../chunk-OML4YFBN.js";
97
108
  import {
98
109
  LATEST_TAG,
99
110
  fetchLatestPublishedVersion
100
- } from "../chunk-JZDRR7BL.js";
111
+ } from "../chunk-XUW2DRAQ.js";
101
112
  import "../chunk-AQFEP65J.js";
102
113
  import {
103
114
  getApiKey
@@ -117,6 +128,7 @@ import { existsSync } from "fs";
117
128
  import { homedir } from "os";
118
129
  import { join } from "path";
119
130
  exitOnHelpFlag("upgrade");
131
+ var fxWiredByCli = () => fxServerHolder(fxMcpProfile(), macAppFxBridge(pusharyDir())) === "cli";
120
132
  var detectInstallModes = () => {
121
133
  const candidates = [
122
134
  {
@@ -148,6 +160,11 @@ var detectInstallModes = () => {
148
160
  label: "Hermes plugin (pip)",
149
161
  upgrade: `${NPX_LATEST_COMMAND} setup --agents hermes`,
150
162
  present: existsSync(join(homedir(), ".hermes"))
163
+ },
164
+ {
165
+ label: "fx config",
166
+ upgrade: retryAgentCommand("fx"),
167
+ present: fxWiredByCli()
151
168
  }
152
169
  ];
153
170
  return candidates.filter((candidate) => candidate.present).map(({ label, upgrade }) => ({ label, upgrade }));
@@ -163,9 +180,13 @@ var finishUpgrade = async () => {
163
180
  if (macAppKey) recordMacAppKeyPrefix(macAppKey);
164
181
  const inspectedAgents = reapplyAllAgents(apiKey);
165
182
  const codexTrust = await ensureCodexTrustAfterReapply(inspectedAgents);
166
- const refreshed = inspectedAgents.filter((agent) => agent.result.reapplied);
183
+ const refreshed = inspectedAgents.filter(wasRefreshed);
167
184
  const keptForApp = inspectedAgents.filter((agent) => agent.heldBy === "app");
168
185
  const failedRefreshes = inspectedAgents.filter((agent) => agent.result.failed);
186
+ const instructionsLeft = inspectedAgents.flatMap((agent) => {
187
+ const note = instructionsLeftNoteOf(agent);
188
+ return note ? [{ label: agent.label, note }] : [];
189
+ });
169
190
  const configuredControlProviders = inspectedAgents.filter((agent) => agent.result.configured && (agent.id === "claude" || agent.id === "codex" || agent.id === "gemini")).map((agent) => agent.id);
170
191
  const controlMode = readControlMode();
171
192
  const daemonStatus = readDaemonStatus();
@@ -202,10 +223,9 @@ var finishUpgrade = async () => {
202
223
  const finishOutcome = upgradeFinishOutcome({ controlMode, controlPolicy, daemonReady, failedRefreshCount: failedRefreshes.length });
203
224
  console.log();
204
225
  if (refreshed.length > 0) {
205
- console.log("Refreshed so the new hook set is active now:");
226
+ console.log("Refreshed so this version is active now:");
206
227
  for (const agent of refreshed) {
207
- const parts = [agent.result.hooks ? "hooks" : null, agent.result.mcp ? "MCP key" : null].filter(Boolean).join(" + ");
208
- console.log(` ${agent.label.padEnd(14)} ${parts}`);
228
+ console.log(` ${agent.label.padEnd(14)} ${refreshedPartsOf(agent).join(" + ")}`);
209
229
  }
210
230
  if (!apiKey) {
211
231
  console.log();
@@ -219,6 +239,11 @@ var finishUpgrade = async () => {
219
239
  console.log(KEPT_FOR_APP_HEADING);
220
240
  for (const agent of keptForApp) console.log(` ${agent.label}`);
221
241
  }
242
+ if (instructionsLeft.length > 0) {
243
+ console.log();
244
+ console.log(INSTRUCTIONS_LEFT_HEADING);
245
+ for (const left of instructionsLeft) console.log(` ${left.label.padEnd(14)} ${left.note}`);
246
+ }
222
247
  if (codexTrust) {
223
248
  console.log();
224
249
  console.log(describeCodexTrustConfirmation(codexTrust));
@@ -237,6 +262,7 @@ var finishUpgrade = async () => {
237
262
  console.log(controlPolicy === "disabled" ? "Done. Your hooks use the new global install; phone-start remains disabled." : controlPolicy === "unsupported" || controlPolicy === "preserve-absent" ? "Done. Your hooks use the new global install; no background service was added." : "Done. Your hooks and background service use the new global install.");
238
263
  console.log("Verify with: pushary doctor");
239
264
  };
265
+ var INSTRUCTIONS_LEFT_HEADING = "Pushary instructions left as they were. Fix the file, then run pushary upgrade again:";
240
266
  var KEPT_FOR_APP_HEADING = "Kept for the Pushary Mac app, which owns these agents. Nothing in their config was changed:";
241
267
  var AUTO_UPDATE_ON_MESSAGE = "Automatic updates are on. Pushary checks for a new version once a day, when an agent session starts.";
242
268
  var AUTO_UPDATE_OFF_MESSAGE = "Automatic updates are off. Turn them back on with: pushary upgrade --auto=on";
@@ -4,7 +4,7 @@ import {
4
4
  } from "../chunk-CVWG2N3Y.js";
5
5
  import {
6
6
  exitOnFailedSettingsRequest
7
- } from "../chunk-VD2OAF7Q.js";
7
+ } from "../chunk-JOWF4Y4P.js";
8
8
  import "../chunk-6SWMKF5E.js";
9
9
  import {
10
10
  createIo
@@ -16,9 +16,9 @@ import {
16
16
  rejectUnknownFlags
17
17
  } from "../chunk-GMXKITVA.js";
18
18
  import "../chunk-VYBH6D4X.js";
19
- import "../chunk-SRXBOMSR.js";
20
- import "../chunk-UR7XX2DV.js";
21
- import "../chunk-KQBXPGXO.js";
19
+ import "../chunk-L5YTS2BP.js";
20
+ import "../chunk-EK7SZJ4K.js";
21
+ import "../chunk-T6RIKJUO.js";
22
22
  import {
23
23
  UsageError
24
24
  } from "../chunk-7QLSKOSU.js";
@@ -26,8 +26,8 @@ import {
26
26
  EXIT
27
27
  } from "../chunk-KZERVKTD.js";
28
28
  import "../chunk-4QQEUJL4.js";
29
- import "../chunk-YQDZ7ZIL.js";
30
- import "../chunk-JZDRR7BL.js";
29
+ import "../chunk-OML4YFBN.js";
30
+ import "../chunk-XUW2DRAQ.js";
31
31
  import "../chunk-AQFEP65J.js";
32
32
  import {
33
33
  getApiKey,
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  installNetworkDefaults
4
- } from "../chunk-UR7XX2DV.js";
5
- import "../chunk-KQBXPGXO.js";
4
+ } from "../chunk-EK7SZJ4K.js";
5
+ import "../chunk-T6RIKJUO.js";
6
6
  import "../chunk-7QLSKOSU.js";
7
7
  import {
8
8
  EXIT
9
9
  } from "../chunk-KZERVKTD.js";
10
- import "../chunk-YQDZ7ZIL.js";
11
- import "../chunk-JZDRR7BL.js";
10
+ import "../chunk-OML4YFBN.js";
11
+ import "../chunk-XUW2DRAQ.js";
12
12
  import "../chunk-AQFEP65J.js";
13
13
  import "../chunk-CQ5JGRML.js";
14
14
  import {
@@ -10,7 +10,7 @@ import {
10
10
  resolvePackageVersionFromBinary,
11
11
  resolvePathBinary,
12
12
  resolvePathBinaryAsync
13
- } from "./chunk-JZDRR7BL.js";
13
+ } from "./chunk-XUW2DRAQ.js";
14
14
  import {
15
15
  MANAGED_PROVIDERS
16
16
  } from "./chunk-LF3TLC7B.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseSseMessages
3
- } from "./chunk-3OLEGCMU.js";
3
+ } from "./chunk-P2546BBI.js";
4
4
  import {
5
5
  NPX_LATEST_COMMAND
6
6
  } from "./chunk-MC4VY5LK.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-YQDZ7ZIL.js";
3
+ } from "./chunk-OML4YFBN.js";
4
4
  import {
5
5
  readJsonSafe
6
6
  } from "./chunk-AQFEP65J.js";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  compatibleConfigFile,
3
3
  hasCompatibleHooks
4
- } from "./chunk-4JM2CK2A.js";
4
+ } from "./chunk-N77BH7H2.js";
5
5
  import {
6
6
  pusharyHookExecutable
7
- } from "./chunk-2YSCVT6Q.js";
7
+ } from "./chunk-Q7OXI6VS.js";
8
8
  import {
9
9
  isProtectedByScope,
10
10
  registerHookEntry
11
- } from "./chunk-YQDZ7ZIL.js";
11
+ } from "./chunk-OML4YFBN.js";
12
12
  import {
13
13
  isRecord
14
14
  } from "./chunk-LF3TLC7B.js";
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  isProtectedByScope,
11
11
  registerHookEntry
12
- } from "./chunk-YQDZ7ZIL.js";
12
+ } from "./chunk-OML4YFBN.js";
13
13
  import {
14
14
  CLAUDE_PRETOOLUSE_MATCHER,
15
15
  HOOK_BUDGETS,
@@ -377,7 +377,7 @@ var CodexAppCards = class {
377
377
  await Promise.allSettled(outstanding.map((question) => this.cancel(question)));
378
378
  }
379
379
  thePhone() {
380
- this.phone ??= import("./api-PPNFRSJC.js");
380
+ this.phone ??= import("./api-K6ZROHYB.js");
381
381
  return this.phone;
382
382
  }
383
383
  questionShown(message) {
@@ -670,7 +670,8 @@ var engineWhateverTheLayout = async (app) => {
670
670
  return { engine, layoutIsKnown: false };
671
671
  }
672
672
  };
673
- var installedCodexApp = (chosen) => resolve(chosen ?? INSTALLED_CODEX_APPS.find((candidate) => existsSync(join(candidate, CODEX_ENGINE_DIRECTORY, CODEX_ENGINE_MANIFEST))) ?? INSTALLED_CODEX_APPS[1]);
673
+ var codexAppOnThisMac = () => INSTALLED_CODEX_APPS.find((candidate) => existsSync(join(candidate, CODEX_ENGINE_DIRECTORY, CODEX_ENGINE_MANIFEST))) ?? null;
674
+ var installedCodexApp = (chosen) => resolve(chosen ?? codexAppOnThisMac() ?? INSTALLED_CODEX_APPS[1]);
674
675
  var desktopExecutable = (app) => {
675
676
  const plist = join(app, "Contents/Info.plist");
676
677
  const read = (key) => execFileSync("/usr/bin/plutil", ["-extract", key, "raw", plist], { encoding: "utf8" }).trim();
@@ -694,7 +695,7 @@ var codexDesktopCommand = async (args, entry, readAccount) => {
694
695
  return runCodexDesktopProxy(engine2, args.slice(3), readAccount, { watchesForCards: layoutIsKnown });
695
696
  }
696
697
  if (args[0] === APP_CARDS_FLAG) {
697
- const { codexAppCardsCommandOnThisMac } = await import("./codex-app-cards-switch-ZQRT7MXB.js");
698
+ const { codexAppCardsCommandOnThisMac } = await import("./codex-app-cards-switch-RENOSSDD.js");
698
699
  return codexAppCardsCommandOnThisMac(args.slice(1), entry, readAccount);
699
700
  }
700
701
  if (args.length > 2) throw new Error("Usage: pushary codex --desktop [path/to/Codex.app]");
@@ -719,11 +720,13 @@ var codexDesktopCommand = async (args, entry, readAccount) => {
719
720
  export {
720
721
  shellQuoted,
721
722
  desktopEngineFromManifest,
723
+ everyProgramFileIsThere,
722
724
  desktopProxyScript,
723
725
  codexPassThroughScript,
724
726
  codexEngineBehindLauncher,
725
727
  writeDesktopProxy,
726
728
  desktopEngine,
729
+ codexAppOnThisMac,
727
730
  installedCodexApp,
728
731
  codexDesktopCommand
729
732
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-YQDZ7ZIL.js";
3
+ } from "./chunk-OML4YFBN.js";
4
4
  import {
5
5
  readJsonSafe,
6
6
  writeFileAtomic
@@ -7,13 +7,13 @@ import {
7
7
  } from "./chunk-VYBH6D4X.js";
8
8
  import {
9
9
  getMachineId
10
- } from "./chunk-KQBXPGXO.js";
10
+ } from "./chunk-T6RIKJUO.js";
11
11
  import {
12
12
  pusharyDir
13
- } from "./chunk-YQDZ7ZIL.js";
13
+ } from "./chunk-OML4YFBN.js";
14
14
  import {
15
15
  resolveGlobalBinary
16
- } from "./chunk-JZDRR7BL.js";
16
+ } from "./chunk-XUW2DRAQ.js";
17
17
  import {
18
18
  readJsonSafe,
19
19
  writeFileAtomic,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DEFAULT_SESSION
3
- } from "./chunk-DT5CACWZ.js";
3
+ } from "./chunk-U2L42GVI.js";
4
4
 
5
5
  // src/answer.ts
6
6
  var isDeferAnswer = (value) => value === "defer";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readExistingMachineId
3
- } from "./chunk-KQBXPGXO.js";
3
+ } from "./chunk-T6RIKJUO.js";
4
4
  import {
5
5
  NetworkError
6
6
  } from "./chunk-7QLSKOSU.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  openCodeConfigDirFrom
3
- } from "./chunk-DT5Y55FI.js";
3
+ } from "./chunk-K23WMLPY.js";
4
4
  import {
5
5
  grokHome
6
- } from "./chunk-4JM2CK2A.js";
6
+ } from "./chunk-N77BH7H2.js";
7
7
  import {
8
8
  codexHomeFrom
9
- } from "./chunk-YQDZ7ZIL.js";
9
+ } from "./chunk-OML4YFBN.js";
10
10
  import {
11
11
  resolvePathBinary
12
- } from "./chunk-JZDRR7BL.js";
12
+ } from "./chunk-XUW2DRAQ.js";
13
13
  import {
14
14
  HOOK_COMPATIBLE_PROFILES
15
15
  } from "./chunk-LF3TLC7B.js";
@@ -7,10 +7,10 @@ import {
7
7
  codexHome,
8
8
  codexHooksJsonIn,
9
9
  isPusharyCodexCommand
10
- } from "./chunk-YQDZ7ZIL.js";
10
+ } from "./chunk-OML4YFBN.js";
11
11
  import {
12
12
  resolvePathBinary
13
- } from "./chunk-JZDRR7BL.js";
13
+ } from "./chunk-XUW2DRAQ.js";
14
14
  import {
15
15
  getPackageVersion
16
16
  } from "./chunk-QTOLNRET.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  autoUpdateLock
3
- } from "./chunk-YQDZ7ZIL.js";
3
+ } from "./chunk-OML4YFBN.js";
4
4
  import {
5
5
  installPackageGlobally,
6
6
  npmErrorMessage
7
- } from "./chunk-JZDRR7BL.js";
7
+ } from "./chunk-XUW2DRAQ.js";
8
8
  import {
9
9
  writeJsonAtomic
10
10
  } from "./chunk-AQFEP65J.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  registerTranscript
3
- } from "./chunk-VZRCM362.js";
3
+ } from "./chunk-VQPSWD3A.js";
4
4
  import {
5
5
  namedEvent
6
- } from "./chunk-4JM2CK2A.js";
6
+ } from "./chunk-N77BH7H2.js";
7
7
  import {
8
8
  writeDegraded
9
- } from "./chunk-2QPHUCXU.js";
9
+ } from "./chunk-ZMPR436Z.js";
10
10
  import {
11
11
  claudeShapedHookInput,
12
12
  hookCompatibleProfileBySource,
@@ -14,7 +14,7 @@ import {
14
14
  checkApiKey,
15
15
  describeKeyCheck,
16
16
  keyCheckFromResponse
17
- } from "./chunk-SRXBOMSR.js";
17
+ } from "./chunk-L5YTS2BP.js";
18
18
  import {
19
19
  EXIT
20
20
  } from "./chunk-KZERVKTD.js";