pushary 1.9.47 → 1.9.50

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 (103) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/bin/pushary-bell-hook.js +25 -25
  3. package/dist/bin/pushary-bell.js +9 -9
  4. package/dist/bin/pushary-claude.js +24 -24
  5. package/dist/bin/pushary-clean.js +29 -29
  6. package/dist/bin/pushary-codex-bridge.js +18 -18
  7. package/dist/bin/pushary-codex-hook.js +30 -30
  8. package/dist/bin/pushary-codex-session.js +19 -18
  9. package/dist/bin/pushary-codex.js +12 -12
  10. package/dist/bin/pushary-connect.js +24 -24
  11. package/dist/bin/pushary-cowork.js +5 -5
  12. package/dist/bin/pushary-daemon.js +32 -32
  13. package/dist/bin/pushary-disconnect.js +24 -24
  14. package/dist/bin/pushary-doctor.js +34 -34
  15. package/dist/bin/pushary-elicitation-hook.js +25 -25
  16. package/dist/bin/pushary-gemini-bridge.js +13 -13
  17. package/dist/bin/pushary-gemini-hook.js +27 -27
  18. package/dist/bin/pushary-hook.js +29 -29
  19. package/dist/bin/pushary-login.js +12 -12
  20. package/dist/bin/pushary-logout.js +24 -24
  21. package/dist/bin/pushary-mcp.js +9 -9
  22. package/dist/bin/pushary-mode.js +12 -12
  23. package/dist/bin/pushary-notification-hook.js +24 -24
  24. package/dist/bin/pushary-opencode-hook.js +26 -26
  25. package/dist/bin/pushary-permission-denied-hook.js +29 -29
  26. package/dist/bin/pushary-permission-hook.js +28 -28
  27. package/dist/bin/pushary-post-hook.js +24 -24
  28. package/dist/bin/pushary-prompt-hook.js +24 -24
  29. package/dist/bin/pushary-session-end-hook.js +24 -24
  30. package/dist/bin/pushary-session-start-hook.js +28 -28
  31. package/dist/bin/pushary-setup.js +75 -43
  32. package/dist/bin/pushary-stats.js +5 -5
  33. package/dist/bin/pushary-status.js +26 -26
  34. package/dist/bin/pushary-stop-hook.js +24 -24
  35. package/dist/bin/pushary-stopfailure-hook.js +24 -24
  36. package/dist/bin/pushary-suggestions.js +12 -12
  37. package/dist/bin/pushary-transcript-register.js +17 -17
  38. package/dist/bin/pushary-transcripts.js +7 -7
  39. package/dist/bin/pushary-upgrade.js +30 -30
  40. package/dist/bin/pushary-wait.js +12 -12
  41. package/dist/bin/pushary.js +6 -6
  42. package/dist/{chunk-PHKISQPB.js → chunk-25SYEAW4.js} +3 -3
  43. package/dist/{chunk-DPF6WDCX.js → chunk-34AQAQKW.js} +4 -4
  44. package/dist/{chunk-KQDHOQRG.js → chunk-34RXPM5U.js} +3 -3
  45. package/dist/{chunk-6WFJCUWO.js → chunk-4PCJ6DYK.js} +2 -2
  46. package/dist/{chunk-X6ILS4XE.js → chunk-5Q2FRMPC.js} +4 -4
  47. package/dist/{chunk-GOTCSFLS.js → chunk-7RMSB4A2.js} +7 -7
  48. package/dist/{chunk-FY6ZTTDQ.js → chunk-ABMEBN2R.js} +3 -3
  49. package/dist/{chunk-YENJWLN4.js → chunk-APASKZ2I.js} +2 -2
  50. package/dist/{chunk-GLVPA4EK.js → chunk-AWMMABVB.js} +5 -5
  51. package/dist/{chunk-6W64IVG3.js → chunk-B7LV6W7U.js} +1 -1
  52. package/dist/{chunk-7JUISFZ7.js → chunk-BOVSUH4N.js} +2 -2
  53. package/dist/{chunk-UIPZSSBC.js → chunk-BXK6ZJVJ.js} +2 -2
  54. package/dist/{chunk-N6JNKOKJ.js → chunk-DH4BWFU7.js} +5 -5
  55. package/dist/{chunk-YCKGZOKV.js → chunk-EP6S6VY3.js} +6 -6
  56. package/dist/{chunk-P4RKBBHE.js → chunk-FPKQGWAF.js} +2 -2
  57. package/dist/{chunk-M47U54AO.js → chunk-GBKSCDEK.js} +10 -2
  58. package/dist/{chunk-UFTPB3LZ.js → chunk-GDDXGBTM.js} +2 -2
  59. package/dist/{chunk-ROQSYB3T.js → chunk-GTGXQ7FJ.js} +6 -6
  60. package/dist/{chunk-VVJUH4SV.js → chunk-HXRH7ZCK.js} +2 -2
  61. package/dist/{chunk-R7AMICLS.js → chunk-IF2UPWD2.js} +1 -1
  62. package/dist/{chunk-4MJ46JA7.js → chunk-JGNYCRB2.js} +1 -1
  63. package/dist/{chunk-FWQ2O5BI.js → chunk-K73CBZKW.js} +4 -4
  64. package/dist/{chunk-BS457P5Z.js → chunk-KBGKWB5T.js} +1 -1
  65. package/dist/{chunk-ADKWE35P.js → chunk-KEAIIVW3.js} +2 -2
  66. package/dist/{chunk-TSI25WVW.js → chunk-KIO2MZQC.js} +2 -2
  67. package/dist/{chunk-T3QKLW3M.js → chunk-KK2DIUVV.js} +1 -1
  68. package/dist/{chunk-3F3JHJPS.js → chunk-LLRYP5TR.js} +5 -5
  69. package/dist/{chunk-VQZ4FP6Z.js → chunk-LY3OJFBW.js} +1 -1
  70. package/dist/{chunk-6VFP72GX.js → chunk-LZYJMSOY.js} +3 -3
  71. package/dist/{chunk-DY5PQSQB.js → chunk-OR5F63C2.js} +6 -2
  72. package/dist/{chunk-MM472M4O.js → chunk-OW4DNSQ6.js} +1 -1
  73. package/dist/{chunk-3RAWTKWW.js → chunk-OZLGTMIY.js} +2 -2
  74. package/dist/{chunk-3KSN65VJ.js → chunk-PA54A437.js} +1 -1
  75. package/dist/{chunk-OL7QCMQK.js → chunk-PXUNPXOX.js} +3 -3
  76. package/dist/{chunk-MZQ5M6F6.js → chunk-SALUTWPX.js} +4 -4
  77. package/dist/{chunk-WHHNQA4C.js → chunk-SE4JFMLW.js} +11 -8
  78. package/dist/{chunk-AIDH46DC.js → chunk-TGCIFEDE.js} +10 -10
  79. package/dist/{chunk-K2KGB7TK.js → chunk-TYTIDEBW.js} +5 -5
  80. package/dist/{chunk-CVCOZWSB.js → chunk-UCF3EZZL.js} +8 -8
  81. package/dist/{chunk-J3CYUXGX.js → chunk-UHVD7BSV.js} +4 -4
  82. package/dist/{chunk-WOE46HSM.js → chunk-VCZN7NAB.js} +4 -4
  83. package/dist/{chunk-PRQMACC7.js → chunk-VUS6QGND.js} +1 -1
  84. package/dist/{chunk-FDDZEYGM.js → chunk-WEY5ZHDB.js} +5 -5
  85. package/dist/{chunk-K2YVKKYV.js → chunk-WLT6J3SB.js} +2 -2
  86. package/dist/{chunk-7VLY6RHG.js → chunk-X3RCIOIH.js} +1 -1
  87. package/dist/{chunk-S3657KK2.js → chunk-XH3F66VD.js} +3 -3
  88. package/dist/{chunk-DRQVZHWE.js → chunk-XNZB274I.js} +1 -1
  89. package/dist/{chunk-DDS472RO.js → chunk-XTVEW2NG.js} +1 -1
  90. package/dist/{chunk-TP5SLM2I.js → chunk-Y74IJ2IO.js} +4 -4
  91. package/dist/{chunk-LFMC5AE2.js → chunk-Y7WD72J7.js} +1 -1
  92. package/dist/{chunk-LQRPQXAG.js → chunk-YTYXFA5M.js} +1 -1
  93. package/dist/{chunk-ZR2EPWW4.js → chunk-YVO4HIHX.js} +8 -8
  94. package/dist/{chunk-RDVDW3WK.js → chunk-ZMYLVFXC.js} +5 -5
  95. package/dist/{chunk-VE4LQ23C.js → chunk-ZOKMGBPR.js} +1 -1
  96. package/dist/{chunk-ZHZTFA76.js → chunk-ZTTCYHOM.js} +5 -5
  97. package/dist/{chunk-MCL5IS6A.js → chunk-ZYYQJSIO.js} +4 -4
  98. package/dist/{global-upgrade-KHP36X27.js → global-upgrade-AIUSS2YH.js} +6 -6
  99. package/dist/{paths-63XAPFWJ.js → paths-RO34TYNM.js} +2 -2
  100. package/dist/{reapply-Y2EXWAWE.js → reapply-KTNPP4XE.js} +20 -20
  101. package/dist/src/index.js +19 -19
  102. package/dist/{upgrade-lock-RF3LR2HC.js → upgrade-lock-5UAGXIW7.js} +3 -3
  103. package/package.json +1 -1
@@ -1,27 +1,27 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runBrowserLogin
4
- } from "../chunk-LQRPQXAG.js";
4
+ } from "../chunk-YTYXFA5M.js";
5
5
  import {
6
6
  coworkOutput,
7
7
  coworkSelection
8
- } from "../chunk-OL7QCMQK.js";
8
+ } from "../chunk-PXUNPXOX.js";
9
9
  import "../chunk-PUZZELE6.js";
10
10
  import {
11
11
  clearDeclinedAgent,
12
12
  declinedAgentForSetupChoice
13
- } from "../chunk-K2YVKKYV.js";
13
+ } from "../chunk-WLT6J3SB.js";
14
14
  import {
15
15
  CURSOR_GATE_SCRIPT,
16
16
  describeVersionManagerPin,
17
17
  saveSetupFailure,
18
18
  versionManagerOf
19
- } from "../chunk-3RAWTKWW.js";
19
+ } from "../chunk-OZLGTMIY.js";
20
20
  import {
21
21
  codexTrustOutcome,
22
22
  describeCodexTrustConfirmation,
23
23
  needsCodexTrustStep
24
- } from "../chunk-VVJUH4SV.js";
24
+ } from "../chunk-HXRH7ZCK.js";
25
25
  import {
26
26
  describeWaitLadder
27
27
  } from "../chunk-CVWG2N3Y.js";
@@ -39,15 +39,15 @@ import {
39
39
  roundTripEvidence,
40
40
  verifyRoundTrip,
41
41
  waitForYourPhone
42
- } from "../chunk-J3CYUXGX.js";
42
+ } from "../chunk-UHVD7BSV.js";
43
43
  import "../chunk-3EGEA4KH.js";
44
44
  import {
45
45
  readManagedControlEvidence,
46
46
  waitForMachineReadiness
47
- } from "../chunk-ROQSYB3T.js";
47
+ } from "../chunk-GTGXQ7FJ.js";
48
48
  import {
49
49
  ensureCodexTrustsPusharyHooks
50
- } from "../chunk-TSI25WVW.js";
50
+ } from "../chunk-KIO2MZQC.js";
51
51
  import {
52
52
  setHumanStream
53
53
  } from "../chunk-QCGNGEGE.js";
@@ -64,7 +64,7 @@ import {
64
64
  soleGateFile,
65
65
  soleGateReceipt,
66
66
  soleGateReceiptFile
67
- } from "../chunk-DPF6WDCX.js";
67
+ } from "../chunk-34AQAQKW.js";
68
68
  import {
69
69
  HERMES_PIP_PACKAGE,
70
70
  describeDetection,
@@ -77,11 +77,11 @@ import {
77
77
  runHermesConfigScript,
78
78
  shortenHome,
79
79
  vscodeSettingsTargets
80
- } from "../chunk-WOE46HSM.js";
80
+ } from "../chunk-VCZN7NAB.js";
81
81
  import {
82
82
  mcpServerBearer,
83
83
  readMacAppAgentKey
84
- } from "../chunk-FWQ2O5BI.js";
84
+ } from "../chunk-K73CBZKW.js";
85
85
  import {
86
86
  AgentConfigError,
87
87
  FX_PUSHARY_TOOLS_RULE,
@@ -109,10 +109,10 @@ import {
109
109
  writeInstructionBlock,
110
110
  writeSetupConfigFile,
111
111
  writeSetupConfigJson
112
- } from "../chunk-N6JNKOKJ.js";
112
+ } from "../chunk-DH4BWFU7.js";
113
113
  import {
114
114
  MCP_BRIDGE_BINARY
115
- } from "../chunk-UFTPB3LZ.js";
115
+ } from "../chunk-GDDXGBTM.js";
116
116
  import {
117
117
  OPENCODE_HOOK_BINARY,
118
118
  addOpenCodeMcpServer,
@@ -128,7 +128,7 @@ import {
128
128
  openCodePluginDir,
129
129
  openCodePluginFile,
130
130
  openCodeWired
131
- } from "../chunk-3F3JHJPS.js";
131
+ } from "../chunk-LLRYP5TR.js";
132
132
  import {
133
133
  ansiPainter,
134
134
  createIo,
@@ -137,7 +137,7 @@ import {
137
137
  import {
138
138
  describeAutoUpdateAnnouncement,
139
139
  takeAutoUpdateAnnouncement
140
- } from "../chunk-YENJWLN4.js";
140
+ } from "../chunk-APASKZ2I.js";
141
141
  import {
142
142
  addClaudeMcpServer,
143
143
  addCompatibleHooks,
@@ -156,7 +156,7 @@ import {
156
156
  hasCompatibleHooks,
157
157
  isClaudeMcpSnapshot,
158
158
  updateClaudeMcpSnapshot
159
- } from "../chunk-TP5SLM2I.js";
159
+ } from "../chunk-Y74IJ2IO.js";
160
160
  import {
161
161
  DAEMON_COLD_START_TIMEOUT_MS,
162
162
  clearDaemonNeedsLogin,
@@ -170,7 +170,7 @@ import {
170
170
  replaceDaemonService,
171
171
  stopDaemonService,
172
172
  waitForDaemonRemoteProof
173
- } from "../chunk-RDVDW3WK.js";
173
+ } from "../chunk-ZMYLVFXC.js";
174
174
  import {
175
175
  KEEP_HINT,
176
176
  captureHookTakeover,
@@ -182,24 +182,24 @@ import {
182
182
  geminiWired,
183
183
  planHooks,
184
184
  pusharyHookExecutable
185
- } from "../chunk-FDDZEYGM.js";
185
+ } from "../chunk-WEY5ZHDB.js";
186
186
  import {
187
187
  GEMINI_HOOK_BINARY,
188
188
  GEMINI_HOOK_EVENTS,
189
189
  addGeminiHooks,
190
190
  addGeminiMcpServer
191
- } from "../chunk-PHKISQPB.js";
191
+ } from "../chunk-25SYEAW4.js";
192
192
  import {
193
193
  AGENT_CHOICES,
194
194
  effectiveControlMode,
195
195
  effectiveVerify,
196
196
  parseSetupOptions
197
- } from "../chunk-3KSN65VJ.js";
198
- import "../chunk-DDS472RO.js";
197
+ } from "../chunk-PA54A437.js";
198
+ import "../chunk-XTVEW2NG.js";
199
199
  import "../chunk-GMXKITVA.js";
200
200
  import {
201
201
  transcriptPreferenceForSetup
202
- } from "../chunk-4MJ46JA7.js";
202
+ } from "../chunk-JGNYCRB2.js";
203
203
  import {
204
204
  KEY_FILE_MODE,
205
205
  exportLine,
@@ -212,15 +212,17 @@ import {
212
212
  recordMacAppKeyPrefix,
213
213
  resolveShellRc,
214
214
  writeKey
215
- } from "../chunk-S3657KK2.js";
215
+ } from "../chunk-XH3F66VD.js";
216
216
  import {
217
217
  checkCodexInstall,
218
218
  detectProviderLiveCapabilities,
219
219
  expectedLaunchCapabilities,
220
220
  hasSpawnProvider,
221
+ missingControlPrerequisite,
221
222
  nodeCodexInstallProbe,
223
+ phoneStartIsRequired,
222
224
  resolveControlPolicy
223
- } from "../chunk-M47U54AO.js";
225
+ } from "../chunk-GBKSCDEK.js";
224
226
  import {
225
227
  detectClaudeVersion
226
228
  } from "../chunk-RIVNNBEK.js";
@@ -231,19 +233,19 @@ import {
231
233
  } from "../chunk-6ICPEJY5.js";
232
234
  import {
233
235
  reportEvent
234
- } from "../chunk-ZR2EPWW4.js";
235
- import "../chunk-6W64IVG3.js";
236
- import "../chunk-ADKWE35P.js";
237
- import "../chunk-GLVPA4EK.js";
236
+ } from "../chunk-YVO4HIHX.js";
237
+ import "../chunk-B7LV6W7U.js";
238
+ import "../chunk-KEAIIVW3.js";
239
+ import "../chunk-AWMMABVB.js";
238
240
  import "../chunk-POFBE6ZY.js";
239
- import "../chunk-6VFP72GX.js";
241
+ import "../chunk-LZYJMSOY.js";
240
242
  import {
241
243
  checkApiKey,
242
244
  describeKeyCheck,
243
245
  samePusharyAccount
244
- } from "../chunk-KQDHOQRG.js";
245
- import "../chunk-FY6ZTTDQ.js";
246
- import "../chunk-VQZ4FP6Z.js";
246
+ } from "../chunk-34RXPM5U.js";
247
+ import "../chunk-ABMEBN2R.js";
248
+ import "../chunk-LY3OJFBW.js";
247
249
  import {
248
250
  UsageError
249
251
  } from "../chunk-7QLSKOSU.js";
@@ -294,18 +296,18 @@ import {
294
296
  resolveGlobalBinary,
295
297
  vscodePluginDir,
296
298
  vscodePluginMcp
297
- } from "../chunk-MCL5IS6A.js";
299
+ } from "../chunk-ZYYQJSIO.js";
298
300
  import {
299
301
  backupFile,
300
302
  readJsonSafe
301
303
  } from "../chunk-AQFEP65J.js";
302
304
  import {
303
305
  getBaseUrl
304
- } from "../chunk-PRQMACC7.js";
306
+ } from "../chunk-VUS6QGND.js";
305
307
  import {
306
308
  NPX_LATEST_COMMAND,
307
309
  renderCommandHelp
308
- } from "../chunk-VE4LQ23C.js";
310
+ } from "../chunk-ZOKMGBPR.js";
309
311
  import {
310
312
  HOOK_COMPATIBLE_PROFILES,
311
313
  PRETOOLUSE_GATED_TOOLS,
@@ -321,7 +323,7 @@ import {
321
323
  isValidApiKey,
322
324
  launchedPackage,
323
325
  ownPackageName
324
- } from "../chunk-DY5PQSQB.js";
326
+ } from "../chunk-OR5F63C2.js";
325
327
 
326
328
  // bin/pushary-setup.ts
327
329
  import { existsSync, readFileSync, writeFileSync, mkdirSync, cpSync, rmSync, renameSync, realpathSync, statSync, openSync, readSync, closeSync } from "fs";
@@ -692,8 +694,35 @@ var COMMAND_SURFACE = [
692
694
  ];
693
695
  var SURFACE_COLUMN = Math.max(...COMMAND_SURFACE.map((entry) => entry.command.length)) + 2;
694
696
  var renderCommandSurface = () => COMMAND_SURFACE.map((entry) => `${entry.command.padEnd(SURFACE_COLUMN)}${entry.summary}`);
697
+ var PHONE_START_VERIFIED_LINE = "Phone-start and steering: local and server checks passed just now. Recheck after sleep or network changes.";
698
+ var PHONE_START_NOT_RUNNING_LINE = "Phone-start and steering: not running on this computer. Approvals do not depend on it. Run pushary doctor to see what is missing.";
699
+ var PHONE_START_UNVERIFIED_LINE = "Phone-start and steering: unverified. Run pushary doctor to check the provider, background service and server route.";
700
+ var phoneStartStatusLine = (facts) => {
701
+ if (facts.managedControlReady === true) return PHONE_START_VERIFIED_LINE;
702
+ if (facts.daemonReady === false) return PHONE_START_NOT_RUNNING_LINE;
703
+ return PHONE_START_UNVERIFIED_LINE;
704
+ };
705
+ var phoneStartFailedTheRun = (facts) => facts.daemonReady === false && facts.phoneStartRequired !== false;
706
+ var PHONE_START_UNVERIFIED_STEPS = [
707
+ "Agent configuration and managed control are separate. Phone-start and steering could not be verified.",
708
+ "pushary daemon install install or repair the background service",
709
+ "pushary doctor verify it became reachable"
710
+ ];
711
+ var PHONE_START_CANNOT_RUN_LINE = "Agent configuration and managed control are separate. Phone-start cannot run on this computer yet; approvals do not depend on it.";
712
+ var STOP_REQUIRING_PHONE_START_STEP = `${NPX_LATEST_COMMAND} setup --control off stop requiring phone-start on this computer`;
713
+ var WHAT_PHONE_START_NEEDS = {
714
+ provider: [
715
+ "It needs the claude, codex or gemini command on PATH, and this terminal found none.",
716
+ "Install one, or open a terminal where it runs, then run setup again."
717
+ ],
718
+ "service-manager": [
719
+ "It needs a background service manager (launchd, systemd --user or Windows Task Scheduler), and this session has none.",
720
+ "Run setup again from a normal desktop session."
721
+ ]
722
+ };
723
+ var phoneStartProblemSteps = (missing) => missing ? [PHONE_START_CANNOT_RUN_LINE, ...WHAT_PHONE_START_NEEDS[missing], STOP_REQUIRING_PHONE_START_STEP] : PHONE_START_UNVERIFIED_STEPS;
695
724
  var nextSteps = (facts, reachable) => {
696
- const lines = ["Delivery follows the current approval mode, recipient rules and presence. pushary mode status shows the workspace setting.", facts.managedControlReady === true ? "Phone-start and steering: local and server checks passed just now. Recheck after sleep or network changes." : "Phone-start and steering: unverified. Run pushary doctor to check the provider, background service and server route."];
725
+ const lines = ["Delivery follows the current approval mode, recipient rules and presence. pushary mode status shows the workspace setting.", phoneStartStatusLine(facts)];
697
726
  lines.push("Before stepping away, run pushary wait to see how long phone approvals wait and what happens if you do not answer.");
698
727
  if (facts.staleEnvironmentKey) {
699
728
  lines.push("Open a new terminal or unset PUSHARY_API_KEY, then run pushary doctor before starting an agent.");
@@ -748,15 +777,11 @@ var describeClosing = (facts) => {
748
777
  reason: "stale-environment-key"
749
778
  };
750
779
  }
751
- if (facts.daemonReady === false) {
780
+ if (phoneStartFailedTheRun(facts)) {
752
781
  return {
753
782
  ok: false,
754
783
  headline: "Setup finished with 1 problem.",
755
- next: [
756
- "Agent configuration and managed control are separate. Phone-start and steering could not be verified.",
757
- "pushary daemon install install or repair the background service",
758
- "pushary doctor verify it became reachable"
759
- ],
784
+ next: phoneStartProblemSteps(facts.phoneStartMissingPrerequisite),
760
785
  exitCode: EXIT.PROBLEMS_FOUND,
761
786
  reason: "control-unready"
762
787
  };
@@ -990,6 +1015,7 @@ var reportSetupOutcomeWith = async (deps, outcome) => emit(deps, {
990
1015
  agentFailures: agentFailureWire(outcome.failures),
991
1016
  closingReason: outcome.closingReason,
992
1017
  controlFailureStage: outcome.controlFailureStage ?? null,
1018
+ controlMissingPrerequisite: outcome.controlMissingPrerequisite ?? null,
993
1019
  skippedAgents: outcome.skipped,
994
1020
  nonInteractive: outcome.options.nonInteractive,
995
1021
  keyCheck: outcome.keyCheck,
@@ -1010,6 +1036,7 @@ var reportSetupAbortWith = async (deps, reason, exitCode, keyCheck = "unknown")
1010
1036
  agentFailures: [],
1011
1037
  closingReason: null,
1012
1038
  controlFailureStage: null,
1039
+ controlMissingPrerequisite: null,
1013
1040
  skippedAgents: [],
1014
1041
  nonInteractive: recordedOptions?.nonInteractive ?? null,
1015
1042
  keyCheck,
@@ -3056,6 +3083,7 @@ var main = async () => {
3056
3083
  console.log(` ${yellow("!")} Managed control could not be verified by the server: ${serverControlProof.detail}`);
3057
3084
  }
3058
3085
  const managedControl = readManagedControlEvidence(trimmedKey, configuredControlProviders, controlLifecycleFailure ? null : serverControlProof);
3086
+ const controlMissingPrerequisite = controlFailureStage === "unsupported" ? missingControlPrerequisite({ providerAvailable, managerAvailable }) : null;
3059
3087
  const closing = describeClosing({
3060
3088
  staleEnvironmentKey,
3061
3089
  agentsOk,
@@ -3066,6 +3094,8 @@ var main = async () => {
3066
3094
  reachesYou,
3067
3095
  managedControlReady: !controlLifecycleFailure && managedControl.ready,
3068
3096
  daemonReady: controlLifecycleFailure ? false : daemonReady,
3097
+ phoneStartRequired: phoneStartIsRequired({ mode: controlMode, policy: controlPolicy, lifecycleFailed: controlLifecycleFailure !== null }),
3098
+ phoneStartMissingPrerequisite: controlMissingPrerequisite,
3069
3099
  transcriptSync,
3070
3100
  // null when the check did not run, so it changes nothing. Only an outright
3071
3101
  // `false` is allowed to hold back "Setup complete.".
@@ -3094,6 +3124,7 @@ var main = async () => {
3094
3124
  failures,
3095
3125
  closingReason: closing.reason,
3096
3126
  controlFailureStage,
3127
+ controlMissingPrerequisite,
3097
3128
  // 'answered' is finally reachable. It was in the enum from the start and
3098
3129
  // nothing produced it, because setup stopped at a delivered notification, so
3099
3130
  // the one value meaning "a human tapped" was never emitted by the command
@@ -3124,6 +3155,7 @@ var main = async () => {
3124
3155
  control: controlMode,
3125
3156
  controlPolicy,
3126
3157
  controlFailureStage,
3158
+ controlMissingPrerequisite,
3127
3159
  controlCapabilities,
3128
3160
  managedControl,
3129
3161
  exitCode
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readLedgerSummary
4
- } from "../chunk-LFMC5AE2.js";
4
+ } from "../chunk-Y7WD72J7.js";
5
5
  import {
6
6
  exitOnHelpFlag
7
- } from "../chunk-7JUISFZ7.js";
7
+ } from "../chunk-BOVSUH4N.js";
8
8
  import "../chunk-KZERVKTD.js";
9
9
  import {
10
10
  getApiKey
11
- } from "../chunk-PRQMACC7.js";
12
- import "../chunk-VE4LQ23C.js";
13
- import "../chunk-DY5PQSQB.js";
11
+ } from "../chunk-VUS6QGND.js";
12
+ import "../chunk-ZOKMGBPR.js";
13
+ import "../chunk-OR5F63C2.js";
14
14
 
15
15
  // bin/pushary-stats.ts
16
16
  exitOnHelpFlag("stats");
@@ -3,69 +3,69 @@ import {
3
3
  describeReach,
4
4
  fetchChannels,
5
5
  reachVerdict
6
- } from "../chunk-J3CYUXGX.js";
6
+ } from "../chunk-UHVD7BSV.js";
7
7
  import "../chunk-3EGEA4KH.js";
8
8
  import {
9
9
  describeLastSeen,
10
10
  listMachines
11
- } from "../chunk-ROQSYB3T.js";
11
+ } from "../chunk-GTGXQ7FJ.js";
12
12
  import "../chunk-QCGNGEGE.js";
13
13
  import {
14
14
  CONNECTED_THROUGH_MAC_APP,
15
15
  readMacAppConnectionWhenKeyless
16
- } from "../chunk-FWQ2O5BI.js";
16
+ } from "../chunk-K73CBZKW.js";
17
17
  import {
18
18
  SIGNED_OUT_ON_MAC_MESSAGE,
19
19
  activeKeyVerdictOf,
20
20
  describeSignedOutKey,
21
21
  readSignedOutDiagnosis
22
- } from "../chunk-6WFJCUWO.js";
23
- import "../chunk-3F3JHJPS.js";
22
+ } from "../chunk-4PCJ6DYK.js";
23
+ import "../chunk-LLRYP5TR.js";
24
24
  import {
25
25
  createIo
26
26
  } from "../chunk-FO3MDD26.js";
27
- import "../chunk-TP5SLM2I.js";
28
- import "../chunk-RDVDW3WK.js";
29
- import "../chunk-FDDZEYGM.js";
30
- import "../chunk-PHKISQPB.js";
31
- import "../chunk-3KSN65VJ.js";
32
- import "../chunk-DDS472RO.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
33
  import {
34
34
  rejectUnknownFlags
35
35
  } from "../chunk-GMXKITVA.js";
36
36
  import {
37
37
  readKeySource
38
- } from "../chunk-S3657KK2.js";
38
+ } from "../chunk-XH3F66VD.js";
39
39
  import {
40
40
  exitOnHelpFlag
41
- } from "../chunk-7JUISFZ7.js";
42
- import "../chunk-M47U54AO.js";
41
+ } from "../chunk-BOVSUH4N.js";
42
+ import "../chunk-GBKSCDEK.js";
43
43
  import "../chunk-RIVNNBEK.js";
44
44
  import "../chunk-XHKBHWLX.js";
45
45
  import "../chunk-6ICPEJY5.js";
46
- import "../chunk-ZR2EPWW4.js";
47
- import "../chunk-6W64IVG3.js";
48
- import "../chunk-ADKWE35P.js";
49
- import "../chunk-GLVPA4EK.js";
46
+ import "../chunk-YVO4HIHX.js";
47
+ import "../chunk-B7LV6W7U.js";
48
+ import "../chunk-KEAIIVW3.js";
49
+ import "../chunk-AWMMABVB.js";
50
50
  import "../chunk-POFBE6ZY.js";
51
- import "../chunk-6VFP72GX.js";
51
+ import "../chunk-LZYJMSOY.js";
52
52
  import {
53
53
  checkApiKey,
54
54
  describeKeyCheck
55
- } from "../chunk-KQDHOQRG.js";
56
- import "../chunk-FY6ZTTDQ.js";
57
- import "../chunk-VQZ4FP6Z.js";
55
+ } from "../chunk-34RXPM5U.js";
56
+ import "../chunk-ABMEBN2R.js";
57
+ import "../chunk-LY3OJFBW.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-MCL5IS6A.js";
64
+ import "../chunk-ZYYQJSIO.js";
65
65
  import "../chunk-AQFEP65J.js";
66
- import "../chunk-PRQMACC7.js";
67
- import "../chunk-VE4LQ23C.js";
68
- import "../chunk-DY5PQSQB.js";
66
+ import "../chunk-VUS6QGND.js";
67
+ import "../chunk-ZOKMGBPR.js";
68
+ import "../chunk-OR5F63C2.js";
69
69
 
70
70
  // src/status.ts
71
71
  var SIGNED_OUT_LINE = { label: "Server", value: "key signed out on this Mac", ok: false };
@@ -1,45 +1,45 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-MZQ5M6F6.js";
5
- import "../chunk-CVCOZWSB.js";
4
+ } from "../chunk-SALUTWPX.js";
5
+ import "../chunk-UCF3EZZL.js";
6
6
  import "../chunk-DWQYCOPI.js";
7
7
  import {
8
8
  activeHookSource,
9
9
  activeIdentity
10
- } from "../chunk-TP5SLM2I.js";
11
- import "../chunk-RDVDW3WK.js";
12
- import "../chunk-FDDZEYGM.js";
13
- import "../chunk-PHKISQPB.js";
14
- import "../chunk-3KSN65VJ.js";
15
- import "../chunk-DDS472RO.js";
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";
16
16
  import "../chunk-GMXKITVA.js";
17
- import "../chunk-4MJ46JA7.js";
18
- import "../chunk-S3657KK2.js";
19
- import "../chunk-DRQVZHWE.js";
20
- import "../chunk-T3QKLW3M.js";
17
+ import "../chunk-JGNYCRB2.js";
18
+ import "../chunk-XH3F66VD.js";
19
+ import "../chunk-XNZB274I.js";
20
+ import "../chunk-KK2DIUVV.js";
21
21
  import "../chunk-XHKBHWLX.js";
22
22
  import "../chunk-6ICPEJY5.js";
23
23
  import {
24
24
  handleStop,
25
25
  handleSubagentStop,
26
26
  isSubagentStop
27
- } from "../chunk-ZR2EPWW4.js";
28
- import "../chunk-6W64IVG3.js";
29
- import "../chunk-ADKWE35P.js";
30
- import "../chunk-GLVPA4EK.js";
27
+ } from "../chunk-YVO4HIHX.js";
28
+ import "../chunk-B7LV6W7U.js";
29
+ import "../chunk-KEAIIVW3.js";
30
+ import "../chunk-AWMMABVB.js";
31
31
  import "../chunk-POFBE6ZY.js";
32
- import "../chunk-6VFP72GX.js";
33
- import "../chunk-KQDHOQRG.js";
34
- import "../chunk-FY6ZTTDQ.js";
35
- import "../chunk-VQZ4FP6Z.js";
32
+ import "../chunk-LZYJMSOY.js";
33
+ import "../chunk-34RXPM5U.js";
34
+ import "../chunk-ABMEBN2R.js";
35
+ import "../chunk-LY3OJFBW.js";
36
36
  import "../chunk-7QLSKOSU.js";
37
37
  import "../chunk-KZERVKTD.js";
38
- import "../chunk-MCL5IS6A.js";
38
+ import "../chunk-ZYYQJSIO.js";
39
39
  import "../chunk-AQFEP65J.js";
40
- import "../chunk-PRQMACC7.js";
41
- import "../chunk-VE4LQ23C.js";
42
- import "../chunk-DY5PQSQB.js";
40
+ import "../chunk-VUS6QGND.js";
41
+ import "../chunk-ZOKMGBPR.js";
42
+ import "../chunk-OR5F63C2.js";
43
43
 
44
44
  // bin/pushary-stop-hook.ts
45
45
  var AGENT = activeIdentity(process.argv);
@@ -1,43 +1,43 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-MZQ5M6F6.js";
5
- import "../chunk-CVCOZWSB.js";
4
+ } from "../chunk-SALUTWPX.js";
5
+ import "../chunk-UCF3EZZL.js";
6
6
  import "../chunk-DWQYCOPI.js";
7
7
  import {
8
8
  activeHookSource,
9
9
  activeIdentity
10
- } from "../chunk-TP5SLM2I.js";
11
- import "../chunk-RDVDW3WK.js";
12
- import "../chunk-FDDZEYGM.js";
13
- import "../chunk-PHKISQPB.js";
14
- import "../chunk-3KSN65VJ.js";
15
- import "../chunk-DDS472RO.js";
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";
16
16
  import "../chunk-GMXKITVA.js";
17
- import "../chunk-4MJ46JA7.js";
18
- import "../chunk-S3657KK2.js";
19
- import "../chunk-DRQVZHWE.js";
20
- import "../chunk-T3QKLW3M.js";
17
+ import "../chunk-JGNYCRB2.js";
18
+ import "../chunk-XH3F66VD.js";
19
+ import "../chunk-XNZB274I.js";
20
+ import "../chunk-KK2DIUVV.js";
21
21
  import "../chunk-XHKBHWLX.js";
22
22
  import "../chunk-6ICPEJY5.js";
23
23
  import {
24
24
  handleStopFailure
25
- } from "../chunk-ZR2EPWW4.js";
26
- import "../chunk-6W64IVG3.js";
27
- import "../chunk-ADKWE35P.js";
28
- import "../chunk-GLVPA4EK.js";
25
+ } from "../chunk-YVO4HIHX.js";
26
+ import "../chunk-B7LV6W7U.js";
27
+ import "../chunk-KEAIIVW3.js";
28
+ import "../chunk-AWMMABVB.js";
29
29
  import "../chunk-POFBE6ZY.js";
30
- import "../chunk-6VFP72GX.js";
31
- import "../chunk-KQDHOQRG.js";
32
- import "../chunk-FY6ZTTDQ.js";
33
- import "../chunk-VQZ4FP6Z.js";
30
+ import "../chunk-LZYJMSOY.js";
31
+ import "../chunk-34RXPM5U.js";
32
+ import "../chunk-ABMEBN2R.js";
33
+ import "../chunk-LY3OJFBW.js";
34
34
  import "../chunk-7QLSKOSU.js";
35
35
  import "../chunk-KZERVKTD.js";
36
- import "../chunk-MCL5IS6A.js";
36
+ import "../chunk-ZYYQJSIO.js";
37
37
  import "../chunk-AQFEP65J.js";
38
- import "../chunk-PRQMACC7.js";
39
- import "../chunk-VE4LQ23C.js";
40
- import "../chunk-DY5PQSQB.js";
38
+ import "../chunk-VUS6QGND.js";
39
+ import "../chunk-ZOKMGBPR.js";
40
+ import "../chunk-OR5F63C2.js";
41
41
 
42
42
  // bin/pushary-stopfailure-hook.ts
43
43
  var AGENT = activeIdentity(process.argv);
@@ -1,36 +1,36 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  exitOnFailedSettingsRequest
4
- } from "../chunk-X6ILS4XE.js";
5
- import "../chunk-6WFJCUWO.js";
4
+ } from "../chunk-5Q2FRMPC.js";
5
+ import "../chunk-4PCJ6DYK.js";
6
6
  import {
7
7
  createIo
8
8
  } from "../chunk-FO3MDD26.js";
9
9
  import {
10
10
  rejectUnknownFlags
11
11
  } from "../chunk-GMXKITVA.js";
12
- import "../chunk-S3657KK2.js";
12
+ import "../chunk-XH3F66VD.js";
13
13
  import {
14
14
  exitOnHelpFlag
15
- } from "../chunk-7JUISFZ7.js";
16
- import "../chunk-ADKWE35P.js";
17
- import "../chunk-KQDHOQRG.js";
18
- import "../chunk-FY6ZTTDQ.js";
19
- import "../chunk-VQZ4FP6Z.js";
15
+ } from "../chunk-BOVSUH4N.js";
16
+ import "../chunk-KEAIIVW3.js";
17
+ import "../chunk-34RXPM5U.js";
18
+ import "../chunk-ABMEBN2R.js";
19
+ import "../chunk-LY3OJFBW.js";
20
20
  import {
21
21
  UsageError
22
22
  } from "../chunk-7QLSKOSU.js";
23
23
  import {
24
24
  EXIT
25
25
  } from "../chunk-KZERVKTD.js";
26
- import "../chunk-MCL5IS6A.js";
26
+ import "../chunk-ZYYQJSIO.js";
27
27
  import "../chunk-AQFEP65J.js";
28
28
  import {
29
29
  getApiKey,
30
30
  getBaseUrl
31
- } from "../chunk-PRQMACC7.js";
32
- import "../chunk-VE4LQ23C.js";
33
- import "../chunk-DY5PQSQB.js";
31
+ } from "../chunk-VUS6QGND.js";
32
+ import "../chunk-ZOKMGBPR.js";
33
+ import "../chunk-OR5F63C2.js";
34
34
 
35
35
  // bin/pushary-suggestions.ts
36
36
  exitOnHelpFlag("suggestions");