@fased/fased 0.1.36 → 0.1.37

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 (244) 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-COY-15zJ.js → accounts-C5BjfxoO.js} +1 -1
  34. package/dist/plugin-sdk/{accounts-Zgt0NP54.js → accounts-RT6y7n3H.js} +1 -1
  35. package/dist/plugin-sdk/{actions-lB3PCwsz.js → actions-BrU_JMqM.js} +2 -2
  36. package/dist/plugin-sdk/{actions-BI5QViLk.js → actions-CUdVHzeJ.js} +2 -2
  37. package/dist/plugin-sdk/{active-listener-DKZiSaRA.js → active-listener-CE8t5g6l.js} +1 -1
  38. package/dist/plugin-sdk/{active-listener-D6_pdTMC.js → active-listener-Dx1SEGDn.js} +1 -1
  39. package/dist/plugin-sdk/{audio-preflight-Dx8J7XhV.js → audio-preflight-C8SbY4fV.js} +22 -22
  40. package/dist/plugin-sdk/{audio-preflight-CeRstduc.js → audio-preflight-CuABlLDL.js} +22 -22
  41. package/dist/plugin-sdk/{audit-BImNOQvk.js → audit-DxB2Kml5.js} +11 -11
  42. package/dist/plugin-sdk/{audit-CKWkq0Un.js → audit-sSeRDwJb.js} +11 -11
  43. package/dist/plugin-sdk/channel-plugin-common.js +3 -2
  44. package/dist/plugin-sdk/{chunk-skAJZWCT.js → chunk-KCxbJLsV.js} +1 -1
  45. package/dist/plugin-sdk/{chunk-Cjw4712g.js → chunk-M2d7r-Zt.js} +1 -1
  46. package/dist/plugin-sdk/{chunk-items-Df5811D0.js → chunk-items-BGbYyNvO.js} +1 -1
  47. package/dist/plugin-sdk/command-status.js +22 -22
  48. package/dist/plugin-sdk/{commands-registry-5J619bQ2.js → commands-registry-CdT-nl7v.js} +2 -2
  49. package/dist/plugin-sdk/{commands-registry-CoLAT03J.js → commands-registry-DoWdYAJd.js} +2 -2
  50. package/dist/plugin-sdk/{common-CSTxewqY.js → common-Cpw-vuuM.js} +1 -1
  51. package/dist/plugin-sdk/{common-BiF0sTnY.js → common-DJWrErdE.js} +1 -1
  52. package/dist/plugin-sdk/{config-BxVjLTIv.js → config-C0qggNKQ.js} +7 -7
  53. package/dist/plugin-sdk/{config-TFokWwvO.js → config-CgwTaper.js} +45 -2
  54. package/dist/plugin-sdk/{config-DXlISPlx.js → config-DtqAN2L3.js} +45 -2
  55. package/dist/plugin-sdk/{config-DgD5T-Ui.js → config-g1MG9Bet.js} +7 -7
  56. package/dist/plugin-sdk/discord.js +2 -1
  57. package/dist/plugin-sdk/{fetch-guard-DPMynms8.js → fetch-guard-BLdujDnt.js} +1 -1
  58. package/dist/plugin-sdk/{fetch-guard-COLmW2TM.js → fetch-guard-DTKgMN9f.js} +1 -1
  59. package/dist/plugin-sdk/{handle-action-C-UndB8E.js → handle-action-B61D85yo.js} +12 -12
  60. package/dist/plugin-sdk/{handle-action-hhufKxmU.js → handle-action-CjcxGzQD.js} +12 -12
  61. package/dist/plugin-sdk/index.js +22 -22
  62. package/dist/plugin-sdk/{login-DL1oBBfL.js → login-CB_nCjX3.js} +3 -3
  63. package/dist/plugin-sdk/{login-YveoqEvH.js → login-CfRfRNc7.js} +2 -2
  64. package/dist/plugin-sdk/{login-Dnxas1dI.js → login-CzUuDd1v.js} +3 -3
  65. package/dist/plugin-sdk/{login-qr-CVQsGWKq.js → login-qr-D7MEpFza.js} +3 -3
  66. package/dist/plugin-sdk/{login-qr-B343JNXJ.js → login-qr-DgxfBFVN.js} +3 -3
  67. package/dist/plugin-sdk/{manager-BytwRIfK.js → manager-9see0IX5.js} +8 -3
  68. package/dist/plugin-sdk/{manager-BZjd_PCt.js → manager-D2kZ0Cps.js} +8 -3
  69. package/dist/plugin-sdk/{markdown-tables-krKiU4cT.js → markdown-tables-CCSD52rA.js} +1 -1
  70. package/dist/plugin-sdk/{markdown-tables-9rJDQ1X-.js → markdown-tables-DWUNvLrc.js} +1 -1
  71. package/dist/plugin-sdk/{media-D7ZkWU-A.js → media-C7YT4DeU.js} +13 -4
  72. package/dist/plugin-sdk/{media-C6C2c9a4.js → media-Cxw-xLGU.js} +13 -4
  73. package/dist/plugin-sdk/{monitor-CVQNDfhs.js → monitor-9X7wapUN.js} +27 -27
  74. package/dist/plugin-sdk/{monitor-BCxkQBoh.js → monitor-B3IfJzKX.js} +26 -26
  75. package/dist/plugin-sdk/{monitor-BzDW50H6.js → monitor-CTjAST_W.js} +27 -27
  76. package/dist/plugin-sdk/{monitor-BsLMfn3U.js → monitor-tYFfy2u-.js} +26 -26
  77. package/dist/plugin-sdk/{openresponses-http-BB67Z4QM.js → openresponses-http-DEB2fEya.js} +22 -22
  78. package/dist/plugin-sdk/{openresponses-http-NE76GGhj.js → openresponses-http-YgMg1jnp.js} +22 -22
  79. package/dist/plugin-sdk/{ssrf-u0Ul7okY.js → optional-runtime-dependency-szS49voX.js} +46 -2
  80. package/dist/plugin-sdk/{outbound-PGNWU6T-.js → outbound-BCxOxdi-.js} +6 -6
  81. package/dist/plugin-sdk/{outbound-BHWJD9q0.js → outbound-JIwQbpRY.js} +6 -6
  82. package/dist/plugin-sdk/{outbound-attachment-BVzfhqnk.js → outbound-attachment-C-jSFaEB.js} +1 -1
  83. package/dist/plugin-sdk/{outbound-attachment-ClMvNW17.js → outbound-attachment-D6tj5Y5H.js} +1 -1
  84. package/dist/plugin-sdk/{pi-embedded-runner-DQ6UPx6-.js → pi-embedded-runner-CUVk8CIj.js} +72 -60
  85. package/dist/plugin-sdk/{pi-model-discovery-D51L5E9I.js → pi-model-discovery-DadlvsZW.js} +1 -1
  86. package/dist/plugin-sdk/{pi-model-discovery-runtime-DxoFm4Vd.js → pi-model-discovery-runtime-C5ssE6EW.js} +1 -1
  87. package/dist/plugin-sdk/{pi-model-discovery-runtime-DRuh4PNV.js → pi-model-discovery-runtime-DAaOPt64.js} +2 -2
  88. package/dist/plugin-sdk/{pi-model-discovery-runtime-CQOauapl.js → pi-model-discovery-runtime-LB-5lX5L.js} +1 -1
  89. package/dist/plugin-sdk/{pi-model-discovery-runtime-BTWgkx4x.js → pi-model-discovery-runtime-gd77b0UF.js} +2 -2
  90. package/dist/plugin-sdk/{pi-model-discovery-CkH5l9X5.js → pi-model-discovery-yifTIDIn.js} +1 -1
  91. package/dist/plugin-sdk/{pw-ai-DZs6uYRd.js → pw-ai-SNCI9UXT.js} +6 -5
  92. package/dist/plugin-sdk/{pw-ai-Cn-EUPZK.js → pw-ai-sH1Pi-Fh.js} +6 -5
  93. package/dist/plugin-sdk/{registry-B4HvWzob.js → registry-DNkJsNsz.js} +4 -3
  94. package/dist/plugin-sdk/{replies-jDMUBsNO.js → replies-fvzN5wnU.js} +2 -2
  95. package/dist/plugin-sdk/{replies-B_LW9c9f.js → replies-zebgZCHX.js} +2 -2
  96. package/dist/plugin-sdk/{resolve-route-_YZHbS-z.js → resolve-route-CNhTJG_2.js} +1 -1
  97. package/dist/plugin-sdk/{resolve-route-DlHzggnG.js → resolve-route-DO0WR4nB.js} +1 -1
  98. package/dist/plugin-sdk/{resolve-utils-zBhVX3Vx.js → resolve-utils-EFP1DYqG.js} +1 -1
  99. package/dist/plugin-sdk/{retry-policy-DGLs5ebP.js → retry-policy-BLYEgIwP.js} +1 -1
  100. package/dist/plugin-sdk/{retry-policy-DaodShGa.js → retry-policy-sM01QZT2.js} +1 -1
  101. package/dist/plugin-sdk/{runtime-Dd0sswuW.js → runtime-BPyuAmka.js} +4 -3
  102. package/dist/plugin-sdk/{paths-DW-U2r7Y.js → runtime-dependency-B-1u41Ph.js} +27 -3
  103. package/dist/plugin-sdk/{paths-CBCpJ5bu.js → runtime-dependency-Csswyv5r.js} +27 -3
  104. package/dist/plugin-sdk/sat-runtime.js +1 -0
  105. package/dist/plugin-sdk/{send-8remZhsH.js → send-B09HRfHN.js} +6 -6
  106. package/dist/plugin-sdk/{send-DaaAscWj.js → send-BBYcgXA4.js} +5 -5
  107. package/dist/plugin-sdk/{send-DFTB0cnx.js → send-BQXQA81e.js} +6 -6
  108. package/dist/plugin-sdk/{send-CtMVvMJs.js → send-BzFdvD_i.js} +6 -6
  109. package/dist/plugin-sdk/{send-Di9irjS-.js → send-C3u-F_8s.js} +6 -6
  110. package/dist/plugin-sdk/{send-Dl88ZKq2.js → send-D3836_UN.js} +6 -6
  111. package/dist/plugin-sdk/{send-ifgZCHVB.js → send-D7tr-EsH.js} +5 -5
  112. package/dist/plugin-sdk/{send-DvUpYh0d.js → send-DRGzRdI3.js} +6 -6
  113. package/dist/plugin-sdk/{send-D2jlPeKH.js → send-DfkPKz_0.js} +4 -4
  114. package/dist/plugin-sdk/{send-QSt6nbny.js → send-DsxFXrCO.js} +4 -4
  115. package/dist/plugin-sdk/{session-CknrceVU.js → session-DG_bYisw.js} +2 -2
  116. package/dist/plugin-sdk/{session-CyRTcJ8N.js → session-EIStzK0E.js} +2 -2
  117. package/dist/plugin-sdk/{skill-commands-DHxkTA0s.js → skill-commands-CkgGmWBS.js} +2 -2
  118. package/dist/plugin-sdk/{skill-commands-CLXAG5sU.js → skill-commands-hyZA0LE3.js} +2 -2
  119. package/dist/plugin-sdk/{slack-BpJXkwxF.js → slack-C0WZVJPZ.js} +34 -34
  120. package/dist/plugin-sdk/{slack-Br9c6Yzs.js → slack-DtlPw_PN.js} +34 -34
  121. package/dist/plugin-sdk/{slack-actions-8tLGt1Ht.js → slack-actions-BQawWGTJ.js} +11 -11
  122. package/dist/plugin-sdk/{slack-actions-CDSSRo8Y.js → slack-actions-DDMszx56.js} +11 -11
  123. package/dist/plugin-sdk/slack.js +2 -1
  124. package/dist/plugin-sdk/src/brand.d.ts +2 -2
  125. package/dist/plugin-sdk/src/browser/runtime-dependency.d.ts +3 -0
  126. package/dist/plugin-sdk/src/infra/optional-runtime-dependency.d.ts +6 -0
  127. package/dist/plugin-sdk/{ssrf-fG4UHKBw.js → ssrf-Cce6LubA.js} +41 -7
  128. package/dist/plugin-sdk/{status-DoxnzyMC.js → status-CIiBeb9B.js} +72 -60
  129. package/dist/plugin-sdk/{sticker-cache-zmJ39ByC.js → sticker-cache-9houHChV.js} +3 -3
  130. package/dist/plugin-sdk/{sticker-cache-D7WcMYsF.js → sticker-cache-Dwi-XsgB.js} +3 -3
  131. package/dist/plugin-sdk/{tables-CkxblF0u.js → tables-BD7H5ug-.js} +1 -1
  132. package/dist/plugin-sdk/{tables-RBtf8G4P.js → tables-CJE8kB35.js} +1 -1
  133. package/dist/plugin-sdk/{telegram-actions-DAeYXSLk.js → telegram-actions-Bu1edXF2.js} +25 -25
  134. package/dist/plugin-sdk/{telegram-actions-BDeS3ocd.js → telegram-actions-CRXVO8lG.js} +25 -25
  135. package/dist/plugin-sdk/telegram.js +2 -1
  136. package/dist/plugin-sdk/{thread-bindings.lifecycle-DsB94WbE.js → thread-bindings.lifecycle-Djem8FWF.js} +2 -2
  137. package/dist/plugin-sdk/{thread-bindings.lifecycle-DMhV3TsR.js → thread-bindings.lifecycle-gmHv3hc7.js} +2 -2
  138. package/dist/plugin-sdk/{thread-bindings.state-DYWpy7hJ.js → thread-bindings.state-CNT2vxm3.js} +2 -2
  139. package/dist/plugin-sdk/{thread-bindings.state-DG5cBaRn.js → thread-bindings.state-D8kN2X6H.js} +2 -2
  140. package/dist/plugin-sdk/{web-IJ4NoGPJ.js → web-DCrVQr6y.js} +26 -26
  141. package/dist/plugin-sdk/{web-DJwacWQo.js → web-Ds6OWw3C.js} +26 -26
  142. package/dist/plugin-sdk/{whatsapp-actions-DAY8hWpD.js → whatsapp-actions-68Mfs2dJ.js} +12 -12
  143. package/dist/plugin-sdk/{whatsapp-actions-6opfo-oB.js → whatsapp-actions-DRqtzvTO.js} +12 -12
  144. package/dist/plugin-sdk/whatsapp.js +6 -5
  145. package/dist/plugin-sdk/{wsl-B2euLEc2.js → wsl-DcM2PgSS.js} +3 -3
  146. package/dist/plugin-sdk/{wsl-B8eyviuv.js → wsl-PXrdWitE.js} +3 -3
  147. package/dist/plugins/update.js +1 -1
  148. package/dist/tts/tts-core.js +6 -1
  149. package/dist/wizard/onboarding.finalize.js +9 -0
  150. package/extensions/acpx/package.json +1 -1
  151. package/extensions/bluebubbles/package.json +1 -1
  152. package/extensions/copilot-proxy/package.json +1 -1
  153. package/extensions/diagnostics-otel/package.json +1 -1
  154. package/extensions/fased-federation/package.json +1 -1
  155. package/extensions/google-gemini-cli-auth/package.json +1 -1
  156. package/extensions/imessage/package.json +1 -1
  157. package/extensions/irc/package.json +1 -1
  158. package/extensions/line/package.json +1 -1
  159. package/extensions/llm-task/package.json +1 -1
  160. package/extensions/lobster/package.json +1 -1
  161. package/extensions/matrix/CHANGELOG.md +6 -0
  162. package/extensions/matrix/package.json +1 -1
  163. package/extensions/mattermost/package.json +1 -1
  164. package/extensions/memory-core/package.json +2 -2
  165. package/extensions/memory-lancedb/package.json +1 -1
  166. package/extensions/minimax-portal-auth/package.json +1 -1
  167. package/extensions/msteams/CHANGELOG.md +6 -0
  168. package/extensions/msteams/package.json +1 -1
  169. package/extensions/nextcloud-talk/package.json +1 -1
  170. package/extensions/nostr/CHANGELOG.md +6 -0
  171. package/extensions/nostr/package.json +1 -1
  172. package/extensions/open-prose/package.json +1 -1
  173. package/extensions/sat-mining/package.json +1 -1
  174. package/extensions/signal/package.json +1 -1
  175. package/extensions/synology-chat/package.json +1 -1
  176. package/extensions/tlon/package.json +1 -1
  177. package/extensions/twitch/CHANGELOG.md +6 -0
  178. package/extensions/twitch/package.json +1 -1
  179. package/extensions/voice-call/CHANGELOG.md +6 -0
  180. package/extensions/voice-call/package.json +1 -1
  181. package/extensions/zalo/CHANGELOG.md +6 -0
  182. package/extensions/zalo/package.json +1 -1
  183. package/extensions/zalouser/CHANGELOG.md +6 -0
  184. package/extensions/zalouser/package.json +1 -1
  185. package/package.json +22 -15
  186. package/extensions/feishu/fased.plugin.json +0 -10
  187. package/extensions/feishu/index.ts +0 -63
  188. package/extensions/feishu/package.json +0 -33
  189. package/extensions/feishu/skills/feishu-doc/SKILL.md +0 -211
  190. package/extensions/feishu/skills/feishu-doc/references/block-types.md +0 -103
  191. package/extensions/feishu/skills/feishu-drive/SKILL.md +0 -97
  192. package/extensions/feishu/skills/feishu-perm/SKILL.md +0 -119
  193. package/extensions/feishu/skills/feishu-wiki/SKILL.md +0 -111
  194. package/extensions/feishu/src/accounts.ts +0 -159
  195. package/extensions/feishu/src/bitable.ts +0 -713
  196. package/extensions/feishu/src/bot.ts +0 -979
  197. package/extensions/feishu/src/channel.ts +0 -359
  198. package/extensions/feishu/src/client.ts +0 -118
  199. package/extensions/feishu/src/config-schema.ts +0 -226
  200. package/extensions/feishu/src/dedup.ts +0 -54
  201. package/extensions/feishu/src/directory.ts +0 -177
  202. package/extensions/feishu/src/doc-schema.ts +0 -122
  203. package/extensions/feishu/src/docx.ts +0 -998
  204. package/extensions/feishu/src/drive-schema.ts +0 -46
  205. package/extensions/feishu/src/drive.ts +0 -232
  206. package/extensions/feishu/src/dynamic-agent.ts +0 -131
  207. package/extensions/feishu/src/external-keys.ts +0 -19
  208. package/extensions/feishu/src/media.ts +0 -447
  209. package/extensions/feishu/src/mention.ts +0 -133
  210. package/extensions/feishu/src/monitor.ts +0 -434
  211. package/extensions/feishu/src/onboarding.ts +0 -430
  212. package/extensions/feishu/src/outbound.ts +0 -56
  213. package/extensions/feishu/src/perm-schema.ts +0 -52
  214. package/extensions/feishu/src/perm.ts +0 -180
  215. package/extensions/feishu/src/policy.ts +0 -116
  216. package/extensions/feishu/src/probe.ts +0 -44
  217. package/extensions/feishu/src/reactions.ts +0 -160
  218. package/extensions/feishu/src/reply-dispatcher.ts +0 -239
  219. package/extensions/feishu/src/runtime.ts +0 -14
  220. package/extensions/feishu/src/send-result.ts +0 -29
  221. package/extensions/feishu/src/send-target.ts +0 -25
  222. package/extensions/feishu/src/send.ts +0 -313
  223. package/extensions/feishu/src/streaming-card.ts +0 -218
  224. package/extensions/feishu/src/targets.ts +0 -78
  225. package/extensions/feishu/src/tool-account.ts +0 -58
  226. package/extensions/feishu/src/tools-config.ts +0 -21
  227. package/extensions/feishu/src/types.ts +0 -81
  228. package/extensions/feishu/src/typing.ts +0 -80
  229. package/extensions/feishu/src/wiki-schema.ts +0 -55
  230. package/extensions/feishu/src/wiki.ts +0 -237
  231. package/extensions/googlechat/fased.plugin.json +0 -9
  232. package/extensions/googlechat/index.ts +0 -19
  233. package/extensions/googlechat/package.json +0 -37
  234. package/extensions/googlechat/src/accounts.ts +0 -147
  235. package/extensions/googlechat/src/actions.ts +0 -176
  236. package/extensions/googlechat/src/api.ts +0 -282
  237. package/extensions/googlechat/src/auth.ts +0 -137
  238. package/extensions/googlechat/src/channel.ts +0 -591
  239. package/extensions/googlechat/src/monitor.ts +0 -996
  240. package/extensions/googlechat/src/onboarding.ts +0 -344
  241. package/extensions/googlechat/src/runtime.ts +0 -14
  242. package/extensions/googlechat/src/targets.ts +0 -65
  243. package/extensions/googlechat/src/types.config.ts +0 -3
  244. package/extensions/googlechat/src/types.ts +0 -73
@@ -0,0 +1,241 @@
1
+ {
2
+ "entries": [
3
+ {
4
+ "id": "agent-core",
5
+ "label": "Fased Agent",
6
+ "category": "core",
7
+ "delivery": "core",
8
+ "docsPath": "/start/fased",
9
+ "surface": "Agent > Models",
10
+ "description": "Dashboard chat, Agent execution, tools, and model-provider clients."
11
+ },
12
+ {
13
+ "id": "tasks",
14
+ "label": "Tasks",
15
+ "category": "core",
16
+ "delivery": "core",
17
+ "docsPath": "/automation",
18
+ "surface": "Agent > Tasks",
19
+ "description": "Scheduled and recurring Agent work."
20
+ },
21
+ {
22
+ "id": "solana-wallets",
23
+ "label": "Solana Wallets",
24
+ "category": "crypto",
25
+ "delivery": "core",
26
+ "docsPath": "/plugins/crypto/wallet-page",
27
+ "surface": "Wallets",
28
+ "description": "Wallet creation, custody, policy, balances, and Solana actions."
29
+ },
30
+ {
31
+ "id": "sat-mining",
32
+ "label": "SAT Mining",
33
+ "category": "crypto",
34
+ "delivery": "core",
35
+ "pluginId": "sat-mining",
36
+ "docsPath": "/plugins/crypto/mining-page",
37
+ "surface": "Mining",
38
+ "description": "Bundled Satcoin mining runtime, readiness, capital, cycles, and history."
39
+ },
40
+ {
41
+ "id": "fased-network",
42
+ "label": "Fased Network",
43
+ "category": "crypto",
44
+ "delivery": "core",
45
+ "pluginId": "fased-federation",
46
+ "docsPath": "/start/federation",
47
+ "surface": "Fased Network",
48
+ "description": "Offers, requests, trust, bond, and Agent marketplace controls."
49
+ },
50
+ {
51
+ "id": "telegram",
52
+ "label": "Telegram",
53
+ "category": "channel",
54
+ "delivery": "npm-addon",
55
+ "packageName": "@fased/telegram",
56
+ "pluginId": "telegram",
57
+ "channelId": "telegram",
58
+ "docsPath": "/channels/telegram",
59
+ "surface": "Agent > Channels",
60
+ "restartRequired": true,
61
+ "description": "Telegram bot transport."
62
+ },
63
+ {
64
+ "id": "whatsapp",
65
+ "label": "WhatsApp",
66
+ "category": "channel",
67
+ "delivery": "npm-addon",
68
+ "packageName": "@fased/whatsapp",
69
+ "pluginId": "whatsapp",
70
+ "channelId": "whatsapp",
71
+ "docsPath": "/channels/whatsapp",
72
+ "surface": "Agent > Channels",
73
+ "restartRequired": true,
74
+ "description": "WhatsApp QR-linked transport."
75
+ },
76
+ {
77
+ "id": "discord",
78
+ "label": "Discord",
79
+ "category": "channel",
80
+ "delivery": "npm-addon",
81
+ "packageName": "@fased/discord",
82
+ "pluginId": "discord",
83
+ "channelId": "discord",
84
+ "docsPath": "/channels/discord",
85
+ "surface": "Agent > Channels",
86
+ "restartRequired": true,
87
+ "description": "Discord bot transport."
88
+ },
89
+ {
90
+ "id": "slack",
91
+ "label": "Slack",
92
+ "category": "channel",
93
+ "delivery": "npm-addon",
94
+ "packageName": "@fased/slack",
95
+ "pluginId": "slack",
96
+ "channelId": "slack",
97
+ "docsPath": "/channels/slack",
98
+ "surface": "Agent > Channels",
99
+ "restartRequired": true,
100
+ "description": "Slack Socket Mode transport."
101
+ },
102
+ {
103
+ "id": "feishu",
104
+ "label": "Feishu / Lark",
105
+ "category": "channel",
106
+ "delivery": "npm-addon",
107
+ "packageName": "@fased/feishu",
108
+ "pluginId": "feishu",
109
+ "channelId": "feishu",
110
+ "docsPath": "/channels/feishu",
111
+ "surface": "Agent > Channels",
112
+ "restartRequired": true,
113
+ "description": "Feishu and Lark enterprise messaging transport."
114
+ },
115
+ {
116
+ "id": "googlechat",
117
+ "label": "Google Chat",
118
+ "category": "channel",
119
+ "delivery": "npm-addon",
120
+ "packageName": "@fased/googlechat",
121
+ "pluginId": "googlechat",
122
+ "channelId": "googlechat",
123
+ "docsPath": "/channels/googlechat",
124
+ "surface": "Agent > Channels",
125
+ "restartRequired": true,
126
+ "description": "Google Workspace Chat webhook transport."
127
+ },
128
+ {
129
+ "id": "browser-runtime",
130
+ "label": "Browser Runtime",
131
+ "category": "runtime",
132
+ "delivery": "npm-addon",
133
+ "packageName": "@fased/browser-runtime",
134
+ "pluginId": "browser-runtime",
135
+ "restartRequired": true,
136
+ "docsPath": "/tools/browser",
137
+ "surface": "Services > Components",
138
+ "description": "Optional browser automation and readable-page extraction dependencies."
139
+ },
140
+ {
141
+ "id": "browser-binary",
142
+ "label": "Browser Application",
143
+ "category": "runtime",
144
+ "delivery": "external-runtime",
145
+ "externalKind": "browser",
146
+ "docsPath": "/tools/browser",
147
+ "surface": "Services > Browser",
148
+ "description": "Chrome, Chromium, Brave, Edge, remote CDP, or the extension relay."
149
+ },
150
+ {
151
+ "id": "ollama",
152
+ "label": "Ollama",
153
+ "category": "provider",
154
+ "delivery": "external-runtime",
155
+ "providerId": "ollama",
156
+ "externalKind": "model-server",
157
+ "docsPath": "/providers/ollama",
158
+ "surface": "Agent > Models",
159
+ "description": "External Ollama server and model weights connected through the bundled client."
160
+ },
161
+ {
162
+ "id": "lmstudio",
163
+ "label": "LM Studio",
164
+ "category": "provider",
165
+ "delivery": "external-runtime",
166
+ "providerId": "lmstudio",
167
+ "externalKind": "model-server",
168
+ "docsPath": "/providers/lmstudio",
169
+ "surface": "Agent > Models",
170
+ "description": "External LM Studio server and model weights connected through the bundled client."
171
+ },
172
+ {
173
+ "id": "vllm",
174
+ "label": "vLLM",
175
+ "category": "provider",
176
+ "delivery": "external-runtime",
177
+ "providerId": "vllm",
178
+ "externalKind": "model-server",
179
+ "docsPath": "/gateway/local-models",
180
+ "surface": "Agent > Models",
181
+ "description": "External vLLM server connected through the bundled provider client."
182
+ },
183
+ {
184
+ "id": "litellm",
185
+ "label": "LiteLLM",
186
+ "category": "provider",
187
+ "delivery": "external-runtime",
188
+ "providerId": "litellm",
189
+ "externalKind": "model-server",
190
+ "docsPath": "/gateway/local-models",
191
+ "surface": "Agent > Models",
192
+ "description": "External LiteLLM proxy connected through the bundled provider client."
193
+ },
194
+ {
195
+ "id": "local-memory-runtime",
196
+ "label": "Local Vector Memory",
197
+ "category": "runtime",
198
+ "delivery": "npm-addon",
199
+ "packageName": "@fased/local-memory-runtime",
200
+ "pluginId": "local-memory-runtime",
201
+ "restartRequired": true,
202
+ "docsPath": "/concepts/memory",
203
+ "surface": "Services > Components",
204
+ "description": "Optional native sqlite vector-search dependency."
205
+ },
206
+ {
207
+ "id": "local-memory-model",
208
+ "label": "Local Memory Embeddings",
209
+ "category": "runtime",
210
+ "delivery": "external-runtime",
211
+ "externalKind": "local-embeddings",
212
+ "docsPath": "/concepts/memory",
213
+ "surface": "Agent > Memory",
214
+ "description": "Optional node-llama-cpp runtime and GGUF embedding model."
215
+ },
216
+ {
217
+ "id": "media-runtime",
218
+ "label": "Media Runtime",
219
+ "category": "runtime",
220
+ "delivery": "npm-addon",
221
+ "packageName": "@fased/media-runtime",
222
+ "pluginId": "media-runtime",
223
+ "restartRequired": true,
224
+ "docsPath": "/nodes/media-understanding",
225
+ "surface": "Services > Components",
226
+ "description": "Optional image, file-type, and PDF processing dependencies."
227
+ },
228
+ {
229
+ "id": "speech-runtime",
230
+ "label": "Speech Runtime",
231
+ "category": "runtime",
232
+ "delivery": "npm-addon",
233
+ "packageName": "@fased/speech-runtime",
234
+ "pluginId": "speech-runtime",
235
+ "restartRequired": true,
236
+ "docsPath": "/tools/tts",
237
+ "surface": "Services > Components",
238
+ "description": "Optional local Edge TTS dependency."
239
+ }
240
+ ]
241
+ }
@@ -0,0 +1,130 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "groups": [
4
+ {
5
+ "id": "agent-core",
6
+ "label": "Agent Core",
7
+ "delivery": "core",
8
+ "target": "keep",
9
+ "dependencies": [
10
+ "@agentclientprotocol/sdk",
11
+ "@clack/prompts",
12
+ "@homebridge/ciao",
13
+ "@lydell/node-pty",
14
+ "@mariozechner/pi-agent-core",
15
+ "@mariozechner/pi-ai",
16
+ "@mariozechner/pi-coding-agent",
17
+ "@mariozechner/pi-tui",
18
+ "@modelcontextprotocol/sdk",
19
+ "@sinclair/typebox",
20
+ "ajv",
21
+ "chalk",
22
+ "chokidar",
23
+ "cli-highlight",
24
+ "commander",
25
+ "croner",
26
+ "dotenv",
27
+ "express",
28
+ "https-proxy-agent",
29
+ "ipaddr.js",
30
+ "jiti",
31
+ "json5",
32
+ "jszip",
33
+ "long",
34
+ "markdown-it",
35
+ "node-domexception",
36
+ "osc-progress",
37
+ "qrcode-terminal",
38
+ "tar",
39
+ "tslog",
40
+ "undici",
41
+ "ws",
42
+ "yaml",
43
+ "zod"
44
+ ]
45
+ },
46
+ {
47
+ "id": "crypto-core",
48
+ "label": "Wallet And Mining Core",
49
+ "delivery": "core",
50
+ "target": "keep",
51
+ "dependencies": ["@solana/web3.js"]
52
+ },
53
+ {
54
+ "id": "fased-network",
55
+ "label": "Fased Network",
56
+ "delivery": "core",
57
+ "target": "keep",
58
+ "dependencies": ["@fedify/fedify"]
59
+ },
60
+ {
61
+ "id": "provider-bedrock",
62
+ "label": "Amazon Bedrock Provider",
63
+ "delivery": "provider-addon",
64
+ "target": "extract",
65
+ "dependencies": []
66
+ },
67
+ {
68
+ "id": "provider-google",
69
+ "label": "Google Provider Compatibility",
70
+ "delivery": "provider-addon",
71
+ "target": "audit",
72
+ "dependencies": ["gaxios"]
73
+ },
74
+ {
75
+ "id": "advanced-channels",
76
+ "label": "Bundled LINE Channel",
77
+ "delivery": "channel-addon",
78
+ "target": "extract",
79
+ "dependencies": ["@line/bot-sdk"]
80
+ },
81
+ {
82
+ "id": "channel-feishu",
83
+ "label": "Feishu Channel",
84
+ "delivery": "channel-addon",
85
+ "target": "extract",
86
+ "packagePath": "extensions/feishu/package.json",
87
+ "dependencies": ["@larksuiteoapi/node-sdk", "@sinclair/typebox", "zod"]
88
+ },
89
+ {
90
+ "id": "channel-googlechat",
91
+ "label": "Google Chat Channel",
92
+ "delivery": "channel-addon",
93
+ "target": "extract",
94
+ "packagePath": "extensions/googlechat/package.json",
95
+ "dependencies": ["google-auth-library"]
96
+ },
97
+ {
98
+ "id": "browser-runtime",
99
+ "label": "Browser Runtime",
100
+ "delivery": "runtime-addon",
101
+ "target": "extract",
102
+ "packagePath": "extensions/runtime-browser/package.json",
103
+ "dependencies": ["@mozilla/readability", "linkedom", "playwright-core"]
104
+ },
105
+ {
106
+ "id": "media-runtime",
107
+ "label": "Media Runtime",
108
+ "delivery": "runtime-addon",
109
+ "target": "extract",
110
+ "packagePath": "extensions/runtime-media/package.json",
111
+ "dependencies": ["@napi-rs/canvas", "file-type", "pdfjs-dist", "sharp"]
112
+ },
113
+ {
114
+ "id": "speech-runtime",
115
+ "label": "Speech Runtime",
116
+ "delivery": "runtime-addon",
117
+ "target": "extract",
118
+ "packagePath": "extensions/runtime-speech/package.json",
119
+ "dependencies": ["node-edge-tts"]
120
+ },
121
+ {
122
+ "id": "local-memory",
123
+ "label": "Native Local Memory",
124
+ "delivery": "runtime-addon",
125
+ "target": "extract",
126
+ "packagePath": "extensions/runtime-local-memory/package.json",
127
+ "dependencies": ["sqlite-vec"]
128
+ }
129
+ ]
130
+ }
@@ -75,6 +75,45 @@
75
75
  "defaultChoice": "npm"
76
76
  }
77
77
  }
78
+ },
79
+ {
80
+ "name": "@fased/feishu",
81
+ "fased": {
82
+ "channel": {
83
+ "id": "feishu",
84
+ "label": "Feishu / Lark",
85
+ "selectionLabel": "Feishu/Lark",
86
+ "docsPath": "/channels/feishu",
87
+ "docsLabel": "feishu",
88
+ "blurb": "Feishu and Lark enterprise messaging with document and workspace tools.",
89
+ "aliases": ["lark"],
90
+ "order": 50,
91
+ "quickstartAllowFrom": true
92
+ },
93
+ "install": {
94
+ "npmSpec": "@fased/feishu",
95
+ "defaultChoice": "npm"
96
+ }
97
+ }
98
+ },
99
+ {
100
+ "name": "@fased/googlechat",
101
+ "fased": {
102
+ "channel": {
103
+ "id": "googlechat",
104
+ "label": "Google Chat",
105
+ "selectionLabel": "Google Chat (Chat API)",
106
+ "docsPath": "/channels/googlechat",
107
+ "docsLabel": "googlechat",
108
+ "blurb": "Google Workspace Chat app through verified HTTP webhooks.",
109
+ "aliases": ["gchat", "google-chat"],
110
+ "order": 60
111
+ },
112
+ "install": {
113
+ "npmSpec": "@fased/googlechat",
114
+ "defaultChoice": "npm"
115
+ }
116
+ }
78
117
  }
79
118
  ]
80
119
  }
@@ -1,3 +1,4 @@
1
+ import { loadLinkedom, loadReadability } from "../../browser/runtime-dependency.js";
1
2
  import { sanitizeHtml, stripInvisibleUnicode } from "./web-fetch-visibility.js";
2
3
 
3
4
  //#region src/agents/tools/web-fetch-utils.ts
@@ -6,7 +7,7 @@ const READABILITY_MAX_ESTIMATED_NESTING_DEPTH = 3e3;
6
7
  let readabilityDepsPromise;
7
8
  async function loadReadabilityDeps() {
8
9
  if (!readabilityDepsPromise) {
9
- readabilityDepsPromise = Promise.all([import("@mozilla/readability"), import("linkedom")]).then(([readability, linkedom]) => ({
10
+ readabilityDepsPromise = Promise.all([loadReadability(), loadLinkedom()]).then(([readability, linkedom]) => ({
10
11
  Readability: readability.Readability,
11
12
  parseHTML: linkedom.parseHTML
12
13
  }));
@@ -1,3 +1,5 @@
1
+ import { loadLinkedom } from "../../browser/runtime-dependency.js";
2
+
1
3
  //#region src/agents/tools/web-fetch-visibility.ts
2
4
  const HIDDEN_STYLE_PATTERNS = [
3
5
  ["display", /^\s*none\s*$/i],
@@ -100,7 +102,7 @@ async function sanitizeHtml(html) {
100
102
  let sanitized = html.replace(/<!--[\s\S]*?-->/g, "");
101
103
  let document;
102
104
  try {
103
- const { parseHTML } = await import("linkedom");
105
+ const { parseHTML } = await loadLinkedom();
104
106
  ({document} = parseHTML(sanitized));
105
107
  } catch {
106
108
  return sanitized;
package/dist/brand.js CHANGED
@@ -2,7 +2,7 @@
2
2
  const FASED_BRAND_NAME = "Fased";
3
3
  const FASED_AGENT_NAME = "Fased Agent";
4
4
  const FASED_CONTROL_NAME = "Fased Control";
5
- const FASED_PRODUCT_VERSION = "0.1.36";
5
+ const FASED_PRODUCT_VERSION = "0.1.37";
6
6
  const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
7
7
  function formatFasedDisplayLine() {
8
8
  return `${FASED_AGENT_NAME} ${FASED_DISPLAY_VERSION}`;
@@ -3,7 +3,7 @@ import { appendCdpPath, fetchJson, getHeadersWithAuth, withCdpSocket } from "./c
3
3
  import { assertBrowserNavigationAllowed, assertBrowserNavigationResultAllowed, withBrowserNavigationPolicy } from "./navigation-guard.js";
4
4
  import { normalizeCdpWsUrl } from "./cdp.js";
5
5
  import { getChromeWebSocketUrl } from "./chrome.js";
6
- import { chromium } from "playwright-core";
6
+ import { loadPlaywrightCore } from "./runtime-dependency.js";
7
7
 
8
8
  //#region src/browser/pw-session.ts
9
9
  const pageStates = new WeakMap();
@@ -205,6 +205,7 @@ async function connectBrowser(cdpUrl) {
205
205
  return await connecting;
206
206
  }
207
207
  const connectWithRetry = async () => {
208
+ const { chromium } = await loadPlaywrightCore();
208
209
  let lastErr;
209
210
  for (let attempt = 0; attempt < 3; attempt += 1) {
210
211
  try {
@@ -1,5 +1,5 @@
1
+ import { loadPlaywrightCore } from "./runtime-dependency.js";
1
2
  import { ensurePageState, getPageForTargetId } from "./pw-session.js";
2
- import { devices } from "playwright-core";
3
3
 
4
4
  //#region src/browser/pw-tools-core.state.ts
5
5
  async function withCdpSession(page, fn) {
@@ -117,7 +117,8 @@ async function setDeviceViaPlaywright(opts) {
117
117
  if (!name) {
118
118
  throw new Error("device name is required");
119
119
  }
120
- const descriptor = devices[name];
120
+ const { devices: playwrightDevices } = await loadPlaywrightCore();
121
+ const descriptor = playwrightDevices[name];
121
122
  if (!descriptor) {
122
123
  throw new Error(`Unknown device "${name}".`);
123
124
  }
@@ -0,0 +1,27 @@
1
+ import { importOptionalRuntimeDependency } from "../infra/optional-runtime-dependency.js";
2
+
3
+ //#region src/browser/runtime-dependency.ts
4
+ async function loadPlaywrightCore() {
5
+ return await importOptionalRuntimeDependency({
6
+ componentId: "browser-runtime",
7
+ packageName: "@fased/browser-runtime",
8
+ dependency: "playwright-core"
9
+ });
10
+ }
11
+ async function loadReadability() {
12
+ return await importOptionalRuntimeDependency({
13
+ componentId: "browser-runtime",
14
+ packageName: "@fased/browser-runtime",
15
+ dependency: "@mozilla/readability"
16
+ });
17
+ }
18
+ async function loadLinkedom() {
19
+ return await importOptionalRuntimeDependency({
20
+ componentId: "browser-runtime",
21
+ packageName: "@fased/browser-runtime",
22
+ dependency: "linkedom"
23
+ });
24
+ }
25
+
26
+ //#endregion
27
+ export { loadLinkedom, loadPlaywrightCore, loadReadability };
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.36",
3
- "commit": "ebeca5d94f9862be4209830435a42180a5abe3e5",
4
- "builtAt": "2026-07-10T13:41:37.971Z"
2
+ "version": "0.1.37",
3
+ "commit": "41b9386e3ee438a60a467c3890ebd5120ee1ef39",
4
+ "builtAt": "2026-07-10T18:41:37.271Z"
5
5
  }
@@ -1 +1 @@
1
- 5363c344b9dfd36b8357f73255661b597de82164350ffaa54267f7ec7e58ac79
1
+ 4f3f36017907c031c0b30470592dab1278ab2da0c3d61e5420d0edab666c5afb