fengming 0.3.10 → 0.3.12

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 (871) hide show
  1. package/dist/build-info.json +2 -2
  2. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  3. package/dist/cli/run-main.js +3 -3
  4. package/dist/cli-startup-metadata.json +8 -8
  5. package/dist/{command-registry-DMB-HKIk.js → command-registry-BHIBvpgR.js} +2 -2
  6. package/dist/{command-registry-C5ooX6PF.js → command-registry-BT5icv-c.js} +2 -2
  7. package/dist/{command-registry-core-B2w_XWvn.js → command-registry-core-C-a3GaYV.js} +2 -2
  8. package/dist/{completion-cli-Bf4mEw2W.js → completion-cli-BUfFF31m.js} +2 -2
  9. package/dist/control-ui/assets/{activity-D-mnRThU.js → activity-DF1iC1pF.js} +2 -2
  10. package/dist/control-ui/assets/{agents-U_KSP5I_.js → agents-CDGNJA8n.js} +2 -2
  11. package/dist/control-ui/assets/{channels-ohK9_G1O.js → channels-CAPFdCrE.js} +2 -2
  12. package/dist/control-ui/assets/{cron-6ZCzfU29.js → cron-DUUdUzzu.js} +2 -2
  13. package/dist/control-ui/assets/{debug-CSsDLg_s.js → debug-BwfVXGKK.js} +2 -2
  14. package/dist/control-ui/assets/{index-jUDczxhd.js → index-JWV4rMUy.js} +4 -4
  15. package/dist/control-ui/assets/{instances-782ZoDT4.js → instances-BqAPpn0Y.js} +2 -2
  16. package/dist/control-ui/assets/{nodes-BMX16BKM.js → nodes-gya-0PkG.js} +2 -2
  17. package/dist/control-ui/assets/{sessions-jLGSApYa.js → sessions-BdttyTpI.js} +2 -2
  18. package/dist/control-ui/assets/{skills-DweBwUhs.js → skills-D_rtwBjc.js} +2 -2
  19. package/dist/control-ui/assets/{workboard-BsU-FXIo.js → workboard-CIGDGkWB.js} +2 -2
  20. package/dist/control-ui/index.html +1 -1
  21. package/dist/control-ui/sw.js +1 -1
  22. package/dist/crestodian/crestodian.js +1 -1
  23. package/dist/crestodian/rescue-message.js +1 -1
  24. package/dist/{crestodian-C0x7JjF-.js → crestodian-CAxGCgHM.js} +3 -3
  25. package/dist/{dialogue-No0NvYX7.js → dialogue-CHuN9qet.js} +1 -1
  26. package/dist/gateway/protocol/index.d.ts +1 -1
  27. package/dist/{index-AZzJCgph.d.ts → index-DbpfOFUf.d.ts} +1 -1
  28. package/dist/{operations-Z85LFqsT.js → operations-Mvnrndji.js} +1 -1
  29. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  30. package/dist/plugin-sdk/{agent-harness-runtime-CgQiThzm.d.ts → agent-harness-runtime-Bkrjji63.d.ts} +2 -2
  31. package/dist/plugin-sdk/agent-harness-runtime.d.ts +4 -4
  32. package/dist/plugin-sdk/agent-harness-task-runtime.d.ts +1 -1
  33. package/dist/plugin-sdk/agent-harness.d.ts +4 -4
  34. package/dist/plugin-sdk/agent-runtime.d.ts +1 -1
  35. package/dist/plugin-sdk/{bundled-channel-config-schema-Dfn3b8sF.d.ts → bundled-channel-config-schema-ZTBQez8k.d.ts} +9 -9
  36. package/dist/plugin-sdk/bundled-channel-config-schema.d.ts +1 -1
  37. package/dist/plugin-sdk/channel-config-schema-legacy.d.ts +1 -1
  38. package/dist/plugin-sdk/channel-core.d.ts +2 -2
  39. package/dist/plugin-sdk/channel-entry-contract.d.ts +1 -1
  40. package/dist/plugin-sdk/{channel-pairing-CX6ncj1r.d.ts → channel-pairing-CzsPAHgH.d.ts} +1 -1
  41. package/dist/plugin-sdk/channel-pairing.d.ts +1 -1
  42. package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
  43. package/dist/plugin-sdk/cli-backend.d.ts +1 -1
  44. package/dist/plugin-sdk/compat.d.ts +4 -4
  45. package/dist/plugin-sdk/{config-schema-DuJUjn6k.d.ts → config-schema-N64y7n8C.d.ts} +1 -1
  46. package/dist/plugin-sdk/config-schema.d.ts +4 -4
  47. package/dist/plugin-sdk/{core-CPtu2Ftl.d.ts → core-BWZB2hNB.d.ts} +1 -1
  48. package/dist/plugin-sdk/core.d.ts +7 -7
  49. package/dist/plugin-sdk/{delegate-uk6vAMkc.d.ts → delegate-o5xckIuc.d.ts} +1 -1
  50. package/dist/plugin-sdk/discord.d.ts +3 -3
  51. package/dist/plugin-sdk/{fengming-runtime-Dt2ZEVYX.d.ts → fengming-runtime-abXAXyq2.d.ts} +1 -1
  52. package/dist/plugin-sdk/gateway-runtime.d.ts +1 -1
  53. package/dist/plugin-sdk/{host-compat-CM0h9ODw.d.ts → host-compat-D2Ky8seZ.d.ts} +1 -1
  54. package/dist/plugin-sdk/{http-registry-BniL_epL.d.ts → http-registry-oxJbX3E-.d.ts} +2 -2
  55. package/dist/plugin-sdk/image-generation-core.d.ts +4 -4
  56. package/dist/plugin-sdk/image-generation-runtime.d.ts +3 -3
  57. package/dist/plugin-sdk/index.d.ts +4 -4
  58. package/dist/plugin-sdk/lmstudio.d.ts +1 -1
  59. package/dist/plugin-sdk/{loader-aELh60PE.d.ts → loader-CgJhYjxT.d.ts} +3 -3
  60. package/dist/plugin-sdk/{logger-BpB3--7Z.d.ts → logger-CyDIBtoX.d.ts} +1 -1
  61. package/dist/plugin-sdk/logging-core.d.ts +3 -3
  62. package/dist/plugin-sdk/memory-core-host-engine-embeddings.d.ts +2 -2
  63. package/dist/plugin-sdk/memory-core-host-engine-foundation.d.ts +3 -3
  64. package/dist/plugin-sdk/{memory-core-host-engine-storage-DYPjOQCg.d.ts → memory-core-host-engine-storage-DfW7ZqD0.d.ts} +1 -1
  65. package/dist/plugin-sdk/memory-core-host-engine-storage.d.ts +1 -1
  66. package/dist/plugin-sdk/memory-core-host-runtime-cli.d.ts +1 -1
  67. package/dist/plugin-sdk/memory-core-host-runtime-core.d.ts +3 -3
  68. package/dist/plugin-sdk/memory-core.d.ts +3 -3
  69. package/dist/plugin-sdk/memory-host-core.d.ts +3 -3
  70. package/dist/plugin-sdk/migration-runtime.d.ts +1 -1
  71. package/dist/plugin-sdk/migration.d.ts +1 -1
  72. package/dist/plugin-sdk/music-generation-core.d.ts +2 -2
  73. package/dist/plugin-sdk/{plugin-entry-DO9kQeTr.d.ts → plugin-entry-C9xM-ZA9.d.ts} +1 -1
  74. package/dist/plugin-sdk/plugin-entry.d.ts +3 -3
  75. package/dist/plugin-sdk/plugin-runtime.d.ts +3 -3
  76. package/dist/plugin-sdk/{provider-api-key-auth-DvIiojS6.d.ts → provider-api-key-auth-DOmYPTC2.d.ts} +1 -1
  77. package/dist/plugin-sdk/provider-auth-api-key.d.ts +4 -4
  78. package/dist/plugin-sdk/{provider-auth-helpers-CYkWZ0vq.d.ts → provider-auth-helpers-pqDNrZTd.d.ts} +1 -1
  79. package/dist/plugin-sdk/{provider-auth-input-DUV6ZTw4.d.ts → provider-auth-input-Ckt-cU4H.d.ts} +1 -1
  80. package/dist/plugin-sdk/provider-auth-result.d.ts +1 -1
  81. package/dist/plugin-sdk/provider-auth-runtime.d.ts +1 -1
  82. package/dist/plugin-sdk/provider-auth.d.ts +5 -5
  83. package/dist/plugin-sdk/provider-catalog-runtime.d.ts +2 -2
  84. package/dist/plugin-sdk/{provider-catalog-shared-Cm3SyFfL.d.ts → provider-catalog-shared-QvOT8Wz1.d.ts} +1 -1
  85. package/dist/plugin-sdk/provider-catalog-shared.d.ts +2 -2
  86. package/dist/plugin-sdk/provider-entry.d.ts +3 -3
  87. package/dist/plugin-sdk/{provider-model-shared-D5rgn7Gb.d.ts → provider-model-shared-Bnc8IMx5.d.ts} +1 -1
  88. package/dist/plugin-sdk/provider-model-shared.d.ts +2 -2
  89. package/dist/plugin-sdk/{provider-registry-DxdZT9UN.d.ts → provider-registry-Ba1nNfhA.d.ts} +1 -1
  90. package/dist/plugin-sdk/{provider-registry-DiKX35tc.d.ts → provider-registry-CqB5bSAD.d.ts} +1 -1
  91. package/dist/plugin-sdk/{provider-registry-D0vmhPWL.d.ts → provider-registry-CxdVib8g.d.ts} +1 -1
  92. package/dist/plugin-sdk/{provider-self-hosted-setup-BPx7JMDC.d.ts → provider-self-hosted-setup-eMoeVPnF.d.ts} +1 -1
  93. package/dist/plugin-sdk/provider-setup.d.ts +2 -2
  94. package/dist/plugin-sdk/{provider-stream-DcC2vn_N.d.ts → provider-stream-CGaLae9n.d.ts} +1 -1
  95. package/dist/plugin-sdk/provider-stream-family.d.ts +2 -2
  96. package/dist/plugin-sdk/{provider-stream-shared-ByDv3QKm.d.ts → provider-stream-shared-u5mt-8_i.d.ts} +1 -1
  97. package/dist/plugin-sdk/provider-stream-shared.d.ts +1 -1
  98. package/dist/plugin-sdk/provider-stream.d.ts +2 -2
  99. package/dist/plugin-sdk/provider-tools.d.ts +1 -1
  100. package/dist/plugin-sdk/provider-web-fetch-contract.d.ts +1 -1
  101. package/dist/plugin-sdk/provider-web-fetch.d.ts +1 -1
  102. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +2 -2
  103. package/dist/plugin-sdk/{provider-web-search-contract-fields-CY4v8kS-.d.ts → provider-web-search-contract-fields-BiWOSs_d.d.ts} +1 -1
  104. package/dist/plugin-sdk/provider-web-search-contract.d.ts +2 -2
  105. package/dist/plugin-sdk/provider-web-search.d.ts +1 -1
  106. package/dist/plugin-sdk/realtime-transcription.d.ts +1 -1
  107. package/dist/plugin-sdk/realtime-voice.d.ts +1 -1
  108. package/dist/plugin-sdk/{redact-identifier-CVwkabcI.d.ts → redact-identifier-CVqsKaEK.d.ts} +1 -1
  109. package/dist/plugin-sdk/{registry-CzaGoAKH.d.ts → registry-Gq9OFlb3.d.ts} +2 -2
  110. package/dist/plugin-sdk/{registry-types-DN1yiH3F.d.ts → registry-types-DyBkef1H.d.ts} +2 -2
  111. package/dist/plugin-sdk/reply-runtime.d.ts +1 -1
  112. package/dist/plugin-sdk/runtime-env.d.ts +3 -3
  113. package/dist/plugin-sdk/runtime-store.d.ts +1 -1
  114. package/dist/plugin-sdk/runtime.d.ts +3 -3
  115. package/dist/plugin-sdk/self-hosted-provider-setup.d.ts +2 -2
  116. package/dist/plugin-sdk/simple-completion-runtime.d.ts +1 -1
  117. package/dist/plugin-sdk/speech-core.d.ts +2 -2
  118. package/dist/plugin-sdk/speech.d.ts +2 -2
  119. package/dist/plugin-sdk/{subsystem-n4Y4vCcQ.d.ts → subsystem-Boo2DQIV.d.ts} +1 -1
  120. package/dist/plugin-sdk/text-runtime.d.ts +2 -2
  121. package/dist/plugin-sdk/tool-plugin.d.ts +2 -2
  122. package/dist/plugin-sdk/{types-BI8R-vGd.d.ts → types-DGF1KeaJ.d.ts} +2 -2
  123. package/dist/plugin-sdk/{types-CsqNt0j8.d.ts → types-DpaN54PS.d.ts} +1 -1
  124. package/dist/plugin-sdk/{unhandled-rejections-D9eBl3hT.d.ts → unhandled-rejections-Bez6JG0y.d.ts} +2 -2
  125. package/dist/plugin-sdk/video-generation-core.d.ts +3 -3
  126. package/dist/plugin-sdk/video-generation-runtime.d.ts +3 -3
  127. package/dist/plugin-sdk/webhook-ingress.d.ts +1 -1
  128. package/dist/plugin-sdk/webhook-targets.d.ts +1 -1
  129. package/dist/{program-D19g2jaa.js → program-BaCHjV-F.js} +1 -1
  130. package/dist/{register.crestodian-BhIukKDA.js → register.crestodian-DMJEPMf3.js} +1 -1
  131. package/dist/register.subclis-B0BgjwyK.js +3 -0
  132. package/dist/{register.subclis-DVk0HU4k.js → register.subclis-BuoWG93n.js} +2 -2
  133. package/dist/{register.subclis-core-BK7nVvl6.js → register.subclis-core-BGBFrWE3.js} +2 -2
  134. package/dist/{standalone-CHrieUsw.js → standalone-CV2Ud6F7.js} +1 -1
  135. package/dist/tui-Bvt7hhwe.js +3 -0
  136. package/dist/tui-CFSmzhsm.js +2 -0
  137. package/dist/{tui-backend-_Pn3Byj-.js → tui-backend-Bm_t5G7x.js} +4 -4
  138. package/dist/{tui-cli-CAiC39zd.js → tui-cli-9Ny23hmo.js} +1 -1
  139. package/dist/tui-ink-run-CuExfFLV.js +2 -0
  140. package/dist/{tui-ink-run-ChXEGj1h.js → tui-ink-run-qNL49iQn.js} +17 -1
  141. package/package.json +6 -410
  142. package/CHANGELOG.md +0 -42
  143. package/THIRD_PARTY_NOTICES.md +0 -37
  144. package/dist/register.subclis-Bsvdh8RI.js +0 -3
  145. package/dist/tui-C733Qov0.js +0 -2
  146. package/dist/tui-DqbscVN5.js +0 -3
  147. package/dist/tui-ink-run-D4mSfLHj.js +0 -2
  148. package/docs/.i18n/README.md +0 -81
  149. package/docs/.i18n/ar-navigation.json +0 -18
  150. package/docs/.i18n/de-navigation.json +0 -18
  151. package/docs/.i18n/es-navigation.json +0 -18
  152. package/docs/.i18n/fr-navigation.json +0 -18
  153. package/docs/.i18n/glossary.ar.json +0 -78
  154. package/docs/.i18n/glossary.de.json +0 -78
  155. package/docs/.i18n/glossary.es.json +0 -78
  156. package/docs/.i18n/glossary.fa.json +0 -78
  157. package/docs/.i18n/glossary.fr.json +0 -78
  158. package/docs/.i18n/glossary.id.json +0 -78
  159. package/docs/.i18n/glossary.it.json +0 -78
  160. package/docs/.i18n/glossary.ja-JP.json +0 -98
  161. package/docs/.i18n/glossary.ko.json +0 -78
  162. package/docs/.i18n/glossary.nl.json +0 -78
  163. package/docs/.i18n/glossary.pl.json +0 -78
  164. package/docs/.i18n/glossary.pt-BR.json +0 -78
  165. package/docs/.i18n/glossary.th.json +0 -78
  166. package/docs/.i18n/glossary.tr.json +0 -78
  167. package/docs/.i18n/glossary.uk.json +0 -78
  168. package/docs/.i18n/glossary.vi.json +0 -78
  169. package/docs/.i18n/glossary.zh-CN.json +0 -1122
  170. package/docs/.i18n/glossary.zh-TW.json +0 -78
  171. package/docs/.i18n/id-navigation.json +0 -18
  172. package/docs/.i18n/it-navigation.json +0 -18
  173. package/docs/.i18n/ja-navigation.json +0 -18
  174. package/docs/.i18n/ko-navigation.json +0 -18
  175. package/docs/.i18n/pl-navigation.json +0 -18
  176. package/docs/.i18n/pt-BR-navigation.json +0 -18
  177. package/docs/.i18n/tr-navigation.json +0 -18
  178. package/docs/.i18n/translation-workflow.md +0 -111
  179. package/docs/.i18n/zh-Hans-navigation.json +0 -552
  180. package/docs/AGENTS.md +0 -36
  181. package/docs/CLAUDE.md +0 -1
  182. package/docs/agent-runtime-architecture.md +0 -48
  183. package/docs/announcements/bluebubbles-imessage.md +0 -79
  184. package/docs/auth-credential-semantics.md +0 -124
  185. package/docs/automation/auth-monitoring.md +0 -11
  186. package/docs/automation/clawflow.md +0 -12
  187. package/docs/automation/cron-jobs.md +0 -534
  188. package/docs/automation/cron-vs-heartbeat.md +0 -11
  189. package/docs/automation/gmail-pubsub.md +0 -11
  190. package/docs/automation/hooks.md +0 -387
  191. package/docs/automation/index.md +0 -135
  192. package/docs/automation/poll.md +0 -12
  193. package/docs/automation/standing-orders.md +0 -250
  194. package/docs/automation/taskflow.md +0 -155
  195. package/docs/automation/tasks.md +0 -374
  196. package/docs/automation/troubleshooting.md +0 -12
  197. package/docs/automation/webhook.md +0 -12
  198. package/docs/brave-search.md +0 -11
  199. package/docs/channels/access-groups.md +0 -201
  200. package/docs/channels/ambient-room-events.md +0 -214
  201. package/docs/channels/bot-loop-protection.md +0 -131
  202. package/docs/channels/broadcast-groups.md +0 -472
  203. package/docs/channels/channel-routing.md +0 -162
  204. package/docs/channels/clickclack.md +0 -138
  205. package/docs/channels/discord.md +0 -1758
  206. package/docs/channels/feishu.md +0 -650
  207. package/docs/channels/googlechat.md +0 -284
  208. package/docs/channels/group-messages.md +0 -95
  209. package/docs/channels/groups.md +0 -524
  210. package/docs/channels/imessage-from-bluebubbles.md +0 -259
  211. package/docs/channels/imessage.md +0 -839
  212. package/docs/channels/index.md +0 -64
  213. package/docs/channels/irc.md +0 -253
  214. package/docs/channels/line.md +0 -243
  215. package/docs/channels/location.md +0 -71
  216. package/docs/channels/matrix-migration.md +0 -370
  217. package/docs/channels/matrix-presentation.md +0 -77
  218. package/docs/channels/matrix-push-rules.md +0 -150
  219. package/docs/channels/matrix.md +0 -921
  220. package/docs/channels/mattermost.md +0 -542
  221. package/docs/channels/msteams.md +0 -1096
  222. package/docs/channels/nextcloud-talk.md +0 -176
  223. package/docs/channels/nostr.md +0 -253
  224. package/docs/channels/pairing.md +0 -214
  225. package/docs/channels/qqbot.md +0 -314
  226. package/docs/channels/signal.md +0 -417
  227. package/docs/channels/slack.md +0 -1623
  228. package/docs/channels/synology-chat.md +0 -187
  229. package/docs/channels/telegram.md +0 -1124
  230. package/docs/channels/tlon.md +0 -296
  231. package/docs/channels/troubleshooting.md +0 -162
  232. package/docs/channels/twitch.md +0 -431
  233. package/docs/channels/wechat.md +0 -171
  234. package/docs/channels/whatsapp.md +0 -796
  235. package/docs/channels/yuanbao.md +0 -416
  236. package/docs/channels/zalo.md +0 -253
  237. package/docs/channels/zalouser.md +0 -217
  238. package/docs/ci.md +0 -657
  239. package/docs/clawhub/publishing.md +0 -96
  240. package/docs/cli/acp.md +0 -370
  241. package/docs/cli/agent.md +0 -109
  242. package/docs/cli/agents.md +0 -253
  243. package/docs/cli/approvals.md +0 -190
  244. package/docs/cli/backup.md +0 -98
  245. package/docs/cli/browser.md +0 -307
  246. package/docs/cli/channels.md +0 -154
  247. package/docs/cli/clawbot.md +0 -25
  248. package/docs/cli/commitments.md +0 -90
  249. package/docs/cli/completion.md +0 -39
  250. package/docs/cli/config.md +0 -504
  251. package/docs/cli/configure.md +0 -77
  252. package/docs/cli/crestodian.md +0 -337
  253. package/docs/cli/cron.md +0 -304
  254. package/docs/cli/daemon.md +0 -67
  255. package/docs/cli/dashboard.md +0 -33
  256. package/docs/cli/devices.md +0 -240
  257. package/docs/cli/directory.md +0 -68
  258. package/docs/cli/dns.md +0 -53
  259. package/docs/cli/docs.md +0 -63
  260. package/docs/cli/doctor.md +0 -241
  261. package/docs/cli/flows.md +0 -52
  262. package/docs/cli/gateway.md +0 -572
  263. package/docs/cli/health.md +0 -43
  264. package/docs/cli/hooks.md +0 -345
  265. package/docs/cli/index.md +0 -400
  266. package/docs/cli/infer.md +0 -364
  267. package/docs/cli/logs.md +0 -68
  268. package/docs/cli/mcp.md +0 -529
  269. package/docs/cli/memory.md +0 -183
  270. package/docs/cli/message.md +0 -317
  271. package/docs/cli/migrate.md +0 -334
  272. package/docs/cli/models.md +0 -239
  273. package/docs/cli/node.md +0 -177
  274. package/docs/cli/nodes.md +0 -76
  275. package/docs/cli/onboard.md +0 -250
  276. package/docs/cli/pairing.md +0 -77
  277. package/docs/cli/path.md +0 -511
  278. package/docs/cli/plugins.md +0 -459
  279. package/docs/cli/policy.md +0 -886
  280. package/docs/cli/proxy.md +0 -89
  281. package/docs/cli/qr.md +0 -56
  282. package/docs/cli/reset.md +0 -39
  283. package/docs/cli/sandbox.md +0 -208
  284. package/docs/cli/secrets.md +0 -202
  285. package/docs/cli/security.md +0 -136
  286. package/docs/cli/sessions.md +0 -164
  287. package/docs/cli/setup.md +0 -59
  288. package/docs/cli/skills.md +0 -122
  289. package/docs/cli/status.md +0 -45
  290. package/docs/cli/system.md +0 -89
  291. package/docs/cli/tasks.md +0 -111
  292. package/docs/cli/transcripts.md +0 -151
  293. package/docs/cli/tui.md +0 -91
  294. package/docs/cli/uninstall.md +0 -44
  295. package/docs/cli/update.md +0 -243
  296. package/docs/cli/voicecall.md +0 -204
  297. package/docs/cli/webhooks.md +0 -117
  298. package/docs/cli/wiki.md +0 -256
  299. package/docs/concepts/active-memory.md +0 -856
  300. package/docs/concepts/agent-loop.md +0 -185
  301. package/docs/concepts/agent-runtimes.md +0 -276
  302. package/docs/concepts/agent-workspace.md +0 -230
  303. package/docs/concepts/agent.md +0 -140
  304. package/docs/concepts/architecture.md +0 -154
  305. package/docs/concepts/channel-docking.md +0 -145
  306. package/docs/concepts/commitments.md +0 -150
  307. package/docs/concepts/compaction.md +0 -203
  308. package/docs/concepts/context-engine.md +0 -347
  309. package/docs/concepts/context.md +0 -199
  310. package/docs/concepts/delegate-architecture.md +0 -319
  311. package/docs/concepts/dreaming.md +0 -264
  312. package/docs/concepts/experimental-features.md +0 -109
  313. package/docs/concepts/features.md +0 -91
  314. package/docs/concepts/fengming-sdk.md +0 -323
  315. package/docs/concepts/mantis-slack-desktop-runbook.md +0 -231
  316. package/docs/concepts/mantis.md +0 -744
  317. package/docs/concepts/markdown-formatting.md +0 -139
  318. package/docs/concepts/memory-builtin.md +0 -148
  319. package/docs/concepts/memory-honcho.md +0 -144
  320. package/docs/concepts/memory-qmd.md +0 -271
  321. package/docs/concepts/memory-search.md +0 -167
  322. package/docs/concepts/memory.md +0 -299
  323. package/docs/concepts/message-lifecycle-refactor.md +0 -1126
  324. package/docs/concepts/messages.md +0 -214
  325. package/docs/concepts/model-failover.md +0 -384
  326. package/docs/concepts/model-providers.md +0 -719
  327. package/docs/concepts/models.md +0 -371
  328. package/docs/concepts/multi-agent.md +0 -625
  329. package/docs/concepts/oauth.md +0 -198
  330. package/docs/concepts/parallel-specialist-lanes.md +0 -127
  331. package/docs/concepts/personal-agent-benchmark-pack.md +0 -74
  332. package/docs/concepts/presence.md +0 -117
  333. package/docs/concepts/progress-drafts.md +0 -406
  334. package/docs/concepts/qa-e2e-automation.md +0 -947
  335. package/docs/concepts/qa-matrix.md +0 -139
  336. package/docs/concepts/queue-steering.md +0 -90
  337. package/docs/concepts/queue.md +0 -136
  338. package/docs/concepts/retry.md +0 -86
  339. package/docs/concepts/session-pruning.md +0 -104
  340. package/docs/concepts/session-tool.md +0 -188
  341. package/docs/concepts/session.md +0 -164
  342. package/docs/concepts/soul.md +0 -116
  343. package/docs/concepts/streaming.md +0 -257
  344. package/docs/concepts/system-prompt.md +0 -328
  345. package/docs/concepts/timezone.md +0 -47
  346. package/docs/concepts/typebox.md +0 -309
  347. package/docs/concepts/typing-indicators.md +0 -88
  348. package/docs/concepts/usage-tracking.md +0 -66
  349. package/docs/date-time.md +0 -126
  350. package/docs/debug/node-issue.md +0 -90
  351. package/docs/diagnostics/flags.md +0 -182
  352. package/docs/docs.json +0 -1862
  353. package/docs/fengming-agent-runtime.md +0 -82
  354. package/docs/gateway/authentication.md +0 -256
  355. package/docs/gateway/background-process.md +0 -147
  356. package/docs/gateway/bonjour.md +0 -303
  357. package/docs/gateway/bridge-protocol.md +0 -97
  358. package/docs/gateway/cli-backends.md +0 -439
  359. package/docs/gateway/config-agents.md +0 -1525
  360. package/docs/gateway/config-channels.md +0 -945
  361. package/docs/gateway/config-tools.md +0 -774
  362. package/docs/gateway/configuration-examples.md +0 -704
  363. package/docs/gateway/configuration-reference.md +0 -1391
  364. package/docs/gateway/configuration.md +0 -739
  365. package/docs/gateway/diagnostics.md +0 -213
  366. package/docs/gateway/discovery.md +0 -154
  367. package/docs/gateway/doctor.md +0 -575
  368. package/docs/gateway/gateway-lock.md +0 -37
  369. package/docs/gateway/health.md +0 -73
  370. package/docs/gateway/heartbeat.md +0 -498
  371. package/docs/gateway/index.md +0 -383
  372. package/docs/gateway/local-model-services.md +0 -205
  373. package/docs/gateway/local-models.md +0 -355
  374. package/docs/gateway/logging.md +0 -149
  375. package/docs/gateway/multiple-gateways.md +0 -178
  376. package/docs/gateway/network-model.md +0 -15
  377. package/docs/gateway/openai-http-api.md +0 -378
  378. package/docs/gateway/openresponses-http-api.md +0 -347
  379. package/docs/gateway/openshell.md +0 -316
  380. package/docs/gateway/opentelemetry.md +0 -433
  381. package/docs/gateway/operator-scopes.md +0 -119
  382. package/docs/gateway/pairing.md +0 -207
  383. package/docs/gateway/prometheus.md +0 -249
  384. package/docs/gateway/protocol.md +0 -826
  385. package/docs/gateway/remote-gateway-readme.md +0 -169
  386. package/docs/gateway/remote.md +0 -280
  387. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -148
  388. package/docs/gateway/sandboxing.md +0 -546
  389. package/docs/gateway/secrets-plan-contract.md +0 -159
  390. package/docs/gateway/secrets.md +0 -805
  391. package/docs/gateway/security/audit-checks.md +0 -127
  392. package/docs/gateway/security/exposure-runbook.md +0 -212
  393. package/docs/gateway/security/index.md +0 -1343
  394. package/docs/gateway/security/secure-file-operations.md +0 -76
  395. package/docs/gateway/security/shrinkwrap.md +0 -111
  396. package/docs/gateway/tailscale.md +0 -156
  397. package/docs/gateway/tools-invoke-http-api.md +0 -169
  398. package/docs/gateway/troubleshooting.md +0 -877
  399. package/docs/gateway/trusted-proxy-auth.md +0 -483
  400. package/docs/help/debugging.md +0 -341
  401. package/docs/help/environment.md +0 -233
  402. package/docs/help/faq-first-run.md +0 -870
  403. package/docs/help/faq-models.md +0 -556
  404. package/docs/help/faq.md +0 -2041
  405. package/docs/help/index.md +0 -39
  406. package/docs/help/scripts.md +0 -56
  407. package/docs/help/testing-live.md +0 -587
  408. package/docs/help/testing-updates-plugins.md +0 -299
  409. package/docs/help/testing.md +0 -977
  410. package/docs/help/troubleshooting.md +0 -449
  411. package/docs/index.md +0 -196
  412. package/docs/install/ansible.md +0 -233
  413. package/docs/install/azure.md +0 -315
  414. package/docs/install/bun.md +0 -59
  415. package/docs/install/clawdock.md +0 -112
  416. package/docs/install/development-channels.md +0 -148
  417. package/docs/install/digitalocean.md +0 -174
  418. package/docs/install/docker-vm-runtime.md +0 -154
  419. package/docs/install/docker.md +0 -564
  420. package/docs/install/exe-dev.md +0 -201
  421. package/docs/install/fly.md +0 -524
  422. package/docs/install/gcp.md +0 -418
  423. package/docs/install/hetzner.md +0 -285
  424. package/docs/install/hostinger.md +0 -98
  425. package/docs/install/index.md +0 -232
  426. package/docs/install/installer.md +0 -447
  427. package/docs/install/kubernetes.md +0 -196
  428. package/docs/install/macos-vm.md +0 -281
  429. package/docs/install/migrating-claude.md +0 -165
  430. package/docs/install/migrating-hermes.md +0 -178
  431. package/docs/install/migrating.md +0 -137
  432. package/docs/install/nix.md +0 -112
  433. package/docs/install/node.md +0 -142
  434. package/docs/install/northflank.mdx +0 -44
  435. package/docs/install/oracle.md +0 -218
  436. package/docs/install/podman.md +0 -216
  437. package/docs/install/railway.mdx +0 -92
  438. package/docs/install/raspberry-pi.md +0 -234
  439. package/docs/install/render.mdx +0 -167
  440. package/docs/install/uninstall.md +0 -131
  441. package/docs/install/updating.md +0 -284
  442. package/docs/install/upstash.md +0 -96
  443. package/docs/logging.md +0 -320
  444. package/docs/nav-tabs-underline.js +0 -100
  445. package/docs/network.md +0 -72
  446. package/docs/nodes/audio.md +0 -216
  447. package/docs/nodes/camera.md +0 -166
  448. package/docs/nodes/images.md +0 -77
  449. package/docs/nodes/index.md +0 -439
  450. package/docs/nodes/location-command.md +0 -102
  451. package/docs/nodes/media-understanding.md +0 -495
  452. package/docs/nodes/talk.md +0 -160
  453. package/docs/nodes/troubleshooting.md +0 -123
  454. package/docs/nodes/voicewake.md +0 -93
  455. package/docs/perplexity.md +0 -11
  456. package/docs/plan/codex-context-engine-harness.md +0 -624
  457. package/docs/plan/ui-channels.md +0 -284
  458. package/docs/platforms/digitalocean.md +0 -12
  459. package/docs/platforms/easyrunner.md +0 -109
  460. package/docs/platforms/index.md +0 -51
  461. package/docs/platforms/linux.md +0 -141
  462. package/docs/platforms/mac/bundled-gateway.md +0 -79
  463. package/docs/platforms/mac/canvas.md +0 -128
  464. package/docs/platforms/mac/child-process.md +0 -72
  465. package/docs/platforms/mac/dev-setup.md +0 -112
  466. package/docs/platforms/mac/health.md +0 -39
  467. package/docs/platforms/mac/icon.md +0 -36
  468. package/docs/platforms/mac/logging.md +0 -62
  469. package/docs/platforms/mac/menu-bar.md +0 -93
  470. package/docs/platforms/mac/peekaboo.md +0 -96
  471. package/docs/platforms/mac/permissions.md +0 -73
  472. package/docs/platforms/mac/remote.md +0 -123
  473. package/docs/platforms/mac/signing.md +0 -52
  474. package/docs/platforms/mac/skills.md +0 -43
  475. package/docs/platforms/mac/voice-overlay.md +0 -66
  476. package/docs/platforms/mac/voicewake.md +0 -73
  477. package/docs/platforms/mac/webchat.md +0 -54
  478. package/docs/platforms/mac/xpc.md +0 -66
  479. package/docs/platforms/oracle.md +0 -12
  480. package/docs/platforms/raspberry-pi.md +0 -13
  481. package/docs/platforms/windows.md +0 -286
  482. package/docs/plugins/adding-capabilities.md +0 -146
  483. package/docs/plugins/admin-http-rpc.md +0 -216
  484. package/docs/plugins/agent-tools.md +0 -13
  485. package/docs/plugins/architecture-internals.md +0 -1196
  486. package/docs/plugins/architecture.md +0 -483
  487. package/docs/plugins/building-extensions.md +0 -13
  488. package/docs/plugins/building-plugins.md +0 -335
  489. package/docs/plugins/bundles.md +0 -310
  490. package/docs/plugins/cli-backend-plugins.md +0 -310
  491. package/docs/plugins/codex-computer-use.md +0 -297
  492. package/docs/plugins/codex-harness-reference.md +0 -470
  493. package/docs/plugins/codex-harness-runtime.md +0 -268
  494. package/docs/plugins/codex-harness.md +0 -780
  495. package/docs/plugins/codex-native-plugins.md +0 -276
  496. package/docs/plugins/community.md +0 -77
  497. package/docs/plugins/compatibility.md +0 -167
  498. package/docs/plugins/copilot.md +0 -356
  499. package/docs/plugins/dependency-resolution.md +0 -176
  500. package/docs/plugins/google-meet.md +0 -1737
  501. package/docs/plugins/hooks.md +0 -484
  502. package/docs/plugins/install-overrides.md +0 -80
  503. package/docs/plugins/manage-plugins.md +0 -210
  504. package/docs/plugins/manifest.md +0 -1457
  505. package/docs/plugins/memory-lancedb.md +0 -385
  506. package/docs/plugins/memory-wiki.md +0 -529
  507. package/docs/plugins/message-presentation.md +0 -473
  508. package/docs/plugins/oc-path.md +0 -166
  509. package/docs/plugins/plugin-inventory.md +0 -189
  510. package/docs/plugins/plugin-permission-requests.md +0 -193
  511. package/docs/plugins/reference/acpx.md +0 -23
  512. package/docs/plugins/reference/admin-http-rpc.md +0 -23
  513. package/docs/plugins/reference/alibaba.md +0 -23
  514. package/docs/plugins/reference/amazon-bedrock-mantle.md +0 -23
  515. package/docs/plugins/reference/amazon-bedrock.md +0 -23
  516. package/docs/plugins/reference/anthropic-vertex.md +0 -19
  517. package/docs/plugins/reference/anthropic.md +0 -23
  518. package/docs/plugins/reference/arcee.md +0 -23
  519. package/docs/plugins/reference/azure-speech.md +0 -23
  520. package/docs/plugins/reference/bonjour.md +0 -19
  521. package/docs/plugins/reference/brave.md +0 -23
  522. package/docs/plugins/reference/browser.md +0 -23
  523. package/docs/plugins/reference/byteplus.md +0 -19
  524. package/docs/plugins/reference/canvas.md +0 -19
  525. package/docs/plugins/reference/cerebras.md +0 -23
  526. package/docs/plugins/reference/chutes.md +0 -23
  527. package/docs/plugins/reference/clickclack.md +0 -23
  528. package/docs/plugins/reference/cloudflare-ai-gateway.md +0 -23
  529. package/docs/plugins/reference/codex-supervisor.md +0 -27
  530. package/docs/plugins/reference/codex.md +0 -23
  531. package/docs/plugins/reference/comfy.md +0 -23
  532. package/docs/plugins/reference/copilot-proxy.md +0 -19
  533. package/docs/plugins/reference/copilot.md +0 -23
  534. package/docs/plugins/reference/deepgram.md +0 -23
  535. package/docs/plugins/reference/deepinfra.md +0 -23
  536. package/docs/plugins/reference/deepseek.md +0 -23
  537. package/docs/plugins/reference/diagnostics-otel.md +0 -19
  538. package/docs/plugins/reference/diagnostics-prometheus.md +0 -19
  539. package/docs/plugins/reference/diffs-language-pack.md +0 -19
  540. package/docs/plugins/reference/diffs.md +0 -19
  541. package/docs/plugins/reference/discord.md +0 -23
  542. package/docs/plugins/reference/document-extract.md +0 -23
  543. package/docs/plugins/reference/duckduckgo.md +0 -23
  544. package/docs/plugins/reference/elevenlabs.md +0 -23
  545. package/docs/plugins/reference/exa.md +0 -23
  546. package/docs/plugins/reference/fal.md +0 -23
  547. package/docs/plugins/reference/feishu.md +0 -23
  548. package/docs/plugins/reference/file-transfer.md +0 -19
  549. package/docs/plugins/reference/firecrawl.md +0 -23
  550. package/docs/plugins/reference/fireworks.md +0 -23
  551. package/docs/plugins/reference/github-copilot.md +0 -23
  552. package/docs/plugins/reference/gmi.md +0 -23
  553. package/docs/plugins/reference/google-meet.md +0 -23
  554. package/docs/plugins/reference/google.md +0 -23
  555. package/docs/plugins/reference/googlechat.md +0 -23
  556. package/docs/plugins/reference/gradium.md +0 -23
  557. package/docs/plugins/reference/groq.md +0 -23
  558. package/docs/plugins/reference/huggingface.md +0 -23
  559. package/docs/plugins/reference/imessage.md +0 -23
  560. package/docs/plugins/reference/inworld.md +0 -23
  561. package/docs/plugins/reference/irc.md +0 -23
  562. package/docs/plugins/reference/kilocode.md +0 -23
  563. package/docs/plugins/reference/kimi.md +0 -23
  564. package/docs/plugins/reference/line.md +0 -23
  565. package/docs/plugins/reference/litellm.md +0 -23
  566. package/docs/plugins/reference/llm-task.md +0 -19
  567. package/docs/plugins/reference/lmstudio.md +0 -23
  568. package/docs/plugins/reference/lobster.md +0 -19
  569. package/docs/plugins/reference/matrix.md +0 -23
  570. package/docs/plugins/reference/mattermost.md +0 -23
  571. package/docs/plugins/reference/memory-core.md +0 -19
  572. package/docs/plugins/reference/memory-lancedb.md +0 -23
  573. package/docs/plugins/reference/memory-wiki.md +0 -23
  574. package/docs/plugins/reference/microsoft-foundry.md +0 -19
  575. package/docs/plugins/reference/microsoft.md +0 -19
  576. package/docs/plugins/reference/migrate-claude.md +0 -19
  577. package/docs/plugins/reference/migrate-hermes.md +0 -19
  578. package/docs/plugins/reference/minimax.md +0 -23
  579. package/docs/plugins/reference/mistral.md +0 -23
  580. package/docs/plugins/reference/moonshot.md +0 -23
  581. package/docs/plugins/reference/msteams.md +0 -23
  582. package/docs/plugins/reference/nextcloud-talk.md +0 -23
  583. package/docs/plugins/reference/nostr.md +0 -23
  584. package/docs/plugins/reference/novita.md +0 -23
  585. package/docs/plugins/reference/nvidia.md +0 -23
  586. package/docs/plugins/reference/oc-path.md +0 -23
  587. package/docs/plugins/reference/ollama.md +0 -23
  588. package/docs/plugins/reference/open-prose.md +0 -19
  589. package/docs/plugins/reference/openai.md +0 -23
  590. package/docs/plugins/reference/opencode-go.md +0 -23
  591. package/docs/plugins/reference/opencode.md +0 -23
  592. package/docs/plugins/reference/openrouter.md +0 -23
  593. package/docs/plugins/reference/openshell.md +0 -19
  594. package/docs/plugins/reference/perplexity.md +0 -23
  595. package/docs/plugins/reference/pixverse.md +0 -23
  596. package/docs/plugins/reference/policy.md +0 -72
  597. package/docs/plugins/reference/qa-channel.md +0 -23
  598. package/docs/plugins/reference/qa-lab.md +0 -19
  599. package/docs/plugins/reference/qa-matrix.md +0 -19
  600. package/docs/plugins/reference/qianfan.md +0 -23
  601. package/docs/plugins/reference/qqbot.md +0 -23
  602. package/docs/plugins/reference/qwen.md +0 -23
  603. package/docs/plugins/reference/runway.md +0 -23
  604. package/docs/plugins/reference/searxng.md +0 -19
  605. package/docs/plugins/reference/senseaudio.md +0 -23
  606. package/docs/plugins/reference/sglang.md +0 -23
  607. package/docs/plugins/reference/signal.md +0 -23
  608. package/docs/plugins/reference/skill-workshop.md +0 -23
  609. package/docs/plugins/reference/slack.md +0 -23
  610. package/docs/plugins/reference/stepfun.md +0 -23
  611. package/docs/plugins/reference/synology-chat.md +0 -23
  612. package/docs/plugins/reference/synthetic.md +0 -23
  613. package/docs/plugins/reference/tavily.md +0 -23
  614. package/docs/plugins/reference/telegram.md +0 -23
  615. package/docs/plugins/reference/tencent.md +0 -23
  616. package/docs/plugins/reference/tlon.md +0 -23
  617. package/docs/plugins/reference/together.md +0 -23
  618. package/docs/plugins/reference/tokenjuice.md +0 -23
  619. package/docs/plugins/reference/tts-local-cli.md +0 -19
  620. package/docs/plugins/reference/twitch.md +0 -23
  621. package/docs/plugins/reference/venice.md +0 -23
  622. package/docs/plugins/reference/vercel-ai-gateway.md +0 -23
  623. package/docs/plugins/reference/vllm.md +0 -23
  624. package/docs/plugins/reference/voice-call.md +0 -23
  625. package/docs/plugins/reference/volcengine.md +0 -23
  626. package/docs/plugins/reference/voyage.md +0 -19
  627. package/docs/plugins/reference/vydra.md +0 -23
  628. package/docs/plugins/reference/web-readability.md +0 -19
  629. package/docs/plugins/reference/webhooks.md +0 -23
  630. package/docs/plugins/reference/whatsapp.md +0 -23
  631. package/docs/plugins/reference/workboard.md +0 -23
  632. package/docs/plugins/reference/xai.md +0 -23
  633. package/docs/plugins/reference/xiaomi.md +0 -23
  634. package/docs/plugins/reference/zai.md +0 -23
  635. package/docs/plugins/reference/zalo.md +0 -23
  636. package/docs/plugins/reference/zalouser.md +0 -24
  637. package/docs/plugins/reference.md +0 -145
  638. package/docs/plugins/sdk-agent-harness.md +0 -338
  639. package/docs/plugins/sdk-channel-inbound.md +0 -70
  640. package/docs/plugins/sdk-channel-ingress.md +0 -137
  641. package/docs/plugins/sdk-channel-message.md +0 -18
  642. package/docs/plugins/sdk-channel-outbound.md +0 -113
  643. package/docs/plugins/sdk-channel-plugins.md +0 -765
  644. package/docs/plugins/sdk-channel-turn.md +0 -9
  645. package/docs/plugins/sdk-entrypoints.md +0 -344
  646. package/docs/plugins/sdk-migration.md +0 -979
  647. package/docs/plugins/sdk-overview.md +0 -511
  648. package/docs/plugins/sdk-provider-plugins.md +0 -846
  649. package/docs/plugins/sdk-runtime.md +0 -676
  650. package/docs/plugins/sdk-setup.md +0 -550
  651. package/docs/plugins/sdk-subpaths.md +0 -391
  652. package/docs/plugins/sdk-testing.md +0 -403
  653. package/docs/plugins/skill-workshop.md +0 -713
  654. package/docs/plugins/tool-plugins.md +0 -411
  655. package/docs/plugins/voice-call.md +0 -942
  656. package/docs/plugins/webhooks.md +0 -192
  657. package/docs/plugins/workboard.md +0 -252
  658. package/docs/plugins/zalouser.md +0 -86
  659. package/docs/prose.md +0 -137
  660. package/docs/providers/alibaba.md +0 -158
  661. package/docs/providers/anthropic.md +0 -381
  662. package/docs/providers/arcee.md +0 -144
  663. package/docs/providers/azure-speech.md +0 -119
  664. package/docs/providers/bedrock-mantle.md +0 -211
  665. package/docs/providers/bedrock.md +0 -414
  666. package/docs/providers/cerebras.md +0 -130
  667. package/docs/providers/chutes.md +0 -153
  668. package/docs/providers/claude-max-api-proxy.md +0 -191
  669. package/docs/providers/cloudflare-ai-gateway.md +0 -119
  670. package/docs/providers/comfy.md +0 -362
  671. package/docs/providers/deepgram.md +0 -184
  672. package/docs/providers/deepinfra.md +0 -92
  673. package/docs/providers/deepseek.md +0 -146
  674. package/docs/providers/ds4.md +0 -309
  675. package/docs/providers/elevenlabs.md +0 -130
  676. package/docs/providers/fal.md +0 -240
  677. package/docs/providers/fireworks.md +0 -144
  678. package/docs/providers/github-copilot.md +0 -257
  679. package/docs/providers/gmi.md +0 -92
  680. package/docs/providers/google.md +0 -472
  681. package/docs/providers/gradium.md +0 -123
  682. package/docs/providers/groq.md +0 -171
  683. package/docs/providers/huggingface.md +0 -235
  684. package/docs/providers/index.md +0 -105
  685. package/docs/providers/inferrs.md +0 -272
  686. package/docs/providers/inworld.md +0 -120
  687. package/docs/providers/kilocode.md +0 -135
  688. package/docs/providers/litellm.md +0 -234
  689. package/docs/providers/lmstudio.md +0 -224
  690. package/docs/providers/minimax.md +0 -505
  691. package/docs/providers/mistral.md +0 -235
  692. package/docs/providers/models.md +0 -64
  693. package/docs/providers/moonshot.md +0 -413
  694. package/docs/providers/novita.md +0 -92
  695. package/docs/providers/nvidia.md +0 -158
  696. package/docs/providers/ollama-cloud.md +0 -115
  697. package/docs/providers/ollama.md +0 -1225
  698. package/docs/providers/openai.md +0 -1093
  699. package/docs/providers/opencode-go.md +0 -123
  700. package/docs/providers/opencode.md +0 -149
  701. package/docs/providers/openrouter.md +0 -349
  702. package/docs/providers/perplexity-provider.md +0 -123
  703. package/docs/providers/pixverse.md +0 -165
  704. package/docs/providers/qianfan.md +0 -132
  705. package/docs/providers/qwen-oauth.md +0 -115
  706. package/docs/providers/qwen.md +0 -364
  707. package/docs/providers/runway.md +0 -103
  708. package/docs/providers/senseaudio.md +0 -68
  709. package/docs/providers/sglang.md +0 -161
  710. package/docs/providers/stepfun.md +0 -229
  711. package/docs/providers/synthetic.md +0 -154
  712. package/docs/providers/tencent.md +0 -130
  713. package/docs/providers/together.md +0 -140
  714. package/docs/providers/venice.md +0 -312
  715. package/docs/providers/vercel-ai-gateway.md +0 -128
  716. package/docs/providers/vllm.md +0 -407
  717. package/docs/providers/volcengine.md +0 -199
  718. package/docs/providers/vydra.md +0 -180
  719. package/docs/providers/xai.md +0 -571
  720. package/docs/providers/xiaomi.md +0 -262
  721. package/docs/providers/zai.md +0 -224
  722. package/docs/refactor/access.md +0 -9
  723. package/docs/refactor/acp.md +0 -298
  724. package/docs/refactor/canvas.md +0 -131
  725. package/docs/refactor/database-first.md +0 -2256
  726. package/docs/refactor/ingress-core.md +0 -341
  727. package/docs/reference/AGENTS.default.md +0 -131
  728. package/docs/reference/RELEASING.md +0 -799
  729. package/docs/reference/api-usage-costs.md +0 -208
  730. package/docs/reference/application-modernization-plan.md +0 -208
  731. package/docs/reference/code-mode.md +0 -773
  732. package/docs/reference/credits.md +0 -33
  733. package/docs/reference/device-models.md +0 -50
  734. package/docs/reference/fengming-sdk-api-design.md +0 -390
  735. package/docs/reference/full-release-validation.md +0 -202
  736. package/docs/reference/memory-config.md +0 -604
  737. package/docs/reference/prompt-caching.md +0 -358
  738. package/docs/reference/release-performance-sweep.md +0 -360
  739. package/docs/reference/rich-output-protocol.md +0 -101
  740. package/docs/reference/rpc.md +0 -43
  741. package/docs/reference/secret-placeholder-conventions.md +0 -33
  742. package/docs/reference/secretref-credential-surface.md +0 -159
  743. package/docs/reference/secretref-user-supplied-credentials-matrix.json +0 -663
  744. package/docs/reference/session-management-compaction.md +0 -474
  745. package/docs/reference/templates/AGENTS.dev.md +0 -90
  746. package/docs/reference/templates/AGENTS.md +0 -227
  747. package/docs/reference/templates/BOOT.md +0 -16
  748. package/docs/reference/templates/BOOTSTRAP.md +0 -66
  749. package/docs/reference/templates/CLAUDE.md +0 -1
  750. package/docs/reference/templates/HEARTBEAT.md +0 -24
  751. package/docs/reference/templates/IDENTITY.dev.md +0 -52
  752. package/docs/reference/templates/IDENTITY.md +0 -34
  753. package/docs/reference/templates/SOUL.dev.md +0 -82
  754. package/docs/reference/templates/SOUL.md +0 -49
  755. package/docs/reference/templates/TOOLS.dev.md +0 -29
  756. package/docs/reference/templates/TOOLS.md +0 -51
  757. package/docs/reference/templates/USER.dev.md +0 -23
  758. package/docs/reference/templates/USER.md +0 -28
  759. package/docs/reference/test.md +0 -247
  760. package/docs/reference/token-use.md +0 -246
  761. package/docs/reference/transcript-hygiene.md +0 -214
  762. package/docs/reference/wizard.md +0 -252
  763. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -101
  764. package/docs/security/THREAT-MODEL-ATLAS.md +0 -611
  765. package/docs/security/formal-verification.md +0 -170
  766. package/docs/security/incident-response.md +0 -59
  767. package/docs/security/network-proxy.md +0 -268
  768. package/docs/snippets/plugin-publish/minimal-fengming.plugin.json +0 -12
  769. package/docs/snippets/plugin-publish/minimal-package.json +0 -16
  770. package/docs/specs/claw-supervisor.md +0 -247
  771. package/docs/start/bootstrapping.md +0 -49
  772. package/docs/start/docs-directory.md +0 -69
  773. package/docs/start/fengming.md +0 -252
  774. package/docs/start/getting-started.md +0 -152
  775. package/docs/start/hubs.md +0 -201
  776. package/docs/start/lore.md +0 -223
  777. package/docs/start/onboarding-overview.md +0 -72
  778. package/docs/start/onboarding.md +0 -98
  779. package/docs/start/quickstart.md +0 -25
  780. package/docs/start/setup.md +0 -178
  781. package/docs/start/showcase.md +0 -363
  782. package/docs/start/wizard-cli-automation.md +0 -232
  783. package/docs/start/wizard-cli-reference.md +0 -331
  784. package/docs/start/wizard.md +0 -141
  785. package/docs/style.css +0 -137
  786. package/docs/superpowers/specs/2026-04-22-tweakcn-custom-theme-import-design.md +0 -316
  787. package/docs/tools/acp-agents-setup.md +0 -351
  788. package/docs/tools/acp-agents.md +0 -854
  789. package/docs/tools/agent-send.md +0 -130
  790. package/docs/tools/apply-patch.md +0 -64
  791. package/docs/tools/brave-search.md +0 -139
  792. package/docs/tools/browser-control.md +0 -391
  793. package/docs/tools/browser-linux-troubleshooting.md +0 -173
  794. package/docs/tools/browser-login.md +0 -77
  795. package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +0 -219
  796. package/docs/tools/browser.md +0 -810
  797. package/docs/tools/btw.md +0 -159
  798. package/docs/tools/capability-cookbook.md +0 -12
  799. package/docs/tools/clawhub.md +0 -5
  800. package/docs/tools/code-execution.md +0 -173
  801. package/docs/tools/creating-skills.md +0 -158
  802. package/docs/tools/diffs.md +0 -525
  803. package/docs/tools/duckduckgo-search.md +0 -109
  804. package/docs/tools/elevated.md +0 -128
  805. package/docs/tools/exa-search.md +0 -152
  806. package/docs/tools/exec-approvals-advanced.md +0 -444
  807. package/docs/tools/exec-approvals.md +0 -494
  808. package/docs/tools/exec.md +0 -285
  809. package/docs/tools/firecrawl.md +0 -155
  810. package/docs/tools/gemini-search.md +0 -114
  811. package/docs/tools/goal.md +0 -217
  812. package/docs/tools/grok-search.md +0 -129
  813. package/docs/tools/image-generation.md +0 -493
  814. package/docs/tools/index.md +0 -178
  815. package/docs/tools/kimi-search.md +0 -105
  816. package/docs/tools/llm-task.md +0 -137
  817. package/docs/tools/lobster.md +0 -365
  818. package/docs/tools/loop-detection.md +0 -154
  819. package/docs/tools/media-overview.md +0 -160
  820. package/docs/tools/minimax-search.md +0 -102
  821. package/docs/tools/multi-agent-sandbox-tools.md +0 -409
  822. package/docs/tools/music-generation.md +0 -372
  823. package/docs/tools/ollama-search.md +0 -153
  824. package/docs/tools/pdf.md +0 -213
  825. package/docs/tools/perplexity-search.md +0 -220
  826. package/docs/tools/plugin.md +0 -363
  827. package/docs/tools/reactions.md +0 -100
  828. package/docs/tools/searxng-search.md +0 -141
  829. package/docs/tools/skills-config.md +0 -195
  830. package/docs/tools/skills.md +0 -569
  831. package/docs/tools/slash-commands.md +0 -487
  832. package/docs/tools/steer.md +0 -77
  833. package/docs/tools/subagents.md +0 -651
  834. package/docs/tools/tavily.md +0 -162
  835. package/docs/tools/thinking.md +0 -142
  836. package/docs/tools/tokenjuice.md +0 -84
  837. package/docs/tools/tool-search.md +0 -269
  838. package/docs/tools/trajectory.md +0 -229
  839. package/docs/tools/tts.md +0 -1009
  840. package/docs/tools/video-generation.md +0 -555
  841. package/docs/tools/web-fetch.md +0 -210
  842. package/docs/tools/web.md +0 -461
  843. package/docs/tts.md +0 -11
  844. package/docs/vps.md +0 -139
  845. package/docs/web/control-ui.md +0 -512
  846. package/docs/web/dashboard.md +0 -107
  847. package/docs/web/index.md +0 -133
  848. package/docs/web/tui.md +0 -250
  849. package/docs/web/webchat.md +0 -102
  850. package/npm-shrinkwrap.json +0 -12861
  851. package/patches/.gitkeep +0 -0
  852. package/patches/@agentclientprotocol__claude-agent-acp@0.37.0.patch +0 -41
  853. package/pnpm-workspace.yaml +0 -120
  854. package/scripts/crabbox-wrapper.mjs +0 -2004
  855. package/scripts/lib/official-external-channel-catalog.json +0 -560
  856. package/scripts/lib/official-external-plugin-catalog.json +0 -264
  857. package/scripts/lib/official-external-provider-catalog.json +0 -158
  858. package/scripts/lib/package-dist-imports.mjs +0 -171
  859. package/scripts/npm-runner.mjs +0 -91
  860. package/scripts/postinstall-bundled-plugins.mjs +0 -978
  861. package/scripts/preinstall-package-manager-warning.mjs +0 -64
  862. package/scripts/prepare-git-hooks.mjs +0 -72
  863. package/scripts/windows-cmd-helpers.mjs +0 -22
  864. package/skills/batch/SKILL.md +0 -118
  865. package/skills/code-review/SKILL.md +0 -107
  866. package/skills/debug/SKILL.md +0 -83
  867. package/skills/loop/SKILL.md +0 -118
  868. package/skills/run/SKILL.md +0 -79
  869. package/skills/run-skill-generator/SKILL.md +0 -179
  870. package/skills/verify/SKILL.md +0 -103
  871. package/src/agents/templates/HEARTBEAT.md +0 -3
@@ -1,942 +0,0 @@
1
- ---
2
- summary: "Place outbound and accept inbound voice calls via Twilio, Telnyx, or Plivo, with optional realtime voice and streaming transcription"
3
- read_when:
4
- - You want to place an outbound voice call from FengMing
5
- - You are configuring or developing the voice-call plugin
6
- - You need realtime voice or streaming transcription on telephony
7
- title: "Voice call plugin"
8
- sidebarTitle: "Voice call"
9
- ---
10
-
11
- Voice calls for FengMing via a plugin. Supports outbound notifications,
12
- multi-turn conversations, full-duplex realtime voice, streaming
13
- transcription, and inbound calls with allowlist policies.
14
-
15
- **Current providers:** `twilio` (Programmable Voice + Media Streams),
16
- `telnyx` (Call Control v2), `plivo` (Voice API + XML transfer + GetInput
17
- speech), `mock` (dev/no network).
18
-
19
- <Note>
20
- The Voice Call plugin runs **inside the Gateway process**. If you use a
21
- remote Gateway, install and configure the plugin on the machine running
22
- the Gateway, then restart the Gateway to load it.
23
- </Note>
24
-
25
- ## Quick start
26
-
27
- <Steps>
28
- <Step title="Install the plugin">
29
- <Tabs>
30
- <Tab title="From npm">
31
- ```bash
32
- fengming plugins install @fengming/voice-call
33
- ```
34
- </Tab>
35
- <Tab title="From a local folder (dev)">
36
- ```bash
37
- PLUGIN_SRC=./path/to/local/voice-call-plugin
38
- fengming plugins install "$PLUGIN_SRC"
39
- cd "$PLUGIN_SRC" && pnpm install
40
- ```
41
- </Tab>
42
- </Tabs>
43
-
44
- Use the bare package to follow the current official release tag. Pin an
45
- exact version only when you need a reproducible install.
46
-
47
- Restart the Gateway afterwards so the plugin loads.
48
-
49
- </Step>
50
- <Step title="Configure provider and webhook">
51
- Set config under `plugins.entries.voice-call.config` (see
52
- [Configuration](#configuration) below for the full shape). At minimum:
53
- `provider`, provider credentials, `fromNumber`, and a publicly
54
- reachable webhook URL.
55
- </Step>
56
- <Step title="Verify setup">
57
- ```bash
58
- fengming voicecall setup
59
- ```
60
-
61
- The default output is readable in chat logs and terminals. It checks
62
- plugin enablement, provider credentials, webhook exposure, and that
63
- only one audio mode (`streaming` or `realtime`) is active. Use
64
- `--json` for scripts.
65
-
66
- </Step>
67
- <Step title="Smoke test">
68
- ```bash
69
- fengming voicecall smoke
70
- fengming voicecall smoke --to "+15555550123"
71
- ```
72
-
73
- Both are dry runs by default. Add `--yes` to actually place a short
74
- outbound notify call:
75
-
76
- ```bash
77
- fengming voicecall smoke --to "+15555550123" --yes
78
- ```
79
-
80
- </Step>
81
- </Steps>
82
-
83
- <Warning>
84
- For Twilio, Telnyx, and Plivo, setup must resolve to a **public webhook URL**.
85
- If `publicUrl`, the tunnel URL, the Tailscale URL, or the serve fallback
86
- resolves to loopback or private network space, setup fails instead of
87
- starting a provider that cannot receive carrier webhooks.
88
- </Warning>
89
-
90
- ## Configuration
91
-
92
- If `enabled: true` but the selected provider is missing credentials,
93
- Gateway startup logs a setup-incomplete warning with the missing keys and
94
- skips starting the runtime. Commands, RPC calls, and agent tools still
95
- return the exact missing provider configuration when used.
96
-
97
- <Note>
98
- Voice-call credentials accept SecretRefs. `plugins.entries.voice-call.config.twilio.authToken`, `plugins.entries.voice-call.config.realtime.providers.*.apiKey`, `plugins.entries.voice-call.config.streaming.providers.*.apiKey`, and `plugins.entries.voice-call.config.tts.providers.*.apiKey` resolve through the standard SecretRef surface; see [SecretRef credential surface](/reference/secretref-credential-surface).
99
- </Note>
100
-
101
- ```json5
102
- {
103
- plugins: {
104
- entries: {
105
- "voice-call": {
106
- enabled: true,
107
- config: {
108
- provider: "twilio", // or "telnyx" | "plivo" | "mock"
109
- fromNumber: "+15550001234", // or TWILIO_FROM_NUMBER for Twilio
110
- toNumber: "+15550005678",
111
- sessionScope: "per-phone", // per-phone | per-call
112
- numbers: {
113
- "+15550009999": {
114
- inboundGreeting: "Silver Fox Cards, how can I help?",
115
- responseSystemPrompt: "You are a concise baseball card specialist.",
116
- tts: {
117
- providers: {
118
- openai: { speakerVoice: "alloy" },
119
- },
120
- },
121
- },
122
- },
123
-
124
- twilio: {
125
- accountSid: "ACxxxxxxxx",
126
- authToken: "...",
127
- },
128
- telnyx: {
129
- apiKey: "...",
130
- connectionId: "...",
131
- // Telnyx webhook public key from the Mission Control Portal
132
- // (Base64; can also be set via TELNYX_PUBLIC_KEY).
133
- publicKey: "...",
134
- },
135
- plivo: {
136
- authId: "MAxxxxxxxxxxxxxxxxxxxx",
137
- authToken: "...",
138
- },
139
-
140
- // Webhook server
141
- serve: {
142
- port: 3334,
143
- path: "/voice/webhook",
144
- },
145
-
146
- // Webhook security (recommended for tunnels/proxies)
147
- webhookSecurity: {
148
- allowedHosts: ["voice.example.com"],
149
- trustedProxyIPs: ["100.64.0.1"],
150
- },
151
-
152
- // Public exposure (pick one)
153
- // publicUrl: "https://example.ngrok.app/voice/webhook",
154
- // tunnel: { provider: "ngrok" },
155
- // tailscale: { mode: "funnel", path: "/voice/webhook" },
156
-
157
- outbound: {
158
- defaultMode: "notify", // notify | conversation
159
- },
160
-
161
- streaming: { enabled: true /* see Streaming transcription */ },
162
- realtime: { enabled: false /* see Realtime voice */ },
163
- },
164
- },
165
- },
166
- },
167
- }
168
- ```
169
-
170
- <AccordionGroup>
171
- <Accordion title="Provider exposure and security notes">
172
- - Twilio, Telnyx, and Plivo all require a **publicly reachable** webhook URL.
173
- - `mock` is a local dev provider (no network calls).
174
- - Telnyx requires `telnyx.publicKey` (or `TELNYX_PUBLIC_KEY`) unless `skipSignatureVerification` is true.
175
- - `skipSignatureVerification` is for local testing only.
176
- - On ngrok free tier, set `publicUrl` to the exact ngrok URL; signature verification is always enforced.
177
- - `tunnel.allowNgrokFreeTierLoopbackBypass: true` allows Twilio webhooks with invalid signatures **only** when `tunnel.provider="ngrok"` and `serve.bind` is loopback (ngrok local agent). Local dev only.
178
- - Ngrok free-tier URLs can change or add interstitial behaviour; if `publicUrl` drifts, Twilio signatures fail. Production: prefer a stable domain or a Tailscale funnel.
179
-
180
- </Accordion>
181
- <Accordion title="Streaming connection caps">
182
- - `streaming.preStartTimeoutMs` closes sockets that never send a valid `start` frame.
183
- - `streaming.maxPendingConnections` caps total unauthenticated pre-start sockets.
184
- - `streaming.maxPendingConnectionsPerIp` caps unauthenticated pre-start sockets per source IP.
185
- - `streaming.maxConnections` caps total open media stream sockets (pending + active).
186
-
187
- </Accordion>
188
- <Accordion title="Legacy config migrations">
189
- Older configs using `provider: "log"`, `twilio.from`, or legacy
190
- `streaming.*` OpenAI keys are rewritten by `fengming doctor --fix`.
191
- Runtime fallback still accepts the old voice-call keys for now, but
192
- the rewrite path is `fengming doctor --fix` and the compat shim is
193
- temporary.
194
-
195
- Auto-migrated streaming keys:
196
-
197
- - `streaming.sttProvider` → `streaming.provider`
198
- - `streaming.openaiApiKey` → `streaming.providers.openai.apiKey`
199
- - `streaming.sttModel` → `streaming.providers.openai.model`
200
- - `streaming.silenceDurationMs` → `streaming.providers.openai.silenceDurationMs`
201
- - `streaming.vadThreshold` → `streaming.providers.openai.vadThreshold`
202
-
203
- </Accordion>
204
- </AccordionGroup>
205
-
206
- ## Session scope
207
-
208
- By default, Voice Call uses `sessionScope: "per-phone"` so repeat calls from
209
- the same caller keep conversation memory. Set `sessionScope: "per-call"` when
210
- each carrier call should start with fresh context, for example reception,
211
- booking, IVR, or Google Meet bridge flows where the same phone number may
212
- represent different meetings.
213
-
214
- ## Realtime voice conversations
215
-
216
- `realtime` selects a full-duplex realtime voice provider for live call
217
- audio. It is separate from `streaming`, which only forwards audio to
218
- realtime transcription providers.
219
-
220
- <Warning>
221
- `realtime.enabled` cannot be combined with `streaming.enabled`. Pick one
222
- audio mode per call.
223
- </Warning>
224
-
225
- Current runtime behaviour:
226
-
227
- - `realtime.enabled` is supported for Twilio Media Streams.
228
- - `realtime.provider` is optional. If unset, Voice Call uses the first registered realtime voice provider.
229
- - Bundled realtime voice providers: Google Gemini Live (`google`) and OpenAI (`openai`), registered by their provider plugins.
230
- - Provider-owned raw config lives under `realtime.providers.<providerId>`.
231
- - Voice Call exposes the shared `fengming_agent_consult` realtime tool by default. The realtime model can call it when the caller asks for deeper reasoning, current information, or normal FengMing tools.
232
- - `realtime.consultPolicy` optionally adds guidance for when the realtime model should call `fengming_agent_consult`.
233
- - `realtime.agentContext.enabled` is default-off. When enabled, Voice Call injects a bounded agent identity and selected workspace-file capsule into the realtime provider instructions at session setup.
234
- - `realtime.fastContext.enabled` is default-off. When enabled, Voice Call first searches indexed memory/session context for the consult question and returns those snippets to the realtime model within `realtime.fastContext.timeoutMs` before falling back to the full consult agent only if `realtime.fastContext.fallbackToConsult` is true.
235
- - If `realtime.provider` points at an unregistered provider, or no realtime voice provider is registered at all, Voice Call logs a warning and skips realtime media instead of failing the whole plugin.
236
- - Consult session keys reuse the stored call session when available, then fall back to the configured `sessionScope` (`per-phone` by default, or `per-call` for isolated calls).
237
-
238
- ### Tool policy
239
-
240
- `realtime.toolPolicy` controls the consult run:
241
-
242
- | Policy | Behavior |
243
- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
244
- | `safe-read-only` | Expose the consult tool and limit the regular agent to `read`, `web_search`, `web_fetch`, `x_search`, `memory_search`, and `memory_get`. |
245
- | `owner` | Expose the consult tool and let the regular agent use the normal agent tool policy. |
246
- | `none` | Do not expose the consult tool. Custom `realtime.tools` are still passed through to the realtime provider. |
247
-
248
- `realtime.consultPolicy` controls only the realtime model instructions:
249
-
250
- | Policy | Guidance |
251
- | ------------- | ----------------------------------------------------------------------------------------------- |
252
- | `auto` | Keep the default prompt and let the provider decide when to call the consult tool. |
253
- | `substantive` | Answer simple conversational glue directly and consult before facts, memory, tools, or context. |
254
- | `always` | Consult before every substantive answer. |
255
-
256
- ### Agent voice context
257
-
258
- Enable `realtime.agentContext` when the voice bridge should sound like the
259
- configured FengMing agent without paying a full agent-consult round trip on
260
- ordinary turns. The context capsule is added once when the realtime session is
261
- created, so it does not add per-turn latency. Calls to
262
- `fengming_agent_consult` still run the full FengMing agent and should be used
263
- for tool work, current information, memory lookups, or workspace state.
264
-
265
- ```json5
266
- {
267
- plugins: {
268
- entries: {
269
- "voice-call": {
270
- config: {
271
- agentId: "main",
272
- realtime: {
273
- enabled: true,
274
- provider: "google",
275
- toolPolicy: "safe-read-only",
276
- consultPolicy: "substantive",
277
- agentContext: {
278
- enabled: true,
279
- maxChars: 6000,
280
- includeIdentity: true,
281
- includeWorkspaceFiles: true,
282
- files: ["SOUL.md", "IDENTITY.md", "USER.md"],
283
- },
284
- },
285
- },
286
- },
287
- },
288
- },
289
- }
290
- ```
291
-
292
- ### Realtime provider examples
293
-
294
- <Tabs>
295
- <Tab title="Google Gemini Live">
296
- Defaults: API key from `realtime.providers.google.apiKey`,
297
- `GEMINI_API_KEY`, or `GOOGLE_GENERATIVE_AI_API_KEY`; model
298
- `gemini-2.5-flash-native-audio-preview-12-2025`; voice `Kore`.
299
- `sessionResumption` and `contextWindowCompression` default on for longer,
300
- reconnectable calls. Use `silenceDurationMs`, `startSensitivity`, and
301
- `endSensitivity` to tune faster turn-taking on telephony audio.
302
-
303
- ```json5
304
- {
305
- plugins: {
306
- entries: {
307
- "voice-call": {
308
- config: {
309
- provider: "twilio",
310
- inboundPolicy: "allowlist",
311
- allowFrom: ["+15550005678"],
312
- realtime: {
313
- enabled: true,
314
- provider: "google",
315
- instructions: "Speak briefly. Call fengming_agent_consult before using deeper tools.",
316
- toolPolicy: "safe-read-only",
317
- consultPolicy: "substantive",
318
- consultThinkingLevel: "low",
319
- consultFastMode: true,
320
- agentContext: { enabled: true },
321
- providers: {
322
- google: {
323
- apiKey: "${GEMINI_API_KEY}",
324
- model: "gemini-2.5-flash-native-audio-preview-12-2025",
325
- speakerVoice: "Kore",
326
- silenceDurationMs: 500,
327
- startSensitivity: "high",
328
- },
329
- },
330
- },
331
- },
332
- },
333
- },
334
- },
335
- }
336
- ```
337
-
338
- </Tab>
339
- <Tab title="OpenAI">
340
- ```json5
341
- {
342
- plugins: {
343
- entries: {
344
- "voice-call": {
345
- config: {
346
- realtime: {
347
- enabled: true,
348
- provider: "openai",
349
- providers: {
350
- openai: { apiKey: "${OPENAI_API_KEY}" },
351
- },
352
- },
353
- },
354
- },
355
- },
356
- },
357
- }
358
- ```
359
- </Tab>
360
- </Tabs>
361
-
362
- See [Google provider](/providers/google) and
363
- [OpenAI provider](/providers/openai) for provider-specific realtime voice
364
- options.
365
-
366
- ## Streaming transcription
367
-
368
- `streaming` selects a realtime transcription provider for live call audio.
369
-
370
- Current runtime behavior:
371
-
372
- - `streaming.provider` is optional. If unset, Voice Call uses the first registered realtime transcription provider.
373
- - Bundled realtime transcription providers: Deepgram (`deepgram`), ElevenLabs (`elevenlabs`), Mistral (`mistral`), OpenAI (`openai`), and xAI (`xai`), registered by their provider plugins.
374
- - Provider-owned raw config lives under `streaming.providers.<providerId>`.
375
- - After Twilio sends an accepted stream `start` message, Voice Call registers the stream immediately, queues inbound media through the transcription provider while the provider connects, and starts the initial greeting only after realtime transcription is ready.
376
- - If `streaming.provider` points at an unregistered provider, or none is registered, Voice Call logs a warning and skips media streaming instead of failing the whole plugin.
377
-
378
- ### Streaming provider examples
379
-
380
- <Tabs>
381
- <Tab title="OpenAI">
382
- Defaults: API key `streaming.providers.openai.apiKey` or
383
- `OPENAI_API_KEY`; model `gpt-4o-transcribe`; `silenceDurationMs: 800`;
384
- `vadThreshold: 0.5`.
385
-
386
- ```json5
387
- {
388
- plugins: {
389
- entries: {
390
- "voice-call": {
391
- config: {
392
- streaming: {
393
- enabled: true,
394
- provider: "openai",
395
- streamPath: "/voice/stream",
396
- providers: {
397
- openai: {
398
- apiKey: "sk-...", // optional if OPENAI_API_KEY is set
399
- model: "gpt-4o-transcribe",
400
- silenceDurationMs: 800,
401
- vadThreshold: 0.5,
402
- },
403
- },
404
- },
405
- },
406
- },
407
- },
408
- },
409
- }
410
- ```
411
-
412
- </Tab>
413
- <Tab title="xAI">
414
- Defaults: API key `streaming.providers.xai.apiKey` or `XAI_API_KEY`;
415
- endpoint `wss://api.x.ai/v1/stt`; encoding `mulaw`; sample rate `8000`;
416
- `endpointingMs: 800`; `interimResults: true`.
417
-
418
- ```json5
419
- {
420
- plugins: {
421
- entries: {
422
- "voice-call": {
423
- config: {
424
- streaming: {
425
- enabled: true,
426
- provider: "xai",
427
- streamPath: "/voice/stream",
428
- providers: {
429
- xai: {
430
- apiKey: "${XAI_API_KEY}", // optional if XAI_API_KEY is set
431
- endpointingMs: 800,
432
- language: "en",
433
- },
434
- },
435
- },
436
- },
437
- },
438
- },
439
- },
440
- }
441
- ```
442
-
443
- </Tab>
444
- </Tabs>
445
-
446
- ## TTS for calls
447
-
448
- Voice Call uses the core `messages.tts` configuration for streaming
449
- speech on calls. You can override it under the plugin config with the
450
- **same shape** — it deep-merges with `messages.tts`.
451
-
452
- ```json5
453
- {
454
- tts: {
455
- provider: "elevenlabs",
456
- providers: {
457
- elevenlabs: {
458
- speakerVoiceId: "pMsXgVXv3BLzUgSXRplE",
459
- modelId: "eleven_multilingual_v2",
460
- },
461
- },
462
- },
463
- }
464
- ```
465
-
466
- <Warning>
467
- **Microsoft speech is ignored for voice calls.** Telephony audio needs PCM;
468
- the current Microsoft transport does not expose telephony PCM output.
469
- </Warning>
470
-
471
- Behavior notes:
472
-
473
- - Legacy `tts.<provider>` keys inside plugin config (`openai`, `elevenlabs`, `microsoft`, `edge`) are repaired by `fengming doctor --fix`; committed config should use `tts.providers.<provider>`.
474
- - Core TTS is used when Twilio media streaming is enabled; otherwise calls fall back to provider-native voices.
475
- - If a Twilio media stream is already active, Voice Call does not fall back to TwiML `<Say>`. If telephony TTS is unavailable in that state, the playback request fails instead of mixing two playback paths.
476
- - When telephony TTS falls back to a secondary provider, Voice Call logs a warning with the provider chain (`from`, `to`, `attempts`) for debugging.
477
- - When Twilio barge-in or stream teardown clears the pending TTS queue, queued playback requests settle instead of hanging callers awaiting playback completion.
478
-
479
- ### TTS examples
480
-
481
- <Tabs>
482
- <Tab title="Core TTS only">
483
- ```json5
484
- {
485
- messages: {
486
- tts: {
487
- provider: "openai",
488
- providers: {
489
- openai: { speakerVoice: "alloy" },
490
- },
491
- },
492
- },
493
- }
494
- ```
495
- </Tab>
496
- <Tab title="Override to ElevenLabs (calls only)">
497
- ```json5
498
- {
499
- plugins: {
500
- entries: {
501
- "voice-call": {
502
- config: {
503
- tts: {
504
- provider: "elevenlabs",
505
- providers: {
506
- elevenlabs: {
507
- apiKey: "elevenlabs_key",
508
- speakerVoiceId: "pMsXgVXv3BLzUgSXRplE",
509
- modelId: "eleven_multilingual_v2",
510
- },
511
- },
512
- },
513
- },
514
- },
515
- },
516
- },
517
- }
518
- ```
519
- </Tab>
520
- <Tab title="OpenAI model override (deep-merge)">
521
- ```json5
522
- {
523
- plugins: {
524
- entries: {
525
- "voice-call": {
526
- config: {
527
- tts: {
528
- providers: {
529
- openai: {
530
- model: "gpt-4o-mini-tts",
531
- speakerVoice: "marin",
532
- },
533
- },
534
- },
535
- },
536
- },
537
- },
538
- },
539
- }
540
- ```
541
- </Tab>
542
- </Tabs>
543
-
544
- ## Inbound calls
545
-
546
- Inbound policy defaults to `disabled`. To enable inbound calls, set:
547
-
548
- ```json5
549
- {
550
- inboundPolicy: "allowlist",
551
- allowFrom: ["+15550001234"],
552
- inboundGreeting: "Hello! How can I help?",
553
- }
554
- ```
555
-
556
- <Warning>
557
- `inboundPolicy: "allowlist"` is a low-assurance caller-ID screen. The
558
- plugin normalizes the provider-supplied `From` value and compares it to
559
- `allowFrom`. Webhook verification authenticates provider delivery and
560
- payload integrity, but it does **not** prove PSTN/VoIP caller-number
561
- ownership. Treat `allowFrom` as caller-ID filtering, not strong caller
562
- identity.
563
- </Warning>
564
-
565
- Auto-responses use the agent system. Tune with `responseModel`,
566
- `responseSystemPrompt`, and `responseTimeoutMs`.
567
-
568
- ### Per-number Routing
569
-
570
- Use `numbers` when one Voice Call plugin receives calls for multiple phone
571
- numbers and each number should behave like a different line. For example, one
572
- number can use a casual personal assistant while another uses a business
573
- persona, a different response agent, and a different TTS voice.
574
-
575
- Routes are selected from the provider-supplied dialed `To` number. Keys must be
576
- E.164 numbers. When a call arrives, Voice Call resolves the matching route once,
577
- stores the matched route on the call record, and reuses that effective config
578
- for the greeting, classic auto-response path, realtime consult path, and TTS
579
- playback. If no route matches, the global Voice Call config is used.
580
- Outbound calls do not use `numbers`; pass the outbound target, message, and
581
- session explicitly when initiating the call.
582
-
583
- Route overrides currently support:
584
-
585
- - `inboundGreeting`
586
- - `tts`
587
- - `agentId`
588
- - `responseModel`
589
- - `responseSystemPrompt`
590
- - `responseTimeoutMs`
591
-
592
- The `tts` route value deep-merges over the global Voice Call `tts` config, so
593
- you can usually override only the provider voice:
594
-
595
- ```json5
596
- {
597
- inboundGreeting: "Hello from the main line.",
598
- responseSystemPrompt: "You are the default voice assistant.",
599
- tts: {
600
- provider: "openai",
601
- providers: {
602
- openai: { speakerVoice: "coral" },
603
- },
604
- },
605
- numbers: {
606
- "+15550001111": {
607
- inboundGreeting: "Silver Fox Cards, how can I help?",
608
- responseSystemPrompt: "You are a concise baseball card specialist.",
609
- tts: {
610
- providers: {
611
- openai: { speakerVoice: "alloy" },
612
- },
613
- },
614
- },
615
- },
616
- }
617
- ```
618
-
619
- ### Spoken output contract
620
-
621
- For auto-responses, Voice Call appends a strict spoken-output contract to
622
- the system prompt:
623
-
624
- ```text
625
- {"spoken":"..."}
626
- ```
627
-
628
- Voice Call extracts speech text defensively:
629
-
630
- - Ignores payloads marked as reasoning/error content.
631
- - Parses direct JSON, fenced JSON, or inline `"spoken"` keys.
632
- - Falls back to plain text and removes likely planning/meta lead-in paragraphs.
633
-
634
- This keeps spoken playback focused on caller-facing text and avoids
635
- leaking planning text into audio.
636
-
637
- ### Conversation startup behavior
638
-
639
- For outbound `conversation` calls, first-message handling is tied to live
640
- playback state:
641
-
642
- - Barge-in queue clear and auto-response are suppressed only while the initial greeting is actively speaking.
643
- - If initial playback fails, the call returns to `listening` and the initial message remains queued for retry.
644
- - Initial playback for Twilio streaming starts on stream connect without extra delay.
645
- - Barge-in aborts active playback and clears queued-but-not-yet-playing Twilio TTS entries. Cleared entries resolve as skipped, so follow-up response logic can continue without waiting on audio that will never play.
646
- - Realtime voice conversations use the realtime stream's own opening turn. Voice Call does **not** post a legacy `<Say>` TwiML update for that initial message, so outbound `<Connect><Stream>` sessions stay attached.
647
-
648
- ### Twilio stream disconnect grace
649
-
650
- When a Twilio media stream disconnects, Voice Call waits **2000 ms** before
651
- auto-ending the call:
652
-
653
- - If the stream reconnects during that window, auto-end is canceled.
654
- - If no stream re-registers after the grace period, the call is ended to prevent stuck active calls.
655
-
656
- ## Stale call reaper
657
-
658
- Use `staleCallReaperSeconds` to end calls that never receive a terminal
659
- webhook (for example, notify-mode calls that never complete). The default
660
- is `0` (disabled).
661
-
662
- Recommended ranges:
663
-
664
- - **Production:** `120`–`300` seconds for notify-style flows.
665
- - Keep this value **higher than `maxDurationSeconds`** so normal calls can finish. A good starting point is `maxDurationSeconds + 30–60` seconds.
666
-
667
- ```json5
668
- {
669
- plugins: {
670
- entries: {
671
- "voice-call": {
672
- config: {
673
- maxDurationSeconds: 300,
674
- staleCallReaperSeconds: 360,
675
- },
676
- },
677
- },
678
- },
679
- }
680
- ```
681
-
682
- ## Webhook security
683
-
684
- When a proxy or tunnel sits in front of the Gateway, the plugin
685
- reconstructs the public URL for signature verification. These options
686
- control which forwarded headers are trusted:
687
-
688
- <ParamField path="webhookSecurity.allowedHosts" type="string[]">
689
- Allowlist hosts from forwarding headers.
690
- </ParamField>
691
- <ParamField path="webhookSecurity.trustForwardingHeaders" type="boolean">
692
- Trust forwarded headers without an allowlist.
693
- </ParamField>
694
- <ParamField path="webhookSecurity.trustedProxyIPs" type="string[]">
695
- Only trust forwarded headers when the request remote IP matches the list.
696
- </ParamField>
697
-
698
- Additional protections:
699
-
700
- - Webhook **replay protection** is enabled for Twilio and Plivo. Replayed valid webhook requests are acknowledged but skipped for side effects.
701
- - Twilio conversation turns include a per-turn token in `<Gather>` callbacks, so stale/replayed speech callbacks cannot satisfy a newer pending transcript turn.
702
- - Unauthenticated webhook requests are rejected before body reads when the provider's required signature headers are missing.
703
- - The voice-call webhook uses the shared pre-auth body profile (64 KB / 5 seconds) plus a per-IP in-flight cap before signature verification.
704
-
705
- Example with a stable public host:
706
-
707
- ```json5
708
- {
709
- plugins: {
710
- entries: {
711
- "voice-call": {
712
- config: {
713
- publicUrl: "https://voice.example.com/voice/webhook",
714
- webhookSecurity: {
715
- allowedHosts: ["voice.example.com"],
716
- },
717
- },
718
- },
719
- },
720
- },
721
- }
722
- ```
723
-
724
- ## CLI
725
-
726
- ```bash
727
- fengming voicecall call --to "+15555550123" --message "Hello from FengMing"
728
- fengming voicecall start --to "+15555550123" # alias for call
729
- fengming voicecall continue --call-id <id> --message "Any questions?"
730
- fengming voicecall speak --call-id <id> --message "One moment"
731
- fengming voicecall dtmf --call-id <id> --digits "ww123456#"
732
- fengming voicecall end --call-id <id>
733
- fengming voicecall status --call-id <id>
734
- fengming voicecall tail
735
- fengming voicecall latency # summarize turn latency from logs
736
- fengming voicecall expose --mode funnel
737
- ```
738
-
739
- When the Gateway is already running, operational `voicecall` commands delegate
740
- to the Gateway-owned voice-call runtime so the CLI does not bind a second
741
- webhook server. If no Gateway is reachable, the commands fall back to a
742
- standalone CLI runtime.
743
-
744
- `latency` reads `calls.jsonl` from the default voice-call storage path.
745
- Use `--file <path>` to point at a different log and `--last <n>` to limit
746
- analysis to the last N records (default 200). Output includes p50/p90/p99
747
- for turn latency and listen-wait times.
748
-
749
- ## Agent tool
750
-
751
- Tool name: `voice_call`.
752
-
753
- | Action | Args |
754
- | --------------- | ------------------------------------------ |
755
- | `initiate_call` | `message`, `to?`, `mode?`, `dtmfSequence?` |
756
- | `continue_call` | `callId`, `message` |
757
- | `speak_to_user` | `callId`, `message` |
758
- | `send_dtmf` | `callId`, `digits` |
759
- | `end_call` | `callId` |
760
- | `get_status` | `callId` |
761
-
762
- This repo ships a matching skill doc at `skills/voice-call/SKILL.md`.
763
-
764
- ## Gateway RPC
765
-
766
- | Method | Args |
767
- | -------------------- | ------------------------------------------ |
768
- | `voicecall.initiate` | `to?`, `message`, `mode?`, `dtmfSequence?` |
769
- | `voicecall.continue` | `callId`, `message` |
770
- | `voicecall.speak` | `callId`, `message` |
771
- | `voicecall.dtmf` | `callId`, `digits` |
772
- | `voicecall.end` | `callId` |
773
- | `voicecall.status` | `callId` |
774
-
775
- `dtmfSequence` is only valid with `mode: "conversation"`. Notify-mode calls
776
- should use `voicecall.dtmf` after the call exists if they need post-connect
777
- digits.
778
-
779
- ## Troubleshooting
780
-
781
- ### Setup fails webhook exposure
782
-
783
- Run setup from the same environment that runs the Gateway:
784
-
785
- ```bash
786
- fengming voicecall setup
787
- fengming voicecall setup --json
788
- ```
789
-
790
- For `twilio`, `telnyx`, and `plivo`, `webhook-exposure` must be green. A
791
- configured `publicUrl` still fails when it points at local or private network
792
- space, because the carrier cannot call back into those addresses. Do not use
793
- `localhost`, `127.0.0.1`, `0.0.0.0`, `10.x`, `172.16.x`-`172.31.x`,
794
- `192.168.x`, `169.254.x`, `fc00::/7`, or `fd00::/8` as `publicUrl`.
795
-
796
- Twilio notify-mode outbound calls send their initial `<Say>` TwiML directly in
797
- the create-call request, so the first spoken message does not depend on Twilio
798
- fetching webhook TwiML. A public webhook is still required for status callbacks,
799
- conversation calls, pre-connect DTMF, realtime streams, and post-connect call
800
- control.
801
-
802
- Use one public exposure path:
803
-
804
- ```json5
805
- {
806
- plugins: {
807
- entries: {
808
- "voice-call": {
809
- config: {
810
- publicUrl: "https://voice.example.com/voice/webhook",
811
- // or
812
- tunnel: { provider: "ngrok" },
813
- // or
814
- tailscale: { mode: "funnel", path: "/voice/webhook" },
815
- },
816
- },
817
- },
818
- },
819
- }
820
- ```
821
-
822
- After changing config, restart or reload the Gateway, then run:
823
-
824
- ```bash
825
- fengming voicecall setup
826
- fengming voicecall smoke
827
- ```
828
-
829
- `voicecall smoke` is a dry run unless you pass `--yes`.
830
-
831
- ### Provider credentials fail
832
-
833
- Check the selected provider and the required credential fields:
834
-
835
- - Twilio: `twilio.accountSid`, `twilio.authToken`, and `fromNumber`, or
836
- `TWILIO_ACCOUNT_SID`, `TWILIO_AUTH_TOKEN`, and `TWILIO_FROM_NUMBER`.
837
- - Telnyx: `telnyx.apiKey`, `telnyx.connectionId`, `telnyx.publicKey`, and
838
- `fromNumber`.
839
- - Plivo: `plivo.authId`, `plivo.authToken`, and `fromNumber`.
840
-
841
- Credentials must exist on the Gateway host. Editing a local shell profile does
842
- not affect an already running Gateway until it restarts or reloads its
843
- environment.
844
-
845
- ### Calls start but provider webhooks do not arrive
846
-
847
- Confirm the provider console points at the exact public webhook URL:
848
-
849
- ```text
850
- https://voice.example.com/voice/webhook
851
- ```
852
-
853
- Then inspect runtime state:
854
-
855
- ```bash
856
- fengming voicecall status --call-id <id>
857
- fengming voicecall tail
858
- fengming logs --follow
859
- ```
860
-
861
- Common causes:
862
-
863
- - `publicUrl` points at a different path than `serve.path`.
864
- - The tunnel URL changed after the Gateway started.
865
- - A proxy forwards the request but strips or rewrites host/proto headers.
866
- - Firewall or DNS routes the public hostname somewhere other than the Gateway.
867
- - The Gateway was restarted without the Voice Call plugin enabled.
868
-
869
- When a reverse proxy or tunnel is in front of the Gateway, set
870
- `webhookSecurity.allowedHosts` to the public hostname, or use
871
- `webhookSecurity.trustedProxyIPs` for a known proxy address. Use
872
- `webhookSecurity.trustForwardingHeaders` only when the proxy boundary is under
873
- your control.
874
-
875
- ### Signature verification fails
876
-
877
- Provider signatures are checked against the public URL FengMing reconstructs
878
- from the incoming request. If signatures fail:
879
-
880
- - Confirm the provider webhook URL exactly matches `publicUrl`, including
881
- scheme, host, and path.
882
- - For ngrok free-tier URLs, update `publicUrl` when the tunnel hostname changes.
883
- - Ensure the proxy preserves the original host and proto headers, or configure
884
- `webhookSecurity.allowedHosts`.
885
- - Do not enable `skipSignatureVerification` outside local testing.
886
-
887
- ### Google Meet Twilio joins fail
888
-
889
- Google Meet uses this plugin for Twilio dial-in joins. First verify Voice Call:
890
-
891
- ```bash
892
- fengming voicecall setup
893
- fengming voicecall smoke --to "+15555550123"
894
- ```
895
-
896
- Then verify the Google Meet transport explicitly:
897
-
898
- ```bash
899
- fengming googlemeet setup --transport twilio
900
- ```
901
-
902
- If Voice Call is green but the Meet participant never joins, check the Meet
903
- dial-in number, PIN, and `--dtmf-sequence`. The phone call can be healthy while
904
- the meeting rejects or ignores an incorrect DTMF sequence.
905
-
906
- Google Meet starts the Twilio phone leg through `voicecall.start` with a
907
- pre-connect DTMF sequence. PIN-derived sequences include the Google Meet plugin's
908
- `voiceCall.dtmfDelayMs` as leading Twilio wait digits. The default is 12 seconds
909
- because Meet dial-in prompts can arrive late. Voice Call then redirects back to
910
- realtime handling before the intro greeting is requested.
911
-
912
- Use `fengming logs --follow` for the live phase trace. A healthy Twilio Meet
913
- join logs this order:
914
-
915
- - Google Meet delegates the Twilio join to Voice Call.
916
- - Voice Call stores pre-connect DTMF TwiML.
917
- - Twilio initial TwiML is consumed and served before realtime handling.
918
- - Voice Call serves realtime TwiML for the Twilio call.
919
- - Google Meet requests intro speech with `voicecall.speak` after the post-DTMF delay.
920
-
921
- `fengming voicecall tail` still shows persisted call records; it is useful for
922
- call state and transcripts, but not every webhook/realtime transition appears
923
- there.
924
-
925
- ### Realtime call has no speech
926
-
927
- Confirm only one audio mode is enabled. `realtime.enabled` and
928
- `streaming.enabled` cannot both be true.
929
-
930
- For realtime Twilio calls, also verify:
931
-
932
- - A realtime provider plugin is loaded and registered.
933
- - `realtime.provider` is unset or names a registered provider.
934
- - The provider API key is available to the Gateway process.
935
- - `fengming logs --follow` shows realtime TwiML served, the realtime bridge
936
- started, and the initial greeting queued.
937
-
938
- ## Related
939
-
940
- - [Talk mode](/nodes/talk)
941
- - [Text-to-speech](/tools/tts)
942
- - [Voice wake](/nodes/voicewake)