@xopcai/xopc 0.0.368 → 0.0.370

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 (516) hide show
  1. package/README.md +59 -174
  2. package/README.zh-CN.md +59 -174
  3. package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/_md.js +131 -0
  4. package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/_u64.js +30 -0
  5. package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/sha2.js +252 -0
  6. package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/sha256.js +16 -0
  7. package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/utils.js +66 -0
  8. package/dist/browser-ext/_locales/en/messages.json +30 -1
  9. package/dist/browser-ext/_locales/zh_CN/messages.json +30 -1
  10. package/dist/browser-ext/dist/assets/{auth-beGtbLPS.js → page-context-BeworyNB.js} +1331 -1355
  11. package/dist/browser-ext/dist/assets/{sidepanel-BT0ojEzG.css → sidepanel-Ccl0eSa1.css} +43 -0
  12. package/dist/browser-ext/dist/background.js +680 -182
  13. package/dist/browser-ext/dist/sidepanel.html +2 -2
  14. package/dist/browser-ext/dist/sidepanel.js +393 -194
  15. package/dist/browser-ext/manifest.json +2 -8
  16. package/dist/extensions/telegram/xopc.extension.json +1 -1
  17. package/dist/gateway/static/root/assets/{activity-store-D9ZMh5ZR.js → activity-store-BQ3PMp2q.js} +1 -1
  18. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-Bj3rvcTm.js → agent-avatar-dicebear-C61i1QbX.js} +1 -1
  19. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-0fCR1DHx.js +1 -0
  20. package/dist/gateway/static/root/assets/agent-plugin-dialog-Di99mUTT.js +1 -0
  21. package/dist/gateway/static/root/assets/agents-BRZZmYH_.js +66 -0
  22. package/dist/gateway/static/root/assets/{agents-admin-api-B5QDepbW.js → agents-admin-api-HBZvVyzF.js} +1 -1
  23. package/dist/gateway/static/root/assets/{app-management-settings-panel-2rTEtB_X.js → app-management-settings-panel-noqqxkds.js} +1 -1
  24. package/dist/gateway/static/root/assets/{appearance-settings-BPVBS80k.js → appearance-settings-DG8QN0gR.js} +1 -1
  25. package/dist/gateway/static/root/assets/{apps-page-1FuKlZYP.js → apps-page-CgiyzFYo.js} +1 -1
  26. package/dist/gateway/static/root/assets/{archive-plugin-BbT1O7oK.js → archive-plugin-BO3I9zRP.js} +1 -1
  27. package/dist/gateway/static/root/assets/{automations-page-DjwP_h8h.js → automations-page-CgAcRFDS.js} +1 -1
  28. package/dist/gateway/static/root/assets/automations-workspace-BIkxIpab.js +6 -0
  29. package/dist/gateway/static/root/assets/{binary-plugins-gS7Wg68v.js → binary-plugins-gFD7vH9R.js} +1 -1
  30. package/dist/gateway/static/root/assets/{block-editor-DbwMaivP.js → block-editor-B1VE-jAe.js} +2 -2
  31. package/dist/gateway/static/root/assets/browser-automation-inputs-DxRoKFun.js +1 -0
  32. package/dist/gateway/static/root/assets/browser-automations-page-CIjyMS6f.js +3 -0
  33. package/dist/gateway/static/root/assets/browser-settings-page-BMAivBfp.js +3 -0
  34. package/dist/gateway/static/root/assets/{capabilities-Lswa0hv8.js → capabilities-CY4SiHcP.js} +1 -1
  35. package/dist/gateway/static/root/assets/{capabilities-Dd1PZRQw.js → capabilities-gjQtMhKu.js} +1 -1
  36. package/dist/gateway/static/root/assets/capabilities-page-DRdcfo68.js +2 -0
  37. package/dist/gateway/static/root/assets/{capabilities-settings-panel-DTHR1DrJ.js → capabilities-settings-panel-ZuL6pWjM.js} +4 -4
  38. package/dist/gateway/static/root/assets/{capability-header-actions-494dnJsj.js → capability-header-actions-D0GC1FEv.js} +1 -1
  39. package/dist/gateway/static/root/assets/channels-CgE22Pzd.js +1 -0
  40. package/dist/gateway/static/root/assets/{chat-terminal-dock-Bl7-Zk-x.js → chat-terminal-dock-CEjh1utz.js} +2 -2
  41. package/dist/gateway/static/root/assets/{computer-settings-page-ByExKr_6.js → computer-settings-page-vFHJAmQr.js} +1 -1
  42. package/dist/gateway/static/root/assets/{connector-service-page-BK_5aFxO.js → connector-service-page-DTrwZ4kV.js} +1 -1
  43. package/dist/gateway/static/root/assets/connectors-page-DRcMiTWu.js +1 -0
  44. package/dist/gateway/static/root/assets/copy-text-row-C1gaJwlZ.js +1 -0
  45. package/dist/gateway/static/root/assets/{date-picker-BXJv6472.js → date-picker-NfGIPSYY.js} +1 -1
  46. package/dist/gateway/static/root/assets/dependency-picker-CqguveUi.js +1 -0
  47. package/dist/gateway/static/root/assets/{desktop-pet-DWNEC3mk.js → desktop-pet-CTx1zkJm.js} +1 -1
  48. package/dist/gateway/static/root/assets/{desktop-pet-settings-BYwlxGiN.js → desktop-pet-settings-BRDS3EGc.js} +1 -1
  49. package/dist/gateway/static/root/assets/{device-pairing-wizard-BAc4F35b.js → device-pairing-wizard-Du4Ciuyw.js} +1 -1
  50. package/dist/gateway/static/root/assets/{directory-picker-path-field-D26tSY8Z.js → directory-picker-path-field-CjstlxFl.js} +1 -1
  51. package/dist/gateway/static/root/assets/{extension-debug-page-xYIGNegB.js → extension-debug-page-BfAtjhoK.js} +1 -1
  52. package/dist/gateway/static/root/assets/{extension-page-BoQ1-3AW.js → extension-page-BJmudejr.js} +1 -1
  53. package/dist/gateway/static/root/assets/{extension-provider-Cw_JU6RR.js → extension-provider-Br6LXyIj.js} +1 -1
  54. package/dist/gateway/static/root/assets/{extension-settings-page-BH5TFGPe.js → extension-settings-page-UvmHniyz.js} +1 -1
  55. package/dist/gateway/static/root/assets/{fallback-models-04Wqmw14.js → fallback-models-euw9MGdt.js} +1 -1
  56. package/dist/gateway/static/root/assets/{gateway-config-swr-CNf0ZeRw.js → gateway-config-swr-7RKqgU_U.js} +1 -1
  57. package/dist/gateway/static/root/assets/gateway-realtime-F6D4A7N5.js +1 -0
  58. package/dist/gateway/static/root/assets/gateway-realtime-store-BheKaO6d.js +1 -0
  59. package/dist/gateway/static/root/assets/{gateway-settings-BqvCJVUC.js → gateway-settings-C7roPHh1.js} +1 -1
  60. package/dist/gateway/static/root/assets/{gateway-startup-retry-DIxHacUw.js → gateway-startup-retry-jiV5sbEX.js} +1 -1
  61. package/dist/gateway/static/root/assets/home-page-BGNCTtM3.js +2 -0
  62. package/dist/gateway/static/root/assets/{image-generation-api-CS0q0Kto.js → image-generation-api-DO4mXb6I.js} +1 -1
  63. package/dist/gateway/static/root/assets/{imports-page-n_rSLo6b.js → imports-page-DxCoT0VV.js} +1 -1
  64. package/dist/gateway/static/root/assets/index-BGBkIIzM.css +1 -0
  65. package/dist/gateway/static/root/assets/index-FCEE325-.js +106 -0
  66. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-tVkrHbYF.js → keyboard-shortcuts-settings-CnLln9Ds.js} +1 -1
  67. package/dist/gateway/static/root/assets/{local-app-workbench-page-L8tYuas0.js → local-app-workbench-page-yXRkSrEj.js} +1 -1
  68. package/dist/gateway/static/root/assets/{local-apps-page-SSJ9B1bH.js → local-apps-page-D46buzTk.js} +1 -1
  69. package/dist/gateway/static/root/assets/local-session-drafts-pox8evDV.js +1 -0
  70. package/dist/gateway/static/root/assets/{locale-store-D6_rF-qT.js → locale-store-COVscAqC.js} +1 -1
  71. package/dist/gateway/static/root/assets/logs-page-DmcCHnH0.js +2 -0
  72. package/dist/gateway/static/root/assets/management-settings-khN1ThNL.js +1 -0
  73. package/dist/gateway/static/root/assets/{markdown-view-_xwUuKce.js → markdown-view-B_qnAcW2.js} +1 -1
  74. package/dist/gateway/static/root/assets/{media-plugins-C631CDu4.js → media-plugins-C0Pc-wSY.js} +1 -1
  75. package/dist/gateway/static/root/assets/messages-Bb2GK-Nj.js +3 -0
  76. package/dist/gateway/static/root/assets/models-hub-cache-DyPPksMP.js +1 -0
  77. package/dist/gateway/static/root/assets/note-detail-panel-C_t58yha.js +5 -0
  78. package/dist/gateway/static/root/assets/{notes-api-vIZWQ9Yt.js → notes-api-sBgBcyLW.js} +1 -1
  79. package/dist/gateway/static/root/assets/notes-page-BJ0QS6xx.js +8 -0
  80. package/dist/gateway/static/root/assets/{page-context-capture-button-BlPDM7GM.js → page-context-capture-button-DfRODHv1.js} +1 -1
  81. package/dist/gateway/static/root/assets/personal-page-CiiXwwQE.js +1 -0
  82. package/dist/gateway/static/root/assets/{product-open-page-BJjWvoER.js → product-open-page-_Bp6HRmm.js} +1 -1
  83. package/dist/gateway/static/root/assets/{product-preview-content-CEd4E7Gf.js → product-preview-content-BUdiO0Ct.js} +1 -1
  84. package/dist/gateway/static/root/assets/project-detail-page-Clb-fXYk.js +1 -0
  85. package/dist/gateway/static/root/assets/{projects-page-lszV8HuS.js → projects-page-D9JEEqhh.js} +1 -1
  86. package/dist/gateway/static/root/assets/{registry-api-uJnjqTcn.js → registry-api-Bh9UBb-f.js} +1 -1
  87. package/dist/gateway/static/root/assets/remote-access-hub-CmyTq3_l.js +1 -0
  88. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-CjnNQYW8.js → runtime-tools-settings-panel-B1_inj8L.js} +1 -1
  89. package/dist/gateway/static/root/assets/{scenes-page-B3T3dDOR.js → scenes-page-CUNAZN2_.js} +2 -2
  90. package/dist/gateway/static/root/assets/{schema-form-DT3c4Vd_.js → schema-form-CfT-9UVw.js} +1 -1
  91. package/dist/gateway/static/root/assets/{send-session-input-CICkGwn-.js → send-session-input-BW40VHiL.js} +1 -1
  92. package/dist/gateway/static/root/assets/{session-api-BcQodoAu.js → session-api-yjpEz4pP.js} +1 -1
  93. package/dist/gateway/static/root/assets/session-manager-BqlvrjPE.js +16 -0
  94. package/dist/gateway/static/root/assets/sessions-page-CXZKScvu.js +1 -0
  95. package/dist/gateway/static/root/assets/settings-advanced-gate-B2vKXmzg.js +1 -0
  96. package/dist/gateway/static/root/assets/{settings-page-D-PZjcss.js → settings-page-1h3vyueg.js} +1 -1
  97. package/dist/gateway/static/root/assets/setup-status-panel-Cqc7UlZy.js +1 -0
  98. package/dist/gateway/static/root/assets/{share-link-dialog-CWS8EkJS.js → share-link-dialog-HCHM8qnf.js} +1 -1
  99. package/dist/gateway/static/root/assets/{share-preview-page-23NJAKiq.js → share-preview-page-Ce6FNWt1.js} +1 -1
  100. package/dist/gateway/static/root/assets/{shares-api-iKhHbvBD.js → shares-api-c0dfWz6h.js} +1 -1
  101. package/dist/gateway/static/root/assets/shares-settings-Dh5jisCK.js +1 -0
  102. package/dist/gateway/static/root/assets/{skill-api-C-MWdQwl.js → skill-api-deDZeQS8.js} +1 -1
  103. package/dist/gateway/static/root/assets/{skill-reload-api-iy02aB13.js → skill-reload-api-Ge5XymHa.js} +1 -1
  104. package/dist/gateway/static/root/assets/skills-page-DZozl9U_.js +2 -0
  105. package/dist/gateway/static/root/assets/system-settings-panel-CtzyMxqq.js +1 -0
  106. package/dist/gateway/static/root/assets/{task-detail-page-B2SIEyhZ.js → task-detail-page-5f_V0h-p.js} +2 -2
  107. package/dist/gateway/static/root/assets/{task-expandable-content-D2LRR4BC.js → task-expandable-content-hYcgCEE3.js} +1 -1
  108. package/dist/gateway/static/root/assets/{theme-store-BJfhz-Zq.js → theme-store-BOfCKgl6.js} +1 -1
  109. package/dist/gateway/static/root/assets/{tracing-settings-page-aHD56iaS.js → tracing-settings-page-DDWFXcST.js} +1 -1
  110. package/dist/gateway/static/root/assets/{tunnel-api-BCf8CfTC.js → tunnel-api-vMtlbJ-m.js} +1 -1
  111. package/dist/gateway/static/root/assets/{usage-page-B4XUkuJd.js → usage-page-B1-BCW8U.js} +1 -1
  112. package/dist/gateway/static/root/assets/{use-autosave-BnnTw9RE.js → use-autosave-CSckcjFx.js} +1 -1
  113. package/dist/gateway/static/root/assets/{use-composer-attachments-Itczg0y1.js → use-composer-attachments-DJya1hIL.js} +1 -1
  114. package/dist/gateway/static/root/assets/use-file-preview-expanded-C5ONO7sF.js +2 -0
  115. package/dist/gateway/static/root/assets/user-model-page-D4BSq9HJ.js +2 -0
  116. package/dist/gateway/static/root/assets/{voice-api-key-field-BphJku8x.js → voice-api-key-field-GEw5x2fU.js} +1 -1
  117. package/dist/gateway/static/root/assets/{voice-config-api-B4u4coFj.js → voice-config-api-3yyVwXln.js} +1 -1
  118. package/dist/gateway/static/root/assets/{work-discovery-overlay-jgOEP1xw.js → work-discovery-overlay-CjiNYJV5.js} +1 -1
  119. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-N69crzRu.js → workflow-run-setup-panel-DJOetXvm.js} +2 -2
  120. package/dist/gateway/static/root/assets/workflows-page-CcAPFh2R.js +6 -0
  121. package/dist/gateway/static/root/assets/{workspace-api-Lzv6GDO8.js → workspace-api-WhbMvdBE.js} +2 -2
  122. package/dist/gateway/static/root/index.html +32 -34
  123. package/dist/package.js +1 -1
  124. package/dist/packages/browser-control-contract/src/automation.js +213 -0
  125. package/dist/packages/browser-control-contract/src/index.js +43 -12
  126. package/dist/packages/endpoint-tools-client/src/index.js +189 -0
  127. package/dist/packages/endpoint-tools-protocol/src/bridge.js +105 -0
  128. package/dist/packages/endpoint-tools-protocol/src/index.js +93 -2
  129. package/dist/packages/endpoint-tools-protocol/src/location.js +109 -0
  130. package/dist/packages/gateway-contract/src/gateway-scopes.js +3 -1
  131. package/dist/packages/gateway-contract/src/notifications.js +1 -0
  132. package/dist/packages/gateway-contract/src/session-input-command.js +30 -5
  133. package/dist/packages/realtime-protocol/src/voice.js +9 -3
  134. package/dist/src/agent/agent-manager.js +22 -26
  135. package/dist/src/agent/coding/repository-instructions.js +8 -1
  136. package/dist/src/agent/embedded/codemode-extension.d.ts +7 -0
  137. package/dist/src/agent/embedded/codemode-extension.js +232 -0
  138. package/dist/src/agent/embedded/codemode-output.d.ts +2 -0
  139. package/dist/src/agent/embedded/codemode-output.js +34 -0
  140. package/dist/src/agent/embedded/external-tool-discovery.d.ts +6 -0
  141. package/dist/src/agent/embedded/external-tool-discovery.js +60 -0
  142. package/dist/src/agent/embedded/model-runtime.js +5 -2
  143. package/dist/src/agent/embedded/run-for-session.js +10 -1
  144. package/dist/src/agent/embedded/run-turn.js +10 -3
  145. package/dist/src/agent/embedded/session-runner.d.ts +9 -1
  146. package/dist/src/agent/embedded/session-runner.js +111 -23
  147. package/dist/src/agent/embedded/session-tool-result-guard.d.ts +2 -0
  148. package/dist/src/agent/embedded/session-tool-result-guard.js +17 -0
  149. package/dist/src/agent/embedded/subscribe-session.js +14 -4
  150. package/dist/src/agent/embedded/tool-metadata.d.ts +15 -0
  151. package/dist/src/agent/embedded/tool-metadata.js +38 -0
  152. package/dist/src/agent/embedded/tool-search-extension.d.ts +5 -0
  153. package/dist/src/agent/embedded/tool-search-extension.js +31 -0
  154. package/dist/src/agent/embedded/types.d.ts +7 -0
  155. package/dist/src/agent/embedded/xopc-tools-bridge.js +6 -0
  156. package/dist/src/agent/external-tools/endpoint-provider.d.ts +1 -1
  157. package/dist/src/agent/external-tools/endpoint-provider.js +148 -56
  158. package/dist/src/agent/external-tools/extension-provider.js +8 -1
  159. package/dist/src/agent/external-tools/gateway-tools.d.ts +1 -1
  160. package/dist/src/agent/external-tools/gateway-tools.js +45 -22
  161. package/dist/src/agent/external-tools/index.js +46 -14
  162. package/dist/src/agent/external-tools/memory-provider.js +8 -1
  163. package/dist/src/agent/external-tools/read-policy.js +2 -1
  164. package/dist/src/agent/external-tools/service.d.ts +2 -0
  165. package/dist/src/agent/external-tools/service.js +25 -3
  166. package/dist/src/agent/external-tools/tool-registry.d.ts +14 -0
  167. package/dist/src/agent/external-tools/tool-registry.js +14 -0
  168. package/dist/src/agent/external-tools/types.d.ts +8 -1
  169. package/dist/src/agent/external-tools/types.js +0 -1
  170. package/dist/src/agent/mcp/config.d.ts +18 -0
  171. package/dist/src/agent/mcp/{bundle-mcp-config.js → config.js} +8 -25
  172. package/dist/src/agent/mcp/native-mcp.d.ts +6 -0
  173. package/dist/src/agent/mcp/native-mcp.js +73 -0
  174. package/dist/src/agent/service.js +2 -5
  175. package/dist/src/agent/skills/installer.js +1 -1
  176. package/dist/src/agent/skills/skill-manager.js +1 -1
  177. package/dist/src/agent/skills/skill-sources.js +1 -1
  178. package/dist/src/agent/source-context/index.d.ts +0 -1
  179. package/dist/src/agent/source-context/index.js +1 -2
  180. package/dist/src/agent/source-context/injector.js +1 -0
  181. package/dist/src/agent/source-context/types.d.ts +2 -2
  182. package/dist/src/agent/source-context/types.js +1 -1
  183. package/dist/src/agent/tool-manuals/browser.d.ts +1 -1
  184. package/dist/src/agent/tool-manuals/browser.js +3 -3
  185. package/dist/src/agent/tools/browser/tool/browser-use-tool.js +1 -1
  186. package/dist/src/agent/tools/browser/tool/schemas.d.ts +0 -13
  187. package/dist/src/agent/tools/browser/tool/schemas.js +0 -4
  188. package/dist/src/agent/tools/browser-automation-tool.d.ts +74 -1
  189. package/dist/src/agent/tools/browser-automation-tool.js +52 -6
  190. package/dist/src/agent/tools/cli-clarify.js +1 -1
  191. package/dist/src/agent/tools/codemode-permissions.d.ts +4 -0
  192. package/dist/src/agent/tools/codemode-permissions.js +23 -0
  193. package/dist/src/agent/tools/dataBatch.js +3 -1
  194. package/dist/src/agent/tools/delegation-parent-policy.js +1 -4
  195. package/dist/src/agent/tools/factory.js +4 -3
  196. package/dist/src/agent/transcript/provider-capabilities.js +0 -1
  197. package/dist/src/agent/transcript/transcript-policy.js +1 -2
  198. package/dist/src/agent-config/schema.d.ts +28 -0
  199. package/dist/src/agent-config/schema.js +7 -0
  200. package/dist/src/auth/credentials.js +7 -20
  201. package/dist/src/auth/model-credential-store.js +11 -4
  202. package/dist/src/auth/oauth/index.d.ts +1 -1
  203. package/dist/src/auth/oauth/index.js +3 -3
  204. package/dist/src/auth/oauth/openai.d.ts +2 -0
  205. package/dist/src/auth/oauth/openai.js +90 -0
  206. package/dist/src/auth/oauth/registry.js +3 -3
  207. package/dist/src/auth/oauth/types.d.ts +1 -0
  208. package/dist/src/auth/oauth/xopc-cloud.js +1 -1
  209. package/dist/src/auth/sync-provider-auth.js +5 -0
  210. package/dist/src/automations/capabilities/write.d.ts +2 -0
  211. package/dist/src/automations/domain/types.d.ts +11 -0
  212. package/dist/src/automations/domain/validation.d.ts +4 -0
  213. package/dist/src/automations/domain/validation.js +1 -0
  214. package/dist/src/automations/draft/automation-draft-validator.d.ts +1 -0
  215. package/dist/src/automations/service/action-executor.js +11 -3
  216. package/dist/src/automations/service/automation-service.d.ts +1 -0
  217. package/dist/src/automations/service/automation-service.js +13 -1
  218. package/dist/src/bootstrap/application-state.js +1 -1
  219. package/dist/src/browser/automations/repository.d.ts +4 -0
  220. package/dist/src/browser/automations/repository.js +27 -6
  221. package/dist/src/browser/automations/runner.js +101 -9
  222. package/dist/src/browser/automations/runtime-service.js +4 -3
  223. package/dist/src/browser/automations/schema.d.ts +84 -1
  224. package/dist/src/browser/automations/schema.js +68 -2
  225. package/dist/src/browser/automations/service.d.ts +78 -1
  226. package/dist/src/browser/automations/service.js +36 -4
  227. package/dist/src/browser/automations/types.d.ts +19 -4
  228. package/dist/src/browser/drivers/extension-driver.d.ts +5 -5
  229. package/dist/src/browser/drivers/extension-driver.js +10 -10
  230. package/dist/src/browser/drivers/playwright-driver.js +46 -0
  231. package/dist/src/browser/index.d.ts +1 -2
  232. package/dist/src/browser/index.js +2 -3
  233. package/dist/src/browser/policy/browser-policy.d.ts +0 -1
  234. package/dist/src/browser/policy/browser-policy.js +1 -4
  235. package/dist/src/browser/providers/index.d.ts +1 -1
  236. package/dist/src/browser/providers/index.js +2 -2
  237. package/dist/src/browser/providers/realtime-extension.d.ts +1 -1
  238. package/dist/src/browser/providers/realtime-extension.js +5 -1
  239. package/dist/src/browser/recordings/service.d.ts +22 -0
  240. package/dist/src/browser/recordings/service.js +160 -0
  241. package/dist/src/browser/runtime/browser-runtime.d.ts +1 -1
  242. package/dist/src/browser/runtime/browser-runtime.js +19 -56
  243. package/dist/src/chat-commands/builtins/model.js +2 -2
  244. package/dist/src/cli/command-manifest.js +1 -1
  245. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  246. package/dist/src/cli/commands/extension-agent-plugin.js +0 -19
  247. package/dist/src/cli/commands/mcp.js +36 -2
  248. package/dist/src/cli/commands/models.js +1 -1
  249. package/dist/src/cli/utils/oauth-login.js +2 -2
  250. package/dist/src/computer/runtime.js +2 -2
  251. package/dist/src/config/index.js +3 -3
  252. package/dist/src/config/mcp-config-normalize.d.ts +0 -3
  253. package/dist/src/config/mcp-config-normalize.js +2 -22
  254. package/dist/src/config/models-json.d.ts +0 -5
  255. package/dist/src/config/models-json.js +13 -4
  256. package/dist/src/config/paths.d.ts +0 -1
  257. package/dist/src/config/paths.js +1 -4
  258. package/dist/src/config/schema.d.ts +142 -48
  259. package/dist/src/config/schema.js +64 -47
  260. package/dist/src/connectors/auth-provider-registry.d.ts +1 -1
  261. package/dist/src/connectors/auth-provider-registry.js +1 -21
  262. package/dist/src/connectors/china-catalog.js +5 -5
  263. package/dist/src/connectors/connection-recovery-service.d.ts +1 -6
  264. package/dist/src/connectors/connection-recovery-service.js +3 -105
  265. package/dist/src/connectors/health.d.ts +1 -2
  266. package/dist/src/connectors/health.js +2 -101
  267. package/dist/src/connectors/types.d.ts +1 -1
  268. package/dist/src/endpoint-tools/binding-service.d.ts +2 -0
  269. package/dist/src/endpoint-tools/binding-service.js +14 -2
  270. package/dist/src/endpoint-tools/bridge-host.d.ts +15 -0
  271. package/dist/src/endpoint-tools/bridge-host.js +166 -0
  272. package/dist/src/endpoint-tools/bridge.d.ts +27 -0
  273. package/dist/src/endpoint-tools/bridge.js +88 -0
  274. package/dist/src/endpoint-tools/capability-catalog.d.ts +2 -0
  275. package/dist/src/endpoint-tools/capability-catalog.js +8 -0
  276. package/dist/src/endpoint-tools/grant-service.d.ts +69 -0
  277. package/dist/src/endpoint-tools/grant-service.js +113 -0
  278. package/dist/src/endpoint-tools/index.js +1 -1
  279. package/dist/src/endpoint-tools/invocation-service.js +6 -2
  280. package/dist/src/endpoint-tools/location-task.d.ts +22 -0
  281. package/dist/src/endpoint-tools/location-task.js +114 -0
  282. package/dist/src/endpoint-tools/policy.js +20 -4
  283. package/dist/src/endpoint-tools/registry.d.ts +2 -0
  284. package/dist/src/endpoint-tools/registry.js +9 -0
  285. package/dist/src/endpoint-tools/result-projector.d.ts +15 -0
  286. package/dist/src/endpoint-tools/result-projector.js +31 -0
  287. package/dist/src/endpoint-tools/runtime.d.ts +2 -0
  288. package/dist/src/endpoint-tools/runtime.js +15 -2
  289. package/dist/src/endpoint-tools/target-resolver.d.ts +12 -0
  290. package/dist/src/endpoint-tools/target-resolver.js +27 -0
  291. package/dist/src/endpoint-tools/turn-context.d.ts +6 -0
  292. package/dist/src/endpoint-tools/turn-context.js +29 -0
  293. package/dist/src/extensions/agent-plugins/auth.d.ts +0 -2
  294. package/dist/src/extensions/agent-plugins/auth.js +2 -19
  295. package/dist/src/extensions/agent-plugins/credentials.js +3 -19
  296. package/dist/src/extensions/agent-plugins/inventory.d.ts +2 -2
  297. package/dist/src/extensions/agent-plugins/mcp-adapter.js +1 -5
  298. package/dist/src/extensions/agent-plugins/source-http-fetch.d.ts +2 -0
  299. package/dist/src/{agent/mcp/plugin-http-fetch.js → extensions/agent-plugins/source-http-fetch.js} +7 -7
  300. package/dist/src/extensions/agent-plugins/sources.js +2 -2
  301. package/dist/src/extensions/agent-plugins/store.js +1 -3
  302. package/dist/src/extensions/agent-plugins/validation.d.ts +0 -4
  303. package/dist/src/extensions/agent-plugins/validation.js +13 -20
  304. package/dist/src/gateway/agents-admin.d.ts +5 -0
  305. package/dist/src/gateway/agents-admin.js +56 -1
  306. package/dist/src/gateway/chat-stream/mapper.js +9 -0
  307. package/dist/src/gateway/chat-stream/protocol.d.ts +4 -4
  308. package/dist/src/gateway/hono/lib/config-payload.d.ts +9 -4
  309. package/dist/src/gateway/hono/lib/config-payload.js +2 -5
  310. package/dist/src/gateway/hono/oauth-async.js +9 -2
  311. package/dist/src/gateway/hono/routes/agent-plugins.js +4 -9
  312. package/dist/src/gateway/hono/routes/agents.js +4 -3
  313. package/dist/src/gateway/hono/routes/browser-automations.js +23 -7
  314. package/dist/src/gateway/hono/routes/browser-recordings.d.ts +3 -0
  315. package/dist/src/gateway/hono/routes/browser-recordings.js +78 -0
  316. package/dist/src/gateway/hono/routes/browser.js +1 -34
  317. package/dist/src/gateway/hono/routes/connection-waits.js +2 -5
  318. package/dist/src/gateway/hono/routes/connectors.js +5 -60
  319. package/dist/src/gateway/hono/routes/device-authorizations.d.ts +3 -0
  320. package/dist/src/gateway/hono/routes/device-authorizations.js +74 -0
  321. package/dist/src/gateway/hono/routes/device-push.js +1 -0
  322. package/dist/src/gateway/hono/routes/endpoint-compatibility.js +7 -0
  323. package/dist/src/gateway/hono/routes/endpoint-tools.d.ts +1 -0
  324. package/dist/src/gateway/hono/routes/endpoint-tools.js +53 -3
  325. package/dist/src/gateway/hono/routes/home.js +1 -1
  326. package/dist/src/gateway/hono/routes/lazy-bundles.js +25 -1
  327. package/dist/src/gateway/hono/routes/mcp.d.ts +1 -1
  328. package/dist/src/gateway/hono/routes/mcp.js +11 -237
  329. package/dist/src/gateway/hono/routes/personal-agent.js +35 -0
  330. package/dist/src/gateway/hono/routes/session-command-handler.js +11 -1
  331. package/dist/src/gateway/hono/routes/session-input-handler.d.ts +8 -2
  332. package/dist/src/gateway/hono/routes/session-input-handler.js +25 -1
  333. package/dist/src/gateway/hono/routes/voice.js +5 -2
  334. package/dist/src/gateway/security/gateway-scopes.js +3 -1
  335. package/dist/src/gateway/service/agent-runner.js +1 -0
  336. package/dist/src/gateway/service/config-coordinator.js +2 -5
  337. package/dist/src/gateway/service/marketplace-service.js +2 -2
  338. package/dist/src/gateway/service/run-gateway-agent.js +13 -5
  339. package/dist/src/gateway/service/session-input-coordinator.d.ts +1 -1
  340. package/dist/src/gateway/service/session-input-coordinator.js +29 -9
  341. package/dist/src/gateway/service/sessions-api.js +0 -6
  342. package/dist/src/gateway/service.js +3 -12
  343. package/dist/src/gateway/session-reset-service.js +0 -6
  344. package/dist/src/home-intelligence/generator.d.ts +2 -0
  345. package/dist/src/home-intelligence/generator.js +53 -4
  346. package/dist/src/home-intelligence/host.d.ts +2 -1
  347. package/dist/src/home-intelligence/host.js +23 -3
  348. package/dist/src/imports/compatibility.js +12 -10
  349. package/dist/src/mcp/channel-bridge.js +1 -1
  350. package/dist/src/migrations/cloud-public-models.js +1 -0
  351. package/dist/src/notifications/clarification.d.ts +5 -0
  352. package/dist/src/notifications/clarification.js +66 -0
  353. package/dist/src/notifications/device-store.js +1 -0
  354. package/dist/src/notifications/harmony-push.d.ts +1 -0
  355. package/dist/src/notifications/harmony-push.js +3 -1
  356. package/dist/src/notifications/planner.d.ts +1 -0
  357. package/dist/src/notifications/service.d.ts +2 -2
  358. package/dist/src/notifications/service.js +20 -4
  359. package/dist/src/notifications/store.d.ts +2 -0
  360. package/dist/src/notifications/store.js +7 -1
  361. package/dist/src/notifications/types.d.ts +1 -0
  362. package/dist/src/notifications/types.js +1 -0
  363. package/dist/src/providers/env-keys.js +1 -1
  364. package/dist/src/providers/index.js +26 -24
  365. package/dist/src/providers/model-call.d.ts +0 -2
  366. package/dist/src/providers/model-call.js +2 -6
  367. package/dist/src/providers/model-registry.js +4 -2
  368. package/dist/src/providers/model-supplements.d.ts +3 -3
  369. package/dist/src/providers/model-supplements.js +6 -27
  370. package/dist/src/providers/presentation.js +3 -8
  371. package/dist/src/providers/prompt-cache-plan.js +1 -1
  372. package/dist/src/providers/provider-auth-service.d.ts +1 -1
  373. package/dist/src/providers/provider-auth-service.js +7 -2
  374. package/dist/src/providers/provider-policy.d.ts +3 -0
  375. package/dist/src/providers/provider-policy.js +14 -0
  376. package/dist/src/providers/register-runtime-providers.js +6 -1
  377. package/dist/src/realtime/runtime.js +1 -1
  378. package/dist/src/session/store.js +7 -1
  379. package/dist/src/session/transcript-events.d.ts +5 -0
  380. package/dist/src/session/transcript-events.js +1 -0
  381. package/dist/src/session/types.d.ts +2 -0
  382. package/dist/src/storage/sqlite/clarification-wait-repository.js +1 -0
  383. package/dist/src/storage/sqlite/device-grant-audit-repository.d.ts +11 -0
  384. package/dist/src/storage/sqlite/device-grant-audit-repository.js +10 -0
  385. package/dist/src/storage/sqlite/endpoint-device-settings-repository.d.ts +7 -0
  386. package/dist/src/storage/sqlite/endpoint-device-settings-repository.js +17 -0
  387. package/dist/src/storage/sqlite/migrations/238_browser_record_replay.sql +45 -0
  388. package/dist/src/storage/sqlite/migrations/239_clarification_notifications.sql +26 -0
  389. package/dist/src/storage/sqlite/migrations/240_device_settings.sql +5 -0
  390. package/dist/src/storage/sqlite/migrations/241_device_grant_audit.sql +13 -0
  391. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  392. package/dist/src/storage/sqlite/migrations/runner.js +3 -3
  393. package/dist/src/storage/sqlite/schema.js +1 -1
  394. package/dist/src/storage/sqlite/session-input-repository.d.ts +1 -0
  395. package/dist/src/storage/sqlite/session-input-repository.js +5 -1
  396. package/dist/src/tasks/home-query-service.d.ts +1 -1
  397. package/dist/src/tasks/home-query-service.js +6 -2
  398. package/dist/src/tui/backends/gateway-realtime-backend.js +1 -1
  399. package/dist/src/tui/xopc-tui-keybindings.d.ts +4 -4
  400. package/dist/src/voice/dashscope/streaming-tts-stream.d.ts +2 -1
  401. package/dist/src/voice/dashscope/streaming-tts-stream.js +135 -79
  402. package/dist/src/voice/realtime/agentEngine.js +78 -1
  403. package/dist/src/voice/realtime/speakable-segmenter.d.ts +2 -0
  404. package/dist/src/voice/realtime/speakable-segmenter.js +30 -0
  405. package/dist/src/voice/tts/providers/alibaba-speech.js +17 -1
  406. package/dist/src/voice/tts/speak-core.d.ts +3 -0
  407. package/dist/src/voice/tts/speak-core.js +21 -1
  408. package/dist/src/voice/tts/speech-provider-types.d.ts +8 -0
  409. package/package.json +18 -7
  410. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-D0tD3kCe.js +0 -1
  411. package/dist/gateway/static/root/assets/agent-plugin-dialog-BjdgKCnk.js +0 -1
  412. package/dist/gateway/static/root/assets/agents-CWXKzX5L.js +0 -66
  413. package/dist/gateway/static/root/assets/automations-workspace-C9ZT6TAU.js +0 -6
  414. package/dist/gateway/static/root/assets/browser-automation-inputs-CXG_JveC.js +0 -1
  415. package/dist/gateway/static/root/assets/browser-automations-page-CJc7OKR3.js +0 -3
  416. package/dist/gateway/static/root/assets/browser-settings-page-BjaTEUR8.js +0 -3
  417. package/dist/gateway/static/root/assets/capabilities-page-djBsC_tG.js +0 -2
  418. package/dist/gateway/static/root/assets/channels-BaYRJtz3.js +0 -1
  419. package/dist/gateway/static/root/assets/connectors-page-DyqRwSH2.js +0 -2
  420. package/dist/gateway/static/root/assets/copy-text-row-BHDs3cBa.js +0 -1
  421. package/dist/gateway/static/root/assets/dependency-picker-CWbbhKZa.js +0 -1
  422. package/dist/gateway/static/root/assets/dist-Che_jiQF.js +0 -1
  423. package/dist/gateway/static/root/assets/gateway-realtime-C4KtwMY3.js +0 -1
  424. package/dist/gateway/static/root/assets/gateway-realtime-store-ChZUzVbe.js +0 -1
  425. package/dist/gateway/static/root/assets/home-page-DhPPLbdD.js +0 -2
  426. package/dist/gateway/static/root/assets/index-CK4O2xMa.css +0 -1
  427. package/dist/gateway/static/root/assets/index-DpLD-7Hc.js +0 -106
  428. package/dist/gateway/static/root/assets/link-2-D_ZKYUW7.js +0 -1
  429. package/dist/gateway/static/root/assets/local-session-drafts-B_McurIj.js +0 -1
  430. package/dist/gateway/static/root/assets/logs-page-BWD63eg1.js +0 -2
  431. package/dist/gateway/static/root/assets/management-settings-aKSibklM.js +0 -1
  432. package/dist/gateway/static/root/assets/messages-Bnx3GMDB.js +0 -3
  433. package/dist/gateway/static/root/assets/models-hub-cache-Di83uIPw.js +0 -1
  434. package/dist/gateway/static/root/assets/note-detail-panel-B_fve3_2.js +0 -5
  435. package/dist/gateway/static/root/assets/notes-page-DnChyp8S.js +0 -8
  436. package/dist/gateway/static/root/assets/personal-page-BM2qAgg_.js +0 -1
  437. package/dist/gateway/static/root/assets/project-detail-page-DM4_VLNX.js +0 -1
  438. package/dist/gateway/static/root/assets/remote-access-hub-O6j9CWX0.js +0 -1
  439. package/dist/gateway/static/root/assets/session-manager-B0tOE4qz.js +0 -16
  440. package/dist/gateway/static/root/assets/sessions-page-BIixHXlQ.js +0 -1
  441. package/dist/gateway/static/root/assets/settings-advanced-gate-49SUEWPh.js +0 -1
  442. package/dist/gateway/static/root/assets/setup-status-panel-Ce3gTbT3.js +0 -1
  443. package/dist/gateway/static/root/assets/shares-settings-CNEZjF66.js +0 -1
  444. package/dist/gateway/static/root/assets/skills-page-BndNdYsJ.js +0 -2
  445. package/dist/gateway/static/root/assets/system-settings-panel-EpZeMlvp.js +0 -1
  446. package/dist/gateway/static/root/assets/use-file-preview-expanded-DJ5vyrvM.js +0 -2
  447. package/dist/gateway/static/root/assets/user-model-page-Bz5lkFG9.js +0 -2
  448. package/dist/gateway/static/root/assets/workflows-page-CPCgOfHh.js +0 -6
  449. package/dist/src/agent/embedded/system-prompt-override.d.ts +0 -2
  450. package/dist/src/agent/embedded/system-prompt-override.js +0 -21
  451. package/dist/src/agent/external-tools/mcp-provider.d.ts +0 -32
  452. package/dist/src/agent/external-tools/mcp-provider.js +0 -208
  453. package/dist/src/agent/mcp/bundle-mcp-config.d.ts +0 -20
  454. package/dist/src/agent/mcp/bundle-mcp-gateway.d.ts +0 -79
  455. package/dist/src/agent/mcp/bundle-mcp-gateway.js +0 -93
  456. package/dist/src/agent/mcp/bundle-mcp-names.d.ts +0 -1
  457. package/dist/src/agent/mcp/bundle-mcp-names.js +0 -25
  458. package/dist/src/agent/mcp/bundle-mcp-policy.d.ts +0 -1
  459. package/dist/src/agent/mcp/bundle-mcp-policy.js +0 -6
  460. package/dist/src/agent/mcp/bundle-mcp-runtime.d.ts +0 -46
  461. package/dist/src/agent/mcp/bundle-mcp-runtime.js +0 -571
  462. package/dist/src/agent/mcp/bundle-mcp-tools.d.ts +0 -2
  463. package/dist/src/agent/mcp/bundle-mcp-tools.js +0 -2
  464. package/dist/src/agent/mcp/bundle-mcp-types.d.ts +0 -76
  465. package/dist/src/agent/mcp/bundle-mcp-types.js +0 -1
  466. package/dist/src/agent/mcp/embedded-mcp.d.ts +0 -10
  467. package/dist/src/agent/mcp/embedded-mcp.js +0 -14
  468. package/dist/src/agent/mcp/index.d.ts +0 -5
  469. package/dist/src/agent/mcp/index.js +0 -12
  470. package/dist/src/agent/mcp/mcp-config-shared.d.ts +0 -8
  471. package/dist/src/agent/mcp/mcp-config-shared.js +0 -39
  472. package/dist/src/agent/mcp/mcp-http.d.ts +0 -23
  473. package/dist/src/agent/mcp/mcp-http.js +0 -67
  474. package/dist/src/agent/mcp/mcp-resource-id.d.ts +0 -6
  475. package/dist/src/agent/mcp/mcp-resource-id.js +0 -19
  476. package/dist/src/agent/mcp/mcp-stdio-transport.d.ts +0 -26
  477. package/dist/src/agent/mcp/mcp-stdio-transport.js +0 -120
  478. package/dist/src/agent/mcp/mcp-stdio.d.ts +0 -18
  479. package/dist/src/agent/mcp/mcp-stdio.js +0 -35
  480. package/dist/src/agent/mcp/mcp-transport-config.d.ts +0 -28
  481. package/dist/src/agent/mcp/mcp-transport-config.js +0 -91
  482. package/dist/src/agent/mcp/mcp-transport.d.ts +0 -17
  483. package/dist/src/agent/mcp/mcp-transport.js +0 -141
  484. package/dist/src/agent/mcp/oauth/index.d.ts +0 -6
  485. package/dist/src/agent/mcp/oauth/index.js +0 -6
  486. package/dist/src/agent/mcp/oauth/mcp-oauth-errors.d.ts +0 -5
  487. package/dist/src/agent/mcp/oauth/mcp-oauth-errors.js +0 -14
  488. package/dist/src/agent/mcp/oauth/mcp-oauth-manager.d.ts +0 -30
  489. package/dist/src/agent/mcp/oauth/mcp-oauth-manager.js +0 -276
  490. package/dist/src/agent/mcp/oauth/mcp-oauth-provider.d.ts +0 -33
  491. package/dist/src/agent/mcp/oauth/mcp-oauth-provider.js +0 -103
  492. package/dist/src/agent/mcp/oauth/mcp-oauth-session.d.ts +0 -31
  493. package/dist/src/agent/mcp/oauth/mcp-oauth-session.js +0 -181
  494. package/dist/src/agent/mcp/oauth/mcp-oauth-store.d.ts +0 -12
  495. package/dist/src/agent/mcp/oauth/mcp-oauth-store.js +0 -91
  496. package/dist/src/agent/mcp/oauth/mcp-oauth-types.d.ts +0 -22
  497. package/dist/src/agent/mcp/oauth/mcp-oauth-types.js +0 -1
  498. package/dist/src/agent/mcp/plugin-http-fetch.d.ts +0 -2
  499. package/dist/src/agent/source-context/mcp-resource-context.d.ts +0 -8
  500. package/dist/src/agent/source-context/mcp-resource-context.js +0 -30
  501. package/dist/src/auth/oauth/openai-codex.d.ts +0 -9
  502. package/dist/src/auth/oauth/openai-codex.js +0 -414
  503. package/dist/src/browser/policy/approval-store.d.ts +0 -17
  504. package/dist/src/browser/policy/approval-store.js +0 -62
  505. package/dist/src/browser/providers/extension-ws-acquire.d.ts +0 -19
  506. package/dist/src/browser/providers/extension-ws-acquire.js +0 -78
  507. package/dist/src/browser/providers/extension.d.ts +0 -61
  508. package/dist/src/browser/providers/extension.js +0 -378
  509. package/dist/src/connectors/plugin-mcp-recovery.d.ts +0 -28
  510. package/dist/src/connectors/plugin-mcp-recovery.js +0 -90
  511. package/dist/src/extensions/agent-plugins/connection.d.ts +0 -8
  512. package/dist/src/extensions/agent-plugins/connection.js +0 -41
  513. package/dist/src/extensions/agent-plugins/health.d.ts +0 -4
  514. package/dist/src/extensions/agent-plugins/health.js +0 -48
  515. package/dist/src/extensions/agent-plugins/plugin-oauth-scope.d.ts +0 -1
  516. package/dist/src/extensions/agent-plugins/plugin-oauth-scope.js +0 -8
@@ -1,571 +0,0 @@
1
- import { createLogger } from "../../utils/logger/index.js";
2
- import { init_logger } from "../../utils/logger.js";
3
- import { init_global_singleton, resolveGlobalSingleton } from "../../utils/global-singleton.js";
4
- import { init_string_coerce, normalizeOptionalString } from "../../utils/string-coerce.js";
5
- import { resolveConnectorSecretReferences } from "../../connectors/secret-store.js";
6
- import { recordPluginMcpHealth } from "../../extensions/agent-plugins/health.js";
7
- import { redactSensitiveUrlLikeString } from "../../utils/redact-sensitive-url.js";
8
- import { loadEmbeddedMcpConfig } from "./embedded-mcp.js";
9
- import { isMcpConfigRecord } from "./mcp-config-shared.js";
10
- import { isMcpAuthorizationError } from "./oauth/mcp-oauth-errors.js";
11
- import { resolveMcpTransport } from "./mcp-transport.js";
12
- import { sanitizeServerName } from "./bundle-mcp-names.js";
13
- import crypto from "node:crypto";
14
- import Ajv2020 from "ajv/dist/2020.js";
15
- import { Client } from "@modelcontextprotocol/sdk/client/index.js";
16
- import { AjvJsonSchemaValidator } from "@modelcontextprotocol/sdk/validation/ajv-provider.js";
17
- //#region src/agent/mcp/bundle-mcp-runtime.ts
18
- init_logger();
19
- init_global_singleton();
20
- init_string_coerce();
21
- const log = createLogger("Mcp:Bundle");
22
- const SESSION_MCP_RUNTIME_MANAGER_KEY = Symbol.for("xopc.sessionMcpRuntimeManager");
23
- const DRAFT_2020_12_SCHEMA = "https://json-schema.org/draft/2020-12/schema";
24
- const DEFAULT_SESSION_MCP_RUNTIME_IDLE_TTL_MS = 600 * 1e3;
25
- const SESSION_MCP_RUNTIME_SWEEP_INTERVAL_MS = 60 * 1e3;
26
- function isDraft202012Schema(schema) {
27
- return schema.$schema === DRAFT_2020_12_SCHEMA;
28
- }
29
- function createBundleMcpJsonSchemaValidator() {
30
- const defaultValidator = new AjvJsonSchemaValidator();
31
- const ajv2020 = new Ajv2020({
32
- strict: false,
33
- validateFormats: false,
34
- validateSchema: false,
35
- allErrors: true
36
- });
37
- return { getValidator(schema) {
38
- if (!isDraft202012Schema(schema)) return defaultValidator.getValidator(schema);
39
- const ajvValidator = ajv2020.compile(schema);
40
- return (input) => {
41
- if (ajvValidator(input)) return {
42
- valid: true,
43
- data: input,
44
- errorMessage: void 0
45
- };
46
- return {
47
- valid: false,
48
- data: void 0,
49
- errorMessage: ajv2020.errorsText(ajvValidator.errors)
50
- };
51
- };
52
- } };
53
- }
54
- function connectWithTimeout(client, transport, timeoutMs) {
55
- return new Promise((resolve, reject) => {
56
- const timer = setTimeout(() => reject(/* @__PURE__ */ new Error(`MCP server connection timed out after ${timeoutMs}ms`)), timeoutMs);
57
- client.connect(transport).then((value) => {
58
- clearTimeout(timer);
59
- resolve(value);
60
- }, (error) => {
61
- clearTimeout(timer);
62
- reject(error);
63
- });
64
- });
65
- }
66
- function redactErrorUrls(error) {
67
- return redactSensitiveUrlLikeString(String(error));
68
- }
69
- async function listAllTools(client) {
70
- const tools = [];
71
- let cursor;
72
- do {
73
- const page = await client.listTools(cursor ? { cursor } : void 0);
74
- tools.push(...page.tools);
75
- cursor = page.nextCursor;
76
- } while (cursor);
77
- return tools;
78
- }
79
- async function listAllResources(client) {
80
- const resources = [];
81
- let cursor;
82
- do {
83
- const page = await client.listResources(cursor ? { cursor } : void 0);
84
- resources.push(...page.resources);
85
- cursor = page.nextCursor;
86
- } while (cursor);
87
- return resources;
88
- }
89
- async function listAllPrompts(client) {
90
- const prompts = [];
91
- let cursor;
92
- do {
93
- const page = await client.listPrompts(cursor ? { cursor } : void 0);
94
- prompts.push(...page.prompts);
95
- cursor = page.nextCursor;
96
- } while (cursor);
97
- return prompts;
98
- }
99
- async function listOptionalMcpCapability(params) {
100
- try {
101
- return await params.list();
102
- } catch (error) {
103
- log.debug({
104
- phase: "agent.mcp_connect",
105
- serverName: params.serverName,
106
- capability: params.capability,
107
- errorMessage: redactErrorUrls(error)
108
- }, `bundle-mcp: server "${params.serverName}" did not list ${params.capability}`);
109
- return [];
110
- }
111
- }
112
- async function disposeSession(session) {
113
- session.detachStderr?.();
114
- if (session.transportType === "streamable-http") await session.transport.terminateSession().catch(() => {});
115
- await session.transport.close().catch(() => {});
116
- await session.client.close().catch(() => {});
117
- }
118
- function createCatalogFingerprint(servers) {
119
- return crypto.createHash("sha1").update(JSON.stringify(servers)).digest("hex");
120
- }
121
- function loadSessionMcpConfig(params) {
122
- const loaded = loadEmbeddedMcpConfig({
123
- workspaceDir: params.workspaceDir,
124
- cfg: params.cfg
125
- });
126
- if (params.logDiagnostics !== false) for (const diagnostic of loaded.diagnostics) log.warn({
127
- phase: "agent.mcp_connect",
128
- extensionId: diagnostic.extensionId,
129
- message: diagnostic.message
130
- }, `bundle-mcp diagnostic: ${diagnostic.extensionId}: ${diagnostic.message}`);
131
- return {
132
- loaded,
133
- fingerprint: createCatalogFingerprint(loaded.mcpServers)
134
- };
135
- }
136
- function createDisposedError(sessionId) {
137
- return /* @__PURE__ */ new Error(`bundle-mcp runtime disposed for session ${sessionId}`);
138
- }
139
- function resolveSessionMcpRuntimeIdleTtlMs(cfg) {
140
- const raw = cfg?.mcp?.sessionIdleTtlMs;
141
- if (typeof raw === "number" && Number.isFinite(raw) && raw >= 0) return Math.floor(raw);
142
- return DEFAULT_SESSION_MCP_RUNTIME_IDLE_TTL_MS;
143
- }
144
- function createSessionMcpRuntime(params) {
145
- const { loaded, fingerprint: configFingerprint } = loadSessionMcpConfig({
146
- workspaceDir: params.workspaceDir,
147
- cfg: params.cfg,
148
- logDiagnostics: true
149
- });
150
- const createdAt = Date.now();
151
- let lastUsedAt = createdAt;
152
- let activeLeases = 0;
153
- let disposed = false;
154
- let catalog = null;
155
- let catalogInFlight;
156
- const sessions = /* @__PURE__ */ new Map();
157
- const failIfDisposed = () => {
158
- if (disposed) throw createDisposedError(params.sessionId);
159
- };
160
- const getCatalog = async () => {
161
- failIfDisposed();
162
- if (catalog) return catalog;
163
- if (catalogInFlight) return catalogInFlight;
164
- catalogInFlight = (async () => {
165
- if (Object.keys(loaded.mcpServers).length === 0) return {
166
- version: 1,
167
- generatedAt: Date.now(),
168
- servers: {},
169
- tools: [],
170
- resources: [],
171
- prompts: []
172
- };
173
- const servers = {};
174
- const tools = [];
175
- const resources = [];
176
- const prompts = [];
177
- const usedServerNames = /* @__PURE__ */ new Set();
178
- try {
179
- for (const [serverName, rawServer] of Object.entries(loaded.mcpServers)) {
180
- failIfDisposed();
181
- let resolved;
182
- try {
183
- resolved = await resolveMcpTransport(serverName, await resolveConnectorSecretReferences(rawServer), params.cfg);
184
- } catch (error) {
185
- recordPluginMcpHealth(rawServer, "error");
186
- servers[serverName] = {
187
- serverName,
188
- launchSummary: "",
189
- toolCount: 0,
190
- resourceCount: 0,
191
- promptCount: 0,
192
- error: {
193
- code: "MCP_CONNECTION_FAILED",
194
- message: redactErrorUrls(error)
195
- }
196
- };
197
- continue;
198
- }
199
- if (!resolved) continue;
200
- const safeServerName = sanitizeServerName(serverName, usedServerNames);
201
- if (safeServerName !== serverName) log.warn({
202
- phase: "agent.mcp_connect",
203
- serverName,
204
- safeServerName
205
- }, `bundle-mcp: server key "${serverName}" uses policy namespace "${safeServerName}"`);
206
- const client = new Client({
207
- name: "xopc-bundle-mcp",
208
- version: "0.0.0"
209
- }, { jsonSchemaValidator: createBundleMcpJsonSchemaValidator() });
210
- const session = {
211
- serverName,
212
- client,
213
- transport: resolved.transport,
214
- transportType: resolved.transportType,
215
- requestTimeoutMs: resolved.requestTimeoutMs,
216
- detachStderr: resolved.detachStderr
217
- };
218
- sessions.set(serverName, session);
219
- try {
220
- failIfDisposed();
221
- await connectWithTimeout(client, resolved.transport, resolved.connectionTimeoutMs);
222
- failIfDisposed();
223
- const listedTools = await listAllTools(client);
224
- recordPluginMcpHealth(rawServer, "ready");
225
- const listedResources = await listOptionalMcpCapability({
226
- serverName,
227
- capability: "resources",
228
- list: () => listAllResources(client)
229
- });
230
- const listedPrompts = await listOptionalMcpCapability({
231
- serverName,
232
- capability: "prompts",
233
- list: () => listAllPrompts(client)
234
- });
235
- failIfDisposed();
236
- servers[serverName] = {
237
- serverName,
238
- launchSummary: resolved.description,
239
- toolCount: listedTools.length,
240
- resourceCount: listedResources.length,
241
- promptCount: listedPrompts.length
242
- };
243
- for (const tool of listedTools) {
244
- const toolName = tool.name.trim();
245
- if (!toolName) continue;
246
- tools.push({
247
- serverName,
248
- safeServerName,
249
- toolName,
250
- title: tool.title,
251
- description: normalizeOptionalString(tool.description) ?? normalizeOptionalString(tool.title),
252
- inputSchema: tool.inputSchema,
253
- annotations: tool.annotations,
254
- fallbackDescription: `Provided by bundle MCP server "${serverName}" (${resolved.description}).`
255
- });
256
- }
257
- for (const resource of listedResources) {
258
- const uri = resource.uri.trim();
259
- const name = resource.name.trim();
260
- if (!uri || !name) continue;
261
- resources.push({
262
- serverName,
263
- uri,
264
- name,
265
- title: resource.title,
266
- description: normalizeOptionalString(resource.description),
267
- mimeType: normalizeOptionalString(resource.mimeType)
268
- });
269
- }
270
- for (const prompt of listedPrompts) {
271
- const name = prompt.name.trim();
272
- if (!name) continue;
273
- prompts.push({
274
- serverName,
275
- name,
276
- title: prompt.title,
277
- description: normalizeOptionalString(prompt.description),
278
- argumentCount: Array.isArray(prompt.arguments) ? prompt.arguments.length : 0
279
- });
280
- }
281
- } catch (error) {
282
- servers[serverName] = {
283
- serverName,
284
- launchSummary: resolved.description,
285
- toolCount: 0,
286
- resourceCount: 0,
287
- promptCount: 0,
288
- error: {
289
- code: isMcpAuthorizationError(error) || error?.code === 401 ? "MCP_AUTHORIZATION_REQUIRED" : "MCP_CONNECTION_FAILED",
290
- message: redactErrorUrls(error)
291
- }
292
- };
293
- recordPluginMcpHealth(rawServer, servers[serverName].error?.code === "MCP_AUTHORIZATION_REQUIRED" ? "authorization_required" : "error");
294
- if (!disposed) log.warn(`bundle-mcp: failed to start server "${serverName}" (${resolved.description}): ${redactErrorUrls(error)}`);
295
- await disposeSession(session);
296
- sessions.delete(serverName);
297
- failIfDisposed();
298
- }
299
- }
300
- failIfDisposed();
301
- return {
302
- version: 1,
303
- generatedAt: Date.now(),
304
- servers,
305
- tools,
306
- resources,
307
- prompts
308
- };
309
- } catch (error) {
310
- await Promise.allSettled(Array.from(sessions.values(), (session) => disposeSession(session)));
311
- sessions.clear();
312
- throw error;
313
- }
314
- })();
315
- try {
316
- const nextCatalog = await catalogInFlight;
317
- failIfDisposed();
318
- catalog = nextCatalog;
319
- return nextCatalog;
320
- } finally {
321
- catalogInFlight = void 0;
322
- }
323
- };
324
- return {
325
- sessionId: params.sessionId,
326
- conversationId: params.conversationId,
327
- workspaceDir: params.workspaceDir,
328
- configFingerprint,
329
- createdAt,
330
- get lastUsedAt() {
331
- return lastUsedAt;
332
- },
333
- get activeLeases() {
334
- return activeLeases;
335
- },
336
- acquireLease() {
337
- activeLeases += 1;
338
- let released = false;
339
- return () => {
340
- if (released) return;
341
- released = true;
342
- activeLeases = Math.max(0, activeLeases - 1);
343
- lastUsedAt = Date.now();
344
- };
345
- },
346
- getCatalog,
347
- markUsed() {
348
- lastUsedAt = Date.now();
349
- },
350
- async callTool(serverName, toolName, input, signal) {
351
- failIfDisposed();
352
- await getCatalog();
353
- const session = sessions.get(serverName);
354
- if (!session) throw new Error(`bundle-mcp server "${serverName}" is not connected`);
355
- return await session.client.callTool({
356
- name: toolName,
357
- arguments: isMcpConfigRecord(input) ? input : {}
358
- }, void 0, {
359
- signal,
360
- timeout: session.requestTimeoutMs,
361
- maxTotalTimeout: session.requestTimeoutMs
362
- });
363
- },
364
- async readResource(serverName, uri, signal) {
365
- failIfDisposed();
366
- if (!(await getCatalog()).resources.some((resource) => resource.serverName === serverName && resource.uri === uri)) throw new Error(`bundle-mcp resource "${uri}" is not available from server "${serverName}"`);
367
- const session = sessions.get(serverName);
368
- if (!session) throw new Error(`bundle-mcp server "${serverName}" is not connected`);
369
- return session.client.readResource({ uri }, {
370
- signal,
371
- timeout: session.requestTimeoutMs,
372
- maxTotalTimeout: session.requestTimeoutMs
373
- });
374
- },
375
- async dispose() {
376
- if (disposed) return;
377
- disposed = true;
378
- catalog = null;
379
- catalogInFlight = void 0;
380
- const sessionsToClose = Array.from(sessions.values());
381
- sessions.clear();
382
- await Promise.allSettled(sessionsToClose.map((session) => disposeSession(session)));
383
- }
384
- };
385
- }
386
- function createSessionMcpRuntimeManager(opts = {}) {
387
- const runtimesBySessionId = /* @__PURE__ */ new Map();
388
- const sessionIdByConversationId = /* @__PURE__ */ new Map();
389
- const idleTtlMsBySessionId = /* @__PURE__ */ new Map();
390
- const createRuntime = opts.createRuntime ?? createSessionMcpRuntime;
391
- const now = opts.now ?? Date.now;
392
- const createInFlight = /* @__PURE__ */ new Map();
393
- const idleSweepIntervalMs = opts.idleSweepIntervalMs ?? SESSION_MCP_RUNTIME_SWEEP_INTERVAL_MS;
394
- let idleSweepTimer;
395
- let idleSweepInFlight;
396
- const forgetConversationIdsForSessionId = (sessionId) => {
397
- for (const [conversationId, mappedSessionId] of sessionIdByConversationId.entries()) if (mappedSessionId === sessionId) sessionIdByConversationId.delete(conversationId);
398
- };
399
- const sweepIdleRuntimes = async () => {
400
- const nowMs = now();
401
- const expired = [];
402
- for (const [sessionId, runtime] of runtimesBySessionId.entries()) {
403
- const idleTtlMs = idleTtlMsBySessionId.get(sessionId) ?? DEFAULT_SESSION_MCP_RUNTIME_IDLE_TTL_MS;
404
- if (idleTtlMs <= 0 || (runtime.activeLeases ?? 0) > 0) continue;
405
- if (nowMs - runtime.lastUsedAt < idleTtlMs) continue;
406
- runtimesBySessionId.delete(sessionId);
407
- idleTtlMsBySessionId.delete(sessionId);
408
- forgetConversationIdsForSessionId(sessionId);
409
- expired.push(runtime);
410
- }
411
- await Promise.allSettled(expired.map((runtime) => runtime.dispose()));
412
- return expired.length;
413
- };
414
- const queueIdleSweep = () => {
415
- if (idleSweepInFlight) return;
416
- idleSweepInFlight = sweepIdleRuntimes().then(() => void 0).catch((error) => {
417
- const em = error instanceof Error ? error.message : String(error);
418
- log.warn({
419
- err: error,
420
- errorMessage: em,
421
- phase: "agent.mcp_connect"
422
- }, `bundle-mcp: idle runtime sweep failed: ${em}`);
423
- }).finally(() => {
424
- idleSweepInFlight = void 0;
425
- });
426
- };
427
- const ensureIdleSweepTimer = () => {
428
- if (opts.enableIdleSweepTimer === false || idleSweepIntervalMs <= 0 || idleSweepTimer) return;
429
- idleSweepTimer = setInterval(queueIdleSweep, idleSweepIntervalMs);
430
- idleSweepTimer.unref?.();
431
- };
432
- const clearIdleSweepTimer = () => {
433
- if (!idleSweepTimer) return;
434
- clearInterval(idleSweepTimer);
435
- idleSweepTimer = void 0;
436
- };
437
- return {
438
- async getOrCreate(params) {
439
- const idleTtlMs = resolveSessionMcpRuntimeIdleTtlMs(params.cfg);
440
- if (runtimesBySessionId.has(params.sessionId)) idleTtlMsBySessionId.set(params.sessionId, idleTtlMs);
441
- await sweepIdleRuntimes();
442
- if (idleTtlMs > 0) ensureIdleSweepTimer();
443
- if (params.conversationId) sessionIdByConversationId.set(params.conversationId, params.sessionId);
444
- const { fingerprint: nextFingerprint } = loadSessionMcpConfig({
445
- workspaceDir: params.workspaceDir,
446
- cfg: params.cfg,
447
- logDiagnostics: false
448
- });
449
- const existing = runtimesBySessionId.get(params.sessionId);
450
- if (existing) if (existing.workspaceDir !== params.workspaceDir || existing.configFingerprint !== nextFingerprint) {
451
- runtimesBySessionId.delete(params.sessionId);
452
- await existing.dispose();
453
- } else {
454
- existing.markUsed();
455
- idleTtlMsBySessionId.set(params.sessionId, idleTtlMs);
456
- return existing;
457
- }
458
- const inFlight = createInFlight.get(params.sessionId);
459
- if (inFlight) {
460
- if (inFlight.workspaceDir === params.workspaceDir && inFlight.configFingerprint === nextFingerprint) return inFlight.promise;
461
- createInFlight.delete(params.sessionId);
462
- const staleRuntime = await inFlight.promise.catch(() => void 0);
463
- runtimesBySessionId.delete(params.sessionId);
464
- idleTtlMsBySessionId.delete(params.sessionId);
465
- await staleRuntime?.dispose();
466
- }
467
- const created = Promise.resolve(createRuntime({
468
- sessionId: params.sessionId,
469
- conversationId: params.conversationId,
470
- workspaceDir: params.workspaceDir,
471
- cfg: params.cfg
472
- })).then((runtime) => {
473
- runtime.markUsed();
474
- runtimesBySessionId.set(params.sessionId, runtime);
475
- idleTtlMsBySessionId.set(params.sessionId, idleTtlMs);
476
- return runtime;
477
- });
478
- createInFlight.set(params.sessionId, {
479
- promise: created,
480
- workspaceDir: params.workspaceDir,
481
- configFingerprint: nextFingerprint
482
- });
483
- try {
484
- return await created;
485
- } finally {
486
- createInFlight.delete(params.sessionId);
487
- }
488
- },
489
- bindConversationId(conversationId, sessionId) {
490
- sessionIdByConversationId.set(conversationId, sessionId);
491
- },
492
- resolveSessionId(conversationId) {
493
- return sessionIdByConversationId.get(conversationId);
494
- },
495
- async disposeSession(sessionId) {
496
- const inFlight = createInFlight.get(sessionId);
497
- createInFlight.delete(sessionId);
498
- let runtime = runtimesBySessionId.get(sessionId);
499
- if (!runtime && inFlight) runtime = await inFlight.promise.catch(() => void 0);
500
- runtimesBySessionId.delete(sessionId);
501
- idleTtlMsBySessionId.delete(sessionId);
502
- if (!runtime) {
503
- forgetConversationIdsForSessionId(sessionId);
504
- return;
505
- }
506
- forgetConversationIdsForSessionId(sessionId);
507
- await runtime.dispose();
508
- },
509
- async disposeAll() {
510
- clearIdleSweepTimer();
511
- const inFlightRuntimes = Array.from(createInFlight.values());
512
- createInFlight.clear();
513
- const runtimes = Array.from(runtimesBySessionId.values());
514
- runtimesBySessionId.clear();
515
- sessionIdByConversationId.clear();
516
- idleTtlMsBySessionId.clear();
517
- const lateRuntimes = await Promise.all(inFlightRuntimes.map(async ({ promise }) => await promise.catch(() => void 0)));
518
- const allRuntimes = new Set(runtimes);
519
- for (const runtime of lateRuntimes) if (runtime) allRuntimes.add(runtime);
520
- await Promise.allSettled(Array.from(allRuntimes, (runtime) => runtime.dispose()));
521
- },
522
- sweepIdleRuntimes,
523
- listSessionIds() {
524
- return Array.from(runtimesBySessionId.keys());
525
- }
526
- };
527
- }
528
- function getSessionMcpRuntimeManager() {
529
- return resolveGlobalSingleton(SESSION_MCP_RUNTIME_MANAGER_KEY, createSessionMcpRuntimeManager);
530
- }
531
- async function getOrCreateSessionMcpRuntime(params) {
532
- return await getSessionMcpRuntimeManager().getOrCreate(params);
533
- }
534
- async function disposeSessionMcpRuntime(sessionId) {
535
- await getSessionMcpRuntimeManager().disposeSession(sessionId);
536
- }
537
- async function retireSessionMcpRuntime(params) {
538
- const sessionId = normalizeOptionalString(params.sessionId);
539
- if (!sessionId) return false;
540
- try {
541
- await disposeSessionMcpRuntime(sessionId);
542
- return true;
543
- } catch (error) {
544
- params.onError?.(error, sessionId, params.reason);
545
- return false;
546
- }
547
- }
548
- async function retireSessionMcpRuntimeForConversationId(params) {
549
- const conversationId = normalizeOptionalString(params.conversationId);
550
- if (!conversationId) return false;
551
- return await retireSessionMcpRuntime({
552
- sessionId: getSessionMcpRuntimeManager().resolveSessionId(conversationId),
553
- reason: params.reason,
554
- onError: params.onError
555
- });
556
- }
557
- async function disposeAllSessionMcpRuntimes() {
558
- await getSessionMcpRuntimeManager().disposeAll();
559
- }
560
- const __testing = {
561
- createSessionMcpRuntimeManager,
562
- async resetSessionMcpRuntimeManager() {
563
- await disposeAllSessionMcpRuntimes();
564
- },
565
- getCachedSessionIds() {
566
- return getSessionMcpRuntimeManager().listSessionIds();
567
- },
568
- resolveSessionMcpRuntimeIdleTtlMs
569
- };
570
- //#endregion
571
- export { __testing, createBundleMcpJsonSchemaValidator, createSessionMcpRuntime, disposeAllSessionMcpRuntimes, disposeSessionMcpRuntime, getOrCreateSessionMcpRuntime, getSessionMcpRuntimeManager, retireSessionMcpRuntime, retireSessionMcpRuntimeForConversationId };
@@ -1,2 +0,0 @@
1
- export type { McpCatalogTool, McpServerCatalog, McpToolCatalog, SessionMcpRuntime, SessionMcpRuntimeManager, } from "./bundle-mcp-types.js";
2
- export { __testing, createSessionMcpRuntime, disposeAllSessionMcpRuntimes, disposeSessionMcpRuntime, getOrCreateSessionMcpRuntime, getSessionMcpRuntimeManager, retireSessionMcpRuntime, retireSessionMcpRuntimeForConversationId, } from "./bundle-mcp-runtime.js";
@@ -1,2 +0,0 @@
1
- import { __testing, createSessionMcpRuntime, disposeAllSessionMcpRuntimes, disposeSessionMcpRuntime, getOrCreateSessionMcpRuntime, getSessionMcpRuntimeManager, retireSessionMcpRuntime, retireSessionMcpRuntimeForConversationId } from "./bundle-mcp-runtime.js";
2
- export { __testing, createSessionMcpRuntime, disposeAllSessionMcpRuntimes, disposeSessionMcpRuntime, getOrCreateSessionMcpRuntime, getSessionMcpRuntimeManager, retireSessionMcpRuntime, retireSessionMcpRuntimeForConversationId };
@@ -1,76 +0,0 @@
1
- import type { CallToolResult, ReadResourceResult, ToolAnnotations } from "@modelcontextprotocol/sdk/types.js";
2
- import type { JsonSchemaType } from "@modelcontextprotocol/sdk/validation/types.js";
3
- import type { Config } from "../../config/schema.js";
4
- export type McpServerCatalog = {
5
- serverName: string;
6
- launchSummary: string;
7
- toolCount: number;
8
- resourceCount: number;
9
- promptCount: number;
10
- error?: {
11
- code: 'MCP_AUTHORIZATION_REQUIRED' | 'MCP_CONNECTION_FAILED';
12
- message: string;
13
- };
14
- };
15
- export type McpCatalogTool = {
16
- serverName: string;
17
- safeServerName: string;
18
- toolName: string;
19
- title?: string;
20
- description?: string;
21
- inputSchema: JsonSchemaType;
22
- annotations?: ToolAnnotations;
23
- fallbackDescription: string;
24
- };
25
- export type McpCatalogResource = {
26
- serverName: string;
27
- uri: string;
28
- name: string;
29
- title?: string;
30
- description?: string;
31
- mimeType?: string;
32
- };
33
- export type McpCatalogPrompt = {
34
- serverName: string;
35
- name: string;
36
- title?: string;
37
- description?: string;
38
- argumentCount: number;
39
- };
40
- export type McpToolCatalog = {
41
- version: number;
42
- generatedAt: number;
43
- servers: Record<string, McpServerCatalog>;
44
- tools: McpCatalogTool[];
45
- resources: McpCatalogResource[];
46
- prompts: McpCatalogPrompt[];
47
- };
48
- export type SessionMcpRuntime = {
49
- sessionId: string;
50
- conversationId?: string;
51
- workspaceDir: string;
52
- configFingerprint: string;
53
- createdAt: number;
54
- lastUsedAt: number;
55
- activeLeases?: number;
56
- acquireLease?: () => () => void;
57
- getCatalog: () => Promise<McpToolCatalog>;
58
- markUsed: () => void;
59
- callTool: (serverName: string, toolName: string, input: unknown, signal?: AbortSignal) => Promise<CallToolResult>;
60
- readResource: (serverName: string, uri: string, signal?: AbortSignal) => Promise<ReadResourceResult>;
61
- dispose: () => Promise<void>;
62
- };
63
- export type SessionMcpRuntimeManager = {
64
- getOrCreate: (params: {
65
- sessionId: string;
66
- conversationId?: string;
67
- workspaceDir: string;
68
- cfg?: Config;
69
- }) => Promise<SessionMcpRuntime>;
70
- bindConversationId: (conversationId: string, sessionId: string) => void;
71
- resolveSessionId: (conversationId: string) => string | undefined;
72
- disposeSession: (sessionId: string) => Promise<void>;
73
- disposeAll: () => Promise<void>;
74
- sweepIdleRuntimes: () => Promise<number>;
75
- listSessionIds: () => string[];
76
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,10 +0,0 @@
1
- import type { Config } from "../../config/schema.js";
2
- import { type BundleMcpDiagnostic, type BundleMcpServerConfig } from "./bundle-mcp-config.js";
3
- export type EmbeddedMcpConfig = {
4
- mcpServers: Record<string, BundleMcpServerConfig>;
5
- diagnostics: BundleMcpDiagnostic[];
6
- };
7
- export declare function loadEmbeddedMcpConfig(params: {
8
- workspaceDir: string;
9
- cfg?: Config;
10
- }): EmbeddedMcpConfig;
@@ -1,14 +0,0 @@
1
- import { loadMergedBundleMcpConfig } from "./bundle-mcp-config.js";
2
- //#region src/agent/mcp/embedded-mcp.ts
3
- function loadEmbeddedMcpConfig(params) {
4
- const bundleMcp = loadMergedBundleMcpConfig({
5
- workspaceDir: params.workspaceDir,
6
- cfg: params.cfg
7
- });
8
- return {
9
- mcpServers: bundleMcp.config.mcpServers,
10
- diagnostics: bundleMcp.diagnostics
11
- };
12
- }
13
- //#endregion
14
- export { loadEmbeddedMcpConfig };
@@ -1,5 +0,0 @@
1
- export * from './bundle-mcp-tools.js';
2
- export * from './bundle-mcp-policy.js';
3
- export * from './bundle-mcp-config.js';
4
- export * from './embedded-mcp.js';
5
- export * from './oauth/index.js';