@fased/fased 0.1.10 → 0.1.11

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 (291) hide show
  1. package/README.md +7 -5
  2. package/dist/{active-listener-BC05EmaA.js → active-listener-CNrLAfOg.js} +1 -1
  3. package/dist/{agent-scope-DVw8mi_i.js → agent-scope-T2X-I1lP.js} +124 -124
  4. package/dist/{agents-CsxQP5xg.js → agents-CMJVD0OP.js} +8 -8
  5. package/dist/{attachment-normalize-CSxeaVcP.js → attachment-normalize-CJ8osx0y.js} +1 -1
  6. package/dist/{attachment-normalize-f9lQXrZo.js → attachment-normalize-Dqpm6stW.js} +1 -1
  7. package/dist/{audio-preflight-DD1zXhwM.js → audio-preflight-B2FUM6w4.js} +2 -2
  8. package/dist/{audio-preflight-C_g_wQAc.js → audio-preflight-BaItcO_S.js} +31 -31
  9. package/dist/{audio-preflight-BeJd4YPQ.js → audio-preflight-CMBypKf2.js} +2 -2
  10. package/dist/{audio-preflight-CVU3GLti.js → audio-preflight-Cf6hrG6Y.js} +2 -2
  11. package/dist/{audio-preflight-DBtzpOL_.js → audio-preflight-JNkJegO7.js} +1 -1
  12. package/dist/{audit-BB2lDlNb.js → audit-BjCVaoog.js} +1 -1
  13. package/dist/{audit-CDgqnjys.js → audit-Dm9_Y9ek.js} +1 -1
  14. package/dist/{auth-Bfgwy6TQ.js → auth-CmR3RRfx.js} +5 -5
  15. package/dist/{auth-choice-DlcbJgp_.js → auth-choice-C-sID0RY.js} +1 -1
  16. package/dist/{auth-choice-DbEAsUsi.js → auth-choice-DPEogMvC.js} +1 -1
  17. package/dist/{auth-choice-prompt-CcOEzXoi.js → auth-choice-prompt-Cbcp3Ee2.js} +1 -1
  18. package/dist/{auth-choice-prompt-DMlwK9kF.js → auth-choice-prompt-CzCpmXZF.js} +1 -1
  19. package/dist/build-info.json +3 -3
  20. package/dist/bundled/boot-md/handler.js +31 -31
  21. package/dist/bundled/bootstrap-extra-files/handler.js +3 -3
  22. package/dist/bundled/command-logger/handler.js +2 -2
  23. package/dist/bundled/session-memory/handler.js +31 -31
  24. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  25. package/dist/{channel-activity-D2IwnDWk.js → channel-activity-C0DEUhUn.js} +1 -1
  26. package/dist/{channel-web-qHKfuCHE.js → channel-web-BTEzRgur.js} +1 -1
  27. package/dist/{channel-web-CMZFjZzU.js → channel-web-DBR7OGrA.js} +1 -1
  28. package/dist/{channels-DvT6s1kl.js → channels-DsRKZ6NL.js} +6 -6
  29. package/dist/{channels-BoOF2dAy.js → channels-FmXyntMa.js} +6 -6
  30. package/dist/{channels-cli-CNhEFKbn.js → channels-cli-D3X_07NV.js} +5 -5
  31. package/dist/{channels-cli-NoUnbEgC.js → channels-cli-DvmzEcUf.js} +5 -5
  32. package/dist/{chunk-BFGwq8HC.js → chunk-Q3WlKwcl.js} +1 -1
  33. package/dist/cli/daemon-cli.js +1 -1
  34. package/dist/{cli-Ctvy4-cz.js → cli-BvLMhUPA.js} +2 -2
  35. package/dist/{cli-CE8pVYeA.js → cli-DMsf3uMe.js} +2 -2
  36. package/dist/{command-registry-fqlYdOTI.js → command-registry-DXN6Gm6U.js} +9 -9
  37. package/dist/{commands-registry-C7qLmjBS.js → commands-registry-CwvSkARW.js} +1 -1
  38. package/dist/{completion-cli-CKzB1lB1.js → completion-cli-BakZ-vJj.js} +2 -2
  39. package/dist/{completion-cli-Bd9iPo4A.js → completion-cli-is3s-YXN.js} +1 -1
  40. package/dist/{config-cli-CQpqSVFS.js → config-cli-CHZ9egMQ.js} +1 -1
  41. package/dist/{config-cli-DUNkddbL.js → config-cli-DTCrEIaK.js} +1 -1
  42. package/dist/{config-eval-CG37crOn.js → config-eval-BMGRKCyr.js} +3 -3
  43. package/dist/{configure-B2WT8-lE.js → configure-AXjfwCbC.js} +12 -12
  44. package/dist/{configure-DxDNasaD.js → configure-t0_VefWH.js} +12 -12
  45. package/dist/control-ui/assets/app-wpJSg6bV.js.map +1 -1
  46. package/dist/{cron-cli-DYWW7cv1.js → cron-cli-BHTg4HPO.js} +2 -2
  47. package/dist/{cron-cli-D3Dznk0V.js → cron-cli-DIedHCwY.js} +2 -2
  48. package/dist/{daemon-cli-DFjCvbUo.js → daemon-cli-DUMUVnTJ.js} +1 -1
  49. package/dist/{daemon-cli-DDUjmEow.js → daemon-cli-lv-0kuHT.js} +1 -1
  50. package/dist/daemon-cli.js +1 -1
  51. package/dist/{deps-4rCQ5SBd.js → deps-5PYELVCT.js} +1 -1
  52. package/dist/{deps-CBapZnsi.js → deps-7Xjk7uTn.js} +1 -1
  53. package/dist/{diagnostic-DWKSfm_q.js → diagnostic-PXNTTbiu.js} +1 -1
  54. package/dist/entry.js +1 -1
  55. package/dist/extensionAPI.js +2 -2
  56. package/dist/{fetch-DyKd0D6V.js → fetch-D6yXePhv.js} +1 -1
  57. package/dist/{fetch-guard-Ztzfiio9.js → fetch-guard-B-XqKRhJ.js} +1 -1
  58. package/dist/{filesystem-manager-9uqWGvqg.js → filesystem-manager-_ccVdKHj.js} +4 -4
  59. package/dist/{fs-safe--dkmYAev.js → fs-safe-CkRcL-Cg.js} +2 -2
  60. package/dist/{gateway-cli-BXl9lmch.js → gateway-cli-COUUlBN5.js} +27 -27
  61. package/dist/{gateway-cli-CNCA_gcT.js → gateway-cli-a_LcL_Yi.js} +27 -27
  62. package/dist/{github-copilot-token-DYrFvncE.js → github-copilot-token-eyrRGmGp.js} +8 -8
  63. package/dist/{health-DTTfLYjl.js → health-DQlfle1u.js} +2 -2
  64. package/dist/{health-C_g99tp_.js → health-DZ82kGpi.js} +2 -2
  65. package/dist/{heartbeat-runner-DXh84Wuy.js → heartbeat-runner-BDe0KJF7.js} +1 -1
  66. package/dist/{heartbeat-runner-D04n14H-.js → heartbeat-runner-C2n7G095.js} +1 -1
  67. package/dist/{hooks-cli-FhVd5CE-.js → hooks-cli-8GN0KlvM.js} +3 -3
  68. package/dist/{hooks-cli-BDpBNlPV.js → hooks-cli-yMMxy-yo.js} +3 -3
  69. package/dist/index.js +7 -7
  70. package/dist/{internal-yBWuTfFC.js → internal-CtV-S2kE.js} +3 -3
  71. package/dist/{ipv4-Citn8Cno.js → ipv4-D1FYQ4Mk.js} +2 -2
  72. package/dist/{ipv4-P47TSJIK.js → ipv4-DgQOUcwH.js} +2 -2
  73. package/dist/{lifecycle-Bgh3V8Jt.js → lifecycle-BxdJxsFv.js} +1 -1
  74. package/dist/{lifecycle-B4RibYD4.js → lifecycle-DUQ2P6lB.js} +1 -1
  75. package/dist/{list.auth-overview-BQzrIpgk.js → list.auth-overview-C9QoS2ou.js} +1 -1
  76. package/dist/{list.auth-overview-fBVXihg0.js → list.auth-overview-CrlYcU_A.js} +1 -1
  77. package/dist/llm-slug-generator.js +31 -31
  78. package/dist/{login-DPlzYTXi.js → login-C4KKxuM4.js} +2 -2
  79. package/dist/{login-qr-c2Drd9vA.js → login-qr-DMxUP87H.js} +3 -3
  80. package/dist/{manager-XJq9ONvb.js → manager-O_PUm8xA.js} +8 -8
  81. package/dist/{markdown-tables-7kI-7mng.js → markdown-tables-QOHpjP76.js} +1 -1
  82. package/dist/{media-D4nEnyX9.js → media-KeWZMCmf.js} +5 -5
  83. package/dist/{memory-search-Z2b0d-jA.js → memory-search-BVlFBMLd.js} +2 -2
  84. package/dist/{model-catalog-B2mRe6cZ.js → model-catalog-D4rEoh5e.js} +9 -9
  85. package/dist/{models-cli-CXdCnyks.js → models-cli-C8qP0w3J.js} +5 -5
  86. package/dist/{models-cli-Bl8xk6-0.js → models-cli-Cq7UxTbg.js} +4 -4
  87. package/dist/{models-D8MTK6SG.js → models-jVuLblxp.js} +4 -4
  88. package/dist/{node-cli-DkgKrYS1.js → node-cli-DScZRTL7.js} +2 -2
  89. package/dist/{node-cli-Cqh8buCU.js → node-cli-o6uY0qaP.js} +2 -2
  90. package/dist/{onboard-Dz8z4vBi.js → onboard-Ddf5Pf9K.js} +6 -6
  91. package/dist/{onboard-channels-DUa2qkms.js → onboard-channels-D8ENQiPK.js} +2 -2
  92. package/dist/{onboard-channels-CPh2EJOi.js → onboard-channels-Doc5AjLd.js} +2 -2
  93. package/dist/{onboard-BD0MOrv7.js → onboard-feH8VdPn.js} +6 -6
  94. package/dist/{onboard-search-CqiDzWQw.js → onboard-search-DuxAp1aK.js} +5 -5
  95. package/dist/{onboard-search-BnHMgV2k.js → onboard-search-GxWu-SFZ.js} +5 -5
  96. package/dist/{onboarding-DgTB_zq7.js → onboarding-BR7OHJ2H.js} +100 -63
  97. package/dist/{onboarding-BC-5Pv9o.js → onboarding-Cxkh1WwH.js} +100 -63
  98. package/dist/{openresponses-http-CcawkBY4.js → openresponses-http-BL1pUdQf.js} +2 -2
  99. package/dist/{openresponses-http-BQa9rI-N.js → openresponses-http-CzuT0O2I.js} +31 -31
  100. package/dist/{openresponses-http-BYiaPg-e.js → openresponses-http-DCHdi7mF.js} +2 -2
  101. package/dist/{openresponses-http-BirGBJTm.js → openresponses-http-DQ3c6n1-.js} +2 -2
  102. package/dist/{openresponses-http-BsQmM8zM.js → openresponses-http-MJ14c-46.js} +1 -1
  103. package/dist/{outbound-attachment-BnC5ITTB.js → outbound-attachment-DO7UVxZm.js} +2 -2
  104. package/dist/{outbound-vYt3OL7q.js → outbound-nrqaUQPn.js} +6 -6
  105. package/dist/{parent-default-help-CpfuGajV.js → parent-default-help-BKBeFc1_.js} +1 -1
  106. package/dist/{parent-default-help-DbMf7NQe.js → parent-default-help-BRMZI4YX.js} +1 -1
  107. package/dist/{path-alias-guards-BgsaoH-B.js → path-alias-guards-BVcGMct5.js} +1 -1
  108. package/dist/{paths-0bvQb_LS.js → paths-C2qpRqKS.js} +22 -22
  109. package/dist/{paths-BxKqczZV.js → paths-Dwg5yVao.js} +9 -9
  110. package/dist/{pi-embedded-DlBsi5bC.js → pi-embedded-Bqi9f0et.js} +14 -14
  111. package/dist/{pi-embedded-Bapdl5Mb.js → pi-embedded-D2PqvAO_.js} +239 -239
  112. package/dist/{pi-model-discovery-DpUv4v_r.js → pi-model-discovery-B1-QPAbn.js} +7 -7
  113. package/dist/pi-model-discovery-runtime-C3EP4IIA.js +5 -0
  114. package/dist/{plugin-registry-2aqMgXpl.js → plugin-registry-CmfUTKxt.js} +1 -1
  115. package/dist/{plugin-registry-C7oTQytM.js → plugin-registry-VukRFBIJ.js} +1 -1
  116. package/dist/plugin-sdk/{active-listener-C5ltqLGu.js → active-listener-DoYouR42.js} +1 -1
  117. package/dist/plugin-sdk/{audio-preflight-Vg4EuYfg.js → audio-preflight-CVzfTzWu.js} +29 -29
  118. package/dist/plugin-sdk/{audio-preflight-BbjERcpR.js → audio-preflight-CfNG6Wtw.js} +1 -1
  119. package/dist/plugin-sdk/{channel-activity-C1o4f6CQ.js → channel-activity-DO70gTOL.js} +1 -1
  120. package/dist/plugin-sdk/{channel-web-JBsCrpEe.js → channel-web-DksUuYJT.js} +14 -14
  121. package/dist/plugin-sdk/{chunk-CLhP_PY2.js → chunk-RXEaIS7Q.js} +1 -1
  122. package/dist/plugin-sdk/command-status.js +1 -1
  123. package/dist/plugin-sdk/{commands-registry-rxhYCn3h.js → commands-registry-Cc-MsC0s.js} +1 -1
  124. package/dist/plugin-sdk/{diagnostic-B18Fb_x_.js → diagnostic-B49XKTb2.js} +1 -1
  125. package/dist/plugin-sdk/{fetch-IDUrNG4h.js → fetch-5yC4s4HB.js} +1 -1
  126. package/dist/plugin-sdk/{fetch-guard-CNvu0czC.js → fetch-guard-D-xE9VSj.js} +1 -1
  127. package/dist/plugin-sdk/{filesystem-manager-BeVVhJWO.js → filesystem-manager-CJboYM0S.js} +3 -3
  128. package/dist/plugin-sdk/{fs-safe-DQ3_54XI.js → fs-safe-UcucKJic.js} +2 -2
  129. package/dist/plugin-sdk/index.js +34 -34
  130. package/dist/plugin-sdk/{internal-B5WwMXvo.js → internal-BPIA30Uo.js} +1 -1
  131. package/dist/plugin-sdk/{ir-wu6kjYKs.js → ir-DChJP1Kb.js} +4 -4
  132. package/dist/plugin-sdk/{login-D4XFYPCP.js → login-Blc_5Mfx.js} +2 -2
  133. package/dist/plugin-sdk/{login-qr-B9DNJMzT.js → login-qr-BQz8yyAp.js} +2 -2
  134. package/dist/plugin-sdk/{manager-DosJYKNm.js → manager-E2u7eTdN.js} +5 -5
  135. package/dist/plugin-sdk/{markdown-tables-BPDFC99a.js → markdown-tables-nBLwWu-q.js} +1 -1
  136. package/dist/plugin-sdk/{memory-search-BRc1w0pH.js → memory-search-BMfxsZst.js} +1 -1
  137. package/dist/plugin-sdk/{openresponses-http-dj-a8V7Z.js → openresponses-http-DFcst5ak.js} +29 -29
  138. package/dist/plugin-sdk/{openresponses-http-ihpGpya5.js → openresponses-http-G9zNQzxR.js} +1 -1
  139. package/dist/plugin-sdk/{outbound-DPWNpSQ2.js → outbound-D3S8AyO5.js} +6 -6
  140. package/dist/plugin-sdk/{outbound-attachment-sc88JFtf.js → outbound-attachment-Jnv1CNZB.js} +2 -2
  141. package/dist/plugin-sdk/{path-alias-guards-DVDPpKaI.js → path-alias-guards-B4FeK1hV.js} +1 -1
  142. package/dist/plugin-sdk/{paths-DPJkB1Zo.js → paths-DfSR5y6m.js} +2 -2
  143. package/dist/plugin-sdk/{pi-model-discovery-Bt88hotH.js → pi-model-discovery-CPfojvUt.js} +1 -1
  144. package/dist/plugin-sdk/{pi-model-discovery-runtime-C_BkP4_p.js → pi-model-discovery-runtime-BtVqhePh.js} +2 -2
  145. package/dist/plugin-sdk/{pw-ai-z7u9z0Gl.js → pw-ai-Cy5GL4BO.js} +4 -4
  146. package/dist/plugin-sdk/{qmd-manager-CR7ZrE4D.js → qmd-manager-DTLLD9QF.js} +4 -4
  147. package/dist/plugin-sdk/{qmd-scope-D5pfYpTx.js → qmd-scope-0JoQj00s.js} +1 -1
  148. package/dist/plugin-sdk/{query-expansion-DMIckuk2.js → query-expansion-bWgC9vRe.js} +2 -2
  149. package/dist/plugin-sdk/{replies-ChLqx77a.js → replies-BbDYqvSQ.js} +2 -2
  150. package/dist/plugin-sdk/{reply-CvmqbVx1.js → reply-DvuHwHUJ.js} +67 -67
  151. package/dist/plugin-sdk/{reply-prefix-BMlximgi.js → reply-prefix-Zqi6lY5T.js} +1 -1
  152. package/dist/plugin-sdk/{resolve-outbound-target-CzHPZvQ9.js → resolve-outbound-target-B8kZ51TY.js} +2 -2
  153. package/dist/plugin-sdk/{resolve-route-DlUpOg3_.js → resolve-route-DR2HJZkT.js} +1 -1
  154. package/dist/plugin-sdk/{runtime-x71O5s-N.js → runtime-45bZMjLH.js} +8 -8
  155. package/dist/plugin-sdk/{send-DY9n8pqC.js → send-BWTZZs_g.js} +7 -7
  156. package/dist/plugin-sdk/{send-DBVp3j7m.js → send-BtnKV_Vt.js} +5 -5
  157. package/dist/plugin-sdk/{send-DEQVHEZ4.js → send-DES1Q84z.js} +5 -5
  158. package/dist/plugin-sdk/{send-Ba0KNbhf.js → send-WNg2lRih.js} +4 -4
  159. package/dist/plugin-sdk/{send-BhMMKWOk.js → send-mGgg18UE.js} +7 -7
  160. package/dist/plugin-sdk/{session-BsRPv-eK.js → session-CgkSjr1g.js} +1 -1
  161. package/dist/plugin-sdk/{skill-commands-BctYBY9Z.js → skill-commands-mVqbX-Fs.js} +5 -5
  162. package/dist/plugin-sdk/src/brand.d.ts +2 -2
  163. package/dist/plugin-sdk/{status-DsTgMPSP.js → status-6xupAoj-.js} +5 -5
  164. package/dist/plugin-sdk/{tables-CBeKgNEN.js → tables-BHylyCNS.js} +1 -1
  165. package/dist/plugin-sdk/{target-errors-B4PsZKb0.js → target-errors-Boue6hd3.js} +2 -2
  166. package/dist/plugin-sdk/{tool-loop-detection-XlSYI5bB.js → tool-loop-detection-BxnMJJ7B.js} +1 -1
  167. package/dist/plugin-sdk/{web-CLXmBst6.js → web-Cfri_iT8.js} +1 -1
  168. package/dist/plugin-sdk/web-Zyzl7IW6.js +40 -0
  169. package/dist/plugin-sdk/{whatsapp-actions-CSxYzpeM.js → whatsapp-actions-DJ5x-Sd_.js} +12 -12
  170. package/dist/{plugins-cli-CXa9m7-A.js → plugins-cli-Bx0H7QQU.js} +5 -5
  171. package/dist/{plugins-cli-Dj-p00ob.js → plugins-cli-HReUJLnn.js} +5 -5
  172. package/dist/{program-B3cXsVO0.js → program-BY3EZa_c.js} +7 -7
  173. package/dist/{program-context-Di7qiwOM.js → program-context-MZAw4oo8.js} +24 -24
  174. package/dist/{prompt-select-styled-C5o0Ff06.js → prompt-select-styled-BasY5XsH.js} +4 -4
  175. package/dist/{prompt-select-styled-8KBIPNro.js → prompt-select-styled-DBq1-yGB.js} +4 -4
  176. package/dist/{pw-ai-BzOzOwqG.js → pw-ai-Cjyb5RBL.js} +1 -1
  177. package/dist/{pw-ai-DAn5Q5Mg.js → pw-ai-D6C45ed-.js} +5 -5
  178. package/dist/{qmd-manager-BQu_lmJ6.js → qmd-manager--NffQxNh.js} +5 -5
  179. package/dist/{qmd-scope-Bv2HOfhX.js → qmd-scope-BgLcDW_Q.js} +1 -1
  180. package/dist/{query-expansion-LNmYRPvI.js → query-expansion-BW1RomSn.js} +2 -2
  181. package/dist/{register.agent-BYkIkPHf.js → register.agent-C7oqvzMO.js} +8 -8
  182. package/dist/{register.agent-ll5ykI9x.js → register.agent-DPvilSbD.js} +9 -9
  183. package/dist/{register.configure-DubkYh7h.js → register.configure-CmawJCq8.js} +12 -12
  184. package/dist/{register.configure-C0GU1zbA.js → register.configure-Jq4rlEpZ.js} +12 -12
  185. package/dist/{register.maintenance-Pz6desR4.js → register.maintenance-DauG5FhL.js} +9 -9
  186. package/dist/{register.maintenance-Corgqhj5.js → register.maintenance-Db7KY5qy.js} +8 -8
  187. package/dist/{register.message-COK8wYD_.js → register.message-B5itvC4t.js} +3 -3
  188. package/dist/{register.message-oi2ewJpl.js → register.message-Cy9ynm9n.js} +3 -3
  189. package/dist/{register.onboard-zwRY0Dsh.js → register.onboard-BRtEN2AH.js} +14 -14
  190. package/dist/{register.onboard-C7ysxMn6.js → register.onboard-DQVkAX4S.js} +14 -14
  191. package/dist/{register.setup-B1YGF1bz.js → register.setup-BJtgWkaG.js} +14 -14
  192. package/dist/{register.setup-J2tUgD6C.js → register.setup-WqEzZMCR.js} +14 -14
  193. package/dist/{register.status-health-sessions-DCazjMZa.js → register.status-health-sessions-CRLl-Xg2.js} +6 -6
  194. package/dist/{register.status-health-sessions-DmjjMrJZ.js → register.status-health-sessions-CYft6R-u.js} +6 -6
  195. package/dist/{register.subclis-Bj8pFyAT.js → register.subclis-Di9x-uQJ.js} +16 -16
  196. package/dist/{replies-D0__mn7d.js → replies-lgWzXlwM.js} +2 -2
  197. package/dist/{reply-DQfPM5ia.js → reply-CBhrmRrH.js} +9 -9
  198. package/dist/{reply-prefix-CteprwTK.js → reply-prefix-BM90m-1s.js} +1 -1
  199. package/dist/{resolve-route-Twc4mQV7.js → resolve-route-DyTOJJs4.js} +1 -1
  200. package/dist/{run-main-Cf6N-U3j.js → run-main-BORzDxLY.js} +14 -14
  201. package/dist/{runtime-helper-grants-DzP6dgWv.js → runtime-helper-grants-Cuybmi1P.js} +1 -1
  202. package/dist/{runtime-helper-grants-DONSfqWx.js → runtime-helper-grants-neC-6Mp_.js} +1 -1
  203. package/dist/{sandbox-cli-CqUHfq55.js → sandbox-cli-BAfTtJI-.js} +2 -2
  204. package/dist/{sandbox-cli-DHHAXWD8.js → sandbox-cli-ZEYXtCXZ.js} +2 -2
  205. package/dist/{security-cli-CAEEYR8C.js → security-cli-CFmeNE3e.js} +3 -3
  206. package/dist/{security-cli-DNlCSlQR.js → security-cli-aO7V40WP.js} +3 -3
  207. package/dist/{send-BVmNzYrR.js → send-B8seeqjd.js} +18 -18
  208. package/dist/{send-BG45zdAY.js → send-BPleg3km.js} +5 -5
  209. package/dist/{send-BAtDZt7a.js → send-CAqldeiP.js} +5 -5
  210. package/dist/{send-DD6K3WP6.js → send-D63evlEI.js} +7 -7
  211. package/dist/{send-6RE7ZD_B.js → send-M0lHXvC5.js} +4 -4
  212. package/dist/{server-B67PKank.js → server-CU9N0zVA.js} +2 -2
  213. package/dist/{server-RYyJ2HTj.js → server-DtSfJaMU.js} +2 -2
  214. package/dist/{server-cron-V9GBrg1S.js → server-cron-3feKZet8.js} +2 -2
  215. package/dist/{server-cron-D7rN6EY6.js → server-cron-B8nnjZ6j.js} +2 -2
  216. package/dist/{server-node-events-eh5LuLg6.js → server-node-events-D4wjAoTI.js} +3 -3
  217. package/dist/{server-node-events-CAG2ic6e.js → server-node-events-dJRsvJ1e.js} +3 -3
  218. package/dist/{session-CHL2ptKy.js → session-Cvg_ryor.js} +5 -5
  219. package/dist/{skill-commands-_zLgADck.js → skill-commands-D_QLBtje.js} +24 -24
  220. package/dist/{status-CTveTSuF.js → status-B6xlt9hk.js} +1 -1
  221. package/dist/{status-DIkbKBxH.js → status-CKesh_zv.js} +4 -4
  222. package/dist/{status-BuGyo-1M.js → status-DsryVrZZ.js} +4 -4
  223. package/dist/{status-jb8w0SwX.js → status-WM2U3wSq.js} +1 -1
  224. package/dist/{tables-Dtfop_e5.js → tables-Cif1OeQ1.js} +1 -1
  225. package/dist/{target-errors-DrHV8jza.js → target-errors-B-8Jf9OT.js} +2 -2
  226. package/dist/{tool-loop-detection-CPr-VVyD.js → tool-loop-detection-6p0-ziTi.js} +2 -2
  227. package/dist/{tui-Dinku0o-.js → tui-C_15rImY.js} +1 -1
  228. package/dist/{tui-cli-dq7xafwR.js → tui-cli-CJ4ktGm6.js} +3 -3
  229. package/dist/{tui-cli-z5WV3SVg.js → tui-cli-Cf4QMwPG.js} +3 -3
  230. package/dist/{tui-lmdDZi6Y.js → tui-m7pkF_Gw.js} +1 -1
  231. package/dist/{update-cli-Cq47v0X_.js → update-cli-BdyzhH15.js} +9 -9
  232. package/dist/{update-cli-BdQ3mRGs.js → update-cli-CpVUWYIh.js} +10 -10
  233. package/dist/{update-runner-C0SU1jGT.js → update-runner-Cp2KspVC.js} +1 -1
  234. package/dist/{update-runner-BnRMhKva.js → update-runner-polOgbQK.js} +1 -1
  235. package/dist/{web-D9wmjTDC.js → web-BK0Q-Mcx.js} +3 -3
  236. package/dist/{web-B9YrSF5u.js → web-Bd_VJKf7.js} +2 -2
  237. package/dist/{web-sBExtZCA.js → web-CD6MuZp1.js} +35 -35
  238. package/dist/{web-DaMiLN7K.js → web-CnMZHMVF.js} +1 -1
  239. package/dist/{web-BmjUKJI0.js → web-CnS-eVr9.js} +3 -3
  240. package/dist/{web-search-providers.runtime-gM-8LIxg.js → web-search-providers.runtime-C0_Og2wh.js} +1 -1
  241. package/dist/{web-search-providers.runtime-TGCiBzhv.js → web-search-providers.runtime-kvogieHw.js} +1 -1
  242. package/dist/{whatsapp-actions-C5qguyU5.js → whatsapp-actions-BAux9gs7.js} +12 -12
  243. package/docs/install/index.md +16 -10
  244. package/docs/install/installer.md +18 -9
  245. package/docs/install/node.md +5 -4
  246. package/docs/install/vps.md +7 -3
  247. package/extensions/acpx/package.json +1 -1
  248. package/extensions/bluebubbles/package.json +1 -1
  249. package/extensions/copilot-proxy/package.json +1 -1
  250. package/extensions/diagnostics-otel/package.json +1 -1
  251. package/extensions/discord/package.json +1 -1
  252. package/extensions/fased-federation/package.json +1 -1
  253. package/extensions/feishu/package.json +1 -1
  254. package/extensions/google-gemini-cli-auth/package.json +1 -1
  255. package/extensions/googlechat/package.json +1 -1
  256. package/extensions/imessage/package.json +1 -1
  257. package/extensions/irc/package.json +1 -1
  258. package/extensions/line/package.json +1 -1
  259. package/extensions/llm-task/package.json +1 -1
  260. package/extensions/lobster/package.json +1 -1
  261. package/extensions/matrix/CHANGELOG.md +6 -0
  262. package/extensions/matrix/package.json +1 -1
  263. package/extensions/mattermost/package.json +1 -1
  264. package/extensions/memory-core/package.json +1 -1
  265. package/extensions/memory-lancedb/package.json +1 -1
  266. package/extensions/minimax-portal-auth/package.json +1 -1
  267. package/extensions/msteams/CHANGELOG.md +6 -0
  268. package/extensions/msteams/package.json +1 -1
  269. package/extensions/nextcloud-talk/package.json +1 -1
  270. package/extensions/nostr/CHANGELOG.md +6 -0
  271. package/extensions/nostr/package.json +1 -1
  272. package/extensions/open-prose/package.json +1 -1
  273. package/extensions/sat-mining/package.json +1 -1
  274. package/extensions/signal/package.json +1 -1
  275. package/extensions/slack/package.json +1 -1
  276. package/extensions/synology-chat/package.json +1 -1
  277. package/extensions/telegram/package.json +1 -1
  278. package/extensions/tlon/package.json +1 -1
  279. package/extensions/twitch/CHANGELOG.md +6 -0
  280. package/extensions/twitch/package.json +1 -1
  281. package/extensions/voice-call/CHANGELOG.md +6 -0
  282. package/extensions/voice-call/package.json +1 -1
  283. package/extensions/whatsapp/package.json +1 -1
  284. package/extensions/zalo/CHANGELOG.md +6 -0
  285. package/extensions/zalo/package.json +1 -1
  286. package/extensions/zalouser/CHANGELOG.md +6 -0
  287. package/extensions/zalouser/package.json +1 -1
  288. package/package.json +1 -1
  289. package/scripts/start-managed.sh +28 -5
  290. package/dist/pi-model-discovery-runtime-9_2G9r_K.js +0 -5
  291. package/dist/plugin-sdk/web-DHSHEbWK.js +0 -40
@@ -1,7 +1,7 @@
1
1
  import { _ as resolveStateDir, n as DEFAULT_GATEWAY_PORT, u as resolveGatewayPort } from "./paths-C9FmTW1x.js";
2
2
  import { S as resolveUserPath, U as theme } from "./agent-paths-BySKyq9I.js";
3
3
  import { Ga as ensureAuthProfileStore, Mn as writeConfigFile, Zr as collectConfigServiceEnvVars, d as resolveDefaultAgentId, dd as formatCliCommand, fr as ensureActiveMemoryPluginAllowlisted, kn as readConfigFileSnapshot, u as resolveAgentWorkspaceDir } from "./agent-scope-CLn_Ws3B.js";
4
- import { Bt as detectBrowserOpenSupport, Ht as formatControlUiSshHint, Jt as openUrl, Lt as DEFAULT_WORKSPACE, Mo as runFederationAutoConnectOnce, Qo as findTailscaleBinary, Qt as resolveControlUiLinks, Rt as applyWizardMetadata, Vt as ensureWorkspaceAndSessions, Wt as handleOnboardingRepair, Xo as enableTailscaleFunnel, Xt as probeGatewayReachable, Yt as printWizardHeader, Zo as enableTailscaleServe, Zt as randomToken, en as summarizeExistingConfig, nn as waitForGatewayReachable, qt as normalizeGatewayTokenInput, tn as validateGatewayPasswordInput, xo as normalizeControlUiBasePath, yo as CONTROL_UI_BOOT_CHECK_PATH } from "./reply-DQfPM5ia.js";
4
+ import { Bt as detectBrowserOpenSupport, Ht as formatControlUiSshHint, Jt as openUrl, Lt as DEFAULT_WORKSPACE, Mo as runFederationAutoConnectOnce, Qo as findTailscaleBinary, Qt as resolveControlUiLinks, Rt as applyWizardMetadata, Vt as ensureWorkspaceAndSessions, Wt as handleOnboardingRepair, Xo as enableTailscaleFunnel, Xt as probeGatewayReachable, Yt as printWizardHeader, Zo as enableTailscaleServe, Zt as randomToken, en as summarizeExistingConfig, nn as waitForGatewayReachable, qt as normalizeGatewayTokenInput, tn as validateGatewayPasswordInput, xo as normalizeControlUiBasePath, yo as CONTROL_UI_BOOT_CHECK_PATH } from "./reply-CBhrmRrH.js";
5
5
  import { d as defaultRuntime, f as restoreTerminalState, s as redactSensitiveText } from "./errors-Dx3S3Nrp.js";
6
6
  import { a as resolveSignerdBinaryPath, n as installSignerdBinary, o as restartLocalSocketSigner, r as migrateLocalSignerKeystoreToMaterialDir, t as configureWalletForOnboarding } from "./onboarding.wallet-B12p7GUZ.js";
7
7
  import { i as resolveLocalSignerRunAsUser, n as resolveLocalSignerBackendSocketPath, o as resolveLocalSignerSocketPath, r as resolveLocalSignerMaterialRootDir, t as ensureWalletStateDir } from "./wallet-runtime-config-BlRWvEER.js";
@@ -17,14 +17,14 @@ import { a as resolveHostedOnboardingGatewayStartupMode, i as resolveGatewayStar
17
17
  import { d as buildSystemdUnit, r as isSystemdUserServiceAvailable } from "./systemd-ZvgpcrfV.js";
18
18
  import { t as resolveGatewayService } from "./service-DbZp-Ejz.js";
19
19
  import { n as auditGatewayServiceConfig, t as SERVICE_AUDIT_CODES } from "./service-audit-B5uApPZ5.js";
20
- import { a as promptRemoteGatewayConfig, n as getTailscaleMissingBinNoteLines, r as setupSkills, t as validateIPv4AddressInput, u as promptCustomApiConfig } from "./ipv4-P47TSJIK.js";
21
- import { o as waitForHostedDashboardBrowserPath } from "./health-DTTfLYjl.js";
22
- import { n as warnIfModelConfigLooksOff, r as applyAuthChoice } from "./auth-choice-DbEAsUsi.js";
23
- import { t as promptAuthChoiceGrouped } from "./auth-choice-prompt-DMlwK9kF.js";
20
+ import { a as promptRemoteGatewayConfig, n as getTailscaleMissingBinNoteLines, r as setupSkills, t as validateIPv4AddressInput, u as promptCustomApiConfig } from "./ipv4-DgQOUcwH.js";
21
+ import { o as waitForHostedDashboardBrowserPath } from "./health-DQlfle1u.js";
22
+ import { n as warnIfModelConfigLooksOff, r as applyAuthChoice } from "./auth-choice-DPEogMvC.js";
23
+ import { t as promptAuthChoiceGrouped } from "./auth-choice-prompt-CzCpmXZF.js";
24
24
  import { n as logConfigUpdated } from "./logging-C8GVa7dS.js";
25
- import { n as setupChannels } from "./onboard-channels-CPh2EJOi.js";
25
+ import { n as setupChannels } from "./onboard-channels-Doc5AjLd.js";
26
26
  import { t as buildWorkspaceHookStatus } from "./hooks-status-CrTowaUt.js";
27
- import { t as runTui } from "./tui-lmdDZi6Y.js";
27
+ import { t as runTui } from "./tui-m7pkF_Gw.js";
28
28
  import fs from "node:fs";
29
29
  import os from "node:os";
30
30
  import path from "node:path";
@@ -358,34 +358,61 @@ function buildOnboardingDashboardUrl(params) {
358
358
  url.hash = hash ? `#${hash}` : "";
359
359
  return url.toString();
360
360
  }
361
+ function noteHeading$1(value) {
362
+ return theme.heading(value.toUpperCase());
363
+ }
364
+ function noteLabel(value) {
365
+ return theme.accentBright(value);
366
+ }
367
+ function noteInfo$1(value) {
368
+ return theme.info(value);
369
+ }
370
+ function noteSuccess$1(value) {
371
+ return theme.success(value);
372
+ }
373
+ function noteWarn$1(value) {
374
+ return theme.warn(value);
375
+ }
376
+ function noteMuted(value) {
377
+ return theme.muted(value);
378
+ }
379
+ function noteCommand$1(value) {
380
+ return theme.command(value);
381
+ }
382
+ function noteBullet$1(value) {
383
+ return `- ${value}`;
384
+ }
385
+ function formatFasedNetworkAutoConnectSummary(messages) {
386
+ return [noteHeading$1("Connection confirmed"), ...messages.map((message) => noteBullet$1(noteSuccess$1(message)))].join("\n");
387
+ }
361
388
  function formatStrictRemoteAccessDetails(params) {
362
389
  const sshTarget = params.tailscaleNodeName || params.tailscaleIpv4 || "(tailscale-node)";
363
390
  const tailscaleIpv4 = params.tailscaleIpv4?.trim();
364
391
  const hasIpFallback = Boolean(tailscaleIpv4 && tailscaleIpv4 !== sshTarget);
365
392
  return [
366
- "Use both access paths after hosted setup:",
393
+ noteInfo$1("Use both access paths after hosted setup:"),
367
394
  "",
368
- "1. WEB DASHBOARD",
369
- " Open this on your own computer after signing into the same Tailscale account:",
370
- ` ${params.dashboardUrl}`,
395
+ noteHeading$1("1. Web dashboard"),
396
+ ` ${noteInfo$1("Open this on your own computer after signing into the same Tailscale account:")}`,
397
+ ` ${noteCommand$1(params.dashboardUrl)}`,
371
398
  "",
372
- "2. SSH TERMINAL",
373
- " Use this for CLI commands, updates, logs, and repairs over Tailscale:",
374
- ` ssh ${params.tailscaleSshUser}@${sshTarget}`,
375
- hasIpFallback ? ` If hostname DNS fails but Tailscale IP ping works, use: ssh ${params.tailscaleSshUser}@${tailscaleIpv4}` : void 0,
376
- " The app user shell opens in the Fased repo directory.",
399
+ noteHeading$1("2. SSH terminal"),
400
+ ` ${noteInfo$1("Use this for CLI commands, updates, logs, and repairs over Tailscale:")}`,
401
+ ` ${noteCommand$1(`ssh ${params.tailscaleSshUser}@${sshTarget}`)}`,
402
+ hasIpFallback ? ` ${noteWarn$1("If hostname DNS fails but Tailscale IP ping works, use:")} ${noteCommand$1(`ssh ${params.tailscaleSshUser}@${tailscaleIpv4}`)}` : void 0,
403
+ ` ${noteInfo$1("The app user shell opens in the Fased repo directory.")}`,
377
404
  "",
378
- "ADVANCED FALLBACK",
379
- " If the Tailscale web URL is unavailable, run this on your local computer and leave it open:",
380
- ` ssh -N -L ${params.port}:127.0.0.1:${params.port} ${params.tailscaleSshUser}@${sshTarget}`,
381
- hasIpFallback ? ` If a VPN blocks MagicDNS hostname lookup, use: ssh -N -L ${params.port}:127.0.0.1:${params.port} ${params.tailscaleSshUser}@${tailscaleIpv4}` : void 0,
382
- " Then open:",
383
- ` ${params.tunnelUrl}`,
384
- hasIpFallback ? " Note: another VPN can break Tailscale MagicDNS while raw 100.x Tailscale IP access still works." : void 0,
405
+ noteHeading$1("Advanced fallback"),
406
+ ` ${noteInfo$1("If the Tailscale web URL is unavailable, run this on your local computer and leave it open:")}`,
407
+ ` ${noteCommand$1(`ssh -N -L ${params.port}:127.0.0.1:${params.port} ${params.tailscaleSshUser}@${sshTarget}`)}`,
408
+ hasIpFallback ? ` ${noteWarn$1("If a VPN blocks MagicDNS hostname lookup, use:")} ${noteCommand$1(`ssh -N -L ${params.port}:127.0.0.1:${params.port} ${params.tailscaleSshUser}@${tailscaleIpv4}`)}` : void 0,
409
+ ` ${noteInfo$1("Then open:")}`,
410
+ ` ${noteCommand$1(params.tunnelUrl)}`,
411
+ hasIpFallback ? ` ${noteWarn$1("Note: another VPN can break Tailscale MagicDNS while raw 100.x Tailscale IP access still works.")}` : void 0,
385
412
  "",
386
- "GATEWAY TOKEN BACKUP",
387
- " Only paste this if the browser asks for a token:",
388
- ` ${params.gatewayToken || "(token not available)"}`
413
+ noteHeading$1("Gateway token backup"),
414
+ ` ${noteWarn$1("Only paste this if the browser asks for a token:")}`,
415
+ ` ${noteCommand$1(params.gatewayToken || "(token not available)")}`
389
416
  ].filter((line) => line !== void 0).join("\n");
390
417
  }
391
418
  function formatLocalDashboardReady(params) {
@@ -1670,11 +1697,12 @@ async function finalizeOnboardingWizard(options) {
1670
1697
  }
1671
1698
  }
1672
1699
  if (strictVps) await prompter.note([
1673
- "Hosted runtime is private by default.",
1700
+ noteHeading$1("Private access"),
1701
+ noteInfo$1("Hosted runtime is private by default."),
1674
1702
  "",
1675
- "Web dashboard: Tailscale HTTPS URL.",
1676
- "SSH terminal: ssh app@YOUR_VPS_TAILSCALE_NAME over Tailscale.",
1677
- "Public SSH and Gateway ports remain blocked."
1703
+ `${noteLabel("Web dashboard:")} ${noteCommand$1("Tailscale HTTPS URL")}`,
1704
+ `${noteLabel("SSH terminal:")} ${noteCommand$1("ssh app@YOUR_VPS_TAILSCALE_NAME")} ${noteInfo$1("over Tailscale")}`,
1705
+ noteBullet$1(noteWarn$1("Public SSH and Gateway ports remain blocked."))
1678
1706
  ].join("\n"), "Hosting access");
1679
1707
  if ((strictVps || expectedGatewayStartupMode === "managed-up") && !autoStartEnabled && !opts.allowInsecure) throw new Error(formatPersistentRuntimeServiceFailure({
1680
1708
  strictVps,
@@ -2115,12 +2143,13 @@ async function finalizeOnboardingWizard(options) {
2115
2143
  if (!warmup.ok) {
2116
2144
  const detail = warmup.detail ?? "not reachable yet";
2117
2145
  await prompter.note([
2118
- "The Tailscale HTTPS dashboard URL is still warming from this VPS.",
2119
- `Detail: ${detail}`,
2146
+ noteHeading$1("Tailscale HTTPS"),
2147
+ noteWarn$1("The Tailscale HTTPS dashboard URL is still warming from this VPS."),
2148
+ `${noteMuted("Detail:")} ${noteInfo$1(detail)}`,
2120
2149
  "",
2121
- "Setup will continue if the local Gateway listener is healthy.",
2122
- "Open the printed Tailscale URL from your own Tailscale-connected computer.",
2123
- "If another VPN breaks MagicDNS, turn it off or use the 100.x Tailscale IP fallback."
2150
+ noteBullet$1(noteSuccess$1("Setup will continue if the local Gateway listener is healthy.")),
2151
+ noteBullet$1(noteInfo$1("Open the printed Tailscale URL from your own Tailscale-connected computer.")),
2152
+ noteBullet$1(noteWarn$1("If another VPN breaks MagicDNS, turn it off or use the 100.x Tailscale IP fallback."))
2124
2153
  ].join("\n"), "Dashboard warmup");
2125
2154
  return;
2126
2155
  }
@@ -2140,12 +2169,13 @@ async function finalizeOnboardingWizard(options) {
2140
2169
  pollMs: 1500
2141
2170
  });
2142
2171
  if (!wsWarmup.ok) await prompter.note([
2143
- "The Tailscale dashboard page is reachable, but the browser Gateway connection is still warming.",
2144
- `Gateway URL: ${tailscaleGatewayWsUrl}`,
2145
- `Detail: ${"stage" in wsWarmup ? `${wsWarmup.stage}: ${wsWarmup.message}` : wsWarmup.detail ?? "websocket not reachable"}`,
2172
+ noteHeading$1("Gateway connection"),
2173
+ noteWarn$1("The Tailscale dashboard page is reachable, but the browser Gateway connection is still warming."),
2174
+ `${noteLabel("Gateway URL:")} ${noteCommand$1(tailscaleGatewayWsUrl)}`,
2175
+ `${noteMuted("Detail:")} ${noteInfo$1("stage" in wsWarmup ? `${wsWarmup.stage}: ${wsWarmup.message}` : wsWarmup.detail ?? "websocket not reachable")}`,
2146
2176
  "",
2147
- "Setup will continue if the local Gateway listener is healthy.",
2148
- "Use the SSH tunnel fallback immediately, or open the Tailscale dashboard URL again shortly."
2177
+ noteBullet$1(noteSuccess$1("Setup will continue if the local Gateway listener is healthy.")),
2178
+ noteBullet$1(noteInfo$1("Use the SSH tunnel fallback immediately, or open the Tailscale dashboard URL again shortly."))
2149
2179
  ].join("\n"), "Dashboard warmup");
2150
2180
  else hostedDashboardBrowserVerified = true;
2151
2181
  });
@@ -2207,12 +2237,15 @@ async function finalizeOnboardingWizard(options) {
2207
2237
  if (federation.enabled) {
2208
2238
  let hostedFederationAutoConnectAttempted = false;
2209
2239
  let hostedFederationAutoConnectReason = "";
2240
+ const hostedFederationAutoConnectMessages = [];
2210
2241
  if (strictVps && !readManagedFederationTokenSummary(onboardingEnv).exists) {
2211
2242
  hostedFederationAutoConnectAttempted = true;
2212
2243
  hostedFederationAutoConnectReason = (await runFederationAutoConnectOnce({
2213
2244
  env: onboardingEnv,
2214
2245
  log: {
2215
- info: (message) => runtime.log(message),
2246
+ info: (message) => {
2247
+ hostedFederationAutoConnectMessages.push(message);
2248
+ },
2216
2249
  warn: (message) => {
2217
2250
  hostedFederationAutoConnectReason = message;
2218
2251
  },
@@ -2231,12 +2264,13 @@ async function finalizeOnboardingWizard(options) {
2231
2264
  reservations: readManagedReservationSummaries(onboardingEnv)
2232
2265
  };
2233
2266
  if (fedToken.exists && !persistedFederationToken) persistedFederationToken = await loadPersistedFederationToken(onboardingEnv).catch(() => null);
2267
+ if (strictVps && hostedFederationAutoConnectAttempted && hostedFederationAutoConnectMessages.length > 0) await prompter.note(formatFasedNetworkAutoConnectSummary(hostedFederationAutoConnectMessages), "Fased Network");
2234
2268
  if (strictVps && hostedFederationAutoConnectAttempted && !fedToken.exists) await prompter.note([
2235
- "Fased Network silent join did not finish.",
2236
- hostedFederationAutoConnectReason ? `Reason: ${hostedFederationAutoConnectReason}` : "Reason: token was not issued before final readiness.",
2237
- reservations.length > 0 ? `Reservation: ${reservations[0]?.slug}` : void 0,
2238
- "Dashboard and SSH are ready over Tailscale.",
2239
- "Inspect details: `fased managed up --json`"
2269
+ noteWarn$1("Fased Network silent join did not finish."),
2270
+ hostedFederationAutoConnectReason ? `${noteMuted("Reason:")} ${noteInfo$1(hostedFederationAutoConnectReason)}` : `${noteMuted("Reason:")} ${noteInfo$1("token was not issued before final readiness.")}`,
2271
+ reservations.length > 0 ? `${noteMuted("Reservation:")} ${noteCommand$1(reservations[0]?.slug ?? "")}` : void 0,
2272
+ noteSuccess$1("Dashboard and SSH are ready over Tailscale."),
2273
+ `${noteMuted("Inspect details:")} ${noteCommand$1("fased managed up --json")}`
2240
2274
  ].filter(Boolean).join("\n"), "Fased Network");
2241
2275
  }
2242
2276
  const operatorReadiness = describeOperatorReadinessChecklist({
@@ -2282,16 +2316,17 @@ async function finalizeOnboardingWizard(options) {
2282
2316
  detail: finalGateway.detail ?? "final gateway recheck timed out"
2283
2317
  };
2284
2318
  await prompter.note([
2285
- serviceActive ? "The hosted Gateway service is active, but the dashboard is still warming." : "The hosted browser dashboard passed its full check earlier.",
2286
- `Detail: ${finalGateway.detail ?? "gateway not reachable yet"}`,
2319
+ noteHeading$1("Service active"),
2320
+ serviceActive ? noteWarn$1("The hosted Gateway service is active, but the dashboard is still warming.") : noteInfo$1("The hosted browser dashboard passed its full check earlier."),
2321
+ `${noteMuted("Detail:")} ${noteInfo$1(finalGateway.detail ?? "gateway not reachable yet")}`,
2287
2322
  "",
2288
- "Setup will finish and leave the Gateway service running.",
2289
- "Open the printed Tailscale dashboard URL again in a few minutes.",
2290
- "If MagicDNS is slow or another VPN is active, use the 100.x Tailscale IP fallback.",
2323
+ noteBullet$1(noteSuccess$1("Setup will finish and leave the Gateway service running.")),
2324
+ noteBullet$1(noteInfo$1("Open the printed Tailscale dashboard URL again in a few minutes.")),
2325
+ noteBullet$1(noteWarn$1("If MagicDNS is slow or another VPN is active, use the 100.x Tailscale IP fallback.")),
2291
2326
  "",
2292
- "Check from the app terminal:",
2293
- "fased status",
2294
- "fased dashboard --no-open"
2327
+ noteHeading$1("Check from the app terminal"),
2328
+ noteCommand$1("fased status"),
2329
+ noteCommand$1("fased dashboard --no-open")
2295
2330
  ].join("\n"), "Dashboard warmup");
2296
2331
  return;
2297
2332
  }
@@ -3251,9 +3286,9 @@ async function applyHostingSecurity(params) {
3251
3286
  detail: "post-bootstrap hosted maintenance session; skipping host hardening bootstrap"
3252
3287
  };
3253
3288
  let tsAuthkey = opts.tsAuthkey?.trim() ?? "";
3254
- if (!tsAuthkey) if (await prompter.confirm({
3255
- message: "Use a Tailscale auth key instead of browser login? (advanced)",
3256
- initialValue: false
3289
+ if (!tsAuthkey) if (!await prompter.confirm({
3290
+ message: "Use browser login for Tailscale? (recommended)",
3291
+ initialValue: true
3257
3292
  })) tsAuthkey = (typeof prompter.secret === "function" ? await prompter.secret({
3258
3293
  message: "Paste Tailscale auth key (tskey-auth-...)",
3259
3294
  validate: (value) => value.trim() ? void 0 : "Required"
@@ -3426,9 +3461,9 @@ async function applyHostingSecurity(params) {
3426
3461
  if (!tsHealthy) {
3427
3462
  let tsAuthkey = opts.tsAuthkey?.trim() ?? "";
3428
3463
  if (!tsAuthkey && opts.nonInteractive !== true && prompter) {
3429
- if (await prompter.confirm({
3430
- message: "Use a Tailscale auth key instead of browser login? (advanced)",
3431
- initialValue: false
3464
+ if (!await prompter.confirm({
3465
+ message: "Use browser login for Tailscale? (recommended)",
3466
+ initialValue: true
3432
3467
  })) tsAuthkey = (typeof prompter.secret === "function" ? await prompter.secret({
3433
3468
  message: "Paste Tailscale auth key (tskey-auth-...)",
3434
3469
  validate: (value) => value.trim() ? void 0 : "Required"
@@ -5187,9 +5222,11 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
5187
5222
  };
5188
5223
  if (hostSecurity.profile === "hosting" && hostSecurity.checks.length > 0) {
5189
5224
  const lines = [
5190
- "Hosting security checklist:",
5191
- ...hostSecurity.checks.map((check) => `${check.ok ? "" : "✗"} ${check.name}: ${check.detail}`),
5192
- hostSecurity.logPath ? `Detailed host hardening log: ${hostSecurity.logPath}` : void 0
5225
+ theme.heading("HOSTING SECURITY CHECKLIST"),
5226
+ "",
5227
+ ...hostSecurity.checks.map((check) => `${check.ok ? theme.success("✓") : theme.error("✗")} ${theme.accentBright(check.name)}: ${check.ok ? theme.info(check.detail) : theme.error(check.detail)}`),
5228
+ "",
5229
+ hostSecurity.logPath ? `${theme.muted("Detailed host hardening log:")} ${theme.command(hostSecurity.logPath)}` : void 0
5193
5230
  ];
5194
5231
  await prompter.note(lines.filter(Boolean).join("\n"), "Host security");
5195
5232
  }
@@ -2,7 +2,7 @@ import { bd as logWarn } from "./env-Dlz8aQHP.js";
2
2
  import "./agent-paths-DUHGyU1s.js";
3
3
  import "./send-Ditv1VfR.js";
4
4
  import "./send-CWM2yWF6.js";
5
- import { Ai as buildAgentMessageFromConversationEntries, Ii as resolveAssistantStreamDeltaText, Li as agentCommand, _a as resolveAgentIdForRequest, an as DEFAULT_INPUT_IMAGE_MAX_BYTES, ba as setSseHeaders, cn as DEFAULT_INPUT_TIMEOUT_MS, dn as normalizeMimeList, fn as resolveInputFileLimits, ia as emitAgentEvent, ki as handleGatewayPostJsonEndpoint, ln as extractFileContentFromSource, oa as onAgentEvent, on as DEFAULT_INPUT_IMAGE_MIMES, sn as DEFAULT_INPUT_MAX_REDIRECTS, un as extractImageContentFromSource, va as resolveSessionKey, xa as writeDone, ya as sendJson } from "./model-catalog-B2mRe6cZ.js";
5
+ import { Ai as buildAgentMessageFromConversationEntries, Ii as resolveAssistantStreamDeltaText, Li as agentCommand, _a as resolveAgentIdForRequest, an as DEFAULT_INPUT_IMAGE_MAX_BYTES, ba as setSseHeaders, cn as DEFAULT_INPUT_TIMEOUT_MS, dn as normalizeMimeList, fn as resolveInputFileLimits, ia as emitAgentEvent, ki as handleGatewayPostJsonEndpoint, ln as extractFileContentFromSource, oa as onAgentEvent, on as DEFAULT_INPUT_IMAGE_MIMES, sn as DEFAULT_INPUT_MAX_REDIRECTS, un as extractImageContentFromSource, va as resolveSessionKey, xa as writeDone, ya as sendJson } from "./model-catalog-D4rEoh5e.js";
6
6
  import "./github-copilot-token-A9DiaCB0.js";
7
7
  import { A as defaultRuntime } from "./entry.js";
8
8
  import "./reply-prefix-CCp0C8w4.js";
@@ -45,7 +45,7 @@ import "./send-Dlj2DghK.js";
45
45
  import "./outbound-attachment-D2ImFzcm.js";
46
46
  import "./fetch-BqA-KBI4.js";
47
47
  import "./delivery-queue-CMGPhIoF.js";
48
- import { t as createDefaultDeps } from "./deps-4rCQ5SBd.js";
48
+ import { t as createDefaultDeps } from "./deps-5PYELVCT.js";
49
49
  import "./frontmatter-DTw-J9er.js";
50
50
  import "./skills-CzDvK09q.js";
51
51
  import "./skills-remote-CM9uNuu4.js";
@@ -1,39 +1,39 @@
1
- import { Ui as logWarn, wa as defaultRuntime } from "./agent-scope-DVw8mi_i.js";
2
- import "./github-copilot-token-DYrFvncE.js";
3
- import "./send-6RE7ZD_B.js";
4
- import "./send-DD6K3WP6.js";
5
- import { $ as emitAgentEvent, B as DEFAULT_INPUT_IMAGE_MIMES, G as normalizeMimeList, H as DEFAULT_INPUT_TIMEOUT_MS, K as resolveInputFileLimits, U as extractFileContentFromSource, V as DEFAULT_INPUT_MAX_REDIRECTS, W as extractImageContentFromSource, a as agentCommand, at as setSseHeaders, et as onAgentEvent, i as resolveAssistantStreamDeltaText, it as sendJson, n as handleGatewayPostJsonEndpoint, nt as resolveAgentIdForRequest, ot as writeDone, r as buildAgentMessageFromConversationEntries, rt as resolveSessionKey, tt as createDefaultDeps, z as DEFAULT_INPUT_IMAGE_MAX_BYTES } from "./pi-embedded-Bapdl5Mb.js";
6
- import "./diagnostic-DWKSfm_q.js";
1
+ import { Ui as logWarn, wa as defaultRuntime } from "./agent-scope-T2X-I1lP.js";
2
+ import "./github-copilot-token-eyrRGmGp.js";
3
+ import "./send-M0lHXvC5.js";
4
+ import "./send-D63evlEI.js";
5
+ import { $ as emitAgentEvent, B as DEFAULT_INPUT_IMAGE_MIMES, G as normalizeMimeList, H as DEFAULT_INPUT_TIMEOUT_MS, K as resolveInputFileLimits, U as extractFileContentFromSource, V as DEFAULT_INPUT_MAX_REDIRECTS, W as extractImageContentFromSource, a as agentCommand, at as setSseHeaders, et as onAgentEvent, i as resolveAssistantStreamDeltaText, it as sendJson, n as handleGatewayPostJsonEndpoint, nt as resolveAgentIdForRequest, ot as writeDone, r as buildAgentMessageFromConversationEntries, rt as resolveSessionKey, tt as createDefaultDeps, z as DEFAULT_INPUT_IMAGE_MAX_BYTES } from "./pi-embedded-D2PqvAO_.js";
6
+ import "./diagnostic-PXNTTbiu.js";
7
7
  import "./diagnostic-session-state-CexmAKza.js";
8
- import "./send-BVmNzYrR.js";
9
- import "./media-D4nEnyX9.js";
10
- import "./pi-model-discovery-DpUv4v_r.js";
11
- import "./paths-0bvQb_LS.js";
8
+ import "./send-B8seeqjd.js";
9
+ import "./media-KeWZMCmf.js";
10
+ import "./pi-model-discovery-B1-QPAbn.js";
11
+ import "./paths-C2qpRqKS.js";
12
12
  import "./ssrf-DYsl9qoS.js";
13
- import "./reply-prefix-CteprwTK.js";
14
- import "./path-alias-guards-BgsaoH-B.js";
15
- import "./fs-safe--dkmYAev.js";
16
- import "./skill-commands-_zLgADck.js";
17
- import "./chunk-BFGwq8HC.js";
18
- import "./markdown-tables-7kI-7mng.js";
19
- import "./send-BAtDZt7a.js";
20
- import "./fetch-guard-Ztzfiio9.js";
21
- import "./outbound-attachment-BnC5ITTB.js";
22
- import "./fetch-DyKd0D6V.js";
23
- import "./memory-search-Z2b0d-jA.js";
24
- import "./manager-XJq9ONvb.js";
25
- import "./query-expansion-LNmYRPvI.js";
26
- import "./target-errors-DrHV8jza.js";
13
+ import "./reply-prefix-BM90m-1s.js";
14
+ import "./path-alias-guards-BVcGMct5.js";
15
+ import "./fs-safe-CkRcL-Cg.js";
16
+ import "./skill-commands-D_QLBtje.js";
17
+ import "./chunk-Q3WlKwcl.js";
18
+ import "./markdown-tables-QOHpjP76.js";
19
+ import "./send-CAqldeiP.js";
20
+ import "./fetch-guard-B-XqKRhJ.js";
21
+ import "./outbound-attachment-DO7UVxZm.js";
22
+ import "./fetch-D6yXePhv.js";
23
+ import "./memory-search-BVlFBMLd.js";
24
+ import "./manager-O_PUm8xA.js";
25
+ import "./query-expansion-BW1RomSn.js";
26
+ import "./target-errors-B-8Jf9OT.js";
27
27
  import "./render-BRr7caFG.js";
28
- import "./commands-registry-C7qLmjBS.js";
29
- import "./config-eval-CG37crOn.js";
30
- import "./send-BG45zdAY.js";
31
- import "./resolve-route-Twc4mQV7.js";
32
- import "./channel-activity-D2IwnDWk.js";
33
- import "./tables-Dtfop_e5.js";
28
+ import "./commands-registry-CwvSkARW.js";
29
+ import "./config-eval-BMGRKCyr.js";
30
+ import "./send-BPleg3km.js";
31
+ import "./resolve-route-DyTOJJs4.js";
32
+ import "./channel-activity-C0DEUhUn.js";
33
+ import "./tables-Cif1OeQ1.js";
34
34
  import "./proxy-DkRPPIHD.js";
35
35
  import "./config-CtKjZZ4x.js";
36
- import "./replies-D0__mn7d.js";
36
+ import "./replies-lgWzXlwM.js";
37
37
  import { randomUUID } from "node:crypto";
38
38
  import { z } from "zod";
39
39
 
@@ -2,7 +2,7 @@ import "./paths-C9FmTW1x.js";
2
2
  import "./agent-paths-BySKyq9I.js";
3
3
  import { au as logWarn } from "./agent-scope-CLn_Ws3B.js";
4
4
  import "./commands-registry-DfzoWf4b.js";
5
- import { Er as onAgentEvent, G as DEFAULT_INPUT_TIMEOUT_MS, H as DEFAULT_INPUT_IMAGE_MAX_BYTES, J as normalizeMimeList, Ja as sendJson, K as extractFileContentFromSource, Ka as resolveAgentIdForRequest, U as DEFAULT_INPUT_IMAGE_MIMES, W as DEFAULT_INPUT_MAX_REDIRECTS, Xa as writeDone, Y as resolveInputFileLimits, Ya as setSseHeaders, ft as handleGatewayPostJsonEndpoint, ht as agentCommand, mt as resolveAssistantStreamDeltaText, pt as buildAgentMessageFromConversationEntries, q as extractImageContentFromSource, qa as resolveSessionKey, wr as emitAgentEvent } from "./reply-DQfPM5ia.js";
5
+ import { Er as onAgentEvent, G as DEFAULT_INPUT_TIMEOUT_MS, H as DEFAULT_INPUT_IMAGE_MAX_BYTES, J as normalizeMimeList, Ja as sendJson, K as extractFileContentFromSource, Ka as resolveAgentIdForRequest, U as DEFAULT_INPUT_IMAGE_MIMES, W as DEFAULT_INPUT_MAX_REDIRECTS, Xa as writeDone, Y as resolveInputFileLimits, Ya as setSseHeaders, ft as handleGatewayPostJsonEndpoint, ht as agentCommand, mt as resolveAssistantStreamDeltaText, pt as buildAgentMessageFromConversationEntries, q as extractImageContentFromSource, qa as resolveSessionKey, wr as emitAgentEvent } from "./reply-CBhrmRrH.js";
6
6
  import { d as defaultRuntime } from "./errors-Dx3S3Nrp.js";
7
7
  import "./send-DI5jsj-s.js";
8
8
  import "./send-Dg2_aoK-.js";
@@ -37,7 +37,7 @@ import "./ssrf-Blf4NrHS.js";
37
37
  import "./outbound-attachment-BHTb_aF7.js";
38
38
  import "./fetch-BJWQWfdf.js";
39
39
  import "./delivery-queue-9lp1uujZ.js";
40
- import { t as createDefaultDeps } from "./deps-CBapZnsi.js";
40
+ import { t as createDefaultDeps } from "./deps-7Xjk7uTn.js";
41
41
  import "./memory-e9aOXNx1.js";
42
42
  import "./memory-search-B8y2GTeB.js";
43
43
  import "./manager-DI2w66Ae.js";
@@ -2,14 +2,14 @@ import { Sa as defaultRuntime, Vi as logWarn } from "./agent-scope-VtywltNx.js";
2
2
  import "./github-copilot-token-CNsqwfnE.js";
3
3
  import "./send-BIYMEcFp.js";
4
4
  import "./send-vYtmO4dA.js";
5
- import { B as DEFAULT_INPUT_IMAGE_MIMES, G as normalizeMimeList, H as DEFAULT_INPUT_TIMEOUT_MS, K as resolveInputFileLimits, U as extractFileContentFromSource, V as DEFAULT_INPUT_MAX_REDIRECTS, W as extractImageContentFromSource, a as agentCommand, at as sendJson, et as emitAgentEvent, i as resolveAssistantStreamDeltaText, it as resolveSessionKey, n as handleGatewayPostJsonEndpoint, nt as createDefaultDeps, ot as setSseHeaders, r as buildAgentMessageFromConversationEntries, rt as resolveAgentIdForRequest, st as writeDone, tt as onAgentEvent, z as DEFAULT_INPUT_IMAGE_MAX_BYTES } from "./pi-embedded-DlBsi5bC.js";
5
+ import { B as DEFAULT_INPUT_IMAGE_MIMES, G as normalizeMimeList, H as DEFAULT_INPUT_TIMEOUT_MS, K as resolveInputFileLimits, U as extractFileContentFromSource, V as DEFAULT_INPUT_MAX_REDIRECTS, W as extractImageContentFromSource, a as agentCommand, at as sendJson, et as emitAgentEvent, i as resolveAssistantStreamDeltaText, it as resolveSessionKey, n as handleGatewayPostJsonEndpoint, nt as createDefaultDeps, ot as setSseHeaders, r as buildAgentMessageFromConversationEntries, rt as resolveAgentIdForRequest, st as writeDone, tt as onAgentEvent, z as DEFAULT_INPUT_IMAGE_MAX_BYTES } from "./pi-embedded-Bqi9f0et.js";
6
6
  import "./reply-prefix-bCs4xRE_.js";
7
7
  import "./diagnostic-BkUPEf9c.js";
8
8
  import "./diagnostic-session-state-CL_QxyRg.js";
9
9
  import "./send-DwTjxUii.js";
10
10
  import "./media-D-hf-lm_.js";
11
11
  import "./pi-model-discovery-DswPX2EG.js";
12
- import "./paths-BxKqczZV.js";
12
+ import "./paths-Dwg5yVao.js";
13
13
  import "./ssrf-9SwDSKOO.js";
14
14
  import "./path-alias-guards-Cft6Dvfn.js";
15
15
  import "./fs-safe-Dvm0de7n.js";
@@ -1,6 +1,6 @@
1
1
  import "./github-copilot-token-Dy7Y_jbI.js";
2
2
  import { la as logWarn, qo as defaultRuntime } from "./paths-tN5PnNK1.js";
3
- import { B as extractImageContentFromSource, F as DEFAULT_INPUT_IMAGE_MAX_BYTES, H as resolveInputFileLimits, I as DEFAULT_INPUT_IMAGE_MIMES, L as DEFAULT_INPUT_MAX_REDIRECTS, R as DEFAULT_INPUT_TIMEOUT_MS, V as normalizeMimeList, X as emitAgentEvent, Z as onAgentEvent, a as agentCommand, at as sendJson, i as resolveAssistantStreamDeltaText, it as resolveSessionKey, n as handleGatewayPostJsonEndpoint, nt as createDefaultDeps, ot as setSseHeaders, r as buildAgentMessageFromConversationEntries, rt as resolveAgentIdForRequest, st as writeDone, z as extractFileContentFromSource } from "./auth-Bfgwy6TQ.js";
3
+ import { B as extractImageContentFromSource, F as DEFAULT_INPUT_IMAGE_MAX_BYTES, H as resolveInputFileLimits, I as DEFAULT_INPUT_IMAGE_MIMES, L as DEFAULT_INPUT_MAX_REDIRECTS, R as DEFAULT_INPUT_TIMEOUT_MS, V as normalizeMimeList, X as emitAgentEvent, Z as onAgentEvent, a as agentCommand, at as sendJson, i as resolveAssistantStreamDeltaText, it as resolveSessionKey, n as handleGatewayPostJsonEndpoint, nt as createDefaultDeps, ot as setSseHeaders, r as buildAgentMessageFromConversationEntries, rt as resolveAgentIdForRequest, st as writeDone, z as extractFileContentFromSource } from "./auth-CmR3RRfx.js";
4
4
  import "./send-DwNxlwDd.js";
5
5
  import "./send-TMsshhGX.js";
6
6
  import "./skill-commands-Bp7DhFz2.js";
@@ -1,5 +1,5 @@
1
- import { ds as resolveConfigDir } from "./agent-scope-DVw8mi_i.js";
2
- import { _ as extensionForMime, g as detectMime, n as loadWebMedia } from "./media-D4nEnyX9.js";
1
+ import { ds as resolveConfigDir } from "./agent-scope-T2X-I1lP.js";
2
+ import { _ as extensionForMime, g as detectMime, n as loadWebMedia } from "./media-KeWZMCmf.js";
3
3
  import fs from "node:fs/promises";
4
4
  import path from "node:path";
5
5
  import crypto from "node:crypto";
@@ -1,13 +1,13 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Gt as loadConfig, Ms as getChildLogger, as as escapeRegExp, k as createSubsystemLogger, ys as toWhatsappJid } from "./agent-scope-DVw8mi_i.js";
2
+ import { Gt as loadConfig, Ms as getChildLogger, as as escapeRegExp, k as createSubsystemLogger, ys as toWhatsappJid } from "./agent-scope-T2X-I1lP.js";
3
3
  import { n as generateSecureUuid } from "./secure-random-CSsVRTTy.js";
4
4
  import { t as redactIdentifier } from "./redact-identifier-Cy6Tnhkn.js";
5
- import { n as loadWebMedia } from "./media-D4nEnyX9.js";
6
- import { n as resolveMarkdownTableMode } from "./markdown-tables-7kI-7mng.js";
5
+ import { n as loadWebMedia } from "./media-KeWZMCmf.js";
6
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-QOHpjP76.js";
7
7
  import { n as normalizePollInput } from "./polls-CYTwXmA1.js";
8
- import { t as convertMarkdownTables } from "./tables-Dtfop_e5.js";
9
- import { n as requireActiveWebListener } from "./active-listener-BC05EmaA.js";
10
- import { n as formatError } from "./session-CHL2ptKy.js";
8
+ import { t as convertMarkdownTables } from "./tables-Cif1OeQ1.js";
9
+ import { n as requireActiveWebListener } from "./active-listener-CNrLAfOg.js";
10
+ import { n as formatError } from "./session-Cvg_ryor.js";
11
11
 
12
12
  //#region src/markdown/whatsapp.ts
13
13
  /**
@@ -1,6 +1,6 @@
1
1
  import { Gl as listChannelPlugins, Vf as CHAT_CHANNEL_ORDER, t as isTruthyEnvValue } from "./env-Dlz8aQHP.js";
2
2
  import { d as listChannelPluginCatalogEntries } from "./dangerous-name-matching-ob0tR02Y.js";
3
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-C7oTQytM.js";
3
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-VukRFBIJ.js";
4
4
 
5
5
  //#region src/cli/channel-options.ts
6
6
  function dedupe(values) {
@@ -1,6 +1,6 @@
1
1
  import { Cd as isTruthyEnvValue, Nu as listChannelPlugins, jf as CHAT_CHANNEL_ORDER } from "./agent-scope-CLn_Ws3B.js";
2
2
  import { c as listChannelPluginCatalogEntries } from "./dangerous-name-matching-B2YH8EDF.js";
3
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-2aqMgXpl.js";
3
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-CmfUTKxt.js";
4
4
 
5
5
  //#region src/cli/channel-options.ts
6
6
  function dedupe(values) {
@@ -1,4 +1,4 @@
1
- import { Di as BOUNDARY_PATH_ALIAS_POLICIES, Oi as resolveBoundaryPath, Wi as isNotFoundPathError } from "./agent-scope-DVw8mi_i.js";
1
+ import { Di as BOUNDARY_PATH_ALIAS_POLICIES, Oi as resolveBoundaryPath, Wi as isNotFoundPathError } from "./agent-scope-T2X-I1lP.js";
2
2
  import fs from "node:fs/promises";
3
3
  import os from "node:os";
4
4