pushary 1.8.0 → 1.8.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 (106) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +27 -19
  3. package/data/SKILL.md +8 -8
  4. package/data/cowork/SKILL.md +2 -2
  5. package/data/cursor-plugin/README.md +2 -2
  6. package/data/cursor-plugin/scripts/redaction.mjs +4 -2
  7. package/data/cursor-plugin/skills/pushary/SKILL.md +7 -7
  8. package/data/vscode-plugin/README.md +4 -4
  9. package/data/vscode-plugin/scripts/pushary-gate.mjs +2 -2
  10. package/data/vscode-plugin/scripts/redaction.mjs +4 -2
  11. package/data/vscode-plugin/skills/pushary/SKILL.md +7 -7
  12. package/dist/bin/pushary-bell-hook.js +24 -23
  13. package/dist/bin/pushary-bell.js +9 -9
  14. package/dist/bin/pushary-claude.js +27 -26
  15. package/dist/bin/pushary-clean.js +35 -32
  16. package/dist/bin/pushary-codex-bridge.js +23 -21
  17. package/dist/bin/pushary-codex-hook.js +32 -31
  18. package/dist/bin/pushary-codex.js +13 -13
  19. package/dist/bin/pushary-connect.js +13 -13
  20. package/dist/bin/pushary-cowork.js +5 -5
  21. package/dist/bin/pushary-daemon.js +100 -36
  22. package/dist/bin/pushary-disconnect.js +19 -18
  23. package/dist/bin/pushary-doctor.js +41 -38
  24. package/dist/bin/pushary-elicitation-hook.js +26 -25
  25. package/dist/bin/pushary-gemini-bridge.js +18 -15
  26. package/dist/bin/pushary-gemini-hook.js +29 -28
  27. package/dist/bin/pushary-hook.js +33 -32
  28. package/dist/bin/pushary-login.js +12 -12
  29. package/dist/bin/pushary-logout.js +7 -7
  30. package/dist/bin/pushary-mcp.js +9 -9
  31. package/dist/bin/pushary-mode.js +9 -9
  32. package/dist/bin/pushary-notification-hook.js +29 -28
  33. package/dist/bin/pushary-opencode-hook.js +28 -27
  34. package/dist/bin/pushary-permission-denied-hook.js +33 -32
  35. package/dist/bin/pushary-permission-hook.js +32 -31
  36. package/dist/bin/pushary-post-hook.js +29 -28
  37. package/dist/bin/pushary-prompt-hook.js +29 -28
  38. package/dist/bin/pushary-session-end-hook.js +29 -28
  39. package/dist/bin/pushary-session-start-hook.js +33 -32
  40. package/dist/bin/pushary-setup.js +52 -108
  41. package/dist/bin/pushary-stats.js +5 -5
  42. package/dist/bin/pushary-status.js +17 -15
  43. package/dist/bin/pushary-stop-hook.js +29 -28
  44. package/dist/bin/pushary-stopfailure-hook.js +29 -28
  45. package/dist/bin/pushary-suggestions.js +4 -4
  46. package/dist/bin/pushary-transcript-register.js +20 -19
  47. package/dist/bin/pushary-transcripts.js +7 -7
  48. package/dist/bin/pushary-upgrade.js +29 -27
  49. package/dist/bin/pushary-wait.js +9 -9
  50. package/dist/bin/pushary.js +6 -6
  51. package/dist/{chunk-2OY3ZZ5N.js → chunk-2SLCHCVN.js} +3 -3
  52. package/dist/{chunk-E4FJTUH4.js → chunk-35X5UDML.js} +7 -7
  53. package/dist/{chunk-LXQ5FBBD.js → chunk-4A3UQERT.js} +1 -1
  54. package/dist/{chunk-CJVVKOSR.js → chunk-5DGNEUXK.js} +2 -2
  55. package/dist/{chunk-DB3ONZB4.js → chunk-5Y2DY6X4.js} +2 -2
  56. package/dist/{chunk-NQTHFF4W.js → chunk-5YY3IJT4.js} +21 -19
  57. package/dist/{chunk-AXPCESYO.js → chunk-644AEX4T.js} +3 -3
  58. package/dist/{chunk-UI36QSBI.js → chunk-64H5IZZD.js} +2 -2
  59. package/dist/chunk-6ICPEJY5.js +20 -0
  60. package/dist/{chunk-OLQRRFBX.js → chunk-72WOCX22.js} +1 -1
  61. package/dist/{chunk-JU6W3XAU.js → chunk-7ITOAMCD.js} +1 -1
  62. package/dist/{chunk-JYG4B33G.js → chunk-7U7ZWUTR.js} +1 -1
  63. package/dist/{chunk-VQKRG3AC.js → chunk-B3UVRGYP.js} +11 -9
  64. package/dist/{chunk-KVQBWI5T.js → chunk-BDMC5H5L.js} +2 -2
  65. package/dist/{chunk-HZVVNGEW.js → chunk-CB23AO4D.js} +2 -2
  66. package/dist/{chunk-D2FX3EPW.js → chunk-CHMOVJ2M.js} +1 -1
  67. package/dist/{chunk-ZVSKMPBZ.js → chunk-DLEKCAQL.js} +1 -1
  68. package/dist/{chunk-JZTHGAPA.js → chunk-DUA5O6X5.js} +8 -8
  69. package/dist/{chunk-2ABTSGFT.js → chunk-DVW2MYCM.js} +3 -3
  70. package/dist/{chunk-TY4JT7W3.js → chunk-DXBS2EL7.js} +1 -1
  71. package/dist/{chunk-KGDWDSNL.js → chunk-EESPY5DG.js} +2 -2
  72. package/dist/{chunk-WE2J62NC.js → chunk-EIGJYCOE.js} +5 -5
  73. package/dist/{chunk-CULUZTWQ.js → chunk-F6NTWZZC.js} +9 -9
  74. package/dist/{chunk-IPVKH2ST.js → chunk-HMNR7B2F.js} +1 -1
  75. package/dist/{chunk-OKXS7WDZ.js → chunk-HOEB6AKG.js} +1 -1
  76. package/dist/{chunk-R7437YI3.js → chunk-HVDMGDYV.js} +2 -2
  77. package/dist/{chunk-DE4Y6TCC.js → chunk-I3XLHSOC.js} +8 -7
  78. package/dist/{chunk-M5ICYGHT.js → chunk-I4HKMUZQ.js} +3 -3
  79. package/dist/{chunk-M5JDZ45W.js → chunk-INSMZNS7.js} +5 -5
  80. package/dist/{chunk-CVQYGMSR.js → chunk-KB2FTO4O.js} +4 -4
  81. package/dist/{chunk-MDEPU45E.js → chunk-LK2S5XIV.js} +6 -6
  82. package/dist/{chunk-NGDD6TXY.js → chunk-MMVCI6DT.js} +5 -5
  83. package/dist/{chunk-J5TIV3J6.js → chunk-MOTNSXC3.js} +5 -5
  84. package/dist/{chunk-C2WCPBF7.js → chunk-MYHG7PX2.js} +1 -1
  85. package/dist/{chunk-7Z7Q4GGS.js → chunk-N6JJJTPH.js} +6 -3
  86. package/dist/{chunk-EX3GAPA4.js → chunk-NHCUXTEM.js} +1 -1
  87. package/dist/{chunk-Q7E4I6UA.js → chunk-NNWQ5VDB.js} +13 -10
  88. package/dist/{chunk-AHV4LNB5.js → chunk-NOLPURUI.js} +1 -1
  89. package/dist/{chunk-GPEGOGRJ.js → chunk-ON5JW2HP.js} +1 -1
  90. package/dist/{chunk-SIFVFP6T.js → chunk-RIVNNBEK.js} +2 -1
  91. package/dist/{chunk-3EVPNIBE.js → chunk-S2UNQQQS.js} +7 -20
  92. package/dist/{chunk-SLFABHW3.js → chunk-T55H6YEP.js} +2 -2
  93. package/dist/{chunk-P7WQEVWA.js → chunk-TJMAXQ5Q.js} +2 -2
  94. package/dist/{chunk-SAXBC4AZ.js → chunk-UMMCHS6P.js} +1 -1
  95. package/dist/{chunk-A2A2YTMG.js → chunk-UPLV5AJF.js} +1 -1
  96. package/dist/{chunk-MPWXGONV.js → chunk-URNXU3FO.js} +1 -1
  97. package/dist/{chunk-EPCXUP3P.js → chunk-VFFHQC7W.js} +1 -1
  98. package/dist/{chunk-RHR6NARM.js → chunk-W2LJ4O3A.js} +2 -2
  99. package/dist/{chunk-6J2JC2RT.js → chunk-XEGVVU5H.js} +3 -3
  100. package/dist/chunk-XQZEIWAV.js +150 -0
  101. package/dist/{chunk-EYK3GSRH.js → chunk-YNCGXHM4.js} +4 -4
  102. package/dist/{chunk-ZSZSSJCV.js → chunk-ZJYJAD52.js} +1 -1
  103. package/dist/{reapply-CW3MA66V.js → reapply-3UERAKQN.js} +10 -9
  104. package/dist/src/index.js +21 -20
  105. package/package.json +1 -1
  106. package/dist/chunk-HQ6G3B5R.js +0 -59
@@ -2,35 +2,32 @@
2
2
  import {
3
3
  codexTrustOutcome,
4
4
  describeCodexTrustConfirmation
5
- } from "../chunk-TY4JT7W3.js";
5
+ } from "../chunk-DXBS2EL7.js";
6
6
  import {
7
7
  runBrowserLogin
8
- } from "../chunk-JYG4B33G.js";
8
+ } from "../chunk-7U7ZWUTR.js";
9
9
  import {
10
10
  coworkOutput,
11
11
  coworkSelection
12
- } from "../chunk-7Z7Q4GGS.js";
12
+ } from "../chunk-N6JJJTPH.js";
13
13
  import "../chunk-PUZZELE6.js";
14
- import {
15
- detectClaudeVersion
16
- } from "../chunk-SIFVFP6T.js";
17
14
  import {
18
15
  describeVersionManagerPin,
19
16
  versionManagerOf
20
17
  } from "../chunk-GU3EJCVV.js";
21
18
  import {
22
19
  ensureCodexTrustsPusharyHooks
23
- } from "../chunk-RHR6NARM.js";
20
+ } from "../chunk-W2LJ4O3A.js";
24
21
  import {
25
22
  readManagedControlEvidence,
26
23
  waitForMachineReadiness
27
- } from "../chunk-DE4Y6TCC.js";
24
+ } from "../chunk-I3XLHSOC.js";
28
25
  import {
29
26
  describeSetupSideEffects,
30
27
  installAgentSkill,
31
28
  installSkillViaSkillsCli,
32
29
  registerCursorGate
33
- } from "../chunk-KVQBWI5T.js";
30
+ } from "../chunk-BDMC5H5L.js";
34
31
  import {
35
32
  AgentConfigError,
36
33
  FX_PUSHARY_TOOLS_RULE,
@@ -65,10 +62,10 @@ import {
65
62
  withFxPusharyServer,
66
63
  writeFxProfile,
67
64
  writeInstructionBlock
68
- } from "../chunk-MDEPU45E.js";
65
+ } from "../chunk-LK2S5XIV.js";
69
66
  import {
70
67
  MCP_BRIDGE_BINARY
71
- } from "../chunk-SLFABHW3.js";
68
+ } from "../chunk-T55H6YEP.js";
72
69
  import {
73
70
  OPENCODE_HOOK_BINARY,
74
71
  addOpenCodeMcpServer,
@@ -79,7 +76,7 @@ import {
79
76
  openCodePluginDir,
80
77
  openCodePluginFile,
81
78
  openCodeWired
82
- } from "../chunk-AHV4LNB5.js";
79
+ } from "../chunk-NOLPURUI.js";
83
80
  import {
84
81
  addCompatibleHooks,
85
82
  addCompatibleMcpServer,
@@ -90,7 +87,7 @@ import {
90
87
  compatibleMcpFile,
91
88
  compatiblePermissionRuleFile,
92
89
  hasCompatibleHooks
93
- } from "../chunk-J5TIV3J6.js";
90
+ } from "../chunk-MOTNSXC3.js";
94
91
  import {
95
92
  addClaudeMcpServer,
96
93
  addPusharyHooks,
@@ -98,16 +95,22 @@ import {
98
95
  captureClaudeMcpServer,
99
96
  isClaudeMcpSnapshot,
100
97
  updateClaudeMcpSnapshot
101
- } from "../chunk-AXPCESYO.js";
98
+ } from "../chunk-644AEX4T.js";
102
99
  import {
100
+ checkCodexInstall,
103
101
  detectProviderLiveCapabilities,
102
+ expectedLaunchCapabilities,
104
103
  hasSpawnProvider,
104
+ nodeCodexInstallProbe,
105
105
  resolveControlPolicy
106
- } from "../chunk-HQ6G3B5R.js";
106
+ } from "../chunk-XQZEIWAV.js";
107
+ import {
108
+ detectClaudeVersion
109
+ } from "../chunk-RIVNNBEK.js";
107
110
  import {
108
111
  describeAutoUpdateAnnouncement,
109
112
  takeAutoUpdateAnnouncement
110
- } from "../chunk-UI36QSBI.js";
113
+ } from "../chunk-64H5IZZD.js";
111
114
  import {
112
115
  KEEP_HINT,
113
116
  captureHookTakeover,
@@ -117,23 +120,23 @@ import {
117
120
  hookOwnerOf,
118
121
  mcpBearerKey,
119
122
  planHooks
120
- } from "../chunk-EYK3GSRH.js";
123
+ } from "../chunk-YNCGXHM4.js";
121
124
  import {
122
125
  AGENT_CHOICES,
123
126
  effectiveControlMode,
124
127
  effectiveVerify,
125
128
  parseSetupOptions
126
- } from "../chunk-ZVSKMPBZ.js";
129
+ } from "../chunk-DLEKCAQL.js";
127
130
  import {
128
131
  liveBridgeProbe,
129
132
  resolveBridgeStub
130
- } from "../chunk-C2WCPBF7.js";
133
+ } from "../chunk-MYHG7PX2.js";
131
134
  import {
132
135
  claudeWired,
133
136
  codexWired,
134
137
  geminiWired,
135
138
  pusharyHookExecutable
136
- } from "../chunk-6J2JC2RT.js";
139
+ } from "../chunk-XEGVVU5H.js";
137
140
  import {
138
141
  clearDaemonNeedsLogin,
139
142
  daemonHasRemoteProof,
@@ -146,26 +149,28 @@ import {
146
149
  replaceDaemonService,
147
150
  stopDaemonService,
148
151
  waitForDaemonRemoteProof
149
- } from "../chunk-WE2J62NC.js";
152
+ } from "../chunk-EIGJYCOE.js";
150
153
  import {
151
154
  GEMINI_HOOK_BINARY,
152
155
  addGeminiHooks,
153
- addGeminiMcpServer,
154
- compareVersion,
155
- parseVersion
156
- } from "../chunk-3EVPNIBE.js";
157
- import "../chunk-OKXS7WDZ.js";
156
+ addGeminiMcpServer
157
+ } from "../chunk-S2UNQQQS.js";
158
+ import "../chunk-HOEB6AKG.js";
158
159
  import {
159
160
  transcriptPreferenceForSetup
160
- } from "../chunk-OLQRRFBX.js";
161
+ } from "../chunk-72WOCX22.js";
161
162
  import "../chunk-XHKBHWLX.js";
163
+ import {
164
+ compareVersion,
165
+ parseVersion
166
+ } from "../chunk-6ICPEJY5.js";
162
167
  import {
163
168
  reportEvent
164
- } from "../chunk-CULUZTWQ.js";
169
+ } from "../chunk-F6NTWZZC.js";
165
170
  import "../chunk-N6IOSZOE.js";
166
- import "../chunk-EPCXUP3P.js";
167
- import "../chunk-NGDD6TXY.js";
168
- import "../chunk-CVQYGMSR.js";
171
+ import "../chunk-VFFHQC7W.js";
172
+ import "../chunk-MMVCI6DT.js";
173
+ import "../chunk-KB2FTO4O.js";
169
174
  import "../chunk-POFBE6ZY.js";
170
175
  import {
171
176
  BROWSER_CONNECT_COMMAND,
@@ -177,7 +182,7 @@ import {
177
182
  printConnectInstructions,
178
183
  roundTripEvidence,
179
184
  verifyRoundTrip
180
- } from "../chunk-M5JDZ45W.js";
185
+ } from "../chunk-INSMZNS7.js";
181
186
  import "../chunk-3EGEA4KH.js";
182
187
  import {
183
188
  setHumanStream
@@ -198,22 +203,22 @@ import {
198
203
  readKeySource,
199
204
  resolveShellRc,
200
205
  writeKey
201
- } from "../chunk-P7WQEVWA.js";
202
- import "../chunk-M5ICYGHT.js";
206
+ } from "../chunk-TJMAXQ5Q.js";
207
+ import "../chunk-I4HKMUZQ.js";
203
208
  import {
204
209
  checkApiKey,
205
210
  describeKeyCheck,
206
211
  samePusharyAccount
207
- } from "../chunk-2ABTSGFT.js";
208
- import "../chunk-2OY3ZZ5N.js";
209
- import "../chunk-LXQ5FBBD.js";
212
+ } from "../chunk-DVW2MYCM.js";
213
+ import "../chunk-2SLCHCVN.js";
214
+ import "../chunk-4A3UQERT.js";
210
215
  import {
211
216
  UsageError
212
217
  } from "../chunk-7QLSKOSU.js";
213
218
  import {
214
219
  EXIT
215
220
  } from "../chunk-KZERVKTD.js";
216
- import "../chunk-DB3ONZB4.js";
221
+ import "../chunk-5Y2DY6X4.js";
217
222
  import {
218
223
  NpmMissingError,
219
224
  addCodexHookTrust,
@@ -258,18 +263,18 @@ import {
258
263
  resolveGlobalBinary,
259
264
  vscodePluginDir,
260
265
  vscodePluginMcp
261
- } from "../chunk-A2A2YTMG.js";
266
+ } from "../chunk-UPLV5AJF.js";
262
267
  import {
263
268
  backupFile,
264
269
  readJsonSafe,
265
270
  writeFileAtomic,
266
271
  writeJsonAtomic
267
272
  } from "../chunk-T7E75EKA.js";
268
- import "../chunk-GPEGOGRJ.js";
273
+ import "../chunk-ON5JW2HP.js";
269
274
  import {
270
275
  NPX_LATEST_COMMAND,
271
276
  renderCommandHelp
272
- } from "../chunk-E4FJTUH4.js";
277
+ } from "../chunk-35X5UDML.js";
273
278
  import {
274
279
  HOOK_COMPATIBLE_PROFILES,
275
280
  HOOK_LOCATOR_BINARY,
@@ -282,10 +287,10 @@ import {
282
287
  isValidApiKey,
283
288
  launchedPackage,
284
289
  ownPackageName
285
- } from "../chunk-NQTHFF4W.js";
290
+ } from "../chunk-5YY3IJT4.js";
286
291
 
287
292
  // bin/pushary-setup.ts
288
- import { existsSync, readFileSync, writeFileSync, mkdirSync, cpSync, rmSync, renameSync, realpathSync, readdirSync, statSync, openSync, readSync, closeSync } from "fs";
293
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, cpSync, rmSync, renameSync, realpathSync, statSync, openSync, readSync, closeSync } from "fs";
289
294
  import { join as join3, dirname as dirname2, basename } from "path";
290
295
  import { homedir } from "os";
291
296
  import { execSync } from "child_process";
@@ -505,46 +510,6 @@ var readCodexVersion = (probe) => {
505
510
  return bundled ? parseCodexVersion(bundled) : null;
506
511
  };
507
512
 
508
- // src/setup/codex-install.ts
509
- var NATIVE_BINARY_MIN_BYTES = 20 * 1024 * 1024;
510
- var packageRootFor = (probe, binPath) => {
511
- let dir = probe.dirname(binPath);
512
- for (let depth = 0; depth < 4; depth++) {
513
- if (probe.exists(probe.join(dir, "package.json"))) return dir;
514
- const parent = probe.dirname(dir);
515
- if (parent === dir) return null;
516
- dir = parent;
517
- }
518
- return null;
519
- };
520
- var holdsNativeBinary = (probe, dir, depth = 0) => {
521
- if (depth > 4) return false;
522
- const entries = probe.listDir(dir);
523
- if (!entries) return false;
524
- return entries.some((entry) => {
525
- const path = probe.join(dir, entry);
526
- const size = probe.fileSize(path);
527
- if (size !== null) return size >= NATIVE_BINARY_MIN_BYTES;
528
- return holdsNativeBinary(probe, path, depth + 1);
529
- });
530
- };
531
- var platformPackages = (probe, packageRoot) => {
532
- const scopes = [probe.join(packageRoot, "node_modules", "@openai"), probe.dirname(packageRoot)];
533
- return scopes.flatMap(
534
- (scope) => (probe.listDir(scope) ?? []).filter((entry) => entry.startsWith("codex-")).map((entry) => probe.join(scope, entry))
535
- );
536
- };
537
- var checkCodexInstall = (probe) => {
538
- const onPath = probe.resolveOnPath();
539
- if (!onPath) return { kind: "unknown" };
540
- const packageRoot = packageRootFor(probe, probe.realpath(onPath) ?? onPath);
541
- if (!packageRoot) return { kind: "unknown" };
542
- const vendors = platformPackages(probe, packageRoot).map((pkg) => probe.join(pkg, "vendor")).filter((vendor) => probe.exists(vendor));
543
- if (vendors.length === 0) return { kind: "unknown" };
544
- if (vendors.some((vendor) => holdsNativeBinary(probe, vendor))) return { kind: "ok" };
545
- return { kind: "binary-missing", vendorDir: vendors[0] };
546
- };
547
-
548
513
  // src/setup/codex-bundled.ts
549
514
  import { join as join2 } from "path";
550
515
  var asRecord = (value) => value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
@@ -1027,28 +992,7 @@ var detectCodexVersion = () => readCodexVersion({
1027
992
  }
1028
993
  }
1029
994
  });
1030
- var detectCodexInstall = () => checkCodexInstall({
1031
- resolveOnPath: codexOnPath,
1032
- realpath: codexRealpath,
1033
- exists: existsSync,
1034
- listDir: (path) => {
1035
- try {
1036
- return readdirSync(path);
1037
- } catch {
1038
- return null;
1039
- }
1040
- },
1041
- fileSize: (path) => {
1042
- try {
1043
- const stat = statSync(path);
1044
- return stat.isFile() ? stat.size : null;
1045
- } catch {
1046
- return null;
1047
- }
1048
- },
1049
- join: join3,
1050
- dirname: dirname2
1051
- });
995
+ var detectCodexInstall = () => checkCodexInstall(nodeCodexInstallProbe(codexOnPath));
1052
996
  var codexSupportsHooks = (version) => version !== null && compareCodexVersion(version, CODEX_HOOKS_MIN_VERSION) >= 0;
1053
997
  var removeCodexNotifyEntry = (codexConfig) => {
1054
998
  let raw = "";
@@ -2332,7 +2276,7 @@ var main = async () => {
2332
2276
  const failure = describedAgentFailure(agent, "not-wired");
2333
2277
  failures.push(failure);
2334
2278
  console.log(` ${yellow("!")} ${AGENT_NAMES[agent]} ${failure.detail}`);
2335
- console.log(` ${dim("Re-run setup, then")} ${cyan("npx @pushary/agent-hooks@latest doctor")} ${dim("to see what is missing.")}`);
2279
+ console.log(` ${dim("Re-run setup, then")} ${cyan(`${NPX_LATEST_COMMAND} doctor`)} ${dim("to see what is missing.")}`);
2336
2280
  }
2337
2281
  } catch (err) {
2338
2282
  const failure = agentFailureFromError(agent, err, formatError);
@@ -2352,7 +2296,7 @@ var main = async () => {
2352
2296
  console.log(` ${yellow("!")} Failed: ${failedAgentNames(failures).join(", ")}${configured ? ` ${dim(configured)}` : ""}`);
2353
2297
  for (const followUp of agentFailureFollowUps(failures)) {
2354
2298
  if (followUp === "install-node") console.log(` ${INSTALL_NODE_STEP}`);
2355
- else console.log(` ${dim("Run")} npx @pushary/agent-hooks@latest doctor ${dim("for the reason, or send it to")} ${SUPPORT_EMAIL}`);
2299
+ else console.log(` ${dim("Run")} ${NPX_LATEST_COMMAND} doctor ${dim("for the reason, or send it to")} ${SUPPORT_EMAIL}`);
2356
2300
  }
2357
2301
  }
2358
2302
  markStep("project-instructions");
@@ -2552,7 +2496,7 @@ var main = async () => {
2552
2496
  }
2553
2497
  })() : controlMode === "on" || controlPolicy === "legacy" ? { kind: "unavailable", detail: "Managed control is required but no usable provider/service-manager pair is available" } : null;
2554
2498
  const localControlProof = daemon?.kind === "running" || daemon?.kind === "started" ? await waitForDaemonRemoteProof() : null;
2555
- const serverControlProof = localControlProof && daemonHasRemoteProof(localControlProof) ? await waitForMachineReadiness(trimmedKey, ["spawn", ...controlCapabilities]) : null;
2499
+ const serverControlProof = localControlProof && daemonHasRemoteProof(localControlProof) ? await waitForMachineReadiness(trimmedKey, expectedLaunchCapabilities(configuredControlProviders)) : null;
2556
2500
  const daemonReady = daemon === null ? null : localControlProof !== null && daemonHasRemoteProof(localControlProof) && (serverControlProof?.kind === "ready" || serverControlProof?.kind === "unsupported");
2557
2501
  if (serverControlProof?.kind === "unsupported") {
2558
2502
  console.log(` ${yellow("!")} This server predates control-readiness reporting; local heartbeat and queue checks passed.`);
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readLedgerSummary
4
- } from "../chunk-JU6W3XAU.js";
4
+ } from "../chunk-7ITOAMCD.js";
5
5
  import {
6
6
  exitOnHelpFlag
7
- } from "../chunk-HZVVNGEW.js";
7
+ } from "../chunk-CB23AO4D.js";
8
8
  import "../chunk-KZERVKTD.js";
9
9
  import {
10
10
  getApiKey
11
- } from "../chunk-GPEGOGRJ.js";
12
- import "../chunk-E4FJTUH4.js";
13
- import "../chunk-NQTHFF4W.js";
11
+ } from "../chunk-ON5JW2HP.js";
12
+ import "../chunk-35X5UDML.js";
13
+ import "../chunk-5YY3IJT4.js";
14
14
 
15
15
  // bin/pushary-stats.ts
16
16
  exitOnHelpFlag("stats");
@@ -2,15 +2,17 @@
2
2
  import {
3
3
  describeLastSeen,
4
4
  listMachines
5
- } from "../chunk-DE4Y6TCC.js";
6
- import "../chunk-HQ6G3B5R.js";
7
- import "../chunk-WE2J62NC.js";
5
+ } from "../chunk-I3XLHSOC.js";
6
+ import "../chunk-XQZEIWAV.js";
7
+ import "../chunk-RIVNNBEK.js";
8
+ import "../chunk-EIGJYCOE.js";
8
9
  import "../chunk-XHKBHWLX.js";
10
+ import "../chunk-6ICPEJY5.js";
9
11
  import {
10
12
  describeReach,
11
13
  fetchChannels,
12
14
  reachVerdict
13
- } from "../chunk-M5JDZ45W.js";
15
+ } from "../chunk-INSMZNS7.js";
14
16
  import "../chunk-3EGEA4KH.js";
15
17
  import "../chunk-QCGNGEGE.js";
16
18
  import {
@@ -18,32 +20,32 @@ import {
18
20
  } from "../chunk-U4TMAANR.js";
19
21
  import {
20
22
  exitOnHelpFlag
21
- } from "../chunk-HZVVNGEW.js";
23
+ } from "../chunk-CB23AO4D.js";
22
24
  import {
23
25
  rejectUnknownFlags
24
26
  } from "../chunk-GMXKITVA.js";
25
27
  import {
26
28
  readKeySource
27
- } from "../chunk-P7WQEVWA.js";
28
- import "../chunk-M5ICYGHT.js";
29
+ } from "../chunk-TJMAXQ5Q.js";
30
+ import "../chunk-I4HKMUZQ.js";
29
31
  import {
30
32
  checkApiKey,
31
33
  describeKeyCheck
32
- } from "../chunk-2ABTSGFT.js";
33
- import "../chunk-2OY3ZZ5N.js";
34
- import "../chunk-LXQ5FBBD.js";
34
+ } from "../chunk-DVW2MYCM.js";
35
+ import "../chunk-2SLCHCVN.js";
36
+ import "../chunk-4A3UQERT.js";
35
37
  import {
36
38
  UsageError
37
39
  } from "../chunk-7QLSKOSU.js";
38
40
  import {
39
41
  EXIT
40
42
  } from "../chunk-KZERVKTD.js";
41
- import "../chunk-DB3ONZB4.js";
42
- import "../chunk-A2A2YTMG.js";
43
+ import "../chunk-5Y2DY6X4.js";
44
+ import "../chunk-UPLV5AJF.js";
43
45
  import "../chunk-T7E75EKA.js";
44
- import "../chunk-GPEGOGRJ.js";
45
- import "../chunk-E4FJTUH4.js";
46
- import "../chunk-NQTHFF4W.js";
46
+ import "../chunk-ON5JW2HP.js";
47
+ import "../chunk-35X5UDML.js";
48
+ import "../chunk-5YY3IJT4.js";
47
49
 
48
50
  // src/status.ts
49
51
  var keySourceLine = (source) => {
@@ -2,48 +2,49 @@
2
2
  import {
3
3
  activeHookSource,
4
4
  activeIdentity
5
- } from "../chunk-J5TIV3J6.js";
6
- import "../chunk-AXPCESYO.js";
5
+ } from "../chunk-MOTNSXC3.js";
6
+ import "../chunk-644AEX4T.js";
7
7
  import {
8
8
  readHookInput
9
- } from "../chunk-KGDWDSNL.js";
10
- import "../chunk-JZTHGAPA.js";
9
+ } from "../chunk-EESPY5DG.js";
10
+ import "../chunk-DUA5O6X5.js";
11
11
  import "../chunk-SGZJ5LYH.js";
12
- import "../chunk-EYK3GSRH.js";
13
- import "../chunk-ZVSKMPBZ.js";
14
- import "../chunk-C2WCPBF7.js";
15
- import "../chunk-6J2JC2RT.js";
16
- import "../chunk-WE2J62NC.js";
17
- import "../chunk-3EVPNIBE.js";
18
- import "../chunk-OKXS7WDZ.js";
19
- import "../chunk-MPWXGONV.js";
20
- import "../chunk-SAXBC4AZ.js";
21
- import "../chunk-OLQRRFBX.js";
12
+ import "../chunk-YNCGXHM4.js";
13
+ import "../chunk-DLEKCAQL.js";
14
+ import "../chunk-MYHG7PX2.js";
15
+ import "../chunk-XEGVVU5H.js";
16
+ import "../chunk-EIGJYCOE.js";
17
+ import "../chunk-S2UNQQQS.js";
18
+ import "../chunk-HOEB6AKG.js";
19
+ import "../chunk-URNXU3FO.js";
20
+ import "../chunk-UMMCHS6P.js";
21
+ import "../chunk-72WOCX22.js";
22
22
  import "../chunk-XHKBHWLX.js";
23
+ import "../chunk-6ICPEJY5.js";
23
24
  import {
24
25
  handleStop,
25
26
  handleSubagentStop,
26
27
  isSubagentStop
27
- } from "../chunk-CULUZTWQ.js";
28
+ } from "../chunk-F6NTWZZC.js";
28
29
  import "../chunk-N6IOSZOE.js";
29
- import "../chunk-EPCXUP3P.js";
30
- import "../chunk-NGDD6TXY.js";
31
- import "../chunk-CVQYGMSR.js";
30
+ import "../chunk-VFFHQC7W.js";
31
+ import "../chunk-MMVCI6DT.js";
32
+ import "../chunk-KB2FTO4O.js";
32
33
  import "../chunk-POFBE6ZY.js";
33
34
  import "../chunk-GMXKITVA.js";
34
- import "../chunk-P7WQEVWA.js";
35
- import "../chunk-M5ICYGHT.js";
36
- import "../chunk-2ABTSGFT.js";
37
- import "../chunk-2OY3ZZ5N.js";
38
- import "../chunk-LXQ5FBBD.js";
35
+ import "../chunk-TJMAXQ5Q.js";
36
+ import "../chunk-I4HKMUZQ.js";
37
+ import "../chunk-DVW2MYCM.js";
38
+ import "../chunk-2SLCHCVN.js";
39
+ import "../chunk-4A3UQERT.js";
39
40
  import "../chunk-7QLSKOSU.js";
40
41
  import "../chunk-KZERVKTD.js";
41
- import "../chunk-DB3ONZB4.js";
42
- import "../chunk-A2A2YTMG.js";
42
+ import "../chunk-5Y2DY6X4.js";
43
+ import "../chunk-UPLV5AJF.js";
43
44
  import "../chunk-T7E75EKA.js";
44
- import "../chunk-GPEGOGRJ.js";
45
- import "../chunk-E4FJTUH4.js";
46
- import "../chunk-NQTHFF4W.js";
45
+ import "../chunk-ON5JW2HP.js";
46
+ import "../chunk-35X5UDML.js";
47
+ import "../chunk-5YY3IJT4.js";
47
48
 
48
49
  // bin/pushary-stop-hook.ts
49
50
  var AGENT = activeIdentity(process.argv);
@@ -2,46 +2,47 @@
2
2
  import {
3
3
  activeHookSource,
4
4
  activeIdentity
5
- } from "../chunk-J5TIV3J6.js";
6
- import "../chunk-AXPCESYO.js";
5
+ } from "../chunk-MOTNSXC3.js";
6
+ import "../chunk-644AEX4T.js";
7
7
  import {
8
8
  readHookInput
9
- } from "../chunk-KGDWDSNL.js";
10
- import "../chunk-JZTHGAPA.js";
9
+ } from "../chunk-EESPY5DG.js";
10
+ import "../chunk-DUA5O6X5.js";
11
11
  import "../chunk-SGZJ5LYH.js";
12
- import "../chunk-EYK3GSRH.js";
13
- import "../chunk-ZVSKMPBZ.js";
14
- import "../chunk-C2WCPBF7.js";
15
- import "../chunk-6J2JC2RT.js";
16
- import "../chunk-WE2J62NC.js";
17
- import "../chunk-3EVPNIBE.js";
18
- import "../chunk-OKXS7WDZ.js";
19
- import "../chunk-MPWXGONV.js";
20
- import "../chunk-SAXBC4AZ.js";
21
- import "../chunk-OLQRRFBX.js";
12
+ import "../chunk-YNCGXHM4.js";
13
+ import "../chunk-DLEKCAQL.js";
14
+ import "../chunk-MYHG7PX2.js";
15
+ import "../chunk-XEGVVU5H.js";
16
+ import "../chunk-EIGJYCOE.js";
17
+ import "../chunk-S2UNQQQS.js";
18
+ import "../chunk-HOEB6AKG.js";
19
+ import "../chunk-URNXU3FO.js";
20
+ import "../chunk-UMMCHS6P.js";
21
+ import "../chunk-72WOCX22.js";
22
22
  import "../chunk-XHKBHWLX.js";
23
+ import "../chunk-6ICPEJY5.js";
23
24
  import {
24
25
  handleStopFailure
25
- } from "../chunk-CULUZTWQ.js";
26
+ } from "../chunk-F6NTWZZC.js";
26
27
  import "../chunk-N6IOSZOE.js";
27
- import "../chunk-EPCXUP3P.js";
28
- import "../chunk-NGDD6TXY.js";
29
- import "../chunk-CVQYGMSR.js";
28
+ import "../chunk-VFFHQC7W.js";
29
+ import "../chunk-MMVCI6DT.js";
30
+ import "../chunk-KB2FTO4O.js";
30
31
  import "../chunk-POFBE6ZY.js";
31
32
  import "../chunk-GMXKITVA.js";
32
- import "../chunk-P7WQEVWA.js";
33
- import "../chunk-M5ICYGHT.js";
34
- import "../chunk-2ABTSGFT.js";
35
- import "../chunk-2OY3ZZ5N.js";
36
- import "../chunk-LXQ5FBBD.js";
33
+ import "../chunk-TJMAXQ5Q.js";
34
+ import "../chunk-I4HKMUZQ.js";
35
+ import "../chunk-DVW2MYCM.js";
36
+ import "../chunk-2SLCHCVN.js";
37
+ import "../chunk-4A3UQERT.js";
37
38
  import "../chunk-7QLSKOSU.js";
38
39
  import "../chunk-KZERVKTD.js";
39
- import "../chunk-DB3ONZB4.js";
40
- import "../chunk-A2A2YTMG.js";
40
+ import "../chunk-5Y2DY6X4.js";
41
+ import "../chunk-UPLV5AJF.js";
41
42
  import "../chunk-T7E75EKA.js";
42
- import "../chunk-GPEGOGRJ.js";
43
- import "../chunk-E4FJTUH4.js";
44
- import "../chunk-NQTHFF4W.js";
43
+ import "../chunk-ON5JW2HP.js";
44
+ import "../chunk-35X5UDML.js";
45
+ import "../chunk-5YY3IJT4.js";
45
46
 
46
47
  // bin/pushary-stopfailure-hook.ts
47
48
  var AGENT = activeIdentity(process.argv);
@@ -4,7 +4,7 @@ import {
4
4
  } from "../chunk-U4TMAANR.js";
5
5
  import {
6
6
  exitOnHelpFlag
7
- } from "../chunk-HZVVNGEW.js";
7
+ } from "../chunk-CB23AO4D.js";
8
8
  import {
9
9
  rejectUnknownFlags
10
10
  } from "../chunk-GMXKITVA.js";
@@ -17,9 +17,9 @@ import {
17
17
  import {
18
18
  getApiKey,
19
19
  getBaseUrl
20
- } from "../chunk-GPEGOGRJ.js";
21
- import "../chunk-E4FJTUH4.js";
22
- import "../chunk-NQTHFF4W.js";
20
+ } from "../chunk-ON5JW2HP.js";
21
+ import "../chunk-35X5UDML.js";
22
+ import "../chunk-5YY3IJT4.js";
23
23
 
24
24
  // bin/pushary-suggestions.ts
25
25
  exitOnHelpFlag("suggestions");
@@ -1,31 +1,32 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  registerTranscript
4
- } from "../chunk-JZTHGAPA.js";
4
+ } from "../chunk-DUA5O6X5.js";
5
5
  import "../chunk-SGZJ5LYH.js";
6
- import "../chunk-EYK3GSRH.js";
7
- import "../chunk-ZVSKMPBZ.js";
8
- import "../chunk-C2WCPBF7.js";
9
- import "../chunk-6J2JC2RT.js";
10
- import "../chunk-WE2J62NC.js";
11
- import "../chunk-3EVPNIBE.js";
12
- import "../chunk-OKXS7WDZ.js";
13
- import "../chunk-MPWXGONV.js";
14
- import "../chunk-SAXBC4AZ.js";
15
- import "../chunk-OLQRRFBX.js";
6
+ import "../chunk-YNCGXHM4.js";
7
+ import "../chunk-DLEKCAQL.js";
8
+ import "../chunk-MYHG7PX2.js";
9
+ import "../chunk-XEGVVU5H.js";
10
+ import "../chunk-EIGJYCOE.js";
11
+ import "../chunk-S2UNQQQS.js";
12
+ import "../chunk-HOEB6AKG.js";
13
+ import "../chunk-URNXU3FO.js";
14
+ import "../chunk-UMMCHS6P.js";
15
+ import "../chunk-72WOCX22.js";
16
16
  import "../chunk-XHKBHWLX.js";
17
- import "../chunk-EPCXUP3P.js";
17
+ import "../chunk-6ICPEJY5.js";
18
+ import "../chunk-VFFHQC7W.js";
18
19
  import "../chunk-GMXKITVA.js";
19
- import "../chunk-P7WQEVWA.js";
20
- import "../chunk-LXQ5FBBD.js";
20
+ import "../chunk-TJMAXQ5Q.js";
21
+ import "../chunk-4A3UQERT.js";
21
22
  import "../chunk-7QLSKOSU.js";
22
23
  import "../chunk-KZERVKTD.js";
23
- import "../chunk-DB3ONZB4.js";
24
- import "../chunk-A2A2YTMG.js";
24
+ import "../chunk-5Y2DY6X4.js";
25
+ import "../chunk-UPLV5AJF.js";
25
26
  import "../chunk-T7E75EKA.js";
26
- import "../chunk-GPEGOGRJ.js";
27
- import "../chunk-E4FJTUH4.js";
28
- import "../chunk-NQTHFF4W.js";
27
+ import "../chunk-ON5JW2HP.js";
28
+ import "../chunk-35X5UDML.js";
29
+ import "../chunk-5YY3IJT4.js";
29
30
 
30
31
  // bin/pushary-transcript-register.ts
31
32
  var raw = "";