@fased/fased 0.1.13 → 0.1.14

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 (301) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +28 -33
  3. package/dist/{agents-DmWSWgPi.js → agents-C-WHRWnS.js} +8 -8
  4. package/dist/{attachment-normalize-B2x8FWZ9.js → attachment-normalize-DQ8t8Fpg.js} +1 -1
  5. package/dist/{attachment-normalize-DaQyD3Gc.js → attachment-normalize-qkVppE3-.js} +1 -1
  6. package/dist/{audio-preflight-CjhAnjuK.js → audio-preflight-2IPkCNvN.js} +1 -1
  7. package/dist/{audio-preflight-DqM048P_.js → audio-preflight-3DGv3sEL.js} +2 -2
  8. package/dist/{audio-preflight-DilYfzh4.js → audio-preflight-Bd38_Rtq.js} +1 -1
  9. package/dist/{audio-preflight-BVQHfg69.js → audio-preflight-LGe174al.js} +2 -2
  10. package/dist/{audio-preflight-BF_inA1H.js → audio-preflight-vshjxbVx.js} +1 -1
  11. package/dist/{audit-BmyHd7Fd.js → audit-DjY5I08B.js} +1 -1
  12. package/dist/{audit-oiJMNMrH.js → audit-x263ATTT.js} +1 -1
  13. package/dist/{auth-Ba9Dk7FX.js → auth-B7xL5wBQ.js} +92 -73
  14. package/dist/{auth-choice-Ba8d4du0.js → auth-choice-DJMbZkdQ.js} +1 -1
  15. package/dist/{auth-choice-DT4p5QVd.js → auth-choice-FgOKdWSF.js} +1 -1
  16. package/dist/{auth-choice-prompt-DVg6LrLV.js → auth-choice-prompt-DpbsOuyY.js} +1 -1
  17. package/dist/{auth-choice-prompt-BLqcFdqp.js → auth-choice-prompt-rlE_GSOw.js} +1 -1
  18. package/dist/build-info.json +3 -3
  19. package/dist/bundled/boot-md/handler.js +1 -1
  20. package/dist/bundled/session-memory/handler.js +1 -1
  21. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  22. package/dist/{channel-web-BjEGLQyO.js → channel-web-Bp0CxbNI.js} +2 -2
  23. package/dist/{channel-web-b3C50Y_N.js → channel-web-D6D54KuR.js} +2 -2
  24. package/dist/{channels-CkoIiZt6.js → channels-C4gSP3Dd.js} +6 -6
  25. package/dist/{channels-C7isH6xy.js → channels-DvysmLPX.js} +6 -6
  26. package/dist/{channels-cli-BtgXre6E.js → channels-cli-BuNVqf2J.js} +5 -5
  27. package/dist/{channels-cli-wTlfSXoS.js → channels-cli-Bz65iM4H.js} +5 -5
  28. package/dist/cli/daemon-cli.js +1 -1
  29. package/dist/{cli-bjzzND1a.js → cli-CY2HaoYp.js} +2 -2
  30. package/dist/{cli-DIm0O_lA.js → cli-DgGwAObY.js} +2 -2
  31. package/dist/{command-registry-L5hzgsO3.js → command-registry-DgzxE6-s.js} +9 -9
  32. package/dist/{completion-cli-BS5owZSW.js → completion-cli-jTE-3aDE.js} +2 -2
  33. package/dist/{completion-cli-Cqcy4193.js → completion-cli-jpzUvb3x.js} +1 -1
  34. package/dist/{config-cli-B6a5ZEoL.js → config-cli-C8LQVFqN.js} +1 -1
  35. package/dist/{config-cli-DqdtNMfz.js → config-cli-Vu0qrkcp.js} +1 -1
  36. package/dist/{configure-DnEK9lvB.js → configure-BTCJ4jyp.js} +12 -12
  37. package/dist/{configure-BwEHGe7O.js → configure-DwuimLR7.js} +12 -12
  38. package/dist/control-ui/assets/app-DXYMrRJ9.js.map +1 -1
  39. package/dist/{cron-cli-BDHDvZT2.js → cron-cli-CnqrBQRR.js} +2 -2
  40. package/dist/{cron-cli-Bwt1DpjZ.js → cron-cli-Komkqy3-.js} +2 -2
  41. package/dist/{daemon-cli-Cb_QJZX8.js → daemon-cli-DO7p9TEM.js} +1 -1
  42. package/dist/{daemon-cli-h2D07h8M.js → daemon-cli-eLgnHj5I.js} +1 -1
  43. package/dist/daemon-cli.js +1 -1
  44. package/dist/{deps-CZFDjC6B.js → deps-Dh2iIgIB.js} +1 -1
  45. package/dist/{deps-CrKSMHlj.js → deps-npMqt3Ka.js} +1 -1
  46. package/dist/entry.js +1 -1
  47. package/dist/extensionAPI.js +1 -1
  48. package/dist/{gateway-cli-a6mdZcvO.js → gateway-cli-CtGAZD_4.js} +27 -27
  49. package/dist/{gateway-cli-lJ8tfi1V.js → gateway-cli-DnPPkDok.js} +27 -27
  50. package/dist/{health-DI0aqVH0.js → health-CI2la9gk.js} +2 -2
  51. package/dist/{health-CKmYZQVl.js → health-WemI1hMs.js} +2 -2
  52. package/dist/{heartbeat-runner-CwEpFUJu.js → heartbeat-runner-DGA7RCWg.js} +1 -1
  53. package/dist/{heartbeat-runner-DDfNvScd.js → heartbeat-runner-DcqI-L2-.js} +1 -1
  54. package/dist/{hooks-cli-C3kkiY3m.js → hooks-cli-BJ-cuVgp.js} +3 -3
  55. package/dist/{hooks-cli-CWaBU3Gm.js → hooks-cli-CKiMdD4M.js} +3 -3
  56. package/dist/index.js +7 -7
  57. package/dist/{ipv4-CNhiSmCD.js → ipv4-86I-Nx-V.js} +2 -2
  58. package/dist/{ipv4-BLRwHChK.js → ipv4-ocsDp87_.js} +2 -2
  59. package/dist/{lifecycle-C5XGWThd.js → lifecycle-C6SWjahT.js} +1 -1
  60. package/dist/{lifecycle-DFB0_xLS.js → lifecycle-DtjQ5ipb.js} +1 -1
  61. package/dist/{list.auth-overview-BIp5q_8N.js → list.auth-overview-Cmhnxus1.js} +1 -1
  62. package/dist/{list.auth-overview-rLzc76Sc.js → list.auth-overview-DrR818-U.js} +1 -1
  63. package/dist/llm-slug-generator.js +1 -1
  64. package/dist/{model-catalog-hjXNofhs.js → model-catalog-QdGjCBzQ.js} +93 -74
  65. package/dist/{models-B0wDRRTB.js → models-B4gY5Zsf.js} +4 -4
  66. package/dist/{models-cli-2VcOiLID.js → models-cli-ZYvMSvJ0.js} +4 -4
  67. package/dist/{models-cli-CKQEE1hy.js → models-cli-hrJ2blXT.js} +5 -5
  68. package/dist/{node-cli-CT41KnaD.js → node-cli-CPmJqYER.js} +2 -2
  69. package/dist/{node-cli-hiCjYjDs.js → node-cli-DniBkXLM.js} +2 -2
  70. package/dist/{onboard-ruUWKVpa.js → onboard-BBW1oF-0.js} +6 -6
  71. package/dist/{onboard-ddaSHBKZ.js → onboard-WQObC6sI.js} +6 -6
  72. package/dist/{onboard-channels-DYKwJPZk.js → onboard-channels-Bwb5RCIS.js} +2 -2
  73. package/dist/{onboard-channels-BBLJ2eG7.js → onboard-channels-DZij_XSU.js} +2 -2
  74. package/dist/{onboard-search-K_gqtpu1.js → onboard-search-Bt2b93cG.js} +5 -5
  75. package/dist/{onboard-search-D8sCkxny.js → onboard-search-C-PWyXkX.js} +5 -5
  76. package/dist/{onboarding-j1hpXVOe.js → onboarding-Cb9j4BOq.js} +7 -7
  77. package/dist/{onboarding-C8WtfnfT.js → onboarding-INDfl2yD.js} +7 -7
  78. package/dist/{openresponses-http-B5LVbUQ-.js → openresponses-http-BHecKser.js} +1 -1
  79. package/dist/{openresponses-http-C983oEVC.js → openresponses-http-C4VkP7IC.js} +1 -1
  80. package/dist/{openresponses-http-c0bMt48o.js → openresponses-http-CGLYAUyM.js} +1 -1
  81. package/dist/{openresponses-http-ngs3P9ek.js → openresponses-http-CVJBsG9z.js} +2 -2
  82. package/dist/{openresponses-http-CUqgCbTX.js → openresponses-http-dny2OhpA.js} +2 -2
  83. package/dist/{parent-default-help-DE5SId9s.js → parent-default-help-CcPiYUar.js} +1 -1
  84. package/dist/{parent-default-help-CoH7zlDh.js → parent-default-help-dowF5JGJ.js} +1 -1
  85. package/dist/{pi-embedded-BvqQUzWN.js → pi-embedded-D-WBZS6e.js} +89 -70
  86. package/dist/{pi-embedded-F3Zt8ed6.js → pi-embedded-IqgbZA5l.js} +89 -70
  87. package/dist/{plugin-registry-C5Ry5FZe.js → plugin-registry-C0b3SJXT.js} +1 -1
  88. package/dist/{plugin-registry-V61y7NBj.js → plugin-registry-C1WE5cad.js} +1 -1
  89. package/dist/plugin-sdk/{active-listener-DMQkC65_.js → active-listener-CiGA0hRS.js} +1 -1
  90. package/dist/plugin-sdk/{audio-preflight-Ba6xe3SP.js → audio-preflight-DVoi6-9R.js} +29 -29
  91. package/dist/plugin-sdk/{audio-preflight-Iwawhfar.js → audio-preflight-Do3tS2Hp.js} +1 -1
  92. package/dist/plugin-sdk/{channel-activity-BcI4xSoe.js → channel-activity-DRcprlRI.js} +1 -1
  93. package/dist/plugin-sdk/{channel-web-ByZK5Ws6.js → channel-web-DvYiNUDj.js} +15 -15
  94. package/dist/plugin-sdk/{chunk-BntoXexQ.js → chunk-CWM4OQ5j.js} +1 -1
  95. package/dist/plugin-sdk/command-status.js +1 -1
  96. package/dist/plugin-sdk/{commands-registry-Deqd0K8M.js → commands-registry-CnlOnVB6.js} +1 -1
  97. package/dist/plugin-sdk/{diagnostic-BnS_JikV.js → diagnostic-BfpYqaMu.js} +1 -1
  98. package/dist/plugin-sdk/{fetch-guard-CTD85vq2.js → fetch-guard-BciVpgwU.js} +1 -1
  99. package/dist/plugin-sdk/{fetch-B42SDHGm.js → fetch-yy6-Kb3T.js} +1 -1
  100. package/dist/plugin-sdk/{filesystem-manager-BX7oNQR8.js → filesystem-manager-B5AL-sCv.js} +3 -3
  101. package/dist/plugin-sdk/{fs-safe-DOPVDJix.js → fs-safe-Ch39tcFn.js} +2 -2
  102. package/dist/plugin-sdk/index.js +34 -34
  103. package/dist/plugin-sdk/{internal-DQx46pKX.js → internal-Bsx2Ck4H.js} +1 -1
  104. package/dist/plugin-sdk/{ir-Bbym3o_S.js → ir-BqSQJB3B.js} +4 -4
  105. package/dist/plugin-sdk/{login-BViGjyGG.js → login-CUkR_AH3.js} +2 -2
  106. package/dist/plugin-sdk/{login-qr-Byua0a3V.js → login-qr-BTjizo_A.js} +2 -2
  107. package/dist/plugin-sdk/{manager-CIggnIJi.js → manager-DQJURMcB.js} +5 -5
  108. package/dist/plugin-sdk/{markdown-tables-DpMWx8Tl.js → markdown-tables-Dvj4VeiJ.js} +1 -1
  109. package/dist/plugin-sdk/{memory-search-DASOKZdc.js → memory-search-BMkuVf7r.js} +1 -1
  110. package/dist/plugin-sdk/{openresponses-http-CGyicTgJ.js → openresponses-http-7e9CqhJi.js} +1 -1
  111. package/dist/plugin-sdk/{openresponses-http-B5rDYW__.js → openresponses-http-CEjbCJ_J.js} +29 -29
  112. package/dist/plugin-sdk/{outbound-C_KKhUy0.js → outbound-Ch3UOB-3.js} +6 -6
  113. package/dist/plugin-sdk/{outbound-attachment-ddz0MwiT.js → outbound-attachment-8pyStMIv.js} +2 -2
  114. package/dist/plugin-sdk/{path-alias-guards-ZLFppfUS.js → path-alias-guards-DmROHvdC.js} +1 -1
  115. package/dist/plugin-sdk/{paths-BjhD4HPg.js → paths-QYyMn2Wi.js} +2 -2
  116. package/dist/plugin-sdk/{pi-model-discovery-CFtZGJhK.js → pi-model-discovery-BGBK5j7O.js} +1 -1
  117. package/dist/plugin-sdk/{pi-model-discovery-runtime-C4xL6SHf.js → pi-model-discovery-runtime-Ds3U-M1x.js} +2 -2
  118. package/dist/plugin-sdk/{pw-ai-8IF0b_Yx.js → pw-ai-qIQtqb0S.js} +4 -4
  119. package/dist/plugin-sdk/{qmd-manager-Cwq6jm3-.js → qmd-manager-DAYkSE5z.js} +4 -4
  120. package/dist/plugin-sdk/{qmd-scope-CSMRsTtS.js → qmd-scope-CDToQJAg.js} +1 -1
  121. package/dist/plugin-sdk/{query-expansion-BxUJl8D1.js → query-expansion-yLS-ifHD.js} +2 -2
  122. package/dist/plugin-sdk/{replies-4ciKRt42.js → replies-DuVEe866.js} +2 -2
  123. package/dist/plugin-sdk/{reply-DQvYSWCp.js → reply-D9WhCAf0.js} +154 -135
  124. package/dist/plugin-sdk/{reply-prefix-D1GlTOVT.js → reply-prefix-DYUukSpx.js} +1 -1
  125. package/dist/plugin-sdk/{resolve-outbound-target-CsbaX39w.js → resolve-outbound-target-DlTadiqm.js} +2 -2
  126. package/dist/plugin-sdk/{resolve-route-y3cyO8Nu.js → resolve-route-CKHCIkIh.js} +1 -1
  127. package/dist/plugin-sdk/{runtime-JZwgwXxK.js → runtime-d_ap8ggn.js} +8 -8
  128. package/dist/plugin-sdk/{send-By-vmNGK.js → send-BYaWimfS.js} +5 -5
  129. package/dist/plugin-sdk/{send-BkZyweGW.js → send-Cvf5nOIr.js} +4 -4
  130. package/dist/plugin-sdk/{send-B7uKkTxV.js → send-DYsMepvi.js} +7 -7
  131. package/dist/plugin-sdk/{send-b2ALvHco.js → send-DtgDCh9h.js} +7 -7
  132. package/dist/plugin-sdk/{send-jXCTO3i_.js → send-XXJCJ2as.js} +5 -5
  133. package/dist/plugin-sdk/{session-B2c1Wmrm.js → session-CZkOY6Ba.js} +1 -1
  134. package/dist/plugin-sdk/{skill-commands-DqGrOYfl.js → skill-commands-BKfUIpx3.js} +5 -5
  135. package/dist/plugin-sdk/src/agents/bash-tools.process.d.ts +2 -2
  136. package/dist/plugin-sdk/src/brand.d.ts +2 -2
  137. package/dist/plugin-sdk/src/channels/thread-bindings-policy.d.ts +21 -0
  138. package/dist/plugin-sdk/{status-KYehxhnn.js → status-BtSfRg0Y.js} +92 -73
  139. package/dist/plugin-sdk/{tables-b0zUZRMn.js → tables-DQEs0bVk.js} +1 -1
  140. package/dist/plugin-sdk/{target-errors-WJdwRuAS.js → target-errors-DpDEAats.js} +2 -2
  141. package/dist/plugin-sdk/{tool-loop-detection-k7zpyjWy.js → tool-loop-detection-D8xgCIc0.js} +1 -1
  142. package/dist/plugin-sdk/{web-CAC5vbc9.js → web-Dn9EjG_7.js} +2 -2
  143. package/dist/plugin-sdk/web-Iu1NvzWV.js +40 -0
  144. package/dist/plugin-sdk/{whatsapp-actions-SkM0ibaJ.js → whatsapp-actions-qiFsmHsr.js} +12 -12
  145. package/dist/{plugins-cli-ChEJuxFs.js → plugins-cli-D1j2v1v3.js} +5 -5
  146. package/dist/{plugins-cli-DwxmXRMv.js → plugins-cli-DK4Jeucz.js} +5 -5
  147. package/dist/{program-BGSx2Vda.js → program-CazmynDS.js} +7 -7
  148. package/dist/{program-context-P_PLH93O.js → program-context-Bd78I73_.js} +24 -24
  149. package/dist/{prompt-select-styled-Cgj-zl4h.js → prompt-select-styled-Bx8l6tgz.js} +4 -4
  150. package/dist/{prompt-select-styled-xJXAqPXi.js → prompt-select-styled-DSFk0AgE.js} +4 -4
  151. package/dist/{register.agent-FTnfAUsz.js → register.agent-B4kjmkkK.js} +9 -9
  152. package/dist/{register.agent-DtHG7NoT.js → register.agent-PlTxuITr.js} +8 -8
  153. package/dist/{register.configure-wr3EEeat.js → register.configure-BvP4DKP8.js} +12 -12
  154. package/dist/{register.configure-hmL6L3g2.js → register.configure-DZPTQvjv.js} +12 -12
  155. package/dist/{register.maintenance-C6oo_ezy.js → register.maintenance-BbuaL-LU.js} +8 -8
  156. package/dist/{register.maintenance-Dy4bRQQG.js → register.maintenance-a-pIClSG.js} +9 -9
  157. package/dist/{register.message-Bf14REw-.js → register.message-DDFPXPWb.js} +3 -3
  158. package/dist/{register.message-BD4Te7tj.js → register.message-DNVRbijg.js} +3 -3
  159. package/dist/{register.onboard-Cu_0muzG.js → register.onboard-B0HUy5PD.js} +14 -14
  160. package/dist/{register.onboard-C0xqP_uC.js → register.onboard-nXq-teMt.js} +14 -14
  161. package/dist/{register.setup-oZxJojNP.js → register.setup-DIhPxsuu.js} +14 -14
  162. package/dist/{register.setup-BiHZP-Bk.js → register.setup-DRj3j2ZO.js} +14 -14
  163. package/dist/{register.status-health-sessions-DpCYTTdC.js → register.status-health-sessions-DTDrlfum.js} +6 -6
  164. package/dist/{register.status-health-sessions-5ekV66OK.js → register.status-health-sessions-vQKRHMLC.js} +6 -6
  165. package/dist/{register.subclis-CDkHAGnh.js → register.subclis-Cy8W7u7O.js} +16 -16
  166. package/dist/{reply-Baz1gE0S.js → reply-CHDxge29.js} +93 -74
  167. package/dist/{run-main-DKRKAwiP.js → run-main-1aaRfq94.js} +14 -14
  168. package/dist/{runtime-helper-grants-tP01ROwZ.js → runtime-helper-grants-0TgQ0lgQ.js} +1 -1
  169. package/dist/{runtime-helper-grants-BLBgnkag.js → runtime-helper-grants-n6XBHo3m.js} +1 -1
  170. package/dist/{sandbox-cli-Bd-8A0tb.js → sandbox-cli-D-2QLS_w.js} +2 -2
  171. package/dist/{sandbox-cli-D47Wa19_.js → sandbox-cli-Ds-oc2Jt.js} +2 -2
  172. package/dist/{security-cli-DNazkft-.js → security-cli-Ck0noj86.js} +3 -3
  173. package/dist/{security-cli-BJY7p7My.js → security-cli-DxJAZsT6.js} +3 -3
  174. package/dist/{server-Bve0fBtZ.js → server-BEwhNHAO.js} +2 -2
  175. package/dist/{server-Bbpijl2X.js → server-D554L3O3.js} +2 -2
  176. package/dist/{server-cron-Dqe6FbgV.js → server-cron-Co8el74q.js} +2 -2
  177. package/dist/{server-cron-BUNwsQ3c.js → server-cron-CuUXpitx.js} +2 -2
  178. package/dist/{server-node-events-ClO3P4gG.js → server-node-events-bzKAOMwM.js} +3 -3
  179. package/dist/{server-node-events-BEZ0jgR6.js → server-node-events-h-xwZu4x.js} +3 -3
  180. package/dist/{status-CNDT0EXd.js → status-Bd25eZ91.js} +4 -4
  181. package/dist/{status-CEc8-_t7.js → status-CjvLj0Ob.js} +1 -1
  182. package/dist/{status-CYNE3C5Y.js → status-DXweKVET.js} +4 -4
  183. package/dist/{status-Doouocs4.js → status-DetSO2U-.js} +1 -1
  184. package/dist/{tui-cli-DGqbmIjb.js → tui-cli-B6IhMpTo.js} +3 -3
  185. package/dist/{tui-cli-BAHVzUig.js → tui-cli-DDu-3YTW.js} +3 -3
  186. package/dist/{tui-DlBfUSia.js → tui-rvBD7CEp.js} +1 -1
  187. package/dist/{tui-Cj2tNzRU.js → tui-sRU4cuDV.js} +1 -1
  188. package/dist/{update-cli-CowwEm1_.js → update-cli-DdBQL9wa.js} +10 -10
  189. package/dist/{update-cli-Dhambp65.js → update-cli-DhiPLbfC.js} +9 -9
  190. package/dist/{update-runner-DItB16kj.js → update-runner-CsJOHUCm.js} +1 -1
  191. package/dist/{update-runner-BYNHsNaj.js → update-runner-DBPk9kKP.js} +1 -1
  192. package/dist/{web-BKQLvqgr.js → web-0D-MfWhQ.js} +2 -2
  193. package/dist/{web-B3fGD9XZ.js → web-B2uPE5Pt.js} +3 -3
  194. package/dist/{web-u2nJ-rqI.js → web-DsACg6Kp.js} +3 -3
  195. package/dist/{web-BLUd2_Lg.js → web-Y8Z075Dl.js} +2 -2
  196. package/dist/{web-search-providers.runtime-mdso7C9-.js → web-search-providers.runtime-C9rYYuJB.js} +1 -1
  197. package/dist/{web-search-providers.runtime-DmhNfMZI.js → web-search-providers.runtime-Dih9pZ-s.js} +1 -1
  198. package/dist/{web-Cv-tDA3u.js → web-uQepjRHJ.js} +2 -2
  199. package/docs/automation/cron-vs-heartbeat.md +8 -8
  200. package/docs/cli/index.md +4 -4
  201. package/docs/concepts/architecture.md +2 -2
  202. package/docs/concepts/features.md +40 -40
  203. package/docs/concepts/model-providers.md +4 -4
  204. package/docs/docs.json +1 -1
  205. package/docs/gateway/authentication.md +2 -2
  206. package/docs/gateway/configuration-reference.md +1 -1
  207. package/docs/gateway/heartbeat.md +1 -0
  208. package/docs/help/faq.md +4 -4
  209. package/docs/help/index.md +4 -4
  210. package/docs/help/testing.md +5 -0
  211. package/docs/images/screenshots/polished/README.md +16 -0
  212. package/docs/images/screenshots/polished/operator-school-001-local-install-profile.png +0 -0
  213. package/docs/images/screenshots/polished/operator-school-002-local-gateway-settings.png +0 -0
  214. package/docs/images/screenshots/polished/operator-school-003-local-dashboard-link.png +0 -0
  215. package/docs/images/screenshots/polished/operator-school-004-hosted-tailscale-start.png +0 -0
  216. package/docs/images/screenshots/polished/operator-school-005-hosted-ssh-check.png +0 -0
  217. package/docs/images/screenshots/polished/operator-school-006-hosted-private-access.png +0 -0
  218. package/docs/images/screenshots/polished/operator-school-007-dashboard-open.png +0 -0
  219. package/docs/images/screenshots/polished/operator-school-008-agent-setup.png +0 -0
  220. package/docs/images/screenshots/polished/operator-school-009-chat-channel-setup.png +0 -0
  221. package/docs/images/screenshots/polished/operator-school-010-model-selection.png +0 -0
  222. package/docs/images/screenshots/polished/operator-school-011-model-provider-sign-in.png +0 -0
  223. package/docs/images/screenshots/polished/operator-school-012-wallet-roles.png +0 -0
  224. package/docs/images/screenshots/polished/operator-school-013-wallet-create.png +0 -0
  225. package/docs/images/screenshots/polished/operator-school-014-wallet-summary.png +0 -0
  226. package/docs/images/screenshots/polished/operator-school-015-wallet-passkey.png +0 -0
  227. package/docs/images/screenshots/polished/operator-school-016-mining-funding.png +0 -0
  228. package/docs/images/screenshots/polished/operator-school-017-mining-commit.png +0 -0
  229. package/docs/images/screenshots/polished/operator-school-018-mining-activity.png +0 -0
  230. package/docs/images/screenshots/polished/operator-school-019-mining-history.png +0 -0
  231. package/docs/images/screenshots/polished/operator-school-020-network-bond.png +0 -0
  232. package/docs/index.md +47 -47
  233. package/docs/install/index.md +1 -1
  234. package/docs/links.md +8 -8
  235. package/docs/platforms/mac/release.md +1 -0
  236. package/docs/plugins/crypto/wallet-autonomous-security.md +1 -1
  237. package/docs/plugins/crypto/wallet-roles-and-policies.md +4 -0
  238. package/docs/reference/vision.md +21 -18
  239. package/docs/security/index.md +9 -8
  240. package/docs/start/agent-wallet-mining-walkthrough.md +84 -5
  241. package/docs/start/bond-operator-economy.md +61 -61
  242. package/docs/start/control-ui-setup.md +23 -23
  243. package/docs/start/fased.md +31 -31
  244. package/docs/start/federation.md +47 -45
  245. package/docs/start/getting-started.md +6 -6
  246. package/docs/start/marketplace-personas-roadmap.md +1 -1
  247. package/docs/start/offers-marketplace.md +87 -87
  248. package/docs/start/onboarding-overview.md +5 -5
  249. package/docs/start/operator-glossary.md +49 -45
  250. package/docs/start/provider-agent-chat-flow.md +17 -14
  251. package/docs/start/setup-matrix.md +13 -12
  252. package/docs/start/wizard-cli-reference.md +2 -0
  253. package/docs/start/wizard.md +5 -5
  254. package/docs/tools/thinking.md +2 -0
  255. package/docs/web/control-ui.md +10 -11
  256. package/docs/web/dashboard.md +8 -8
  257. package/docs/web/index.md +3 -3
  258. package/extensions/acpx/package.json +1 -1
  259. package/extensions/bluebubbles/package.json +1 -1
  260. package/extensions/copilot-proxy/package.json +1 -1
  261. package/extensions/diagnostics-otel/package.json +1 -1
  262. package/extensions/discord/package.json +1 -1
  263. package/extensions/fased-federation/package.json +1 -1
  264. package/extensions/feishu/package.json +1 -1
  265. package/extensions/google-gemini-cli-auth/package.json +1 -1
  266. package/extensions/googlechat/package.json +1 -1
  267. package/extensions/imessage/package.json +1 -1
  268. package/extensions/irc/package.json +1 -1
  269. package/extensions/line/package.json +1 -1
  270. package/extensions/llm-task/package.json +1 -1
  271. package/extensions/lobster/package.json +1 -1
  272. package/extensions/matrix/CHANGELOG.md +6 -0
  273. package/extensions/matrix/package.json +1 -1
  274. package/extensions/mattermost/package.json +1 -1
  275. package/extensions/memory-core/package.json +1 -1
  276. package/extensions/memory-lancedb/package.json +1 -1
  277. package/extensions/minimax-portal-auth/package.json +1 -1
  278. package/extensions/msteams/CHANGELOG.md +6 -0
  279. package/extensions/msteams/package.json +1 -1
  280. package/extensions/nextcloud-talk/package.json +1 -1
  281. package/extensions/nostr/CHANGELOG.md +6 -0
  282. package/extensions/nostr/package.json +1 -1
  283. package/extensions/open-prose/package.json +1 -1
  284. package/extensions/sat-mining/package.json +1 -1
  285. package/extensions/sat-mining/src/live-chaos.ts +3 -2
  286. package/extensions/signal/package.json +1 -1
  287. package/extensions/slack/package.json +1 -1
  288. package/extensions/synology-chat/package.json +1 -1
  289. package/extensions/telegram/package.json +1 -1
  290. package/extensions/tlon/package.json +1 -1
  291. package/extensions/twitch/CHANGELOG.md +6 -0
  292. package/extensions/twitch/package.json +1 -1
  293. package/extensions/voice-call/CHANGELOG.md +6 -0
  294. package/extensions/voice-call/package.json +1 -1
  295. package/extensions/whatsapp/package.json +1 -1
  296. package/extensions/zalo/CHANGELOG.md +6 -0
  297. package/extensions/zalo/package.json +1 -1
  298. package/extensions/zalouser/CHANGELOG.md +6 -0
  299. package/extensions/zalouser/package.json +1 -1
  300. package/package.json +1 -1
  301. package/dist/plugin-sdk/web-Bo3jM7sh.js +0 -40
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import "./paths-C9FmTW1x.js";
3
3
  import { H as isRich, L as setVerbose, O as toWhatsappJid, U as theme, Z as ALLOWED_LOG_LEVELS, _ as normalizeE164, a as assertWebChannel, et as tryParseLogLevel, f as escapeRegExp } from "./agent-paths-BySKyq9I.js";
4
4
  import { $l as runCommandWithTimeout, Cd as isTruthyEnvValue, Dn as loadConfig, Et as loadSessionStore, Su as loadDotEnv, Td as normalizeEnv, bl as VERSION, cn as deriveSessionKey, eu as runExec, fd as replaceCliName, jt as saveSessionStore, ln as resolveSessionKey, oo as assertSupportedRuntime, pd as resolveCliName, rd as enableConsoleCapture } from "./agent-scope-803djwZu.js";
5
5
  import "./commands-registry-Dha8b_oq.js";
6
- import { cn as emitCliBanner, ds as applyTemplate, ln as formatCliBannerLine, lr as installUnhandledRejectionHandler, ns as ensureBinary, rs as promptYesNo, t as getReplyFromConfig, un as hasEmittedCliBanner } from "./reply-Baz1gE0S.js";
6
+ import { cn as emitCliBanner, ds as applyTemplate, ln as formatCliBannerLine, lr as installUnhandledRejectionHandler, ns as ensureBinary, rs as promptYesNo, t as getReplyFromConfig, un as hasEmittedCliBanner } from "./reply-CHDxge29.js";
7
7
  import { d as defaultRuntime, r as formatUncaughtError } from "./errors-Dx3S3Nrp.js";
8
8
  import "./send-DgEYF-rw.js";
9
9
  import "./send-pgDAogV8.js";
@@ -38,7 +38,7 @@ import "./ssrf-Blf4NrHS.js";
38
38
  import "./outbound-attachment-BIDEXM1m.js";
39
39
  import "./fetch-IJlrLWag.js";
40
40
  import "./delivery-queue-rYTO6uCE.js";
41
- import { t as createDefaultDeps } from "./deps-CZFDjC6B.js";
41
+ import { t as createDefaultDeps } from "./deps-Dh2iIgIB.js";
42
42
  import "./memory-C3SmVHtE.js";
43
43
  import "./memory-search-BB8Uk47d.js";
44
44
  import "./manager-Bc5KCs6B.js";
@@ -78,16 +78,16 @@ import "./skill-commands-BTvs1diZ.js";
78
78
  import { a as hasFlag, i as getVerboseFlag, n as getCommandPath, o as hasHelpOrVersion, s as hasRootVersionAlias } from "./argv-BqQeWVYw.js";
79
79
  import "./prompt-style-Db5iJoaI.js";
80
80
  import "./pairing-labels-DuozKBa1.js";
81
- import { r as waitForever, t as monitorWebChannel } from "./channel-web-b3C50Y_N.js";
81
+ import { r as waitForever, t as monitorWebChannel } from "./channel-web-D6D54KuR.js";
82
82
  import "./outbound-CYA87P1m.js";
83
83
  import "./session-HlyY2Zph.js";
84
84
  import "./login-DJUwPQyI.js";
85
85
  import { t as isMainModule } from "./is-main-CDzrraLY.js";
86
86
  import { t as ensureFasedAgentCliOnPath } from "./path-env-CskJNWzO.js";
87
87
  import "./ports-MrPNUsSA.js";
88
- import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-P_PLH93O.js";
89
- import "./plugin-registry-V61y7NBj.js";
90
- import { i as resolveCliChannelOptions, n as isParentDefaultHelpAction } from "./parent-default-help-DE5SId9s.js";
88
+ import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-Bd78I73_.js";
89
+ import "./plugin-registry-C1WE5cad.js";
90
+ import { i as resolveCliChannelOptions, n as isParentDefaultHelpAction } from "./parent-default-help-CcPiYUar.js";
91
91
  import process$1 from "node:process";
92
92
  import { fileURLToPath } from "node:url";
93
93
  import { Command, InvalidArgumentError } from "commander";
@@ -234,7 +234,7 @@ function registerPreActionHooks(program, programVersion) {
234
234
  commandPath
235
235
  });
236
236
  if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
237
- const { ensurePluginRegistryLoaded } = await import("./plugin-registry-V61y7NBj.js").then((n) => n.n);
237
+ const { ensurePluginRegistryLoaded } = await import("./plugin-registry-C1WE5cad.js").then((n) => n.n);
238
238
  ensurePluginRegistryLoaded();
239
239
  }
240
240
  });
@@ -1,6 +1,6 @@
1
1
  import { S as resolveUserPath, d as ensureDir, y as resolveConfigDir } from "./agent-paths-BySKyq9I.js";
2
2
  import { $l as runCommandWithTimeout, Gl as safePathSegmentHashed, Ll as scanDirectoryWithSummary, bo as normalizeSecretInput, ci as modelKey, dd as formatCliCommand, du as resolveArchiveOutputPath, fu as stripArchivePath, ii as buildModelAliasIndex, mu as isWithinDir, ou as extractArchive$1, pu as validateArchiveEntryPath, uu as isWindowsDrivePath, vo as isPrivateNetworkBaseUrl, wo as isSecretRef, yo as normalizeOptionalSecretInput } from "./agent-scope-803djwZu.js";
3
- import { $t as resolveNodeManagerOptions, zt as detectBinary } from "./reply-Baz1gE0S.js";
3
+ import { $t as resolveNodeManagerOptions, zt as detectBinary } from "./reply-CHDxge29.js";
4
4
  import { r as DEFAULT_PROVIDER } from "./defaults-CzImVi0V.js";
5
5
  import { i as isCanonicalDottedDecimalIPv4 } from "./ip-D_T5zbZS.js";
6
6
  import { o as isSecureWebSocketUrl } from "./ws-cvQhrVP3.js";
@@ -12,7 +12,7 @@ import { t as getRemoteSkillEligibility } from "./skills-remote-CGXeYe3d.js";
12
12
  import { t as resolveBrewExecutable } from "./brew-C52GeCeh.js";
13
13
  import { r as summarizeSkillInstallTrust, t as buildWorkspaceSkillStatus } from "./skills-status-o1alsn3m.js";
14
14
  import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-DY1Jr9HZ.js";
15
- import { E as normalizeAlias, jt as ensureApiKeyFromEnvOrPrompt, m as applyPrimaryModel } from "./auth-choice-Ba8d4du0.js";
15
+ import { E as normalizeAlias, jt as ensureApiKeyFromEnvOrPrompt, m as applyPrimaryModel } from "./auth-choice-DJMbZkdQ.js";
16
16
  import fs from "node:fs";
17
17
  import path from "node:path";
18
18
  import { createHash } from "node:crypto";
@@ -1,6 +1,6 @@
1
1
  import { Ba as normalizeOptionalSecretInput, Cu as formatCliCommand, Dl as stripArchivePath, Dr as buildModelAliasIndex, El as resolveArchiveOutputPath, Ga as isSecretRef, Ol as validateArchiveEntryPath, Tl as isWindowsDrivePath, Va as normalizeSecretInput, al as scanDirectoryWithSummary, jr as modelKey, kl as isWithinDir, md as runCommandWithTimeout, pl as safePathSegmentHashed, xl as extractArchive$1, za as isPrivateNetworkBaseUrl } from "./env-DZf2YiRU.js";
2
2
  import { u as ensureDir, v as resolveConfigDir, x as resolveUserPath } from "./agent-paths-DUHGyU1s.js";
3
- import { D as resolveNodeManagerOptions, p as detectBinary } from "./model-catalog-hjXNofhs.js";
3
+ import { D as resolveNodeManagerOptions, p as detectBinary } from "./model-catalog-QdGjCBzQ.js";
4
4
  import { r as DEFAULT_PROVIDER } from "./defaults-BDW-7D7s.js";
5
5
  import { n as fetchWithTimeout } from "./fetch-timeout-Bs45GM7s.js";
6
6
  import { t as fetchWithSsrFGuard } from "./fetch-guard-CkwlLWIg.js";
@@ -12,7 +12,7 @@ import { t as getRemoteSkillEligibility } from "./skills-remote-DWll8gbf.js";
12
12
  import { t as resolveBrewExecutable } from "./brew-Clw9vXhE.js";
13
13
  import { r as summarizeSkillInstallTrust, t as buildWorkspaceSkillStatus } from "./skills-status-F-1Weoqu.js";
14
14
  import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-Cv-nSB-W.js";
15
- import { E as normalizeAlias, jt as ensureApiKeyFromEnvOrPrompt, m as applyPrimaryModel } from "./auth-choice-DT4p5QVd.js";
15
+ import { E as normalizeAlias, jt as ensureApiKeyFromEnvOrPrompt, m as applyPrimaryModel } from "./auth-choice-FgOKdWSF.js";
16
16
  import path from "node:path";
17
17
  import fs from "node:fs";
18
18
  import { createHash } from "node:crypto";
@@ -1,7 +1,7 @@
1
1
  import { Cl as uninstallPlugin, Dn as loadConfig, Sl as resolveUninstallDirectoryTarget, io as clearPluginManifestRegistryCache, kf as applyExclusiveSlotSelection, pr as ensurePluginAllowlisted } from "./agent-scope-803djwZu.js";
2
2
  import { t as enablePluginInConfig } from "./enable-CnEIDWds.js";
3
3
  import { n as recordPluginInstall } from "./installs-C1B6kxfM.js";
4
- import { t as buildPluginStatusReport } from "./status-Doouocs4.js";
4
+ import { t as buildPluginStatusReport } from "./status-DetSO2U-.js";
5
5
  import { n as updateNpmInstalledPlugins } from "./update-C74iG43c.js";
6
6
 
7
7
  //#region src/plugins/lifecycle.ts
@@ -1,7 +1,7 @@
1
1
  import { Da as clearPluginManifestRegistryCache, In as ensurePluginAllowlisted, Qc as uninstallPlugin, Xt as loadConfig, Zc as resolveUninstallDirectoryTarget, zf as applyExclusiveSlotSelection } from "./env-DZf2YiRU.js";
2
2
  import { t as enablePluginInConfig } from "./enable-DfGATYHS.js";
3
3
  import { n as recordPluginInstall } from "./installs-QKtSGvGt.js";
4
- import { t as buildPluginStatusReport } from "./status-CEc8-_t7.js";
4
+ import { t as buildPluginStatusReport } from "./status-CjvLj0Ob.js";
5
5
  import { n as updateNpmInstalledPlugins } from "./update-BFS9LfuW.js";
6
6
 
7
7
  //#region src/plugins/lifecycle.ts
@@ -1,6 +1,6 @@
1
1
  import { H as isRich$1, T as shortenHomePath, U as theme } from "./agent-paths-BySKyq9I.js";
2
2
  import { Hi as resolveEnvApiKey, Za as resolveAuthStorePathForDisplay, da as resolveProfileUnusableUntilForDisplay, ho as resolveAuthProfileDisplayLabel, ro as normalizeProviderId, za as listProfilesForProvider, zi as getCustomProviderApiKey } from "./agent-scope-803djwZu.js";
3
- import { At as deriveModelMetadata, Lr as maskApiKey, s as formatRemainingShort } from "./reply-Baz1gE0S.js";
3
+ import { At as deriveModelMetadata, Lr as maskApiKey, s as formatRemainingShort } from "./reply-CHDxge29.js";
4
4
 
5
5
  //#region src/agents/provider-extension-catalog-manifest.ts
6
6
  const FASED_PROVIDER_EXTENSION_CATALOG_MANIFEST = [
@@ -1,6 +1,6 @@
1
1
  import { Ea as normalizeProviderId, Ia as resolveAuthProfileDisplayLabel, Pi as resolveProfileUnusableUntilForDisplay, ba as resolveAuthStorePathForDisplay, ca as listProfilesForProvider, ci as getCustomProviderApiKey, di as resolveEnvApiKey } from "./env-DZf2YiRU.js";
2
2
  import { H as theme, V as isRich$1, w as shortenHomePath } from "./agent-paths-DUHGyU1s.js";
3
- import { a as deriveModelMetadata, hr as maskApiKey, mt as formatRemainingShort } from "./model-catalog-hjXNofhs.js";
3
+ import { a as deriveModelMetadata, hr as maskApiKey, mt as formatRemainingShort } from "./model-catalog-QdGjCBzQ.js";
4
4
 
5
5
  //#region src/agents/provider-extension-catalog-manifest.ts
6
6
  const FASED_PROVIDER_EXTENSION_CATALOG_MANIFEST = [
@@ -2,7 +2,7 @@ import { a as resolveAgentDir, bi as DEFAULT_PROVIDER, k as createSubsystemLogge
2
2
  import "./github-copilot-token-DYrFvncE.js";
3
3
  import "./send-DwWlbQuV.js";
4
4
  import "./send-Dg4NoXDR.js";
5
- import { t as runEmbeddedPiAgent } from "./pi-embedded-F3Zt8ed6.js";
5
+ import { t as runEmbeddedPiAgent } from "./pi-embedded-IqgbZA5l.js";
6
6
  import "./diagnostic-COVkgGVx.js";
7
7
  import "./diagnostic-session-state-CexmAKza.js";
8
8
  import "./send-BrVVemb3.js";
@@ -52,7 +52,7 @@ import { i as saveMediaBuffer, n as ensureMediaDir, r as getMediaDir } from "./o
52
52
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DzdLpVxl.js";
53
53
  import { i as failDelivery, r as enqueueDelivery, t as ackDelivery } from "./delivery-queue-DeoUHXGD.js";
54
54
  import { n as resolveFunctionModuleExport, t as importFileModule } from "./module-loader-DIy61p0U.js";
55
- import { i as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-CrKSMHlj.js";
55
+ import { i as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-npMqt3Ka.js";
56
56
  import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, f as resolveSandboxPath, g as sanitizeEnvVars, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, o as syncSkillsToWorkspace, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-60AaRTYw.js";
57
57
  import { _ as ensureSkillsWatcher, t as getRemoteSkillEligibility, v as getSkillsSnapshotVersion } from "./skills-remote-DWll8gbf.js";
58
58
  import { a as resolveMergedSafeBinProfileFixtures, i as resolveExecSafeBinRuntimePolicy, n as isDangerousNameMatchingEnabled, o as applyPluginAutoEnable } from "./dangerous-name-matching-BzIhUdwr.js";
@@ -21505,14 +21505,14 @@ function onAgentEvent(listener) {
21505
21505
 
21506
21506
  //#endregion
21507
21507
  //#region src/infra/outbound/session-context.ts
21508
- function normalizeOptionalString$2(value) {
21508
+ function normalizeOptionalString$3(value) {
21509
21509
  if (typeof value !== "string") return;
21510
21510
  const trimmed = value.trim();
21511
21511
  return trimmed.length > 0 ? trimmed : void 0;
21512
21512
  }
21513
21513
  function buildOutboundSessionContext(params) {
21514
- const key = normalizeOptionalString$2(params.sessionKey);
21515
- const explicitAgentId = normalizeOptionalString$2(params.agentId);
21514
+ const key = normalizeOptionalString$3(params.sessionKey);
21515
+ const explicitAgentId = normalizeOptionalString$3(params.agentId);
21516
21516
  const derivedAgentId = key ? resolveSessionAgentId({
21517
21517
  sessionKey: key,
21518
21518
  config: params.cfg
@@ -21561,7 +21561,7 @@ function applyVerboseOverride(entry, level) {
21561
21561
 
21562
21562
  //#endregion
21563
21563
  //#region src/sessions/model-overrides.ts
21564
- function normalizeOptionalString$1(value) {
21564
+ function normalizeOptionalString$2(value) {
21565
21565
  return typeof value === "string" && value.trim().length > 0 ? value.trim() : void 0;
21566
21566
  }
21567
21567
  function applyModelOverrideToSessionEntry(params) {
@@ -21601,8 +21601,8 @@ function applyModelOverrideToSessionEntry(params) {
21601
21601
  updated = true;
21602
21602
  }
21603
21603
  }
21604
- const runtimeModel = normalizeOptionalString$1(entry.model) ?? "";
21605
- const runtimeProvider = normalizeOptionalString$1(entry.modelProvider) ?? "";
21604
+ const runtimeModel = normalizeOptionalString$2(entry.model) ?? "";
21605
+ const runtimeProvider = normalizeOptionalString$2(entry.modelProvider) ?? "";
21606
21606
  const runtimePresent = runtimeModel.length > 0 || runtimeProvider.length > 0;
21607
21607
  const runtimeAligned = runtimeModel === selection.model && (runtimeProvider.length === 0 || runtimeProvider === selection.provider);
21608
21608
  if (runtimePresent && (selectionUpdated || !runtimeAligned)) {
@@ -44595,14 +44595,42 @@ function resolveThreadBindingFarewellText(params) {
44595
44595
  return prefixSystemMessage(DEFAULT_THREAD_BINDING_FAREWELL_TEXT);
44596
44596
  }
44597
44597
 
44598
+ //#endregion
44599
+ //#region src/infra/outbound/conversation-id.ts
44600
+ function normalizeConversationId(value) {
44601
+ if (typeof value !== "string") return;
44602
+ return value.trim() || void 0;
44603
+ }
44604
+ function resolveConversationIdFromTargets(params) {
44605
+ const threadId = params.threadId != null ? normalizeConversationId(String(params.threadId)) : void 0;
44606
+ if (threadId) return threadId;
44607
+ for (const rawTarget of params.targets) {
44608
+ const target = normalizeConversationId(rawTarget);
44609
+ if (!target) continue;
44610
+ if (target.startsWith("channel:")) {
44611
+ const channelId = normalizeConversationId(target.slice(8));
44612
+ if (channelId) return channelId;
44613
+ continue;
44614
+ }
44615
+ const mentionMatch = target.match(/^<#(\d+)>$/);
44616
+ if (mentionMatch?.[1]) return mentionMatch[1];
44617
+ if (/^\d{6,}$/.test(target)) return target;
44618
+ }
44619
+ }
44620
+
44598
44621
  //#endregion
44599
44622
  //#region src/channels/thread-bindings-policy.ts
44600
44623
  const DISCORD_THREAD_BINDING_CHANNEL = "discord";
44624
+ const TELEGRAM_THREAD_BINDING_CHANNEL = "telegram";
44625
+ const LINE_THREAD_BINDING_CHANNEL = "line";
44601
44626
  const DEFAULT_THREAD_BINDING_IDLE_HOURS$1 = 24;
44602
44627
  const DEFAULT_THREAD_BINDING_MAX_AGE_HOURS$1 = 0;
44603
44628
  function normalizeChannelId(value) {
44604
44629
  return String(value ?? "").trim().toLowerCase();
44605
44630
  }
44631
+ function normalizeOptionalString$1(value) {
44632
+ return typeof value === "string" && value.trim() ? value.trim() : void 0;
44633
+ }
44606
44634
  function normalizeBoolean$1(value) {
44607
44635
  if (typeof value !== "boolean") return;
44608
44636
  return value;
@@ -44648,6 +44676,50 @@ function resolveThreadBindingSpawnPolicy(params) {
44648
44676
  spawnEnabled: normalizeBoolean$1(account?.[spawnFlagKey]) ?? normalizeBoolean$1(root?.[spawnFlagKey]) ?? channel !== DISCORD_THREAD_BINDING_CHANNEL
44649
44677
  };
44650
44678
  }
44679
+ function stripKnownTargetPrefix(value) {
44680
+ const typed = value.match(/^[a-z0-9_-]+:(user|group|room|channel):(.+)$/i);
44681
+ if (typed?.[2]) return typed[2];
44682
+ const colon = value.indexOf(":");
44683
+ return colon > 0 ? value.slice(colon + 1) : value;
44684
+ }
44685
+ function resolveThreadBindingConversationRef(params) {
44686
+ const channel = normalizeChannelId(params.channel);
44687
+ const threadId = params.threadId != null ? String(params.threadId).trim() : "";
44688
+ const groupId = params.groupId != null ? String(params.groupId).trim() : "";
44689
+ const to = normalizeOptionalString$1(params.to);
44690
+ if (channel === TELEGRAM_THREAD_BINDING_CHANNEL) {
44691
+ if (groupId && threadId) return {
44692
+ conversationId: `${groupId}:topic:${threadId}`,
44693
+ parentConversationId: groupId
44694
+ };
44695
+ if (to) {
44696
+ const topic = stripKnownTargetPrefix(to).match(/^(.+):topic:([^:]+)$/);
44697
+ if (topic?.[1] && topic[2]) return {
44698
+ conversationId: `${topic[1]}:topic:${topic[2]}`,
44699
+ parentConversationId: topic[1]
44700
+ };
44701
+ }
44702
+ }
44703
+ if (channel === LINE_THREAD_BINDING_CHANNEL && to) return { conversationId: stripKnownTargetPrefix(to) };
44704
+ if (to?.startsWith("room:")) return { conversationId: to.slice(5) };
44705
+ const resolved = resolveConversationIdFromTargets({
44706
+ threadId,
44707
+ targets: [to]
44708
+ });
44709
+ return resolved ? { conversationId: resolved } : null;
44710
+ }
44711
+ function resolveThreadBindingPlacement(params) {
44712
+ const channel = normalizeChannelId(params.channel);
44713
+ if (channel === TELEGRAM_THREAD_BINDING_CHANNEL || channel === LINE_THREAD_BINDING_CHANNEL) return params.placements.includes("current") ? "current" : "child";
44714
+ return params.placements.includes("child") ? "child" : "current";
44715
+ }
44716
+ function resolveThreadBindingDeliveryTo(params) {
44717
+ const channel = normalizeChannelId(params.channel);
44718
+ const boundConversationId = normalizeOptionalString$1(params.boundConversationId);
44719
+ if (boundConversationId && params.placement === "child") return `channel:${boundConversationId}`;
44720
+ if (boundConversationId && params.placement === "current" && channel === LINE_THREAD_BINDING_CHANNEL) return boundConversationId;
44721
+ return normalizeOptionalString$1(params.requesterTo) || (params.deliveryThreadId ? `channel:${params.deliveryThreadId}` : void 0);
44722
+ }
44651
44723
  function resolveThreadBindingIdleTimeoutMsForChannel(params) {
44652
44724
  const channel = normalizeChannelId(params.channel);
44653
44725
  const accountId = normalizeAccountId$3(params.accountId);
@@ -44868,29 +44940,6 @@ function requestHeartbeatNow(opts) {
44868
44940
  schedule(opts?.coalesceMs ?? DEFAULT_COALESCE_MS, "normal");
44869
44941
  }
44870
44942
 
44871
- //#endregion
44872
- //#region src/infra/outbound/conversation-id.ts
44873
- function normalizeConversationId(value) {
44874
- if (typeof value !== "string") return;
44875
- return value.trim() || void 0;
44876
- }
44877
- function resolveConversationIdFromTargets(params) {
44878
- const threadId = params.threadId != null ? normalizeConversationId(String(params.threadId)) : void 0;
44879
- if (threadId) return threadId;
44880
- for (const rawTarget of params.targets) {
44881
- const target = normalizeConversationId(rawTarget);
44882
- if (!target) continue;
44883
- if (target.startsWith("channel:")) {
44884
- const channelId = normalizeConversationId(target.slice(8));
44885
- if (channelId) return channelId;
44886
- continue;
44887
- }
44888
- const mentionMatch = target.match(/^<#(\d+)>$/);
44889
- if (mentionMatch?.[1]) return mentionMatch[1];
44890
- if (/^\d{6,}$/.test(target)) return target;
44891
- }
44892
- }
44893
-
44894
44943
  //#endregion
44895
44944
  //#region src/tasks/task-executor.ts
44896
44945
  function compactRecord$1(value) {
@@ -45544,42 +45593,6 @@ function resolveAcpSpawnChannelAccountId(params) {
45544
45593
  const channels = params.cfg.channels;
45545
45594
  return normalizeOptionalString(channels?.[channel]?.defaultAccount) ?? "default";
45546
45595
  }
45547
- function stripKnownTargetPrefix(value) {
45548
- const typed = value.match(/^[a-z0-9_-]+:(user|group|room|channel):(.+)$/i);
45549
- if (typed?.[2]) return typed[2];
45550
- const colon = value.indexOf(":");
45551
- return colon > 0 ? value.slice(colon + 1) : value;
45552
- }
45553
- function resolveConversationRefForThreadBinding(params) {
45554
- const channel = normalizeOptionalLowercaseString(params.channel);
45555
- const threadId = params.threadId != null ? String(params.threadId).trim() : "";
45556
- const groupId = params.groupId != null ? String(params.groupId).trim() : "";
45557
- const to = normalizeOptionalString(params.to);
45558
- if (channel === "telegram") {
45559
- if (groupId && threadId) return {
45560
- conversationId: `${groupId}:topic:${threadId}`,
45561
- parentConversationId: groupId
45562
- };
45563
- if (to) {
45564
- const topic = stripKnownTargetPrefix(to).match(/^(.+):topic:([^:]+)$/);
45565
- if (topic?.[1] && topic[2]) return {
45566
- conversationId: `${topic[1]}:topic:${topic[2]}`,
45567
- parentConversationId: topic[1]
45568
- };
45569
- }
45570
- }
45571
- if (channel === "line" && to) return { conversationId: stripKnownTargetPrefix(to) };
45572
- if (to?.startsWith("room:")) return { conversationId: to.slice(5) };
45573
- const resolved = resolveConversationIdFromTargets({
45574
- threadId,
45575
- targets: [to]
45576
- });
45577
- return resolved ? { conversationId: resolved } : null;
45578
- }
45579
- function resolveBindingPlacement(params) {
45580
- if (params.channel === "telegram" || params.channel === "line") return params.placements.includes("current") ? "current" : "child";
45581
- return params.placements.includes("child") ? "child" : "current";
45582
- }
45583
45596
  function isHeartbeatEnabledForSessionAgent(params) {
45584
45597
  if (!areHeartbeatsEnabled()) return false;
45585
45598
  const requesterAgentId = parseAgentSessionKey(params.sessionKey)?.agentId;
@@ -45673,7 +45686,7 @@ function prepareAcpThreadBinding(params) {
45673
45686
  ok: false,
45674
45687
  error: `Thread bindings are unavailable for ${policy.channel}.`
45675
45688
  };
45676
- const placement = resolveBindingPlacement({
45689
+ const placement = resolveThreadBindingPlacement({
45677
45690
  channel: policy.channel,
45678
45691
  placements: capabilities.placements
45679
45692
  });
@@ -45681,7 +45694,7 @@ function prepareAcpThreadBinding(params) {
45681
45694
  ok: false,
45682
45695
  error: `Thread bindings do not support ${placement} placement for ${policy.channel}.`
45683
45696
  };
45684
- const conversationRef = resolveConversationRefForThreadBinding({
45697
+ const conversationRef = resolveThreadBindingConversationRef({
45685
45698
  channel: policy.channel,
45686
45699
  to: params.to,
45687
45700
  threadId: params.threadId,
@@ -45905,7 +45918,13 @@ async function spawnAcpDirect(params, ctx) {
45905
45918
  const fallbackThreadId = fallbackThreadIdRaw != null ? String(fallbackThreadIdRaw).trim() || void 0 : void 0;
45906
45919
  const bindingPlacement = preparedBinding?.placement;
45907
45920
  const deliveryThreadId = bindingPlacement === "child" ? boundThreadId ?? fallbackThreadId : fallbackThreadId;
45908
- const inferredDeliveryTo = boundThreadId && bindingPlacement === "child" ? `channel:${boundThreadId}` : boundThreadId && bindingPlacement === "current" && preparedBinding?.channel === "line" ? boundThreadId : requesterOrigin?.to?.trim() || (deliveryThreadId ? `channel:${deliveryThreadId}` : void 0);
45921
+ const inferredDeliveryTo = resolveThreadBindingDeliveryTo({
45922
+ channel: preparedBinding?.channel,
45923
+ placement: bindingPlacement,
45924
+ boundConversationId: boundThreadId,
45925
+ requesterTo: requesterOrigin?.to,
45926
+ deliveryThreadId
45927
+ });
45909
45928
  const hasDeliveryTarget = Boolean(requestThreadBinding && !streamToParent && requesterOrigin?.channel && inferredDeliveryTo);
45910
45929
  const childIdem = crypto.randomUUID();
45911
45930
  let childRunId = childIdem;
@@ -62463,7 +62482,7 @@ function createGatewayHttpServer(opts) {
62463
62482
  if (await handlePluginRequest(req, res)) return;
62464
62483
  }
62465
62484
  if (openResponsesEnabled) {
62466
- const { handleOpenResponsesHttpRequest } = await import("./openresponses-http-ngs3P9ek.js");
62485
+ const { handleOpenResponsesHttpRequest } = await import("./openresponses-http-CVJBsG9z.js");
62467
62486
  if (await handleOpenResponsesHttpRequest(req, res, {
62468
62487
  auth: resolvedAuth,
62469
62488
  config: openResponsesConfig,
@@ -108511,7 +108530,7 @@ async function preflightDiscordMessage(params) {
108511
108530
  let preflightTranscript;
108512
108531
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
108513
108532
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
108514
- const { transcribeFirstAudio } = await import("./audio-preflight-BVQHfg69.js");
108533
+ const { transcribeFirstAudio } = await import("./audio-preflight-LGe174al.js");
108515
108534
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
108516
108535
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
108517
108536
  ctx: {
@@ -115809,7 +115828,7 @@ async function waitForTransportReady(params) {
115809
115828
  //#endregion
115810
115829
  //#region src/brand.ts
115811
115830
  const FASED_AGENT_NAME = "Fased Agent";
115812
- const FASED_PRODUCT_VERSION = "0.1.13";
115831
+ const FASED_PRODUCT_VERSION = "0.1.14";
115813
115832
  const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
115814
115833
  function formatFasedDisplayLine() {
115815
115834
  return `${FASED_AGENT_NAME} ${FASED_DISPLAY_VERSION}`;
@@ -125830,7 +125849,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
125830
125849
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
125831
125850
  let preflightTranscript;
125832
125851
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
125833
- const { transcribeFirstAudio } = await import("./audio-preflight-BVQHfg69.js");
125852
+ const { transcribeFirstAudio } = await import("./audio-preflight-LGe174al.js");
125834
125853
  preflightTranscript = await transcribeFirstAudio({
125835
125854
  ctx: {
125836
125855
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -128465,7 +128484,7 @@ function loadWebLoginQr() {
128465
128484
  return webLoginQrPromise;
128466
128485
  }
128467
128486
  function loadWebChannel() {
128468
- webChannelPromise ??= import("./web-u2nJ-rqI.js");
128487
+ webChannelPromise ??= import("./web-DsACg6Kp.js");
128469
128488
  return webChannelPromise;
128470
128489
  }
128471
128490
  function loadWhatsAppActions() {
@@ -2,7 +2,7 @@ import { Al as getShellEnvAppliedKeys, Cu as formatCliCommand, Dr as buildModelA
2
2
  import { B as colorize, H as theme, n as resolveFasedAgentAgentDir, w as shortenHomePath } from "./agent-paths-DUHGyU1s.js";
3
3
  import "./send-4Bz1g7es.js";
4
4
  import "./send-CaE81xJg.js";
5
- import { S as openUrl, _r as loadProviderUsageSummary, a as deriveModelMetadata, br as resolveUsageProviderId, da as describeFailoverError, ft as DEFAULT_OAUTH_WARN_MS, mt as formatRemainingShort, o as formatModelFeatureList, pt as buildAuthHealthSummary, r as loadProviderExtensionCatalogIndex, s as resolvePluginProviders, t as loadModelCatalog, xn as runEmbeddedPiAgent, yr as formatUsageWindowSummary } from "./model-catalog-hjXNofhs.js";
5
+ import { S as openUrl, _r as loadProviderUsageSummary, a as deriveModelMetadata, br as resolveUsageProviderId, da as describeFailoverError, ft as DEFAULT_OAUTH_WARN_MS, mt as formatRemainingShort, o as formatModelFeatureList, pt as buildAuthHealthSummary, r as loadProviderExtensionCatalogIndex, s as resolvePluginProviders, t as loadModelCatalog, xn as runEmbeddedPiAgent, yr as formatUsageWindowSummary } from "./model-catalog-QdGjCBzQ.js";
6
6
  import { n as DEFAULT_MODEL, r as DEFAULT_PROVIDER } from "./defaults-BDW-7D7s.js";
7
7
  import "./github-copilot-token-A9DiaCB0.js";
8
8
  import { _ as resolveSessionTranscriptsDirForAgent, m as resolveSessionTranscriptPath, st as CONFIG_PATH } from "./entry.js";
@@ -46,7 +46,7 @@ import "./send-2z6EXr8o.js";
46
46
  import "./outbound-attachment-DRoNYAVt.js";
47
47
  import "./fetch-DzdLpVxl.js";
48
48
  import "./delivery-queue-DeoUHXGD.js";
49
- import "./deps-CrKSMHlj.js";
49
+ import "./deps-npMqt3Ka.js";
50
50
  import "./frontmatter-Cye-a9g3.js";
51
51
  import "./skills-60AaRTYw.js";
52
52
  import "./skills-remote-DWll8gbf.js";
@@ -76,13 +76,13 @@ import "./replies-DsgeX36e.js";
76
76
  import { a as stylePromptTitle, i as stylePromptMessage, r as stylePromptHint } from "./prompt-style-CWdNyu_Q.js";
77
77
  import "./pairing-labels-BWWnectb.js";
78
78
  import { t as renderTable } from "./table-BqmFjcz4.js";
79
- import { A as updateConfig, At as validateAnthropicSetupToken, C as isLocalBaseUrl, D as resolveKnownAgentId, E as normalizeAlias, L as applyAuthProfileConfig, Nt as createVpsAwareOAuthHandlers, O as resolveModelKeysFromEntries, Ot as isRemoteEnvironment, S as formatTokenK, T as mergePrimaryFallbackConfig, a as githubCopilotLoginCommand, b as ensureFlagCompatibility, j as loadMergedPreviewModelListSources, k as resolveModelTarget, r as applyAuthChoice, w as loadValidConfigOrThrow, x as formatMs, y as applyDefaultModelPrimaryUpdate } from "./auth-choice-DT4p5QVd.js";
79
+ import { A as updateConfig, At as validateAnthropicSetupToken, C as isLocalBaseUrl, D as resolveKnownAgentId, E as normalizeAlias, L as applyAuthProfileConfig, Nt as createVpsAwareOAuthHandlers, O as resolveModelKeysFromEntries, Ot as isRemoteEnvironment, S as formatTokenK, T as mergePrimaryFallbackConfig, a as githubCopilotLoginCommand, b as ensureFlagCompatibility, j as loadMergedPreviewModelListSources, k as resolveModelTarget, r as applyAuthChoice, w as loadValidConfigOrThrow, x as formatMs, y as applyDefaultModelPrimaryUpdate } from "./auth-choice-FgOKdWSF.js";
80
80
  import "./provider-env-vars-oF2O-90T.js";
81
81
  import "./enable-DfGATYHS.js";
82
82
  import { n as logConfigUpdated } from "./logging-B1pB3RkW.js";
83
83
  import { t as inferParamBFromIdOrName } from "./model-param-b-DhHzFqPC.js";
84
84
  import { n as redactSecrets } from "./format-B4BvVfHq.js";
85
- import { a as truncate, i as pad, n as formatTag, o as buildModelCatalogStatus, r as isRich, t as resolveProviderAuthOverview } from "./list.auth-overview-rLzc76Sc.js";
85
+ import { a as truncate, i as pad, n as formatTag, o as buildModelCatalogStatus, r as isRich, t as resolveProviderAuthOverview } from "./list.auth-overview-DrR818-U.js";
86
86
  import "./note-BJ63b2KP.js";
87
87
  import { t as createClackPrompter } from "./clack-prompter-D4bgAkyY.js";
88
88
  import path from "node:path";
@@ -2,7 +2,7 @@ import { t as CONFIG_PATH } from "./paths-C9FmTW1x.js";
2
2
  import { T as shortenHomePath, U as theme, V as colorize, n as resolveFasedAgentAgentDir } from "./agent-paths-BySKyq9I.js";
3
3
  import { A as resolveDefaultAgentWorkspaceDir, Dn as loadConfig, Ga as ensureAuthProfileStore, Ha as setAuthProfileOrder, Hi as resolveEnvApiKey, Jn as parseDurationMs, Oo as ANTHROPIC_PROVIDER_MANIFEST, Ua as upsertAuthProfile, Vi as resolveApiKeyForProvider, Za as resolveAuthStorePathForDisplay, Zi as normalizeModelCatalogProviderId, a as resolveAgentDir, ai as findNormalizedProviderValue, ap as toAgentModelListLike, c as resolveAgentModelFallbacksOverride, ci as modelKey, d as resolveDefaultAgentId, da as resolveProfileUnusableUntilForDisplay, dd as formatCliCommand, di as normalizeProviderId, fi as parseModelRef, gi as resolveDefaultModelForAgent, hi as resolveConfiguredModelRef, ho as resolveAuthProfileDisplayLabel, ii as buildModelAliasIndex, ip as resolveAgentModelPrimaryValue, mt as ensureFasedAgentModelsJson, oa as resolveAuthProfileOrder, ro as normalizeProviderId$1, rp as resolveAgentModelFallbackValues, s as resolveAgentExplicitModelPrimary, u as resolveAgentWorkspaceDir, vu as getShellEnvAppliedKeys, xu as shouldEnableShellEnvFallback, yi as resolveModelRefFromString, za as listProfilesForProvider, zi as getCustomProviderApiKey } from "./agent-scope-803djwZu.js";
4
4
  import "./commands-registry-Dha8b_oq.js";
5
- import { At as deriveModelMetadata, Br as loadProviderUsageSummary, Et as loadModelCatalog, Hr as formatUsageWindowSummary, Jt as openUrl, Mt as resolvePluginProviders, Ot as loadProviderExtensionCatalogIndex, Ur as resolveUsageProviderId, a as DEFAULT_OAUTH_WARN_MS, ei as describeFailoverError, jt as formatModelFeatureList, o as buildAuthHealthSummary, rr as runEmbeddedPiAgent, s as formatRemainingShort } from "./reply-Baz1gE0S.js";
5
+ import { At as deriveModelMetadata, Br as loadProviderUsageSummary, Et as loadModelCatalog, Hr as formatUsageWindowSummary, Jt as openUrl, Mt as resolvePluginProviders, Ot as loadProviderExtensionCatalogIndex, Ur as resolveUsageProviderId, a as DEFAULT_OAUTH_WARN_MS, ei as describeFailoverError, jt as formatModelFeatureList, o as buildAuthHealthSummary, rr as runEmbeddedPiAgent, s as formatRemainingShort } from "./reply-CHDxge29.js";
6
6
  import { d as defaultRuntime } from "./errors-Dx3S3Nrp.js";
7
7
  import "./send-DgEYF-rw.js";
8
8
  import "./send-pgDAogV8.js";
@@ -38,7 +38,7 @@ import "./ssrf-Blf4NrHS.js";
38
38
  import "./outbound-attachment-BIDEXM1m.js";
39
39
  import "./fetch-IJlrLWag.js";
40
40
  import "./delivery-queue-rYTO6uCE.js";
41
- import "./deps-CZFDjC6B.js";
41
+ import "./deps-Dh2iIgIB.js";
42
42
  import "./memory-C3SmVHtE.js";
43
43
  import "./memory-search-BB8Uk47d.js";
44
44
  import "./manager-Bc5KCs6B.js";
@@ -78,13 +78,13 @@ import "./skill-commands-BTvs1diZ.js";
78
78
  import { a as stylePromptTitle, i as stylePromptMessage, r as stylePromptHint } from "./prompt-style-Db5iJoaI.js";
79
79
  import "./pairing-labels-DuozKBa1.js";
80
80
  import { t as renderTable } from "./table-CgbGIp0v.js";
81
- import { A as updateConfig, At as validateAnthropicSetupToken, C as isLocalBaseUrl, D as resolveKnownAgentId, E as normalizeAlias, L as applyAuthProfileConfig, Nt as createVpsAwareOAuthHandlers, O as resolveModelKeysFromEntries, Ot as isRemoteEnvironment, S as formatTokenK, T as mergePrimaryFallbackConfig, a as githubCopilotLoginCommand, b as ensureFlagCompatibility, j as loadMergedPreviewModelListSources, k as resolveModelTarget, r as applyAuthChoice, w as loadValidConfigOrThrow, x as formatMs, y as applyDefaultModelPrimaryUpdate } from "./auth-choice-Ba8d4du0.js";
81
+ import { A as updateConfig, At as validateAnthropicSetupToken, C as isLocalBaseUrl, D as resolveKnownAgentId, E as normalizeAlias, L as applyAuthProfileConfig, Nt as createVpsAwareOAuthHandlers, O as resolveModelKeysFromEntries, Ot as isRemoteEnvironment, S as formatTokenK, T as mergePrimaryFallbackConfig, a as githubCopilotLoginCommand, b as ensureFlagCompatibility, j as loadMergedPreviewModelListSources, k as resolveModelTarget, r as applyAuthChoice, w as loadValidConfigOrThrow, x as formatMs, y as applyDefaultModelPrimaryUpdate } from "./auth-choice-DJMbZkdQ.js";
82
82
  import "./provider-env-vars-NjZofVpl.js";
83
83
  import "./enable-CnEIDWds.js";
84
84
  import { n as logConfigUpdated } from "./logging-C8GVa7dS.js";
85
85
  import { t as inferParamBFromIdOrName } from "./model-param-b-NJsgH2EF.js";
86
86
  import { n as redactSecrets } from "./format-D1wLTU1S.js";
87
- import { a as truncate, i as pad, n as formatTag, o as buildModelCatalogStatus, r as isRich, t as resolveProviderAuthOverview } from "./list.auth-overview-BIp5q_8N.js";
87
+ import { a as truncate, i as pad, n as formatTag, o as buildModelCatalogStatus, r as isRich, t as resolveProviderAuthOverview } from "./list.auth-overview-Cmhnxus1.js";
88
88
  import "./note-Bd00JAzP.js";
89
89
  import { t as createClackPrompter } from "./clack-prompter-BwKkMAKy.js";
90
90
  import path from "node:path";
@@ -2,7 +2,7 @@ import "./env-DZf2YiRU.js";
2
2
  import { H as theme } from "./agent-paths-DUHGyU1s.js";
3
3
  import "./send-4Bz1g7es.js";
4
4
  import "./send-CaE81xJg.js";
5
- import "./model-catalog-hjXNofhs.js";
5
+ import "./model-catalog-QdGjCBzQ.js";
6
6
  import "./github-copilot-token-A9DiaCB0.js";
7
7
  import { A as defaultRuntime } from "./entry.js";
8
8
  import "./reply-prefix-pEk10qm3.js";
@@ -45,7 +45,7 @@ import "./send-2z6EXr8o.js";
45
45
  import "./outbound-attachment-DRoNYAVt.js";
46
46
  import "./fetch-DzdLpVxl.js";
47
47
  import "./delivery-queue-DeoUHXGD.js";
48
- import "./deps-CrKSMHlj.js";
48
+ import "./deps-npMqt3Ka.js";
49
49
  import "./frontmatter-Cye-a9g3.js";
50
50
  import "./skills-60AaRTYw.js";
51
51
  import "./skills-remote-DWll8gbf.js";
@@ -75,14 +75,14 @@ import "./replies-DsgeX36e.js";
75
75
  import "./prompt-style-CWdNyu_Q.js";
76
76
  import "./pairing-labels-BWWnectb.js";
77
77
  import "./table-BqmFjcz4.js";
78
- import { a as githubCopilotLoginCommand } from "./auth-choice-DT4p5QVd.js";
78
+ import { a as githubCopilotLoginCommand } from "./auth-choice-FgOKdWSF.js";
79
79
  import "./provider-env-vars-oF2O-90T.js";
80
80
  import "./enable-DfGATYHS.js";
81
81
  import "./logging-B1pB3RkW.js";
82
- import "./list.auth-overview-rLzc76Sc.js";
82
+ import "./list.auth-overview-DrR818-U.js";
83
83
  import "./note-BJ63b2KP.js";
84
84
  import "./clack-prompter-D4bgAkyY.js";
85
- import { _ as modelsAuthPasteTokenCommand, a as modelsImageFallbacksClearCommand, b as modelsAliasesListCommand, c as modelsFallbacksAddCommand, d as modelsFallbacksRemoveCommand, f as modelsAuthOrderClearCommand, g as modelsAuthLoginCommand, h as modelsAuthAddCommand, i as modelsImageFallbacksAddCommand, l as modelsFallbacksClearCommand, m as modelsAuthOrderSetCommand, modelsListCommand, modelsStatusCommand, n as modelsSetCommand, o as modelsImageFallbacksListCommand, p as modelsAuthOrderGetCommand, r as modelsScanCommand, s as modelsImageFallbacksRemoveCommand, t as modelsSetImageCommand, u as modelsFallbacksListCommand, v as modelsAuthSetupTokenCommand, x as modelsAliasesRemoveCommand, y as modelsAliasesAddCommand } from "./models-B0wDRRTB.js";
85
+ import { _ as modelsAuthPasteTokenCommand, a as modelsImageFallbacksClearCommand, b as modelsAliasesListCommand, c as modelsFallbacksAddCommand, d as modelsFallbacksRemoveCommand, f as modelsAuthOrderClearCommand, g as modelsAuthLoginCommand, h as modelsAuthAddCommand, i as modelsImageFallbacksAddCommand, l as modelsFallbacksClearCommand, m as modelsAuthOrderSetCommand, modelsListCommand, modelsStatusCommand, n as modelsSetCommand, o as modelsImageFallbacksListCommand, p as modelsAuthOrderGetCommand, r as modelsScanCommand, s as modelsImageFallbacksRemoveCommand, t as modelsSetImageCommand, u as modelsFallbacksListCommand, v as modelsAuthSetupTokenCommand, x as modelsAliasesRemoveCommand, y as modelsAliasesAddCommand } from "./models-B4gY5Zsf.js";
86
86
 
87
87
  //#region src/cli/models-cli.ts
88
88
  function runModelsCommand(action) {
@@ -2,7 +2,7 @@ import { _ as resolveStateDir, d as resolveIsNixMode } from "./paths-C9FmTW1x.js
2
2
  import { U as theme, V as colorize } from "./agent-paths-BySKyq9I.js";
3
3
  import { Dn as loadConfig, Du as sanitizeHostExecEnv, Nl as sameFileIdentity, Ou as sanitizeSystemRunEnvOverrides, bl as VERSION, dd as formatCliCommand, i as resolveAgentConfig, mf as GATEWAY_CLIENT_NAMES, pf as GATEWAY_CLIENT_MODES, yr as analyzeArgvCommand } from "./agent-scope-803djwZu.js";
4
4
  import "./commands-registry-Dha8b_oq.js";
5
- import { Hi as startBrowserControlServiceFromConfig, Ki as resolveBrowserConfig, Na as getMachineDisplayName, Vi as createBrowserControlContext, zi as createBrowserRouteDispatcher } from "./reply-Baz1gE0S.js";
5
+ import { Hi as startBrowserControlServiceFromConfig, Ki as resolveBrowserConfig, Na as getMachineDisplayName, Vi as createBrowserControlContext, zi as createBrowserRouteDispatcher } from "./reply-CHDxge29.js";
6
6
  import { d as defaultRuntime } from "./errors-Dx3S3Nrp.js";
7
7
  import "./send-DgEYF-rw.js";
8
8
  import "./send-pgDAogV8.js";
@@ -38,7 +38,7 @@ import "./ssrf-Blf4NrHS.js";
38
38
  import "./outbound-attachment-BIDEXM1m.js";
39
39
  import "./fetch-IJlrLWag.js";
40
40
  import "./delivery-queue-rYTO6uCE.js";
41
- import "./deps-CZFDjC6B.js";
41
+ import "./deps-Dh2iIgIB.js";
42
42
  import "./memory-C3SmVHtE.js";
43
43
  import "./memory-search-BB8Uk47d.js";
44
44
  import "./manager-Bc5KCs6B.js";
@@ -2,7 +2,7 @@ import { Bl as sanitizeSystemRunEnvOverrides, Cf as GATEWAY_CLIENT_MODES, Cu as
2
2
  import { B as colorize, H as theme } from "./agent-paths-DUHGyU1s.js";
3
3
  import "./send-4Bz1g7es.js";
4
4
  import "./send-CaE81xJg.js";
5
- import { Si as resolveBrowserConfig, _i as createBrowserControlContext, hi as createBrowserRouteDispatcher, ns as getMachineDisplayName, vi as startBrowserControlServiceFromConfig } from "./model-catalog-hjXNofhs.js";
5
+ import { Si as resolveBrowserConfig, _i as createBrowserControlContext, hi as createBrowserRouteDispatcher, ns as getMachineDisplayName, vi as startBrowserControlServiceFromConfig } from "./model-catalog-QdGjCBzQ.js";
6
6
  import "./github-copilot-token-A9DiaCB0.js";
7
7
  import { A as defaultRuntime, Ct as resolveStateDir, _t as resolveIsNixMode } from "./entry.js";
8
8
  import "./reply-prefix-pEk10qm3.js";
@@ -46,7 +46,7 @@ import "./send-2z6EXr8o.js";
46
46
  import "./outbound-attachment-DRoNYAVt.js";
47
47
  import "./fetch-DzdLpVxl.js";
48
48
  import "./delivery-queue-DeoUHXGD.js";
49
- import "./deps-CrKSMHlj.js";
49
+ import "./deps-npMqt3Ka.js";
50
50
  import "./frontmatter-Cye-a9g3.js";
51
51
  import "./skills-60AaRTYw.js";
52
52
  import "./skills-remote-DWll8gbf.js";
@@ -1,6 +1,6 @@
1
1
  import { Ba as normalizeOptionalSecretInput, Cu as formatCliCommand, Ii as resolveApiKeyForProfile, Ji as resolveDefaultSecretProviderAlias, Oa as loadPluginManifestRegistry, Pr as normalizeProviderId, Qt as readConfigFileSnapshot, Va as normalizeSecretInput, _n as parseDurationMs, di as resolveEnvApiKey, fa as upsertAuthProfile, ka as assertSupportedRuntime, ki as resolveAuthProfileOrder, ma as ensureAuthProfileStore, tn as writeConfigFile } from "./env-DZf2YiRU.js";
2
2
  import { x as resolveUserPath } from "./agent-paths-DUHGyU1s.js";
3
- import { A as waitForGatewayReachable, E as resolveControlUiLinks, T as randomToken, d as DEFAULT_WORKSPACE, f as applyWizardMetadata, h as ensureWorkspaceAndSessions, s as resolvePluginProviders, v as handleOnboardingRepair } from "./model-catalog-hjXNofhs.js";
3
+ import { A as waitForGatewayReachable, E as resolveControlUiLinks, T as randomToken, d as DEFAULT_WORKSPACE, f as applyWizardMetadata, h as ensureWorkspaceAndSessions, s as resolvePluginProviders, v as handleOnboardingRepair } from "./model-catalog-QdGjCBzQ.js";
4
4
  import { A as defaultRuntime, gt as resolveGatewayPort, j as restoreTerminalState } from "./entry.js";
5
5
  import { a as readWalletProviderRegistry, f as setWalletProvidersEnabled, t as WALLET_PROVIDER_IDS } from "./wallet-provider-registry-CFNtQ2ZR.js";
6
6
  import { or as clearDeviceAuthStore } from "./call-BmY5xB69.js";
@@ -8,12 +8,12 @@ import { r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from
8
8
  import { a as resolveHostedOnboardingGatewayStartupMode, n as gatewayInstallErrorHint, t as buildGatewayInstallPlan } from "./daemon-install-helpers-BhBjlQ4O.js";
9
9
  import { r as isSystemdUserServiceAvailable } from "./systemd-DZQma8lv.js";
10
10
  import { t as resolveGatewayService } from "./service-DR2xQS16.js";
11
- import { d as resolveCustomProviderId, l as parseNonInteractiveCustomApiFlags, o as CustomApiError, s as applyCustomApiConfig } from "./ipv4-BLRwHChK.js";
12
- import { i as healthCommand } from "./health-DI0aqVH0.js";
13
- import { $ as applyLitellmConfig, At as validateAnthropicSetupToken, B as applyMistralConfig, Ct as setXaiApiKey, Dt as MINIMAX_HIGHSPEED_MODEL_ID, Et as MINIMAX_DEFAULT_MODEL_ID, F as applyMinimaxApiConfig, Ft as resolveManifestProviderAuthChoice, G as applyQwenCodingPlanConfig, H as applyMoonshotConfigCn, I as applyMinimaxApiConfigCn, J as applyTogetherConfig, K as applyQwenConfig, L as applyAuthProfileConfig$1, M as detectZaiEndpoint, Mt as normalizeSecretInputModeInput, N as applyGoogleGeminiModelDefault, P as applyOpencodeZenConfig, Pt as resolveManifestDeprecatedProviderAuthChoice, Q as applyZaiConfig, R as applyHuggingfaceConfig, St as setVolcengineApiKey, Tt as setZaiApiKey, U as applyOpenrouterConfig, V as applyMoonshotConfig, W as applyQianfanConfig, X as applyXaiConfig, Y as applyVeniceConfig, Z as applyXiaomiConfig, _t as setQwenCodingPlanApiKey, at as setGeminiApiKey, bt as setVeniceApiKey, c as applyDefaultModel, ct as setLitellmApiKey, d as resolveProviderMatch, dt as setMoonshotApiKey, et as applyCloudflareAiGatewayConfig, ft as setOpenaiApiKey, gt as setQwenApiKey, ht as setQianfanApiKey, i as applyOpenAIConfig, it as setCloudflareAiGatewayConfig, kt as buildTokenProfileId, l as mergeConfigPatch, lt as setMinimaxApiKey, m as applyPrimaryModel, mt as setOpenrouterApiKey, nt as setAnthropicApiKey, o as applyAuthProfileConfig, ot as setHuggingfaceApiKey, pt as setOpencodeZenApiKey, q as applySyntheticConfig, rt as setByteplusApiKey, s as buildApiKeyCredential, st as setKimiCodingApiKey, tt as applyVercelAiGatewayConfig, u as pickAuthMethod, ut as setMistralApiKey, vt as setSyntheticApiKey, wt as setXiaomiApiKey, xt as setVercelAiGatewayApiKey, yt as setTogetherApiKey, z as applyKimiCodeConfig } from "./auth-choice-DT4p5QVd.js";
14
- import { a as normalizeLegacyOnboardAuthChoice, i as isDeprecatedAuthChoice, r as resolveOnboardProviderAuthFlags } from "./auth-choice-prompt-BLqcFdqp.js";
11
+ import { d as resolveCustomProviderId, l as parseNonInteractiveCustomApiFlags, o as CustomApiError, s as applyCustomApiConfig } from "./ipv4-ocsDp87_.js";
12
+ import { i as healthCommand } from "./health-CI2la9gk.js";
13
+ import { $ as applyLitellmConfig, At as validateAnthropicSetupToken, B as applyMistralConfig, Ct as setXaiApiKey, Dt as MINIMAX_HIGHSPEED_MODEL_ID, Et as MINIMAX_DEFAULT_MODEL_ID, F as applyMinimaxApiConfig, Ft as resolveManifestProviderAuthChoice, G as applyQwenCodingPlanConfig, H as applyMoonshotConfigCn, I as applyMinimaxApiConfigCn, J as applyTogetherConfig, K as applyQwenConfig, L as applyAuthProfileConfig$1, M as detectZaiEndpoint, Mt as normalizeSecretInputModeInput, N as applyGoogleGeminiModelDefault, P as applyOpencodeZenConfig, Pt as resolveManifestDeprecatedProviderAuthChoice, Q as applyZaiConfig, R as applyHuggingfaceConfig, St as setVolcengineApiKey, Tt as setZaiApiKey, U as applyOpenrouterConfig, V as applyMoonshotConfig, W as applyQianfanConfig, X as applyXaiConfig, Y as applyVeniceConfig, Z as applyXiaomiConfig, _t as setQwenCodingPlanApiKey, at as setGeminiApiKey, bt as setVeniceApiKey, c as applyDefaultModel, ct as setLitellmApiKey, d as resolveProviderMatch, dt as setMoonshotApiKey, et as applyCloudflareAiGatewayConfig, ft as setOpenaiApiKey, gt as setQwenApiKey, ht as setQianfanApiKey, i as applyOpenAIConfig, it as setCloudflareAiGatewayConfig, kt as buildTokenProfileId, l as mergeConfigPatch, lt as setMinimaxApiKey, m as applyPrimaryModel, mt as setOpenrouterApiKey, nt as setAnthropicApiKey, o as applyAuthProfileConfig, ot as setHuggingfaceApiKey, pt as setOpencodeZenApiKey, q as applySyntheticConfig, rt as setByteplusApiKey, s as buildApiKeyCredential, st as setKimiCodingApiKey, tt as applyVercelAiGatewayConfig, u as pickAuthMethod, ut as setMistralApiKey, vt as setSyntheticApiKey, wt as setXiaomiApiKey, xt as setVercelAiGatewayApiKey, yt as setTogetherApiKey, z as applyKimiCodeConfig } from "./auth-choice-FgOKdWSF.js";
14
+ import { a as normalizeLegacyOnboardAuthChoice, i as isDeprecatedAuthChoice, r as resolveOnboardProviderAuthFlags } from "./auth-choice-prompt-rlE_GSOw.js";
15
15
  import { n as logConfigUpdated } from "./logging-B1pB3RkW.js";
16
- import { a as applyRecommendedInternalHooks, i as isHostedSecurityCapableSession, n as applyHostingSecurity, o as applyOnboardingLocalWorkspaceConfig, r as configureFederationForOnboarding, t as runOnboardingWizard } from "./onboarding-C8WtfnfT.js";
16
+ import { a as applyRecommendedInternalHooks, i as isHostedSecurityCapableSession, n as applyHostingSecurity, o as applyOnboardingLocalWorkspaceConfig, r as configureFederationForOnboarding, t as runOnboardingWizard } from "./onboarding-INDfl2yD.js";
17
17
  import { t as WizardCancelledError } from "./prompts-DdS4bZNt.js";
18
18
  import { t as createClackPrompter } from "./clack-prompter-D4bgAkyY.js";
19
19
  import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-r21pq6rF.js";