@fased/fased 0.1.57 → 0.1.59

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 (172) hide show
  1. package/dist/agents/anthropic-payload-policy.js +188 -0
  2. package/dist/agents/anthropic-transport-stream.js +736 -0
  3. package/dist/agents/copilot-dynamic-headers.js +1 -1
  4. package/dist/agents/current-model-catalog.js +5 -2
  5. package/dist/agents/custom-api-registry.js +21 -0
  6. package/dist/agents/google-transport-stream.js +543 -0
  7. package/dist/agents/model-catalog-status.js +6 -1
  8. package/dist/agents/models-config.js +2 -1
  9. package/dist/agents/openai-completions-compat.js +49 -0
  10. package/dist/agents/openai-responses-payload-policy.js +100 -0
  11. package/dist/agents/openai-tool-schema.js +130 -0
  12. package/dist/agents/openai-transport-stream.js +1040 -0
  13. package/dist/agents/pi-embedded-runner/compact.js +9 -0
  14. package/dist/agents/pi-embedded-runner/run/attempt.js +9 -0
  15. package/dist/agents/pi-embedded-runner/session-manager-init.js +5 -20
  16. package/dist/agents/provider-extension-catalog-manifest.js +2 -2
  17. package/dist/agents/provider-request-config.js +1 -1
  18. package/dist/agents/provider-stream.js +29 -0
  19. package/dist/agents/provider-transport-fetch.js +89 -0
  20. package/dist/agents/provider-transport-stream.js +72 -0
  21. package/dist/agents/system-prompt-cache-boundary.js +1 -1
  22. package/dist/agents/system-prompt.js +1 -1
  23. package/dist/agents/transport-message-transform.js +143 -0
  24. package/dist/agents/transport-stream-shared.js +81 -0
  25. package/dist/brand.js +1 -1
  26. package/dist/build-info.json +3 -3
  27. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  28. package/dist/channels/delivery.js +78 -0
  29. package/dist/channels/plugins/catalog.js +10 -5
  30. package/dist/cli/components-cli.js +16 -13
  31. package/dist/cli/program/register.subclis.js +9 -0
  32. package/dist/cli/providers-cli.js +79 -6
  33. package/dist/cli/services-cli.js +28 -0
  34. package/dist/commands/auth-choice.js +1 -1
  35. package/dist/commands/models/list.auth-overview.js +12 -0
  36. package/dist/commands/onboard-channels.js +5 -0
  37. package/dist/commands/onboard-helpers.js +1 -1
  38. package/dist/commands/vllm-setup.js +12 -3
  39. package/dist/control-ui/assets/{app-DltSyY4Y.js → app-S_jg-ADS.js} +1706 -1675
  40. package/dist/control-ui/assets/{index-D5JlBp7f.js → index-C22rDOFm.js} +3 -3
  41. package/dist/control-ui/assets/{providers-Cc89iMdx.js → providers-QMn4w2_f.js} +3 -3
  42. package/dist/control-ui/index.html +1 -1
  43. package/dist/control-ui/version.json +1 -1
  44. package/dist/gateway/control-reply-text.js +10 -1
  45. package/dist/gateway/method-scopes.js +2 -0
  46. package/dist/gateway/protocol/schema/agents-models-skills.js +1 -0
  47. package/dist/gateway/server-chat.js +3 -3
  48. package/dist/gateway/server-methods/channels.js +10 -2
  49. package/dist/gateway/server-methods/chat.js +19 -12
  50. package/dist/gateway/server-methods/models.js +4 -0
  51. package/dist/gateway/server-methods/services.js +47 -2
  52. package/dist/gateway/server-methods-list.js +2 -0
  53. package/dist/gateway/session-event-payloads.js +20 -9
  54. package/dist/infra/google-api-base-url.js +29 -0
  55. package/dist/plugin-sdk/{accounts-CmMwe9Dt.js → accounts-DxblobYM.js} +1 -1
  56. package/dist/plugin-sdk/{actions-DYViFQiX.js → actions-D4UNimWa.js} +2 -2
  57. package/dist/plugin-sdk/{active-listener-DVbpcisf.js → active-listener-CFuy106s.js} +1 -1
  58. package/dist/plugin-sdk/{audio-preflight-D-Mfay8i.js → audio-preflight-CxZixyhW.js} +25 -25
  59. package/dist/plugin-sdk/{audit-JImYFOzJ.js → audit-Cs0K7LBp.js} +1 -1
  60. package/dist/plugin-sdk/{channel-access-cxCK2mci.js → channel-access-D5aHoTY8.js} +1 -1
  61. package/dist/plugin-sdk/{channel-access-configure-B_qYjml8.js → channel-access-configure-Dvch9mMQ.js} +1 -1
  62. package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
  63. package/dist/plugin-sdk/channel-plugin-common.js +4 -4
  64. package/dist/plugin-sdk/{chunk-CF8nvZNj.js → chunk-B0FUGc5A.js} +1 -1
  65. package/dist/plugin-sdk/{chunk-items-yLFoO571.js → chunk-items-Cy9a3X7x.js} +1 -1
  66. package/dist/plugin-sdk/command-status.js +25 -25
  67. package/dist/plugin-sdk/{commands-registry-CK4KmMG0.js → commands-registry-DmDRhRAU.js} +2 -2
  68. package/dist/plugin-sdk/{common-Cky4hpqr.js → common-CfUOowOp.js} +1 -1
  69. package/dist/plugin-sdk/{config-Dbxj_jUP.js → config-mxULv0fQ.js} +4 -1
  70. package/dist/plugin-sdk/{config-schema-aKPMn6ML.js → config-schema-D8E0LX8X.js} +4422 -486
  71. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  72. package/dist/plugin-sdk/discord.d.ts +4 -4
  73. package/dist/plugin-sdk/discord.js +19 -19
  74. package/dist/plugin-sdk/{handle-action-BSNDD2Vc.js → handle-action-DbVCF9HZ.js} +13 -13
  75. package/dist/plugin-sdk/{helpers-CDo2XBSr.js → helpers-BXbdgs5H.js} +1 -1
  76. package/dist/plugin-sdk/{image-ops-DbeBxbn4.js → image-ops-D7jPxaph.js} +1 -1
  77. package/dist/plugin-sdk/index.d.ts +15 -15
  78. package/dist/plugin-sdk/index.js +27 -27
  79. package/dist/plugin-sdk/{login-CWXvFTd8.js → login-BRxww6nv.js} +3 -3
  80. package/dist/plugin-sdk/{login-qr-CJB2zjmM.js → login-qr-DJXsk9XH.js} +3 -3
  81. package/dist/plugin-sdk/{manager-CbiFFLKS.js → manager-Y2S_5IlI.js} +2 -2
  82. package/dist/plugin-sdk/{markdown-tables-Bskt9r8i.js → markdown-tables-DHLFQqaF.js} +1 -1
  83. package/dist/plugin-sdk/{media-B3aAg5rh.js → media-Czo4carg.js} +2 -2
  84. package/dist/plugin-sdk/{monitor-BYGbTI5V.js → monitor-CFHFAUOj.js} +32 -32
  85. package/dist/plugin-sdk/{monitor-BJs6z7AT.js → monitor-xS9A8Upr.js} +29 -29
  86. package/dist/plugin-sdk/ollama-runtime.js +970 -0
  87. package/dist/plugin-sdk/{openresponses-http-BGCl2dS2.js → openresponses-http-BcUbeVV6.js} +25 -25
  88. package/dist/plugin-sdk/{optional-runtime-dependency-BlTVkcAg.js → optional-runtime-dependency-DdMbxS24.js} +1 -1
  89. package/dist/plugin-sdk/{outbound-CIemga5_.js → outbound-Db8mRN6P.js} +6 -6
  90. package/dist/plugin-sdk/{outbound-attachment-2RckWqrk.js → outbound-attachment-BqFjcypb.js} +2 -2
  91. package/dist/plugin-sdk/{pairing-message-r-VQfhFB.js → pairing-message-B3GC_7CD.js} +1 -1
  92. package/dist/plugin-sdk/{pairing-message-C403mq4K.d.ts → pairing-message-CxonJmwM.d.ts} +1 -1
  93. package/dist/plugin-sdk/{pairing-store-uPnLfGgB.js → pairing-store-CQikgIbw.js} +2 -2
  94. package/dist/plugin-sdk/{pi-model-discovery-BpEilAym.js → pi-model-discovery-CY3m5zJP.js} +1 -1
  95. package/dist/plugin-sdk/{pi-model-discovery-runtime-DwNdFaz-.js → pi-model-discovery-runtime-DSh1T2pn.js} +2 -2
  96. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
  97. package/dist/plugin-sdk/{pw-ai-H7UgunQQ.js → pw-ai-AFUqn-tQ.js} +3 -3
  98. package/dist/plugin-sdk/{replies-CKMwkH4G.js → replies-Fzh9PhXl.js} +2 -2
  99. package/dist/plugin-sdk/{resolve-outbound-target-B68fSoGi.js → resolve-outbound-target-KpF3co6T.js} +1 -1
  100. package/dist/plugin-sdk/{resolve-route-B8fOfihG.js → resolve-route-CDl74O19.js} +1 -1
  101. package/dist/plugin-sdk/{retry-policy-B6GQldxB.js → retry-policy-D4uiqUOG.js} +1 -1
  102. package/dist/plugin-sdk/{runtime-nVJl3PlS.js → runtime-Bb6KRnCC.js} +6 -4
  103. package/dist/plugin-sdk/{runtime-dependency-DlqVSsSs.js → runtime-dependency-DLDmB94f.js} +11 -11
  104. package/dist/plugin-sdk/sat-runtime.d.ts +2 -2
  105. package/dist/plugin-sdk/sat-runtime.js +25 -25
  106. package/dist/plugin-sdk/{send-CPK_HlYW.js → send-5nFktR1n.js} +5 -5
  107. package/dist/plugin-sdk/{send-hSu1HWms.js → send-Bfzf11VY.js} +7 -7
  108. package/dist/plugin-sdk/{send-D3DQOg2a.js → send-C4k4JuJN.js} +6 -6
  109. package/dist/plugin-sdk/{send-BHokB4TR.js → send-D-uDKGIq.js} +6 -6
  110. package/dist/plugin-sdk/{send-BCJ4hi3t.js → send-Du8ykP1k.js} +8 -8
  111. package/dist/plugin-sdk/{session-DQ4Dr-mf.js → session-CS-Td9EM.js} +2 -2
  112. package/dist/plugin-sdk/{skill-commands-CmdoKLh_.js → skill-commands-CFAlXWHk.js} +2 -2
  113. package/dist/plugin-sdk/{slack-B70NHpMF.js → slack-DXYGbizH.js} +37 -37
  114. package/dist/plugin-sdk/{slack-actions-fSmP981b.js → slack-actions-BcMkNv1Z.js} +11 -11
  115. package/dist/plugin-sdk/slack.d.ts +4 -4
  116. package/dist/plugin-sdk/slack.js +9 -9
  117. package/dist/plugin-sdk/{sticker-cache-B4dG2sKU.js → sticker-cache-Dr3rYfU1.js} +3 -3
  118. package/dist/plugin-sdk/{tables-EX4Hy-a-.js → tables-bFXyRpkx.js} +1 -1
  119. package/dist/plugin-sdk/{targets-BeGUCGWK.js → targets-DH7a9lKB.js} +1 -1
  120. package/dist/plugin-sdk/{telegram-actions-CM8SJgc9.js → telegram-actions-Besbw_Hg.js} +28 -28
  121. package/dist/plugin-sdk/telegram.d.ts +4 -4
  122. package/dist/plugin-sdk/telegram.js +8 -8
  123. package/dist/plugin-sdk/{thread-bindings.lifecycle-tHK_1mvp.js → thread-bindings.lifecycle-CgOvvdw8.js} +3 -3
  124. package/dist/plugin-sdk/{thread-bindings.state-D7xG1GHu.js → thread-bindings.state-CQpk44Hq.js} +2 -2
  125. package/dist/plugin-sdk/{tmp-fased-dir-Ouj58axY.d.ts → tmp-fased-dir-DQ00xQ5D.d.ts} +1 -1
  126. package/dist/plugin-sdk/{types-B4hj6HgR.d.ts → types-B6zx-Dl2.d.ts} +1 -1
  127. package/dist/plugin-sdk/{types-dWZFX1fk.d.ts → types-eUM7hcDz.d.ts} +1 -1
  128. package/dist/plugin-sdk/{web-BFolfZ3i.js → web-Q1-G--JH.js} +30 -30
  129. package/dist/plugin-sdk/{whatsapp-actions-CYmleHCz.js → whatsapp-actions-BtSc2CBv.js} +13 -13
  130. package/dist/plugin-sdk/{whatsapp-heartbeat-BEwm4GK3.js → whatsapp-heartbeat-Bg9TuYzl.js} +2 -2
  131. package/dist/plugin-sdk/whatsapp.d.ts +9 -9
  132. package/dist/plugin-sdk/whatsapp.js +12 -12
  133. package/dist/plugin-sdk/{wsl-BtMDzMv5.js → wsl-C4DGFkOd.js} +3 -3
  134. package/dist/plugin-sdk/{zod-schema.providers-core-FaYR6KdD.d.ts → zod-schema.providers-core-CIzCjXH9.d.ts} +61 -61
  135. package/dist/plugins/provider-runtime.js +79 -0
  136. package/dist/providers/refresh.js +14 -0
  137. package/extensions/acpx/package.json +1 -1
  138. package/extensions/bluebubbles/package.json +1 -1
  139. package/extensions/copilot-proxy/package.json +1 -1
  140. package/extensions/diagnostics-otel/package.json +1 -1
  141. package/extensions/fased-federation/package.json +1 -1
  142. package/extensions/google-gemini-cli-auth/package.json +1 -1
  143. package/extensions/imessage/package.json +1 -1
  144. package/extensions/irc/package.json +1 -1
  145. package/extensions/line/package.json +1 -1
  146. package/extensions/llm-task/package.json +1 -1
  147. package/extensions/lobster/package.json +1 -1
  148. package/extensions/matrix/CHANGELOG.md +12 -0
  149. package/extensions/matrix/package.json +1 -1
  150. package/extensions/mattermost/package.json +1 -1
  151. package/extensions/memory-core/package.json +2 -2
  152. package/extensions/memory-lancedb/package.json +1 -1
  153. package/extensions/minimax-portal-auth/package.json +1 -1
  154. package/extensions/msteams/CHANGELOG.md +12 -0
  155. package/extensions/msteams/package.json +1 -1
  156. package/extensions/nextcloud-talk/package.json +1 -1
  157. package/extensions/nostr/CHANGELOG.md +12 -0
  158. package/extensions/nostr/package.json +1 -1
  159. package/extensions/open-prose/package.json +1 -1
  160. package/extensions/sat-mining/package.json +1 -1
  161. package/extensions/signal/package.json +1 -1
  162. package/extensions/synology-chat/package.json +1 -1
  163. package/extensions/tlon/package.json +1 -1
  164. package/extensions/twitch/CHANGELOG.md +12 -0
  165. package/extensions/twitch/package.json +1 -1
  166. package/extensions/voice-call/CHANGELOG.md +12 -0
  167. package/extensions/voice-call/package.json +1 -1
  168. package/extensions/zalo/CHANGELOG.md +12 -0
  169. package/extensions/zalo/package.json +1 -1
  170. package/extensions/zalouser/CHANGELOG.md +12 -0
  171. package/extensions/zalouser/package.json +1 -1
  172. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/lobster",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "Lobster workflow tool plugin (typed pipelines + resumable approvals)",
5
5
  "type": "module",
6
6
  "fased": {
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.59
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core FasedAgent release numbers.
8
+
9
+ ## 0.1.58
10
+
11
+ ### Changes
12
+
13
+ - Version alignment with core FasedAgent release numbers.
14
+
3
15
  ## 0.1.57
4
16
 
5
17
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/matrix",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "FasedAgent Matrix channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/mattermost",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "FasedAgent Mattermost channel plugin",
5
5
  "type": "module",
6
6
  "fased": {
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@fased/memory-core",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "private": true,
5
5
  "description": "FasedAgent core memory search plugin",
6
6
  "type": "module",
7
7
  "peerDependencies": {
8
- "@fased/fased": "^0.1.57"
8
+ "@fased/fased": "^0.1.59"
9
9
  },
10
10
  "fased": {
11
11
  "extensions": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/memory-lancedb",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "private": true,
5
5
  "description": "FasedAgent LanceDB-backed long-term memory plugin with auto-recall/capture",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/minimax-portal-auth",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "private": true,
5
5
  "description": "FasedAgent MiniMax Portal OAuth provider plugin",
6
6
  "type": "module",
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.59
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core FasedAgent release numbers.
8
+
9
+ ## 0.1.58
10
+
11
+ ### Changes
12
+
13
+ - Version alignment with core FasedAgent release numbers.
14
+
3
15
  ## 0.1.57
4
16
 
5
17
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/msteams",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "FasedAgent Microsoft Teams channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/nextcloud-talk",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "FasedAgent Nextcloud Talk channel plugin",
5
5
  "type": "module",
6
6
  "fased": {
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.59
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core FasedAgent release numbers.
8
+
9
+ ## 0.1.58
10
+
11
+ ### Changes
12
+
13
+ - Version alignment with core FasedAgent release numbers.
14
+
3
15
  ## 0.1.57
4
16
 
5
17
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/nostr",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "FasedAgent Nostr channel plugin for NIP-04 encrypted DMs",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/open-prose",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "private": true,
5
5
  "description": "OpenProse VM skill pack plugin (slash command + telemetry).",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/sat-mining",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "private": true,
5
5
  "description": "SAT mining plugin scaffold for FasedAgent",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/signal",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "private": true,
5
5
  "description": "FasedAgent Signal channel plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/synology-chat",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "Synology Chat channel plugin for FasedAgent",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/tlon",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "FasedAgent Tlon/Urbit channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.59
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core FasedAgent release numbers.
8
+
9
+ ## 0.1.58
10
+
11
+ ### Changes
12
+
13
+ - Version alignment with core FasedAgent release numbers.
14
+
3
15
  ## 0.1.57
4
16
 
5
17
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/twitch",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "FasedAgent Twitch channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.59
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core FasedAgent release numbers.
8
+
9
+ ## 0.1.58
10
+
11
+ ### Changes
12
+
13
+ - Version alignment with core FasedAgent release numbers.
14
+
3
15
  ## 0.1.57
4
16
 
5
17
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/voice-call",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "FasedAgent voice-call plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.59
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core FasedAgent release numbers.
8
+
9
+ ## 0.1.58
10
+
11
+ ### Changes
12
+
13
+ - Version alignment with core FasedAgent release numbers.
14
+
3
15
  ## 0.1.57
4
16
 
5
17
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/zalo",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "FasedAgent Zalo channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.59
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core FasedAgent release numbers.
8
+
9
+ ## 0.1.58
10
+
11
+ ### Changes
12
+
13
+ - Version alignment with core FasedAgent release numbers.
14
+
3
15
  ## 0.1.57
4
16
 
5
17
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/zalouser",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "FasedAgent Zalo Personal Account plugin via zca-cli",
5
5
  "type": "module",
6
6
  "dependencies": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fased/fased",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "Fased Agent self-hosted AI gateway with channels, tools, plugins, and operator modules",
5
5
  "keywords": [
6
6
  "ai-agent",