@fased/fased 0.1.18 → 0.1.20

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 (228) hide show
  1. package/dist/{agents-B6Phr7_f.js → agents-ChQhgSlb.js} +11 -11
  2. package/dist/{attachment-normalize-CzEnjLNz.js → attachment-normalize-Cr8RzfVf.js} +1 -1
  3. package/dist/{attachment-normalize-Cw5usv34.js → attachment-normalize-DB19KLbl.js} +1 -1
  4. package/dist/{audio-preflight-Bb2vNNbg.js → audio-preflight-BLGP3XdB.js} +1 -1
  5. package/dist/{audio-preflight-CE7uXO4r.js → audio-preflight-BmW52Ycp.js} +1 -1
  6. package/dist/{audio-preflight-DdTXlJCN.js → audio-preflight-CHhcmiXJ.js} +3 -3
  7. package/dist/{audio-preflight-BneukbKN.js → audio-preflight-DAevycUR.js} +2 -2
  8. package/dist/{audio-preflight-DLDBtl4e.js → audio-preflight-DVwcDm03.js} +3 -3
  9. package/dist/{audit-xX6RNayR.js → audit-C5YXYuIL.js} +1 -1
  10. package/dist/{audit-B2R6WwpA.js → audit-DPnCY1UL.js} +1 -1
  11. package/dist/{auth-DtTjcdsn.js → auth-BbQxXxtt.js} +5 -5
  12. package/dist/{auth-choice-DEux81xn.js → auth-choice-D8Q1fQwa.js} +2 -2
  13. package/dist/{auth-choice-DSs5l1Mv.js → auth-choice-DRyuJ7OL.js} +2 -2
  14. package/dist/{auth-choice-prompt-D8d4kRYT.js → auth-choice-prompt-Bs_OE3ai.js} +1 -1
  15. package/dist/{auth-choice-prompt-Dhl403zz.js → auth-choice-prompt-EOHB6Adp.js} +1 -1
  16. package/dist/build-info.json +3 -3
  17. package/dist/bundled/boot-md/handler.js +1 -1
  18. package/dist/bundled/session-memory/handler.js +1 -1
  19. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  20. package/dist/{channel-web-DRJ_lg4d.js → channel-web-BYwefJub.js} +1 -1
  21. package/dist/{channel-web-B_R-iuZ6.js → channel-web-Do7PfpgZ.js} +1 -1
  22. package/dist/{channels-D9lINC_R.js → channels-Ca02RvCt.js} +9 -9
  23. package/dist/{channels-B-7M3uYr.js → channels-DrEj3b4G.js} +9 -9
  24. package/dist/{channels-cli-BNR8Ueih.js → channels-cli-CCa-scQg.js} +6 -6
  25. package/dist/{channels-cli-CZZGaHdW.js → channels-cli-b6IPejdy.js} +6 -6
  26. package/dist/{clack-prompter-D2fuSvy3.js → clack-prompter-DhFjwbXA.js} +110 -40
  27. package/dist/{clack-prompter-DsooqWFU.js → clack-prompter-Q_PN4iLX.js} +110 -40
  28. package/dist/cli/daemon-cli.js +1 -1
  29. package/dist/{cli-DDzZu95y.js → cli-DXIWIIJj.js} +3 -3
  30. package/dist/{cli-PJTbyT76.js → cli-eje5udQT.js} +3 -3
  31. package/dist/{command-registry-DH2g-1VS.js → command-registry-Bs12xiCA.js} +9 -9
  32. package/dist/{completion-cli-cirX46xi.js → completion-cli-Btcmy2ZS.js} +2 -2
  33. package/dist/{completion-cli-Cszwcu14.js → completion-cli-RlpZaXwm.js} +1 -1
  34. package/dist/{config-cli-wGaTNazO.js → config-cli-CTo8yFw1.js} +1 -1
  35. package/dist/{config-cli-D-JctiSJ.js → config-cli-D-FqgnuJ.js} +1 -1
  36. package/dist/{config-guard-C74yuV1t.js → config-guard-D6r7usdP.js} +2 -2
  37. package/dist/{config-guard-ComvK070.js → config-guard-DnCSSIeP.js} +1 -1
  38. package/dist/{configure-BZPWTrYa.js → configure-CLTc56jo.js} +16 -16
  39. package/dist/{configure-B3qdEOin.js → configure-D0-Sq2kW.js} +16 -16
  40. package/dist/control-ui/assets/app-DXYMrRJ9.js.map +1 -1
  41. package/dist/{cron-cli-B_Y1xWzG.js → cron-cli-BstCBSyn.js} +2 -2
  42. package/dist/{cron-cli-DV_fO2Av.js → cron-cli-pA06wiEq.js} +2 -2
  43. package/dist/{daemon-cli-DwEfnmS3.js → daemon-cli-DiuXEPjO.js} +1 -1
  44. package/dist/{daemon-cli-D99T8qck.js → daemon-cli-cyqRsnTF.js} +1 -1
  45. package/dist/daemon-cli.js +1 -1
  46. package/dist/{deps-DXHMO1Yj.js → deps-BKAIBkcE.js} +1 -1
  47. package/dist/{deps-5vuaH16V.js → deps-BWo3ls9h.js} +1 -1
  48. package/dist/{doctor-config-flow-4WutpMTV.js → doctor-config-flow-B-I0osH5.js} +1 -1
  49. package/dist/{doctor-config-flow-Cd9O0xNE.js → doctor-config-flow-Ceaz-Gkk.js} +1 -1
  50. package/dist/entry.js +1 -1
  51. package/dist/extensionAPI.js +2 -2
  52. package/dist/{gateway-cli-DxttS--5.js → gateway-cli-BbSS1Nxd.js} +28 -28
  53. package/dist/{gateway-cli-DnTW-Vqh.js → gateway-cli-izDCXWNN.js} +28 -28
  54. package/dist/{health-CK5_7SB-.js → health-DW5NMpNI.js} +2 -2
  55. package/dist/{health-DkKBhl0x.js → health-kF4U3o3b.js} +2 -2
  56. package/dist/{heartbeat-runner-C_SzC_tK.js → heartbeat-runner-BnDruNG2.js} +1 -1
  57. package/dist/{heartbeat-runner-B9_owa4e.js → heartbeat-runner-CJP5uO8S.js} +1 -1
  58. package/dist/{hooks-cli-CF1H42-g.js → hooks-cli-CSFuSiA5.js} +4 -4
  59. package/dist/{hooks-cli-DsUN2nCy.js → hooks-cli-U5qCBqJm.js} +4 -4
  60. package/dist/index.js +9 -9
  61. package/dist/{ipv4-oR6PCFkE.js → ipv4-B42xQEbV.js} +2 -2
  62. package/dist/{ipv4-hmcj6CY1.js → ipv4-DSDJ9Fn2.js} +2 -2
  63. package/dist/{lifecycle-DkQi8XHs.js → lifecycle-Bbry4K-O.js} +1 -1
  64. package/dist/{lifecycle-BtrqlzIp.js → lifecycle-BiNcSCVf.js} +1 -1
  65. package/dist/{list.auth-overview-DqpchDrO.js → list.auth-overview-ByYcn7Ct.js} +1 -1
  66. package/dist/{list.auth-overview-DtfRUx-B.js → list.auth-overview-Di-jSuQF.js} +1 -1
  67. package/dist/llm-slug-generator.js +1 -1
  68. package/dist/{model-catalog--SvucuO6.js → model-catalog-ex4Cpln_.js} +12 -8
  69. package/dist/{models-zXXNWbCe.js → models-BonzQ9Rv.js} +7 -7
  70. package/dist/{models-cli-8b2o7ZBO.js → models-cli-Cc0fVKLR.js} +7 -7
  71. package/dist/{models-cli-DwXIxRSn.js → models-cli-DZ05AYqI.js} +8 -8
  72. package/dist/{node-cli-D55JvlGv.js → node-cli-CKXvITsL.js} +3 -3
  73. package/dist/{node-cli-Dmiet_CN.js → node-cli-Dfl7X414.js} +3 -3
  74. package/dist/{note-DrwZGnSu.js → note-DwkETqd-.js} +2 -0
  75. package/dist/{note-CLUeye9D.js → note-rV2vspIo.js} +2 -0
  76. package/dist/{onboard-CqUH0CNb.js → onboard-BDK2o_5B.js} +8 -8
  77. package/dist/{onboard-BMckmyvg.js → onboard-CpJeEn67.js} +8 -8
  78. package/dist/{onboard-channels-CWZUEiko.js → onboard-channels-CDXretWe.js} +2 -2
  79. package/dist/{onboard-channels-Di1MifgF.js → onboard-channels-ZnUGKi2j.js} +2 -2
  80. package/dist/{onboard-search-CLhDai7x.js → onboard-search-BIltnW27.js} +6 -6
  81. package/dist/{onboard-search-WWi4blgc.js → onboard-search-HgNX3hct.js} +6 -6
  82. package/dist/{onboarding-DsCvgeVW.js → onboarding-Bgx1tJnU.js} +128 -65
  83. package/dist/{onboarding-D4OTdWQp.js → onboarding-CBlXOasA.js} +128 -65
  84. package/dist/{openresponses-http-CFQL8cSe.js → openresponses-http-5S3xc2MZ.js} +1 -1
  85. package/dist/{openresponses-http-qcMe4CnQ.js → openresponses-http-BBNbIRzc.js} +2 -2
  86. package/dist/{openresponses-http-DVyWivMq.js → openresponses-http-BTpFUwym.js} +1 -1
  87. package/dist/{openresponses-http-D6Ttjnvd.js → openresponses-http-COAxhJal.js} +3 -3
  88. package/dist/{openresponses-http-BdrytBTu.js → openresponses-http-o273A5SH.js} +3 -3
  89. package/dist/{parent-default-help-ClCr80XR.js → parent-default-help-BwE33-U1.js} +1 -1
  90. package/dist/{parent-default-help-D_UWzDsy.js → parent-default-help-DzWAx_GB.js} +1 -1
  91. package/dist/{paths-DuymR5Rg.js → paths-Bzz-O3FX.js} +9 -9
  92. package/dist/{pi-embedded-IQzv6URS.js → pi-embedded-Bnuo5tPq.js} +5 -5
  93. package/dist/{pi-embedded-BS0sTNPV.js → pi-embedded-CeuBUTjd.js} +14 -14
  94. package/dist/{plugin-registry-DfiokqgQ.js → plugin-registry-D2IeEq2N.js} +1 -1
  95. package/dist/{plugin-registry-C6ytAnfA.js → plugin-registry-DjTXh-9g.js} +1 -1
  96. package/dist/plugin-sdk/{audio-preflight-Cyb1e94b.js → audio-preflight-CVWduuEO.js} +1 -1
  97. package/dist/plugin-sdk/{audio-preflight-CWTDcoUz.js → audio-preflight-CdPkTmJX.js} +1 -1
  98. package/dist/plugin-sdk/channel-plugin-common.js +1 -1
  99. package/dist/plugin-sdk/{channel-web-CcGhVHhJ.js → channel-web-oM8gCehY.js} +1 -1
  100. package/dist/plugin-sdk/command-status.js +1 -1
  101. package/dist/plugin-sdk/index.js +2 -2
  102. package/dist/plugin-sdk/{openresponses-http-BsP7r5IA.js → openresponses-http-C_9IfZXZ.js} +1 -1
  103. package/dist/plugin-sdk/{openresponses-http-C7iy26fS.js → openresponses-http-_SiZJaK2.js} +1 -1
  104. package/dist/plugin-sdk/{pi-model-discovery-runtime-FgSYY3zE.js → pi-model-discovery-runtime-BWcaNxzp.js} +1 -1
  105. package/dist/plugin-sdk/{registry-DyRgZdL8.js → registry-DXXOSq_V.js} +8 -8
  106. package/dist/plugin-sdk/{reply-K26zHCJ7.js → reply-e-9_IdAa.js} +5 -5
  107. package/dist/plugin-sdk/src/brand.d.ts +2 -2
  108. package/dist/plugin-sdk/{status-DUXaf75C.js → status-D_fsW8e3.js} +5 -5
  109. package/dist/plugin-sdk/{web-BnHwbjCb.js → web-BL2TuPTi.js} +1 -1
  110. package/dist/plugin-sdk/{web-BZ-KI_i-.js → web-CaVSiRWI.js} +2 -2
  111. package/dist/{plugins-cli-1wRgk_1k.js → plugins-cli-BMV70lmj.js} +6 -6
  112. package/dist/{plugins-cli-CHCNHfO2.js → plugins-cli-Bf0I1xYR.js} +6 -6
  113. package/dist/{program-BmRPzUoU.js → program-CZzXG3p4.js} +9 -9
  114. package/dist/{program-context-CRYL81pY.js → program-context-CaLlkx1k.js} +25 -25
  115. package/dist/{prompt-select-styled-BzqepcY0.js → prompt-select-styled-Cj_SHqRt.js} +8 -8
  116. package/dist/{prompt-select-styled-Ixt2Vxqr.js → prompt-select-styled-DVwrrZSb.js} +8 -8
  117. package/dist/{prompt-style-Wxki8rmI.js → prompt-style-CWAacuMq.js} +1 -2
  118. package/dist/{prompt-style-DxKPs6E0.js → prompt-style-Rmj3c-Ir.js} +1 -2
  119. package/dist/{providers-cli-DBG7T-38.js → providers-cli-BWZUM8kN.js} +3 -3
  120. package/dist/{providers-cli-DsUpaNkE.js → providers-cli-Dwb_MRo-.js} +3 -3
  121. package/dist/{pw-ai-BWWVm40d.js → pw-ai-D6eWnTeA.js} +1 -1
  122. package/dist/{register.agent-pKJfY4ij.js → register.agent-C-bHdMXU.js} +12 -12
  123. package/dist/{register.agent-D5MjI275.js → register.agent-D0ZpgSNd.js} +11 -11
  124. package/dist/{register.configure-DUqD_hkp.js → register.configure-B0PTAyow.js} +16 -16
  125. package/dist/{register.configure-BtdBEnbT.js → register.configure-B51e7-qt.js} +16 -16
  126. package/dist/{register.maintenance-Bu9WP0d1.js → register.maintenance-B3cXfhM1.js} +12 -12
  127. package/dist/{register.maintenance-CN_vDSkN.js → register.maintenance-BrmIl5VW.js} +13 -13
  128. package/dist/{register.message-Jpj57foO.js → register.message-Dzs1vNKG.js} +4 -4
  129. package/dist/{register.message-Bmx5XWhU.js → register.message-EKaGgJ9I.js} +4 -4
  130. package/dist/{register.onboard-BBdUy5X-.js → register.onboard-BFPT0Hh1.js} +18 -18
  131. package/dist/{register.onboard-BaIUg7j4.js → register.onboard-DmFrOBs4.js} +18 -18
  132. package/dist/{register.setup-CGKrDEMc.js → register.setup-5M8f6DaB.js} +18 -18
  133. package/dist/{register.setup-CxPYg9dc.js → register.setup-B0beU4w3.js} +18 -18
  134. package/dist/{register.status-health-sessions-Dyyxnfsc.js → register.status-health-sessions-9GJwT82K.js} +7 -7
  135. package/dist/{register.status-health-sessions-C0Tc0YCk.js → register.status-health-sessions-CEIpWahs.js} +7 -7
  136. package/dist/{register.subclis-D76pTHAo.js → register.subclis-C3yGp0vO.js} +17 -17
  137. package/dist/{reply-C-KlztgC.js → reply-B034LmuD.js} +12 -8
  138. package/dist/{run-main-REepjMTK.js → run-main-DYdI5qyZ.js} +18 -18
  139. package/dist/{runtime-helper-grants-vtmIYIZm.js → runtime-helper-grants-9-0EfflU.js} +1 -1
  140. package/dist/{runtime-helper-grants-BQPMglLl.js → runtime-helper-grants-BB9I81Ny.js} +1 -1
  141. package/dist/{sandbox-cli-Cj9M5dH_.js → sandbox-cli-Bl9Lyv-l.js} +3 -3
  142. package/dist/{sandbox-cli-DNh-ozSE.js → sandbox-cli-CAh9nzL6.js} +3 -3
  143. package/dist/{security-cli-B74QtPBv.js → security-cli-Bt7g6fbK.js} +4 -4
  144. package/dist/{security-cli--nwf-QKL.js → security-cli-lQy0YwCb.js} +4 -4
  145. package/dist/{server-CPLhmiQ1.js → server-BKrGeOGh.js} +3 -3
  146. package/dist/{server-CdnHL3HN.js → server-CES-5PaV.js} +3 -3
  147. package/dist/{server-cron-Bga__DzU.js → server-cron-D3WgivDk.js} +2 -2
  148. package/dist/{server-cron-9rZPNOCw.js → server-cron-q6O09WWT.js} +2 -2
  149. package/dist/{server-node-events-NE3EvW3K.js → server-node-events-DE5oWSSB.js} +4 -4
  150. package/dist/{server-node-events-CYM7X9Ka.js → server-node-events-Df_2uVcT.js} +4 -4
  151. package/dist/{status-DNSq7M4m.js → status-CdI_oSZ4.js} +1 -1
  152. package/dist/{status-Cbvyhx9d.js → status-CqIzNbBd.js} +1 -1
  153. package/dist/{status-DX0Q8QQg.js → status-DrXKyHMz.js} +4 -4
  154. package/dist/{status-DfxoXWmn.js → status-ne0p_x1W.js} +4 -4
  155. package/dist/{systemd-linger-9E60sw1j.js → systemd-linger-BTw_D-6k.js} +1 -1
  156. package/dist/{systemd-linger-BYFLOJbt.js → systemd-linger-BlmGMvvA.js} +1 -1
  157. package/dist/{tui-BTgZ8oh1.js → tui-CF9NTWgo.js} +1 -1
  158. package/dist/{tui-DCimzH-j.js → tui-CLXEsHbW.js} +1 -1
  159. package/dist/{tui-cli-DJ8WiWCz.js → tui-cli-Bo8T0iEO.js} +4 -4
  160. package/dist/{tui-cli-BzoEecpB.js → tui-cli-DIHJPDjw.js} +4 -4
  161. package/dist/{update-cli-vLZ2i1bC.js → update-cli-RA5GdCSl.js} +13 -13
  162. package/dist/{update-cli-DLE13jlu.js → update-cli-pAvK-b3V.js} +14 -14
  163. package/dist/{update-runner-DA8lIKi7.js → update-runner-CUbpiOBD.js} +1 -1
  164. package/dist/{update-runner-YRzVDxMy.js → update-runner-kVl9uX8I.js} +1 -1
  165. package/dist/{web-CdUefYwV.js → web-BSGV69pb.js} +4 -4
  166. package/dist/{web-D7U7yJI6.js → web-CFtLg8L6.js} +2 -2
  167. package/dist/{web-BqBwrpRI.js → web-CRHqblTb.js} +4 -4
  168. package/dist/{web-gqp_WLnj.js → web-D7NnzaWN.js} +1 -1
  169. package/dist/{web-DgtV30_7.js → web-R6Wrr8ru.js} +1 -1
  170. package/dist/{web-search-providers.runtime-Dr2M7_ZH.js → web-search-providers.runtime-BQw2Sxko.js} +1 -1
  171. package/dist/{web-search-providers.runtime-JauoxBKh.js → web-search-providers.runtime-E9CDTKMh.js} +1 -1
  172. package/docs/gateway/tailscale.md +44 -0
  173. package/docs/images/screenshots/local/chat-ui-1.png +0 -0
  174. package/docs/images/screenshots/local/final-ui-1.png +0 -0
  175. package/docs/images/screenshots/local/local-ui-1.png +0 -0
  176. package/docs/images/screenshots/local/local-ui-2.png +0 -0
  177. package/docs/images/screenshots/local/model-ui-1.png +0 -0
  178. package/docs/images/screenshots/local/wallet-ui-2.png +0 -0
  179. package/docs/install/index.md +26 -5
  180. package/docs/install/installer.md +11 -11
  181. package/docs/install/node.md +9 -0
  182. package/docs/install/vps.md +27 -7
  183. package/docs/security/baseline-checklist.md +7 -2
  184. package/docs/start/agent-wallet-mining-walkthrough.md +17 -1
  185. package/extensions/acpx/package.json +1 -1
  186. package/extensions/bluebubbles/package.json +1 -1
  187. package/extensions/copilot-proxy/package.json +1 -1
  188. package/extensions/diagnostics-otel/package.json +1 -1
  189. package/extensions/discord/package.json +1 -1
  190. package/extensions/fased-federation/package.json +1 -1
  191. package/extensions/feishu/package.json +1 -1
  192. package/extensions/google-gemini-cli-auth/package.json +1 -1
  193. package/extensions/googlechat/package.json +1 -1
  194. package/extensions/imessage/package.json +1 -1
  195. package/extensions/irc/package.json +1 -1
  196. package/extensions/line/package.json +1 -1
  197. package/extensions/llm-task/package.json +1 -1
  198. package/extensions/lobster/package.json +1 -1
  199. package/extensions/matrix/CHANGELOG.md +12 -0
  200. package/extensions/matrix/package.json +1 -1
  201. package/extensions/mattermost/package.json +1 -1
  202. package/extensions/memory-core/package.json +1 -1
  203. package/extensions/memory-lancedb/package.json +1 -1
  204. package/extensions/minimax-portal-auth/package.json +1 -1
  205. package/extensions/msteams/CHANGELOG.md +12 -0
  206. package/extensions/msteams/package.json +1 -1
  207. package/extensions/nextcloud-talk/package.json +1 -1
  208. package/extensions/nostr/CHANGELOG.md +12 -0
  209. package/extensions/nostr/package.json +1 -1
  210. package/extensions/open-prose/package.json +1 -1
  211. package/extensions/sat-mining/package.json +1 -1
  212. package/extensions/signal/package.json +1 -1
  213. package/extensions/slack/package.json +1 -1
  214. package/extensions/synology-chat/package.json +1 -1
  215. package/extensions/telegram/package.json +1 -1
  216. package/extensions/tlon/package.json +1 -1
  217. package/extensions/twitch/CHANGELOG.md +12 -0
  218. package/extensions/twitch/package.json +1 -1
  219. package/extensions/voice-call/CHANGELOG.md +12 -0
  220. package/extensions/voice-call/package.json +1 -1
  221. package/extensions/whatsapp/package.json +1 -1
  222. package/extensions/zalo/CHANGELOG.md +12 -0
  223. package/extensions/zalo/package.json +1 -1
  224. package/extensions/zalouser/CHANGELOG.md +12 -0
  225. package/extensions/zalouser/package.json +1 -1
  226. package/package.json +1 -1
  227. package/scripts/start-managed.sh +2 -2
  228. package/docs/images/screenshots/local/wallet-ui-1.png +0 -0
@@ -1,19 +1,12 @@
1
1
  import { H as theme } from "./agent-paths-BI1hx-tF.js";
2
+ import { M as clearActiveProgressLine } from "./entry.js";
2
3
  import { t as createCliProgress } from "./progress-DkVYFLij.js";
3
- import { a as stylePromptMessage, i as stylePromptHint, n as formatWizardIntro, o as stylePromptTitle, r as styleProgressTitle, t as displayPromptMessage } from "./prompt-style-DxKPs6E0.js";
4
+ import { a as stylePromptTitle, n as formatWizardIntro, r as stylePromptHint, t as displayPromptMessage } from "./prompt-style-Rmj3c-Ir.js";
4
5
  import { t as WizardCancelledError } from "./prompts-DdS4bZNt.js";
5
- import { n as note$1, t as formatFramedBlock } from "./note-CLUeye9D.js";
6
+ import { n as note, t as formatFramedBlock } from "./note-rV2vspIo.js";
6
7
  import { clearScreenDown, cursorTo, emitKeypressEvents, moveCursor } from "node:readline";
7
- import { cancel, intro, isCancel, outro, password, spinner, text } from "@clack/prompts";
8
8
 
9
9
  //#region src/wizard/clack-prompter.ts
10
- function guardCancel(value) {
11
- if (isCancel(value)) {
12
- cancel(stylePromptTitle("Setup cancelled.") ?? "Setup cancelled.");
13
- throw new WizardCancelledError();
14
- }
15
- return value;
16
- }
17
10
  function formatElapsed(ms) {
18
11
  const totalSeconds = Math.max(0, Math.floor(ms / 1e3));
19
12
  const minutes = Math.floor(totalSeconds / 60);
@@ -33,9 +26,24 @@ function multiMark(active, selected) {
33
26
  if (selected) return theme.success("✓");
34
27
  return radioMark(active);
35
28
  }
29
+ function trimLastChar(value) {
30
+ const chars = Array.from(value);
31
+ chars.pop();
32
+ return chars.join("");
33
+ }
34
+ function renderInputValue(value, params) {
35
+ if (value.length > 0) return params.secret ? theme.noteChrome("•".repeat(Array.from(value).length)) : value;
36
+ return params.placeholder ? theme.muted(params.placeholder) : "";
37
+ }
36
38
  function renderPromptFrame(title, lines) {
37
39
  return formatFramedBlock(lines, displayPromptMessage(title), { minWidth: 56 });
38
40
  }
41
+ function writeStandaloneLine(value, options = {}) {
42
+ clearActiveProgressLine();
43
+ const indent = options.indent ?? "";
44
+ const output = value.split("\n").map((line) => line.length > 0 ? `${indent}${line}` : line).join("\n");
45
+ process.stdout.write(`${output}\n`);
46
+ }
39
47
  function firstEnabledIndex(options) {
40
48
  return Math.max(0, options.findIndex((option) => !option.disabled));
41
49
  }
@@ -223,16 +231,94 @@ async function confirmWithArrows(params) {
223
231
  render();
224
232
  });
225
233
  }
234
+ async function textWithFrame(params) {
235
+ if (!process.stdin.isTTY || !process.stdout.isTTY || !process.stdin.setRawMode) {
236
+ const value = params.initialValue ?? "";
237
+ const error = params.validate?.(value);
238
+ if (error) throw new WizardCancelledError(error);
239
+ return value;
240
+ }
241
+ let value = params.initialValue ?? "";
242
+ let error;
243
+ let renderedLines = 0;
244
+ return await new Promise((resolve, reject) => {
245
+ const render = () => {
246
+ if (renderedLines > 0) {
247
+ moveCursor(process.stdout, 0, -renderedLines);
248
+ cursorTo(process.stdout, 0);
249
+ clearScreenDown(process.stdout);
250
+ }
251
+ const input = renderInputValue(value, {
252
+ placeholder: params.placeholder,
253
+ secret: params.secret
254
+ });
255
+ const lines = renderPromptFrame(params.message, [` ${theme.noteChrome(">")} ${input}`, ...error ? [` ${theme.error(error)}`] : []]);
256
+ process.stdout.write(`${lines.join("\n")}\n`);
257
+ renderedLines = lines.length;
258
+ };
259
+ const cleanup = () => {
260
+ process.stdin.off("keypress", onKeypress);
261
+ process.stdin.setRawMode?.(false);
262
+ process.stdin.pause();
263
+ process.stdout.write("\n");
264
+ };
265
+ const appendPrintable = (sequence) => {
266
+ for (const char of Array.from(sequence)) if (char >= " " && char !== "") value += char;
267
+ };
268
+ const onKeypress = (input, key = {}) => {
269
+ if (key.ctrl && key.name === "c") {
270
+ cleanup();
271
+ reject(new WizardCancelledError());
272
+ return;
273
+ }
274
+ if (key.ctrl && key.name === "u") {
275
+ value = "";
276
+ error = void 0;
277
+ render();
278
+ return;
279
+ }
280
+ if (key.name === "backspace" || key.sequence === "") {
281
+ value = trimLastChar(value);
282
+ error = void 0;
283
+ render();
284
+ return;
285
+ }
286
+ if (key.name === "return" || key.name === "enter") {
287
+ const validationError = params.validate?.(value);
288
+ if (validationError) {
289
+ error = validationError;
290
+ render();
291
+ return;
292
+ }
293
+ cleanup();
294
+ resolve(value);
295
+ return;
296
+ }
297
+ const sequence = key.sequence ?? input;
298
+ if (!key.ctrl && sequence) {
299
+ appendPrintable(sequence);
300
+ error = void 0;
301
+ render();
302
+ }
303
+ };
304
+ process.stdout.write("\n");
305
+ emitKeypressEvents(process.stdin);
306
+ process.stdin.setRawMode?.(true);
307
+ process.stdin.resume();
308
+ process.stdin.on("keypress", onKeypress);
309
+ render();
310
+ });
311
+ }
226
312
  function createClackPrompter() {
227
313
  return {
228
314
  intro: async (title) => {
229
- intro(formatWizardIntro(title));
315
+ writeStandaloneLine(formatWizardIntro(title));
230
316
  },
231
317
  outro: async (message) => {
232
- outro(stylePromptTitle(message) ?? message);
318
+ writeStandaloneLine(stylePromptTitle(message) ?? message, { indent: " " });
233
319
  },
234
320
  note: async (message, title) => {
235
- note$1(message, title);
321
+ note(message, title);
236
322
  },
237
323
  select: async (params) => chooseWithArrows({
238
324
  message: params.message,
@@ -267,54 +353,38 @@ function createClackPrompter() {
267
353
  initialValues: params.initialValues
268
354
  });
269
355
  },
270
- text: async (params) => {
271
- const validate = params.validate;
272
- return guardCancel(await text({
273
- message: stylePromptMessage(params.message),
274
- initialValue: params.initialValue,
275
- placeholder: params.placeholder,
276
- validate: validate ? (value) => validate(value ?? "") : void 0
277
- }));
278
- },
279
- secret: async (params) => {
280
- const validate = params.validate;
281
- return guardCancel(await password({
282
- message: stylePromptMessage(params.message),
283
- validate: validate ? (value) => validate(value ?? "") : void 0,
284
- mask: "•"
285
- }));
286
- },
356
+ text: async (params) => textWithFrame(params),
357
+ secret: async (params) => textWithFrame({
358
+ ...params,
359
+ secret: true
360
+ }),
287
361
  confirm: async (params) => confirmWithArrows({
288
362
  message: params.message,
289
363
  initialValue: params.initialValue
290
364
  }),
291
365
  progress: (label) => {
292
- const spin = spinner();
293
366
  const startedAt = Date.now();
294
367
  let currentMessage = label;
295
- const render = (message) => `${styleProgressTitle(message)} ${theme.muted(`(${formatElapsed(Date.now() - startedAt)})`)}`;
296
- spin.start(render(currentMessage));
368
+ const render = (message) => `${message} ${theme.muted(`(${formatElapsed(Date.now() - startedAt)})`)}`;
297
369
  const elapsedTimer = setInterval(() => {
298
- spin.message(render(currentMessage));
370
+ osc.setLabel(render(currentMessage));
299
371
  }, 1e3);
300
372
  elapsedTimer.unref?.();
301
373
  const osc = createCliProgress({
302
- label,
374
+ label: render(currentMessage),
303
375
  indeterminate: true,
304
376
  enabled: true,
305
- fallback: "none"
377
+ fallback: "line",
378
+ stream: process.stdout
306
379
  });
307
380
  return {
308
381
  update: (message) => {
309
382
  currentMessage = message;
310
- spin.message(render(currentMessage));
311
- osc.setLabel(message);
383
+ osc.setLabel(render(currentMessage));
312
384
  },
313
385
  stop: (message) => {
314
386
  clearInterval(elapsedTimer);
315
387
  osc.done();
316
- if (message && message.trim().length > 0) spin.stop(theme.success(message));
317
- else spin.clear();
318
388
  }
319
389
  };
320
390
  }
@@ -1,19 +1,12 @@
1
1
  import { U as theme } from "./agent-paths-DmOVZE7g.js";
2
+ import { p as clearActiveProgressLine } from "./errors-Dx3S3Nrp.js";
2
3
  import { t as createCliProgress } from "./progress-DZRfIFVb.js";
3
- import { a as stylePromptMessage, i as stylePromptHint, n as formatWizardIntro, o as stylePromptTitle, r as styleProgressTitle, t as displayPromptMessage } from "./prompt-style-Wxki8rmI.js";
4
+ import { a as stylePromptTitle, n as formatWizardIntro, r as stylePromptHint, t as displayPromptMessage } from "./prompt-style-CWAacuMq.js";
4
5
  import { t as WizardCancelledError } from "./prompts-CbbpEiEO.js";
5
- import { n as note$1, t as formatFramedBlock } from "./note-DrwZGnSu.js";
6
+ import { n as note, t as formatFramedBlock } from "./note-DwkETqd-.js";
6
7
  import { clearScreenDown, cursorTo, emitKeypressEvents, moveCursor } from "node:readline";
7
- import { cancel, intro, isCancel, outro, password, spinner, text } from "@clack/prompts";
8
8
 
9
9
  //#region src/wizard/clack-prompter.ts
10
- function guardCancel(value) {
11
- if (isCancel(value)) {
12
- cancel(stylePromptTitle("Setup cancelled.") ?? "Setup cancelled.");
13
- throw new WizardCancelledError();
14
- }
15
- return value;
16
- }
17
10
  function formatElapsed(ms) {
18
11
  const totalSeconds = Math.max(0, Math.floor(ms / 1e3));
19
12
  const minutes = Math.floor(totalSeconds / 60);
@@ -33,9 +26,24 @@ function multiMark(active, selected) {
33
26
  if (selected) return theme.success("✓");
34
27
  return radioMark(active);
35
28
  }
29
+ function trimLastChar(value) {
30
+ const chars = Array.from(value);
31
+ chars.pop();
32
+ return chars.join("");
33
+ }
34
+ function renderInputValue(value, params) {
35
+ if (value.length > 0) return params.secret ? theme.noteChrome("•".repeat(Array.from(value).length)) : value;
36
+ return params.placeholder ? theme.muted(params.placeholder) : "";
37
+ }
36
38
  function renderPromptFrame(title, lines) {
37
39
  return formatFramedBlock(lines, displayPromptMessage(title), { minWidth: 56 });
38
40
  }
41
+ function writeStandaloneLine(value, options = {}) {
42
+ clearActiveProgressLine();
43
+ const indent = options.indent ?? "";
44
+ const output = value.split("\n").map((line) => line.length > 0 ? `${indent}${line}` : line).join("\n");
45
+ process.stdout.write(`${output}\n`);
46
+ }
39
47
  function firstEnabledIndex(options) {
40
48
  return Math.max(0, options.findIndex((option) => !option.disabled));
41
49
  }
@@ -223,16 +231,94 @@ async function confirmWithArrows(params) {
223
231
  render();
224
232
  });
225
233
  }
234
+ async function textWithFrame(params) {
235
+ if (!process.stdin.isTTY || !process.stdout.isTTY || !process.stdin.setRawMode) {
236
+ const value = params.initialValue ?? "";
237
+ const error = params.validate?.(value);
238
+ if (error) throw new WizardCancelledError(error);
239
+ return value;
240
+ }
241
+ let value = params.initialValue ?? "";
242
+ let error;
243
+ let renderedLines = 0;
244
+ return await new Promise((resolve, reject) => {
245
+ const render = () => {
246
+ if (renderedLines > 0) {
247
+ moveCursor(process.stdout, 0, -renderedLines);
248
+ cursorTo(process.stdout, 0);
249
+ clearScreenDown(process.stdout);
250
+ }
251
+ const input = renderInputValue(value, {
252
+ placeholder: params.placeholder,
253
+ secret: params.secret
254
+ });
255
+ const lines = renderPromptFrame(params.message, [` ${theme.noteChrome(">")} ${input}`, ...error ? [` ${theme.error(error)}`] : []]);
256
+ process.stdout.write(`${lines.join("\n")}\n`);
257
+ renderedLines = lines.length;
258
+ };
259
+ const cleanup = () => {
260
+ process.stdin.off("keypress", onKeypress);
261
+ process.stdin.setRawMode?.(false);
262
+ process.stdin.pause();
263
+ process.stdout.write("\n");
264
+ };
265
+ const appendPrintable = (sequence) => {
266
+ for (const char of Array.from(sequence)) if (char >= " " && char !== "") value += char;
267
+ };
268
+ const onKeypress = (input, key = {}) => {
269
+ if (key.ctrl && key.name === "c") {
270
+ cleanup();
271
+ reject(new WizardCancelledError());
272
+ return;
273
+ }
274
+ if (key.ctrl && key.name === "u") {
275
+ value = "";
276
+ error = void 0;
277
+ render();
278
+ return;
279
+ }
280
+ if (key.name === "backspace" || key.sequence === "") {
281
+ value = trimLastChar(value);
282
+ error = void 0;
283
+ render();
284
+ return;
285
+ }
286
+ if (key.name === "return" || key.name === "enter") {
287
+ const validationError = params.validate?.(value);
288
+ if (validationError) {
289
+ error = validationError;
290
+ render();
291
+ return;
292
+ }
293
+ cleanup();
294
+ resolve(value);
295
+ return;
296
+ }
297
+ const sequence = key.sequence ?? input;
298
+ if (!key.ctrl && sequence) {
299
+ appendPrintable(sequence);
300
+ error = void 0;
301
+ render();
302
+ }
303
+ };
304
+ process.stdout.write("\n");
305
+ emitKeypressEvents(process.stdin);
306
+ process.stdin.setRawMode?.(true);
307
+ process.stdin.resume();
308
+ process.stdin.on("keypress", onKeypress);
309
+ render();
310
+ });
311
+ }
226
312
  function createClackPrompter() {
227
313
  return {
228
314
  intro: async (title) => {
229
- intro(formatWizardIntro(title));
315
+ writeStandaloneLine(formatWizardIntro(title));
230
316
  },
231
317
  outro: async (message) => {
232
- outro(stylePromptTitle(message) ?? message);
318
+ writeStandaloneLine(stylePromptTitle(message) ?? message, { indent: " " });
233
319
  },
234
320
  note: async (message, title) => {
235
- note$1(message, title);
321
+ note(message, title);
236
322
  },
237
323
  select: async (params) => chooseWithArrows({
238
324
  message: params.message,
@@ -267,54 +353,38 @@ function createClackPrompter() {
267
353
  initialValues: params.initialValues
268
354
  });
269
355
  },
270
- text: async (params) => {
271
- const validate = params.validate;
272
- return guardCancel(await text({
273
- message: stylePromptMessage(params.message),
274
- initialValue: params.initialValue,
275
- placeholder: params.placeholder,
276
- validate: validate ? (value) => validate(value ?? "") : void 0
277
- }));
278
- },
279
- secret: async (params) => {
280
- const validate = params.validate;
281
- return guardCancel(await password({
282
- message: stylePromptMessage(params.message),
283
- validate: validate ? (value) => validate(value ?? "") : void 0,
284
- mask: "•"
285
- }));
286
- },
356
+ text: async (params) => textWithFrame(params),
357
+ secret: async (params) => textWithFrame({
358
+ ...params,
359
+ secret: true
360
+ }),
287
361
  confirm: async (params) => confirmWithArrows({
288
362
  message: params.message,
289
363
  initialValue: params.initialValue
290
364
  }),
291
365
  progress: (label) => {
292
- const spin = spinner();
293
366
  const startedAt = Date.now();
294
367
  let currentMessage = label;
295
- const render = (message) => `${styleProgressTitle(message)} ${theme.muted(`(${formatElapsed(Date.now() - startedAt)})`)}`;
296
- spin.start(render(currentMessage));
368
+ const render = (message) => `${message} ${theme.muted(`(${formatElapsed(Date.now() - startedAt)})`)}`;
297
369
  const elapsedTimer = setInterval(() => {
298
- spin.message(render(currentMessage));
370
+ osc.setLabel(render(currentMessage));
299
371
  }, 1e3);
300
372
  elapsedTimer.unref?.();
301
373
  const osc = createCliProgress({
302
- label,
374
+ label: render(currentMessage),
303
375
  indeterminate: true,
304
376
  enabled: true,
305
- fallback: "none"
377
+ fallback: "line",
378
+ stream: process.stdout
306
379
  });
307
380
  return {
308
381
  update: (message) => {
309
382
  currentMessage = message;
310
- spin.message(render(currentMessage));
311
- osc.setLabel(message);
383
+ osc.setLabel(render(currentMessage));
312
384
  },
313
385
  stop: (message) => {
314
386
  clearInterval(elapsedTimer);
315
387
  osc.done();
316
- if (message && message.trim().length > 0) spin.stop(theme.success(message));
317
- else spin.clear();
318
388
  }
319
389
  };
320
390
  }
@@ -1,5 +1,5 @@
1
1
  // Legacy shim for pre-tsdown update-cli imports.
2
- import * as daemonCli from "../daemon-cli-D99T8qck.js";
2
+ import * as daemonCli from "../daemon-cli-DiuXEPjO.js";
3
3
  export const registerDaemonCli = daemonCli.t.registerDaemonCli;
4
4
  export const runDaemonInstall = daemonCli.s;
5
5
  export const runDaemonRestart = daemonCli.r;
@@ -2,7 +2,7 @@ import { Gu as resolveDefaultAgentId, Wu as resolveAgentWorkspaceDir, Xt as load
2
2
  import "./agent-paths-BI1hx-tF.js";
3
3
  import "./send-D7X0_iFp.js";
4
4
  import "./send-BFEd4vCM.js";
5
- import { c as loadFasedAgentPlugins } from "./model-catalog--SvucuO6.js";
5
+ import { c as loadFasedAgentPlugins } from "./model-catalog-ex4Cpln_.js";
6
6
  import "./github-copilot-token-A9DiaCB0.js";
7
7
  import "./reply-prefix-TUhpEtvr.js";
8
8
  import "./memory-2keYbXkc.js";
@@ -44,7 +44,7 @@ import "./send-C-su1wPZ.js";
44
44
  import "./outbound-attachment-Bh4FmcYg.js";
45
45
  import "./fetch-BVvWzHT_.js";
46
46
  import "./delivery-queue-55Cityuq.js";
47
- import "./deps-5vuaH16V.js";
47
+ import "./deps-BWo3ls9h.js";
48
48
  import "./frontmatter-D2UNJikU.js";
49
49
  import "./skills-Dis31awJ.js";
50
50
  import "./skills-remote-CIAB0AXm.js";
@@ -71,7 +71,7 @@ import "./cli-utils-XevKf-tr.js";
71
71
  import "./help-format-B2DRdx98.js";
72
72
  import "./progress-DkVYFLij.js";
73
73
  import "./replies-FXlmpJVO.js";
74
- import "./prompt-style-DxKPs6E0.js";
74
+ import "./prompt-style-Rmj3c-Ir.js";
75
75
  import "./pairing-labels-BCM1S2e_.js";
76
76
 
77
77
  //#region src/plugins/cli.ts
@@ -2,7 +2,7 @@ import "./paths-C9FmTW1x.js";
2
2
  import "./agent-paths-DmOVZE7g.js";
3
3
  import { Dn as loadConfig, F as createSubsystemLogger, d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-DHrLr5OF.js";
4
4
  import "./commands-registry-BRvZQ1jh.js";
5
- import { Nt as loadFasedAgentPlugins } from "./reply-C-KlztgC.js";
5
+ import { Nt as loadFasedAgentPlugins } from "./reply-B034LmuD.js";
6
6
  import "./errors-Dx3S3Nrp.js";
7
7
  import "./send-C5_fB8YQ.js";
8
8
  import "./send-jxmRy65D.js";
@@ -37,7 +37,7 @@ import "./ssrf-Blf4NrHS.js";
37
37
  import "./outbound-attachment-CsXJwFsg.js";
38
38
  import "./fetch-CnCPOuq7.js";
39
39
  import "./delivery-queue-DKRjVFlq.js";
40
- import "./deps-DXHMO1Yj.js";
40
+ import "./deps-BKAIBkcE.js";
41
41
  import "./memory-DDpj0IVA.js";
42
42
  import "./memory-search-BwYkW6_V.js";
43
43
  import "./manager-BmONwMiP.js";
@@ -74,7 +74,7 @@ import "./progress-DZRfIFVb.js";
74
74
  import "./replies-Do40G8fO.js";
75
75
  import "./skills-remote-BghdrdFV.js";
76
76
  import "./skill-commands-QW8zKXC_.js";
77
- import "./prompt-style-Wxki8rmI.js";
77
+ import "./prompt-style-CWAacuMq.js";
78
78
  import "./pairing-labels-D2yOKhoV.js";
79
79
 
80
80
  //#region src/plugins/cli.ts
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { A as defaultRuntime, Mt as hasHelpOrVersion, kt as getPrimaryCommand } from "./entry.js";
3
3
  import { C as walletSetupCommand, D as walletStatusCommand, E as walletSignerServeCommand, S as walletRotateKeysCommand, T as walletSignerDoctorCommand, _ as walletLimitOrdersConfigureCommand, a as walletCustodyInitCommand, b as walletProviderConfigureCommand, c as walletInboundPollCommand, d as walletKeystoreImportCommand, f as walletKeystoreInitCommand, g as walletKeystoreValidateCommand, h as walletKeystoreStatusCommand, i as walletCanaryCommand, l as walletInboundReconcileCommand, m as walletKeystorePassphraseRotateCommand, o as walletCustodyLockCommand, p as walletKeystorePassphraseInitCommand, s as walletInboundListCommand, u as walletKeystoreExportCommand, v as walletMigrateCommand, w as walletSignerBrokerCommand, x as walletRoleSetCommand, y as walletPolicyProfileApplyCommand } from "./wallet-C95r3fvu.js";
4
4
  import { n as runCommandWithRuntime } from "./cli-utils-XevKf-tr.js";
5
- import { i as registerSubCliCommands, o as removeCommandByName, s as reparseProgramFromActionArgs } from "./register.subclis-D76pTHAo.js";
5
+ import { i as registerSubCliCommands, o as removeCommandByName, s as reparseProgramFromActionArgs } from "./register.subclis-C3yGp0vO.js";
6
6
 
7
7
  //#region src/cli/program/register.wallet.ts
8
8
  function resolvePublicWalletSetupChain(raw) {
@@ -302,7 +302,7 @@ const coreEntries = [
302
302
  hasSubcommands: false
303
303
  }],
304
304
  register: async ({ program }) => {
305
- (await import("./register.setup-CGKrDEMc.js")).registerSetupCommand(program);
305
+ (await import("./register.setup-5M8f6DaB.js")).registerSetupCommand(program);
306
306
  }
307
307
  },
308
308
  {
@@ -312,7 +312,7 @@ const coreEntries = [
312
312
  hasSubcommands: false
313
313
  }],
314
314
  register: async ({ program }) => {
315
- (await import("./register.onboard-BBdUy5X-.js")).registerOnboardCommand(program);
315
+ (await import("./register.onboard-BFPT0Hh1.js")).registerOnboardCommand(program);
316
316
  }
317
317
  },
318
318
  {
@@ -322,7 +322,7 @@ const coreEntries = [
322
322
  hasSubcommands: false
323
323
  }],
324
324
  register: async ({ program }) => {
325
- (await import("./register.configure-DUqD_hkp.js")).registerConfigureCommand(program);
325
+ (await import("./register.configure-B0PTAyow.js")).registerConfigureCommand(program);
326
326
  }
327
327
  },
328
328
  {
@@ -332,7 +332,7 @@ const coreEntries = [
332
332
  hasSubcommands: true
333
333
  }],
334
334
  register: async ({ program }) => {
335
- (await import("./config-cli-wGaTNazO.js")).registerConfigCli(program);
335
+ (await import("./config-cli-CTo8yFw1.js")).registerConfigCli(program);
336
336
  }
337
337
  },
338
338
  {
@@ -359,7 +359,7 @@ const coreEntries = [
359
359
  }
360
360
  ],
361
361
  register: async ({ program }) => {
362
- (await import("./register.maintenance-CN_vDSkN.js")).registerMaintenanceCommands(program);
362
+ (await import("./register.maintenance-BrmIl5VW.js")).registerMaintenanceCommands(program);
363
363
  }
364
364
  },
365
365
  {
@@ -369,7 +369,7 @@ const coreEntries = [
369
369
  hasSubcommands: true
370
370
  }],
371
371
  register: async ({ program, ctx }) => {
372
- (await import("./register.message-Bmx5XWhU.js")).registerMessageCommands(program, ctx);
372
+ (await import("./register.message-EKaGgJ9I.js")).registerMessageCommands(program, ctx);
373
373
  }
374
374
  },
375
375
  {
@@ -393,7 +393,7 @@ const coreEntries = [
393
393
  hasSubcommands: true
394
394
  }],
395
395
  register: async ({ program, ctx }) => {
396
- (await import("./register.agent-pKJfY4ij.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
396
+ (await import("./register.agent-C-bHdMXU.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
397
397
  }
398
398
  },
399
399
  {
@@ -415,7 +415,7 @@ const coreEntries = [
415
415
  }
416
416
  ],
417
417
  register: async ({ program }) => {
418
- (await import("./register.status-health-sessions-Dyyxnfsc.js")).registerStatusHealthSessionsCommands(program);
418
+ (await import("./register.status-health-sessions-9GJwT82K.js")).registerStatusHealthSessionsCommands(program);
419
419
  }
420
420
  },
421
421
  {
@@ -3,8 +3,8 @@ import { gu as routeLogsToStderr } from "./env-C77feXxI.js";
3
3
  import { H as theme, _ as pathExists } from "./agent-paths-BI1hx-tF.js";
4
4
  import { Ct as resolveStateDir } from "./entry.js";
5
5
  import { t as formatDocsLink } from "./links-BxcIEPsi.js";
6
- import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-D76pTHAo.js";
7
- import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-DH2g-1VS.js";
6
+ import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-C3yGp0vO.js";
7
+ import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-Bs12xiCA.js";
8
8
  import { t as getProgramContext } from "./program-context-CDFrVtWb.js";
9
9
  import os from "node:os";
10
10
  import path from "node:path";
@@ -3,7 +3,7 @@ import { _ as resolveStateDir } from "./paths-C9FmTW1x.js";
3
3
  import { U as theme, v as pathExists } from "./agent-paths-DmOVZE7g.js";
4
4
  import { id as routeLogsToStderr } from "./agent-scope-DHrLr5OF.js";
5
5
  import { t as formatDocsLink } from "./links-7kxyNpcK.js";
6
- import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-CRYL81pY.js";
6
+ import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-CaLlkx1k.js";
7
7
  import os from "node:os";
8
8
  import path from "node:path";
9
9
  import fs from "node:fs/promises";
@@ -206,7 +206,7 @@ async function runConfigUnset(opts) {
206
206
  }
207
207
  function registerConfigCli(program) {
208
208
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.fased.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
209
- const { configureCommandFromSectionsArg } = await import("./configure-B3qdEOin.js");
209
+ const { configureCommandFromSectionsArg } = await import("./configure-D0-Sq2kW.js");
210
210
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
211
211
  });
212
212
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).option("--unredacted", "Show sensitive values (unredacted)", false).action(async (path, opts) => {
@@ -209,7 +209,7 @@ async function runConfigUnset(opts) {
209
209
  }
210
210
  function registerConfigCli(program) {
211
211
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.fased.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
212
- const { configureCommandFromSectionsArg } = await import("./configure-BZPWTrYa.js");
212
+ const { configureCommandFromSectionsArg } = await import("./configure-CLTc56jo.js");
213
213
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
214
214
  });
215
215
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).option("--unredacted", "Show sensitive values (unredacted)", false).action(async (path, opts) => {
@@ -10,8 +10,8 @@ import "./exec-approvals-allowlist-DUD1J7-S.js";
10
10
  import "./dangerous-name-matching-CnyEIiOk.js";
11
11
  import "./pairing-store-Dx15g_mY.js";
12
12
  import { c as shouldMigrateStateFromPath } from "./argv-BqQeWVYw.js";
13
- import "./note-DrwZGnSu.js";
14
- import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-Cd9O0xNE.js";
13
+ import "./note-DwkETqd-.js";
14
+ import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-Ceaz-Gkk.js";
15
15
 
16
16
  //#region src/cli/program/config-guard.ts
17
17
  const ALLOWED_INVALID_COMMANDS = new Set([
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Cu as formatCliCommand, Qt as readConfigFileSnapshot } from "./env-C77feXxI.js";
3
3
  import { B as colorize, H as theme, V as isRich, w as shortenHomePath } from "./agent-paths-BI1hx-tF.js";
4
4
  import { Pt as shouldMigrateStateFromPath } from "./entry.js";
5
- import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-4WutpMTV.js";
5
+ import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-B-I0osH5.js";
6
6
 
7
7
  //#region src/cli/program/config-guard.ts
8
8
  var config_guard_exports = /* @__PURE__ */ __exportAll({ ensureConfigReady: () => ensureConfigReady });