@fased/fased 0.1.29 → 0.1.30

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 (251) hide show
  1. package/dist/{active-listener-Dmc7Xtuo.js → active-listener-Bw8DT1EX.js} +1 -1
  2. package/dist/{agent-scope-BYecP9O5.js → agent-scope-Bx0XQq3s.js} +124 -124
  3. package/dist/{agents-QMBcc8LJ.js → agents-BU4NqZkn.js} +8 -8
  4. package/dist/{attachment-normalize-BMCew2Ey.js → attachment-normalize-3_V1yb6a.js} +1 -1
  5. package/dist/{attachment-normalize-DwmM8lOf.js → attachment-normalize-D3LvGnxE.js} +1 -1
  6. package/dist/{audio-preflight-CTI1mqLA.js → audio-preflight-B4hZi0X5.js} +1 -1
  7. package/dist/{audio-preflight-C_vYWlCY.js → audio-preflight-DcQrkXYr.js} +2 -2
  8. package/dist/{audio-preflight-C7z6lGot.js → audio-preflight-MUfVeIPT.js} +31 -31
  9. package/dist/{audio-preflight-CJGUVWFw.js → audio-preflight-YPQKo93v.js} +2 -2
  10. package/dist/{audio-preflight-CNlrMezK.js → audio-preflight-r8PHFHTe.js} +2 -2
  11. package/dist/{audit-Bfagv6Q_.js → audit-BNmzld5I.js} +1 -1
  12. package/dist/{audit-Bxa7rPQ-.js → audit-ChF16w3M.js} +1 -1
  13. package/dist/{auth-BnPTjUVe.js → auth-DGXGqcN7.js} +5 -5
  14. package/dist/{auth-choice-sv4bQ9hn.js → auth-choice-BJGGTOYU.js} +1 -1
  15. package/dist/{auth-choice-CifBEhbT.js → auth-choice-UvbBnRhr.js} +1 -1
  16. package/dist/{auth-choice-prompt-B_-nyE2Q.js → auth-choice-prompt-9uH2hSjM.js} +1 -1
  17. package/dist/{auth-choice-prompt-CCj2g7-t.js → auth-choice-prompt-CPoTg_-G.js} +1 -1
  18. package/dist/build-info.json +3 -3
  19. package/dist/bundled/boot-md/handler.js +31 -31
  20. package/dist/bundled/bootstrap-extra-files/handler.js +3 -3
  21. package/dist/bundled/command-logger/handler.js +2 -2
  22. package/dist/bundled/session-memory/handler.js +31 -31
  23. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  24. package/dist/{channel-activity-D69hLBEQ.js → channel-activity-BvC4RbBO.js} +1 -1
  25. package/dist/{channel-web-IeOqPSI7.js → channel-web-0wKGD4yD.js} +1 -1
  26. package/dist/{channel-web-DEL7MdSZ.js → channel-web-DLD1undh.js} +1 -1
  27. package/dist/{channels-B4mOixPh.js → channels-B9bvlD7y.js} +6 -6
  28. package/dist/{channels-3joUoQXH.js → channels-CBT56Ap7.js} +6 -6
  29. package/dist/{channels-cli-BKOmeL07.js → channels-cli-CK1qojpR.js} +5 -5
  30. package/dist/{channels-cli-UrsljhH0.js → channels-cli-D6ioLe8o.js} +5 -5
  31. package/dist/{chunk-KatG8h1H.js → chunk-CiQeXMLG.js} +1 -1
  32. package/dist/cli/daemon-cli.js +1 -1
  33. package/dist/{cli-Aorf7_c_.js → cli-ByaZFcQl.js} +2 -2
  34. package/dist/{cli-Cf9cX445.js → cli-DgHb9Vld.js} +2 -2
  35. package/dist/{command-registry-DSG9UhC4.js → command-registry-mptWJW8S.js} +9 -9
  36. package/dist/{commands-registry-CG-_VuYC.js → commands-registry-t0hu8c_Z.js} +1 -1
  37. package/dist/{completion-cli-atZPWxpk.js → completion-cli-BRvgVQzN.js} +2 -2
  38. package/dist/{completion-cli-BacXX8YP.js → completion-cli-DyJbXhbh.js} +1 -1
  39. package/dist/{config-cli-CAylLKEL.js → config-cli-BrzPOli4.js} +1 -1
  40. package/dist/{config-cli-B6hmwh3V.js → config-cli-R0TQZDi7.js} +1 -1
  41. package/dist/{config-eval-DxNYxraZ.js → config-eval-CLXDBlCw.js} +3 -3
  42. package/dist/{configure-CFGxKEvE.js → configure-Bt3nH-_I.js} +12 -12
  43. package/dist/{configure-IVfhSGuI.js → configure-pREf12zB.js} +12 -12
  44. package/dist/control-ui/assets/app-DXYMrRJ9.js.map +1 -1
  45. package/dist/{cron-cli-C_WdKzEb.js → cron-cli-BIYfBpRP.js} +2 -2
  46. package/dist/{cron-cli-BH5kAloM.js → cron-cli-zdoRLQ0m.js} +2 -2
  47. package/dist/{daemon-cli-tLppiRYp.js → daemon-cli-Cj4_RgEM.js} +1 -1
  48. package/dist/{daemon-cli-DVu8h_ms.js → daemon-cli-LLGP6g2r.js} +1 -1
  49. package/dist/daemon-cli.js +1 -1
  50. package/dist/{deps-D7pGfos8.js → deps-QnUngXA3.js} +1 -1
  51. package/dist/{deps-ByxeDZxS.js → deps-sd-SQKYn.js} +1 -1
  52. package/dist/{diagnostic-BYQE13k1.js → diagnostic-C6MSQFZF.js} +1 -1
  53. package/dist/entry.js +1 -1
  54. package/dist/extensionAPI.js +2 -2
  55. package/dist/{fetch-CYWabNXm.js → fetch-BwkjkjT6.js} +1 -1
  56. package/dist/{fetch-guard-CNlKZ01R.js → fetch-guard-DdMratk8.js} +1 -1
  57. package/dist/{filesystem-manager-CWbYjhcQ.js → filesystem-manager-B8V6mEya.js} +4 -4
  58. package/dist/{fs-safe-T802CTm-.js → fs-safe-CrX7hR24.js} +2 -2
  59. package/dist/{gateway-cli-DNHD_N4M.js → gateway-cli-Cn3STpYX.js} +27 -27
  60. package/dist/{gateway-cli-sPMmhMYS.js → gateway-cli-yfNsUzH6.js} +27 -27
  61. package/dist/{github-copilot-token-eyrRGmGp.js → github-copilot-token-DYrFvncE.js} +8 -8
  62. package/dist/{health-Cn7Uypmr.js → health-BfGnSyOV.js} +2 -2
  63. package/dist/{health-Ds6nghRW.js → health-DcurJYny.js} +2 -2
  64. package/dist/{heartbeat-runner-DPf55KvT.js → heartbeat-runner-CJZStXhx.js} +1 -1
  65. package/dist/{heartbeat-runner-DZd7FWr_.js → heartbeat-runner-CY41VFZE.js} +1 -1
  66. package/dist/{hooks-cli-CklgZPuq.js → hooks-cli-DpkFISKR.js} +3 -3
  67. package/dist/{hooks-cli-Ds0rAsrn.js → hooks-cli-WtC65axA.js} +3 -3
  68. package/dist/index.js +7 -7
  69. package/dist/{internal-CGfrGFGR.js → internal-QlbJb-4V.js} +3 -3
  70. package/dist/{ipv4-QXi6T-GC.js → ipv4-BkY__Z0A.js} +2 -2
  71. package/dist/{ipv4-woqSIZCG.js → ipv4-CdRPraPM.js} +2 -2
  72. package/dist/{lifecycle-CDyiQkdm.js → lifecycle-DUPuKIvd.js} +1 -1
  73. package/dist/{lifecycle-Bt1wvv49.js → lifecycle-Dd-6tFQk.js} +1 -1
  74. package/dist/{list.auth-overview-BZLsTF6m.js → list.auth-overview-CE2_GQ-8.js} +1 -1
  75. package/dist/{list.auth-overview-DTmoeKoz.js → list.auth-overview-DcdJySBi.js} +1 -1
  76. package/dist/llm-slug-generator.js +31 -31
  77. package/dist/{login-H3-M4-wp.js → login-BGt2KP5c.js} +2 -2
  78. package/dist/{login-qr-DIly-pBD.js → login-qr-CDDF5Ark.js} +3 -3
  79. package/dist/{manager-ZRPdFyMZ.js → manager-BfodMNDG.js} +8 -8
  80. package/dist/{markdown-tables-KcZiNfqg.js → markdown-tables-C-HEtwaC.js} +1 -1
  81. package/dist/{media-93Hw7QIY.js → media-CInvDVc0.js} +5 -5
  82. package/dist/{memory-search-CueDEO0U.js → memory-search-BZt8FFLW.js} +2 -2
  83. package/dist/{model-catalog-CKJx3TlL.js → model-catalog-DOuyqwFa.js} +6 -6
  84. package/dist/{models-B3gfHQID.js → models-ItVo4_FF.js} +4 -4
  85. package/dist/{models-cli-DTH6o8Ah.js → models-cli-DKEzhF9X.js} +4 -4
  86. package/dist/{models-cli-C7_F9hA_.js → models-cli-YznPWFUE.js} +5 -5
  87. package/dist/{node-cli-CuA0F8du.js → node-cli-CZaJUGYu.js} +2 -2
  88. package/dist/{node-cli-BrZNQWK0.js → node-cli-qkHTKDmW.js} +2 -2
  89. package/dist/{onboard-BLjJLsrb.js → onboard--COJdfXc.js} +6 -6
  90. package/dist/{onboard-wtRNFZSO.js → onboard-Cpw2fP2S.js} +6 -6
  91. package/dist/{onboard-channels-CpYQ-jzg.js → onboard-channels-BH6atgy1.js} +2 -2
  92. package/dist/{onboard-channels-BpexXVlv.js → onboard-channels-CbQgdo3k.js} +2 -2
  93. package/dist/{onboard-search-D4eUoAEq.js → onboard-search-Bg8qvHBV.js} +5 -5
  94. package/dist/{onboard-search-CudukQ0P.js → onboard-search-BxaAdq5U.js} +5 -5
  95. package/dist/{onboarding-DZphW3tC.js → onboarding-B-_4gKpN.js} +7 -7
  96. package/dist/{onboarding-beY-khSY.js → onboarding-DiuUZg9l.js} +7 -7
  97. package/dist/{openresponses-http-BDR_C5c5.js → openresponses-http-BNIAyGrH.js} +1 -1
  98. package/dist/{openresponses-http-COlqXAAY.js → openresponses-http-BVdja8Nj.js} +2 -2
  99. package/dist/{openresponses-http-lRWgsixx.js → openresponses-http-DGAqU5K9.js} +2 -2
  100. package/dist/{openresponses-http-C3HFR4b5.js → openresponses-http-DhBER2sI.js} +2 -2
  101. package/dist/{openresponses-http-YZhTuhkt.js → openresponses-http-svQwMBaq.js} +31 -31
  102. package/dist/{outbound-C7mwBvhN.js → outbound-CfdOHhpP.js} +6 -6
  103. package/dist/{outbound-attachment-DILp822M.js → outbound-attachment-BL6wK70V.js} +2 -2
  104. package/dist/{parent-default-help-BHi1y6z-.js → parent-default-help-B2mCEhav.js} +1 -1
  105. package/dist/{parent-default-help-D6zpkza-.js → parent-default-help-DUqMyqko.js} +1 -1
  106. package/dist/{path-alias-guards-DyTCSx8q.js → path-alias-guards-Dalcwl5X.js} +1 -1
  107. package/dist/{paths-6Y-iET7k.js → paths-DGN5lNb7.js} +9 -9
  108. package/dist/{paths-DBTQPSY5.js → paths-zdeD1PNp.js} +13 -13
  109. package/dist/{pi-embedded-B6SkkATJ.js → pi-embedded-CrKlYvWM.js} +234 -234
  110. package/dist/{pi-embedded-e2Be1Pic.js → pi-embedded-DPl5Aqw4.js} +14 -14
  111. package/dist/{pi-model-discovery--TE7j7VE.js → pi-model-discovery-C1CAe7eM.js} +7 -7
  112. package/dist/pi-model-discovery-runtime-C34IWfDn.js +5 -0
  113. package/dist/{plugin-registry-CAsF45o1.js → plugin-registry-BBzitaxQ.js} +1 -1
  114. package/dist/{plugin-registry-D8bNkXOq.js → plugin-registry-CIiRwpQv.js} +1 -1
  115. package/dist/plugin-sdk/{audio-preflight-BjpOTfAA.js → audio-preflight-B-__-RfZ.js} +1 -1
  116. package/dist/plugin-sdk/{audio-preflight-BMNjQ8Qw.js → audio-preflight-DcJUk03P.js} +1 -1
  117. package/dist/plugin-sdk/channel-plugin-common.js +1 -1
  118. package/dist/plugin-sdk/{channel-web-Dd48mC59.js → channel-web-DoGtD0PQ.js} +1 -1
  119. package/dist/plugin-sdk/command-status.js +1 -1
  120. package/dist/plugin-sdk/index.js +2 -2
  121. package/dist/plugin-sdk/{openresponses-http-xYU4ta96.js → openresponses-http-DQWJE95u.js} +1 -1
  122. package/dist/plugin-sdk/{openresponses-http-iXBH6NN_.js → openresponses-http-VFgg_bR4.js} +1 -1
  123. package/dist/plugin-sdk/{pi-model-discovery-runtime-DaiqegxK.js → pi-model-discovery-runtime-CwXjrUIM.js} +1 -1
  124. package/dist/plugin-sdk/{registry-D1bAj51G.js → registry-C90cYLNB.js} +8 -8
  125. package/dist/plugin-sdk/{reply-CwbNFNQd.js → reply-D4WNXysa.js} +5 -5
  126. package/dist/plugin-sdk/src/brand.d.ts +2 -2
  127. package/dist/plugin-sdk/{status-sQR6iMdb.js → status-BlX9jStp.js} +5 -5
  128. package/dist/plugin-sdk/{web-BWOUsR2H.js → web-CEucw6Dl.js} +1 -1
  129. package/dist/plugin-sdk/{web-Q7_F3_66.js → web-Cr8AJx43.js} +2 -2
  130. package/dist/{plugins-cli-CmFo39YO.js → plugins-cli-B9w9SKYa.js} +5 -5
  131. package/dist/{plugins-cli-b28IZl2q.js → plugins-cli-CdRa6xYi.js} +5 -5
  132. package/dist/{program-b-bJ3jAf.js → program-C9wZbb_-.js} +7 -7
  133. package/dist/{program-context-C8TpaeJh.js → program-context-Dc8hoANx.js} +24 -24
  134. package/dist/{prompt-select-styled-BBW8ExAu.js → prompt-select-styled-9E7HlPjk.js} +4 -4
  135. package/dist/{prompt-select-styled--unDG0y5.js → prompt-select-styled-oUCALY2N.js} +4 -4
  136. package/dist/{pw-ai-4dv28kg0.js → pw-ai-5b6U6vNE.js} +5 -5
  137. package/dist/{pw-ai-DuNzIjgi.js → pw-ai-BaQ88hEN.js} +1 -1
  138. package/dist/{qmd-manager-DA3v0Y-t.js → qmd-manager-CVbI17-v.js} +5 -5
  139. package/dist/{qmd-scope-Byk5KlGv.js → qmd-scope-CL7VCB5M.js} +1 -1
  140. package/dist/{query-expansion-CGVFZR8O.js → query-expansion-DrMLz38Q.js} +2 -2
  141. package/dist/{register.agent-DXdz6bc0.js → register.agent-BhoMAqJe.js} +8 -8
  142. package/dist/{register.agent-te7qVBoR.js → register.agent-Dty2GQos.js} +9 -9
  143. package/dist/{register.configure-DjSmILA-.js → register.configure-CjQhBudl.js} +12 -12
  144. package/dist/{register.configure-u_mElz3G.js → register.configure-DZl7w5Se.js} +12 -12
  145. package/dist/{register.maintenance-BMe88N2s.js → register.maintenance-C9_UzTyI.js} +8 -8
  146. package/dist/{register.maintenance-CKx-2ze7.js → register.maintenance-CGFQEESj.js} +9 -9
  147. package/dist/{register.message-CWpF1VfE.js → register.message-C3BTjmhg.js} +3 -3
  148. package/dist/{register.message-D3P3PbvS.js → register.message-DnrC31ZC.js} +3 -3
  149. package/dist/{register.onboard-0rmVJjLc.js → register.onboard-DIxJ1bFs.js} +14 -14
  150. package/dist/{register.onboard-DtcpAkW4.js → register.onboard-DzO2dNpB.js} +14 -14
  151. package/dist/{register.setup-C5agvuLZ.js → register.setup-B5Ji_Smo.js} +14 -14
  152. package/dist/{register.setup-Do3sWvmu.js → register.setup-Cd8rXata.js} +14 -14
  153. package/dist/{register.status-health-sessions-DTOl2ffn.js → register.status-health-sessions-CUw6awJ6.js} +6 -6
  154. package/dist/{register.status-health-sessions-C3wrI8Rw.js → register.status-health-sessions-CYpKmq3y.js} +6 -6
  155. package/dist/{register.subclis-BmntpHBV.js → register.subclis-DEnba1hq.js} +16 -16
  156. package/dist/{replies-oXYe4wxf.js → replies-DEtI8EHM.js} +2 -2
  157. package/dist/{reply-5d_FBb8m.js → reply-DVGmtLPq.js} +6 -6
  158. package/dist/{reply-prefix-DZjj9KHV.js → reply-prefix-DVyUjzCQ.js} +1 -1
  159. package/dist/{resolve-route-D3-NnOVE.js → resolve-route-Dc1L-NXd.js} +1 -1
  160. package/dist/{run-main-D9Fxy0Hu.js → run-main-BqiU1shU.js} +14 -14
  161. package/dist/{runtime-helper-grants-BQYP50-i.js → runtime-helper-grants-BQl2Y_KJ.js} +1 -1
  162. package/dist/{runtime-helper-grants-CqyGNc1k.js → runtime-helper-grants-CHz5azhO.js} +1 -1
  163. package/dist/{sandbox-cli-Kf_iEEKT.js → sandbox-cli-BLWfhZh2.js} +2 -2
  164. package/dist/{sandbox-cli-g26xYeMo.js → sandbox-cli-C7tRjHGl.js} +2 -2
  165. package/dist/{security-cli-JBJPJKU6.js → security-cli-0-5Vgk1A.js} +3 -3
  166. package/dist/{security-cli-BXd-xPab.js → security-cli-DGCfCHzM.js} +3 -3
  167. package/dist/{send-BqgaWpoE.js → send-BohOQw4n.js} +4 -4
  168. package/dist/{send-B-sa1Rzn.js → send-CqQ88clX.js} +18 -18
  169. package/dist/{send-DQ3s5E33.js → send-D2IXnEJl.js} +7 -7
  170. package/dist/{send-C1YtjPQb.js → send-D8eFKkkd.js} +5 -5
  171. package/dist/{send-Bhj3bXKi.js → send-Ps08x526.js} +5 -5
  172. package/dist/{server-DTznnzCB.js → server-BMZYE37o.js} +2 -2
  173. package/dist/{server-DLj_G1sk.js → server-DamsmTjm.js} +2 -2
  174. package/dist/{server-cron-B_5Pv8wt.js → server-cron-BUWyjpTV.js} +2 -2
  175. package/dist/{server-cron-9NKGTvdH.js → server-cron-DC9t05LU.js} +2 -2
  176. package/dist/{server-node-events-HUAm9HRK.js → server-node-events-C3IOxSF_.js} +3 -3
  177. package/dist/{server-node-events-BQbTcvb4.js → server-node-events-cusaGrcY.js} +3 -3
  178. package/dist/{session-CYgXtJQQ.js → session-Cz9lOeBe.js} +5 -5
  179. package/dist/{skill-commands-HOHDwVYx.js → skill-commands-LW0SeGsB.js} +24 -24
  180. package/dist/{status-CRSeqOJk.js → status-B39ZJFhD.js} +1 -1
  181. package/dist/{status-C5BT3ShE.js → status-CrL7Hp3R.js} +4 -4
  182. package/dist/{status-BgIeE_GN.js → status-Dlt3xwcf.js} +4 -4
  183. package/dist/{status-CCDLtWaH.js → status-Doqt5wXN.js} +1 -1
  184. package/dist/{tables-BQMYTcw_.js → tables-CjmIs23-.js} +1 -1
  185. package/dist/{target-errors-iZTI1Fwr.js → target-errors-C3MQ1_UT.js} +2 -2
  186. package/dist/{tool-loop-detection-CqQip5ev.js → tool-loop-detection-CSfX9pJE.js} +2 -2
  187. package/dist/{tui-BUcLlnJf.js → tui-DdPEVWjR.js} +1 -1
  188. package/dist/{tui-CpFLYQvY.js → tui-R-P_OV8J.js} +1 -1
  189. package/dist/{tui-cli-BVCujDMk.js → tui-cli-BgihXvs7.js} +3 -3
  190. package/dist/{tui-cli-CBpiAWOs.js → tui-cli-ChpP9FsL.js} +3 -3
  191. package/dist/{update-cli-Cg1NsSYC.js → update-cli-DPdSuHZT.js} +14 -14
  192. package/dist/{update-cli-Bm9PtTTq.js → update-cli-DVCjSLYw.js} +15 -15
  193. package/dist/{update-runner-E5f53ziH.js → update-runner-COs-YDhT.js} +38 -4
  194. package/dist/{update-runner-giHs-roY.js → update-runner-DNPfs265.js} +38 -4
  195. package/dist/{web-C-SCrRnf.js → web-B2SWpLdC.js} +3 -3
  196. package/dist/{web-z6nfuAFN.js → web-BHp_2XHP.js} +1 -1
  197. package/dist/{web-D6QmuJSZ.js → web-D8bq1XRX.js} +3 -3
  198. package/dist/{web-DHzdcD5k.js → web-DQuQBwMr.js} +35 -35
  199. package/dist/{web-search-providers.runtime-BWcxW5PE.js → web-search-providers.runtime-BD9Vp8eD.js} +1 -1
  200. package/dist/{web-search-providers.runtime-C-08aAIL.js → web-search-providers.runtime-CiOoq6G3.js} +1 -1
  201. package/dist/{web-fv_H8Fvb.js → web-vGE7qeF-.js} +2 -2
  202. package/dist/{whatsapp-actions-CrVrn3wF.js → whatsapp-actions-oa93ddRw.js} +12 -12
  203. package/extensions/acpx/package.json +1 -1
  204. package/extensions/bluebubbles/package.json +1 -1
  205. package/extensions/copilot-proxy/package.json +1 -1
  206. package/extensions/diagnostics-otel/package.json +1 -1
  207. package/extensions/discord/package.json +1 -1
  208. package/extensions/fased-federation/package.json +1 -1
  209. package/extensions/feishu/package.json +1 -1
  210. package/extensions/google-gemini-cli-auth/package.json +1 -1
  211. package/extensions/googlechat/package.json +1 -1
  212. package/extensions/imessage/package.json +1 -1
  213. package/extensions/irc/package.json +1 -1
  214. package/extensions/line/package.json +1 -1
  215. package/extensions/llm-task/package.json +1 -1
  216. package/extensions/lobster/package.json +1 -1
  217. package/extensions/matrix/CHANGELOG.md +6 -0
  218. package/extensions/matrix/package.json +1 -1
  219. package/extensions/mattermost/package.json +1 -1
  220. package/extensions/memory-core/package.json +1 -1
  221. package/extensions/memory-lancedb/package.json +1 -1
  222. package/extensions/minimax-portal-auth/package.json +1 -1
  223. package/extensions/msteams/CHANGELOG.md +6 -0
  224. package/extensions/msteams/package.json +1 -1
  225. package/extensions/nextcloud-talk/package.json +1 -1
  226. package/extensions/nostr/CHANGELOG.md +6 -0
  227. package/extensions/nostr/package.json +1 -1
  228. package/extensions/open-prose/package.json +1 -1
  229. package/extensions/sat-mining/package.json +1 -1
  230. package/extensions/signal/package.json +1 -1
  231. package/extensions/slack/package.json +1 -1
  232. package/extensions/synology-chat/package.json +1 -1
  233. package/extensions/telegram/package.json +1 -1
  234. package/extensions/tlon/package.json +1 -1
  235. package/extensions/twitch/CHANGELOG.md +6 -0
  236. package/extensions/twitch/package.json +1 -1
  237. package/extensions/voice-call/CHANGELOG.md +6 -0
  238. package/extensions/voice-call/package.json +1 -1
  239. package/extensions/whatsapp/package.json +1 -1
  240. package/extensions/zalo/CHANGELOG.md +6 -0
  241. package/extensions/zalo/package.json +1 -1
  242. package/extensions/zalouser/CHANGELOG.md +6 -0
  243. package/extensions/zalouser/package.json +1 -1
  244. package/package.json +1 -1
  245. package/src/brand.ts +1 -1
  246. package/src/canvas-host/a2ui/.bundle.hash +1 -1
  247. package/src/cli/update-cli/progress.ts +2 -2
  248. package/src/cli/update-cli/update-command.ts +4 -3
  249. package/src/infra/update-global.ts +47 -0
  250. package/src/infra/update-runner.ts +10 -2
  251. package/dist/pi-model-discovery-runtime-DD55ZBCk.js +0 -5
@@ -12,7 +12,7 @@ import { t as redactIdentifier } from "./redact-identifier-CA9VAhZA.js";
12
12
  import { $ as readChannelAllowFromStore, A as extractTelegramLocation, B as normalizeAllowFrom$2, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as mergeDmAllowFromSources, H as resolveSenderAllowMatch, I as resolveTelegramReplyId, J as toLocationContext, K as resolveGroupAllowFromSources, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as addChannelAllowFromStoreEntry, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as firstDefined$2, V as normalizeDmAllowFromWithStore$1, W as isSenderIdAllowed, X as resolveCronStorePath, Y as loadCronStore, Z as saveCronStore, _ as resolveTelegramFetch, a as reactMessageTelegram, at as listPairingChannels, b as buildGroupLabel, c as sendStickerTelegram, ct as resolveTelegramTargetChatType, d as wasSentByBot, et as removeChannelAllowFromStoreEntry, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, it as getPairingAdapter, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as readJsonFileWithFallback, o as sendMessageTelegram, ot as isVoiceCompatibleAudio, p as markdownToTelegramChunks, q as formatLocationText, r as deleteMessageTelegram, rt as writeJsonFileAtomically, s as sendPollTelegram, st as parseTelegramTarget, t as buildInlineKeyboard, tt as upsertChannelPairingRequest, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-CRPZnP3g.js";
13
13
  import { E as mediaKindFromMime, S as kindFromMime, _ as extensionForMime, a as buildImageResizeSideGrid, b as isAudioFileName, c as MediaFetchError, g as detectMime, h as getDefaultMediaLocalRoots, i as IMAGE_REDUCE_QUALITY_STEPS, l as fetchRemoteMedia, m as getAgentScopedMediaLocalRoots, n as loadWebMedia, o as getImageMetadata, s as resizeToJpeg, t as getDefaultLocalRoots, u as readResponseWithLimit, v as getFileExtension, w as MAX_IMAGE_BYTES, x as isGifMedia, y as imageMimeFromFormat } from "./media-Byi2a0IF.js";
14
14
  import { i as discoverModels, r as discoverAuthStorage } from "./pi-model-discovery-CoOUKWxg.js";
15
- import { B as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, C as assertBrowserNavigationAllowed, D as fetchJson$1, E as appendCdpPath, F as isLoopbackHost, G as DEFAULT_FASED_BROWSER_COLOR, H as DEFAULT_AI_SNAPSHOT_MAX_CHARS, I as isSecureWebSocketUrl, K as DEFAULT_FASED_BROWSER_ENABLED, L as isTrustedProxyAddress, M as stopChromeExtensionRelayServer, N as rawDataToString, O as fetchOk, P as isLoopbackAddress, R as resolveClientIp, S as InvalidBrowserNavigationUrlError, T as withBrowserNavigationPolicy, U as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, V as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, W as DEFAULT_BROWSER_EVALUATE_ENABLED, _ as captureScreenshot, b as normalizeCdpWsUrl, c as normalizeBrowserFormField, d as isChromeReachable, f as launchFasedAgentChrome, g as resolveLsofCommandSync, h as resolveBrowserExecutableForPlatform, i as resolveExistingPathsWithinRoot, j as ensureChromeExtensionRelayServer, m as stopFasedAgentChrome, n as DEFAULT_TRACE_DIR, o as resolveWritablePathWithinRoot, p as resolveFasedAgentUserDataDir, q as DEFAULT_FASED_BROWSER_PROFILE_NAME, r as DEFAULT_UPLOAD_DIR, t as DEFAULT_DOWNLOAD_DIR, u as isChromeCdpReady, v as createTargetViaCdp, w as assertBrowserNavigationResultAllowed, x as snapshotAria, z as resolveForwardedClientIp } from "./paths-6Y-iET7k.js";
15
+ import { B as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, C as assertBrowserNavigationAllowed, D as fetchJson$1, E as appendCdpPath, F as isLoopbackHost, G as DEFAULT_FASED_BROWSER_COLOR, H as DEFAULT_AI_SNAPSHOT_MAX_CHARS, I as isSecureWebSocketUrl, K as DEFAULT_FASED_BROWSER_ENABLED, L as isTrustedProxyAddress, M as stopChromeExtensionRelayServer, N as rawDataToString, O as fetchOk, P as isLoopbackAddress, R as resolveClientIp, S as InvalidBrowserNavigationUrlError, T as withBrowserNavigationPolicy, U as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, V as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, W as DEFAULT_BROWSER_EVALUATE_ENABLED, _ as captureScreenshot, b as normalizeCdpWsUrl, c as normalizeBrowserFormField, d as isChromeReachable, f as launchFasedAgentChrome, g as resolveLsofCommandSync, h as resolveBrowserExecutableForPlatform, i as resolveExistingPathsWithinRoot, j as ensureChromeExtensionRelayServer, m as stopFasedAgentChrome, n as DEFAULT_TRACE_DIR, o as resolveWritablePathWithinRoot, p as resolveFasedAgentUserDataDir, q as DEFAULT_FASED_BROWSER_PROFILE_NAME, r as DEFAULT_UPLOAD_DIR, t as DEFAULT_DOWNLOAD_DIR, u as isChromeCdpReady, v as createTargetViaCdp, w as assertBrowserNavigationResultAllowed, x as snapshotAria, z as resolveForwardedClientIp } from "./paths-DGN5lNb7.js";
16
16
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-9SwDSKOO.js";
17
17
  import { n as redactSensitiveUrlLikeString, t as redactSensitiveUrl } from "./redact-sensitive-url-DAsCH1Zm.js";
18
18
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DrlQyXxM.js";
@@ -64,7 +64,7 @@ import { AddressLookupTableAccount, PublicKey, VersionedTransaction } from "@sol
64
64
  import { Type } from "@sinclair/typebox";
65
65
  import { Value } from "@sinclair/typebox/value";
66
66
  import { setTimeout as setTimeout$1 } from "node:timers/promises";
67
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
67
+ import WebSocket$1, { WebSocket } from "ws";
68
68
  import { Buffer as Buffer$1 } from "node:buffer";
69
69
  import { ProxyAgent, fetch as fetch$1 } from "undici";
70
70
  import "@fedify/fedify";
@@ -16317,7 +16317,7 @@ var GatewayClient = class {
16317
16317
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
16318
16318
  });
16319
16319
  }
16320
- this.ws = new WebSocket$1(url, wsOptions);
16320
+ this.ws = new WebSocket(url, wsOptions);
16321
16321
  this.ws.on("open", () => {
16322
16322
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
16323
16323
  const tlsError = this.validateTlsFingerprint();
@@ -16513,7 +16513,7 @@ var GatewayClient = class {
16513
16513
  const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
16514
16514
  if (this.connectTimer) clearTimeout(this.connectTimer);
16515
16515
  this.connectTimer = setTimeout(() => {
16516
- if (this.connectSent || this.ws?.readyState !== WebSocket$1.OPEN) return;
16516
+ if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
16517
16517
  this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
16518
16518
  this.ws?.close(1008, "connect challenge timeout");
16519
16519
  }, connectChallengeTimeoutMs);
@@ -16555,7 +16555,7 @@ var GatewayClient = class {
16555
16555
  return null;
16556
16556
  }
16557
16557
  async request(method, params, opts) {
16558
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
16558
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
16559
16559
  const id = randomUUID();
16560
16560
  const frame = {
16561
16561
  type: "req",
@@ -19121,7 +19121,7 @@ function createOutboundSendDepsFromCliSource(deps) {
19121
19121
  function createDefaultDeps() {
19122
19122
  return {
19123
19123
  sendMessageWhatsApp: async (...args) => {
19124
- const { sendMessageWhatsApp } = await import("./web-fv_H8Fvb.js");
19124
+ const { sendMessageWhatsApp } = await import("./web-vGE7qeF-.js");
19125
19125
  return await sendMessageWhatsApp(...args);
19126
19126
  },
19127
19127
  sendMessageTelegram: async (...args) => {
@@ -53589,7 +53589,7 @@ function isModuleNotFoundError(err) {
53589
53589
  }
53590
53590
  async function loadPwAiModule(mode) {
53591
53591
  try {
53592
- return await import("./pw-ai-DuNzIjgi.js");
53592
+ return await import("./pw-ai-BaQ88hEN.js");
53593
53593
  } catch (err) {
53594
53594
  if (mode === "soft") return null;
53595
53595
  if (isModuleNotFoundError(err)) return null;
@@ -53983,11 +53983,11 @@ function createProfileContext(opts, profile) {
53983
53983
  const userDataDir = resolveFasedAgentUserDataDir(profile.name);
53984
53984
  const profileState = getProfileState();
53985
53985
  if (await isHttpReachable(300) && !profileState.running) try {
53986
- await (await import("./pw-ai-DuNzIjgi.js")).closePlaywrightBrowserConnection();
53986
+ await (await import("./pw-ai-BaQ88hEN.js")).closePlaywrightBrowserConnection();
53987
53987
  } catch {}
53988
53988
  if (profileState.running) await stopRunningBrowser();
53989
53989
  try {
53990
- await (await import("./pw-ai-DuNzIjgi.js")).closePlaywrightBrowserConnection();
53990
+ await (await import("./pw-ai-BaQ88hEN.js")).closePlaywrightBrowserConnection();
53991
53991
  } catch {}
53992
53992
  if (!fs.existsSync(userDataDir)) return {
53993
53993
  moved: false,
@@ -91767,7 +91767,7 @@ async function preflightDiscordMessage(params) {
91767
91767
  let preflightTranscript;
91768
91768
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
91769
91769
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
91770
- const { transcribeFirstAudio } = await import("./audio-preflight-CJGUVWFw.js");
91770
+ const { transcribeFirstAudio } = await import("./audio-preflight-YPQKo93v.js");
91771
91771
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
91772
91772
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
91773
91773
  ctx: {
@@ -97857,7 +97857,7 @@ function createDiscordGatewayPlugin(params) {
97857
97857
  return super.registerClient(client);
97858
97858
  }
97859
97859
  createWebSocket(url) {
97860
- return new WebSocket(url, { agent: wsAgent });
97860
+ return new WebSocket$1(url, { agent: wsAgent });
97861
97861
  }
97862
97862
  }
97863
97863
  return new ProxyGatewayPlugin();
@@ -99064,7 +99064,7 @@ async function waitForTransportReady(params) {
99064
99064
 
99065
99065
  //#endregion
99066
99066
  //#region src/brand.ts
99067
- const FASED_PRODUCT_VERSION = "0.1.29";
99067
+ const FASED_PRODUCT_VERSION = "0.1.30";
99068
99068
  const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
99069
99069
 
99070
99070
  //#endregion
@@ -108687,7 +108687,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
108687
108687
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
108688
108688
  let preflightTranscript;
108689
108689
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
108690
- const { transcribeFirstAudio } = await import("./audio-preflight-CJGUVWFw.js");
108690
+ const { transcribeFirstAudio } = await import("./audio-preflight-YPQKo93v.js");
108691
108691
  preflightTranscript = await transcribeFirstAudio({
108692
108692
  ctx: {
108693
108693
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -111313,7 +111313,7 @@ function loadWebLoginQr() {
111313
111313
  return webLoginQrPromise;
111314
111314
  }
111315
111315
  function loadWebChannel() {
111316
- webChannelPromise ??= import("./web-fv_H8Fvb.js");
111316
+ webChannelPromise ??= import("./web-vGE7qeF-.js");
111317
111317
  return webChannelPromise;
111318
111318
  }
111319
111319
  function loadWhatsAppActions() {
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Kr as ensureAuthProfileStore, lr as normalizeProviderId } from "./agent-scope-BYecP9O5.js";
2
+ import { Kr as ensureAuthProfileStore, lr as normalizeProviderId } from "./agent-scope-Bx0XQq3s.js";
3
3
  import path from "node:path";
4
- import syncFs from "node:fs";
4
+ import fs from "node:fs";
5
5
  import * as PiCodingAgent from "@mariozechner/pi-coding-agent";
6
6
 
7
7
  //#region src/agents/pi-auth-credentials.ts
@@ -70,10 +70,10 @@ function isRecord(value) {
70
70
  }
71
71
  function scrubLegacyStaticAuthJsonEntries(pathname) {
72
72
  if (process.env.FASED_AUTH_STORE_READONLY === "1") return;
73
- if (!syncFs.existsSync(pathname)) return;
73
+ if (!fs.existsSync(pathname)) return;
74
74
  let parsed;
75
75
  try {
76
- parsed = JSON.parse(syncFs.readFileSync(pathname, "utf8"));
76
+ parsed = JSON.parse(fs.readFileSync(pathname, "utf8"));
77
77
  } catch {
78
78
  return;
79
79
  }
@@ -87,11 +87,11 @@ function scrubLegacyStaticAuthJsonEntries(pathname) {
87
87
  }
88
88
  if (!changed) return;
89
89
  if (Object.keys(parsed).length === 0) {
90
- syncFs.rmSync(pathname, { force: true });
90
+ fs.rmSync(pathname, { force: true });
91
91
  return;
92
92
  }
93
- syncFs.writeFileSync(pathname, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
94
- syncFs.chmodSync(pathname, 384);
93
+ fs.writeFileSync(pathname, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
94
+ fs.chmodSync(pathname, 384);
95
95
  }
96
96
  function createAuthStorage(AuthStorageLike, path, creds) {
97
97
  const withInMemory = AuthStorageLike;
@@ -0,0 +1,5 @@
1
+ import "./agent-scope-Bx0XQq3s.js";
2
+ import "./github-copilot-token-DYrFvncE.js";
3
+ import { i as discoverModels, n as PiModelRegistryClass, r as discoverAuthStorage, t as PiAuthStorageClass } from "./pi-model-discovery-C1CAe7eM.js";
4
+
5
+ export { discoverAuthStorage, discoverModels };
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Dn as loadConfig, F as createSubsystemLogger, U as getActivePluginRegistry, d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-CrCe9L5D.js";
3
- import { Nt as loadFasedAgentPlugins } from "./reply-5d_FBb8m.js";
3
+ import { Nt as loadFasedAgentPlugins } from "./reply-DVGmtLPq.js";
4
4
 
5
5
  //#region src/cli/plugin-registry.ts
6
6
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Gu as resolveDefaultAgentId, Wu as resolveAgentWorkspaceDir, Xt as loadConfig, a as createSubsystemLogger, p as getActivePluginRegistry } from "./env-BegRUDBP.js";
3
- import { c as loadFasedAgentPlugins } from "./model-catalog-CKJx3TlL.js";
3
+ import { c as loadFasedAgentPlugins } from "./model-catalog-DOuyqwFa.js";
4
4
 
5
5
  //#region src/cli/plugin-registry.ts
6
6
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,4 +1,4 @@
1
- import { C as normalizeMediaAttachments, E as isAudioAttachment, S as createMediaAttachmentCache, T as runCapability, w as resolveMediaAttachmentLocalRoots, x as buildProviderRegistry } from "./reply-CwbNFNQd.js";
1
+ import { C as normalizeMediaAttachments, E as isAudioAttachment, S as createMediaAttachmentCache, T as runCapability, w as resolveMediaAttachmentLocalRoots, x as buildProviderRegistry } from "./reply-D4WNXysa.js";
2
2
  import { Gc as logVerbose, qc as shouldLogVerbose } from "./runtime-Dxpfvz83.js";
3
3
  import "./github-copilot-token-CVC_19vl.js";
4
4
  import "./send-Des0LL0Y.js";
@@ -2,7 +2,7 @@ import { Ds as shouldLogVerbose, Ts as logVerbose } from "./context-CffBTBRN.js"
2
2
  import "./github-copilot-token-BMocqO3v.js";
3
3
  import "./send-Bv5OWFno.js";
4
4
  import "./send-DQBK5dsc.js";
5
- import { A as buildProviderRegistry, F as isAudioAttachment, M as normalizeMediaAttachments, N as resolveMediaAttachmentLocalRoots, P as runCapability, j as createMediaAttachmentCache } from "./status-sQR6iMdb.js";
5
+ import { A as buildProviderRegistry, F as isAudioAttachment, M as normalizeMediaAttachments, N as resolveMediaAttachmentLocalRoots, P as runCapability, j as createMediaAttachmentCache } from "./status-BlX9jStp.js";
6
6
  import "./paths-aRRIE-2q.js";
7
7
  import "./ssrf-CZsNT0Hn.js";
8
8
  import "./reply-prefix-BGKgK2hT.js";
@@ -1,4 +1,4 @@
1
- import { a as DEFAULT_ACCOUNT_ID, i as formatCliCommand, o as normalizeAccountId, t as getChatChannelMeta } from "./registry-D1bAj51G.js";
1
+ import { a as DEFAULT_ACCOUNT_ID, i as formatCliCommand, o as normalizeAccountId, t as getChatChannelMeta } from "./registry-C90cYLNB.js";
2
2
 
3
3
  //#region src/plugins/config-schema.ts
4
4
  function error(message) {
@@ -1,4 +1,4 @@
1
- import { A as resolveInboundDebounceMs, B as enqueueSystemEvent, D as dispatchReplyWithBufferedBlockDispatcher, Dt as resolveMentionGating, Et as shouldAckReactionForWhatsApp, Ft as buildHistoryContextFromEntries, Ht as buildMentionRegexes, L as normalizeGroupActivation, M as shouldComputeCommandAuthorized, N as registerUnhandledRejectionHandler, Nt as resolveEnvelopeFormatOptions, Pt as DEFAULT_GROUP_HISTORY_LIMIT, R as parseActivationCommand, Ut as normalizeMentionText, Vt as recordPendingHistoryEntryIfEnabled, an as readStoreAllowFromForDmPolicy, b as sleepWithAbort, fn as resolveDefaultGroupPolicy, j as hasControlCommand, jt as formatInboundEnvelope, k as createInboundDebouncer, mn as warnMissingProviderGroupPolicyFallbackOnce, on as resolveDmGroupAccessWithCommandGate, pn as resolveOpenProviderRuntimeGroupPolicy, sn as resolveDmGroupAccessWithLists, t as getReplyFromConfig, tn as createDedupeCache, ut as buildPairingReply, y as computeBackoff, z as formatDurationPrecise } from "./reply-CwbNFNQd.js";
1
+ import { A as resolveInboundDebounceMs, B as enqueueSystemEvent, D as dispatchReplyWithBufferedBlockDispatcher, Dt as resolveMentionGating, Et as shouldAckReactionForWhatsApp, Ft as buildHistoryContextFromEntries, Ht as buildMentionRegexes, L as normalizeGroupActivation, M as shouldComputeCommandAuthorized, N as registerUnhandledRejectionHandler, Nt as resolveEnvelopeFormatOptions, Pt as DEFAULT_GROUP_HISTORY_LIMIT, R as parseActivationCommand, Ut as normalizeMentionText, Vt as recordPendingHistoryEntryIfEnabled, an as readStoreAllowFromForDmPolicy, b as sleepWithAbort, fn as resolveDefaultGroupPolicy, j as hasControlCommand, jt as formatInboundEnvelope, k as createInboundDebouncer, mn as warnMissingProviderGroupPolicyFallbackOnce, on as resolveDmGroupAccessWithCommandGate, pn as resolveOpenProviderRuntimeGroupPolicy, sn as resolveDmGroupAccessWithLists, t as getReplyFromConfig, tn as createDedupeCache, ut as buildPairingReply, y as computeBackoff, z as formatDurationPrecise } from "./reply-D4WNXysa.js";
2
2
  import { $c as getChildLogger, C as updateLastRoute, Ca as resolveWhatsAppAccount, Ea as getWebAuthAgeMs, Gc as logVerbose, Ic as createSubsystemLogger, Is as resolveGroupSessionKey, La as formatCliCommand, Ma as readWebSelfId, S as recordSessionMetaFromInbound, _s as buildGroupHistoryKey, b as loadSessionStore, bc as jidToE164, fc as clamp, ft as loadConfig, hs as buildAgentMainSessionKey, jc as toWhatsappJid, kc as sleep, ls as resolveChannelGroupPolicy, ms as DEFAULT_MAIN_KEY, ot as resolveStorePath, qc as shouldLogVerbose, ul as normalizeChatChannelId, us as resolveChannelGroupRequireMention, wc as resolveJidToE164, ws as DEFAULT_ACCOUNT_ID, x as readSessionUpdatedAt, xc as normalizeE164, yc as isSelfChatMode, ys as normalizeAgentId, zc as defaultRuntime } from "./runtime-Dxpfvz83.js";
3
3
  import { n as redactSensitiveUrlLikeString } from "./redact-sensitive-url-C_6JDrWW.js";
4
4
  import { X as formatLocationText, Z as toLocationContext, at as upsertChannelPairingRequest, rt as readChannelAllowFromStoreSync } from "./send-5VxqNtsW.js";
@@ -2,7 +2,7 @@ import "./context-CffBTBRN.js";
2
2
  import "./github-copilot-token-BMocqO3v.js";
3
3
  import "./send-Bv5OWFno.js";
4
4
  import "./send-DQBK5dsc.js";
5
- import { n as buildCommandsMessagePaginated, r as buildHelpMessage, t as buildCommandsMessage } from "./status-sQR6iMdb.js";
5
+ import { n as buildCommandsMessagePaginated, r as buildHelpMessage, t as buildCommandsMessage } from "./status-BlX9jStp.js";
6
6
  import "./paths-aRRIE-2q.js";
7
7
  import "./ssrf-CZsNT0Hn.js";
8
8
  import "./reply-prefix-BGKgK2hT.js";
@@ -1,4 +1,4 @@
1
- import { $ as resolveSlackUserAllowlist, $t as listDevicePairing, At as summarizeMapping, Bt as recordPendingHistoryEntry, Ct as createTypingCallbacks, Dt as resolveMentionGating, Et as shouldAckReactionForWhatsApp, G as attachFooterText, Gt as DEFAULT_WEBHOOK_MAX_BODY_BYTES, H as processLineMessage, It as buildPendingHistoryContextFromMap, Jt as isRequestBodyLimitError, Kt as RequestBodyLimitError, Lt as clearHistoryEntries, Mt as formatInboundFromLabel, Ot as resolveMentionGatingWithBypass, Pt as DEFAULT_GROUP_HISTORY_LIMIT, Qt as approveDevicePairing, Rt as clearHistoryEntriesIfEnabled, Sn as CHANNEL_MESSAGE_ACTION_NAMES, St as logTypingFailure, Tt as shouldAckReaction, U as stripMarkdown, V as hasMarkdownToConvert, Vt as recordPendingHistoryEntryIfEnabled, W as createReceiptCard, Wt as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, Xt as readRequestBodyWithLimit, Yt as readJsonBodyWithLimit, Zt as requestBodyErrorToText, _ as resolveDefaultLineAccountId, _n as formatAllowlistMatchMeta, _t as stringEnum, an as readStoreAllowFromForDmPolicy, at as autoBindSpawnedDiscordSubagent, bn as BLUEBUBBLES_ACTION_NAMES, bt as logAckFailure, cn as resolveEffectiveAllowFromLists, ct as isDangerousNameMatchingEnabled, dn as resolveAllowlistProviderRuntimeGroupPolicy, dt as formatDocsLink, en as rejectDevicePairing, et as resolveSlackChannelAllowlist, fn as resolveDefaultGroupPolicy, ft as registerAcpRuntimeBackend, g as normalizeAccountId$1, gn as registerPluginHttpRoute, gt as optionalStringEnum, h as listLineAccountIds, hn as assertOkOrThrowHttpError, ht as buildMediaPayload, in as DM_GROUP_ACCESS_REASON, it as collectDiscordAuditChannelIds, kt as mergeAllowlist, ln as resolveControlCommandGate, lt as issuePairingChallenge, mn as warnMissingProviderGroupPolicyFallbackOnce, mt as AcpRuntimeError, nn as extractToolSend, nt as resolveDiscordUserAllowlist, on as resolveDmGroupAccessWithCommandGate, ot as listThreadBindingsBySessionKey, pn as resolveOpenProviderRuntimeGroupPolicy, pt as unregisterAcpRuntimeBackend, qt as installRequestBodyLimitGuard, rn as withTempDownloadPath, rt as resolveDiscordChannelAllowlist, sn as resolveDmGroupAccessWithLists, st as unbindThreadBindingsBySessionKey, tn as createDedupeCache, tt as detectBinary, un as GROUP_POLICY_BLOCKED_LABEL, v as resolveLineAccount, vn as resolveAllowlistMatchSimple, vt as recordInboundSession, wt as removeAckReactionAfterReply, xn as BLUEBUBBLES_GROUP_ACTIONS, xt as logInboundDrop, yn as BLUEBUBBLES_ACTIONS, yt as resolveChannelMediaMaxBytes, zt as evictOldHistoryKeys } from "./reply-CwbNFNQd.js";
1
+ import { $ as resolveSlackUserAllowlist, $t as listDevicePairing, At as summarizeMapping, Bt as recordPendingHistoryEntry, Ct as createTypingCallbacks, Dt as resolveMentionGating, Et as shouldAckReactionForWhatsApp, G as attachFooterText, Gt as DEFAULT_WEBHOOK_MAX_BODY_BYTES, H as processLineMessage, It as buildPendingHistoryContextFromMap, Jt as isRequestBodyLimitError, Kt as RequestBodyLimitError, Lt as clearHistoryEntries, Mt as formatInboundFromLabel, Ot as resolveMentionGatingWithBypass, Pt as DEFAULT_GROUP_HISTORY_LIMIT, Qt as approveDevicePairing, Rt as clearHistoryEntriesIfEnabled, Sn as CHANNEL_MESSAGE_ACTION_NAMES, St as logTypingFailure, Tt as shouldAckReaction, U as stripMarkdown, V as hasMarkdownToConvert, Vt as recordPendingHistoryEntryIfEnabled, W as createReceiptCard, Wt as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, Xt as readRequestBodyWithLimit, Yt as readJsonBodyWithLimit, Zt as requestBodyErrorToText, _ as resolveDefaultLineAccountId, _n as formatAllowlistMatchMeta, _t as stringEnum, an as readStoreAllowFromForDmPolicy, at as autoBindSpawnedDiscordSubagent, bn as BLUEBUBBLES_ACTION_NAMES, bt as logAckFailure, cn as resolveEffectiveAllowFromLists, ct as isDangerousNameMatchingEnabled, dn as resolveAllowlistProviderRuntimeGroupPolicy, dt as formatDocsLink, en as rejectDevicePairing, et as resolveSlackChannelAllowlist, fn as resolveDefaultGroupPolicy, ft as registerAcpRuntimeBackend, g as normalizeAccountId$1, gn as registerPluginHttpRoute, gt as optionalStringEnum, h as listLineAccountIds, hn as assertOkOrThrowHttpError, ht as buildMediaPayload, in as DM_GROUP_ACCESS_REASON, it as collectDiscordAuditChannelIds, kt as mergeAllowlist, ln as resolveControlCommandGate, lt as issuePairingChallenge, mn as warnMissingProviderGroupPolicyFallbackOnce, mt as AcpRuntimeError, nn as extractToolSend, nt as resolveDiscordUserAllowlist, on as resolveDmGroupAccessWithCommandGate, ot as listThreadBindingsBySessionKey, pn as resolveOpenProviderRuntimeGroupPolicy, pt as unregisterAcpRuntimeBackend, qt as installRequestBodyLimitGuard, rn as withTempDownloadPath, rt as resolveDiscordChannelAllowlist, sn as resolveDmGroupAccessWithLists, st as unbindThreadBindingsBySessionKey, tn as createDedupeCache, tt as detectBinary, un as GROUP_POLICY_BLOCKED_LABEL, v as resolveLineAccount, vn as resolveAllowlistMatchSimple, vt as recordInboundSession, wt as removeAckReactionAfterReply, xn as BLUEBUBBLES_GROUP_ACTIONS, xt as logInboundDrop, yn as BLUEBUBBLES_ACTIONS, yt as resolveChannelMediaMaxBytes, zt as evictOldHistoryKeys } from "./reply-D4WNXysa.js";
2
2
  import { $i as normalizeWhatsAppMessagingTarget, $o as resolveSignalAccount, Ai as listDiscordDirectoryGroupsFromConfig, Bo as isTruthyEnvValue, Bt as GroupPolicySchema, Ca as resolveWhatsAppAccount, Ct as MSTeamsConfigSchema, Ec as safeParseJson, Et as TelegramConfigSchema, Fi as listTelegramDirectoryPeersFromConfig, Go as resolveDefaultSlackAccountId, Gt as TtsConfigSchema, Ha as resolveDefaultTelegramAccountId, Ho as buildSlackThreadingToolContext, Ht as MarkdownTableModeSchema, Ii as listWhatsAppDirectoryGroupsFromConfig, It as ToolPolicySchema, Jt as normalizeAllowFrom, Ko as resolveSlackAccount, Kt as TtsModeSchema, La as formatCliCommand, Lc as stripAnsi, Li as listWhatsAppDirectoryPeersFromConfig, Lr as acquireFileLock, Lt as BlockStreamingCoalesceSchema, Mi as listSlackDirectoryGroupsFromConfig, Ni as listSlackDirectoryPeersFromConfig, Pi as listTelegramDirectoryGroupsFromConfig, Qi as normalizeWhatsAppAllowFromEntries, Qo as resolveDefaultSignalAccountId, Ri as looksLikeSlackTargetId, Rr as withFileLock, Rt as DmConfigSchema, Sa as resolveDefaultWhatsAppAccountId, Sc as pathExists, Ss as resolveThreadSessionKeys, St as IMessageConfigSchema, Ts as normalizeAccountId, Tt as SlackConfigSchema, Ua as resolveTelegramAccount, Uo as listEnabledSlackAccounts, Ut as ReplyRuntimeConfigSchemaShape, Va as listTelegramAccountIds, Vt as MarkdownConfigSchema, Wo as listSlackAccountIds, Wt as TtsAutoSchema, Xi as resolveWhatsAppMentionStripPatterns, Yi as resolveWhatsAppGroupIntroHint, Yt as requireOpenAllowFrom, Zi as looksLikeWhatsAppTargetId, Zo as listSignalAccountIds, _a as resolveTelegramGroupToolPolicy, aa as normalizeSignalMessagingTarget, bt as DiscordConfigSchema, ca as resolveDiscordGroupRequireMention, da as resolveGoogleChatGroupToolPolicy, dc as CONFIG_DIR, dl as normalizePluginHttpPath, ea as looksLikeHandleOrPhoneTarget, el as registerLogTransport, es as listIMessageAccountIds, fa as resolveIMessageGroupRequireMention, fc as clamp, fi as formatErrorMessage, fs as resolveToolsBySender, ga as resolveTelegramGroupRequireMention, gc as escapeRegExp, ha as resolveSlackGroupToolPolicy, hi as redactSensitiveText, ia as looksLikeSignalTargetId, il as getChatChannelMeta, is as listDiscordAccountIds, ji as listDiscordDirectoryPeersFromConfig, kc as sleep, la as resolveDiscordGroupToolPolicy, ma as resolveSlackGroupRequireMention, na as isWhatsAppGroupJid, ns as resolveIMessageAccount, oa as resolveBlueBubblesGroupRequireMention, os as resolveDefaultDiscordAccountId, pa as resolveIMessageGroupToolPolicy, qo as resolveSlackReplyToMode, qt as TtsProviderSchema, ra as normalizeWhatsAppTarget, rl as resolvePreferredFasedAgentTmpDir, sa as resolveBlueBubblesGroupToolPolicy, ss as resolveDiscordAccount, t as getActivePluginRegistry, ta as trimMessagingTarget, ts as resolveDefaultIMessageAccountId, ua as resolveGoogleChatGroupRequireMention, va as resolveWhatsAppGroupRequireMention, vc as isRecord, vi as extractArchive, wa as resolveWhatsAppAuthDir, ws as DEFAULT_ACCOUNT_ID, wt as SignalConfigSchema, xa as listWhatsAppAccountIds, xc as normalizeE164, xt as GoogleChatConfigSchema, ya as resolveWhatsAppGroupToolPolicy, yo as runCommandWithTimeout, yt as WhatsAppConfigSchema, zi as normalizeSlackMessagingTarget, zt as DmPolicySchema } from "./runtime-Dxpfvz83.js";
3
3
  import "./github-copilot-token-CVC_19vl.js";
4
4
  import { At as resolveNestedAllowlistDecision, Dt as normalizeChannelSlug, Et as buildChannelKeyCandidates, Ot as resolveChannelEntryMatch, dt as normalizeDiscordSlug, it as parseDiscordTarget, kt as resolveChannelEntryMatchWithFallback } from "./send-Des0LL0Y.js";
@@ -25,7 +25,7 @@ import "./markdown-tables-trVxBCrI.js";
25
25
  import "./render-DzUFCfck.js";
26
26
  import "./tables-DjSNh4Qx.js";
27
27
  import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-DyNIwkzd.js";
28
- import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-Dd48mC59.js";
28
+ import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-DoGtD0PQ.js";
29
29
  import "./commands-registry-D-wBX44P.js";
30
30
  import "./pi-model-discovery-DMqhr7U_.js";
31
31
  import "./send-Bf5cNKV-.js";
@@ -2,7 +2,7 @@ import { ga as defaultRuntime, ma as logWarn } from "./context-CffBTBRN.js";
2
2
  import "./github-copilot-token-BMocqO3v.js";
3
3
  import "./send-Bv5OWFno.js";
4
4
  import "./send-DQBK5dsc.js";
5
- import { B as extractFileContentFromSource, H as normalizeMimeList, I as DEFAULT_INPUT_IMAGE_MAX_BYTES, L as DEFAULT_INPUT_IMAGE_MIMES, Q as onAgentEvent, R as DEFAULT_INPUT_MAX_REDIRECTS, U as resolveInputFileLimits, V as extractImageContentFromSource, Z as emitAgentEvent, a as buildAgentMessageFromConversationEntries, at as resolveSessionKey, ct as writeDone, i as handleGatewayPostJsonEndpoint, it as resolveAgentIdForRequest, o as resolveAssistantStreamDeltaText, ot as sendJson, rt as createDefaultDeps, s as agentCommand, st as setSseHeaders, z as DEFAULT_INPUT_TIMEOUT_MS } from "./status-sQR6iMdb.js";
5
+ import { B as extractFileContentFromSource, H as normalizeMimeList, I as DEFAULT_INPUT_IMAGE_MAX_BYTES, L as DEFAULT_INPUT_IMAGE_MIMES, Q as onAgentEvent, R as DEFAULT_INPUT_MAX_REDIRECTS, U as resolveInputFileLimits, V as extractImageContentFromSource, Z as emitAgentEvent, a as buildAgentMessageFromConversationEntries, at as resolveSessionKey, ct as writeDone, i as handleGatewayPostJsonEndpoint, it as resolveAgentIdForRequest, o as resolveAssistantStreamDeltaText, ot as sendJson, rt as createDefaultDeps, s as agentCommand, st as setSseHeaders, z as DEFAULT_INPUT_TIMEOUT_MS } from "./status-BlX9jStp.js";
6
6
  import "./paths-aRRIE-2q.js";
7
7
  import "./ssrf-CZsNT0Hn.js";
8
8
  import "./reply-prefix-BGKgK2hT.js";
@@ -1,4 +1,4 @@
1
- import { F as emitAgentEvent, I as onAgentEvent, J as resolveSessionKey, K as createDefaultDeps, X as setSseHeaders, Y as sendJson, Z as writeDone, a as DEFAULT_INPUT_TIMEOUT_MS, c as normalizeMimeList, d as handleGatewayPostJsonEndpoint, f as buildAgentMessageFromConversationEntries, i as DEFAULT_INPUT_MAX_REDIRECTS, l as resolveInputFileLimits, m as agentCommand, n as DEFAULT_INPUT_IMAGE_MAX_BYTES, o as extractFileContentFromSource, p as resolveAssistantStreamDeltaText, q as resolveAgentIdForRequest, r as DEFAULT_INPUT_IMAGE_MIMES, s as extractImageContentFromSource } from "./reply-CwbNFNQd.js";
1
+ import { F as emitAgentEvent, I as onAgentEvent, J as resolveSessionKey, K as createDefaultDeps, X as setSseHeaders, Y as sendJson, Z as writeDone, a as DEFAULT_INPUT_TIMEOUT_MS, c as normalizeMimeList, d as handleGatewayPostJsonEndpoint, f as buildAgentMessageFromConversationEntries, i as DEFAULT_INPUT_MAX_REDIRECTS, l as resolveInputFileLimits, m as agentCommand, n as DEFAULT_INPUT_IMAGE_MAX_BYTES, o as extractFileContentFromSource, p as resolveAssistantStreamDeltaText, q as resolveAgentIdForRequest, r as DEFAULT_INPUT_IMAGE_MIMES, s as extractImageContentFromSource } from "./reply-D4WNXysa.js";
2
2
  import { To as logWarn, zc as defaultRuntime } from "./runtime-Dxpfvz83.js";
3
3
  import "./github-copilot-token-CVC_19vl.js";
4
4
  import "./send-Des0LL0Y.js";
@@ -1,4 +1,4 @@
1
- import { n as normalizeProviderId, r as ensureAuthProfileStore } from "./registry-D1bAj51G.js";
1
+ import { n as normalizeProviderId, r as ensureAuthProfileStore } from "./registry-C90cYLNB.js";
2
2
  import fs from "node:fs";
3
3
  import path from "node:path";
4
4
  import * as PiCodingAgent from "@mariozechner/pi-coding-agent";
@@ -4,7 +4,7 @@ import path from "node:path";
4
4
  import chalk, { Chalk } from "chalk";
5
5
  import { Logger } from "tslog";
6
6
  import os from "node:os";
7
- import json5 from "json5";
7
+ import JSON5 from "json5";
8
8
  import { isDeepStrictEqual, promisify } from "node:util";
9
9
  import fs$1 from "node:fs/promises";
10
10
  import { execFile, execFileSync } from "node:child_process";
@@ -404,7 +404,7 @@ function readLoggingConfig() {
404
404
  try {
405
405
  if (!fs.existsSync(configPath)) return;
406
406
  const raw = fs.readFileSync(configPath, "utf-8");
407
- const logging = json5.parse(raw)?.logging;
407
+ const logging = JSON5.parse(raw)?.logging;
408
408
  if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
409
409
  return logging;
410
410
  } catch {
@@ -3118,7 +3118,7 @@ function loadPluginManifest(rootDir) {
3118
3118
  }
3119
3119
  let raw;
3120
3120
  try {
3121
- raw = json5.parse(fs.readFileSync(opened.fd, "utf-8"));
3121
+ raw = JSON5.parse(fs.readFileSync(opened.fd, "utf-8"));
3122
3122
  } catch (err) {
3123
3123
  return {
3124
3124
  ok: false,
@@ -13558,7 +13558,7 @@ const defaultResolver = {
13558
13558
  resolvedPath,
13559
13559
  rootRealDir
13560
13560
  }),
13561
- parseJson: (raw) => json5.parse(raw)
13561
+ parseJson: (raw) => JSON5.parse(raw)
13562
13562
  };
13563
13563
  /**
13564
13564
  * Resolves all $include directives in a parsed config object.
@@ -20171,7 +20171,7 @@ function resolveConfigPathForDeps(deps) {
20171
20171
  function normalizeDeps(overrides = {}) {
20172
20172
  return {
20173
20173
  fs: overrides.fs ?? fs,
20174
- json5: overrides.json5 ?? json5,
20174
+ json5: overrides.json5 ?? JSON5,
20175
20175
  env: overrides.env ?? process.env,
20176
20176
  homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
20177
20177
  configPath: overrides.configPath ?? "",
@@ -20182,11 +20182,11 @@ function maybeLoadDotEnvForConfig(env) {
20182
20182
  if (env !== process.env) return;
20183
20183
  loadDotEnv({ quiet: true });
20184
20184
  }
20185
- function parseConfigJson5(raw, json5$1 = json5) {
20185
+ function parseConfigJson5(raw, json5 = JSON5) {
20186
20186
  try {
20187
20187
  return {
20188
20188
  ok: true,
20189
- parsed: json5$1.parse(raw)
20189
+ parsed: json5.parse(raw)
20190
20190
  };
20191
20191
  } catch (err) {
20192
20192
  return {
@@ -21057,7 +21057,7 @@ async function loadContextCache() {
21057
21057
  await ensureFasedModelsJson(cfg);
21058
21058
  } catch {}
21059
21059
  try {
21060
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-runtime-DaiqegxK.js");
21060
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-runtime-CwXjrUIM.js");
21061
21061
  const agentDir = resolveFasedAgentDir();
21062
21062
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
21063
21063
  applyDiscoveredContextWindows({
@@ -4078,7 +4078,7 @@ async function resolveDiscordUserAllowlist(params) {
4078
4078
 
4079
4079
  //#endregion
4080
4080
  //#region src/brand.ts
4081
- const FASED_PRODUCT_VERSION = "0.1.29";
4081
+ const FASED_PRODUCT_VERSION = "0.1.30";
4082
4082
  const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
4083
4083
 
4084
4084
  //#endregion
@@ -20549,7 +20549,7 @@ function createOutboundSendDepsFromCliSource(deps) {
20549
20549
  function createDefaultDeps() {
20550
20550
  return {
20551
20551
  sendMessageWhatsApp: async (...args) => {
20552
- const { sendMessageWhatsApp } = await import("./web-Q7_F3_66.js");
20552
+ const { sendMessageWhatsApp } = await import("./web-Cr8AJx43.js");
20553
20553
  return await sendMessageWhatsApp(...args);
20554
20554
  },
20555
20555
  sendMessageTelegram: async (...args) => {
@@ -82837,7 +82837,7 @@ async function preflightDiscordMessage(params) {
82837
82837
  let preflightTranscript;
82838
82838
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
82839
82839
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
82840
- const { transcribeFirstAudio } = await import("./audio-preflight-BjpOTfAA.js");
82840
+ const { transcribeFirstAudio } = await import("./audio-preflight-B-__-RfZ.js");
82841
82841
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
82842
82842
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
82843
82843
  ctx: {
@@ -100666,7 +100666,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
100666
100666
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
100667
100667
  let preflightTranscript;
100668
100668
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
100669
- const { transcribeFirstAudio } = await import("./audio-preflight-BjpOTfAA.js");
100669
+ const { transcribeFirstAudio } = await import("./audio-preflight-B-__-RfZ.js");
100670
100670
  preflightTranscript = await transcribeFirstAudio({
100671
100671
  ctx: {
100672
100672
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -103292,7 +103292,7 @@ function loadWebLoginQr() {
103292
103292
  return webLoginQrPromise;
103293
103293
  }
103294
103294
  function loadWebChannel() {
103295
- webChannelPromise ??= import("./web-Q7_F3_66.js");
103295
+ webChannelPromise ??= import("./web-Cr8AJx43.js");
103296
103296
  return webChannelPromise;
103297
103297
  }
103298
103298
  function loadWhatsAppActions() {
@@ -1,6 +1,6 @@
1
1
  export declare const FASED_BRAND_NAME = "Fased";
2
2
  export declare const FASED_AGENT_NAME = "Fased Agent";
3
3
  export declare const FASED_CONTROL_NAME = "Fased Control";
4
- export declare const FASED_PRODUCT_VERSION = "0.1.29";
5
- export declare const FASED_DISPLAY_VERSION = "v0.1.29";
4
+ export declare const FASED_PRODUCT_VERSION = "0.1.30";
5
+ export declare const FASED_DISPLAY_VERSION = "v0.1.30";
6
6
  export declare function formatFasedDisplayLine(): string;
@@ -17007,7 +17007,7 @@ function createOutboundSendDepsFromCliSource(deps) {
17007
17007
  function createDefaultDeps() {
17008
17008
  return {
17009
17009
  sendMessageWhatsApp: async (...args) => {
17010
- const { sendMessageWhatsApp } = await import("./web-BWOUsR2H.js");
17010
+ const { sendMessageWhatsApp } = await import("./web-CEucw6Dl.js");
17011
17011
  return await sendMessageWhatsApp(...args);
17012
17012
  },
17013
17013
  sendMessageTelegram: async (...args) => {
@@ -101684,7 +101684,7 @@ async function preflightDiscordMessage(params) {
101684
101684
  let preflightTranscript;
101685
101685
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
101686
101686
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
101687
- const { transcribeFirstAudio } = await import("./audio-preflight-BMNjQ8Qw.js");
101687
+ const { transcribeFirstAudio } = await import("./audio-preflight-DcJUk03P.js");
101688
101688
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
101689
101689
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
101690
101690
  ctx: {
@@ -108981,7 +108981,7 @@ async function waitForTransportReady(params) {
108981
108981
 
108982
108982
  //#endregion
108983
108983
  //#region src/brand.ts
108984
- const FASED_PRODUCT_VERSION = "0.1.29";
108984
+ const FASED_PRODUCT_VERSION = "0.1.30";
108985
108985
  const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
108986
108986
 
108987
108987
  //#endregion
@@ -118604,7 +118604,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
118604
118604
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
118605
118605
  let preflightTranscript;
118606
118606
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
118607
- const { transcribeFirstAudio } = await import("./audio-preflight-BMNjQ8Qw.js");
118607
+ const { transcribeFirstAudio } = await import("./audio-preflight-DcJUk03P.js");
118608
118608
  preflightTranscript = await transcribeFirstAudio({
118609
118609
  ctx: {
118610
118610
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -121230,7 +121230,7 @@ function loadWebLoginQr() {
121230
121230
  return webLoginQrPromise;
121231
121231
  }
121232
121232
  function loadWebChannel() {
121233
- webChannelPromise ??= import("./web-BWOUsR2H.js");
121233
+ webChannelPromise ??= import("./web-CEucw6Dl.js");
121234
121234
  return webChannelPromise;
121235
121235
  }
121236
121236
  function loadWhatsAppActions() {
@@ -2,7 +2,7 @@ import { $a as normalizeAgentId, $r as resolveStorePath, Di as formatCliCommand,
2
2
  import "./github-copilot-token-BMocqO3v.js";
3
3
  import "./send-Bv5OWFno.js";
4
4
  import "./send-DQBK5dsc.js";
5
- import { $ as normalizeGroupActivation, D as resolveEnvelopeFormatOptions, E as formatInboundEnvelope, G as hasControlCommand, J as normalizeMentionText, K as shouldComputeCommandAuthorized, O as createDedupeCache, S as dispatchReplyWithBufferedBlockDispatcher, T as resolveInboundDebounceMs, Y as registerUnhandledRejectionHandler, _ as warnMissingProviderGroupPolicyFallbackOnce, b as resolveDmGroupAccessWithLists, c as computeBackoff, d as resolveMentionGating, et as parseActivationCommand, f as DEFAULT_GROUP_HISTORY_LIMIT, g as resolveOpenProviderRuntimeGroupPolicy, h as resolveDefaultGroupPolicy, k as getReplyFromConfig, l as sleepWithAbort, m as recordPendingHistoryEntryIfEnabled, nt as enqueueSystemEvent, p as buildHistoryContextFromEntries, q as buildMentionRegexes, tt as formatDurationPrecise, u as buildPairingReply, v as readStoreAllowFromForDmPolicy, w as createInboundDebouncer, x as shouldAckReactionForWhatsApp, y as resolveDmGroupAccessWithCommandGate } from "./status-sQR6iMdb.js";
5
+ import { $ as normalizeGroupActivation, D as resolveEnvelopeFormatOptions, E as formatInboundEnvelope, G as hasControlCommand, J as normalizeMentionText, K as shouldComputeCommandAuthorized, O as createDedupeCache, S as dispatchReplyWithBufferedBlockDispatcher, T as resolveInboundDebounceMs, Y as registerUnhandledRejectionHandler, _ as warnMissingProviderGroupPolicyFallbackOnce, b as resolveDmGroupAccessWithLists, c as computeBackoff, d as resolveMentionGating, et as parseActivationCommand, f as DEFAULT_GROUP_HISTORY_LIMIT, g as resolveOpenProviderRuntimeGroupPolicy, h as resolveDefaultGroupPolicy, k as getReplyFromConfig, l as sleepWithAbort, m as recordPendingHistoryEntryIfEnabled, nt as enqueueSystemEvent, p as buildHistoryContextFromEntries, q as buildMentionRegexes, tt as formatDurationPrecise, u as buildPairingReply, v as readStoreAllowFromForDmPolicy, w as createInboundDebouncer, x as shouldAckReactionForWhatsApp, y as resolveDmGroupAccessWithCommandGate } from "./status-BlX9jStp.js";
6
6
  import "./paths-aRRIE-2q.js";
7
7
  import "./ssrf-CZsNT0Hn.js";
8
8
  import { n as redactSensitiveUrlLikeString } from "./redact-sensitive-url-C_6JDrWW.js";
@@ -1,4 +1,4 @@
1
- import "./reply-CwbNFNQd.js";
1
+ import "./reply-D4WNXysa.js";
2
2
  import { Aa as pickWebChannel, Da as logWebSelfId, Ia as webAuthExists, Ta as WA_WEB_AUTH_DIR } from "./runtime-Dxpfvz83.js";
3
3
  import "./github-copilot-token-CVC_19vl.js";
4
4
  import "./send-Des0LL0Y.js";
@@ -22,7 +22,7 @@ import "./channel-activity-NWX3LiLh.js";
22
22
  import "./markdown-tables-trVxBCrI.js";
23
23
  import "./render-DzUFCfck.js";
24
24
  import "./tables-DjSNh4Qx.js";
25
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-Dd48mC59.js";
25
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-DoGtD0PQ.js";
26
26
  import "./commands-registry-D-wBX44P.js";
27
27
  import "./pi-model-discovery-DMqhr7U_.js";
28
28
  import "./send-Bf5cNKV-.js";
@@ -2,7 +2,7 @@ import { _ as resolveStateDir } from "./paths-C9FmTW1x.js";
2
2
  import { S as resolveUserPath, T as shortenHomePath, U as theme, w as shortenHomeInString, y as resolveConfigDir } from "./agent-paths-DmOVZE7g.js";
3
3
  import { Dn as loadConfig, Mn as writeConfigFile, Tl as installPluginFromPath, fo as resolveBundledPluginsDir, lu as resolveArchiveKind, wl as installPluginFromNpmSpec } from "./agent-scope-CrCe9L5D.js";
4
4
  import "./commands-registry-yEHQnayd.js";
5
- import { rs as promptYesNo } from "./reply-5d_FBb8m.js";
5
+ import { rs as promptYesNo } from "./reply-DVGmtLPq.js";
6
6
  import { d as defaultRuntime } from "./errors-Dx3S3Nrp.js";
7
7
  import "./send-Dbz4ciHO.js";
8
8
  import "./send-BdbzQtpU.js";
@@ -37,7 +37,7 @@ import "./ssrf-Blf4NrHS.js";
37
37
  import "./outbound-attachment-CWs_0-GB.js";
38
38
  import "./fetch-C7U6zkCW.js";
39
39
  import "./delivery-queue-D3PC9MW-.js";
40
- import "./deps-ByxeDZxS.js";
40
+ import "./deps-sd-SQKYn.js";
41
41
  import "./memory-_djkFopW.js";
42
42
  import "./memory-search-DooAj6Eu.js";
43
43
  import "./manager-bJh9XOLh.js";
@@ -79,10 +79,10 @@ import "./pairing-labels-v1JixmOK.js";
79
79
  import { t as renderTable } from "./table-BMmOL0ek.js";
80
80
  import { n as setPluginEnabledInConfig, t as enablePluginInConfig } from "./enable-BkfuwL4G.js";
81
81
  import "./installs-8bxu3Tg4.js";
82
- import { t as buildPluginStatusReport } from "./status-CRSeqOJk.js";
82
+ import { t as buildPluginStatusReport } from "./status-B39ZJFhD.js";
83
83
  import { r as findBundledPluginByNpmSpec } from "./update-DSvuG3PT.js";
84
- import { a as executePluginUpdateLifecycle, i as executePluginUninstallLifecycle, n as buildPluginLifecycleReport, o as finalizeInstalledPluginConfig, r as buildPluginUninstallPreview, s as resolvePluginLifecycleEntry, t as applySlotSelectionForPlugin } from "./lifecycle-CDyiQkdm.js";
85
- import { i as buildPluginMarketplaceReport, o as buildPluginMarketplaceUpdateReview, r as setPluginRuntimeSessionReadGrant, s as formatPluginMarketplaceUpdateReviewWarnings, t as getPluginRuntimeSessionReadGrant } from "./runtime-helper-grants-CqyGNc1k.js";
84
+ import { a as executePluginUpdateLifecycle, i as executePluginUninstallLifecycle, n as buildPluginLifecycleReport, o as finalizeInstalledPluginConfig, r as buildPluginUninstallPreview, s as resolvePluginLifecycleEntry, t as applySlotSelectionForPlugin } from "./lifecycle-DUPuKIvd.js";
85
+ import { i as buildPluginMarketplaceReport, o as buildPluginMarketplaceUpdateReview, r as setPluginRuntimeSessionReadGrant, s as formatPluginMarketplaceUpdateReviewWarnings, t as getPluginRuntimeSessionReadGrant } from "./runtime-helper-grants-CHz5azhO.js";
86
86
  import { n as resolvePinnedNpmInstallRecordForCli } from "./npm-resolution-BrUQDWLg.js";
87
87
  import fs from "node:fs";
88
88
  import os from "node:os";
@@ -2,7 +2,7 @@ import { $c as installPluginFromNpmSpec, Fa as resolveBundledPluginsDir, Xt as l
2
2
  import { C as shortenHomeInString, H as theme, v as resolveConfigDir, w as shortenHomePath, x as resolveUserPath } from "./agent-paths-BI1hx-tF.js";
3
3
  import "./send-DiY-R7xq.js";
4
4
  import "./send-D52Cqe9Z.js";
5
- import { To as promptYesNo } from "./model-catalog-CKJx3TlL.js";
5
+ import { To as promptYesNo } from "./model-catalog-DOuyqwFa.js";
6
6
  import "./github-copilot-token-A9DiaCB0.js";
7
7
  import { A as defaultRuntime, Ct as resolveStateDir } from "./entry.js";
8
8
  import "./reply-prefix-CKOTLAs6.js";
@@ -45,7 +45,7 @@ import "./send-tByitNFq.js";
45
45
  import "./outbound-attachment-DjAMOo70.js";
46
46
  import "./fetch-C1-cYcji.js";
47
47
  import "./delivery-queue-D7zHbNm4.js";
48
- import "./deps-D7pGfos8.js";
48
+ import "./deps-QnUngXA3.js";
49
49
  import "./frontmatter-BPHGMwFk.js";
50
50
  import "./skills-2eSRzTmM.js";
51
51
  import "./skills-remote-CQrWVunR.js";
@@ -77,10 +77,10 @@ import "./pairing-labels-u5J0k1yz.js";
77
77
  import { t as renderTable } from "./table-DiHPQeoC.js";
78
78
  import { n as setPluginEnabledInConfig, t as enablePluginInConfig } from "./enable-CK2zjW1B.js";
79
79
  import "./installs-C05yaQSr.js";
80
- import { t as buildPluginStatusReport } from "./status-CCDLtWaH.js";
80
+ import { t as buildPluginStatusReport } from "./status-Doqt5wXN.js";
81
81
  import { r as findBundledPluginByNpmSpec } from "./update-CfW8YMNn.js";
82
- import { a as executePluginUpdateLifecycle, i as executePluginUninstallLifecycle, n as buildPluginLifecycleReport, o as finalizeInstalledPluginConfig, r as buildPluginUninstallPreview, s as resolvePluginLifecycleEntry, t as applySlotSelectionForPlugin } from "./lifecycle-Bt1wvv49.js";
83
- import { i as buildPluginMarketplaceReport, o as buildPluginMarketplaceUpdateReview, r as setPluginRuntimeSessionReadGrant, s as formatPluginMarketplaceUpdateReviewWarnings, t as getPluginRuntimeSessionReadGrant } from "./runtime-helper-grants-BQYP50-i.js";
82
+ import { a as executePluginUpdateLifecycle, i as executePluginUninstallLifecycle, n as buildPluginLifecycleReport, o as finalizeInstalledPluginConfig, r as buildPluginUninstallPreview, s as resolvePluginLifecycleEntry, t as applySlotSelectionForPlugin } from "./lifecycle-Dd-6tFQk.js";
83
+ import { i as buildPluginMarketplaceReport, o as buildPluginMarketplaceUpdateReview, r as setPluginRuntimeSessionReadGrant, s as formatPluginMarketplaceUpdateReviewWarnings, t as getPluginRuntimeSessionReadGrant } from "./runtime-helper-grants-BQl2Y_KJ.js";
84
84
  import { n as resolvePinnedNpmInstallRecordForCli } from "./npm-resolution-B57c8j7x.js";
85
85
  import os from "node:os";
86
86
  import path from "node:path";
@@ -2,7 +2,7 @@ import { Tu as resolveCliName, Yc as VERSION, t as isTruthyEnvValue, wu as repla
2
2
  import { $ as tryParseLogLevel, H as theme, I as setVerbose, V as isRich, X as ALLOWED_LOG_LEVELS, d as escapeRegExp } from "./agent-paths-BI1hx-tF.js";
3
3
  import "./send-DiY-R7xq.js";
4
4
  import "./send-D52Cqe9Z.js";
5
- import { I as emitCliBanner, L as formatCliBannerLine, R as hasEmittedCliBanner } from "./model-catalog-CKJx3TlL.js";
5
+ import { I as emitCliBanner, L as formatCliBannerLine, R as hasEmittedCliBanner } from "./model-catalog-DOuyqwFa.js";
6
6
  import "./github-copilot-token-A9DiaCB0.js";
7
7
  import { A as defaultRuntime, At as getVerboseFlag, Et as getCommandPath, Mt as hasHelpOrVersion, Nt as hasRootVersionAlias, jt as hasFlag } from "./entry.js";
8
8
  import "./reply-prefix-CKOTLAs6.js";
@@ -45,7 +45,7 @@ import "./send-tByitNFq.js";
45
45
  import "./outbound-attachment-DjAMOo70.js";
46
46
  import "./fetch-C1-cYcji.js";
47
47
  import "./delivery-queue-D7zHbNm4.js";
48
- import "./deps-D7pGfos8.js";
48
+ import "./deps-QnUngXA3.js";
49
49
  import "./frontmatter-BPHGMwFk.js";
50
50
  import "./skills-2eSRzTmM.js";
51
51
  import "./skills-remote-CQrWVunR.js";
@@ -74,10 +74,10 @@ import "./progress-DkVYFLij.js";
74
74
  import "./replies-B5LeYSuO.js";
75
75
  import "./prompt-style-Rmj3c-Ir.js";
76
76
  import "./pairing-labels-u5J0k1yz.js";
77
- import "./plugin-registry-D8bNkXOq.js";
78
- import { i as resolveCliChannelOptions, n as isParentDefaultHelpAction } from "./parent-default-help-D6zpkza-.js";
79
- import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-BmntpHBV.js";
80
- import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-DSG9UhC4.js";
77
+ import "./plugin-registry-CIiRwpQv.js";
78
+ import { i as resolveCliChannelOptions, n as isParentDefaultHelpAction } from "./parent-default-help-DUqMyqko.js";
79
+ import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-DEnba1hq.js";
80
+ import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-mptWJW8S.js";
81
81
  import { r as setProgramContext } from "./program-context-CDFrVtWb.js";
82
82
  import { t as forceFreePort } from "./ports-fooOSczz.js";
83
83
  import { Command, InvalidArgumentError } from "commander";
@@ -224,7 +224,7 @@ function registerPreActionHooks(program, programVersion) {
224
224
  commandPath
225
225
  });
226
226
  if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
227
- const { ensurePluginRegistryLoaded } = await import("./plugin-registry-D8bNkXOq.js").then((n) => n.n);
227
+ const { ensurePluginRegistryLoaded } = await import("./plugin-registry-CIiRwpQv.js").then((n) => n.n);
228
228
  ensurePluginRegistryLoaded();
229
229
  }
230
230
  });