@fased/fased 0.1.36 → 0.1.38

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 (240) hide show
  1. package/config/capability-catalog.json +241 -0
  2. package/config/dependency-ownership.json +130 -0
  3. package/config/official-channel-catalog.json +39 -0
  4. package/dist/agents/tools/web-fetch-utils.js +2 -1
  5. package/dist/agents/tools/web-fetch-visibility.js +3 -1
  6. package/dist/brand.js +1 -1
  7. package/dist/browser/pw-session.js +2 -1
  8. package/dist/browser/pw-tools-core.state.js +3 -2
  9. package/dist/browser/runtime-dependency.js +27 -0
  10. package/dist/build-info.json +3 -3
  11. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  12. package/dist/capabilities/catalog.js +228 -0
  13. package/dist/cli/components-cli.js +105 -0
  14. package/dist/cli/hooks-cli.js +1 -1
  15. package/dist/cli/plugins-cli.js +3 -3
  16. package/dist/cli/program/register.subclis.js +9 -0
  17. package/dist/cli/update-cli/update-command.js +1 -1
  18. package/dist/commands/doctor-capabilities.js +26 -0
  19. package/dist/commands/doctor.js +2 -0
  20. package/dist/control-ui/assets/{app-DXYMrRJ9.js → app-JBrTSsNu.js} +1480 -1465
  21. package/dist/control-ui/assets/{index-iGQkJE0l.js → index-H-2DWAnH.js} +3 -3
  22. package/dist/control-ui/index.html +1 -1
  23. package/dist/gateway/method-scopes.js +1 -0
  24. package/dist/gateway/server-methods/plugins-marketplace.js +1 -1
  25. package/dist/gateway/server-methods/services.js +8 -0
  26. package/dist/gateway/server-methods-list.js +1 -0
  27. package/dist/infra/optional-runtime-dependency.js +46 -0
  28. package/dist/media/image-ops.js +6 -1
  29. package/dist/media/input-files.js +11 -2
  30. package/dist/media/mime.js +6 -1
  31. package/dist/memory/sqlite-vec.js +7 -1
  32. package/dist/plugin-sdk/{accounts-VqAX3HJ0.js → accounts-BwkH5bTD.js} +1 -1
  33. package/dist/plugin-sdk/{accounts-Zgt0NP54.js → accounts-RT6y7n3H.js} +1 -1
  34. package/dist/plugin-sdk/{actions-lB3PCwsz.js → actions-BrU_JMqM.js} +2 -2
  35. package/dist/plugin-sdk/{actions-BI5QViLk.js → actions-CUdVHzeJ.js} +2 -2
  36. package/dist/plugin-sdk/{active-listener-DKZiSaRA.js → active-listener-CE8t5g6l.js} +1 -1
  37. package/dist/plugin-sdk/{active-listener-D6_pdTMC.js → active-listener-Dx1SEGDn.js} +1 -1
  38. package/dist/plugin-sdk/{audio-preflight-Dx8J7XhV.js → audio-preflight-BPK8t0tI.js} +22 -22
  39. package/dist/plugin-sdk/{audio-preflight-CeRstduc.js → audio-preflight-kCa_KGRH.js} +22 -22
  40. package/dist/plugin-sdk/{audit-BImNOQvk.js → audit-DxB2Kml5.js} +11 -11
  41. package/dist/plugin-sdk/{audit-CKWkq0Un.js → audit-sSeRDwJb.js} +11 -11
  42. package/dist/plugin-sdk/channel-plugin-common.js +3 -2
  43. package/dist/plugin-sdk/{chunk-skAJZWCT.js → chunk-KCxbJLsV.js} +1 -1
  44. package/dist/plugin-sdk/{chunk-Cjw4712g.js → chunk-M2d7r-Zt.js} +1 -1
  45. package/dist/plugin-sdk/{chunk-items-Df5811D0.js → chunk-items-DGHUeFuI.js} +1 -1
  46. package/dist/plugin-sdk/command-status.js +22 -22
  47. package/dist/plugin-sdk/{commands-registry-5J619bQ2.js → commands-registry-CdT-nl7v.js} +2 -2
  48. package/dist/plugin-sdk/{commands-registry-CoLAT03J.js → commands-registry-DoWdYAJd.js} +2 -2
  49. package/dist/plugin-sdk/{common-CSTxewqY.js → common-Cpw-vuuM.js} +1 -1
  50. package/dist/plugin-sdk/{common-BiF0sTnY.js → common-DJWrErdE.js} +1 -1
  51. package/dist/plugin-sdk/{config-BxVjLTIv.js → config-C0qggNKQ.js} +7 -7
  52. package/dist/plugin-sdk/{config-TFokWwvO.js → config-CgwTaper.js} +45 -2
  53. package/dist/plugin-sdk/{config-DXlISPlx.js → config-DtqAN2L3.js} +45 -2
  54. package/dist/plugin-sdk/discord.js +2 -1
  55. package/dist/plugin-sdk/{fetch-guard-DPMynms8.js → fetch-guard-BLdujDnt.js} +1 -1
  56. package/dist/plugin-sdk/{fetch-guard-COLmW2TM.js → fetch-guard-DTKgMN9f.js} +1 -1
  57. package/dist/plugin-sdk/{handle-action-C-UndB8E.js → handle-action-B61D85yo.js} +12 -12
  58. package/dist/plugin-sdk/{handle-action-hhufKxmU.js → handle-action-CjcxGzQD.js} +12 -12
  59. package/dist/plugin-sdk/index.js +22 -22
  60. package/dist/plugin-sdk/{login-DL1oBBfL.js → login-CB_nCjX3.js} +3 -3
  61. package/dist/plugin-sdk/{login-Dnxas1dI.js → login-CzUuDd1v.js} +3 -3
  62. package/dist/plugin-sdk/{login-qr-CVQsGWKq.js → login-qr-D7MEpFza.js} +3 -3
  63. package/dist/plugin-sdk/{login-qr-B343JNXJ.js → login-qr-DgxfBFVN.js} +3 -3
  64. package/dist/plugin-sdk/{manager-BytwRIfK.js → manager-9see0IX5.js} +8 -3
  65. package/dist/plugin-sdk/{manager-BZjd_PCt.js → manager-D2kZ0Cps.js} +8 -3
  66. package/dist/plugin-sdk/{markdown-tables-krKiU4cT.js → markdown-tables-CCSD52rA.js} +1 -1
  67. package/dist/plugin-sdk/{markdown-tables-9rJDQ1X-.js → markdown-tables-DWUNvLrc.js} +1 -1
  68. package/dist/plugin-sdk/{media-D7ZkWU-A.js → media-C7YT4DeU.js} +13 -4
  69. package/dist/plugin-sdk/{media-C6C2c9a4.js → media-Cxw-xLGU.js} +13 -4
  70. package/dist/plugin-sdk/{monitor-BsLMfn3U.js → monitor-6lkdOqhQ.js} +26 -26
  71. package/dist/plugin-sdk/{monitor-BCxkQBoh.js → monitor-C6Ohw9BA.js} +26 -26
  72. package/dist/plugin-sdk/{monitor-BzDW50H6.js → monitor-o20KTHIi.js} +29 -29
  73. package/dist/plugin-sdk/{monitor-CVQNDfhs.js → monitor-rOs3mUol.js} +27 -27
  74. package/dist/plugin-sdk/{openresponses-http-BB67Z4QM.js → openresponses-http-BJONnUdy.js} +22 -22
  75. package/dist/plugin-sdk/{openresponses-http-NE76GGhj.js → openresponses-http-DkWqYznu.js} +22 -22
  76. package/dist/plugin-sdk/{ssrf-u0Ul7okY.js → optional-runtime-dependency-szS49voX.js} +46 -2
  77. package/dist/plugin-sdk/{outbound-PGNWU6T-.js → outbound-BCxOxdi-.js} +6 -6
  78. package/dist/plugin-sdk/{outbound-BHWJD9q0.js → outbound-JIwQbpRY.js} +6 -6
  79. package/dist/plugin-sdk/{outbound-attachment-BVzfhqnk.js → outbound-attachment-C-jSFaEB.js} +1 -1
  80. package/dist/plugin-sdk/{outbound-attachment-ClMvNW17.js → outbound-attachment-D6tj5Y5H.js} +1 -1
  81. package/dist/plugin-sdk/{pi-embedded-runner-DQ6UPx6-.js → pi-embedded-runner-DqDy0MWN.js} +72 -60
  82. package/dist/plugin-sdk/{pi-model-discovery-D51L5E9I.js → pi-model-discovery-DadlvsZW.js} +1 -1
  83. package/dist/plugin-sdk/{pi-model-discovery-runtime-DxoFm4Vd.js → pi-model-discovery-runtime-C5ssE6EW.js} +1 -1
  84. package/dist/plugin-sdk/{pi-model-discovery-runtime-DRuh4PNV.js → pi-model-discovery-runtime-DAaOPt64.js} +2 -2
  85. package/dist/plugin-sdk/{pi-model-discovery-runtime-BTWgkx4x.js → pi-model-discovery-runtime-gd77b0UF.js} +2 -2
  86. package/dist/plugin-sdk/{pi-model-discovery-CkH5l9X5.js → pi-model-discovery-yifTIDIn.js} +1 -1
  87. package/dist/plugin-sdk/{pw-ai-DZs6uYRd.js → pw-ai-Boor5vYw.js} +6 -5
  88. package/dist/plugin-sdk/{pw-ai-Cn-EUPZK.js → pw-ai-sH1Pi-Fh.js} +6 -5
  89. package/dist/plugin-sdk/{registry-B4HvWzob.js → registry-DNkJsNsz.js} +4 -3
  90. package/dist/plugin-sdk/{replies-jDMUBsNO.js → replies-fvzN5wnU.js} +2 -2
  91. package/dist/plugin-sdk/{replies-B_LW9c9f.js → replies-zebgZCHX.js} +2 -2
  92. package/dist/plugin-sdk/{resolve-route-_YZHbS-z.js → resolve-route-CNhTJG_2.js} +1 -1
  93. package/dist/plugin-sdk/{resolve-route-DlHzggnG.js → resolve-route-DO0WR4nB.js} +1 -1
  94. package/dist/plugin-sdk/{resolve-utils-zBhVX3Vx.js → resolve-utils-bixHYDBj.js} +1 -1
  95. package/dist/plugin-sdk/{retry-policy-DGLs5ebP.js → retry-policy-BLYEgIwP.js} +1 -1
  96. package/dist/plugin-sdk/{retry-policy-DaodShGa.js → retry-policy-sM01QZT2.js} +1 -1
  97. package/dist/plugin-sdk/{runtime-Dd0sswuW.js → runtime-BPyuAmka.js} +4 -3
  98. package/dist/plugin-sdk/{paths-CBCpJ5bu.js → runtime-dependency-Csswyv5r.js} +27 -3
  99. package/dist/plugin-sdk/{paths-DW-U2r7Y.js → runtime-dependency-Deg_sw2k.js} +36 -12
  100. package/dist/plugin-sdk/sat-runtime.js +1 -0
  101. package/dist/plugin-sdk/{send-8remZhsH.js → send-B09HRfHN.js} +6 -6
  102. package/dist/plugin-sdk/{send-DaaAscWj.js → send-BBYcgXA4.js} +5 -5
  103. package/dist/plugin-sdk/{send-DFTB0cnx.js → send-BQXQA81e.js} +6 -6
  104. package/dist/plugin-sdk/{send-CtMVvMJs.js → send-BzFdvD_i.js} +6 -6
  105. package/dist/plugin-sdk/{send-Di9irjS-.js → send-C3u-F_8s.js} +6 -6
  106. package/dist/plugin-sdk/{send-Dl88ZKq2.js → send-D3836_UN.js} +6 -6
  107. package/dist/plugin-sdk/{send-ifgZCHVB.js → send-D7tr-EsH.js} +5 -5
  108. package/dist/plugin-sdk/{send-DvUpYh0d.js → send-DRGzRdI3.js} +6 -6
  109. package/dist/plugin-sdk/{send-D2jlPeKH.js → send-DfkPKz_0.js} +4 -4
  110. package/dist/plugin-sdk/{send-QSt6nbny.js → send-DsxFXrCO.js} +4 -4
  111. package/dist/plugin-sdk/{session-CknrceVU.js → session-DG_bYisw.js} +2 -2
  112. package/dist/plugin-sdk/{session-CyRTcJ8N.js → session-EIStzK0E.js} +2 -2
  113. package/dist/plugin-sdk/{skill-commands-DHxkTA0s.js → skill-commands-CkgGmWBS.js} +2 -2
  114. package/dist/plugin-sdk/{skill-commands-CLXAG5sU.js → skill-commands-hyZA0LE3.js} +2 -2
  115. package/dist/plugin-sdk/{slack-Br9c6Yzs.js → slack-BErIh0uj.js} +34 -34
  116. package/dist/plugin-sdk/{slack-BpJXkwxF.js → slack-CGTAN4UD.js} +34 -34
  117. package/dist/plugin-sdk/{slack-actions-8tLGt1Ht.js → slack-actions-BQawWGTJ.js} +11 -11
  118. package/dist/plugin-sdk/{slack-actions-CDSSRo8Y.js → slack-actions-DDMszx56.js} +11 -11
  119. package/dist/plugin-sdk/slack.js +2 -1
  120. package/dist/plugin-sdk/src/brand.d.ts +2 -2
  121. package/dist/plugin-sdk/src/browser/runtime-dependency.d.ts +3 -0
  122. package/dist/plugin-sdk/src/infra/optional-runtime-dependency.d.ts +6 -0
  123. package/dist/plugin-sdk/{ssrf-fG4UHKBw.js → ssrf-Cce6LubA.js} +41 -7
  124. package/dist/plugin-sdk/{status-DoxnzyMC.js → status-CCGFb0f2.js} +76 -64
  125. package/dist/plugin-sdk/{sticker-cache-zmJ39ByC.js → sticker-cache-CKAkkCoU.js} +3 -3
  126. package/dist/plugin-sdk/{sticker-cache-D7WcMYsF.js → sticker-cache-wxl1Me2i.js} +3 -3
  127. package/dist/plugin-sdk/{tables-CkxblF0u.js → tables-BD7H5ug-.js} +1 -1
  128. package/dist/plugin-sdk/{tables-RBtf8G4P.js → tables-CJE8kB35.js} +1 -1
  129. package/dist/plugin-sdk/{telegram-actions-DAeYXSLk.js → telegram-actions-BRUNEXMr.js} +25 -25
  130. package/dist/plugin-sdk/{telegram-actions-BDeS3ocd.js → telegram-actions-r86ntIKR.js} +25 -25
  131. package/dist/plugin-sdk/telegram.js +2 -1
  132. package/dist/plugin-sdk/{thread-bindings.lifecycle-DsB94WbE.js → thread-bindings.lifecycle-Djem8FWF.js} +2 -2
  133. package/dist/plugin-sdk/{thread-bindings.lifecycle-DMhV3TsR.js → thread-bindings.lifecycle-gmHv3hc7.js} +2 -2
  134. package/dist/plugin-sdk/{thread-bindings.state-DYWpy7hJ.js → thread-bindings.state-CNT2vxm3.js} +2 -2
  135. package/dist/plugin-sdk/{thread-bindings.state-DG5cBaRn.js → thread-bindings.state-D8kN2X6H.js} +2 -2
  136. package/dist/plugin-sdk/{web-DJwacWQo.js → web-02I0vmdu.js} +26 -26
  137. package/dist/plugin-sdk/{web-IJ4NoGPJ.js → web-CXz56wyu.js} +26 -26
  138. package/dist/plugin-sdk/{whatsapp-actions-DAY8hWpD.js → whatsapp-actions-68Mfs2dJ.js} +12 -12
  139. package/dist/plugin-sdk/{whatsapp-actions-6opfo-oB.js → whatsapp-actions-DRqtzvTO.js} +12 -12
  140. package/dist/plugin-sdk/whatsapp.js +2 -1
  141. package/dist/plugin-sdk/{wsl-B2euLEc2.js → wsl-DcM2PgSS.js} +3 -3
  142. package/dist/plugin-sdk/{wsl-B8eyviuv.js → wsl-PXrdWitE.js} +3 -3
  143. package/dist/plugins/update.js +1 -1
  144. package/dist/tts/tts-core.js +6 -1
  145. package/dist/wizard/onboarding.finalize.js +9 -0
  146. package/extensions/acpx/package.json +1 -1
  147. package/extensions/bluebubbles/package.json +1 -1
  148. package/extensions/copilot-proxy/package.json +1 -1
  149. package/extensions/diagnostics-otel/package.json +1 -1
  150. package/extensions/fased-federation/package.json +1 -1
  151. package/extensions/google-gemini-cli-auth/package.json +1 -1
  152. package/extensions/imessage/package.json +1 -1
  153. package/extensions/irc/package.json +1 -1
  154. package/extensions/line/package.json +1 -1
  155. package/extensions/llm-task/package.json +1 -1
  156. package/extensions/lobster/package.json +1 -1
  157. package/extensions/matrix/CHANGELOG.md +12 -0
  158. package/extensions/matrix/package.json +1 -1
  159. package/extensions/mattermost/package.json +1 -1
  160. package/extensions/memory-core/package.json +2 -2
  161. package/extensions/memory-lancedb/package.json +1 -1
  162. package/extensions/minimax-portal-auth/package.json +1 -1
  163. package/extensions/msteams/CHANGELOG.md +12 -0
  164. package/extensions/msteams/package.json +1 -1
  165. package/extensions/nextcloud-talk/package.json +1 -1
  166. package/extensions/nostr/CHANGELOG.md +12 -0
  167. package/extensions/nostr/package.json +1 -1
  168. package/extensions/open-prose/package.json +1 -1
  169. package/extensions/sat-mining/package.json +1 -1
  170. package/extensions/signal/package.json +1 -1
  171. package/extensions/synology-chat/package.json +1 -1
  172. package/extensions/tlon/package.json +1 -1
  173. package/extensions/twitch/CHANGELOG.md +12 -0
  174. package/extensions/twitch/package.json +1 -1
  175. package/extensions/voice-call/CHANGELOG.md +12 -0
  176. package/extensions/voice-call/package.json +1 -1
  177. package/extensions/zalo/CHANGELOG.md +12 -0
  178. package/extensions/zalo/package.json +1 -1
  179. package/extensions/zalouser/CHANGELOG.md +12 -0
  180. package/extensions/zalouser/package.json +1 -1
  181. package/package.json +22 -15
  182. package/extensions/feishu/fased.plugin.json +0 -10
  183. package/extensions/feishu/index.ts +0 -63
  184. package/extensions/feishu/package.json +0 -33
  185. package/extensions/feishu/skills/feishu-doc/SKILL.md +0 -211
  186. package/extensions/feishu/skills/feishu-doc/references/block-types.md +0 -103
  187. package/extensions/feishu/skills/feishu-drive/SKILL.md +0 -97
  188. package/extensions/feishu/skills/feishu-perm/SKILL.md +0 -119
  189. package/extensions/feishu/skills/feishu-wiki/SKILL.md +0 -111
  190. package/extensions/feishu/src/accounts.ts +0 -159
  191. package/extensions/feishu/src/bitable.ts +0 -713
  192. package/extensions/feishu/src/bot.ts +0 -979
  193. package/extensions/feishu/src/channel.ts +0 -359
  194. package/extensions/feishu/src/client.ts +0 -118
  195. package/extensions/feishu/src/config-schema.ts +0 -226
  196. package/extensions/feishu/src/dedup.ts +0 -54
  197. package/extensions/feishu/src/directory.ts +0 -177
  198. package/extensions/feishu/src/doc-schema.ts +0 -122
  199. package/extensions/feishu/src/docx.ts +0 -998
  200. package/extensions/feishu/src/drive-schema.ts +0 -46
  201. package/extensions/feishu/src/drive.ts +0 -232
  202. package/extensions/feishu/src/dynamic-agent.ts +0 -131
  203. package/extensions/feishu/src/external-keys.ts +0 -19
  204. package/extensions/feishu/src/media.ts +0 -447
  205. package/extensions/feishu/src/mention.ts +0 -133
  206. package/extensions/feishu/src/monitor.ts +0 -434
  207. package/extensions/feishu/src/onboarding.ts +0 -430
  208. package/extensions/feishu/src/outbound.ts +0 -56
  209. package/extensions/feishu/src/perm-schema.ts +0 -52
  210. package/extensions/feishu/src/perm.ts +0 -180
  211. package/extensions/feishu/src/policy.ts +0 -116
  212. package/extensions/feishu/src/probe.ts +0 -44
  213. package/extensions/feishu/src/reactions.ts +0 -160
  214. package/extensions/feishu/src/reply-dispatcher.ts +0 -239
  215. package/extensions/feishu/src/runtime.ts +0 -14
  216. package/extensions/feishu/src/send-result.ts +0 -29
  217. package/extensions/feishu/src/send-target.ts +0 -25
  218. package/extensions/feishu/src/send.ts +0 -313
  219. package/extensions/feishu/src/streaming-card.ts +0 -218
  220. package/extensions/feishu/src/targets.ts +0 -78
  221. package/extensions/feishu/src/tool-account.ts +0 -58
  222. package/extensions/feishu/src/tools-config.ts +0 -21
  223. package/extensions/feishu/src/types.ts +0 -81
  224. package/extensions/feishu/src/typing.ts +0 -80
  225. package/extensions/feishu/src/wiki-schema.ts +0 -55
  226. package/extensions/feishu/src/wiki.ts +0 -237
  227. package/extensions/googlechat/fased.plugin.json +0 -9
  228. package/extensions/googlechat/index.ts +0 -19
  229. package/extensions/googlechat/package.json +0 -37
  230. package/extensions/googlechat/src/accounts.ts +0 -147
  231. package/extensions/googlechat/src/actions.ts +0 -176
  232. package/extensions/googlechat/src/api.ts +0 -282
  233. package/extensions/googlechat/src/auth.ts +0 -137
  234. package/extensions/googlechat/src/channel.ts +0 -591
  235. package/extensions/googlechat/src/monitor.ts +0 -996
  236. package/extensions/googlechat/src/onboarding.ts +0 -344
  237. package/extensions/googlechat/src/runtime.ts +0 -14
  238. package/extensions/googlechat/src/targets.ts +0 -65
  239. package/extensions/googlechat/src/types.config.ts +0 -3
  240. package/extensions/googlechat/src/types.ts +0 -73
@@ -1,54 +1,54 @@
1
- import { $n as resolveTelegramInlineButtonsScope, Qn as resolveTelegramReactionLevel } from "./pi-embedded-runner-DQ6UPx6-.js";
2
- import { Ot as resolveTelegramToken, wt as createTelegramActionGate } from "./runtime-Dd0sswuW.js";
1
+ import { $n as resolveTelegramInlineButtonsScope, Qn as resolveTelegramReactionLevel } from "./pi-embedded-runner-DqDy0MWN.js";
2
+ import { Ot as resolveTelegramToken, wt as createTelegramActionGate } from "./runtime-BPyuAmka.js";
3
3
  import "./subsystem-DBPNbQDQ.js";
4
4
  import "./globals-B_jjtAje.js";
5
5
  import "./paths-BEmvSyOV.js";
6
6
  import "./utils-CYk9EKoq.js";
7
- import "./config-DXlISPlx.js";
7
+ import "./config-DtqAN2L3.js";
8
8
  import "./agent-scope-kIJqg5PA.js";
9
9
  import "./accounts-D7_p-Ivb.js";
10
10
  import "./accounts-DTdM1xcj.js";
11
- import "./accounts-Zgt0NP54.js";
11
+ import "./accounts-RT6y7n3H.js";
12
12
  import "./tokens-CQRTq-NN.js";
13
13
  import "./allow-list-C9N6FKeC.js";
14
14
  import "./redact-CwCz68Mi.js";
15
15
  import "./github-copilot-token-Dgug856m.js";
16
16
  import "./retry-DycQ4ymF.js";
17
17
  import "./paths-B88DQEK8.js";
18
- import "./ssrf-fG4UHKBw.js";
19
- import "./fetch-guard-COLmW2TM.js";
20
- import "./send-DvUpYh0d.js";
21
- import { L as resolveTelegramTargetChatType } from "./wsl-B8eyviuv.js";
22
- import "./chunk-Cjw4712g.js";
18
+ import "./optional-runtime-dependency-szS49voX.js";
19
+ import "./fetch-guard-DTKgMN9f.js";
20
+ import "./send-DRGzRdI3.js";
21
+ import { L as resolveTelegramTargetChatType } from "./wsl-PXrdWitE.js";
22
+ import "./chunk-M2d7r-Zt.js";
23
23
  import "./reply-prefix-DqlCqHXT.js";
24
- import "./skill-commands-DHxkTA0s.js";
24
+ import "./skill-commands-CkgGmWBS.js";
25
25
  import "./diagnostic-CuhHqubd.js";
26
26
  import "./diagnostic-session-state-Zw87xFym.js";
27
- import "./media-C6C2c9a4.js";
28
- import "./pi-model-discovery-CkH5l9X5.js";
29
- import "./paths-CBCpJ5bu.js";
27
+ import "./media-Cxw-xLGU.js";
28
+ import "./pi-model-discovery-yifTIDIn.js";
29
+ import "./runtime-dependency-Csswyv5r.js";
30
30
  import "./path-alias-guards-CcQroDXQ.js";
31
31
  import "./fs-safe-BPYS6-j1.js";
32
- import "./markdown-tables-krKiU4cT.js";
33
- import "./send-ifgZCHVB.js";
34
- import "./outbound-attachment-BVzfhqnk.js";
32
+ import "./markdown-tables-CCSD52rA.js";
33
+ import "./send-D7tr-EsH.js";
34
+ import "./outbound-attachment-C-jSFaEB.js";
35
35
  import "./fetch-D70syO9t.js";
36
- import "./thread-bindings.state-DYWpy7hJ.js";
36
+ import "./thread-bindings.state-CNT2vxm3.js";
37
37
  import "./memory-search-J6AYuENR.js";
38
- import "./manager-BZjd_PCt.js";
38
+ import "./manager-D2kZ0Cps.js";
39
39
  import "./query-expansion-VePrajug.js";
40
- import { a as jsonResult, c as readReactionParams, d as readStringParam, s as readNumberParam, u as readStringOrNumberParam } from "./common-CSTxewqY.js";
41
- import "./commands-registry-5J619bQ2.js";
40
+ import { a as jsonResult, c as readReactionParams, d as readStringParam, s as readNumberParam, u as readStringOrNumberParam } from "./common-Cpw-vuuM.js";
41
+ import "./commands-registry-CdT-nl7v.js";
42
42
  import "./directory-live-BxSH0XXX.js";
43
43
  import "./targets-cA134MEE.js";
44
44
  import "./sandbox-paths-CkTERCrj.js";
45
- import "./resolve-route-_YZHbS-z.js";
45
+ import "./resolve-route-CNhTJG_2.js";
46
46
  import "./render-C9LkRUhd.js";
47
- import "./tables-CkxblF0u.js";
48
- import { a as reactMessageTelegram, i as editMessageTelegram, n as createForumTopicTelegram, o as sendMessageTelegram, r as deleteMessageTelegram, s as sendStickerTelegram } from "./send-CtMVvMJs.js";
49
- import "./retry-policy-DaodShGa.js";
47
+ import "./tables-CJE8kB35.js";
48
+ import { a as reactMessageTelegram, i as editMessageTelegram, n as createForumTopicTelegram, o as sendMessageTelegram, r as deleteMessageTelegram, s as sendStickerTelegram } from "./send-BzFdvD_i.js";
49
+ import "./retry-policy-sM01QZT2.js";
50
50
  import "./proxy-CKQOQYAl.js";
51
- import { a as searchStickers, r as getCacheStats } from "./sticker-cache-D7WcMYsF.js";
51
+ import { a as searchStickers, r as getCacheStats } from "./sticker-cache-wxl1Me2i.js";
52
52
 
53
53
  //#region src/agents/tools/telegram-actions.ts
54
54
  const TELEGRAM_BUTTON_STYLES = [
@@ -1,4 +1,5 @@
1
1
  import { C as resolveRequiredHomeDir, S as expandHomePrefix, _ as isRecord, a as resolveImplicitCopilotProvider, b as createSubsystemLogger, c as resolveFasedAgentDir, d as resolveDefaultAgentId, f as isTruthyEnvValue, g as formatTerminalLink, h as normalizeAccountId, i as normalizeProviders, l as resolveProcessScopedMap, m as DEFAULT_ACCOUNT_ID, n as TelegramConfigSchema, o as resolveImplicitProviders, p as normalizeAgentId, t as loadConfig, u as formatCliCommand, v as normalizeE164, w as normalizeChatChannelId, x as resolveOAuthDir, y as resolveUserPath } from "./config-B6SjJFp-.js";
2
+ import { createRequire } from "node:module";
2
3
  import path from "node:path";
3
4
  import fs from "node:fs";
4
5
  import os from "node:os";
@@ -6,7 +7,6 @@ import util from "node:util";
6
7
  import fs$1 from "node:fs/promises";
7
8
  import crypto from "node:crypto";
8
9
  import "@mariozechner/pi-coding-agent";
9
- import "file-type";
10
10
 
11
11
  //#region src/plugins/config-schema.ts
12
12
  function error(message) {
@@ -102,6 +102,7 @@ const METHOD_SCOPE_GROUPS = {
102
102
  "commands.list",
103
103
  "tools.catalog",
104
104
  "tools.effective",
105
+ "services.capabilities",
105
106
  "services.webSearch.providers",
106
107
  "services.webSearch.test",
107
108
  "tasks.list",
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { i as logVerbose } from "./globals-BtKmaIS3.js";
3
3
  import { l as resolveAgentIdFromSessionKey, p as normalizeAccountId } from "./session-key-Bp3qq3bm.js";
4
- import { A as DEFAULT_THREAD_BINDING_MAX_AGE_MS, C as resolveThreadBindingMaxAgeMs, D as shouldPersistBindingMutations, E as shouldDefaultPersist, H as unregisterSessionBindingAdapter, I as resolveThreadBindingThreadName, L as SYSTEM_MARK, M as THREAD_BINDINGS_SWEEP_INTERVAL_MS, O as toReusableWebhookKey, P as resolveThreadBindingFarewellText, S as resolveThreadBindingMaxAgeExpiresAt, T as setBindingRecord, V as registerSessionBindingAdapter, W as readAcpSessionEntry, _ as removeBindingRecord, a as THREAD_BINDING_TOUCH_PERSIST_MIN_INTERVAL_MS, b as resolveThreadBindingIdleTimeoutMs, d as normalizeTargetKind, f as normalizeThreadBindingDurationMs, g as rememberThreadBindingToken, h as rememberReusableWebhook, i as REUSABLE_WEBHOOKS_BY_ACCOUNT_CHANNEL, j as DISCORD_UNKNOWN_CHANNEL_ERROR_CODE, k as DEFAULT_THREAD_BINDING_IDLE_TIMEOUT_MS, l as getThreadBindingToken, m as rememberRecentUnboundWebhookEcho, n as MANAGERS_BY_ACCOUNT_ID, o as ensureBindingsLoaded, p as normalizeThreadId, r as PERSIST_BY_ACCOUNT_ID, s as forgetThreadBindingToken, t as BINDINGS_BY_THREAD_ID, v as resolveBindingIdsForSession, w as saveBindingsToDisk, x as resolveThreadBindingInactivityExpiresAt, y as resolveBindingRecordKey } from "./thread-bindings.state-DG5cBaRn.js";
5
- import { b as sendWebhookMessageDiscord, g as sendMessageDiscord, nt as createDiscordRestClient, x as createThreadDiscord } from "./send-Di9irjS-.js";
4
+ import { A as DEFAULT_THREAD_BINDING_MAX_AGE_MS, C as resolveThreadBindingMaxAgeMs, D as shouldPersistBindingMutations, E as shouldDefaultPersist, H as unregisterSessionBindingAdapter, I as resolveThreadBindingThreadName, L as SYSTEM_MARK, M as THREAD_BINDINGS_SWEEP_INTERVAL_MS, O as toReusableWebhookKey, P as resolveThreadBindingFarewellText, S as resolveThreadBindingMaxAgeExpiresAt, T as setBindingRecord, V as registerSessionBindingAdapter, W as readAcpSessionEntry, _ as removeBindingRecord, a as THREAD_BINDING_TOUCH_PERSIST_MIN_INTERVAL_MS, b as resolveThreadBindingIdleTimeoutMs, d as normalizeTargetKind, f as normalizeThreadBindingDurationMs, g as rememberThreadBindingToken, h as rememberReusableWebhook, i as REUSABLE_WEBHOOKS_BY_ACCOUNT_CHANNEL, j as DISCORD_UNKNOWN_CHANNEL_ERROR_CODE, k as DEFAULT_THREAD_BINDING_IDLE_TIMEOUT_MS, l as getThreadBindingToken, m as rememberRecentUnboundWebhookEcho, n as MANAGERS_BY_ACCOUNT_ID, o as ensureBindingsLoaded, p as normalizeThreadId, r as PERSIST_BY_ACCOUNT_ID, s as forgetThreadBindingToken, t as BINDINGS_BY_THREAD_ID, v as resolveBindingIdsForSession, w as saveBindingsToDisk, x as resolveThreadBindingInactivityExpiresAt, y as resolveBindingRecordKey } from "./thread-bindings.state-D8kN2X6H.js";
5
+ import { b as sendWebhookMessageDiscord, g as sendMessageDiscord, nt as createDiscordRestClient, x as createThreadDiscord } from "./send-C3u-F_8s.js";
6
6
  import { ChannelType, Routes } from "discord-api-types/v10";
7
7
 
8
8
  //#region src/discord/monitor/thread-bindings.persona.ts
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { i as logVerbose } from "./globals-B_jjtAje.js";
3
3
  import { l as resolveAgentIdFromSessionKey, p as normalizeAccountId } from "./session-key-HSJ2KQTc.js";
4
- import { A as DEFAULT_THREAD_BINDING_MAX_AGE_MS, C as resolveThreadBindingMaxAgeMs, D as shouldPersistBindingMutations, E as shouldDefaultPersist, H as unregisterSessionBindingAdapter, I as resolveThreadBindingThreadName, L as SYSTEM_MARK, M as THREAD_BINDINGS_SWEEP_INTERVAL_MS, O as toReusableWebhookKey, P as resolveThreadBindingFarewellText, S as resolveThreadBindingMaxAgeExpiresAt, T as setBindingRecord, V as registerSessionBindingAdapter, W as readAcpSessionEntry, _ as removeBindingRecord, a as THREAD_BINDING_TOUCH_PERSIST_MIN_INTERVAL_MS, b as resolveThreadBindingIdleTimeoutMs, d as normalizeTargetKind, f as normalizeThreadBindingDurationMs, g as rememberThreadBindingToken, h as rememberReusableWebhook, i as REUSABLE_WEBHOOKS_BY_ACCOUNT_CHANNEL, j as DISCORD_UNKNOWN_CHANNEL_ERROR_CODE, k as DEFAULT_THREAD_BINDING_IDLE_TIMEOUT_MS, l as getThreadBindingToken, m as rememberRecentUnboundWebhookEcho, n as MANAGERS_BY_ACCOUNT_ID, o as ensureBindingsLoaded, p as normalizeThreadId, r as PERSIST_BY_ACCOUNT_ID, s as forgetThreadBindingToken, t as BINDINGS_BY_THREAD_ID, v as resolveBindingIdsForSession, w as saveBindingsToDisk, x as resolveThreadBindingInactivityExpiresAt, y as resolveBindingRecordKey } from "./thread-bindings.state-DYWpy7hJ.js";
5
- import { b as sendWebhookMessageDiscord, g as sendMessageDiscord, nt as createDiscordRestClient, x as createThreadDiscord } from "./send-DFTB0cnx.js";
4
+ import { A as DEFAULT_THREAD_BINDING_MAX_AGE_MS, C as resolveThreadBindingMaxAgeMs, D as shouldPersistBindingMutations, E as shouldDefaultPersist, H as unregisterSessionBindingAdapter, I as resolveThreadBindingThreadName, L as SYSTEM_MARK, M as THREAD_BINDINGS_SWEEP_INTERVAL_MS, O as toReusableWebhookKey, P as resolveThreadBindingFarewellText, S as resolveThreadBindingMaxAgeExpiresAt, T as setBindingRecord, V as registerSessionBindingAdapter, W as readAcpSessionEntry, _ as removeBindingRecord, a as THREAD_BINDING_TOUCH_PERSIST_MIN_INTERVAL_MS, b as resolveThreadBindingIdleTimeoutMs, d as normalizeTargetKind, f as normalizeThreadBindingDurationMs, g as rememberThreadBindingToken, h as rememberReusableWebhook, i as REUSABLE_WEBHOOKS_BY_ACCOUNT_CHANNEL, j as DISCORD_UNKNOWN_CHANNEL_ERROR_CODE, k as DEFAULT_THREAD_BINDING_IDLE_TIMEOUT_MS, l as getThreadBindingToken, m as rememberRecentUnboundWebhookEcho, n as MANAGERS_BY_ACCOUNT_ID, o as ensureBindingsLoaded, p as normalizeThreadId, r as PERSIST_BY_ACCOUNT_ID, s as forgetThreadBindingToken, t as BINDINGS_BY_THREAD_ID, v as resolveBindingIdsForSession, w as saveBindingsToDisk, x as resolveThreadBindingInactivityExpiresAt, y as resolveBindingRecordKey } from "./thread-bindings.state-CNT2vxm3.js";
5
+ import { b as sendWebhookMessageDiscord, g as sendMessageDiscord, nt as createDiscordRestClient, x as createThreadDiscord } from "./send-BQXQA81e.js";
6
6
  import { ChannelType, Routes } from "discord-api-types/v10";
7
7
 
8
8
  //#region src/discord/monitor/thread-bindings.persona.ts
@@ -1,6 +1,6 @@
1
- import { $ as mergeSessionEntry, T as updateSessionStore, x as loadSessionStore } from "./runtime-Dd0sswuW.js";
1
+ import { $ as mergeSessionEntry, T as updateSessionStore, x as loadSessionStore } from "./runtime-BPyuAmka.js";
2
2
  import { s as resolveStateDir } from "./paths-BEmvSyOV.js";
3
- import { n as loadConfig } from "./config-DXlISPlx.js";
3
+ import { n as loadConfig } from "./config-DtqAN2L3.js";
4
4
  import { S as parseAgentSessionKey, l as resolveAgentIdFromSessionKey, p as normalizeAccountId } from "./session-key-HSJ2KQTc.js";
5
5
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-Dgug856m.js";
6
6
  import { l as resolveStorePath } from "./paths-B88DQEK8.js";
@@ -1,8 +1,8 @@
1
- import { n as loadConfig } from "./config-TFokWwvO.js";
1
+ import { n as loadConfig } from "./config-CgwTaper.js";
2
2
  import { s as resolveStateDir } from "./paths-GdhK5mV_.js";
3
3
  import { S as parseAgentSessionKey, l as resolveAgentIdFromSessionKey, p as normalizeAccountId } from "./session-key-Bp3qq3bm.js";
4
4
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-Djqpy66R.js";
5
- import { C as updateSessionStore, Z as mergeSessionEntry, y as loadSessionStore } from "./registry-B4HvWzob.js";
5
+ import { C as updateSessionStore, Z as mergeSessionEntry, y as loadSessionStore } from "./registry-DNkJsNsz.js";
6
6
  import { l as resolveStorePath } from "./paths-DTurNPnO.js";
7
7
  import fs from "node:fs";
8
8
  import path from "node:path";
@@ -1,4 +1,4 @@
1
- import { Tn as formatCliCommand, n as loadConfig } from "./config-TFokWwvO.js";
1
+ import { Tn as formatCliCommand, n as loadConfig } from "./config-CgwTaper.js";
2
2
  import "./paths-GdhK5mV_.js";
3
3
  import { i as logVerbose, p as getChildLogger, s as shouldLogVerbose } from "./globals-BtKmaIS3.js";
4
4
  import { d as normalizeE164, l as isSelfChatMode, m as resolveJidToE164, n as clamp, u as jidToE164, x as toWhatsappJid, y as sleep } from "./utils-LGKVujSU.js";
@@ -8,52 +8,52 @@ import "./redact-Ck-wgswc.js";
8
8
  import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-Bp3qq3bm.js";
9
9
  import "./github-copilot-token-Djqpy66R.js";
10
10
  import "./retry-Cq65ROXv.js";
11
- import { Ct as resolveChannelGroupPolicy, Et as resolveGroupSessionKey, S as updateLastRoute, b as readSessionUpdatedAt, wt as resolveChannelGroupRequireMention, x as recordSessionMetaFromInbound, y as loadSessionStore } from "./registry-B4HvWzob.js";
11
+ import { Ct as resolveChannelGroupPolicy, Et as resolveGroupSessionKey, S as updateLastRoute, b as readSessionUpdatedAt, wt as resolveChannelGroupRequireMention, x as recordSessionMetaFromInbound, y as loadSessionStore } from "./registry-DNkJsNsz.js";
12
12
  import "./accounts-BJFheJNv.js";
13
13
  import "./accounts-BRbbLNW_.js";
14
- import { a as logWebSelfId, c as pickWebChannel, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, r as WA_WEB_AUTH_DIR, u as readWebSelfId } from "./accounts-VqAX3HJ0.js";
14
+ import { a as logWebSelfId, c as pickWebChannel, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, r as WA_WEB_AUTH_DIR, u as readWebSelfId } from "./accounts-BwkH5bTD.js";
15
15
  import "./tokens-BK5rrwBB.js";
16
16
  import "./allow-list-CBtbuDI8.js";
17
17
  import { l as resolveStorePath } from "./paths-DTurNPnO.js";
18
- import { A as buildHistoryContextFromEntries, B as dispatchReplyWithBufferedBlockDispatcher, C as computeBackoff, D as resolveOpenProviderRuntimeGroupPolicy, Dt as buildMentionRegexes, E as resolveDefaultGroupPolicy, Ft as normalizeGroupActivation, G as formatInboundEnvelope, It as parseActivationCommand, Jt as formatDurationPrecise, K as resolveEnvelopeFormatOptions, N as recordPendingHistoryEntryIfEnabled, O as warnMissingProviderGroupPolicyFallbackOnce, S as buildPairingReply, Tt as shouldComputeCommandAuthorized, U as createInboundDebouncer, W as resolveInboundDebounceMs, Xt as enqueueSystemEvent, Y as createDedupeCache, Z as getReplyFromConfig, _ as resolveDmGroupAccessWithCommandGate, g as readStoreAllowFromForDmPolicy, jt as registerUnhandledRejectionHandler, k as DEFAULT_GROUP_HISTORY_LIMIT, kt as normalizeMentionText, p as resolveMentionGating, v as resolveDmGroupAccessWithLists, w as sleepWithAbort, wt as hasControlCommand, z as shouldAckReactionForWhatsApp } from "./status-DoxnzyMC.js";
19
- import "./paths-DW-U2r7Y.js";
20
- import "./ssrf-u0Ul7okY.js";
21
- import "./skill-commands-CLXAG5sU.js";
22
- import "./pi-model-discovery-D51L5E9I.js";
18
+ import { A as buildHistoryContextFromEntries, B as dispatchReplyWithBufferedBlockDispatcher, C as computeBackoff, D as resolveOpenProviderRuntimeGroupPolicy, Dt as buildMentionRegexes, E as resolveDefaultGroupPolicy, Ft as normalizeGroupActivation, G as formatInboundEnvelope, It as parseActivationCommand, Jt as formatDurationPrecise, K as resolveEnvelopeFormatOptions, N as recordPendingHistoryEntryIfEnabled, O as warnMissingProviderGroupPolicyFallbackOnce, S as buildPairingReply, Tt as shouldComputeCommandAuthorized, U as createInboundDebouncer, W as resolveInboundDebounceMs, Xt as enqueueSystemEvent, Y as createDedupeCache, Z as getReplyFromConfig, _ as resolveDmGroupAccessWithCommandGate, g as readStoreAllowFromForDmPolicy, jt as registerUnhandledRejectionHandler, k as DEFAULT_GROUP_HISTORY_LIMIT, kt as normalizeMentionText, p as resolveMentionGating, v as resolveDmGroupAccessWithLists, w as sleepWithAbort, wt as hasControlCommand, z as shouldAckReactionForWhatsApp } from "./status-CCGFb0f2.js";
19
+ import "./runtime-dependency-Deg_sw2k.js";
20
+ import "./ssrf-Cce6LubA.js";
21
+ import "./skill-commands-hyZA0LE3.js";
22
+ import "./pi-model-discovery-DadlvsZW.js";
23
23
  import { n as redactSensitiveUrlLikeString } from "./redact-sensitive-url-DK8OUExz.js";
24
24
  import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createReplyPrefixOptions } from "./reply-prefix-Y14LY6Rn.js";
25
- import { m as getAgentScopedMediaLocalRoots, n as loadWebMedia } from "./media-D7ZkWU-A.js";
25
+ import { m as getAgentScopedMediaLocalRoots, n as loadWebMedia } from "./media-C7YT4DeU.js";
26
26
  import "./path-alias-guards-C76pC928.js";
27
27
  import "./fs-safe-BDnJzutp.js";
28
28
  import "./diagnostic-DpyvOvs2.js";
29
- import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-skAJZWCT.js";
30
- import { n as resolveMarkdownTableMode } from "./markdown-tables-9rJDQ1X-.js";
31
- import "./send-DaaAscWj.js";
32
- import "./fetch-guard-DPMynms8.js";
33
- import { i as saveMediaBuffer } from "./outbound-attachment-ClMvNW17.js";
29
+ import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-KCxbJLsV.js";
30
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-DWUNvLrc.js";
31
+ import "./send-BBYcgXA4.js";
32
+ import "./fetch-guard-BLdujDnt.js";
33
+ import { i as saveMediaBuffer } from "./outbound-attachment-D6tj5Y5H.js";
34
34
  import "./fetch-xfeOsibm.js";
35
- import "./common-BiF0sTnY.js";
36
- import "./commands-registry-CoLAT03J.js";
37
- import "./thread-bindings.state-DG5cBaRn.js";
35
+ import "./common-DJWrErdE.js";
36
+ import "./commands-registry-DoWdYAJd.js";
37
+ import "./thread-bindings.state-D8kN2X6H.js";
38
38
  import "./memory-search-B-0Fwnrp.js";
39
- import "./manager-BytwRIfK.js";
39
+ import "./manager-9see0IX5.js";
40
40
  import "./query-expansion-DjJAUtDU.js";
41
41
  import "./diagnostic-session-state-CT36_PCE.js";
42
42
  import { t as redactIdentifier } from "./redact-identifier-BAD7jXcr.js";
43
- import { B as formatLocationText, F as upsertChannelPairingRequest, V as toLocationContext } from "./wsl-B2euLEc2.js";
43
+ import { B as formatLocationText, F as upsertChannelPairingRequest, V as toLocationContext } from "./wsl-DcM2PgSS.js";
44
44
  import "./sandbox-paths-DMnFyOaA.js";
45
45
  import "./directory-live-8umGGN7a.js";
46
46
  import "./targets-t1hbjHdJ.js";
47
- import "./send-Dl88ZKq2.js";
48
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-DlHzggnG.js";
47
+ import "./send-D3836_UN.js";
48
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-DO0WR4nB.js";
49
49
  import { t as finalizeInboundContext } from "./inbound-context-CeJDjLk-.js";
50
50
  import "./render-C9LkRUhd.js";
51
- import { t as convertMarkdownTables } from "./tables-RBtf8G4P.js";
51
+ import { t as convertMarkdownTables } from "./tables-BD7H5ug-.js";
52
52
  import { n as recordChannelActivity } from "./channel-activity-Cf5sKkfd.js";
53
- import { r as setActiveWebListener } from "./active-listener-D6_pdTMC.js";
54
- import { i as markdownToWhatsApp, n as sendMessageWhatsApp, r as sendReactionWhatsApp } from "./outbound-BHWJD9q0.js";
55
- import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-CyRTcJ8N.js";
56
- import { t as loginWeb } from "./login-Dnxas1dI.js";
53
+ import { r as setActiveWebListener } from "./active-listener-Dx1SEGDn.js";
54
+ import { i as markdownToWhatsApp, n as sendMessageWhatsApp, r as sendReactionWhatsApp } from "./outbound-JIwQbpRY.js";
55
+ import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-EIStzK0E.js";
56
+ import { t as loginWeb } from "./login-CzUuDd1v.js";
57
57
  import { randomUUID } from "node:crypto";
58
58
  import { DisconnectReason, downloadMediaMessage, extractMessageContent, getContentType, isJidGroup, normalizeMessageContent } from "@whiskeysockets/baileys";
59
59
 
@@ -1,59 +1,59 @@
1
- import { C as buildPairingReply, Ct as enqueueSystemEvent, D as buildHistoryContextFromEntries, E as DEFAULT_GROUP_HISTORY_LIMIT, Gt as hasControlCommand, H as createInboundDebouncer, Jt as buildMentionRegexes, K as resolveEnvelopeFormatOptions, Kt as shouldComputeCommandAuthorized, N as recordPendingHistoryEntryIfEnabled, Nt as registerUnhandledRejectionHandler, R as shouldAckReactionForWhatsApp, Sr as warnMissingProviderGroupPolicyFallbackOnce, T as sleepWithAbort, U as resolveInboundDebounceMs, W as formatInboundEnvelope, X as getReplyFromConfig, Xt as normalizeMentionText, br as resolveDefaultGroupPolicy, ct as normalizeGroupActivation, fr as readStoreAllowFromForDmPolicy, lt as parseActivationCommand, mr as resolveDmGroupAccessWithLists, p as resolveMentionGating, pr as resolveDmGroupAccessWithCommandGate, sr as createDedupeCache, w as computeBackoff, xr as resolveOpenProviderRuntimeGroupPolicy, xt as formatDurationPrecise, z as dispatchReplyWithBufferedBlockDispatcher } from "./pi-embedded-runner-DQ6UPx6-.js";
2
- import { C as recordSessionMetaFromInbound, Ht as resolveGroupSessionKey, Rt as resolveChannelGroupPolicy, S as readSessionUpdatedAt, w as updateLastRoute, x as loadSessionStore, zt as resolveChannelGroupRequireMention } from "./runtime-Dd0sswuW.js";
1
+ import { C as buildPairingReply, Ct as enqueueSystemEvent, D as buildHistoryContextFromEntries, E as DEFAULT_GROUP_HISTORY_LIMIT, Gt as hasControlCommand, H as createInboundDebouncer, Jt as buildMentionRegexes, K as resolveEnvelopeFormatOptions, Kt as shouldComputeCommandAuthorized, N as recordPendingHistoryEntryIfEnabled, Nt as registerUnhandledRejectionHandler, R as shouldAckReactionForWhatsApp, Sr as warnMissingProviderGroupPolicyFallbackOnce, T as sleepWithAbort, U as resolveInboundDebounceMs, W as formatInboundEnvelope, X as getReplyFromConfig, Xt as normalizeMentionText, br as resolveDefaultGroupPolicy, ct as normalizeGroupActivation, fr as readStoreAllowFromForDmPolicy, lt as parseActivationCommand, mr as resolveDmGroupAccessWithLists, p as resolveMentionGating, pr as resolveDmGroupAccessWithCommandGate, sr as createDedupeCache, w as computeBackoff, xr as resolveOpenProviderRuntimeGroupPolicy, xt as formatDurationPrecise, z as dispatchReplyWithBufferedBlockDispatcher } from "./pi-embedded-runner-DqDy0MWN.js";
2
+ import { C as recordSessionMetaFromInbound, Ht as resolveGroupSessionKey, Rt as resolveChannelGroupPolicy, S as readSessionUpdatedAt, w as updateLastRoute, x as loadSessionStore, zt as resolveChannelGroupRequireMention } from "./runtime-BPyuAmka.js";
3
3
  import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
4
4
  import { i as logVerbose, p as getChildLogger, s as shouldLogVerbose } from "./globals-B_jjtAje.js";
5
5
  import "./paths-BEmvSyOV.js";
6
6
  import { d as normalizeE164, l as isSelfChatMode, m as resolveJidToE164, n as clamp, u as jidToE164, x as toWhatsappJid, y as sleep } from "./utils-CYk9EKoq.js";
7
- import { n as loadConfig, vr as formatCliCommand } from "./config-DXlISPlx.js";
7
+ import { n as loadConfig, yr as formatCliCommand } from "./config-DtqAN2L3.js";
8
8
  import "./agent-scope-kIJqg5PA.js";
9
9
  import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-HSJ2KQTc.js";
10
10
  import "./accounts-D7_p-Ivb.js";
11
11
  import "./accounts-DTdM1xcj.js";
12
- import { a as logWebSelfId, c as pickWebChannel, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, r as WA_WEB_AUTH_DIR, u as readWebSelfId } from "./accounts-Zgt0NP54.js";
12
+ import { a as logWebSelfId, c as pickWebChannel, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, r as WA_WEB_AUTH_DIR, u as readWebSelfId } from "./accounts-RT6y7n3H.js";
13
13
  import "./tokens-CQRTq-NN.js";
14
14
  import "./allow-list-C9N6FKeC.js";
15
15
  import "./redact-CwCz68Mi.js";
16
16
  import "./github-copilot-token-Dgug856m.js";
17
17
  import "./retry-DycQ4ymF.js";
18
18
  import { l as resolveStorePath } from "./paths-B88DQEK8.js";
19
- import "./ssrf-fG4UHKBw.js";
20
- import "./fetch-guard-COLmW2TM.js";
19
+ import "./optional-runtime-dependency-szS49voX.js";
20
+ import "./fetch-guard-DTKgMN9f.js";
21
21
  import { n as redactSensitiveUrlLikeString } from "./redact-sensitive-url-DK8OUExz.js";
22
- import "./send-DvUpYh0d.js";
23
- import { D as formatLocationText, O as toLocationContext, V as upsertChannelPairingRequest } from "./wsl-B8eyviuv.js";
24
- import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-Cjw4712g.js";
22
+ import "./send-DRGzRdI3.js";
23
+ import { D as formatLocationText, O as toLocationContext, V as upsertChannelPairingRequest } from "./wsl-PXrdWitE.js";
24
+ import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-M2d7r-Zt.js";
25
25
  import { l as resolveIdentityNamePrefix, n as createReplyPrefixOptions, u as resolveMessagePrefix } from "./reply-prefix-DqlCqHXT.js";
26
- import "./skill-commands-DHxkTA0s.js";
26
+ import "./skill-commands-CkgGmWBS.js";
27
27
  import "./diagnostic-CuhHqubd.js";
28
28
  import "./diagnostic-session-state-Zw87xFym.js";
29
29
  import { t as redactIdentifier } from "./redact-identifier-DdQO7P4_.js";
30
- import { m as getAgentScopedMediaLocalRoots, n as loadWebMedia } from "./media-C6C2c9a4.js";
31
- import "./pi-model-discovery-CkH5l9X5.js";
32
- import "./paths-CBCpJ5bu.js";
30
+ import { m as getAgentScopedMediaLocalRoots, n as loadWebMedia } from "./media-Cxw-xLGU.js";
31
+ import "./pi-model-discovery-yifTIDIn.js";
32
+ import "./runtime-dependency-Csswyv5r.js";
33
33
  import "./path-alias-guards-CcQroDXQ.js";
34
34
  import "./fs-safe-BPYS6-j1.js";
35
- import { n as resolveMarkdownTableMode } from "./markdown-tables-krKiU4cT.js";
36
- import "./send-ifgZCHVB.js";
37
- import { a as saveMediaBuffer } from "./outbound-attachment-BVzfhqnk.js";
35
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-CCSD52rA.js";
36
+ import "./send-D7tr-EsH.js";
37
+ import { a as saveMediaBuffer } from "./outbound-attachment-C-jSFaEB.js";
38
38
  import "./fetch-D70syO9t.js";
39
- import "./thread-bindings.state-DYWpy7hJ.js";
39
+ import "./thread-bindings.state-CNT2vxm3.js";
40
40
  import "./memory-search-J6AYuENR.js";
41
- import "./manager-BZjd_PCt.js";
41
+ import "./manager-D2kZ0Cps.js";
42
42
  import "./query-expansion-VePrajug.js";
43
- import "./common-CSTxewqY.js";
44
- import "./commands-registry-5J619bQ2.js";
43
+ import "./common-Cpw-vuuM.js";
44
+ import "./commands-registry-CdT-nl7v.js";
45
45
  import { t as finalizeInboundContext } from "./inbound-context-Daf9i2Me.js";
46
46
  import "./directory-live-BxSH0XXX.js";
47
47
  import "./targets-cA134MEE.js";
48
48
  import "./sandbox-paths-CkTERCrj.js";
49
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-_YZHbS-z.js";
49
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CNhTJG_2.js";
50
50
  import "./render-C9LkRUhd.js";
51
- import { t as convertMarkdownTables } from "./tables-CkxblF0u.js";
51
+ import { t as convertMarkdownTables } from "./tables-CJE8kB35.js";
52
52
  import { n as recordChannelActivity } from "./channel-activity-Cf5sKkfd.js";
53
- import { r as setActiveWebListener } from "./active-listener-DKZiSaRA.js";
54
- import { i as markdownToWhatsApp, n as sendMessageWhatsApp, r as sendReactionWhatsApp } from "./outbound-PGNWU6T-.js";
55
- import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-CknrceVU.js";
56
- import { t as loginWeb } from "./login-DL1oBBfL.js";
53
+ import { r as setActiveWebListener } from "./active-listener-CE8t5g6l.js";
54
+ import { i as markdownToWhatsApp, n as sendMessageWhatsApp, r as sendReactionWhatsApp } from "./outbound-BCxOxdi-.js";
55
+ import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-DG_bYisw.js";
56
+ import { t as loginWeb } from "./login-CB_nCjX3.js";
57
57
  import { randomUUID } from "node:crypto";
58
58
  import { DisconnectReason, downloadMediaMessage, extractMessageContent, getContentType, isJidGroup, normalizeMessageContent } from "@whiskeysockets/baileys";
59
59
 
@@ -1,30 +1,30 @@
1
- import { ht as normalizeWhatsAppTarget, mt as isWhatsAppGroupJid } from "./runtime-Dd0sswuW.js";
1
+ import { ht as normalizeWhatsAppTarget, mt as isWhatsAppGroupJid } from "./runtime-BPyuAmka.js";
2
2
  import "./subsystem-DBPNbQDQ.js";
3
3
  import "./globals-B_jjtAje.js";
4
4
  import "./paths-BEmvSyOV.js";
5
5
  import "./utils-CYk9EKoq.js";
6
- import "./config-DXlISPlx.js";
6
+ import "./config-DtqAN2L3.js";
7
7
  import "./agent-scope-kIJqg5PA.js";
8
8
  import "./accounts-D7_p-Ivb.js";
9
9
  import "./accounts-DTdM1xcj.js";
10
- import { n as resolveWhatsAppAccount } from "./accounts-Zgt0NP54.js";
10
+ import { n as resolveWhatsAppAccount } from "./accounts-RT6y7n3H.js";
11
11
  import "./redact-CwCz68Mi.js";
12
12
  import "./github-copilot-token-Dgug856m.js";
13
13
  import "./retry-DycQ4ymF.js";
14
14
  import "./paths-B88DQEK8.js";
15
- import "./ssrf-fG4UHKBw.js";
16
- import "./fetch-guard-COLmW2TM.js";
17
- import "./chunk-Cjw4712g.js";
18
- import "./media-C6C2c9a4.js";
15
+ import "./optional-runtime-dependency-szS49voX.js";
16
+ import "./fetch-guard-DTKgMN9f.js";
17
+ import "./chunk-M2d7r-Zt.js";
18
+ import "./media-Cxw-xLGU.js";
19
19
  import "./path-alias-guards-CcQroDXQ.js";
20
20
  import "./fs-safe-BPYS6-j1.js";
21
- import "./markdown-tables-krKiU4cT.js";
22
- import { a as jsonResult, c as readReactionParams, d as readStringParam, n as createActionGate, t as ToolAuthorizationError } from "./common-CSTxewqY.js";
21
+ import "./markdown-tables-CCSD52rA.js";
22
+ import { a as jsonResult, c as readReactionParams, d as readStringParam, n as createActionGate, t as ToolAuthorizationError } from "./common-Cpw-vuuM.js";
23
23
  import { n as missingTargetError } from "./target-errors-Dn4aykSV.js";
24
24
  import "./render-C9LkRUhd.js";
25
- import "./tables-CkxblF0u.js";
26
- import { r as sendReactionWhatsApp } from "./outbound-PGNWU6T-.js";
27
- import "./session-CknrceVU.js";
25
+ import "./tables-CJE8kB35.js";
26
+ import { r as sendReactionWhatsApp } from "./outbound-BCxOxdi-.js";
27
+ import "./session-DG_bYisw.js";
28
28
 
29
29
  //#region src/whatsapp/resolve-outbound-target.ts
30
30
  function resolveWhatsAppOutboundTarget(params) {
@@ -1,4 +1,4 @@
1
- import "./config-TFokWwvO.js";
1
+ import "./config-CgwTaper.js";
2
2
  import "./paths-GdhK5mV_.js";
3
3
  import "./globals-BtKmaIS3.js";
4
4
  import "./utils-LGKVujSU.js";
@@ -7,24 +7,24 @@ import "./agent-scope-BuTbywla.js";
7
7
  import "./redact-Ck-wgswc.js";
8
8
  import "./github-copilot-token-Djqpy66R.js";
9
9
  import "./retry-Cq65ROXv.js";
10
- import { dt as normalizeWhatsAppTarget, ut as isWhatsAppGroupJid } from "./registry-B4HvWzob.js";
10
+ import { dt as normalizeWhatsAppTarget, ut as isWhatsAppGroupJid } from "./registry-DNkJsNsz.js";
11
11
  import "./accounts-BJFheJNv.js";
12
12
  import "./accounts-BRbbLNW_.js";
13
- import { n as resolveWhatsAppAccount } from "./accounts-VqAX3HJ0.js";
13
+ import { n as resolveWhatsAppAccount } from "./accounts-BwkH5bTD.js";
14
14
  import "./paths-DTurNPnO.js";
15
- import "./ssrf-u0Ul7okY.js";
16
- import "./media-D7ZkWU-A.js";
15
+ import "./ssrf-Cce6LubA.js";
16
+ import "./media-C7YT4DeU.js";
17
17
  import "./path-alias-guards-C76pC928.js";
18
18
  import "./fs-safe-BDnJzutp.js";
19
- import "./chunk-skAJZWCT.js";
20
- import "./markdown-tables-9rJDQ1X-.js";
21
- import "./fetch-guard-DPMynms8.js";
22
- import { a as jsonResult, c as readReactionParams, d as readStringParam, n as createActionGate, t as ToolAuthorizationError } from "./common-BiF0sTnY.js";
19
+ import "./chunk-KCxbJLsV.js";
20
+ import "./markdown-tables-DWUNvLrc.js";
21
+ import "./fetch-guard-BLdujDnt.js";
22
+ import { a as jsonResult, c as readReactionParams, d as readStringParam, n as createActionGate, t as ToolAuthorizationError } from "./common-DJWrErdE.js";
23
23
  import { n as missingTargetError } from "./target-errors-kz4lDpCF.js";
24
24
  import "./render-C9LkRUhd.js";
25
- import "./tables-RBtf8G4P.js";
26
- import { r as sendReactionWhatsApp } from "./outbound-BHWJD9q0.js";
27
- import "./session-CyRTcJ8N.js";
25
+ import "./tables-BD7H5ug-.js";
26
+ import { r as sendReactionWhatsApp } from "./outbound-JIwQbpRY.js";
27
+ import "./session-EIStzK0E.js";
28
28
 
29
29
  //#region src/whatsapp/resolve-outbound-target.ts
30
30
  function resolveWhatsAppOutboundTarget(params) {
@@ -1,5 +1,6 @@
1
1
  import { C as isRecord, D as createSubsystemLogger, F as resolveStateDir, I as expandHomePrefix, L as resolveRequiredHomeDir, P as resolveOAuthDir, R as CHAT_CHANNEL_ORDER, S as formatTerminalLink, T as pathExists, _ as normalizeAgentId, a as resolveImplicitCopilotProvider, c as resolveFasedAgentDir, f as formatCliCommand, g as DEFAULT_AGENT_ID, h as isTruthyEnvValue, i as normalizeProviders, l as resolveProcessScopedMap, n as WhatsAppConfigSchema, o as resolveImplicitProviders, p as resolveDefaultAgentId, t as loadConfig, v as DEFAULT_ACCOUNT_ID, w as normalizeE164, x as escapeRegExp, y as normalizeAccountId, z as normalizeChatChannelId } from "./config-DgD5T-Ui.js";
2
2
  import { d as createAccountListHelpers, f as resolveAccountEntry, i as resolveWhatsAppAuthDir, n as resolveDefaultWhatsAppAccountId, r as resolveWhatsAppAccount, t as listWhatsAppAccountIds } from "./accounts-COY-15zJ.js";
3
+ import { createRequire } from "node:module";
3
4
  import path from "node:path";
4
5
  import fs from "node:fs";
5
6
  import os from "node:os";
@@ -7,7 +8,6 @@ import util from "node:util";
7
8
  import fs$1 from "node:fs/promises";
8
9
  import crypto from "node:crypto";
9
10
  import "@mariozechner/pi-coding-agent";
10
- import "file-type";
11
11
 
12
12
  //#region src/plugins/config-schema.ts
13
13
  function error(message) {
@@ -103,6 +103,7 @@ const METHOD_SCOPE_GROUPS = {
103
103
  "commands.list",
104
104
  "tools.catalog",
105
105
  "tools.effective",
106
+ "services.capabilities",
106
107
  "services.webSearch.providers",
107
108
  "services.webSearch.test",
108
109
  "tasks.list",
@@ -1,10 +1,10 @@
1
- import { dt as resolveTelegramPreviewStreamMode, un as withFileLock$1 } from "./config-TFokWwvO.js";
1
+ import { dt as resolveTelegramPreviewStreamMode, un as withFileLock$1 } from "./config-CgwTaper.js";
2
2
  import { a as resolveOAuthDir, c as expandHomePrefix, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-GdhK5mV_.js";
3
3
  import { g as safeParseJson, t as CONFIG_DIR } from "./utils-LGKVujSU.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-BmpnSVOu.js";
5
5
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-Bp3qq3bm.js";
6
- import { at as getChannelPlugin, ot as listChannelPlugins } from "./registry-B4HvWzob.js";
7
- import { C as normalizeMimeType, v as getFileExtension } from "./media-D7ZkWU-A.js";
6
+ import { at as getChannelPlugin, ot as listChannelPlugins } from "./registry-DNkJsNsz.js";
7
+ import { C as normalizeMimeType, v as getFileExtension } from "./media-C7YT4DeU.js";
8
8
  import fs, { readFileSync } from "node:fs";
9
9
  import crypto from "node:crypto";
10
10
  import os from "node:os";
@@ -1,10 +1,10 @@
1
- import { ct as listChannelPlugins, st as getChannelPlugin } from "./runtime-Dd0sswuW.js";
1
+ import { ct as listChannelPlugins, st as getChannelPlugin } from "./runtime-BPyuAmka.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
3
3
  import { a as resolveOAuthDir, c as expandHomePrefix, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-BEmvSyOV.js";
4
4
  import { g as safeParseJson, t as CONFIG_DIR } from "./utils-CYk9EKoq.js";
5
- import { jn as withFileLock$1, jt as resolveTelegramPreviewStreamMode } from "./config-DXlISPlx.js";
5
+ import { jn as withFileLock$1, jt as resolveTelegramPreviewStreamMode } from "./config-DtqAN2L3.js";
6
6
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-HSJ2KQTc.js";
7
- import { C as normalizeMimeType, v as getFileExtension } from "./media-C6C2c9a4.js";
7
+ import { C as normalizeMimeType, v as getFileExtension } from "./media-Cxw-xLGU.js";
8
8
  import path from "node:path";
9
9
  import fs, { readFileSync } from "node:fs";
10
10
  import os from "node:os";
@@ -1,8 +1,8 @@
1
1
  import { resolveUserPath } from "../utils.js";
2
2
  import { openBoundaryFileSync } from "../infra/boundary-file-read.js";
3
3
  import { installPluginFromNpmSpec, resolvePluginInstallDir } from "./install.js";
4
- import { buildNpmResolutionInstallFields, recordPluginInstall } from "./installs.js";
5
4
  import { resolveBundledPluginSources } from "./bundled-sources.js";
5
+ import { buildNpmResolutionInstallFields, recordPluginInstall } from "./installs.js";
6
6
  import fs from "node:fs";
7
7
  import path from "node:path";
8
8
 
@@ -1,9 +1,9 @@
1
1
  import { getApiKeyForModel, requireApiKey } from "../agents/model-auth.js";
2
2
  import { buildModelAliasIndex, resolveDefaultModelForAgent, resolveModelRefFromString } from "../agents/model-selection.js";
3
3
  import { resolveModel } from "../agents/pi-embedded-runner/model.js";
4
+ import { importOptionalRuntimeDependency } from "../infra/optional-runtime-dependency.js";
4
5
  import { rmSync } from "node:fs";
5
6
  import { completeSimple } from "@mariozechner/pi-ai/compat";
6
- import { EdgeTTS } from "node-edge-tts";
7
7
 
8
8
  //#region src/tts/tts-core.ts
9
9
  const DEFAULT_ELEVENLABS_BASE_URL = "https://api.elevenlabs.io";
@@ -574,6 +574,11 @@ function inferEdgeExtension(outputFormat) {
574
574
  }
575
575
  async function edgeTTS(params) {
576
576
  const { text, outputPath, config, timeoutMs } = params;
577
+ const { EdgeTTS } = await importOptionalRuntimeDependency({
578
+ componentId: "speech-runtime",
579
+ packageName: "@fased/speech-runtime",
580
+ dependency: "node-edge-tts"
581
+ });
577
582
  const tts = new EdgeTTS({
578
583
  voice: config.voice,
579
584
  lang: config.lang,
@@ -20,6 +20,7 @@ import { buildSystemdUnit } from "../daemon/systemd-unit.js";
20
20
  import { isSystemdUserServiceAvailable } from "../daemon/systemd.js";
21
21
  import { resolveGatewayService } from "../daemon/service.js";
22
22
  import { SERVICE_AUDIT_CODES, auditGatewayServiceConfig } from "../daemon/service-audit.js";
23
+ import { buildCapabilityReadinessReport, formatCapabilityReadinessSummary } from "../capabilities/catalog.js";
23
24
  import { waitForHostedDashboardBrowserPath } from "../commands/hosted-dashboard-probe.js";
24
25
  import { noteBullet, noteCommand, noteCommands, noteHeading, noteLabel, noteMuted, noteSuccess, noteWarn } from "./onboarding-note-format.js";
25
26
  import { describeOperatorReadinessChecklist } from "../operator/operator-readiness.js";
@@ -2267,6 +2268,14 @@ async function finalizeOnboardingWizard(options) {
2267
2268
  publicUrl: federation.enabled ? persistedFederationToken?.publicUrl ?? null : null
2268
2269
  });
2269
2270
  await prompter.note(formatOperatorReadinessSummary(operatorReadiness), "Operator readiness");
2271
+ const capabilityReadiness = buildCapabilityReadinessReport({
2272
+ config: nextConfig,
2273
+ pluginReport: {
2274
+ plugins: [],
2275
+ diagnostics: []
2276
+ }
2277
+ });
2278
+ await prompter.note(`${formatCapabilityReadinessSummary(capabilityReadiness)}\nOptional add-ons and external runtimes remain off until selected.`, "Components");
2270
2279
  if (strictVps && !opts.allowInsecure) {
2271
2280
  await withWizardProgress("Final dashboard check", { doneMessage: undefined }, async (progress) => {
2272
2281
  progress.update("Confirming gateway stays reachable before completing setup…");
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/acpx",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "description": "FasedAgent ACP runtime backend via acpx",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/bluebubbles",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "description": "FasedAgent BlueBubbles channel plugin",
5
5
  "type": "module",
6
6
  "fased": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/copilot-proxy",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "private": true,
5
5
  "description": "FasedAgent Copilot Proxy provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/diagnostics-otel",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "description": "FasedAgent diagnostics OpenTelemetry exporter",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/fased-federation",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "private": true,
5
5
  "description": "Fased federation adapter package scaffold (A2A + admission helpers)",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/google-gemini-cli-auth",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "private": true,
5
5
  "description": "FasedAgent Gemini CLI OAuth provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/imessage",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "private": true,
5
5
  "description": "FasedAgent iMessage channel plugin",
6
6
  "type": "module",