@xopcai/xopc 0.0.361 → 0.0.363

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 (220) hide show
  1. package/dist/browser-ext/manifest.json +1 -1
  2. package/dist/extensions/telegram/xopc.extension.json +1 -1
  3. package/dist/gateway/static/root/assets/{activity-store-tpFInIoh.js → activity-store-GvR2gZ0T.js} +1 -1
  4. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-DUhFW_Go.js → agent-avatar-dicebear-DkcXyPH0.js} +1 -1
  5. package/dist/gateway/static/root/assets/{agent-defaults-settings-panel-BNILmgey.js → agent-defaults-settings-panel-B-l5AaYN.js} +1 -1
  6. package/dist/gateway/static/root/assets/{agent-plugin-dialog-CnWci4JJ.js → agent-plugin-dialog-BY6tPYOK.js} +1 -1
  7. package/dist/gateway/static/root/assets/{agents-CKS5LUUs.js → agents-CdSEoeje.js} +3 -3
  8. package/dist/gateway/static/root/assets/{agents-admin-api-CiAjB2iQ.js → agents-admin-api-BkXb7VEZ.js} +1 -1
  9. package/dist/gateway/static/root/assets/{app-management-settings-panel-DEig00YU.js → app-management-settings-panel-BtD53cfe.js} +1 -1
  10. package/dist/gateway/static/root/assets/{appearance-settings-CccnRRrL.js → appearance-settings-BAweWgX_.js} +1 -1
  11. package/dist/gateway/static/root/assets/{apps-page-CkT6UNZW.js → apps-page-CS6-hrIB.js} +1 -1
  12. package/dist/gateway/static/root/assets/{archive-plugin-CIlmZBe5.js → archive-plugin-CKe3qAaL.js} +1 -1
  13. package/dist/gateway/static/root/assets/{automations-page-8kZugDcf.js → automations-page-CtE8r9Y2.js} +1 -1
  14. package/dist/gateway/static/root/assets/{automations-workspace-3V54ShL0.js → automations-workspace-pnMgR4Da.js} +1 -1
  15. package/dist/gateway/static/root/assets/{binary-plugins-BuQiee_b.js → binary-plugins-J51oS7-D.js} +1 -1
  16. package/dist/gateway/static/root/assets/{block-editor-BFFRbsKX.js → block-editor-D5hf6WcP.js} +1 -1
  17. package/dist/gateway/static/root/assets/{browser-automation-inputs-CWujpdCx.js → browser-automation-inputs-5B3qAdmb.js} +1 -1
  18. package/dist/gateway/static/root/assets/{browser-automations-page-HVXiBKXE.js → browser-automations-page-PZDQlXH4.js} +1 -1
  19. package/dist/gateway/static/root/assets/{browser-settings-page-DpxAXNvM.js → browser-settings-page-2YDV-ZWt.js} +1 -1
  20. package/dist/gateway/static/root/assets/{capabilities-CngwB2JU.js → capabilities-BKu9BqPe.js} +1 -1
  21. package/dist/gateway/static/root/assets/{capabilities-RMlKKfGF.js → capabilities-CT_ZW9fT.js} +1 -1
  22. package/dist/gateway/static/root/assets/{capabilities-page-BBi4ef3u.js → capabilities-page-CB-iX3Fy.js} +2 -2
  23. package/dist/gateway/static/root/assets/{capabilities-settings-panel-IxszGl-Q.js → capabilities-settings-panel-BCTuWNaW.js} +1 -1
  24. package/dist/gateway/static/root/assets/{capability-header-actions-BLOIJvIZ.js → capability-header-actions--aC5XB9E.js} +1 -1
  25. package/dist/gateway/static/root/assets/{channels-Ced5nFBc.js → channels-JnAQP1bt.js} +1 -1
  26. package/dist/gateway/static/root/assets/{chat-terminal-dock-BskUzDCS.js → chat-terminal-dock-BFZEpvzn.js} +1 -1
  27. package/dist/gateway/static/root/assets/{computer-settings-page-De-pjlvn.js → computer-settings-page-Dc9ooEM-.js} +1 -1
  28. package/dist/gateway/static/root/assets/{connector-service-page-Qc1mVfp9.js → connector-service-page-1_QB5D-t.js} +1 -1
  29. package/dist/gateway/static/root/assets/{connectors-page-CPqeY1x5.js → connectors-page-Um_Jy5zh.js} +1 -1
  30. package/dist/gateway/static/root/assets/{date-picker-7ppMIGfQ.js → date-picker-C9ZqTPui.js} +1 -1
  31. package/dist/gateway/static/root/assets/dependency-picker-DBz0Pmyr.js +1 -0
  32. package/dist/gateway/static/root/assets/{desktop-pet-GKEfqHDF.js → desktop-pet-BLtp2MmX.js} +1 -1
  33. package/dist/gateway/static/root/assets/{desktop-pet-settings-qoFZBKe9.js → desktop-pet-settings-BNGbqwec.js} +1 -1
  34. package/dist/gateway/static/root/assets/{device-pairing-wizard-D8sTDd5s.js → device-pairing-wizard-7rdo-A7d.js} +1 -1
  35. package/dist/gateway/static/root/assets/{directory-picker-path-field-BC87CZa2.js → directory-picker-path-field-BnilGgwM.js} +1 -1
  36. package/dist/gateway/static/root/assets/{extension-debug-page-VxCq29jC.js → extension-debug-page-BGyJpRv4.js} +1 -1
  37. package/dist/gateway/static/root/assets/{extension-page-DypBVBTt.js → extension-page-DsrVktRN.js} +1 -1
  38. package/dist/gateway/static/root/assets/{extension-provider-wlvxPese.js → extension-provider-F9JzOWZ3.js} +1 -1
  39. package/dist/gateway/static/root/assets/{extension-settings-page-DzzkBN9y.js → extension-settings-page-jeb0ytRK.js} +1 -1
  40. package/dist/gateway/static/root/assets/{fallback-models-s4qTRcPJ.js → fallback-models-bZcxkEDz.js} +1 -1
  41. package/dist/gateway/static/root/assets/{gateway-config-swr-ZM72jovc.js → gateway-config-swr-CoRoOG1l.js} +1 -1
  42. package/dist/gateway/static/root/assets/{gateway-realtime-B-hrykag.js → gateway-realtime-D0ygm6bc.js} +1 -1
  43. package/dist/gateway/static/root/assets/gateway-realtime-store-DBvCRclh.js +1 -0
  44. package/dist/gateway/static/root/assets/{gateway-settings--M7ZH_37.js → gateway-settings-A9SzLsGp.js} +1 -1
  45. package/dist/gateway/static/root/assets/{gateway-startup-retry-DjWuTj8B.js → gateway-startup-retry-FDS6S6qa.js} +1 -1
  46. package/dist/gateway/static/root/assets/{home-page-KFs5suD1.js → home-page-CnHzaH9K.js} +1 -1
  47. package/dist/gateway/static/root/assets/{image-generation-api-C9cwrqCr.js → image-generation-api-BPd76jW5.js} +1 -1
  48. package/dist/gateway/static/root/assets/{imports-page-BKy0ImXk.js → imports-page-CzpsV6Vz.js} +1 -1
  49. package/dist/gateway/static/root/assets/{index-C0JT9Ja4.js → index-BYNmHn-z.js} +7 -7
  50. package/dist/gateway/static/root/assets/index-CbJNcWAn.css +1 -0
  51. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-CexiL-Ey.js → keyboard-shortcuts-settings-D90Dvlwo.js} +1 -1
  52. package/dist/gateway/static/root/assets/{local-app-workbench-page-CcU1OLWQ.js → local-app-workbench-page-_9IKMkV8.js} +1 -1
  53. package/dist/gateway/static/root/assets/{local-apps-page-BcLijQx4.js → local-apps-page-D6gejARs.js} +1 -1
  54. package/dist/gateway/static/root/assets/{local-session-drafts-C7QjBMNp.js → local-session-drafts-gbemPamv.js} +1 -1
  55. package/dist/gateway/static/root/assets/{locale-store-5sV3dDRG.js → locale-store-DId6-v2R.js} +1 -1
  56. package/dist/gateway/static/root/assets/{logs-page-48nrZNQe.js → logs-page--t8d-oLb.js} +1 -1
  57. package/dist/gateway/static/root/assets/{management-settings-B_gzl_Vh.js → management-settings-DVDmXzTg.js} +1 -1
  58. package/dist/gateway/static/root/assets/{markdown-view-V0f5NW7D.js → markdown-view-DQZ51j9e.js} +1 -1
  59. package/dist/gateway/static/root/assets/{media-plugins-_obxSZmT.js → media-plugins-XLewwq2q.js} +1 -1
  60. package/dist/gateway/static/root/assets/{messages-CaURu8bb.js → messages-BHvpZNe9.js} +2 -2
  61. package/dist/gateway/static/root/assets/models-hub-cache-B9SKjidc.js +1 -0
  62. package/dist/gateway/static/root/assets/{note-detail-panel-B9AeX98W.js → note-detail-panel-DuZAEfU1.js} +3 -3
  63. package/dist/gateway/static/root/assets/{notes-api-CBnMq6Nc.js → notes-api-Byt65v3r.js} +1 -1
  64. package/dist/gateway/static/root/assets/{notes-page-CKTTfxw-.js → notes-page-CgWNESGp.js} +1 -1
  65. package/dist/gateway/static/root/assets/{oauth-api-Bu2RoLF2.js → oauth-api-BYsCbyGZ.js} +1 -1
  66. package/dist/gateway/static/root/assets/{page-context-capture-button-BsxBAWD_.js → page-context-capture-button-Z72eiQZn.js} +1 -1
  67. package/dist/gateway/static/root/assets/{personal-page-Cfl1FR3i.js → personal-page-BtMatL9a.js} +1 -1
  68. package/dist/gateway/static/root/assets/{product-open-page-D1ARqS3r.js → product-open-page-w5Hdf0hQ.js} +1 -1
  69. package/dist/gateway/static/root/assets/{project-detail-page-Cro1OE8P.js → project-detail-page-CP6I3ZCV.js} +1 -1
  70. package/dist/gateway/static/root/assets/{projects-page-CdEmmBCz.js → projects-page-DYs6XrrK.js} +1 -1
  71. package/dist/gateway/static/root/assets/{registry-api-j1rNFkP2.js → registry-api-7F2WNEZC.js} +1 -1
  72. package/dist/gateway/static/root/assets/{remote-access-hub-C9_ea_4p.js → remote-access-hub-DjYoYAEw.js} +1 -1
  73. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-DtmQbC72.js → runtime-tools-settings-panel-Qar_DXLv.js} +1 -1
  74. package/dist/gateway/static/root/assets/{scenes-page-DeFdMf2q.js → scenes-page-BSIcDCa-.js} +1 -1
  75. package/dist/gateway/static/root/assets/{schema-form-ByEHHW6n.js → schema-form-C_cJLGgF.js} +1 -1
  76. package/dist/gateway/static/root/assets/{send-session-input-CO_vUCb8.js → send-session-input-D1oc6BC6.js} +1 -1
  77. package/dist/gateway/static/root/assets/{session-api-CYPGi01d.js → session-api-N3N37MrR.js} +1 -1
  78. package/dist/gateway/static/root/assets/{session-manager-BdJThQQ6.js → session-manager-CMGUwtbN.js} +2 -2
  79. package/dist/gateway/static/root/assets/{sessions-page-CV0JlaXS.js → sessions-page-BBV5Z24a.js} +1 -1
  80. package/dist/gateway/static/root/assets/settings-advanced-gate-DRc9IDJf.js +1 -0
  81. package/dist/gateway/static/root/assets/{settings-page-CHKsZFAN.js → settings-page-F2vGXBw7.js} +1 -1
  82. package/dist/gateway/static/root/assets/{setup-status-panel-CC58OVOe.js → setup-status-panel-DJxbjUOg.js} +1 -1
  83. package/dist/gateway/static/root/assets/{share-link-dialog-ZOdnHkmb.js → share-link-dialog-TBBGJPfT.js} +1 -1
  84. package/dist/gateway/static/root/assets/{share-preview-page-BPDWUuH_.js → share-preview-page-DyRLPsPv.js} +1 -1
  85. package/dist/gateway/static/root/assets/{shares-api-T5gR8yqz.js → shares-api-DU0fHP2G.js} +1 -1
  86. package/dist/gateway/static/root/assets/{shares-settings-DaXvdH8c.js → shares-settings-CJa6FBpP.js} +1 -1
  87. package/dist/gateway/static/root/assets/{skill-api-CHCLMcfO.js → skill-api-C340XD9d.js} +1 -1
  88. package/dist/gateway/static/root/assets/{skill-reload-api-C-RoiUJi.js → skill-reload-api-ClyFqHk7.js} +1 -1
  89. package/dist/gateway/static/root/assets/{skills-page-a9UQQnqn.js → skills-page-C4lF94m5.js} +1 -1
  90. package/dist/gateway/static/root/assets/{system-settings-panel-Dho_dlBS.js → system-settings-panel-CmJUu3lb.js} +1 -1
  91. package/dist/gateway/static/root/assets/task-detail-page-De-Rr8W6.js +2 -0
  92. package/dist/gateway/static/root/assets/{theme-store-CEl74p7l.js → theme-store-OhcbFEUR.js} +1 -1
  93. package/dist/gateway/static/root/assets/tracing-settings-page-DoBJ0TYY.js +1 -0
  94. package/dist/gateway/static/root/assets/{tunnel-api-BDqCyf8G.js → tunnel-api-Bl4nrCuE.js} +1 -1
  95. package/dist/gateway/static/root/assets/{usage-page-DKwKfszc.js → usage-page-QZEAaa8n.js} +1 -1
  96. package/dist/gateway/static/root/assets/{use-autosave-D09eZTLp.js → use-autosave-veoM0dHn.js} +1 -1
  97. package/dist/gateway/static/root/assets/{use-composer-attachments-CkvJM8Km.js → use-composer-attachments-DB0bBGzZ.js} +1 -1
  98. package/dist/gateway/static/root/assets/{use-file-preview-expanded-J3HnG8OH.js → use-file-preview-expanded-Bope6MW6.js} +2 -2
  99. package/dist/gateway/static/root/assets/{user-model-page-BsgADrGL.js → user-model-page-Crh2oNpZ.js} +1 -1
  100. package/dist/gateway/static/root/assets/{voice-api-key-field-DH-to9Rd.js → voice-api-key-field-CwD6a3KQ.js} +1 -1
  101. package/dist/gateway/static/root/assets/{voice-config-api-CmCfVy3H.js → voice-config-api-Daexehmc.js} +1 -1
  102. package/dist/gateway/static/root/assets/{work-discovery-overlay-x1vZDBhu.js → work-discovery-overlay-9jnjEAaz.js} +1 -1
  103. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-DGatvmK1.js → workflow-run-setup-panel-BAcPxdcT.js} +1 -1
  104. package/dist/gateway/static/root/assets/{workflows-page-DgNy6mBQ.js → workflows-page-D8Zm-ooa.js} +1 -1
  105. package/dist/gateway/static/root/assets/{workspace-api-DzPw92Kx.js → workspace-api-Cs4sjV2A.js} +2 -2
  106. package/dist/gateway/static/root/connector-icons/README.md +5 -2
  107. package/dist/gateway/static/root/connector-icons/SOURCES.md +15 -1
  108. package/dist/gateway/static/root/connector-icons/amap.ico +0 -0
  109. package/dist/gateway/static/root/connector-icons/antv-chart.png +0 -0
  110. package/dist/gateway/static/root/connector-icons/bailian.png +0 -0
  111. package/dist/gateway/static/root/connector-icons/dida365.png +0 -0
  112. package/dist/gateway/static/root/connector-icons/flomo.png +0 -0
  113. package/dist/gateway/static/root/connector-icons/gmail.svg +1 -3
  114. package/dist/gateway/static/root/connector-icons/jira.svg +3 -14
  115. package/dist/gateway/static/root/connector-icons/railway-12306.jpg +0 -0
  116. package/dist/gateway/static/root/connector-icons/railway-query.svg +1 -0
  117. package/dist/gateway/static/root/connector-icons/tencent-docs.ico +0 -0
  118. package/dist/gateway/static/root/connector-icons/yuque.png +0 -0
  119. package/dist/gateway/static/root/index.html +28 -28
  120. package/dist/package.js +1 -1
  121. package/dist/packages/gateway-contract/src/task-result-delivery.js +2 -2
  122. package/dist/src/agent/agent-manager.js +10 -6
  123. package/dist/src/agent/embedded/model-runtime.js +1 -1
  124. package/dist/src/agent/embedded/run-for-session.js +28 -3
  125. package/dist/src/agent/embedded/run-turn.js +18 -3
  126. package/dist/src/agent/image/tool-model-config.js +1 -1
  127. package/dist/src/agent/mcp/oauth/mcp-oauth-store.js +1 -1
  128. package/dist/src/agent/service.js +5 -3
  129. package/dist/src/agent/skills/hub-lock.js +1 -1
  130. package/dist/src/agent/tasks/task-judge-service.js +1 -1
  131. package/dist/src/agent-catalog/migrations/legacy-config-cutover.js +1 -1
  132. package/dist/src/agent-catalog/repository.js +1 -1
  133. package/dist/src/auth/credentials.js +2 -2
  134. package/dist/src/auth/oauth-provider-lock.js +1 -1
  135. package/dist/src/auth/profiles/store.js +1 -1
  136. package/dist/src/auth/sync-provider-auth.js +1 -1
  137. package/dist/src/browser/providers/browser-ext-install.js +1 -1
  138. package/dist/src/chat-commands/agent-edit.js +1 -1
  139. package/dist/src/chat-commands/builtins/config.js +1 -1
  140. package/dist/src/cli/commands/agent.js +1 -1
  141. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  142. package/dist/src/cli/commands/doctor/checks/image-providers.js +1 -1
  143. package/dist/src/cli/commands/doctor/checks/provider-auth.js +3 -3
  144. package/dist/src/cli/commands/models.js +1 -1
  145. package/dist/src/cli/commands/onboard/model.js +3 -3
  146. package/dist/src/config/agent-profile.js +1 -1
  147. package/dist/src/config/index.js +4 -4
  148. package/dist/src/config/loader.js +2 -2
  149. package/dist/src/config/models-json.js +1 -1
  150. package/dist/src/config/reload.d.ts +1 -0
  151. package/dist/src/config/reload.js +4 -0
  152. package/dist/src/config/rules.js +5 -0
  153. package/dist/src/config/schema.d.ts +23 -0
  154. package/dist/src/config/schema.js +6 -3
  155. package/dist/src/connectors/china-catalog.js +572 -0
  156. package/dist/src/connectors/cli/authorization.js +3 -2
  157. package/dist/src/connectors/cli/installer.js +3 -1
  158. package/dist/src/extensions/activation-context.js +1 -1
  159. package/dist/src/extensions/lockfile.js +1 -1
  160. package/dist/src/gateway/file-path-classifier.js +1 -1
  161. package/dist/src/gateway/hono/lib/config-payload.js +2 -2
  162. package/dist/src/gateway/hono/routes/agents.js +1 -1
  163. package/dist/src/gateway/hono/routes/config-patch/misc.js +2 -2
  164. package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
  165. package/dist/src/gateway/hono/routes/models.js +2 -2
  166. package/dist/src/gateway/hono/routes/observability.d.ts +3 -0
  167. package/dist/src/gateway/hono/routes/observability.js +106 -0
  168. package/dist/src/gateway/image-generation-setup.js +1 -1
  169. package/dist/src/gateway/lock.js +1 -1
  170. package/dist/src/gateway/security/gateway-scopes.js +1 -0
  171. package/dist/src/gateway/service/config-coordinator.d.ts +0 -25
  172. package/dist/src/gateway/service/config-coordinator.js +31 -0
  173. package/dist/src/gateway/service.js +5 -3
  174. package/dist/src/gateway/side-chat/manager.js +3 -2
  175. package/dist/src/observability/config.d.ts +40 -0
  176. package/dist/src/observability/config.js +31 -0
  177. package/dist/src/observability/langfuse.d.ts +31 -0
  178. package/dist/src/observability/langfuse.js +180 -0
  179. package/dist/src/observability/runtime.d.ts +57 -0
  180. package/dist/src/observability/runtime.js +404 -0
  181. package/dist/src/observability/sanitize.d.ts +3 -0
  182. package/dist/src/observability/sanitize.js +74 -0
  183. package/dist/src/observability/store.d.ts +20 -0
  184. package/dist/src/observability/store.js +128 -0
  185. package/dist/src/observability/storeWorker.d.ts +2 -0
  186. package/dist/src/observability/storeWorker.js +155 -0
  187. package/dist/src/observability/types.d.ts +21 -0
  188. package/dist/src/observability/types.js +1 -0
  189. package/dist/src/platform/index.js +1 -1
  190. package/dist/src/providers/auth-runtime/resolve-auth.js +1 -1
  191. package/dist/src/providers/index.js +3 -3
  192. package/dist/src/providers/model-call.js +19 -5
  193. package/dist/src/providers/model-catalog-persistence.js +1 -1
  194. package/dist/src/providers/model-registry.js +1 -1
  195. package/dist/src/providers/provider-disconnect-core.js +1 -1
  196. package/dist/src/providers/xopc-cloud-catalog-coordinator.js +1 -1
  197. package/dist/src/storage/sqlite/ai-usage-repository.d.ts +6 -0
  198. package/dist/src/storage/sqlite/ai-usage-repository.js +4 -2
  199. package/dist/src/storage/sqlite/migrations/233_observability_usage_links.sql +3 -0
  200. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  201. package/dist/src/storage/sqlite/migrations/runner.js +3 -3
  202. package/dist/src/storage/sqlite/schema.js +1 -1
  203. package/dist/src/tasks/task-result-delivery-repository.js +4 -5
  204. package/dist/src/tui/backends/embedded-backend.js +2 -2
  205. package/dist/src/tui/tui-commands.js +1 -1
  206. package/dist/src/tui/tui-startup-resources.js +1 -1
  207. package/dist/src/tui/tui.js +1 -1
  208. package/dist/src/usage/recorder.d.ts +4 -2
  209. package/dist/src/usage/recorder.js +54 -26
  210. package/dist/src/usage/types.d.ts +3 -0
  211. package/dist/src/utils/logger/context.d.ts +1 -1
  212. package/dist/src/utils/logger/context.js +4 -1
  213. package/dist/src/utils/logger/types.d.ts +3 -0
  214. package/package.json +5 -2
  215. package/dist/gateway/static/root/assets/dependency-picker-DfYC22si.js +0 -1
  216. package/dist/gateway/static/root/assets/gateway-realtime-store-B6B1fw_K.js +0 -1
  217. package/dist/gateway/static/root/assets/index-B7AHDHSO.css +0 -1
  218. package/dist/gateway/static/root/assets/models-hub-cache-Cs3E5pEA.js +0 -1
  219. package/dist/gateway/static/root/assets/settings-advanced-gate-D9sW0hKa.js +0 -1
  220. package/dist/gateway/static/root/assets/task-detail-page-B5JyH4z7.js +0 -1
@@ -1,5 +1,9 @@
1
1
  //#region src/connectors/china-catalog.ts
2
2
  const DINGTALK_MCP_VERSION = "1.1.21";
3
+ const AMAP_MCP_VERSION = "0.0.8";
4
+ const YUQUE_MCP_VERSION = "1.0.0";
5
+ const RAILWAY_MCP_VERSION = "0.3.10";
6
+ const ANTV_CHART_MCP_VERSION = "0.9.10";
3
7
  const CHINA_CONNECTORS = [
4
8
  {
5
9
  id: "feishu-workspace",
@@ -295,6 +299,574 @@ const CHINA_CONNECTORS = [
295
299
  workload: "core",
296
300
  preferred: true
297
301
  }
302
+ },
303
+ {
304
+ id: "tencent-docs",
305
+ version: "1.0.0",
306
+ displayName: "腾讯文档",
307
+ description: "通过腾讯文档官方 MCP 搜索和读取文档、创建智能文档,用于工作资料、家庭清单和计划整理。可用工具受账号权限及会员权益限制。",
308
+ category: "docs",
309
+ kind: "mcp",
310
+ source: "builtin",
311
+ capabilities: [
312
+ "tools",
313
+ "runtime.mcp.streamableHttp",
314
+ "auth.apiKey"
315
+ ],
316
+ benefits: ["understand", "act"],
317
+ tags: [
318
+ "中国",
319
+ "工作",
320
+ "生活",
321
+ "规划",
322
+ "腾讯文档",
323
+ "Tencent Docs",
324
+ "文档",
325
+ "清单"
326
+ ],
327
+ branding: {
328
+ logoUrl: "/connector-icons/tencent-docs.ico",
329
+ source: "builtin"
330
+ },
331
+ verificationLevel: "beta",
332
+ auth: { mode: "apiKey" },
333
+ setup: {
334
+ links: [{
335
+ label: "获取腾讯文档 MCP Token",
336
+ href: "https://docs.qq.com/open/auth/mcp.html",
337
+ external: true
338
+ }, {
339
+ label: "官方 MCP 接入与工具说明",
340
+ href: "https://developer.cloud.tencent.com/mcp/server/11803",
341
+ external: true
342
+ }],
343
+ secrets: [{
344
+ key: "token",
345
+ label: "腾讯文档 MCP Token",
346
+ description: "在腾讯文档授权页获取,直接粘贴 Token,不要添加 Bearer 前缀。",
347
+ required: true
348
+ }]
349
+ },
350
+ runtime: {
351
+ type: "mcp",
352
+ serverId: "tencent_docs",
353
+ serverTemplate: {
354
+ url: "https://docs.qq.com/openapi/mcp",
355
+ transport: "streamable-http",
356
+ headers: { Authorization: "{{secrets.token}}" }
357
+ }
358
+ },
359
+ permissions: {
360
+ data: ["documents"],
361
+ networkDomains: ["docs.qq.com"],
362
+ localExec: false,
363
+ filesystem: []
364
+ },
365
+ integrationStrategy: {
366
+ lane: "mcp",
367
+ workload: "core",
368
+ preferred: true
369
+ }
370
+ },
371
+ {
372
+ id: "yuque",
373
+ version: YUQUE_MCP_VERSION,
374
+ displayName: "语雀",
375
+ description: "连接语雀知识库,搜索和读取笔记、创建和更新文档,用于工作知识、学习笔记及长期计划。",
376
+ category: "docs",
377
+ kind: "mcp",
378
+ source: "builtin",
379
+ capabilities: [
380
+ "tools",
381
+ "runtime.mcp.stdio",
382
+ "auth.apiKey"
383
+ ],
384
+ benefits: ["understand", "act"],
385
+ tags: [
386
+ "中国",
387
+ "工作",
388
+ "生活",
389
+ "规划",
390
+ "语雀",
391
+ "Yuque",
392
+ "知识库",
393
+ "笔记",
394
+ "学习"
395
+ ],
396
+ branding: {
397
+ logoUrl: "/connector-icons/yuque.png",
398
+ source: "builtin"
399
+ },
400
+ verificationLevel: "beta",
401
+ auth: { mode: "apiKey" },
402
+ setup: {
403
+ links: [{
404
+ label: "获取语雀个人 Token",
405
+ href: "https://www.yuque.com/settings/tokens",
406
+ external: true
407
+ }, {
408
+ label: "语雀官方 MCP 项目",
409
+ href: "https://github.com/yuque/yuque-mcp-server",
410
+ external: true
411
+ }],
412
+ secrets: [{
413
+ key: "token",
414
+ label: "语雀个人 Token",
415
+ description: "在语雀账号设置中创建,勾选需要访问的知识库和文档权限;Token 获取资格以账号权益为准。",
416
+ required: true
417
+ }]
418
+ },
419
+ runtime: {
420
+ type: "mcp",
421
+ serverId: "yuque",
422
+ localPackage: {
423
+ registry: "npm",
424
+ name: "yuque-mcp",
425
+ version: YUQUE_MCP_VERSION
426
+ },
427
+ serverTemplate: {
428
+ command: "npx",
429
+ args: ["-y", `yuque-mcp@${YUQUE_MCP_VERSION}`],
430
+ env: { YUQUE_PERSONAL_TOKEN: "{{secrets.token}}" }
431
+ }
432
+ },
433
+ permissions: {
434
+ data: ["documents", "knowledge_bases"],
435
+ networkDomains: ["www.yuque.com"],
436
+ localExec: true,
437
+ filesystem: []
438
+ },
439
+ integrationStrategy: {
440
+ lane: "mcp",
441
+ workload: "core",
442
+ preferred: true
443
+ }
444
+ },
445
+ {
446
+ id: "amap-maps",
447
+ version: AMAP_MCP_VERSION,
448
+ displayName: "高德地图",
449
+ description: "查询国内地点、周边设施和天气,规划驾车、步行、骑行及公交路线,用于日常生活、通勤和旅行安排。",
450
+ category: "data",
451
+ kind: "mcp",
452
+ source: "builtin",
453
+ capabilities: [
454
+ "tools",
455
+ "runtime.mcp.stdio",
456
+ "auth.apiKey"
457
+ ],
458
+ benefits: ["understand"],
459
+ tags: [
460
+ "中国",
461
+ "生活",
462
+ "出行",
463
+ "规划",
464
+ "高德",
465
+ "Amap",
466
+ "地图",
467
+ "路线",
468
+ "公交",
469
+ "天气",
470
+ "周边"
471
+ ],
472
+ branding: {
473
+ logoUrl: "/connector-icons/amap.ico",
474
+ source: "builtin"
475
+ },
476
+ verificationLevel: "beta",
477
+ auth: { mode: "apiKey" },
478
+ setup: {
479
+ links: [{
480
+ label: "在高德控制台创建 Web 服务 Key",
481
+ href: "https://console.amap.com/dev/key/app",
482
+ external: true
483
+ }, {
484
+ label: "高德官方 MCP 接入说明",
485
+ href: "https://developer.amap.com/api/mcp-server/gettingstarted",
486
+ external: true
487
+ }],
488
+ secrets: [{
489
+ key: "apiKey",
490
+ label: "高德 Web 服务 Key",
491
+ description: "创建应用并添加 Key,服务平台选择 Web 服务。调用配额和商业使用条件以高德账号及服务条款为准。",
492
+ required: true
493
+ }]
494
+ },
495
+ runtime: {
496
+ type: "mcp",
497
+ serverId: "amap_maps",
498
+ localPackage: {
499
+ registry: "npm",
500
+ name: "@amap/amap-maps-mcp-server",
501
+ version: AMAP_MCP_VERSION
502
+ },
503
+ serverTemplate: {
504
+ command: "npx",
505
+ args: ["-y", `@amap/amap-maps-mcp-server@${AMAP_MCP_VERSION}`],
506
+ env: { AMAP_MAPS_API_KEY: "{{secrets.apiKey}}" }
507
+ }
508
+ },
509
+ permissions: {
510
+ data: [
511
+ "locations",
512
+ "routes",
513
+ "weather"
514
+ ],
515
+ networkDomains: ["restapi.amap.com"],
516
+ localExec: true,
517
+ filesystem: []
518
+ },
519
+ integrationStrategy: {
520
+ lane: "mcp",
521
+ workload: "core",
522
+ preferred: true
523
+ }
524
+ },
525
+ {
526
+ id: "bailian-web-search",
527
+ version: "1.0.0",
528
+ displayName: "百炼联网搜索",
529
+ description: "通过阿里云百炼官方 MCP 检索实时网页,为工作调研、生活信息、出行攻略和计划比较提供来源。",
530
+ category: "data",
531
+ kind: "mcp",
532
+ source: "builtin",
533
+ capabilities: [
534
+ "tools",
535
+ "runtime.mcp.streamableHttp",
536
+ "auth.apiKey"
537
+ ],
538
+ benefits: ["understand"],
539
+ tags: [
540
+ "中国",
541
+ "工作",
542
+ "生活",
543
+ "出行",
544
+ "规划",
545
+ "百炼",
546
+ "阿里云",
547
+ "DashScope",
548
+ "联网搜索",
549
+ "调研"
550
+ ],
551
+ branding: {
552
+ logoUrl: "/connector-icons/bailian.png",
553
+ source: "builtin"
554
+ },
555
+ verificationLevel: "beta",
556
+ auth: { mode: "apiKey" },
557
+ setup: {
558
+ links: [{
559
+ label: "前往百炼控制台开通联网搜索 MCP 并获取 API Key",
560
+ href: "https://bailian.console.aliyun.com/",
561
+ external: true
562
+ }, {
563
+ label: "百炼 MCP 外部调用说明",
564
+ href: "https://docs.agent.bailian.aliyun.com/zh/mcp/external-invocation",
565
+ external: true
566
+ }],
567
+ secrets: [{
568
+ key: "apiKey",
569
+ label: "DashScope API Key",
570
+ description: "先在百炼 MCP 广场开通联网搜索,再填入对应的百炼平台 API Key。服务配额以控制台为准;直接粘贴 Key,不要添加 Bearer 前缀。",
571
+ required: true
572
+ }]
573
+ },
574
+ runtime: {
575
+ type: "mcp",
576
+ serverId: "bailian_web_search",
577
+ serverTemplate: {
578
+ url: "https://dashscope.aliyuncs.com/api/v1/mcps/WebSearch/mcp",
579
+ transport: "streamable-http",
580
+ headers: { Authorization: "Bearer {{secrets.apiKey}}" }
581
+ }
582
+ },
583
+ permissions: {
584
+ data: ["search_queries"],
585
+ networkDomains: ["dashscope.aliyuncs.com"],
586
+ localExec: false,
587
+ filesystem: []
588
+ },
589
+ integrationStrategy: {
590
+ lane: "mcp",
591
+ workload: "core",
592
+ preferred: true
593
+ }
594
+ },
595
+ {
596
+ id: "dida365",
597
+ version: "1.0.0",
598
+ displayName: "滴答清单",
599
+ description: "连接你的个人滴答清单账号,查询和管理任务、清单、习惯及专注记录,用于工作安排、家庭事项和学习计划。",
600
+ category: "automation",
601
+ kind: "mcp",
602
+ source: "builtin",
603
+ capabilities: [
604
+ "tools",
605
+ "runtime.mcp.streamableHttp",
606
+ "auth.apiKey"
607
+ ],
608
+ benefits: ["understand", "act"],
609
+ tags: [
610
+ "中国",
611
+ "个人账号",
612
+ "工作",
613
+ "生活",
614
+ "规划",
615
+ "滴答清单",
616
+ "Dida365",
617
+ "待办",
618
+ "任务",
619
+ "习惯",
620
+ "专注"
621
+ ],
622
+ branding: {
623
+ logoUrl: "/connector-icons/dida365.png",
624
+ source: "builtin"
625
+ },
626
+ verificationLevel: "beta",
627
+ auth: { mode: "apiKey" },
628
+ setup: {
629
+ links: [{
630
+ label: "打开滴答清单网页版获取 API 口令",
631
+ href: "https://dida365.com/",
632
+ external: true
633
+ }, {
634
+ label: "滴答清单官方 MCP 配置说明",
635
+ href: "https://help.dida365.com/articles/7438132116019216384",
636
+ external: true
637
+ }],
638
+ secrets: [{
639
+ key: "token",
640
+ label: "滴答清单 API 口令",
641
+ description: "登录个人账号,在「设置 → 账户与安全 → API 口令」中创建并复制。直接粘贴口令,不要添加 Bearer 前缀;无需创建开发者应用。",
642
+ required: true
643
+ }]
644
+ },
645
+ runtime: {
646
+ type: "mcp",
647
+ serverId: "dida365",
648
+ serverTemplate: {
649
+ url: "https://mcp.dida365.com",
650
+ transport: "streamable-http",
651
+ headers: { Authorization: "Bearer {{secrets.token}}" }
652
+ }
653
+ },
654
+ permissions: {
655
+ data: [
656
+ "tasks",
657
+ "habits",
658
+ "focus_records"
659
+ ],
660
+ networkDomains: ["mcp.dida365.com"],
661
+ localExec: false,
662
+ filesystem: []
663
+ },
664
+ integrationStrategy: {
665
+ lane: "mcp",
666
+ workload: "core",
667
+ preferred: true
668
+ }
669
+ },
670
+ {
671
+ id: "flomo",
672
+ version: "1.0.0",
673
+ displayName: "flomo 浮墨笔记",
674
+ description: "连接你的个人 flomo 账号,搜索和读取旧笔记、保存新想法、整理标签,用于工作思考、生活记录和长期复盘。需要 flomo Max 会员。",
675
+ category: "docs",
676
+ kind: "mcp",
677
+ source: "builtin",
678
+ capabilities: [
679
+ "tools",
680
+ "runtime.mcp.streamableHttp",
681
+ "auth.apiKey"
682
+ ],
683
+ benefits: ["understand", "act"],
684
+ tags: [
685
+ "中国",
686
+ "个人账号",
687
+ "工作",
688
+ "生活",
689
+ "规划",
690
+ "flomo",
691
+ "浮墨",
692
+ "笔记",
693
+ "标签",
694
+ "复盘"
695
+ ],
696
+ branding: {
697
+ logoUrl: "/connector-icons/flomo.png",
698
+ source: "builtin"
699
+ },
700
+ verificationLevel: "beta",
701
+ auth: { mode: "apiKey" },
702
+ setup: {
703
+ links: [{
704
+ label: "登录 flomo 创建个人 MCP Token",
705
+ href: "https://flomoapp.com/",
706
+ external: true
707
+ }, {
708
+ label: "flomo 官方个人 Token 接入说明",
709
+ href: "https://help.flomoapp.com/advance/mcp/connect-maxclaw.html",
710
+ external: true
711
+ }],
712
+ secrets: [{
713
+ key: "token",
714
+ label: "flomo 个人 MCP Token",
715
+ description: "需要 Max 会员。在 flomo「设置 → MCP 连接 → 个人 Token」中创建并复制完整 Token;只显示一次,可在同一页面注销。不要添加 Bearer 前缀。",
716
+ required: true
717
+ }]
718
+ },
719
+ runtime: {
720
+ type: "mcp",
721
+ serverId: "flomo",
722
+ serverTemplate: {
723
+ url: "https://flomoapp.com/mcp",
724
+ transport: "streamable-http",
725
+ headers: { Authorization: "Bearer {{secrets.token}}" }
726
+ }
727
+ },
728
+ permissions: {
729
+ data: [
730
+ "notes",
731
+ "tags",
732
+ "memory_profiles"
733
+ ],
734
+ networkDomains: ["flomoapp.com"],
735
+ localExec: false,
736
+ filesystem: []
737
+ },
738
+ integrationStrategy: {
739
+ lane: "mcp",
740
+ workload: "core",
741
+ preferred: true
742
+ }
743
+ },
744
+ {
745
+ id: "railway-12306",
746
+ version: RAILWAY_MCP_VERSION,
747
+ displayName: "12306 车次查询(社区)",
748
+ description: "查询国内火车车次、余票、经停和中转方案,用于个人差旅与旅行规划。社区维护的查询工具,非铁路官方 MCP;不登录账号、不读取订单、不购票。",
749
+ category: "data",
750
+ kind: "mcp",
751
+ source: "builtin",
752
+ capabilities: ["tools", "runtime.mcp.stdio"],
753
+ benefits: ["understand"],
754
+ tags: [
755
+ "中国",
756
+ "个人自助",
757
+ "社区",
758
+ "生活",
759
+ "出行",
760
+ "规划",
761
+ "12306",
762
+ "火车",
763
+ "高铁",
764
+ "余票",
765
+ "中转"
766
+ ],
767
+ branding: {
768
+ logoUrl: "/connector-icons/railway-12306.jpg",
769
+ source: "builtin"
770
+ },
771
+ verificationLevel: "experimental",
772
+ auth: { mode: "none" },
773
+ setup: { links: [{
774
+ label: "社区项目及查询范围",
775
+ href: "https://github.com/Joooook/12306-mcp",
776
+ external: true
777
+ }] },
778
+ runtime: {
779
+ type: "mcp",
780
+ serverId: "railway_12306",
781
+ localPackage: {
782
+ registry: "npm",
783
+ name: "12306-mcp",
784
+ version: RAILWAY_MCP_VERSION
785
+ },
786
+ serverTemplate: {
787
+ command: "npx",
788
+ args: ["-y", `12306-mcp@${RAILWAY_MCP_VERSION}`]
789
+ }
790
+ },
791
+ permissions: {
792
+ data: ["travel_queries"],
793
+ networkDomains: [
794
+ "kyfw.12306.cn",
795
+ "search.12306.cn",
796
+ "www.12306.cn"
797
+ ],
798
+ localExec: true,
799
+ filesystem: []
800
+ },
801
+ integrationStrategy: {
802
+ lane: "mcp",
803
+ workload: "core",
804
+ preferred: true
805
+ }
806
+ },
807
+ {
808
+ id: "antv-chart",
809
+ version: ANTV_CHART_MCP_VERSION,
810
+ displayName: "AntV 图表",
811
+ description: "将工作数据、家庭预算和规划资料生成统计图表、思维导图或路书。无需账号凭据;默认把图表数据发送到 AntV 远程出图服务。",
812
+ category: "data",
813
+ kind: "mcp",
814
+ source: "builtin",
815
+ capabilities: ["tools", "runtime.mcp.stdio"],
816
+ benefits: ["act"],
817
+ tags: [
818
+ "中国",
819
+ "个人自助",
820
+ "工作",
821
+ "生活",
822
+ "出行",
823
+ "规划",
824
+ "AntV",
825
+ "图表",
826
+ "可视化",
827
+ "预算",
828
+ "思维导图",
829
+ "路书"
830
+ ],
831
+ branding: {
832
+ logoUrl: "/connector-icons/antv-chart.png",
833
+ source: "builtin"
834
+ },
835
+ verificationLevel: "beta",
836
+ auth: { mode: "none" },
837
+ setup: { links: [{
838
+ label: "AntV 官方 MCP 及出图服务说明",
839
+ href: "https://github.com/antvis/mcp-server-chart",
840
+ external: true
841
+ }, {
842
+ label: "魔搭国内服务页",
843
+ href: "https://modelscope.cn/mcp/servers/@antvis/mcp-server-chart",
844
+ external: true
845
+ }] },
846
+ runtime: {
847
+ type: "mcp",
848
+ serverId: "antv_chart",
849
+ localPackage: {
850
+ registry: "npm",
851
+ name: "@antv/mcp-server-chart",
852
+ version: ANTV_CHART_MCP_VERSION
853
+ },
854
+ serverTemplate: {
855
+ command: "npx",
856
+ args: ["-y", `@antv/mcp-server-chart@${ANTV_CHART_MCP_VERSION}`]
857
+ }
858
+ },
859
+ permissions: {
860
+ data: ["chart_data"],
861
+ networkDomains: ["antv-studio.alipay.com"],
862
+ localExec: true,
863
+ filesystem: []
864
+ },
865
+ integrationStrategy: {
866
+ lane: "mcp",
867
+ workload: "core",
868
+ preferred: true
869
+ }
298
870
  }
299
871
  ];
300
872
  //#endregion
@@ -5,7 +5,7 @@ import { getConnectorConnection, getConnectorInstallation, init_connector_reposi
5
5
  import { cliContextPath, startCliProcess } from "./process.js";
6
6
  import { getCliAdapter } from "./adapterRegistry.js";
7
7
  import { getConnectorInstance, getInstalledConnectorDefinition } from "../instances.js";
8
- import { verifyInstalledCli } from "./installer.js";
8
+ import { installCli } from "./installer.js";
9
9
  import { cliAuthorizationView, commitCliIdentity, createCliAuthorization, readCliAuthorization, updateCliAuthorization } from "./store.js";
10
10
  import { join, relative } from "node:path";
11
11
  import { cp, rm, stat } from "node:fs/promises";
@@ -38,7 +38,8 @@ function extractAuthorizationUrl(text, allowedHosts, field) {
38
38
  async function authorize(adapter, attempt, signal) {
39
39
  let committed = false;
40
40
  try {
41
- const executable = await verifyInstalledCli(adapter);
41
+ const executable = await installCli(adapter);
42
+ signal.throwIfAborted();
42
43
  const previous = attempt.expected_account_id ? getConnectorAccount(attempt.expected_account_id) : void 0;
43
44
  const previousConnection = previous?.currentConnectionId ? getConnectorConnection(previous.currentConnectionId) : void 0;
44
45
  if (previousConnection) {
@@ -1,8 +1,9 @@
1
1
  import { runProcess } from "../../process/run-process.js";
2
2
  import { cliRoot } from "./process.js";
3
3
  import { join } from "node:path";
4
+ import { constants } from "node:fs";
4
5
  import { createHash, randomUUID } from "node:crypto";
5
- import { chmod, mkdir, readFile, rename, rm, writeFile } from "node:fs/promises";
6
+ import { access, chmod, mkdir, readFile, rename, rm, writeFile } from "node:fs/promises";
6
7
  //#region src/connectors/cli/installer.ts
7
8
  const MAX_ARCHIVE_BYTES = 100 * 1024 * 1024;
8
9
  const installs = /* @__PURE__ */ new Map();
@@ -19,6 +20,7 @@ async function verifyInstalledCli(adapter) {
19
20
  const path = cliExecutablePath(adapter);
20
21
  const [binary, digest] = await Promise.all([readFile(path), readFile(`${path}.sha256`, "utf8")]);
21
22
  verifyIntegrity(binary, `sha256-${digest.trim()}`);
23
+ await access(path, constants.X_OK);
22
24
  return path;
23
25
  }
24
26
  async function install(adapter) {
@@ -1,5 +1,5 @@
1
- import { getAgentDefaultModelRef, init_schema } from "../config/schema.js";
2
1
  import { PROVIDER_ENV_MAP, init_env_keys } from "../providers/env-keys.js";
2
+ import { getAgentDefaultModelRef, init_schema } from "../config/schema.js";
3
3
  import { init_providers, isProviderConfiguredSync } from "../providers/index.js";
4
4
  import { collectSttProviderConfigEntries } from "../voice/stt/config-slice.js";
5
5
  import { mergeSttConfigFromAppConfig } from "../voice/stt/config.js";
@@ -1,7 +1,7 @@
1
1
  import { createLogger } from "../utils/logger/index.js";
2
2
  import { init_logger } from "../utils/logger.js";
3
- import { init_paths, resolveExtensionsDir, resolveExtensionsLockPath } from "../config/paths.js";
4
3
  import { init_write_file_atomic, writeTextAtomic } from "../infra/write-file-atomic.js";
4
+ import { init_paths, resolveExtensionsDir, resolveExtensionsLockPath } from "../config/paths.js";
5
5
  import { dirname, join } from "path";
6
6
  import { existsSync, lstatSync, readFileSync, readdirSync, readlinkSync } from "fs";
7
7
  import { mkdir, readFile } from "fs/promises";
@@ -1,7 +1,7 @@
1
1
  import { init_paths_state, resolveStateDir } from "../config/paths-state.js";
2
2
  import { init_agent_scope, resolveAgentProfileDir } from "../agent/agent-scope.js";
3
- import { extractProfileAgentId } from "../config/agent-profile.js";
4
3
  import { init_paths, resolveConfigPath, resolveSkillsDir } from "../config/paths.js";
4
+ import { extractProfileAgentId } from "../config/agent-profile.js";
5
5
  import { isBareProfileMarkdownFileName, resolveProfileMarkdownPathIfBareName } from "../agent/tools/tool-paths.js";
6
6
  import { isPathUnderWorkspace, resolveWorkspaceSafePath } from "./workspace-editor-path.js";
7
7
  import { basename, isAbsolute, resolve } from "node:path";
@@ -1,10 +1,10 @@
1
1
  import { normalizeAgentId } from "../../../agent-catalog/id.js";
2
2
  import { AgentCatalogRepository, init_repository } from "../../../agent-catalog/repository.js";
3
- import { ContextPlanningConfigSchema, KnowledgeMemoryConfigSchema, UserModelConfigSchema, init_config } from "../../../user-context/config.js";
4
3
  import { init_agent_scope, listAgentEntries, resolveDefaultAgentId } from "../../../agent/agent-scope.js";
5
4
  import { resolveModelsJsonPath } from "../../../config/paths.js";
6
- import { init_models_json, loadModelsJson } from "../../../config/models-json.js";
7
5
  import { CredentialResolver, init_credentials } from "../../../auth/credentials.js";
6
+ import { ContextPlanningConfigSchema, KnowledgeMemoryConfigSchema, UserModelConfigSchema, init_config } from "../../../user-context/config.js";
7
+ import { init_models_json, loadModelsJson } from "../../../config/models-json.js";
8
8
  import { getProviderRegistry, init_plugin_registry } from "../../../providers/plugin-registry.js";
9
9
  import { getAllProviders, init_providers, isProviderConfigured } from "../../../providers/index.js";
10
10
  import { normalizeConfiguredMcpServers } from "../../../config/mcp-config-normalize.js";
@@ -1,6 +1,6 @@
1
+ import { normalizeAgentId } from "../../../agent-catalog/id.js";
1
2
  import { AgentEntrySchema, AgentModelsOverrideSchema, AgentProfileSchema, RuntimePolicySchema, SkillOverrideSchema, ToolPoliciesSchema, WorkflowPolicySchema } from "../../../agent-config/schema.js";
2
3
  import { init_agent_config } from "../../../agent-config/index.js";
3
- import { normalizeAgentId } from "../../../agent-catalog/id.js";
4
4
  import { init_agent_scope } from "../../../agent/agent-scope.js";
5
5
  import { createGatewayAgent, deleteAgentAvatarFile, deleteGatewayAgent, getGatewayAgentEffectiveConfig, listAgentProfileFiles, listGatewayAgents, readAgentAvatarFile, readAgentProfileFile, updateGatewayAgent, writeAgentAvatarFromBase64, writeAgentProfileFile } from "../../agents-admin.js";
6
6
  import { getVoiceModelsConfig } from "../../../config/voice.js";
@@ -1,8 +1,8 @@
1
- import { ComputerConfigSchema, init_config } from "../../../../computer/config.js";
2
1
  import { BindingsSchema, init_binding_schema } from "../../../../routing/binding-schema.js";
2
+ import { CredentialResolver, init_credentials } from "../../../../auth/credentials.js";
3
+ import { ComputerConfigSchema, init_config } from "../../../../computer/config.js";
3
4
  import { ContextPlanningConfigSchema, HomeIntelligenceConfigSchema, KnowledgeMemoryConfigSchema, UserContextConfigSchema, UserModelConfigSchema, init_config as init_config$1 } from "../../../../user-context/config.js";
4
5
  import { BrowserConfigSchema, McpConfigSchema, VoiceConfigSchema, init_schema } from "../../../../config/schema.js";
5
- import { CredentialResolver, init_credentials } from "../../../../auth/credentials.js";
6
6
  import { canonicalizeConfiguredMcpServer } from "../../../../config/mcp-config-normalize.js";
7
7
  import { AgentCatalogService } from "../../../../agent-catalog/service.js";
8
8
  import { mergeGatewaySkillsMarketplacePatch, mergeSessionConfigPatch, mergeUpdateConfigPatch } from "../../../../config/web-patch.js";