@xopcai/xopc 0.0.426 → 0.0.427

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 (360) hide show
  1. package/dist/browser-ext/manifest.json +1 -1
  2. package/dist/extensions/telegram/src/adapters/security-adapter.js +1 -1
  3. package/dist/extensions/telegram/src/pairing-config-resolver.js +1 -1
  4. package/dist/extensions/telegram/src/plugin.js +2 -2
  5. package/dist/extensions/telegram/xopc.extension.json +1 -1
  6. package/dist/extensions/weixin/src/api/api.js +1 -1
  7. package/dist/extensions/weixin/src/auth/accounts.js +2 -2
  8. package/dist/extensions/weixin/src/auth/pairing.js +1 -1
  9. package/dist/extensions/weixin/src/cdn/upload.js +1 -1
  10. package/dist/extensions/weixin/src/cli/gateway-qr-login.js +1 -1
  11. package/dist/extensions/weixin/src/cli/qr-login.js +1 -1
  12. package/dist/extensions/weixin/src/messaging/debug-mode.js +1 -1
  13. package/dist/extensions/weixin/src/messaging/inbound.js +2 -2
  14. package/dist/extensions/weixin/src/messaging/process-message.js +3 -3
  15. package/dist/extensions/weixin/src/messaging/send.js +12 -3
  16. package/dist/extensions/weixin/src/monitor/monitor.js +1 -1
  17. package/dist/extensions/weixin/src/outbound-send.js +12 -3
  18. package/dist/extensions/weixin/src/pairing-config-resolver.js +1 -1
  19. package/dist/extensions/weixin/src/plugin.js +1 -1
  20. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-D4ClP_DJ.js +1 -0
  21. package/dist/gateway/static/root/assets/agent-plugin-dialog-m1A8wF9p.js +1 -0
  22. package/dist/gateway/static/root/assets/agents-B9slUA_1.js +77 -0
  23. package/dist/gateway/static/root/assets/app-link-DRy3-k7j.js +1 -0
  24. package/dist/gateway/static/root/assets/{app-management-settings-panel-C8yc3yHG.js → app-management-settings-panel-XqoIBF2H.js} +1 -1
  25. package/dist/gateway/static/root/assets/{appearance-settings-BELgtR3O.js → appearance-settings-9ZtqCASo.js} +1 -1
  26. package/dist/gateway/static/root/assets/apps-page-DUeu_7iC.js +1 -0
  27. package/dist/gateway/static/root/assets/attachment-load-DrVGNxJm.js +1 -0
  28. package/dist/gateway/static/root/assets/automation-task-card-Bur78p68.js +3 -0
  29. package/dist/gateway/static/root/assets/{automations-page-CdIPdwF0.js → automations-page-DMIyWsP0.js} +1 -1
  30. package/dist/gateway/static/root/assets/automations-workspace-DEkDjxeU.js +9 -0
  31. package/dist/gateway/static/root/assets/{block-editor-BQtTLe6Q.js → block-editor-CXdlNAmZ.js} +2 -2
  32. package/dist/gateway/static/root/assets/{browser-automation-inputs-DeraGZ1y.js → browser-automation-inputs-Fxo7HbK6.js} +1 -1
  33. package/dist/gateway/static/root/assets/{browser-automations-page-SpPzRNqU.js → browser-automations-page-Dn3LN5wo.js} +2 -2
  34. package/dist/gateway/static/root/assets/browser-settings-page-Cpm9fEPV.js +3 -0
  35. package/dist/gateway/static/root/assets/{button-CnRSIP6m.js → button-Cc4hUNTt.js} +1 -1
  36. package/dist/gateway/static/root/assets/{capabilities-DLMuj21P.js → capabilities-BEvywfF9.js} +1 -1
  37. package/dist/gateway/static/root/assets/capabilities-Bo2qEJhH.js +1 -0
  38. package/dist/gateway/static/root/assets/capabilities-page-BCzsIzvC.js +2 -0
  39. package/dist/gateway/static/root/assets/capabilities-settings-panel-Cr67ziwX.js +8 -0
  40. package/dist/gateway/static/root/assets/{capability-header-actions-CTUCuBlW.js → capability-header-actions-BxMYfQ8y.js} +1 -1
  41. package/dist/gateway/static/root/assets/channels-CA5z5dGY.js +1 -0
  42. package/dist/gateway/static/root/assets/{chat-chart-block-DCzUECct.js → chat-chart-block-B39npsXj.js} +1 -1
  43. package/dist/gateway/static/root/assets/chat-page-D92AWJbh.js +72 -0
  44. package/dist/gateway/static/root/assets/{chat-terminal-dock-Dl-OTkJI.js → chat-terminal-dock-DjFnElAM.js} +2 -2
  45. package/dist/gateway/static/root/assets/composer-payload-handoff-BQXlFKf4.js +1 -0
  46. package/dist/gateway/static/root/assets/{computer-settings-page-B-lGMimW.js → computer-settings-page-MkqyKyf3.js} +1 -1
  47. package/dist/gateway/static/root/assets/confirm-dialog-D7dQJytv.js +1 -0
  48. package/dist/gateway/static/root/assets/connected-providers-grid-BSvKP2u-.js +1 -0
  49. package/dist/gateway/static/root/assets/{connector-service-page-C8InhrMt.js → connector-service-page-DlIl9bLx.js} +1 -1
  50. package/dist/gateway/static/root/assets/connectors-page-Vx8-MY0Y.js +1 -0
  51. package/dist/gateway/static/root/assets/{copy-text-row-CYIv7RfP.js → copy-text-row-CpiRzq4G.js} +1 -1
  52. package/dist/gateway/static/root/assets/{date-picker-kqic8j73.js → date-picker-BIfjfOTM.js} +1 -1
  53. package/dist/gateway/static/root/assets/dependency-picker-XjPB8FJS.js +1 -0
  54. package/dist/gateway/static/root/assets/{desktop-pet-settings-BDS7_tQ_.js → desktop-pet-settings-BDjsFown.js} +1 -1
  55. package/dist/gateway/static/root/assets/device-pairing-wizard-DH_uJ698.js +1 -0
  56. package/dist/gateway/static/root/assets/{directory-picker-path-field-Di0h3ws4.js → directory-picker-path-field-DiZXY7jF.js} +1 -1
  57. package/dist/gateway/static/root/assets/{discussion-annotation-sync-ClKEyXmN.js → discussion-annotation-sync-BXqNuZnx.js} +1 -1
  58. package/dist/gateway/static/root/assets/dist-BGTk37IG.js +1 -0
  59. package/dist/gateway/static/root/assets/dist-BuHnPloF.js +1 -0
  60. package/dist/gateway/static/root/assets/dist-GJ8-1PAx.js +1 -0
  61. package/dist/gateway/static/root/assets/dist-ZrL34Ps4.js +1 -0
  62. package/dist/gateway/static/root/assets/{extension-debug-page-DwB5KMGk.js → extension-debug-page-myQqsol2.js} +1 -1
  63. package/dist/gateway/static/root/assets/{extension-iframe-host-Cqg1K70e.js → extension-iframe-host-DaL-OcTw.js} +1 -1
  64. package/dist/gateway/static/root/assets/{extension-page-DyrQtG82.js → extension-page-DvlGhZLa.js} +1 -1
  65. package/dist/gateway/static/root/assets/{extension-provider-C_uKqJxP.js → extension-provider-fOi6V6Cr.js} +1 -1
  66. package/dist/gateway/static/root/assets/{extension-settings-page-BAMQHzkX.js → extension-settings-page-DOGlQpkx.js} +1 -1
  67. package/dist/gateway/static/root/assets/{gateway-settings-uAboiElC.js → gateway-settings-Di41peSM.js} +1 -1
  68. package/dist/gateway/static/root/assets/home-page-B3sgqrl3.js +2 -0
  69. package/dist/gateway/static/root/assets/{image-generation-api-CQxZSTWA.js → image-generation-api-Ce-IY7Ug.js} +1 -1
  70. package/dist/gateway/static/root/assets/{imports-page-C90644id.js → imports-page-W7_cDbxy.js} +1 -1
  71. package/dist/gateway/static/root/assets/index-D4B6O8B3.js +11 -0
  72. package/dist/gateway/static/root/assets/index-DGWBJDAM.css +1 -0
  73. package/dist/gateway/static/root/assets/install-connector-dialog-DWVl9ekV.js +1 -0
  74. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-CbeubKe1.js → keyboard-shortcuts-settings-Doyu0Q9e.js} +1 -1
  75. package/dist/gateway/static/root/assets/link-2-D_ZKYUW7.js +1 -0
  76. package/dist/gateway/static/root/assets/local-app-workbench-page-B3h3P6aI.js +1 -0
  77. package/dist/gateway/static/root/assets/{local-apps-page-C6zFgwkr.js → local-apps-page-D6D2bZGW.js} +1 -1
  78. package/dist/gateway/static/root/assets/{logs-page-CpVCvAWE.js → logs-page-qiXos_12.js} +2 -2
  79. package/dist/gateway/static/root/assets/management-settings-C0WcSdK7.js +1 -0
  80. package/dist/gateway/static/root/assets/{markdown-view-DrVAMlwc.js → markdown-view-Ck5s16p9.js} +2 -2
  81. package/dist/gateway/static/root/assets/mcp-conversation-setup-page-CENs3hGU.js +1 -0
  82. package/dist/gateway/static/root/assets/model-selector-DCBmsHzj.js +1 -0
  83. package/dist/gateway/static/root/assets/note-detail-panel-CnuxqWMd.js +5 -0
  84. package/dist/gateway/static/root/assets/note-image-lightbox-BFKZ7qJr.js +1 -0
  85. package/dist/gateway/static/root/assets/{notes-api-CUlhTRv0.js → notes-api-8kp0X1x6.js} +1 -1
  86. package/dist/gateway/static/root/assets/{notes-page-eoKX85K5.js → notes-page-XMdy-H3H.js} +1 -1
  87. package/dist/gateway/static/root/assets/{oauth-provider-connect-C8BXow79.js → oauth-provider-connect-CfOK8mPM.js} +1 -1
  88. package/dist/gateway/static/root/assets/{page-context-capture-button-CBFK41OS.js → page-context-capture-button-CKlKWSJ7.js} +1 -1
  89. package/dist/gateway/static/root/assets/personal-page-CIMMSI25.js +1 -0
  90. package/dist/gateway/static/root/assets/{personal-settings-panel-DnYapLo7.js → personal-settings-panel-wKdlrfPq.js} +1 -1
  91. package/dist/gateway/static/root/assets/{phone-dependencies-card-DBiKtzwz.js → phone-dependencies-card-CDhk5277.js} +1 -1
  92. package/dist/gateway/static/root/assets/phone-model-connection-DZ-ZunPz.js +1 -0
  93. package/dist/gateway/static/root/assets/{phone-model-picker-BmSxEr7M.js → phone-model-picker-DuZc5jYO.js} +1 -1
  94. package/dist/gateway/static/root/assets/phone-settings-page-0u0GQl_R.js +1 -0
  95. package/dist/gateway/static/root/assets/plugin-details-dialog-Bfc-Wmrd.js +1 -0
  96. package/dist/gateway/static/root/assets/{popover-select-DD8fmrxH.js → popover-select-CEMWIrtY.js} +1 -1
  97. package/dist/gateway/static/root/assets/{preference-select-fields-Cu_ZC9Up.js → preference-select-fields-BKeHZLXZ.js} +1 -1
  98. package/dist/gateway/static/root/assets/{product-automation-feedback-Tn2dUJWM.js → product-automation-feedback-BPur0vyo.js} +2 -2
  99. package/dist/gateway/static/root/assets/{product-open-page-Nf-Oqf1h.js → product-open-page-Bfd7R483.js} +1 -1
  100. package/dist/gateway/static/root/assets/{product-preview-content-D6NwUm3A.js → product-preview-content-Bnq68oVw.js} +1 -1
  101. package/dist/gateway/static/root/assets/{product-preview-modal-BfNcGgXA.js → product-preview-modal-BPmTeweh.js} +2 -2
  102. package/dist/gateway/static/root/assets/project-detail-page-D9nnyvrI.js +7 -0
  103. package/dist/gateway/static/root/assets/{project-understanding-B1BK7Ixi.js → project-understanding-DLvxAoTT.js} +1 -1
  104. package/dist/gateway/static/root/assets/projects-page-BGy1pw9a.js +1 -0
  105. package/dist/gateway/static/root/assets/{recording-upload-RAhaLUcQ.js → recording-upload-CHFJbqW1.js} +1 -1
  106. package/dist/gateway/static/root/assets/{refresh-button-bU_0NarN.js → refresh-button-DiWdGAaX.js} +1 -1
  107. package/dist/gateway/static/root/assets/{remote-access-hub-DWsOWetc.js → remote-access-hub-BVqwnOqO.js} +1 -1
  108. package/dist/gateway/static/root/assets/route-preload-DI43HQV_.js +2 -0
  109. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-BGiXeHF5.js → runtime-tools-settings-panel-ccVBG-bZ.js} +1 -1
  110. package/dist/gateway/static/root/assets/{schema-form-BKeP5G7b.js → schema-form-C-jw6Hid.js} +1 -1
  111. package/dist/gateway/static/root/assets/{secret-input-BQvFXqzz.js → secret-input-Dryrns2s.js} +1 -1
  112. package/dist/gateway/static/root/assets/{service-recommendation-list-BEnNx0u7.js → service-recommendation-list-CNghOavt.js} +1 -1
  113. package/dist/gateway/static/root/assets/session-manager-Bnq3qpqy.js +23 -0
  114. package/dist/gateway/static/root/assets/sessions-page-CyBj1Xw2.js +1 -0
  115. package/dist/gateway/static/root/assets/{settings-advanced-section-CURRjsLK.js → settings-advanced-section-DwpPPxT0.js} +1 -1
  116. package/dist/gateway/static/root/assets/{settings-page-GtsbT6as.js → settings-page-Cd8Ermnn.js} +1 -1
  117. package/dist/gateway/static/root/assets/{settings-page-header-DBL0_u0Z.js → settings-page-header-BZl4AMiN.js} +1 -1
  118. package/dist/gateway/static/root/assets/{settings-page-layout-IAvpbz4A.js → settings-page-layout-onhEgq-K.js} +1 -1
  119. package/dist/gateway/static/root/assets/setup-interaction-page-Cvvj6JyV.js +1 -0
  120. package/dist/gateway/static/root/assets/setup-status-panel-D4qgE7QM.js +1 -0
  121. package/dist/gateway/static/root/assets/share-link-dialog-DA0QuFOD.js +1 -0
  122. package/dist/gateway/static/root/assets/{share-preview-page-L9KYu8M7.js → share-preview-page-YDpIY4dC.js} +1 -1
  123. package/dist/gateway/static/root/assets/shares-settings-DUvjOMmA.js +1 -0
  124. package/dist/gateway/static/root/assets/skills-page-ClyNSh-7.js +2 -0
  125. package/dist/gateway/static/root/assets/{system-settings-panel-CsvcFoaJ.js → system-settings-panel-BN6sUX0H.js} +1 -1
  126. package/dist/gateway/static/root/assets/task-detail-page-CS9m7Ipo.js +2 -0
  127. package/dist/gateway/static/root/assets/{task-result-evidence-B8xUiwW3.js → task-result-evidence-DKygspo2.js} +1 -1
  128. package/dist/gateway/static/root/assets/tracing-settings-page-Bs76WeoF.js +1 -0
  129. package/dist/gateway/static/root/assets/{tunnel-api-BB7u79ID.js → tunnel-api-B7nx0NQJ.js} +1 -1
  130. package/dist/gateway/static/root/assets/{usage-page-Cv4Je5XJ.js → usage-page-anU5gslJ.js} +1 -1
  131. package/dist/gateway/static/root/assets/use-composer-attachments-DYY3Yz4a.js +2 -0
  132. package/dist/gateway/static/root/assets/use-file-preview-expanded-CYgWzDnv.js +2 -0
  133. package/dist/gateway/static/root/assets/{use-workspace-tree-BQEiJzK7.js → use-workspace-tree-Dkg9tUr4.js} +1 -1
  134. package/dist/gateway/static/root/assets/user-model-page-DIgPL3tN.js +2 -0
  135. package/dist/gateway/static/root/assets/{voice-api-key-field-DCM69u8Y.js → voice-api-key-field-BUes-Jlp.js} +1 -1
  136. package/dist/gateway/static/root/assets/voice-transcribe-api-Dy4hfftb.js +1 -0
  137. package/dist/gateway/static/root/assets/{work-discovery-overlay-CVe9UmFl.js → work-discovery-overlay-CFF4cRFl.js} +1 -1
  138. package/dist/gateway/static/root/assets/{work-discovery-page-CtqkRMN5.js → work-discovery-page-BnYaVH3V.js} +1 -1
  139. package/dist/gateway/static/root/assets/working-directory-picker-modal-GFwVefVA.js +1 -0
  140. package/dist/gateway/static/root/assets/{workspace-api-tbifz2zY.js → workspace-api-BdB4NEOh.js} +2 -2
  141. package/dist/gateway/static/root/assets/{workspace-file-preview-dialog-BubQwQwU.js → workspace-file-preview-dialog-NRL3YRjg.js} +1 -1
  142. package/dist/gateway/static/root/assets/{workspace-open-location-menu-DZk3MBSa.js → workspace-open-location-menu-Dcij7wvJ.js} +1 -1
  143. package/dist/gateway/static/root/assets/{xopc-cloud-account-card-CIavPUr3.js → xopc-cloud-account-card-DC9aG7Pl.js} +1 -1
  144. package/dist/gateway/static/root/index.html +66 -64
  145. package/dist/package.js +1 -1
  146. package/dist/packages/gateway-contract/src/automations.js +7 -0
  147. package/dist/packages/gateway-contract/src/capabilities.js +1 -1
  148. package/dist/src/agent/agent-manager.d.ts +1 -0
  149. package/dist/src/agent/agent-manager.js +1 -0
  150. package/dist/src/agent/child-agent-factory.js +1 -1
  151. package/dist/src/agent/data-acquisition/service.js +1 -1
  152. package/dist/src/agent/embedded/configuration-capability-correction.d.ts +3 -0
  153. package/dist/src/agent/embedded/configuration-capability-correction.js +14 -0
  154. package/dist/src/agent/embedded/run-for-session.js +20 -5
  155. package/dist/src/agent/embedded/run-turn.js +13 -1
  156. package/dist/src/agent/embedded/session-runner.js +6 -3
  157. package/dist/src/agent/image/generation/openai-images-provider.js +1 -1
  158. package/dist/src/agent/image/load-image-media.js +1 -1
  159. package/dist/src/agent/inbound/inbound-loop.js +4 -1
  160. package/dist/src/agent/independent-execution.js +1 -1
  161. package/dist/src/agent/mcp/config.js +1 -1
  162. package/dist/src/agent/mcp/connection-drafts.d.ts +3 -1
  163. package/dist/src/agent/mcp/connection-drafts.js +3 -2
  164. package/dist/src/agent/mcp/connection-setup.js +34 -2
  165. package/dist/src/agent/mcp/conversation-setup.d.ts +163 -0
  166. package/dist/src/agent/mcp/conversation-setup.js +621 -0
  167. package/dist/src/agent/mcp/native-mcp.d.ts +1 -0
  168. package/dist/src/agent/mcp/tool-catalog.d.ts +5 -0
  169. package/dist/src/agent/mcp/tool-catalog.js +19 -2
  170. package/dist/src/agent/mcp/weixin-setup-scope.d.ts +12 -0
  171. package/dist/src/agent/mcp/weixin-setup-scope.js +43 -0
  172. package/dist/src/agent/prompt/conversational-configuration-guide.js +2 -1
  173. package/dist/src/agent/prompt/sections/tooling.js +3 -2
  174. package/dist/src/agent/prompt/service-prompt-builder.js +1 -1
  175. package/dist/src/agent/service/direct-turn-helpers.js +1 -1
  176. package/dist/src/agent/service/process-direct-streaming.js +2 -2
  177. package/dist/src/agent/service.d.ts +2 -0
  178. package/dist/src/agent/service.js +11 -1
  179. package/dist/src/agent/service.types.d.ts +1 -0
  180. package/dist/src/agent/tasks/task-judge-service.js +2 -2
  181. package/dist/src/agent/tool-manuals/xopc-configuration.d.ts +6 -4
  182. package/dist/src/agent/tool-manuals/xopc-configuration.js +92 -8
  183. package/dist/src/agent/tools/automation-tool.d.ts +9 -1
  184. package/dist/src/agent/tools/automation-tool.js +34 -5
  185. package/dist/src/agent/tools/create-share-tool.js +1 -1
  186. package/dist/src/agent/tools/factory.d.ts +3 -0
  187. package/dist/src/agent/tools/factory.js +34 -23
  188. package/dist/src/agent/tools/image-generate-tool.js +3 -3
  189. package/dist/src/agent/tools/index.d.ts +1 -0
  190. package/dist/src/agent/tools/index.js +5 -4
  191. package/dist/src/agent/tools/mcp-setup-tool.d.ts +9 -0
  192. package/dist/src/agent/tools/mcp-setup-tool.js +32 -0
  193. package/dist/src/agent/tools/personal-task-tool.js +2 -2
  194. package/dist/src/agent/tools/publish-artifacts.js +1 -1
  195. package/dist/src/agent/tools/read.js +1 -1
  196. package/dist/src/agent/tools/skill-install-tool.js +56 -1
  197. package/dist/src/agent/tools/skill-manage-tool.d.ts +4 -0
  198. package/dist/src/agent/tools/skill-manage-tool.js +74 -2
  199. package/dist/src/agent/tools/skills-tools.js +1 -1
  200. package/dist/src/agent/tools/task-collaboration-tool.js +1 -1
  201. package/dist/src/agent/tools/tool-manual-tool.d.ts +1 -1
  202. package/dist/src/agent/tools/tool-manual-tool.js +3 -1
  203. package/dist/src/agent/tools/toolExposure.js +2 -0
  204. package/dist/src/agent/tools/write.js +1 -1
  205. package/dist/src/agent/tools/xopc-use-tool.d.ts +4 -2
  206. package/dist/src/agent/tools/xopc-use-tool.js +60 -10
  207. package/dist/src/agent-catalog/service.d.ts +1 -1
  208. package/dist/src/agent-catalog/service.js +2 -1
  209. package/dist/src/automations/capabilities/drafts.js +5 -2
  210. package/dist/src/automations/capabilities/read.js +18 -7
  211. package/dist/src/automations/capabilities/write.d.ts +111 -52
  212. package/dist/src/automations/capabilities/write.js +44 -10
  213. package/dist/src/automations/delivery/delivery-router.d.ts +1 -0
  214. package/dist/src/automations/delivery/delivery-router.js +7 -1
  215. package/dist/src/automations/domain/types.d.ts +8 -0
  216. package/dist/src/automations/domain/validation.d.ts +24 -0
  217. package/dist/src/automations/domain/validation.js +7 -0
  218. package/dist/src/automations/draft/automation-draft-validator.d.ts +6 -0
  219. package/dist/src/automations/index.js +2 -2
  220. package/dist/src/automations/mcp-source.d.ts +60 -0
  221. package/dist/src/automations/mcp-source.js +173 -0
  222. package/dist/src/automations/service/action-executor.js +15 -1
  223. package/dist/src/automations/service/automation-service.d.ts +5 -0
  224. package/dist/src/automations/service/automation-service.js +52 -2
  225. package/dist/src/automations/service/index.js +2 -2
  226. package/dist/src/browser/setup/repository.d.ts +1 -0
  227. package/dist/src/browser/setup/repository.js +7 -1
  228. package/dist/src/browser/setup/service.d.ts +3 -0
  229. package/dist/src/browser/setup/service.js +41 -18
  230. package/dist/src/browser/setup/types.d.ts +1 -0
  231. package/dist/src/channels/attachments/voice-stt-webchat.js +1 -1
  232. package/dist/src/channels/index.js +1 -1
  233. package/dist/src/channels/manager.d.ts +1 -0
  234. package/dist/src/channels/outbound-sender.d.ts +1 -0
  235. package/dist/src/channels/outbound-sender.js +3 -0
  236. package/dist/src/channels/pairing/pairing-service.js +1 -1
  237. package/dist/src/channels/weixin/account-identity.d.ts +2 -0
  238. package/dist/src/channels/weixin/account-identity.js +15 -0
  239. package/dist/src/chat-commands/builtins/config.js +1 -1
  240. package/dist/src/cli/commands/channels.js +2 -2
  241. package/dist/src/cli/commands/doctor/checks/channel-pairing-pending.js +1 -1
  242. package/dist/src/cli/commands/mcp.js +1 -1
  243. package/dist/src/extensions/agent-plugins/credentials.js +1 -1
  244. package/dist/src/extensions/agent-plugins/setup.d.ts +1 -1
  245. package/dist/src/extensions/agent-plugins/setup.js +3 -3
  246. package/dist/src/extensions/api.js +1 -1
  247. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
  248. package/dist/src/gateway/agents-admin.js +1 -1
  249. package/dist/src/gateway/device-routes.js +1 -1
  250. package/dist/src/gateway/hono/app.js +1 -1
  251. package/dist/src/gateway/hono/lib/config-payload.js +1 -1
  252. package/dist/src/gateway/hono/oauth-async.js +1 -1
  253. package/dist/src/gateway/hono/routes/channels.js +1 -1
  254. package/dist/src/gateway/hono/routes/config.js +1 -1
  255. package/dist/src/gateway/hono/routes/lazy-bundles.js +1 -1
  256. package/dist/src/gateway/hono/routes/mcp.js +39 -2
  257. package/dist/src/gateway/hono/routes/notes.js +2 -2
  258. package/dist/src/gateway/hono/routes/phone-setup.js +33 -9
  259. package/dist/src/gateway/hono/routes/projects.js +1 -1
  260. package/dist/src/gateway/hono/routes/provider-setup.js +1 -1
  261. package/dist/src/gateway/hono/routes/public-gateway.js +22 -0
  262. package/dist/src/gateway/hono/routes/session-input-handler.js +1 -1
  263. package/dist/src/gateway/hono/routes/shares.js +1 -1
  264. package/dist/src/gateway/hono/routes/site-shares.js +1 -1
  265. package/dist/src/gateway/hono/routes/tasks.js +1 -1
  266. package/dist/src/gateway/media-access.js +1 -1
  267. package/dist/src/gateway/service/agent-runner.d.ts +1 -0
  268. package/dist/src/gateway/service/agent-runner.js +3 -1
  269. package/dist/src/gateway/service/config-coordinator.d.ts +1 -1
  270. package/dist/src/gateway/service/config-coordinator.js +2 -1
  271. package/dist/src/gateway/service/run-gateway-agent.js +1 -1
  272. package/dist/src/gateway/service/sessions-api.js +2 -1
  273. package/dist/src/gateway/service.d.ts +5 -1
  274. package/dist/src/gateway/service.js +90 -16
  275. package/dist/src/gateway/session-context-summary.js +1 -1
  276. package/dist/src/gateway/session-reset-service.d.ts +1 -0
  277. package/dist/src/gateway/session-reset-service.js +15 -2
  278. package/dist/src/home-intelligence/host.js +2 -2
  279. package/dist/src/notes/service.js +1 -1
  280. package/dist/src/personal-agent/prompts.js +1 -1
  281. package/dist/src/personal-agent/reply-composer.js +2 -2
  282. package/dist/src/personal-agent/request-service.js +3 -3
  283. package/dist/src/personal-agent/service.js +1 -1
  284. package/dist/src/personal-agent/task-cancel.js +1 -1
  285. package/dist/src/phone/setup/service.d.ts +14 -4
  286. package/dist/src/phone/setup/service.js +106 -28
  287. package/dist/src/projects/index.js +1 -1
  288. package/dist/src/projects/project-service.js +1 -1
  289. package/dist/src/runtime-tools/phone-dependencies.d.ts +2 -0
  290. package/dist/src/runtime-tools/phone-dependencies.js +10 -0
  291. package/dist/src/share/note-share-service.js +1 -1
  292. package/dist/src/share/site-proxy.js +1 -1
  293. package/dist/src/tasks/capabilities/write.js +1 -1
  294. package/dist/src/tasks/index.js +1 -1
  295. package/dist/src/tasks/task-allocation-service.js +3 -3
  296. package/dist/src/tasks/task-application-service.js +2 -2
  297. package/dist/src/tasks/task-context-assembler.js +1 -1
  298. package/dist/src/tasks/task-contract-planner.js +1 -1
  299. package/dist/src/tasks/task-handoff.js +1 -1
  300. package/dist/src/tasks/task-research-result.js +1 -1
  301. package/dist/src/tasks/task-run-coordinator.js +2 -2
  302. package/dist/src/tui/backends/embedded-backend.js +1 -1
  303. package/package.json +3 -1
  304. package/skills/tools/configure-xopc/SKILL.md +10 -3
  305. package/skills/tools/configure-xopc/references/browser/chrome-extension.md +4 -1
  306. package/skills/tools/configure-xopc/references/browser/overview.md +2 -2
  307. package/skills/tools/configure-xopc/references/phone/aliyun.md +3 -2
  308. package/skills/tools/configure-xopc/references/phone/overview.md +2 -2
  309. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-Dne9A10p.js +0 -1
  310. package/dist/gateway/static/root/assets/agent-plugin-dialog-BoHL-b1o.js +0 -1
  311. package/dist/gateway/static/root/assets/agents-CIiIlVBp.js +0 -77
  312. package/dist/gateway/static/root/assets/app-link-1j40sJ-z.js +0 -1
  313. package/dist/gateway/static/root/assets/apps-page-vgS1CHDj.js +0 -1
  314. package/dist/gateway/static/root/assets/attachment-load-qjPpQzYY.js +0 -1
  315. package/dist/gateway/static/root/assets/automation-task-card-MnzgyTVA.js +0 -3
  316. package/dist/gateway/static/root/assets/automations-workspace-C3xZLafX.js +0 -9
  317. package/dist/gateway/static/root/assets/browser-settings-page-BD1uF_Nb.js +0 -3
  318. package/dist/gateway/static/root/assets/capabilities-BGE6hiUE.js +0 -1
  319. package/dist/gateway/static/root/assets/capabilities-page-Bda4mSdf.js +0 -2
  320. package/dist/gateway/static/root/assets/capabilities-settings-panel-B2B7no22.js +0 -8
  321. package/dist/gateway/static/root/assets/channels-NtsjZThx.js +0 -1
  322. package/dist/gateway/static/root/assets/chat-page-BnOCCAXG.js +0 -72
  323. package/dist/gateway/static/root/assets/composer-payload-handoff-CQc-VTaL.js +0 -1
  324. package/dist/gateway/static/root/assets/confirm-dialog-XGclfBqe.js +0 -1
  325. package/dist/gateway/static/root/assets/connected-providers-grid-CcXe9kz5.js +0 -1
  326. package/dist/gateway/static/root/assets/connectors-page-Ci0L2How.js +0 -1
  327. package/dist/gateway/static/root/assets/dependency-picker-cbC6-2Ya.js +0 -1
  328. package/dist/gateway/static/root/assets/device-pairing-wizard-_3BJFWVQ.js +0 -1
  329. package/dist/gateway/static/root/assets/dist-CaUuvp8-.js +0 -1
  330. package/dist/gateway/static/root/assets/dist-D3lWNSe7.js +0 -1
  331. package/dist/gateway/static/root/assets/dist-DfWfZ9iu.js +0 -1
  332. package/dist/gateway/static/root/assets/dist-DusecO_p.js +0 -1
  333. package/dist/gateway/static/root/assets/home-page-D6pCBY1V.js +0 -2
  334. package/dist/gateway/static/root/assets/index-Cc41XQid.css +0 -1
  335. package/dist/gateway/static/root/assets/index-CnOYR6jq.js +0 -11
  336. package/dist/gateway/static/root/assets/install-connector-dialog-BuNXON0P.js +0 -1
  337. package/dist/gateway/static/root/assets/local-app-workbench-page-CP-BkbB6.js +0 -1
  338. package/dist/gateway/static/root/assets/management-settings-I-pXv4ML.js +0 -1
  339. package/dist/gateway/static/root/assets/model-selector-CXcxc30J.js +0 -1
  340. package/dist/gateway/static/root/assets/note-detail-panel-CbpLXAVh.js +0 -5
  341. package/dist/gateway/static/root/assets/note-image-lightbox-cLGiF8oU.js +0 -1
  342. package/dist/gateway/static/root/assets/personal-page-CXR1Gy0x.js +0 -1
  343. package/dist/gateway/static/root/assets/phone-settings-page-vg65qilc.js +0 -1
  344. package/dist/gateway/static/root/assets/plugin-details-dialog-B3Hn2cbx.js +0 -1
  345. package/dist/gateway/static/root/assets/project-detail-page-Ch-ZMyTu.js +0 -7
  346. package/dist/gateway/static/root/assets/projects-page-B7cetxao.js +0 -1
  347. package/dist/gateway/static/root/assets/route-preload-Zc5Z3fNv.js +0 -2
  348. package/dist/gateway/static/root/assets/session-manager-ChUtTAoG.js +0 -23
  349. package/dist/gateway/static/root/assets/sessions-page-Bt52kBvJ.js +0 -1
  350. package/dist/gateway/static/root/assets/setup-status-panel-A6uMpGRy.js +0 -1
  351. package/dist/gateway/static/root/assets/share-link-dialog-D1otGSXD.js +0 -1
  352. package/dist/gateway/static/root/assets/shares-settings-Bmfadz8A.js +0 -1
  353. package/dist/gateway/static/root/assets/skills-page-BZklXTX9.js +0 -2
  354. package/dist/gateway/static/root/assets/task-detail-page-SjZGW1Dx.js +0 -2
  355. package/dist/gateway/static/root/assets/tracing-settings-page-MvG4SH64.js +0 -1
  356. package/dist/gateway/static/root/assets/use-composer-attachments-vDdxHtUb.js +0 -2
  357. package/dist/gateway/static/root/assets/use-file-preview-expanded-Ce2mgYme.js +0 -2
  358. package/dist/gateway/static/root/assets/user-model-page-DRSsn4EV.js +0 -2
  359. package/dist/gateway/static/root/assets/voice-transcribe-api-Bbyj0yGR.js +0 -1
  360. package/dist/gateway/static/root/assets/working-directory-picker-modal-CDZ1xh3o.js +0 -1
@@ -11,7 +11,7 @@
11
11
  <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=20260910-1" />
12
12
  <link rel="manifest" href="/site.webmanifest?v=20260910-1" />
13
13
  <title>XOPC — Keep what matters moving.</title>
14
- <script type="module" crossorigin src="/assets/index-CnOYR6jq.js"></script>
14
+ <script type="module" crossorigin src="/assets/index-D4B6O8B3.js"></script>
15
15
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-aKtaBQYM.js">
16
16
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-BOUWij0V.js">
17
17
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-Czpn1I53.js">
@@ -19,6 +19,9 @@
19
19
  <link rel="modulepreload" crossorigin href="/assets/messages-ByFlEbsu.js">
20
20
  <link rel="modulepreload" crossorigin href="/assets/locale-store-Br7IfbXK.js">
21
21
  <link rel="modulepreload" crossorigin href="/assets/resource-unavailable-TQcRCpAg.js">
22
+ <link rel="modulepreload" crossorigin href="/assets/dist-CxGUk8J-.js">
23
+ <link rel="modulepreload" crossorigin href="/assets/es2015-DBLcMg5B.js">
24
+ <link rel="modulepreload" crossorigin href="/assets/dist-BGTk37IG.js">
22
25
  <link rel="modulepreload" crossorigin href="/assets/createLucideIcon-DPHK1VkS.js">
23
26
  <link rel="modulepreload" crossorigin href="/assets/activity-YogQEteU.js">
24
27
  <link rel="modulepreload" crossorigin href="/assets/app-window-DXFNqt_0.js">
@@ -36,9 +39,8 @@
36
39
  <link rel="modulepreload" crossorigin href="/assets/session-identity-label-B7sgG1PE.js">
37
40
  <link rel="modulepreload" crossorigin href="/assets/archive-Dz0hferG.js">
38
41
  <link rel="modulepreload" crossorigin href="/assets/chevron-down-ccbiQQz_.js">
39
- <link rel="modulepreload" crossorigin href="/assets/dist-CxGUk8J-.js">
40
- <link rel="modulepreload" crossorigin href="/assets/button-CnRSIP6m.js">
41
- <link rel="modulepreload" crossorigin href="/assets/discussion-annotation-sync-ClKEyXmN.js">
42
+ <link rel="modulepreload" crossorigin href="/assets/button-Cc4hUNTt.js">
43
+ <link rel="modulepreload" crossorigin href="/assets/discussion-annotation-sync-BXqNuZnx.js">
42
44
  <link rel="modulepreload" crossorigin href="/assets/arrow-left-D880xG-P.js">
43
45
  <link rel="modulepreload" crossorigin href="/assets/arrow-up-D5ZtR1QT.js">
44
46
  <link rel="modulepreload" crossorigin href="/assets/bot-DjLkhyZL.js">
@@ -49,20 +51,18 @@
49
51
  <link rel="modulepreload" crossorigin href="/assets/file-image-CDUPkZvG.js">
50
52
  <link rel="modulepreload" crossorigin href="/assets/plus-Q2yW6OE7.js">
51
53
  <link rel="modulepreload" crossorigin href="/assets/x-B_N4OPjy.js">
52
- <link rel="modulepreload" crossorigin href="/assets/es2015-DBLcMg5B.js">
53
- <link rel="modulepreload" crossorigin href="/assets/dist-DfWfZ9iu.js">
54
54
  <link rel="modulepreload" crossorigin href="/assets/local-apps-Ck6kACsY.js">
55
55
  <link rel="modulepreload" crossorigin href="/assets/product-delivery-DRyD9_Xq.js">
56
- <link rel="modulepreload" crossorigin href="/assets/app-link-1j40sJ-z.js">
56
+ <link rel="modulepreload" crossorigin href="/assets/app-link-DRy3-k7j.js">
57
57
  <link rel="modulepreload" crossorigin href="/assets/copy-to-clipboard-HOJ79TWv.js">
58
58
  <link rel="modulepreload" crossorigin href="/assets/xml-_d7dTN2Q.js">
59
59
  <link rel="modulepreload" crossorigin href="/assets/mermaid-render-oOellPHt.js">
60
- <link rel="modulepreload" crossorigin href="/assets/markdown-view-DrVAMlwc.js">
60
+ <link rel="modulepreload" crossorigin href="/assets/markdown-view-Ck5s16p9.js">
61
61
  <link rel="modulepreload" crossorigin href="/assets/check-DUBLcKHA.js">
62
62
  <link rel="modulepreload" crossorigin href="/assets/copy-Dv6d4Dvw.js">
63
63
  <link rel="modulepreload" crossorigin href="/assets/skeleton-BI5TyibZ.js">
64
- <link rel="modulepreload" crossorigin href="/assets/chat-chart-block-DCzUECct.js">
65
- <link rel="modulepreload" crossorigin href="/assets/notes-api-CUlhTRv0.js">
64
+ <link rel="modulepreload" crossorigin href="/assets/chat-chart-block-B39npsXj.js">
65
+ <link rel="modulepreload" crossorigin href="/assets/notes-api-8kp0X1x6.js">
66
66
  <link rel="modulepreload" crossorigin href="/assets/loader-circle-CifKLtgG.js">
67
67
  <link rel="modulepreload" crossorigin href="/assets/pause-DuPxgSxk.js">
68
68
  <link rel="modulepreload" crossorigin href="/assets/play-kxZvpBg8.js">
@@ -74,19 +74,19 @@
74
74
  <link rel="modulepreload" crossorigin href="/assets/zap-dximCGjy.js">
75
75
  <link rel="modulepreload" crossorigin href="/assets/vendor-swr-CdRzEUwF.js">
76
76
  <link rel="modulepreload" crossorigin href="/assets/automation-api-hRsGx-qe.js">
77
- <link rel="modulepreload" crossorigin href="/assets/product-automation-feedback-Tn2dUJWM.js">
77
+ <link rel="modulepreload" crossorigin href="/assets/product-automation-feedback-BPur0vyo.js">
78
78
  <link rel="modulepreload" crossorigin href="/assets/book-open-CCGtrT3R.js">
79
79
  <link rel="modulepreload" crossorigin href="/assets/chevron-right-BweFrslA.js">
80
80
  <link rel="modulepreload" crossorigin href="/assets/file-archive-DanfQJNe.js">
81
81
  <link rel="modulepreload" crossorigin href="/assets/interaction-BdhHBbYa.js">
82
82
  <link rel="modulepreload" crossorigin href="/assets/form-field-width-DJw_jULe.js">
83
83
  <link rel="modulepreload" crossorigin href="/assets/settings-form-draft-Dy10ldo8.js">
84
- <link rel="modulepreload" crossorigin href="/assets/working-directory-picker-modal-CDZ1xh3o.js">
84
+ <link rel="modulepreload" crossorigin href="/assets/working-directory-picker-modal-GFwVefVA.js">
85
85
  <link rel="modulepreload" crossorigin href="/assets/floating-ui.dom-seOukHzT.js">
86
- <link rel="modulepreload" crossorigin href="/assets/dist-DusecO_p.js">
87
- <link rel="modulepreload" crossorigin href="/assets/dist-CaUuvp8-.js">
86
+ <link rel="modulepreload" crossorigin href="/assets/dist-BuHnPloF.js">
87
+ <link rel="modulepreload" crossorigin href="/assets/dist-GJ8-1PAx.js">
88
88
  <link rel="modulepreload" crossorigin href="/assets/settings-shell-dialog-layer-BU3UuiJr.js">
89
- <link rel="modulepreload" crossorigin href="/assets/popover-select-DD8fmrxH.js">
89
+ <link rel="modulepreload" crossorigin href="/assets/popover-select-CEMWIrtY.js">
90
90
  <link rel="modulepreload" crossorigin href="/assets/circle-alert-BEjgurr2.js">
91
91
  <link rel="modulepreload" crossorigin href="/assets/send-1f1Ntw6E.js">
92
92
  <link rel="modulepreload" crossorigin href="/assets/circle-x-DFsCKeya.js">
@@ -101,6 +101,7 @@
101
101
  <link rel="modulepreload" crossorigin href="/assets/folder-open-CyzJ19I9.js">
102
102
  <link rel="modulepreload" crossorigin href="/assets/folder-CN-pC3XL.js">
103
103
  <link rel="modulepreload" crossorigin href="/assets/eye-CABVeTq0.js">
104
+ <link rel="modulepreload" crossorigin href="/assets/link-2-D_ZKYUW7.js">
104
105
  <link rel="modulepreload" crossorigin href="/assets/message-square-plus-XP0tGdlV.js">
105
106
  <link rel="modulepreload" crossorigin href="/assets/minimize-2-DtOGrlpo.js">
106
107
  <link rel="modulepreload" crossorigin href="/assets/paperclip-f1HujQY1.js">
@@ -111,8 +112,8 @@
111
112
  <link rel="modulepreload" crossorigin href="/assets/constants-DBtMsXdW.js">
112
113
  <link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-CvkJYurV.js">
113
114
  <link rel="modulepreload" crossorigin href="/assets/session-api-Bs3r_d2_.js">
114
- <link rel="modulepreload" crossorigin href="/assets/activity-store-D_DXNHba.js">
115
115
  <link rel="modulepreload" crossorigin href="/assets/attachment-utils-core-BIOUBrpT.js">
116
+ <link rel="modulepreload" crossorigin href="/assets/activity-store-D_DXNHba.js">
116
117
  <link rel="modulepreload" crossorigin href="/assets/app-chrome-BeB4KgOf.js">
117
118
  <link rel="modulepreload" crossorigin href="/assets/electron-env-DHOGevH3.js">
118
119
  <link rel="modulepreload" crossorigin href="/assets/use-async-resource-BHFGZCY2.js">
@@ -120,9 +121,9 @@
120
121
  <link rel="modulepreload" crossorigin href="/assets/sliding-tab-list-DuQyViqe.js">
121
122
  <link rel="modulepreload" crossorigin href="/assets/index.module-Cd9ENXfk.js">
122
123
  <link rel="modulepreload" crossorigin href="/assets/files-BNL4kkSB.js">
123
- <link rel="modulepreload" crossorigin href="/assets/workspace-api-tbifz2zY.js">
124
- <link rel="modulepreload" crossorigin href="/assets/dist-D3lWNSe7.js">
125
- <link rel="modulepreload" crossorigin href="/assets/use-file-preview-expanded-Ce2mgYme.js">
124
+ <link rel="modulepreload" crossorigin href="/assets/workspace-api-BdB4NEOh.js">
125
+ <link rel="modulepreload" crossorigin href="/assets/dist-ZrL34Ps4.js">
126
+ <link rel="modulepreload" crossorigin href="/assets/use-file-preview-expanded-CYgWzDnv.js">
126
127
  <link rel="modulepreload" crossorigin href="/assets/globe-DSSGFWFn.js">
127
128
  <link rel="modulepreload" crossorigin href="/assets/history-DXH_9jsE.js">
128
129
  <link rel="modulepreload" crossorigin href="/assets/key-round-DWbpyU2U.js">
@@ -133,69 +134,69 @@
133
134
  <link rel="modulepreload" crossorigin href="/assets/mic-CuUb7zc-.js">
134
135
  <link rel="modulepreload" crossorigin href="/assets/monitor-Af5eAvF7.js">
135
136
  <link rel="modulepreload" crossorigin href="/assets/is-masked-secret-DOkL5b_X.js">
136
- <link rel="modulepreload" crossorigin href="/assets/secret-input-BQvFXqzz.js">
137
+ <link rel="modulepreload" crossorigin href="/assets/secret-input-Dryrns2s.js">
137
138
  <link rel="modulepreload" crossorigin href="/assets/gateway-config-swr-BOCt_zOo.js">
138
139
  <link rel="modulepreload" crossorigin href="/assets/connectors-api-DEJU8mgn.js">
139
140
  <link rel="modulepreload" crossorigin href="/assets/cloud-C4-yfnnk.js">
140
141
  <link rel="modulepreload" crossorigin href="/assets/registry-api-DFDvOTg4.js">
141
142
  <link rel="modulepreload" crossorigin href="/assets/models-hub-cache-Bd-fYUrV.js">
142
143
  <link rel="modulepreload" crossorigin href="/assets/oauth-api-DMMdeaNd.js">
143
- <link rel="modulepreload" crossorigin href="/assets/oauth-provider-connect-C8BXow79.js">
144
- <link rel="modulepreload" crossorigin href="/assets/install-connector-dialog-BuNXON0P.js">
144
+ <link rel="modulepreload" crossorigin href="/assets/oauth-provider-connect-CfOK8mPM.js">
145
+ <link rel="modulepreload" crossorigin href="/assets/install-connector-dialog-DWVl9ekV.js">
145
146
  <link rel="modulepreload" crossorigin href="/assets/settings-uiTATseT.js">
146
147
  <link rel="modulepreload" crossorigin href="/assets/shield-check-BU58siTV.js">
147
148
  <link rel="modulepreload" crossorigin href="/assets/smartphone-DSSsQFqA.js">
148
149
  <link rel="modulepreload" crossorigin href="/assets/square-DMK_fB-3.js">
149
150
  <link rel="modulepreload" crossorigin href="/assets/trash-2-DusmjVPV.js">
150
- <link rel="modulepreload" crossorigin href="/assets/copy-text-row-CYIv7RfP.js">
151
- <link rel="modulepreload" crossorigin href="/assets/share-link-dialog-D1otGSXD.js">
151
+ <link rel="modulepreload" crossorigin href="/assets/copy-text-row-CpiRzq4G.js">
152
+ <link rel="modulepreload" crossorigin href="/assets/share-link-dialog-DA0QuFOD.js">
152
153
  <link rel="modulepreload" crossorigin href="/assets/wrench-DFb4r8bH.js">
153
- <link rel="modulepreload" crossorigin href="/assets/phone-workspace-store-SN7hfddU.js">
154
- <link rel="modulepreload" crossorigin href="/assets/shares-api-D8Q-m46d.js">
155
- <link rel="modulepreload" crossorigin href="/assets/file-preview-surface-DfkXvFnc.js">
156
- <link rel="modulepreload" crossorigin href="/assets/gateway-realtime-store-BHBOPF_q.js">
157
- <link rel="modulepreload" crossorigin href="/assets/gateway-realtime-BL_Cf0OQ.js">
154
+ <link rel="modulepreload" crossorigin href="/assets/specialists-xbB3xL9e.js">
155
+ <link rel="modulepreload" crossorigin href="/assets/tasks-DRmd6sWt.js">
156
+ <link rel="modulepreload" crossorigin href="/assets/api-C3Tp9MkF.js">
158
157
  <link rel="modulepreload" crossorigin href="/assets/local-session-drafts-BJ1B1dQ7.js">
159
158
  <link rel="modulepreload" crossorigin href="/assets/tool-activity-BtJkgjFf.js">
160
159
  <link rel="modulepreload" crossorigin href="/assets/personal-proactivity-DaRnbB1f.js">
160
+ <link rel="modulepreload" crossorigin href="/assets/gateway-realtime-store-BHBOPF_q.js">
161
+ <link rel="modulepreload" crossorigin href="/assets/gateway-realtime-BL_Cf0OQ.js">
161
162
  <link rel="modulepreload" crossorigin href="/assets/agents-admin-api-u5c3GREg.js">
162
- <link rel="modulepreload" crossorigin href="/assets/session-manager-ChUtTAoG.js">
163
- <link rel="modulepreload" crossorigin href="/assets/middleware-Pd0e8Igk.js">
164
- <link rel="modulepreload" crossorigin href="/assets/specialists-xbB3xL9e.js">
165
- <link rel="modulepreload" crossorigin href="/assets/tasks-DRmd6sWt.js">
166
- <link rel="modulepreload" crossorigin href="/assets/api-C3Tp9MkF.js">
163
+ <link rel="modulepreload" crossorigin href="/assets/session-manager-Bnq3qpqy.js">
167
164
  <link rel="modulepreload" crossorigin href="/assets/new-session-preferences-gb411vZP.js">
168
- <link rel="modulepreload" crossorigin href="/assets/capabilities-BGE6hiUE.js">
165
+ <link rel="modulepreload" crossorigin href="/assets/capabilities-Bo2qEJhH.js">
166
+ <link rel="modulepreload" crossorigin href="/assets/middleware-Pd0e8Igk.js">
169
167
  <link rel="modulepreload" crossorigin href="/assets/theme-store-Dlnmgryi.js">
170
- <link rel="modulepreload" crossorigin href="/assets/extension-provider-C_uKqJxP.js">
171
- <link rel="modulepreload" crossorigin href="/assets/voice-transcribe-api-Bbyj0yGR.js">
168
+ <link rel="modulepreload" crossorigin href="/assets/extension-provider-fOi6V6Cr.js">
169
+ <link rel="modulepreload" crossorigin href="/assets/chevron-left-DqFhpbvK.js">
170
+ <link rel="modulepreload" crossorigin href="/assets/capabilities-BEvywfF9.js">
171
+ <link rel="modulepreload" crossorigin href="/assets/phone-workspace-store-SN7hfddU.js">
172
+ <link rel="modulepreload" crossorigin href="/assets/shares-api-D8Q-m46d.js">
173
+ <link rel="modulepreload" crossorigin href="/assets/file-preview-surface-DfkXvFnc.js">
174
+ <link rel="modulepreload" crossorigin href="/assets/skill-wire-pattern-BPpeIcCi.js">
175
+ <link rel="modulepreload" crossorigin href="/assets/use-composer-attachments-DYY3Yz4a.js">
176
+ <link rel="modulepreload" crossorigin href="/assets/chat-agents-api-D8YS5amE.js">
177
+ <link rel="modulepreload" crossorigin href="/assets/voice-transcribe-api-Dy4hfftb.js">
172
178
  <link rel="modulepreload" crossorigin href="/assets/open-capability-settings-Cvb65hQB.js">
173
179
  <link rel="modulepreload" crossorigin href="/assets/workspace-editor-agent-store-4cZ26iaD.js">
174
180
  <link rel="modulepreload" crossorigin href="/assets/voice-input-shortcut-events-DFMNIyy4.js">
175
- <link rel="modulepreload" crossorigin href="/assets/composer-payload-handoff-CQc-VTaL.js">
176
- <link rel="modulepreload" crossorigin href="/assets/chevron-left-DqFhpbvK.js">
177
- <link rel="modulepreload" crossorigin href="/assets/capabilities-DLMuj21P.js">
178
- <link rel="modulepreload" crossorigin href="/assets/skill-wire-pattern-BPpeIcCi.js">
179
- <link rel="modulepreload" crossorigin href="/assets/use-composer-attachments-vDdxHtUb.js">
181
+ <link rel="modulepreload" crossorigin href="/assets/composer-payload-handoff-BQXlFKf4.js">
180
182
  <link rel="modulepreload" crossorigin href="/assets/chunk-D32TOXHM-DQIy-Baq.js">
181
183
  <link rel="modulepreload" crossorigin href="/assets/tool-friendly-title-DcCc6g7o.js">
182
184
  <link rel="modulepreload" crossorigin href="/assets/voice-call-context-BM2A4bLz.js">
183
185
  <link rel="modulepreload" crossorigin href="/assets/page-header-store-Du44NIEJ.js">
184
186
  <link rel="modulepreload" crossorigin href="/assets/loopi-CNtmi9FU.js">
185
187
  <link rel="modulepreload" crossorigin href="/assets/agent-avatar-display-6Z4m31Fz.js">
186
- <link rel="modulepreload" crossorigin href="/assets/chat-agents-api-D8YS5amE.js">
187
188
  <link rel="modulepreload" crossorigin href="/assets/use-directory-picker-C4p7AgWY.js">
188
- <link rel="modulepreload" crossorigin href="/assets/confirm-dialog-XGclfBqe.js">
189
+ <link rel="modulepreload" crossorigin href="/assets/confirm-dialog-D7dQJytv.js">
189
190
  <link rel="modulepreload" crossorigin href="/assets/skill-api-utils-C7V4JVXM.js">
190
191
  <link rel="modulepreload" crossorigin href="/assets/skill-list-api-BzKzG-xG.js">
191
192
  <link rel="modulepreload" crossorigin href="/assets/command-palette-api-Dijix7V6.js">
192
- <link rel="modulepreload" crossorigin href="/assets/model-selector-CXcxc30J.js">
193
+ <link rel="modulepreload" crossorigin href="/assets/model-selector-DCBmsHzj.js">
193
194
  <link rel="modulepreload" crossorigin href="/assets/dev-view-store-CeZZLOc6.js">
194
- <link rel="modulepreload" crossorigin href="/assets/extension-iframe-host-Cqg1K70e.js">
195
+ <link rel="modulepreload" crossorigin href="/assets/extension-iframe-host-DaL-OcTw.js">
195
196
  <link rel="modulepreload" crossorigin href="/assets/calendar-clock-D-quYVPe.js">
196
197
  <link rel="modulepreload" crossorigin href="/assets/calendar-days-hw_Y-g-s.js">
197
- <link rel="modulepreload" crossorigin href="/assets/date-picker-kqic8j73.js">
198
- <link rel="modulepreload" crossorigin href="/assets/automation-task-card-MnzgyTVA.js">
198
+ <link rel="modulepreload" crossorigin href="/assets/date-picker-BIfjfOTM.js">
199
+ <link rel="modulepreload" crossorigin href="/assets/automation-task-card-Bur78p68.js">
199
200
  <link rel="modulepreload" crossorigin href="/assets/api-CRT9ZyH0.js">
200
201
  <link rel="modulepreload" crossorigin href="/assets/runtime-health-D2TDFLLq.js">
201
202
  <link rel="modulepreload" crossorigin href="/assets/terminal-panel-store-DJVC7HqA.js">
@@ -205,7 +206,7 @@
205
206
  <link rel="modulepreload" crossorigin href="/assets/oauth-authorization-window-o6URRos4.js">
206
207
  <link rel="modulepreload" crossorigin href="/assets/page-context-draft-LF33STHC.js">
207
208
  <link rel="modulepreload" crossorigin href="/assets/side-chat-shortcut-BIw-1TTD.js">
208
- <link rel="modulepreload" crossorigin href="/assets/chat-page-BnOCCAXG.js">
209
+ <link rel="modulepreload" crossorigin href="/assets/chat-page-D92AWJbh.js">
209
210
  <link rel="modulepreload" crossorigin href="/assets/arrow-right-DSSvoX71.js">
210
211
  <link rel="modulepreload" crossorigin href="/assets/arrow-up-right-T72JbQ1Q.js">
211
212
  <link rel="modulepreload" crossorigin href="/assets/browser-notification-delivery-DmE2FgGc.js">
@@ -215,12 +216,12 @@
215
216
  <link rel="modulepreload" crossorigin href="/assets/capability-links-DzQWK1Fh.js">
216
217
  <link rel="modulepreload" crossorigin href="/assets/browser-BLJWD7WI.js">
217
218
  <link rel="modulepreload" crossorigin href="/assets/capability-icon-DVoZxEgW.js">
218
- <link rel="modulepreload" crossorigin href="/assets/agent-plugin-dialog-BoHL-b1o.js">
219
+ <link rel="modulepreload" crossorigin href="/assets/agent-plugin-dialog-m1A8wF9p.js">
219
220
  <link rel="modulepreload" crossorigin href="/assets/extension-marketplace-api-DRBszrCR.js">
220
- <link rel="modulepreload" crossorigin href="/assets/service-recommendation-list-BEnNx0u7.js">
221
+ <link rel="modulepreload" crossorigin href="/assets/service-recommendation-list-CNghOavt.js">
221
222
  <link rel="modulepreload" crossorigin href="/assets/understanding-activity-store-C4bblRnQ.js">
222
223
  <link rel="modulepreload" crossorigin href="/assets/plug-zap-L8NMe3Sv.js">
223
- <link rel="modulepreload" crossorigin href="/assets/work-discovery-page-CtqkRMN5.js">
224
+ <link rel="modulepreload" crossorigin href="/assets/work-discovery-page-BnYaVH3V.js">
224
225
  <link rel="modulepreload" crossorigin href="/assets/box-DvYoGszj.js">
225
226
  <link rel="modulepreload" crossorigin href="/assets/braces-Cfmtagno.js">
226
227
  <link rel="modulepreload" crossorigin href="/assets/understanding-refresh-store-BvCj9-Ue.js">
@@ -228,13 +229,13 @@
228
229
  <link rel="modulepreload" crossorigin href="/assets/extension-paths-DvuaZJuy.js">
229
230
  <link rel="modulepreload" crossorigin href="/assets/secret-input-labels-B5Jl5HqK.js">
230
231
  <link rel="modulepreload" crossorigin href="/assets/providers-api-DOnNfkwQ.js">
231
- <link rel="modulepreload" crossorigin href="/assets/connected-providers-grid-CcXe9kz5.js">
232
+ <link rel="modulepreload" crossorigin href="/assets/connected-providers-grid-BSvKP2u-.js">
232
233
  <link rel="modulepreload" crossorigin href="/assets/video-B6V0GFss.js">
233
234
  <link rel="modulepreload" crossorigin href="/assets/clipboard-copy-DuJk5WD6.js">
234
235
  <link rel="modulepreload" crossorigin href="/assets/connector-filters-Cfcx9EA2.js">
235
236
  <link rel="modulepreload" crossorigin href="/assets/code-xml-DJtYhZUF.js">
236
237
  <link rel="modulepreload" crossorigin href="/assets/coins-DjP27vUx.js">
237
- <link rel="modulepreload" crossorigin href="/assets/workspace-open-location-menu-DZk3MBSa.js">
238
+ <link rel="modulepreload" crossorigin href="/assets/workspace-open-location-menu-Dcij7wvJ.js">
238
239
  <link rel="modulepreload" crossorigin href="/assets/cpu-B247669f.js">
239
240
  <link rel="modulepreload" crossorigin href="/assets/file-tree-CFlZnV3Y.js">
240
241
  <link rel="modulepreload" crossorigin href="/assets/power-off-CwwQ7Gp7.js">
@@ -242,7 +243,7 @@
242
243
  <link rel="modulepreload" crossorigin href="/assets/gauge-C78eD2BA.js">
243
244
  <link rel="modulepreload" crossorigin href="/assets/heart-Cp4rgrqn.js">
244
245
  <link rel="modulepreload" crossorigin href="/assets/image-Cwyalflz.js">
245
- <link rel="modulepreload" crossorigin href="/assets/recording-upload-RAhaLUcQ.js">
246
+ <link rel="modulepreload" crossorigin href="/assets/recording-upload-CHFJbqW1.js">
246
247
  <link rel="modulepreload" crossorigin href="/assets/info-CDrmIZhb.js">
247
248
  <link rel="modulepreload" crossorigin href="/assets/layers-mJW7JJKm.js">
248
249
  <link rel="modulepreload" crossorigin href="/assets/layout-grid-CEVZdVFU.js">
@@ -272,29 +273,30 @@
272
273
  <link rel="modulepreload" crossorigin href="/assets/store-SzD1Jvgm.js">
273
274
  <link rel="modulepreload" crossorigin href="/assets/timer-rCwGHjuO.js">
274
275
  <link rel="modulepreload" crossorigin href="/assets/user-round-C9jxPhMR.js">
276
+ <link rel="modulepreload" crossorigin href="/assets/attachment-load-DrVGNxJm.js">
275
277
  <link rel="modulepreload" crossorigin href="/assets/product-navigation-Co8pLbDP.js">
276
278
  <link rel="modulepreload" crossorigin href="/assets/brand-logo-CgT9zQfr.js">
277
- <link rel="modulepreload" crossorigin href="/assets/preference-select-fields-Cu_ZC9Up.js">
279
+ <link rel="modulepreload" crossorigin href="/assets/preference-select-fields-BKeHZLXZ.js">
278
280
  <link rel="modulepreload" crossorigin href="/assets/navigation-D62kPsA9.js">
279
281
  <link rel="modulepreload" crossorigin href="/assets/page-tabs-oeTY7z3_.js">
280
- <link rel="modulepreload" crossorigin href="/assets/route-preload-Zc5Z3fNv.js">
282
+ <link rel="modulepreload" crossorigin href="/assets/route-preload-DI43HQV_.js">
281
283
  <link rel="modulepreload" crossorigin href="/assets/use-personal-profile-D2Un8G1L.js">
282
- <link rel="modulepreload" crossorigin href="/assets/project-understanding-B1BK7Ixi.js">
283
- <link rel="modulepreload" crossorigin href="/assets/refresh-button-bU_0NarN.js">
284
- <link rel="modulepreload" crossorigin href="/assets/workspace-file-preview-dialog-BubQwQwU.js">
285
- <link rel="modulepreload" crossorigin href="/assets/use-workspace-tree-BQEiJzK7.js">
284
+ <link rel="modulepreload" crossorigin href="/assets/project-understanding-DLvxAoTT.js">
285
+ <link rel="modulepreload" crossorigin href="/assets/refresh-button-DiWdGAaX.js">
286
+ <link rel="modulepreload" crossorigin href="/assets/workspace-file-preview-dialog-NRL3YRjg.js">
287
+ <link rel="modulepreload" crossorigin href="/assets/use-workspace-tree-Dkg9tUr4.js">
286
288
  <link rel="modulepreload" crossorigin href="/assets/settings-mode-store-CiRpsdTJ.js">
287
289
  <link rel="modulepreload" crossorigin href="/assets/global-defaults-api-BWMbKu72.js">
288
- <link rel="modulepreload" crossorigin href="/assets/product-preview-modal-BfNcGgXA.js">
290
+ <link rel="modulepreload" crossorigin href="/assets/product-preview-modal-BPmTeweh.js">
289
291
  <link rel="modulepreload" crossorigin href="/assets/settings-loading-skeleton-BTqvr_Fw.js">
290
292
  <link rel="modulepreload" crossorigin href="/assets/segmented-styles-Cqb91xsn.js">
291
- <link rel="modulepreload" crossorigin href="/assets/settings-advanced-section-CURRjsLK.js">
293
+ <link rel="modulepreload" crossorigin href="/assets/settings-advanced-section-DwpPPxT0.js">
292
294
  <link rel="modulepreload" crossorigin href="/assets/desktop-pet-narrative-ChwjpnsG.js">
293
295
  <link rel="stylesheet" crossorigin href="/assets/markdown-view-C-DHb3Io.css">
294
296
  <link rel="stylesheet" crossorigin href="/assets/loopi-C09I2mNj.css">
295
297
  <link rel="stylesheet" crossorigin href="/assets/chat-page-zQeUaawJ.css">
296
298
  <link rel="stylesheet" crossorigin href="/assets/personal-avatar-BUCb7OiW.css">
297
- <link rel="stylesheet" crossorigin href="/assets/index-Cc41XQid.css">
299
+ <link rel="stylesheet" crossorigin href="/assets/index-DGWBJDAM.css">
298
300
  </head>
299
301
  <body>
300
302
  <div id="root"></div>
package/dist/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  //#region package.json
2
- var version = "0.0.426";
2
+ var version = "0.0.427";
3
3
  //#endregion
4
4
  export { version };
@@ -48,6 +48,7 @@ var init_automations = __esmMin((() => {
48
48
  kind: z.literal("agent"),
49
49
  agentId: z.string().optional(),
50
50
  instruction: z.string(),
51
+ mcpSourceId: z.string().max(200).optional(),
51
52
  workingDirectory: z.string().optional(),
52
53
  model: z.string().optional(),
53
54
  timeoutSeconds: z.number().positive().optional()
@@ -88,6 +89,12 @@ var init_automations = __esmMin((() => {
88
89
  key: z.string(),
89
90
  kind: z.literal("gateway_event")
90
91
  }),
92
+ z.object({
93
+ key: z.string(),
94
+ kind: z.literal("weixin"),
95
+ conversationId: z.string().uuid(),
96
+ principalId: z.string().min(1)
97
+ }),
91
98
  z.object({
92
99
  key: z.string(),
93
100
  kind: z.literal("webhook"),
@@ -554,7 +554,7 @@ var init_capabilities = __esmMin((() => {
554
554
  })
555
555
  },
556
556
  "xopc.automations.get_run": {
557
- input: CapabilityResourceInputSchema,
557
+ input: CapabilityResourceInputSchema.extend({ waitMs: z.number().int().min(0).max(3e4).optional() }),
558
558
  output: z.object({
559
559
  ok: z.literal(true),
560
560
  run: AutomationRunSchema.loose()
@@ -100,6 +100,7 @@ export interface AgentManagerConfig {
100
100
  canConfigureEndpoint?: (endpointId: string) => boolean;
101
101
  getPhoneSetupService?: () => import('../phone/setup/service.js').PhoneSetupService | undefined;
102
102
  getBrowserSetupService?: () => import('../browser/setup/service.js').BrowserSetupService | undefined;
103
+ getMcpSetupService?: () => import('./mcp/conversation-setup.js').McpConversationSetup | undefined;
103
104
  getBrowserAutomationService?: () => import('../browser/automations/index.js').BrowserAutomationService | undefined;
104
105
  emitBrowserEvent?: (type: string, payload: unknown) => void;
105
106
  /** Gateway: exposes first-class xopc product objects for the `xopc_use` tool. */
@@ -287,6 +287,7 @@ var AgentManager = class {
287
287
  getAutomationService: this.config.getAutomationService,
288
288
  getBrowserAutomationService: this.config.getBrowserAutomationService,
289
289
  getBrowserSetupService: this.config.getBrowserSetupService,
290
+ getMcpSetupService: this.config.getMcpSetupService,
290
291
  getPhoneSetupService: this.config.getPhoneSetupService,
291
292
  canConfigureEndpoint: this.config.canConfigureEndpoint,
292
293
  emitBrowserEvent: this.config.emitBrowserEvent,
@@ -3,6 +3,7 @@ import { init_logger } from "../utils/logger.js";
3
3
  import { cloudCreditBudgetStopMessage, isCloudCreditBudgetExhausted } from "../providers/xopc-cloud-credit-budget.js";
4
4
  import { resolveAgentAbortReason } from "./orchestration/run-termination.js";
5
5
  import { executeWithTimeout } from "./lifecycle/timeout-wrapper.js";
6
+ import { resolveResponseLanguageForSession } from "./prompt/response-language.js";
6
7
  import { withDataToolPermissions } from "./tools/dataBatch.js";
7
8
  import { withSearchCache } from "./tools/search/cache.js";
8
9
  import { evictEmbeddedSessionRunner } from "./embedded/session-runner.js";
@@ -11,7 +12,6 @@ import { runXopcEmbeddedTurn } from "./embedded/run-turn.js";
11
12
  import { createAgentTurnPolicy } from "./orchestration/agent-turn-policy.js";
12
13
  import { createDelegationBudgetPolicy, resolveDelegationBudget } from "./orchestration/delegation-budget.js";
13
14
  import { buildSubagentSystemPrompt } from "./prompt/subagent-context.js";
14
- import { resolveResponseLanguageForSession } from "./prompt/response-language.js";
15
15
  import { createResearchCheckpointTool } from "./tools/research-checkpoint-tool.js";
16
16
  import { randomUUID } from "node:crypto";
17
17
  //#region src/agent/child-agent-factory.ts
@@ -1,7 +1,7 @@
1
1
  import { executeWithTimeout } from "../lifecycle/timeout-wrapper.js";
2
2
  import { checkedFilePath, readWorkspaceFileAsync } from "../sandbox/fileAccess.js";
3
- import { dataScheduler } from "./scheduler.js";
4
3
  import { checkFileSafety } from "../prompt/safety.js";
4
+ import { dataScheduler } from "./scheduler.js";
5
5
  import { parseRepositoryMatch, repositorySearch } from "../tools/repository-search.js";
6
6
  import { DATA_OPERATION_TOOLS, nativeDataArgs, validateDataBatch } from "./schema.js";
7
7
  import { readGitData } from "./git.js";
@@ -0,0 +1,3 @@
1
+ import type { AgentMessage } from '@earendil-works/pi-agent-core';
2
+ /** Correct an unverified capability denial once; never infer authorization or execute a write. */
3
+ export declare function configurationCapabilityCorrection(toolNames: readonly string[], userText: string, answer: string, messages: readonly AgentMessage[]): string | undefined;
@@ -0,0 +1,14 @@
1
+ //#region src/agent/embedded/configuration-capability-correction.ts
2
+ /** Correct an unverified capability denial once; never infer authorization or execute a write. */
3
+ function configurationCapabilityCorrection(toolNames, userText, answer, messages) {
4
+ const explicitSkillInstall = /^(?:请|帮我)?安装(?:这个|此)|^(?:please\s+)?install\s+(?:this|the)\b/i.test(userText.trim()) && /skill|技能|能力|周报/i.test(userText) && /https?:\/\//i.test(userText) && !/mcp/i.test(userText) && !/不要|别|暂不|先不|只推荐|仅查看|do not|don't|not now|only recommend|review only/i.test(userText);
5
+ const skillAttempted = messages.some((message) => message.role === "assistant" && Array.isArray(message.content) && message.content.some((block) => block.type === "toolCall" && ["skill_install", "skill_manage"].includes(block.name)));
6
+ const promiseOnly = /^(?:我会|我将|I will|I'll).{0,100}(?:安装|install)/i.test(answer.trim()) && !/需要.{0,20}(?:确认|授权|权限)|cannot|can.t|denied|不可|无法|失败|拒绝/i.test(answer);
7
+ if (explicitSkillInstall && promiseOnly && !skillAttempted && toolNames.includes("skill_install")) return "Host execution check: the user explicitly requested installing the supplied Skill and using it. The registered skill_install tool has not been attempted; a promise to act is not execution. Continue that exact authorized request with the actual Skill tools and inspect the result, or report an actual blocker. Do not add permissions, force an overwrite, use shell/file configuration, or ask for duplicate consent. This is one bounded continuation, not a new user request.";
8
+ if (!toolNames.includes("mcp_setup") || !/mcp|https?:\/\//i.test(userText)) return;
9
+ if (messages.some((message) => message.role === "assistant" && Array.isArray(message.content) && message.content.some((block) => block.type === "toolCall" && (block.name === "mcp_setup" || block.name === "xopc_use" && block.arguments?.mode === "mcp_setup")))) return;
10
+ if (!/(?:tool|工具|能力).{0,45}(?:not available|isn.t available|unavailable|未提供|不可用|不存在|缺少)|(?:未提供|没有|缺少).{0,30}(?:MCP|配置工具)|(?:cannot|can.t|无法).{0,40}(?:MCP|连接).{0,30}(?:local|回环|localhost|127\.0\.0\.1)/i.test(answer)) return;
11
+ return "Host capability correction: mcp_setup is registered and directly callable in the current function schemas. No MCP setup call was attempted in this turn, so tool absence or endpoint reachability has not been verified. Correct that statement using the actual inspect/probe tools for the existing user request. Probes execute on the Gateway host, including user-provided loopback addresses. This fact grants no additional authorization: preserve the user's scope, do not mutate for advice-only requests, and honor any actual permission refusal or probe failure. Do not ask the user to repeat the request.";
12
+ }
13
+ //#endregion
14
+ export { configurationCapabilityCorrection };
@@ -12,8 +12,9 @@ import { resolveAgentTurnTimeoutMs } from "../orchestration/run-agent-turn-with-
12
12
  import { isPersonalConversation } from "../../personal-agent/repository.js";
13
13
  import { filterExecutionTools, resolveExecutionToolPolicy } from "./execution-tool-policy.js";
14
14
  import { runWithEmbeddedExecutionSession } from "./execution-context.js";
15
- import { resolvePromptCachePolicy } from "../../providers/prompt-cache-plan.js";
16
15
  import { prepareNativeMcpConfig } from "../mcp/native-mcp.js";
16
+ import { boundAutomationMcpSource, restrictAutomationMcpConfig } from "../../automations/mcp-source.js";
17
+ import { resolvePromptCachePolicy } from "../../providers/prompt-cache-plan.js";
17
18
  import { assessContext, recoverContext as recoverContext$1 } from "../memory/context-recovery.js";
18
19
  import { resolveCompactionPolicy } from "../memory/compaction-policy.js";
19
20
  import { runXopcEmbeddedTurn } from "./run-turn.js";
@@ -157,10 +158,22 @@ async function runEmbeddedTurnForSessionInner(params) {
157
158
  if (typeof mm.applyResolvedModel === "function") mm.applyResolvedModel(agent, model, modelRef);
158
159
  else await mm.applyModelForSession(agent, conversationId);
159
160
  agentManager.setModelForSession(conversationId, modelRef);
160
- const executionToolPolicy = resolveExecutionToolPolicy(conversationId);
161
- const tools = filterExecutionTools(executionToolPolicy, agent.state.tools);
161
+ const source = boundAutomationMcpSource(runId, conversationId);
162
+ const baseToolPolicy = resolveExecutionToolPolicy(conversationId);
163
+ if (source && !baseToolPolicy.nativeMcp) throw new Error("This execution surface does not permit native MCP tools.");
164
+ const executionToolPolicy = source ? {
165
+ ...baseToolPolicy,
166
+ codemode: false,
167
+ externalMaterialization: false,
168
+ revision: `${baseToolPolicy.revision}:${source.id}`
169
+ } : baseToolPolicy;
170
+ const tools = source ? [] : filterExecutionTools(executionToolPolicy, agent.state.tools);
162
171
  const turnPolicy = agentManager.createAgentTurnPolicy(conversationId);
163
- const systemPrompt = appendDynamicPromptSection([agent.state.systemPrompt ?? "", params.presentation === "voice" ? voicePresentationPrompt : ""].filter(Boolean).join("\n\n"), [params.dynamicSystemContext, connectionObjectiveContext(conversationId)].filter(Boolean).join("\n\n"));
172
+ const systemPrompt = appendDynamicPromptSection([agent.state.systemPrompt ?? "", params.presentation === "voice" ? voicePresentationPrompt : ""].filter(Boolean).join("\n\n"), [
173
+ params.dynamicSystemContext,
174
+ connectionObjectiveContext(conversationId),
175
+ source ? `The host pinned this automation to MCP server ${source.serverId} and tools ${JSON.stringify(source.tools.map((tool) => tool.name))}. Use these exact tools for the requested read. No other external source, configuration change or local file/shell fallback is permitted. An answer without a successful pinned tool call will fail verification.` : ""
176
+ ].filter(Boolean).join("\n\n"));
164
177
  const idlePolicy = resolveCompactionPolicy(config);
165
178
  if (personal && idlePolicy.enabled && idlePolicy.personalIdle.enabled) idleJob = async (signal, isCurrent) => {
166
179
  const messages = await sessionStore.load(conversationId);
@@ -202,7 +215,9 @@ async function runEmbeddedTurnForSessionInner(params) {
202
215
  conversationId,
203
216
  tools
204
217
  }));
205
- const mcp = config && executionToolPolicy.nativeMcp ? await prepareNativeMcpConfig(config, workspaceDir, resolveEffectiveAgentProfileForSession(conversationId).agentId) : void 0;
218
+ const preparedMcp = config && executionToolPolicy.nativeMcp ? await prepareNativeMcpConfig(config, workspaceDir, resolveEffectiveAgentProfileForSession(conversationId).agentId) : void 0;
219
+ if (source && !preparedMcp) throw new Error("The bound MCP source cannot be loaded.");
220
+ const mcp = preparedMcp ? restrictAutomationMcpConfig(runId, conversationId, preparedMcp) : void 0;
206
221
  const promptCachePolicy = resolvePromptCachePolicy(config ? resolveEffectiveAgentProfileForSession(conversationId).config.runtime.promptCache : void 0);
207
222
  let userMessageForTurn = userMessage;
208
223
  if (params.applyStartupContext !== false) {
@@ -22,6 +22,7 @@ import { allowsExecutionTool, filterExecutionTools, resolveExecutionToolPolicy }
22
22
  import { isPhoneAssistanceSuspended, phoneAssistance, phoneResumeForRun } from "../../phone/assistance.js";
23
23
  import { runWithEmbeddedExecutionSession } from "./execution-context.js";
24
24
  import { externalPolicyContext, getXopcToolMetadata } from "./tool-metadata.js";
25
+ import { withDelegationScope } from "../orchestration/delegation-scope.js";
25
26
  import { isNestedCodemodePolicy } from "./codemode-extension.js";
26
27
  import { isComputerControlActive, isComputerLeaseTool, stopComputerControl } from "../../computer/control-guard.js";
27
28
  import { bindComputerAgentTurn, computerImagesForRequest, computerRequestFrameCleanup, endComputerAgentTurn, setComputerProgramAuthorization } from "../../computer/agent-context.js";
@@ -34,6 +35,7 @@ import { getActiveTranscriptUserText } from "../inbound/attachment-pipeline.js";
34
35
  import { resolvePromptCachePolicy } from "../../providers/prompt-cache-plan.js";
35
36
  import { wrapStreamFnForXopcExtensions } from "./xopc-stream-bridge.js";
36
37
  import { acquireEmbeddedSessionRunner, evictEmbeddedSessionRunner } from "./session-runner.js";
38
+ import { configurationCapabilityCorrection } from "./configuration-capability-correction.js";
37
39
  import { createSqliteTranscriptRuntime } from "./transcript-runtime.js";
38
40
  import { assessContext, recoverContext as recoverContext$1 } from "../memory/context-recovery.js";
39
41
  import { resolveCompactionPolicy } from "../memory/compaction-policy.js";
@@ -43,7 +45,6 @@ import { markTurnToolResult } from "../memory/turn-provenance.js";
43
45
  import { RepositoryInstructions } from "../coding/repository-instructions.js";
44
46
  import { RunVerification } from "../coding/run-verification.js";
45
47
  import { projectWorkEvidence } from "../coding/projectEvidence.js";
46
- import { withDelegationScope } from "../orchestration/delegation-scope.js";
47
48
  import { getModelThinking } from "../../providers/model-thinking.js";
48
49
  import "../messaging/no-reply.js";
49
50
  import { createAssistantMessageEventStream, getCurrentSystemPrompt, getCurrentTools, isRecoverableLength } from "@earendil-works/pi-ai";
@@ -373,6 +374,7 @@ async function runXopcEmbeddedTurnInner(params) {
373
374
  transcriptRuntime
374
375
  });
375
376
  const { session, reused } = runner;
377
+ const configurationTurnStart = session.agent.state.messages.length;
376
378
  await runLease.attach(session, async () => session.abort());
377
379
  const runAbortSignal = params.abortSignal ? AbortSignal.any([runLease.signal, params.abortSignal]) : runLease.signal;
378
380
  if (runAbortSignal.aborted) {
@@ -1005,6 +1007,16 @@ async function runXopcEmbeddedTurnInner(params) {
1005
1007
  });
1006
1008
  };
1007
1009
  await recoverSettledTurn();
1010
+ const capabilityCorrection = configurationCapabilityCorrection(session.getAllTools().filter((tool) => tool.exposure !== "hidden").map((tool) => tool.name), userMessageToPromptText(userMessage), lastAssistantPlainText(session), session.agent.state.messages.slice(configurationTurnStart));
1011
+ if (capabilityCorrection && !policyStopped && !connectionStopped && !clarificationStopped && !phoneStopped && !runAbortSignal.aborted && !isAssistantTurnFailed(session.agent) && !isAssistantTurnAborted(session.agent)) {
1012
+ await session.sendCustomMessage({
1013
+ customType: "configuration_capability_current",
1014
+ content: capabilityCorrection,
1015
+ display: false
1016
+ }, { triggerTurn: true });
1017
+ await session.agent.waitForIdle();
1018
+ await recoverSettledTurn();
1019
+ }
1008
1020
  if (params.requireVisibleReply && !sentVisibleMessage && !policyStopped && !runAbortSignal.aborted && !isAssistantTurnFailed(session.agent) && !isAssistantTurnAborted(session.agent) && lastAssistantPlainText(session).trim() === "NO_REPLY") {
1009
1021
  await session.sendCustomMessage({
1010
1022
  customType: "visible_reply_required",
@@ -3,15 +3,16 @@ import { init_logger } from "../../utils/logger.js";
3
3
  import { filterExecutionTools, resolveExecutionToolPolicy } from "./execution-tool-policy.js";
4
4
  import { deferredToolContract, getXopcToolMetadata } from "./tool-metadata.js";
5
5
  import { isCodemodeCoreRead } from "../tools/codemode-permissions.js";
6
+ import { createEmbeddedModelRuntime, resolveEmbeddedProviderApiKeySync } from "./model-runtime.js";
7
+ import { getNativePiAgentDir } from "../mcp/native-mcp.js";
8
+ import { createAutomationMcpSourceGuard } from "../../automations/mcp-source.js";
6
9
  import { createXopcCodemodeExtension } from "./codemode-extension.js";
7
10
  import { abortEmbeddedRun } from "./runs.js";
8
11
  import { guardSessionManager } from "./session-tool-result-guard.js";
9
12
  import { transformUserMessageForPersistence } from "../inbound/attachment-pipeline.js";
10
- import { createEmbeddedModelRuntime, resolveEmbeddedProviderApiKeySync } from "./model-runtime.js";
11
13
  import { wrapStreamFnForXopcExtensions } from "./xopc-stream-bridge.js";
12
14
  import { xopcToolsToDefinitions } from "./xopc-tools-bridge.js";
13
15
  import { TOOL_DISCOVERY_STATE, createXopcToolSearchExtension } from "./tool-search-extension.js";
14
- import { getNativePiAgentDir } from "../mcp/native-mcp.js";
15
16
  import { AGENT_PROFILE_CONTEXT_STATE, createAgentProfileContextExtension } from "./agent-profile-context.js";
16
17
  import { join } from "node:path";
17
18
  import { createHash } from "node:crypto";
@@ -46,7 +47,8 @@ function buildEmbeddedRunnerFingerprint(input) {
46
47
  JSON.stringify(input.mcp ? {
47
48
  servers: input.mcp.servers,
48
49
  errors: input.mcp.errors,
49
- credentialAliases: input.mcp.credentialAliases
50
+ credentialAliases: input.mcp.credentialAliases,
51
+ automationSourceRunId: input.mcp.automationSourceRunId
50
52
  } : null),
51
53
  JSON.stringify(input.executionToolPolicy ?? null)
52
54
  ].join("\0")).digest("base64url");
@@ -284,6 +286,7 @@ var EmbeddedSessionRunnerPool = class {
284
286
  noContextFiles: true,
285
287
  noExtensions: true,
286
288
  extensionFactories: [
289
+ ...mcp?.automationSourceRunId ? [createAutomationMcpSourceGuard(mcp.automationSourceRunId)] : [],
287
290
  ...codemode ? [createXopcCodemodeExtension(codemode, tools, () => boundSession)] : [],
288
291
  ...discovery ? [createXopcToolSearchExtension(tools)] : [],
289
292
  ...mcp ? [createMcpExtension({
@@ -1,11 +1,11 @@
1
1
  import { createLogger } from "../../../utils/logger/index.js";
2
2
  import { init_logger } from "../../../utils/logger.js";
3
- import { imageFileExtensionForMimeType } from "./image-assets.js";
4
3
  import { pickTimeoutMsOrFallback } from "../../../media-shared/http/deadline.js";
5
4
  import { privateNetworkPolicyToSsrfGuardOptions } from "../../../media-shared/http/private-network.js";
6
5
  import { resolveProviderHttpRequestConfig } from "../../../media-shared/http/resolve-provider-http-request-config.js";
7
6
  import { postJsonRequest, postMultipartRequest, readJsonResponseLimited } from "../../../media-shared/http/provider-http.js";
8
7
  import "../../../media-shared/http/index.js";
8
+ import { imageFileExtensionForMimeType } from "./image-assets.js";
9
9
  import { ImageProviderError, validateImageRequest } from "../../../../packages/image-providers/src/validation.js";
10
10
  import { decodeBase64, imageFromBytes } from "../../../../packages/image-providers/src/http.js";
11
11
  import "../../../../packages/image-providers/src/index.js";
@@ -1,5 +1,5 @@
1
- import { checkFileSafety } from "../prompt/safety.js";
2
1
  import { decodeDataUrl } from "./image-helpers.js";
2
+ import { checkFileSafety } from "../prompt/safety.js";
3
3
  import { homedir } from "node:os";
4
4
  import path from "node:path";
5
5
  import { promises } from "node:fs";
@@ -92,7 +92,10 @@ var InboundLoop = class {
92
92
  type: "channel",
93
93
  channel: context.channel
94
94
  },
95
- metadata: { transcribedVoice: msg.metadata?.transcribedVoice === true }
95
+ metadata: {
96
+ accountId: msg.metadata?.accountId,
97
+ transcribedVoice: msg.metadata?.transcribedVoice === true
98
+ }
96
99
  };
97
100
  const sessionMetadata = await this.cfg.sessionStore.getMetadata(sessionContext.conversationId).catch(() => null);
98
101
  updateAsyncLogContext({
@@ -1,8 +1,8 @@
1
1
  import { withoutCloudCreditBudget } from "../providers/xopc-cloud-credit-budget.js";
2
2
  import { withoutEmbeddedExecutionSession } from "./embedded/execution-context.js";
3
+ import { withoutDelegationScope } from "./orchestration/delegation-scope.js";
3
4
  import { withoutDataToolPermissions } from "./tools/dataBatch.js";
4
5
  import { withoutSearchCache } from "./tools/search/cache.js";
5
- import { withoutDelegationScope } from "./orchestration/delegation-scope.js";
6
6
  //#region src/agent/independent-execution.ts
7
7
  /** Discard caller-owned execution scopes before resolving the target Agent. */
8
8
  function runInIndependentAgentExecution(run) {