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,805 +0,0 @@
1
- ---
2
- summary: "Secrets management: SecretRef contract, runtime snapshot behavior, and safe one-way scrubbing"
3
- read_when:
4
- - Configuring SecretRefs for provider credentials and `auth-profiles.json` refs
5
- - Operating secrets reload, audit, configure, and apply safely in production
6
- - Understanding startup fail-fast, inactive-surface filtering, and last-known-good behavior
7
- title: "Secrets management"
8
- sidebarTitle: "Secrets management"
9
- ---
10
-
11
- FengMing supports additive SecretRefs so supported credentials do not need to be stored as plaintext in configuration.
12
-
13
- <Note>
14
- Plaintext still works. SecretRefs are opt-in per credential.
15
- </Note>
16
-
17
- <Warning>
18
- Plaintext credentials remain agent-readable if they are stored in files the
19
- agent can inspect, including `fengming.json`, `auth-profiles.json`, `.env`, or
20
- generated `agents/*/agent/models.json` files. SecretRefs reduce that local blast
21
- radius only after every supported credential has been migrated and
22
- `fengming secrets audit --check` reports no plaintext secret residue.
23
- </Warning>
24
-
25
- ## Goals and runtime model
26
-
27
- Secrets are resolved into an in-memory runtime snapshot.
28
-
29
- - Resolution is eager during activation, not lazy on request paths.
30
- - Startup fails fast when an effectively active SecretRef cannot be resolved.
31
- - Reload uses atomic swap: full success, or keep the last-known-good snapshot.
32
- - SecretRef policy violations (for example OAuth-mode auth profiles combined with SecretRef input) fail activation before runtime swap.
33
- - Runtime requests read from the active in-memory snapshot only.
34
- - After the first successful config activation/load, runtime code paths keep reading that active in-memory snapshot until a successful reload swaps it.
35
- - Outbound delivery paths also read from that active snapshot (for example Discord reply/thread delivery and Telegram action sends); they do not re-resolve SecretRefs on each send.
36
-
37
- This keeps secret-provider outages off hot request paths.
38
-
39
- ## Agent-access boundary
40
-
41
- SecretRefs protect credentials from being persisted in supported config and
42
- generated model surfaces, but they are not a process-isolation boundary. If a
43
- plaintext credential remains on disk in a path the agent can read, the agent can
44
- bypass API-level redaction by using file or shell tools to inspect that file.
45
-
46
- For production deployments where agent-accessible files are in scope, treat
47
- SecretRef migration as complete only when all of these are true:
48
-
49
- - supported credentials use SecretRefs instead of plaintext values
50
- - legacy plaintext residue has been scrubbed from `fengming.json`,
51
- `auth-profiles.json`, `.env`, and generated `models.json` files
52
- - `fengming secrets audit --check` is clean after the migration
53
- - any remaining unsupported or rotating credentials are protected by operating
54
- system isolation, container isolation, or an external credential proxy
55
-
56
- This is why the audit/configure/apply workflow is a security migration gate, not
57
- just a convenience helper.
58
-
59
- <Warning>
60
- SecretRefs do not make arbitrary readable files safe. Backups, copied configs,
61
- old generated model catalogs, and unsupported credential classes must be treated
62
- as production secrets until they are deleted, moved outside the agent trust
63
- boundary, or protected by a separate isolation layer.
64
- </Warning>
65
-
66
- ## Active-surface filtering
67
-
68
- SecretRefs are validated only on effectively active surfaces.
69
-
70
- - Enabled surfaces: unresolved refs block startup/reload.
71
- - Inactive surfaces: unresolved refs do not block startup/reload.
72
- - Inactive refs emit non-fatal diagnostics with code `SECRETS_REF_IGNORED_INACTIVE_SURFACE`.
73
-
74
- <AccordionGroup>
75
- <Accordion title="Examples of inactive surfaces">
76
- - Disabled channel/account entries.
77
- - Top-level channel credentials that no enabled account inherits.
78
- - Disabled tool/feature surfaces.
79
- - Web search provider-specific keys that are not selected by `tools.web.search.provider`. In auto mode (provider unset), keys are consulted by precedence for provider auto-detection until one resolves. After selection, non-selected provider keys are treated as inactive until selected.
80
- - Sandbox SSH auth material (`agents.defaults.sandbox.ssh.identityData`, `certificateData`, `knownHostsData`, plus per-agent overrides) is active only when the effective sandbox backend is `ssh` for the default agent or an enabled agent.
81
- - `gateway.remote.token` / `gateway.remote.password` SecretRefs are active if one of these is true:
82
- - `gateway.mode=remote`
83
- - `gateway.remote.url` is configured
84
- - `gateway.tailscale.mode` is `serve` or `funnel`
85
- - In local mode without those remote surfaces:
86
- - `gateway.remote.token` is active when token auth can win and no env/auth token is configured.
87
- - `gateway.remote.password` is active only when password auth can win and no env/auth password is configured.
88
- - `gateway.auth.token` SecretRef is inactive for startup auth resolution when `FENGMING_GATEWAY_TOKEN` is set, because env token input wins for that runtime.
89
-
90
- </Accordion>
91
- </AccordionGroup>
92
-
93
- ## Gateway auth surface diagnostics
94
-
95
- When a SecretRef is configured on `gateway.auth.token`, `gateway.auth.password`, `gateway.remote.token`, or `gateway.remote.password`, gateway startup/reload logs the surface state explicitly:
96
-
97
- - `active`: the SecretRef is part of the effective auth surface and must resolve.
98
- - `inactive`: the SecretRef is ignored for this runtime because another auth surface wins, or because remote auth is disabled/not active.
99
-
100
- These entries are logged with `SECRETS_GATEWAY_AUTH_SURFACE` and include the reason used by the active-surface policy, so you can see why a credential was treated as active or inactive.
101
-
102
- ## Onboarding reference preflight
103
-
104
- When onboarding runs in interactive mode and you choose SecretRef storage, FengMing runs preflight validation before saving:
105
-
106
- - Env refs: validates env var name and confirms a non-empty value is visible during setup.
107
- - Provider refs (`file` or `exec`): validates provider selection, resolves `id`, and checks resolved value type.
108
- - Quickstart reuse path: when `gateway.auth.token` is already a SecretRef, onboarding resolves it before probe/dashboard bootstrap (for `env`, `file`, and `exec` refs) using the same fail-fast gate.
109
-
110
- If validation fails, onboarding shows the error and lets you retry.
111
-
112
- ## SecretRef contract
113
-
114
- Use one object shape everywhere:
115
-
116
- ```json5
117
- { source: "env" | "file" | "exec", provider: "default", id: "..." }
118
- ```
119
-
120
- <Tabs>
121
- <Tab title="env">
122
- ```json5
123
- { source: "env", provider: "default", id: "OPENAI_API_KEY" }
124
- ```
125
-
126
- Supported SecretInput fields also accept exact string shorthands:
127
-
128
- ```json5
129
- "${OPENAI_API_KEY}"
130
- "$OPENAI_API_KEY"
131
- ```
132
-
133
- Validation:
134
-
135
- - `provider` must match `^[a-z][a-z0-9_-]{0,63}$`
136
- - `id` must match `^[A-Z][A-Z0-9_]{0,127}$`
137
-
138
- </Tab>
139
- <Tab title="file">
140
- ```json5
141
- { source: "file", provider: "filemain", id: "/providers/openai/apiKey" }
142
- ```
143
-
144
- Validation:
145
-
146
- - `provider` must match `^[a-z][a-z0-9_-]{0,63}$`
147
- - `id` must be an absolute JSON pointer (`/...`)
148
- - RFC6901 escaping in segments: `~` => `~0`, `/` => `~1`
149
-
150
- </Tab>
151
- <Tab title="exec">
152
- ```json5
153
- { source: "exec", provider: "vault", id: "providers/openai/apiKey#value" }
154
- ```
155
-
156
- Validation:
157
-
158
- - `provider` must match `^[a-z][a-z0-9_-]{0,63}$`
159
- - `id` must match `^[A-Za-z0-9][A-Za-z0-9._:/#-]{0,255}$` (supports selectors such as `secret#json_key`)
160
- - `id` must not contain `.` or `..` as slash-delimited path segments (for example `a/../b` is rejected)
161
-
162
- </Tab>
163
- </Tabs>
164
-
165
- ## Provider config
166
-
167
- Define providers under `secrets.providers`:
168
-
169
- ```json5
170
- {
171
- secrets: {
172
- providers: {
173
- default: { source: "env" },
174
- filemain: {
175
- source: "file",
176
- path: "~/.fengming/secrets.json",
177
- mode: "json", // or "singleValue"
178
- },
179
- vault: {
180
- source: "exec",
181
- command: "/usr/local/bin/fengming-vault-resolver",
182
- args: ["--profile", "prod"],
183
- passEnv: ["PATH", "VAULT_ADDR"],
184
- jsonOnly: true,
185
- },
186
- "team-secrets": {
187
- source: "exec",
188
- pluginIntegration: {
189
- pluginId: "acme-secrets",
190
- integrationId: "secret-store",
191
- },
192
- },
193
- },
194
- defaults: {
195
- env: "default",
196
- file: "filemain",
197
- exec: "vault",
198
- },
199
- resolution: {
200
- maxProviderConcurrency: 4,
201
- maxRefsPerProvider: 512,
202
- maxBatchBytes: 262144,
203
- },
204
- },
205
- }
206
- ```
207
-
208
- <AccordionGroup>
209
- <Accordion title="Env provider">
210
- - Optional allowlist via `allowlist`.
211
- - Missing/empty env values fail resolution.
212
-
213
- </Accordion>
214
- <Accordion title="File provider">
215
- - Reads local file from `path`.
216
- - `mode: "json"` expects JSON object payload and resolves `id` as pointer.
217
- - `mode: "singleValue"` expects ref id `"value"` and returns file contents.
218
- - Path must pass ownership/permission checks.
219
- - Windows fail-closed note: if ACL verification is unavailable for a path, resolution fails. For trusted paths only, set `allowInsecurePath: true` on that provider to bypass path security checks.
220
-
221
- </Accordion>
222
- <Accordion title="Exec provider">
223
- - Runs configured absolute binary path, no shell.
224
- - By default, `command` must point to a regular file (not a symlink).
225
- - Set `allowSymlinkCommand: true` to allow symlink command paths (for example Homebrew shims). FengMing validates the resolved target path.
226
- - Pair `allowSymlinkCommand` with `trustedDirs` for package-manager paths (for example `["/opt/homebrew"]`).
227
- - Supports timeout, no-output timeout, output byte limits, env allowlist, and trusted dirs.
228
- - Windows fail-closed note: if ACL verification is unavailable for the command path, resolution fails. For trusted paths only, set `allowInsecurePath: true` on that provider to bypass path security checks.
229
- - Plugin-managed exec providers can use `pluginIntegration` instead of
230
- copied `command`/`args`. FengMing resolves the current command details
231
- from the installed plugin manifest during startup/reload. If the plugin is
232
- disabled, removed, untrusted, or no longer declares the integration,
233
- active SecretRefs using that provider fail closed.
234
-
235
- Request payload (stdin):
236
-
237
- ```json
238
- { "protocolVersion": 1, "provider": "vault", "ids": ["providers/openai/apiKey"] }
239
- ```
240
-
241
- Response payload (stdout):
242
-
243
- ```jsonc
244
- { "protocolVersion": 1, "values": { "providers/openai/apiKey": "<openai-api-key>" } } // pragma: allowlist secret
245
- ```
246
-
247
- Optional per-id errors:
248
-
249
- ```json
250
- {
251
- "protocolVersion": 1,
252
- "values": {},
253
- "errors": { "providers/openai/apiKey": { "message": "not found" } }
254
- }
255
- ```
256
-
257
- </Accordion>
258
- </AccordionGroup>
259
-
260
- ## File-backed API keys
261
-
262
- Do not put `file:...` strings in the config `env` block. The `env` block is
263
- literal and non-overriding, so `file:...` is not resolved.
264
-
265
- Use a file SecretRef on a supported credential field instead:
266
-
267
- ```json5
268
- {
269
- secrets: {
270
- providers: {
271
- xai_key_file: {
272
- source: "file",
273
- path: "~/.fengming/secrets/xai-api-key.txt",
274
- mode: "singleValue",
275
- },
276
- },
277
- },
278
- models: {
279
- providers: {
280
- xai: {
281
- apiKey: { source: "file", provider: "xai_key_file", id: "value" },
282
- },
283
- },
284
- },
285
- }
286
- ```
287
-
288
- For `mode: "singleValue"`, the SecretRef `id` is `"value"`. For
289
- `mode: "json"`, use an absolute JSON pointer such as
290
- `"/providers/xai/apiKey"`.
291
-
292
- See [SecretRef credential surface](/reference/secretref-credential-surface) for
293
- the config fields that accept SecretRefs.
294
-
295
- ## Exec integration examples
296
-
297
- <AccordionGroup>
298
- <Accordion title="1Password CLI">
299
- ```json5
300
- {
301
- secrets: {
302
- providers: {
303
- onepassword_openai: {
304
- source: "exec",
305
- command: "/opt/homebrew/bin/op",
306
- allowSymlinkCommand: true, // required for Homebrew symlinked binaries
307
- trustedDirs: ["/opt/homebrew"],
308
- args: ["read", "op://Personal/FengMing QA API Key/password"],
309
- passEnv: ["HOME"],
310
- jsonOnly: false,
311
- },
312
- },
313
- },
314
- models: {
315
- providers: {
316
- openai: {
317
- baseUrl: "https://api.openai.com/v1",
318
- models: [{ id: "gpt-5", name: "gpt-5" }],
319
- apiKey: { source: "exec", provider: "onepassword_openai", id: "value" },
320
- },
321
- },
322
- },
323
- }
324
- ```
325
- </Accordion>
326
- <Accordion title="Bitwarden Secrets Manager (`bws`)">
327
- Use a resolver wrapper when you want SecretRef ids to map to Bitwarden
328
- Secrets Manager item keys. The repository includes
329
- `scripts/secrets/fengming-bws-resolver.mjs`; install or copy it to an absolute
330
- trusted path on the host that runs the Gateway.
331
-
332
- Requirements:
333
-
334
- - Bitwarden Secrets Manager CLI (`bws`) installed on the Gateway host.
335
- - `BWS_ACCESS_TOKEN` available to the Gateway service.
336
- - `PATH` passed to the resolver, or `BWS_BIN` set to the absolute `bws`
337
- binary path.
338
-
339
- ```json5
340
- {
341
- secrets: {
342
- providers: {
343
- bws: {
344
- source: "exec",
345
- command: "/usr/local/bin/fengming-bws-resolver.mjs",
346
- passEnv: ["BWS_ACCESS_TOKEN", "PATH", "BWS_BIN"],
347
- jsonOnly: true,
348
- },
349
- },
350
- },
351
- models: {
352
- providers: {
353
- openai: {
354
- baseUrl: "https://api.openai.com/v1",
355
- models: [{ id: "gpt-5", name: "gpt-5" }],
356
- apiKey: {
357
- source: "exec",
358
- provider: "bws",
359
- id: "fengming/providers/openai/apiKey",
360
- },
361
- },
362
- },
363
- },
364
- }
365
- ```
366
-
367
- The resolver batches requested ids, runs `bws secret list`, and returns
368
- values for matching secret `key` fields. Use keys that satisfy the exec
369
- SecretRef id contract, such as `fengming/providers/openai/apiKey`; env-var
370
- style keys with underscores are rejected before the resolver runs. If more
371
- than one visible Bitwarden secret has the same requested key, the resolver
372
- fails that id as ambiguous instead of choosing one. After updating config,
373
- verify the resolver path:
374
-
375
- ```bash
376
- fengming secrets audit --allow-exec
377
- ```
378
-
379
- </Accordion>
380
- <Accordion title="HashiCorp Vault CLI">
381
- ```json5
382
- {
383
- secrets: {
384
- providers: {
385
- vault_openai: {
386
- source: "exec",
387
- command: "/opt/homebrew/bin/vault",
388
- allowSymlinkCommand: true, // required for Homebrew symlinked binaries
389
- trustedDirs: ["/opt/homebrew"],
390
- args: ["kv", "get", "-field=OPENAI_API_KEY", "secret/fengming"],
391
- passEnv: ["VAULT_ADDR", "VAULT_TOKEN"],
392
- jsonOnly: false,
393
- },
394
- },
395
- },
396
- models: {
397
- providers: {
398
- openai: {
399
- baseUrl: "https://api.openai.com/v1",
400
- models: [{ id: "gpt-5", name: "gpt-5" }],
401
- apiKey: { source: "exec", provider: "vault_openai", id: "value" },
402
- },
403
- },
404
- },
405
- }
406
- ```
407
- </Accordion>
408
- <Accordion title="password-store (`pass`)">
409
- Use a small resolver wrapper when you want SecretRef ids to map directly to
410
- `pass` entries. Save this as an executable in an absolute path that passes
411
- your exec-provider path checks, for example
412
- `/usr/local/bin/fengming-pass-resolver`. The `#!/usr/bin/env node` shebang
413
- resolves `node` from the resolver process `PATH`, so include `PATH` in
414
- `passEnv`. If `pass` is not on that `PATH`, set `PASS_BIN` in the parent
415
- environment and include it in `passEnv` too:
416
-
417
- ```js
418
- #!/usr/bin/env node
419
- const { spawnSync } = require("node:child_process");
420
-
421
- let stdin = "";
422
- process.stdin.setEncoding("utf8");
423
- process.stdin.on("data", (chunk) => {
424
- stdin += chunk;
425
- });
426
- process.stdin.on("error", (err) => {
427
- process.stderr.write(`${err.message}\n`);
428
- process.exit(1);
429
- });
430
- process.stdin.on("end", () => {
431
- let request;
432
- try {
433
- request = JSON.parse(stdin || "{}");
434
- } catch (err) {
435
- process.stderr.write(`Failed to parse request: ${err.message}\n`);
436
- process.exit(1);
437
- }
438
-
439
- const passBin = process.env.PASS_BIN || "pass";
440
- const values = {};
441
- const errors = {};
442
-
443
- for (const id of request.ids ?? []) {
444
- const result = spawnSync(passBin, ["show", id], { encoding: "utf8" });
445
- if (result.status === 0) {
446
- values[id] = result.stdout.split(/\r?\n/, 1)[0] ?? "";
447
- } else {
448
- errors[id] = { message: (result.stderr || `pass exited ${result.status}`).trim() };
449
- }
450
- }
451
-
452
- process.stdout.write(JSON.stringify({ protocolVersion: 1, values, errors }));
453
- });
454
- ```
455
-
456
- Then configure the exec provider and point `apiKey` at the `pass` entry path:
457
-
458
- ```json5
459
- {
460
- secrets: {
461
- providers: {
462
- pass_store: {
463
- source: "exec",
464
- command: "/usr/local/bin/fengming-pass-resolver",
465
- passEnv: ["PATH", "HOME", "GNUPGHOME", "GPG_TTY", "PASSWORD_STORE_DIR", "PASS_BIN"],
466
- jsonOnly: true,
467
- },
468
- },
469
- },
470
- models: {
471
- providers: {
472
- openai: {
473
- baseUrl: "https://api.openai.com/v1",
474
- models: [{ id: "gpt-5", name: "gpt-5" }],
475
- apiKey: {
476
- source: "exec",
477
- provider: "pass_store",
478
- id: "fengming/providers/openai/apiKey",
479
- },
480
- },
481
- },
482
- },
483
- }
484
- ```
485
-
486
- Keep the secret on the first line of the `pass` entry, or customize the
487
- wrapper if you want to return the full `pass show` output instead. After
488
- updating config, verify both the static audit and the exec resolver path:
489
-
490
- ```bash
491
- fengming secrets audit --check
492
- fengming secrets audit --allow-exec
493
- ```
494
-
495
- </Accordion>
496
- <Accordion title="sops">
497
- ```json5
498
- {
499
- secrets: {
500
- providers: {
501
- sops_openai: {
502
- source: "exec",
503
- command: "/opt/homebrew/bin/sops",
504
- allowSymlinkCommand: true, // required for Homebrew symlinked binaries
505
- trustedDirs: ["/opt/homebrew"],
506
- args: ["-d", "--extract", '["providers"]["openai"]["apiKey"]', "/path/to/secrets.enc.json"],
507
- passEnv: ["SOPS_AGE_KEY_FILE"],
508
- jsonOnly: false,
509
- },
510
- },
511
- },
512
- models: {
513
- providers: {
514
- openai: {
515
- baseUrl: "https://api.openai.com/v1",
516
- models: [{ id: "gpt-5", name: "gpt-5" }],
517
- apiKey: { source: "exec", provider: "sops_openai", id: "value" },
518
- },
519
- },
520
- },
521
- }
522
- ```
523
- </Accordion>
524
- </AccordionGroup>
525
-
526
- ## MCP server environment variables
527
-
528
- MCP server env vars configured via `plugins.entries.acpx.config.mcpServers` support SecretInput. This keeps API keys and tokens out of plaintext config:
529
-
530
- ```json5
531
- {
532
- plugins: {
533
- entries: {
534
- acpx: {
535
- enabled: true,
536
- config: {
537
- mcpServers: {
538
- github: {
539
- command: "npx",
540
- args: ["-y", "@modelcontextprotocol/server-github"],
541
- env: {
542
- GITHUB_PERSONAL_ACCESS_TOKEN: {
543
- source: "env",
544
- provider: "default",
545
- id: "MCP_GITHUB_PAT",
546
- },
547
- },
548
- },
549
- },
550
- },
551
- },
552
- },
553
- },
554
- }
555
- ```
556
-
557
- Plaintext string values still work. Env-template refs like `${MCP_SERVER_API_KEY}` and SecretRef objects are resolved during gateway activation before the MCP server process is spawned. As with other SecretRef surfaces, unresolved refs only block activation when the `acpx` plugin is effectively active.
558
-
559
- ## Sandbox SSH auth material
560
-
561
- The core `ssh` sandbox backend also supports SecretRefs for SSH auth material:
562
-
563
- ```json5
564
- {
565
- agents: {
566
- defaults: {
567
- sandbox: {
568
- mode: "all",
569
- backend: "ssh",
570
- ssh: {
571
- target: "user@gateway-host:22",
572
- identityData: { source: "env", provider: "default", id: "SSH_IDENTITY" },
573
- certificateData: { source: "env", provider: "default", id: "SSH_CERTIFICATE" },
574
- knownHostsData: { source: "env", provider: "default", id: "SSH_KNOWN_HOSTS" },
575
- },
576
- },
577
- },
578
- },
579
- }
580
- ```
581
-
582
- Runtime behavior:
583
-
584
- - FengMing resolves these refs during sandbox activation, not lazily during each SSH call.
585
- - Resolved values are written to temp files with restrictive permissions and used in generated SSH config.
586
- - If the effective sandbox backend is not `ssh`, these refs stay inactive and do not block startup.
587
-
588
- ## Supported credential surface
589
-
590
- Canonical supported and unsupported credentials are listed in:
591
-
592
- - [SecretRef Credential Surface](/reference/secretref-credential-surface)
593
-
594
- <Note>
595
- Runtime-minted or rotating credentials and OAuth refresh material are intentionally excluded from read-only SecretRef resolution.
596
- </Note>
597
-
598
- ## Required behavior and precedence
599
-
600
- - Field without a ref: unchanged.
601
- - Field with a ref: required on active surfaces during activation.
602
- - If both plaintext and ref are present, ref takes precedence on supported precedence paths.
603
- - The redaction sentinel `__FENGMING_REDACTED__` is reserved for internal config redaction/restore and is rejected as literal submitted config data.
604
-
605
- Warning and audit signals:
606
-
607
- - `SECRETS_REF_OVERRIDES_PLAINTEXT` (runtime warning)
608
- - `REF_SHADOWED` (audit finding when `auth-profiles.json` credentials take precedence over `fengming.json` refs)
609
-
610
- Google Chat compatibility behavior:
611
-
612
- - `serviceAccountRef` takes precedence over plaintext `serviceAccount`.
613
- - Plaintext value is ignored when sibling ref is set.
614
-
615
- ## Activation triggers
616
-
617
- Secret activation runs on:
618
-
619
- - Startup (preflight plus final activation)
620
- - Config reload hot-apply path
621
- - Config reload restart-check path
622
- - Manual reload via `secrets.reload`
623
- - Gateway config write RPC preflight (`config.set` / `config.apply` / `config.patch`) for active-surface SecretRef resolvability within the submitted config payload before persisting edits
624
-
625
- Activation contract:
626
-
627
- - Success swaps the snapshot atomically.
628
- - Startup failure aborts gateway startup.
629
- - Runtime reload failure keeps the last-known-good snapshot.
630
- - Write-RPC preflight failure rejects the submitted config and keeps both disk config and active runtime snapshot unchanged.
631
- - Providing an explicit per-call channel token to an outbound helper/tool call does not trigger SecretRef activation; activation points remain startup, reload, and explicit `secrets.reload`.
632
-
633
- ## Degraded and recovered signals
634
-
635
- When reload-time activation fails after a healthy state, FengMing enters degraded secrets state.
636
-
637
- One-shot system event and log codes:
638
-
639
- - `SECRETS_RELOADER_DEGRADED`
640
- - `SECRETS_RELOADER_RECOVERED`
641
-
642
- Behavior:
643
-
644
- - Degraded: runtime keeps last-known-good snapshot.
645
- - Recovered: emitted once after the next successful activation.
646
- - Repeated failures while already degraded log warnings but do not spam events.
647
- - Startup fail-fast does not emit degraded events because runtime never became active.
648
-
649
- ## Command-path resolution
650
-
651
- Command paths can opt into supported SecretRef resolution via gateway snapshot RPC.
652
-
653
- There are two broad behaviors:
654
-
655
- <Tabs>
656
- <Tab title="Strict command paths">
657
- For example `fengming memory` remote-memory paths and `fengming qr --remote` when it needs remote shared-secret refs. They read from the active snapshot and fail fast when a required SecretRef is unavailable.
658
- </Tab>
659
- <Tab title="Read-only command paths">
660
- For example `fengming status`, `fengming status --all`, `fengming channels status`, `fengming channels resolve`, `fengming security audit`, and read-only doctor/config repair flows. They also prefer the active snapshot, but degrade instead of aborting when a targeted SecretRef is unavailable in that command path.
661
-
662
- Read-only behavior:
663
-
664
- - When the gateway is running, these commands read from the active snapshot first.
665
- - If gateway resolution is incomplete or the gateway is unavailable, they attempt targeted local fallback for the specific command surface.
666
- - If a targeted SecretRef is still unavailable, the command continues with degraded read-only output and explicit diagnostics such as "configured but unavailable in this command path".
667
- - This degraded behavior is command-local only. It does not weaken runtime startup, reload, or send/auth paths.
668
-
669
- </Tab>
670
- </Tabs>
671
-
672
- Other notes:
673
-
674
- - Snapshot refresh after backend secret rotation is handled by `fengming secrets reload`.
675
- - Gateway RPC method used by these command paths: `secrets.resolve`.
676
-
677
- ## Audit and configure workflow
678
-
679
- Default operator flow:
680
-
681
- <Steps>
682
- <Step title="Audit current state">
683
- ```bash
684
- fengming secrets audit --check
685
- ```
686
- </Step>
687
- <Step title="Configure and apply SecretRefs">
688
- ```bash
689
- fengming secrets configure --apply
690
- ```
691
- </Step>
692
- <Step title="Re-audit">
693
- ```bash
694
- fengming secrets audit --check
695
- ```
696
- </Step>
697
- </Steps>
698
-
699
- Do not treat the migration as complete until the re-audit is clean. If the audit
700
- still reports plaintext values at rest, the agent-access risk is still present
701
- even when runtime APIs return redacted values.
702
-
703
- If you save a plan instead of applying during `configure`, apply that saved plan
704
- with `fengming secrets apply --from <plan-path>` before the re-audit.
705
-
706
- <AccordionGroup>
707
- <Accordion title="secrets audit">
708
- Findings include:
709
-
710
- - plaintext values at rest (`fengming.json`, `auth-profiles.json`, `.env`, and generated `agents/*/agent/models.json`)
711
- - plaintext sensitive provider header residues in generated `models.json` entries
712
- - unresolved refs
713
- - precedence shadowing (`auth-profiles.json` taking priority over `fengming.json` refs)
714
- - legacy residues (`auth.json`, OAuth reminders)
715
-
716
- Exec note:
717
-
718
- - By default, audit skips exec SecretRef resolvability checks to avoid command side effects.
719
- - Use `fengming secrets audit --allow-exec` to execute exec providers during audit.
720
-
721
- Header residue note:
722
-
723
- - Sensitive provider header detection is name-heuristic based (common auth/credential header names and fragments such as `authorization`, `x-api-key`, `token`, `secret`, `password`, and `credential`).
724
-
725
- </Accordion>
726
- <Accordion title="secrets configure">
727
- Interactive helper that:
728
-
729
- - configures `secrets.providers` first (`env`/`file`/`exec`, add/edit/remove)
730
- - lets you select supported secret-bearing fields in `fengming.json` plus `auth-profiles.json` for one agent scope
731
- - can create a new `auth-profiles.json` mapping directly in the target picker
732
- - captures SecretRef details (`source`, `provider`, `id`)
733
- - runs preflight resolution
734
- - can apply immediately
735
-
736
- Exec note:
737
-
738
- - Preflight skips exec SecretRef checks unless `--allow-exec` is set.
739
- - If you apply directly from `configure --apply` and the plan includes exec refs/providers, keep `--allow-exec` set for the apply step too.
740
-
741
- Helpful modes:
742
-
743
- - `fengming secrets configure --providers-only`
744
- - `fengming secrets configure --skip-provider-setup`
745
- - `fengming secrets configure --agent <id>`
746
-
747
- `configure` apply defaults:
748
-
749
- - scrub matching static credentials from `auth-profiles.json` for targeted providers
750
- - scrub legacy static `api_key` entries from `auth.json`
751
- - scrub matching known secret lines from `<config-dir>/.env`
752
-
753
- </Accordion>
754
- <Accordion title="secrets apply">
755
- Apply a saved plan:
756
-
757
- ```bash
758
- fengming secrets apply --from /tmp/fengming-secrets-plan.json
759
- fengming secrets apply --from /tmp/fengming-secrets-plan.json --allow-exec
760
- fengming secrets apply --from /tmp/fengming-secrets-plan.json --dry-run
761
- fengming secrets apply --from /tmp/fengming-secrets-plan.json --dry-run --allow-exec
762
- ```
763
-
764
- Exec note:
765
-
766
- - dry-run skips exec checks unless `--allow-exec` is set.
767
- - write mode rejects plans containing exec SecretRefs/providers unless `--allow-exec` is set.
768
-
769
- For strict target/path contract details and exact rejection rules, see [Secrets Apply Plan Contract](/gateway/secrets-plan-contract).
770
-
771
- </Accordion>
772
- </AccordionGroup>
773
-
774
- ## One-way safety policy
775
-
776
- <Warning>
777
- FengMing intentionally does not write rollback backups containing historical plaintext secret values.
778
- </Warning>
779
-
780
- Safety model:
781
-
782
- - preflight must succeed before write mode
783
- - runtime activation is validated before commit
784
- - apply updates files using atomic file replacement and best-effort restore on failure
785
-
786
- ## Legacy auth compatibility notes
787
-
788
- For static credentials, runtime no longer depends on plaintext legacy auth storage.
789
-
790
- - Runtime credential source is the resolved in-memory snapshot.
791
- - Legacy static `api_key` entries are scrubbed when discovered.
792
- - OAuth-related compatibility behavior remains separate.
793
-
794
- ## Web UI note
795
-
796
- Some SecretInput unions are easier to configure in raw editor mode than in form mode.
797
-
798
- ## Related
799
-
800
- - [Authentication](/gateway/authentication) — auth setup
801
- - [CLI: secrets](/cli/secrets) — CLI commands
802
- - [Environment Variables](/help/environment) — environment precedence
803
- - [SecretRef Credential Surface](/reference/secretref-credential-surface) — credential surface
804
- - [Secrets Apply Plan Contract](/gateway/secrets-plan-contract) — plan contract details
805
- - [Security](/gateway/security) — security posture