@xopcai/xopc 0.0.387 → 0.0.389

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 (248) hide show
  1. package/dist/browser-ext/_locales/en/messages.json +6 -1
  2. package/dist/browser-ext/_locales/zh_CN/messages.json +6 -1
  3. package/dist/browser-ext/dist/assets/{page-context-BeworyNB.js → page-context-A5RCibM_.js} +1 -1
  4. package/dist/browser-ext/dist/background.js +1 -1
  5. package/dist/browser-ext/dist/sidepanel.html +1 -1
  6. package/dist/browser-ext/dist/sidepanel.js +98 -53
  7. package/dist/browser-ext/manifest.json +1 -1
  8. package/dist/extensions/telegram/src/plugin.js +5 -3
  9. package/dist/extensions/telegram/xopc.extension.json +1 -1
  10. package/dist/gateway/static/root/assets/{activity-store-CB2X4Gmu.js → activity-store-dvik6t7Z.js} +1 -1
  11. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-Bv8M5ygD.js → agent-avatar-dicebear-bWMd5TDC.js} +1 -1
  12. package/dist/gateway/static/root/assets/{agent-defaults-settings-panel-UBy01-65.js → agent-defaults-settings-panel-Ds0Ue2FB.js} +1 -1
  13. package/dist/gateway/static/root/assets/{agent-plugin-dialog-Q9guA8kU.js → agent-plugin-dialog-UunIxc1q.js} +1 -1
  14. package/dist/gateway/static/root/assets/{agents-yfJFubD0.js → agents-BLRM4o-U.js} +3 -3
  15. package/dist/gateway/static/root/assets/{agents-admin-api-BkULgC6Q.js → agents-admin-api-BlNGyXpm.js} +1 -1
  16. package/dist/gateway/static/root/assets/{app-management-settings-panel-Cdyad8c1.js → app-management-settings-panel-Dmy828Pe.js} +1 -1
  17. package/dist/gateway/static/root/assets/{appearance-settings-DPPvnKH_.js → appearance-settings-CUAdx44v.js} +1 -1
  18. package/dist/gateway/static/root/assets/{apps-page-Bn_jwaeA.js → apps-page-D5zDB6gp.js} +1 -1
  19. package/dist/gateway/static/root/assets/{archive-plugin-De0ND0oA.js → archive-plugin-Du6dJNcl.js} +1 -1
  20. package/dist/gateway/static/root/assets/{automations-page-CAB2sLJ5.js → automations-page-BO8Ig5Z4.js} +1 -1
  21. package/dist/gateway/static/root/assets/{automations-workspace-CYRUhhH4.js → automations-workspace-UcCneEs3.js} +1 -1
  22. package/dist/gateway/static/root/assets/{binary-plugins-Do535ZGW.js → binary-plugins-D7VJjwnr.js} +1 -1
  23. package/dist/gateway/static/root/assets/{block-editor-B9DmMEa8.js → block-editor-CaJlWTAn.js} +1 -1
  24. package/dist/gateway/static/root/assets/{browser-automation-inputs-B9M1RYTm.js → browser-automation-inputs-iyMBJmQX.js} +1 -1
  25. package/dist/gateway/static/root/assets/{browser-automations-page-BHAWpZE2.js → browser-automations-page-BjvQnYfO.js} +1 -1
  26. package/dist/gateway/static/root/assets/{browser-settings-page-BG_17NcQ.js → browser-settings-page-D5ZghI28.js} +1 -1
  27. package/dist/gateway/static/root/assets/{capabilities-BX1rCiVm.js → capabilities-CEH1AnXc.js} +1 -1
  28. package/dist/gateway/static/root/assets/{capabilities-CW389yo6.js → capabilities-MCKRMZDK.js} +1 -1
  29. package/dist/gateway/static/root/assets/{capabilities-page-BAnBYWlY.js → capabilities-page-MC8qIrXo.js} +2 -2
  30. package/dist/gateway/static/root/assets/{capabilities-settings-panel-Ca-d6lXk.js → capabilities-settings-panel-Blz3hEzp.js} +1 -1
  31. package/dist/gateway/static/root/assets/{capability-header-actions-B3TL8TcF.js → capability-header-actions-BIA0Lwt5.js} +1 -1
  32. package/dist/gateway/static/root/assets/{channels-BadpS-nq.js → channels-DSg_iCVC.js} +1 -1
  33. package/dist/gateway/static/root/assets/{chat-terminal-dock-C_vntFpP.js → chat-terminal-dock-C97SJEwd.js} +1 -1
  34. package/dist/gateway/static/root/assets/{computer-settings-page-B-5kxk70.js → computer-settings-page-DvY3zgyY.js} +1 -1
  35. package/dist/gateway/static/root/assets/{connector-service-page-DTnfpLHL.js → connector-service-page-St2-Fj3y.js} +1 -1
  36. package/dist/gateway/static/root/assets/connectors-page-DXk-GAsd.js +1 -0
  37. package/dist/gateway/static/root/assets/{date-picker-D5zYeC8q.js → date-picker-C0-D80ny.js} +1 -1
  38. package/dist/gateway/static/root/assets/{dependency-picker-D72vT-tb.js → dependency-picker-CNd7mwMU.js} +1 -1
  39. package/dist/gateway/static/root/assets/{desktop-pet-DvoeVPf_.js → desktop-pet-C-2wDANn.js} +1 -1
  40. package/dist/gateway/static/root/assets/{desktop-pet-settings-Dfb392hs.js → desktop-pet-settings-DyhxLrdJ.js} +1 -1
  41. package/dist/gateway/static/root/assets/{device-pairing-wizard-B06Sqn5D.js → device-pairing-wizard-BeSuq__I.js} +1 -1
  42. package/dist/gateway/static/root/assets/{directory-picker-path-field-CA3H3bc-.js → directory-picker-path-field-CNivVIPT.js} +1 -1
  43. package/dist/gateway/static/root/assets/{extension-debug-page-B0wTBCx4.js → extension-debug-page-CGYO3JPw.js} +1 -1
  44. package/dist/gateway/static/root/assets/{extension-page-BeHiXhB1.js → extension-page-Dc51ALAg.js} +1 -1
  45. package/dist/gateway/static/root/assets/{extension-provider-CJZ5EVpQ.js → extension-provider-BXPILdlw.js} +1 -1
  46. package/dist/gateway/static/root/assets/{extension-settings-page-Q88-LFCJ.js → extension-settings-page-jYu6qpY2.js} +1 -1
  47. package/dist/gateway/static/root/assets/{fallback-models-BXoPCvzq.js → fallback-models-CoyzvDo7.js} +1 -1
  48. package/dist/gateway/static/root/assets/{gateway-config-swr-D0tBjSgj.js → gateway-config-swr-Bc2MytsF.js} +1 -1
  49. package/dist/gateway/static/root/assets/{gateway-realtime-BnHraJ3O.js → gateway-realtime-BFK-vlME.js} +1 -1
  50. package/dist/gateway/static/root/assets/gateway-realtime-store-C3vH-Iup.js +1 -0
  51. package/dist/gateway/static/root/assets/{gateway-settings-IICLMGDI.js → gateway-settings-JlT1dlSj.js} +1 -1
  52. package/dist/gateway/static/root/assets/{gateway-startup-retry-C1DQsIH3.js → gateway-startup-retry-BDPMttPx.js} +1 -1
  53. package/dist/gateway/static/root/assets/{highlighted-body-KQOG7T2V-D336so8z.js → highlighted-body-KQOG7T2V-DAlRGMge.js} +1 -1
  54. package/dist/gateway/static/root/assets/{home-page--MvqsFhQ.js → home-page-DOVl8s-1.js} +1 -1
  55. package/dist/gateway/static/root/assets/{image-generation-api-DodU6GNC.js → image-generation-api-BZBiYDmV.js} +1 -1
  56. package/dist/gateway/static/root/assets/{imports-page-muV1SduS.js → imports-page-DgdBTp_0.js} +1 -1
  57. package/dist/gateway/static/root/assets/{index-D0qMv3jf.js → index-CmC8JkSM.js} +108 -108
  58. package/dist/gateway/static/root/assets/index-Dgzc0oBu.css +1 -0
  59. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-i1sDWcwl.js → keyboard-shortcuts-settings-BYYC9Qmw.js} +1 -1
  60. package/dist/gateway/static/root/assets/{local-app-workbench-page-DY9tXEO6.js → local-app-workbench-page-BKZfn-MS.js} +1 -1
  61. package/dist/gateway/static/root/assets/{local-apps-page-BHD73STy.js → local-apps-page-BU8pUsVM.js} +1 -1
  62. package/dist/gateway/static/root/assets/{local-session-drafts-Be4BGM4Z.js → local-session-drafts-kFc_MAA9.js} +1 -1
  63. package/dist/gateway/static/root/assets/{locale-store-uRu_DsWm.js → locale-store-Dr43FCty.js} +1 -1
  64. package/dist/gateway/static/root/assets/{logs-page-DsPpe8Ws.js → logs-page-BSepiACn.js} +1 -1
  65. package/dist/gateway/static/root/assets/{management-settings-Buwi2wQE.js → management-settings-dE_ykPNY.js} +1 -1
  66. package/dist/gateway/static/root/assets/{markdown-view-CBjl-XEc.js → markdown-view-CdKlPjJM.js} +1 -1
  67. package/dist/gateway/static/root/assets/{media-plugins-BombFqsX.js → media-plugins-DE9zt88i.js} +1 -1
  68. package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-65SE6j-_.js +1 -0
  69. package/dist/gateway/static/root/assets/messages-DlTNQI92.js +3 -0
  70. package/dist/gateway/static/root/assets/models-hub-cache-C7FAsEe_.js +1 -0
  71. package/dist/gateway/static/root/assets/{note-detail-panel-D8n80Gbr.js → note-detail-panel-D9oqhdyk.js} +3 -3
  72. package/dist/gateway/static/root/assets/{notes-api-BlGP533W.js → notes-api-BHouNL6-.js} +1 -1
  73. package/dist/gateway/static/root/assets/{notes-page-Btf-jSS_.js → notes-page-Bd4_7ph8.js} +1 -1
  74. package/dist/gateway/static/root/assets/{page-context-capture-button-97RL8Gc7.js → page-context-capture-button-TQr8NnSc.js} +1 -1
  75. package/dist/gateway/static/root/assets/{personal-page-B04L8Oz5.js → personal-page-BvWzq4Wp.js} +1 -1
  76. package/dist/gateway/static/root/assets/{product-open-page-9zEDvZa7.js → product-open-page-BEl6syFp.js} +1 -1
  77. package/dist/gateway/static/root/assets/{product-preview-content-DynBrIXq.js → product-preview-content-BxSHnbqz.js} +1 -1
  78. package/dist/gateway/static/root/assets/{project-detail-page-BM7MsoVA.js → project-detail-page-D-qkIXVT.js} +1 -1
  79. package/dist/gateway/static/root/assets/{projects-page-pcyeEJnz.js → projects-page-BQtw1Dfn.js} +1 -1
  80. package/dist/gateway/static/root/assets/{registry-api-CYqA7bfl.js → registry-api-BD5IgDOA.js} +1 -1
  81. package/dist/gateway/static/root/assets/{remote-access-hub-CphyTu22.js → remote-access-hub-CYFNz0Jc.js} +1 -1
  82. package/dist/gateway/static/root/assets/{runtime-tools-api-zzoxjSuR.js → runtime-tools-api-CjTRoQWT.js} +1 -1
  83. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-DPafoO0G.js → runtime-tools-settings-panel-Qq_NyYx_.js} +1 -1
  84. package/dist/gateway/static/root/assets/{scenes-page-j97FrDRW.js → scenes-page-hGr-ppYk.js} +1 -1
  85. package/dist/gateway/static/root/assets/{schema-form-CuJNwKHO.js → schema-form-ByG-R6N2.js} +1 -1
  86. package/dist/gateway/static/root/assets/{send-session-input-C293-Hbx.js → send-session-input-UAVStisp.js} +1 -1
  87. package/dist/gateway/static/root/assets/{session-api-CzVTrG8n.js → session-api-DvgEiNRS.js} +1 -1
  88. package/dist/gateway/static/root/assets/session-manager-BOb1tC_Z.js +16 -0
  89. package/dist/gateway/static/root/assets/{sessions-page-D8t_8fMl.js → sessions-page-CpX1Rluw.js} +1 -1
  90. package/dist/gateway/static/root/assets/settings-advanced-gate-D2s_MlxR.js +1 -0
  91. package/dist/gateway/static/root/assets/{settings-page-DS9DMYUe.js → settings-page-C1e9m23j.js} +1 -1
  92. package/dist/gateway/static/root/assets/{setup-status-panel-DRDvm9yZ.js → setup-status-panel-BiHRYDHq.js} +1 -1
  93. package/dist/gateway/static/root/assets/{share-link-dialog-BKGI8Kr0.js → share-link-dialog-kE_6v5Dp.js} +1 -1
  94. package/dist/gateway/static/root/assets/{share-preview-page-BF2WaO43.js → share-preview-page-BT-_yR1h.js} +1 -1
  95. package/dist/gateway/static/root/assets/{shares-api-B0HlMAzi.js → shares-api-Dg_SqHQE.js} +1 -1
  96. package/dist/gateway/static/root/assets/{shares-settings-DQTQZu6V.js → shares-settings-DfcAu08T.js} +1 -1
  97. package/dist/gateway/static/root/assets/{skill-api-DzVa7G-O.js → skill-api-BslUYMnX.js} +1 -1
  98. package/dist/gateway/static/root/assets/{skill-reload-api-CEJx5rPd.js → skill-reload-api-BQ2rTOP1.js} +1 -1
  99. package/dist/gateway/static/root/assets/{skills-page-CfJIjRdS.js → skills-page-CvKc5nBN.js} +1 -1
  100. package/dist/gateway/static/root/assets/{system-settings-panel-Bzhqed-a.js → system-settings-panel-GpbPfWwo.js} +1 -1
  101. package/dist/gateway/static/root/assets/{task-detail-page-BYQFC0-U.js → task-detail-page-5B5ZVAu0.js} +1 -1
  102. package/dist/gateway/static/root/assets/{task-expandable-content-C9ohICpw.js → task-expandable-content-DJrrEBB4.js} +1 -1
  103. package/dist/gateway/static/root/assets/{theme-store-BUfzeDvL.js → theme-store-BKpYnggg.js} +1 -1
  104. package/dist/gateway/static/root/assets/{tracing-settings-page-C2q5B3Kp.js → tracing-settings-page-D71w7dwV.js} +1 -1
  105. package/dist/gateway/static/root/assets/{tunnel-api-DrgpZ81I.js → tunnel-api-BV46CvS8.js} +1 -1
  106. package/dist/gateway/static/root/assets/{usage-page-Drk8FWnj.js → usage-page-rMuwNpJi.js} +1 -1
  107. package/dist/gateway/static/root/assets/{use-autosave-DgbCgsao.js → use-autosave-CzyqRffr.js} +1 -1
  108. package/dist/gateway/static/root/assets/{use-composer-attachments-rgW7h4sD.js → use-composer-attachments-Dviq-1f6.js} +1 -1
  109. package/dist/gateway/static/root/assets/{use-file-preview-expanded-DSKIxfz9.js → use-file-preview-expanded-D5Kk7Hon.js} +2 -2
  110. package/dist/gateway/static/root/assets/{user-model-page-07t2-nFE.js → user-model-page-Dhqw3v_u.js} +1 -1
  111. package/dist/gateway/static/root/assets/{voice-api-key-field-4AIkbm9R.js → voice-api-key-field-DWtbmacd.js} +1 -1
  112. package/dist/gateway/static/root/assets/{voice-config-api-Kw1pYlLN.js → voice-config-api-DnIjZm_9.js} +1 -1
  113. package/dist/gateway/static/root/assets/{work-discovery-overlay-TQ5bjVot.js → work-discovery-overlay-ChEG71hz.js} +1 -1
  114. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-C9HP2uGG.js → workflow-run-setup-panel-pdiRKLxP.js} +1 -1
  115. package/dist/gateway/static/root/assets/{workflows-page-DK01JRI1.js → workflows-page-D9LMxINt.js} +1 -1
  116. package/dist/gateway/static/root/assets/{workspace-api-JWHOFos6.js → workspace-api-CZDvu7uA.js} +2 -2
  117. package/dist/gateway/static/root/assets/{xopc-cloud-account-card-B-BhQdAf.js → xopc-cloud-account-card-CbUgg1SK.js} +1 -1
  118. package/dist/gateway/static/root/index.html +27 -27
  119. package/dist/package.js +1 -1
  120. package/dist/packages/gateway-contract/src/clarifications.js +79 -2
  121. package/dist/packages/realtime-protocol/src/voice.js +13 -2
  122. package/dist/src/agent/agent-manager.js +12 -8
  123. package/dist/src/agent/background-review/prompts.js +4 -0
  124. package/dist/src/agent/background-review/run-background-review.js +43 -5
  125. package/dist/src/agent/embedded/run-turn.js +1 -1
  126. package/dist/src/agent/embedded/session-runner.d.ts +4 -3
  127. package/dist/src/agent/embedded/session-runner.js +6 -1
  128. package/dist/src/agent/external-tools/cliProvider.js +1 -1
  129. package/dist/src/agent/external-tools/composio-provider.js +2 -2
  130. package/dist/src/agent/external-tools/endpoint-provider.js +2 -2
  131. package/dist/src/agent/mcp/connection-drafts.d.ts +50 -0
  132. package/dist/src/agent/mcp/connection-drafts.js +278 -0
  133. package/dist/src/agent/mcp/connection-setup.d.ts +5 -2
  134. package/dist/src/agent/mcp/connection-setup.js +7 -5
  135. package/dist/src/agent/mcp/credential-store.d.ts +6 -0
  136. package/dist/src/agent/mcp/credential-store.js +24 -0
  137. package/dist/src/agent/mcp/native-mcp.d.ts +6 -1
  138. package/dist/src/agent/mcp/native-mcp.js +6 -0
  139. package/dist/src/agent/mcp/tool-catalog.d.ts +7 -2
  140. package/dist/src/agent/mcp/tool-catalog.js +25 -15
  141. package/dist/src/agent/service/process-direct-streaming.js +1 -1
  142. package/dist/src/agent/service.js +2 -2
  143. package/dist/src/agent/skills/index.js +1 -1
  144. package/dist/src/agent/skills/managed-store.js +1 -1
  145. package/dist/src/agent/skills/skill-manage-ops.js +1 -1
  146. package/dist/src/agent/tools/clarify-tool.d.ts +2 -3
  147. package/dist/src/agent/tools/clarify-tool.js +15 -9
  148. package/dist/src/agent/tools/cli-clarify.d.ts +0 -3
  149. package/dist/src/agent/tools/cli-clarify.js +18 -32
  150. package/dist/src/agent/tools/factory.js +1 -1
  151. package/dist/src/agent/tools/personal-read-tool.js +1 -1
  152. package/dist/src/agent/tools/personal-task-tool.d.ts +4 -4
  153. package/dist/src/agent/tools/xopc-use-tool.js +2 -2
  154. package/dist/src/agent/workspace-runtime/registry.js +1 -1
  155. package/dist/src/agent-catalog/capabilities.js +2 -2
  156. package/dist/src/automations/capabilities/drafts.js +1 -1
  157. package/dist/src/automations/capabilities/write.d.ts +2 -2
  158. package/dist/src/automations/domain/validation.d.ts +6 -6
  159. package/dist/src/automations/draft/automation-draft-validator.d.ts +2 -2
  160. package/dist/src/automations/service/action-executor.js +1 -1
  161. package/dist/src/bootstrap/application-state.js +1 -1
  162. package/dist/src/capabilities/runtime/dispatcher.js +1 -1
  163. package/dist/src/capabilities/runtime/product.js +1 -1
  164. package/dist/src/chat-commands/agent-edit.js +1 -1
  165. package/dist/src/cli/commands/agent.js +1 -1
  166. package/dist/src/cli/commands/agents.js +1 -1
  167. package/dist/src/cli/commands/models.js +1 -1
  168. package/dist/src/cli/commands/onboard/model.d.ts +1 -1
  169. package/dist/src/cli/commands/onboard/model.js +22 -3
  170. package/dist/src/cli/utils/init-workspace-core.js +1 -1
  171. package/dist/src/config/agent-profile.js +2 -2
  172. package/dist/src/config/loader.js +1 -1
  173. package/dist/src/config/models-json.js +1 -1
  174. package/dist/src/config/schema.d.ts +7 -1
  175. package/dist/src/config/schema.js +3 -1
  176. package/dist/src/extensions/agent-plugins/validation.js +1 -1
  177. package/dist/src/gateway/agents-admin.js +2 -2
  178. package/dist/src/gateway/chat-stream/mapper.js +2 -2
  179. package/dist/src/gateway/chat-stream/protocol.d.ts +2 -3
  180. package/dist/src/gateway/clarify-runtime.d.ts +2 -0
  181. package/dist/src/gateway/clarify-runtime.js +4 -1
  182. package/dist/src/gateway/ephemeral-clarification-waiter.d.ts +2 -1
  183. package/dist/src/gateway/ephemeral-clarification-waiter.js +19 -6
  184. package/dist/src/gateway/hono/lib/config-payload.d.ts +1 -1
  185. package/dist/src/gateway/hono/lib/config-payload.js +1 -1
  186. package/dist/src/gateway/hono/lib/config-write-lock.d.ts +2 -0
  187. package/dist/src/gateway/hono/lib/config-write-lock.js +14 -0
  188. package/dist/src/gateway/hono/routes/agent-stream.js +4 -9
  189. package/dist/src/gateway/hono/routes/config-patch/misc.js +2 -2
  190. package/dist/src/gateway/hono/routes/config.js +7 -5
  191. package/dist/src/gateway/hono/routes/connectors.js +1 -1
  192. package/dist/src/gateway/hono/routes/context-sources.js +1 -1
  193. package/dist/src/gateway/hono/routes/lazy-bundles.js +1 -1
  194. package/dist/src/gateway/hono/routes/mcp.js +73 -6
  195. package/dist/src/gateway/hono/routes/notes.js +2 -2
  196. package/dist/src/gateway/hono/routes/projects.js +2 -2
  197. package/dist/src/gateway/hono/routes/session-input-handler.js +1 -1
  198. package/dist/src/gateway/hono/routes/side-chats.js +4 -3
  199. package/dist/src/gateway/hono/routes/tasks.js +1 -1
  200. package/dist/src/gateway/image-generation-setup.js +1 -1
  201. package/dist/src/gateway/lock.js +1 -1
  202. package/dist/src/gateway/service/agent-runner.d.ts +5 -4
  203. package/dist/src/gateway/service/agent-runner.js +32 -16
  204. package/dist/src/gateway/service/config-coordinator.d.ts +619 -1
  205. package/dist/src/gateway/service/config-coordinator.js +36 -24
  206. package/dist/src/gateway/service.d.ts +6 -3
  207. package/dist/src/gateway/service.js +5 -4
  208. package/dist/src/gateway/side-chat/run-service.d.ts +2 -1
  209. package/dist/src/gateway/side-chat/run-service.js +6 -3
  210. package/dist/src/gateway/side-chat/types.d.ts +3 -3
  211. package/dist/src/gateway/xopc-cloud-capability-setup.d.ts +2 -2
  212. package/dist/src/gateway/xopc-cloud-capability-setup.js +8 -5
  213. package/dist/src/local-apps/service.js +1 -1
  214. package/dist/src/memory-learning/service.js +3 -2
  215. package/dist/src/personal-agent/proactivity/service.js +1 -1
  216. package/dist/src/personal-agent/service.js +2 -2
  217. package/dist/src/providers/model-catalog-persistence.js +1 -1
  218. package/dist/src/routing/resolve-route.js +1 -1
  219. package/dist/src/routing/resolve-tui-session-key.js +1 -1
  220. package/dist/src/scenes/execution.d.ts +1 -1
  221. package/dist/src/scenes/taskFollowUp/contracts.d.ts +2 -2
  222. package/dist/src/scenes/taskFollowUp/service.d.ts +5 -5
  223. package/dist/src/scenes/templates.d.ts +2 -2
  224. package/dist/src/storage/sqlite/clarification-wait-repository.d.ts +3 -5
  225. package/dist/src/storage/sqlite/clarification-wait-repository.js +48 -28
  226. package/dist/src/tasks/capabilities/management.d.ts +2 -2
  227. package/dist/src/tasks/capabilities/read.js +2 -2
  228. package/dist/src/tasks/capabilities/relations.d.ts +6 -6
  229. package/dist/src/tasks/capabilities/write.d.ts +6 -6
  230. package/dist/src/tasks/capabilities/write.js +1 -1
  231. package/dist/src/tasks/task-handoff-service.js +1 -1
  232. package/dist/src/tui/backends/embedded-backend.js +2 -2
  233. package/dist/src/tui/tui-agent-events.js +1 -1
  234. package/dist/src/user-context/config.d.ts +2 -2
  235. package/dist/src/user-model/capture/semantic.d.ts +8 -1
  236. package/dist/src/user-model/capture/semantic.js +26 -5
  237. package/dist/src/voice/realtime/agentEngine.js +4 -2
  238. package/dist/src/voice/realtime/omniEngine.js +2 -2
  239. package/dist/src/voice/realtime/persona-context.js +1 -1
  240. package/package.json +4 -4
  241. package/dist/gateway/static/root/assets/connectors-page-CmJV7gqj.js +0 -1
  242. package/dist/gateway/static/root/assets/gateway-realtime-store-BVriF6Zj.js +0 -1
  243. package/dist/gateway/static/root/assets/index-DBRwvWzm.css +0 -1
  244. package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-D2mip-f9.js +0 -1
  245. package/dist/gateway/static/root/assets/messages-DTqbfje6.js +0 -3
  246. package/dist/gateway/static/root/assets/models-hub-cache-Ct6X5zmB.js +0 -1
  247. package/dist/gateway/static/root/assets/session-manager-COd9RECl.js +0 -16
  248. package/dist/gateway/static/root/assets/settings-advanced-gate-CDkitNHA.js +0 -1
@@ -1,5 +1,2 @@
1
1
  import type { GatewayClarifyRequestFn } from './clarify-tool.js';
2
- /**
3
- * stdin/stdout prompts for `clarify` when running the CLI agent (no gateway).
4
- */
5
2
  export declare function createCliReadlineClarifyRequestFn(): GatewayClarifyRequestFn;
@@ -1,49 +1,35 @@
1
+ import { normalizeClarificationSubmission } from "../../../packages/gateway-contract/src/clarifications.js";
2
+ import { init_src } from "../../../packages/gateway-contract/src/index.js";
1
3
  import * as readline from "node:readline/promises";
2
4
  import { stdin, stdout } from "node:process";
3
5
  //#region src/agent/tools/cli-clarify.ts
4
- /**
5
- * stdin/stdout prompts for `clarify` when running the CLI agent (no gateway).
6
- */
6
+ init_src();
7
7
  function createCliReadlineClarifyRequestFn() {
8
- return async (_context, req) => {
8
+ return async (_context, request) => {
9
9
  const rl = readline.createInterface({
10
10
  input: stdin,
11
11
  output: stdout
12
12
  });
13
13
  try {
14
- const choices = req.choices;
15
- if (choices && choices.length >= 2) {
16
- stdout.write(`\n${req.question}\n`);
17
- choices.forEach((c, i) => stdout.write(` ${i + 1}) ${c}\n`));
18
- if (req.suggestedAnswer) stdout.write(` (recommended: ${req.suggestedAnswer})\n`);
19
- const raw = (await rl.question("Choice (number or exact text): ")).trim();
20
- const n = parseInt(raw, 10);
21
- if (!Number.isNaN(n) && n >= 1 && n <= choices.length) return {
14
+ stdout.write(`\n${request.question}\n`);
15
+ if (request.kind === "approval") {
16
+ stdout.write(`${JSON.stringify(request.approval)}\n`);
17
+ return {
22
18
  status: "answered",
23
- answer: choices[n - 1]
19
+ answer: normalizeClarificationSubmission(request, { decision: (await rl.question("Type approve or deny: ")).trim() }).answer
24
20
  };
25
- if (raw) return {
26
- status: "answered",
27
- answer: raw
28
- };
29
- if (req.suggestedAnswer) return {
30
- status: "answered",
31
- answer: req.suggestedAnswer
32
- };
33
- throw new Error("No answer provided");
34
21
  }
35
- stdout.write(`\n${req.question}\n`);
36
- if (req.suggestedAnswer) stdout.write(`(Press Enter for recommendation: ${req.suggestedAnswer})\n`);
37
- const raw = (await rl.question("> ")).trim();
38
- if (raw) return {
39
- status: "answered",
40
- answer: raw
41
- };
42
- if (req.suggestedAnswer) return {
22
+ request.choiceDetails?.forEach((choice, index) => stdout.write(` ${index + 1}) ${choice.label}${choice.description ? ` — ${choice.description}` : ""}${choice.id === request.recommendedChoiceId ? " (recommended)" : ""}\n`));
23
+ const raw = (await rl.question("Choice number or your answer: ")).trim();
24
+ const choice = /^\d+$/.test(raw) ? request.choiceDetails?.[Number(raw) - 1] : void 0;
25
+ const text = choice && request.interactionMode === "compose" ? (await rl.question("Additional information (optional): ")).trim() : choice ? void 0 : raw;
26
+ return {
43
27
  status: "answered",
44
- answer: req.suggestedAnswer
28
+ answer: normalizeClarificationSubmission(request, { response: {
29
+ choiceId: choice?.id,
30
+ text
31
+ } }).answer
45
32
  };
46
- throw new Error("No answer provided");
47
33
  } finally {
48
34
  rl.close();
49
35
  }
@@ -8,8 +8,8 @@ import { getSessionMetadata } from "../../storage/sqlite/session-read-repository
8
8
  import { patchSessionMetadata } from "../../storage/sqlite/session-repository.js";
9
9
  import { getSessionTaskPlan, setSessionTaskPlan } from "../../storage/sqlite/session-task-plan-repository.js";
10
10
  import { init_sqlite } from "../../storage/sqlite/index.js";
11
- import { resolveUserContextSessionAccess } from "../../user-context/access-policy.js";
12
11
  import { init_agent_scope, resolveDefaultAgentId } from "../agent-scope.js";
12
+ import { resolveUserContextSessionAccess } from "../../user-context/access-policy.js";
13
13
  import { resolveEffectiveAgentConfigForAgent, resolveEffectiveAgentConfigForSession } from "../../config/agent-profile.js";
14
14
  import { TaskConversationRepository } from "../../tasks/task-conversation-repository.js";
15
15
  import { LOCAL_READ_MAX_CHARS } from "./local-read-budget.js";
@@ -1,5 +1,5 @@
1
- import { LOCAL_READ_MAX_CHARS } from "./local-read-budget.js";
2
1
  import { CapabilityDispatcher } from "../../capabilities/runtime/dispatcher.js";
2
+ import { LOCAL_READ_MAX_CHARS } from "./local-read-budget.js";
3
3
  import { registerNoteReadCapabilities } from "../../notes/capabilities/read.js";
4
4
  import { registerProjectReadCapabilities } from "../../projects/capabilities/read.js";
5
5
  import { registerAutomationReadCapabilities } from "../../automations/capabilities/read.js";
@@ -12,18 +12,18 @@ declare const PersonalTaskModelSchema: import("@sinclair/typebox").TObject<{
12
12
  taskType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
13
13
  requestedAgentId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
14
14
  }>>;
15
- command: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"get" | "answer" | "retry_allocation" | "selection" | "list" | "cancel" | "entry" | "revise" | "submit" | "instruct" | "collaboration">[]>;
15
+ command: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"get" | "answer" | "cancel" | "retry_allocation" | "selection" | "list" | "entry" | "revise" | "submit" | "instruct" | "collaboration">[]>;
16
16
  requestId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
17
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
18
+ expectedVersion: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
19
+ idempotencyKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
17
20
  instruction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
18
21
  title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
19
22
  taskId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
20
23
  requiredSkills: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
21
- idempotencyKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
22
24
  objective: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
23
25
  expectedOutputs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
24
26
  constraints: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
25
- expectedVersion: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
26
- description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
27
27
  limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
28
28
  offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
29
29
  section: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>>;
@@ -11,13 +11,13 @@ import { TaskRunRepository } from "../../tasks/task-run-repository.js";
11
11
  import { getSessionMetadata } from "../../storage/sqlite/session-read-repository.js";
12
12
  import { init_sqlite } from "../../storage/sqlite/index.js";
13
13
  import "../../activity/index.js";
14
+ import { CapabilityError } from "../../capabilities/runtime/errors.js";
15
+ import "../../capabilities/runtime/dispatcher.js";
14
16
  import { getDefaultAgentId, init_resolve_route } from "../../routing/resolve-route.js";
15
17
  import { resolveTaskLocale } from "../../tasks/task-language.js";
16
18
  import { TaskReadModelProjector } from "../../tasks/task-read-model-projector.js";
17
19
  import { TaskOriginRepository } from "../../tasks/task-origin-repository.js";
18
20
  import { TaskConversationRepository } from "../../tasks/task-conversation-repository.js";
19
- import { CapabilityError } from "../../capabilities/runtime/errors.js";
20
- import "../../capabilities/runtime/dispatcher.js";
21
21
  import { resolveProjectAgentId } from "../../projects/project-agent.js";
22
22
  import "../../projects/index.js";
23
23
  import { TaskCollaborationRepository } from "../../tasks/task-collaboration-repository.js";
@@ -1,5 +1,5 @@
1
- import { init_agent_session_key, normalizeAgentId } from "../../routing/agent-session-key.js";
2
1
  import { init_agent_scope, resolveAgentIdForWorkspacePath } from "../agent-scope.js";
2
+ import { init_agent_session_key, normalizeAgentId } from "../../routing/agent-session-key.js";
3
3
  import { SkillManager } from "../skills/skill-manager.js";
4
4
  import { SystemPromptBuilder } from "../prompt/service-prompt-builder.js";
5
5
  import { UserContextRuntimeRegistry } from "../../user-context/runtime.js";
@@ -1,10 +1,10 @@
1
1
  import { AgentEntrySchema, EffectiveAgentConfigSchema } from "../agent-config/schema.js";
2
2
  import { resolveEffectiveAgentConfig } from "../agent-config/resolver.js";
3
3
  import { init_agent_config } from "../agent-config/index.js";
4
- import { AgentCatalogRepository, init_repository } from "./repository.js";
5
- import { init_agent_scope, resolveAgentWorkspaceDir } from "../agent/agent-scope.js";
6
4
  import { CapabilityError } from "../capabilities/runtime/errors.js";
7
5
  import { defineAtomicCapability, defineReadCapability } from "../capabilities/runtime/dispatcher.js";
6
+ import { AgentCatalogRepository, init_repository } from "./repository.js";
7
+ import { init_agent_scope, resolveAgentWorkspaceDir } from "../agent/agent-scope.js";
8
8
  import { AgentCatalogService } from "./service.js";
9
9
  import { z } from "zod";
10
10
  //#region src/agent-catalog/capabilities.ts
@@ -3,10 +3,10 @@ import { init_src } from "../../../packages/gateway-contract/src/index.js";
3
3
  import { init_trust_policy, resolveAutomationSafetyForTrust } from "../../user-context/trust-policy.js";
4
4
  import { getUserTrustPolicy } from "../../storage/sqlite/user-trust-repository.js";
5
5
  import { init_sqlite } from "../../storage/sqlite/index.js";
6
- import { init_agent_scope, resolveDefaultAgentId } from "../../agent/agent-scope.js";
7
6
  import { CapabilityError } from "../../capabilities/runtime/errors.js";
8
7
  import { ExternalEffectNotAppliedError } from "../../capabilities/runtime/external-operations.js";
9
8
  import { defineExternalCapability, defineReadCapability } from "../../capabilities/runtime/dispatcher.js";
9
+ import { init_agent_scope, resolveDefaultAgentId } from "../../agent/agent-scope.js";
10
10
  import { AutomationCreateCapabilityInputSchema } from "./write.js";
11
11
  import { simulateAutomation } from "../draft/automation-draft-validator.js";
12
12
  import { AutomationDraftService } from "../draft/automation-draft-service.js";
@@ -135,6 +135,7 @@ export declare const AutomationCreateCapabilityInputSchema: z.ZodObject<{
135
135
  }>;
136
136
  }, z.core.$strict>], "kind">;
137
137
  id: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodString>>, z.ZodTransform<string, string>>;
138
+ description: z.ZodOptional<z.ZodString>;
138
139
  trigger: z.ZodDiscriminatedUnion<[z.ZodObject<{
139
140
  kind: z.ZodLiteral<"manual">;
140
141
  }, z.core.$strict>, z.ZodObject<{
@@ -160,7 +161,6 @@ export declare const AutomationCreateCapabilityInputSchema: z.ZodObject<{
160
161
  source: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodString>>, z.ZodTransform<string, string>>;
161
162
  payloadMatch: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
162
163
  }, z.core.$strict>], "kind">;
163
- description: z.ZodOptional<z.ZodString>;
164
164
  delivery: z.ZodDefault<z.ZodObject<{
165
165
  notificationPolicy: z.ZodDefault<z.ZodEnum<{
166
166
  attention: "attention";
@@ -337,6 +337,7 @@ export declare const AutomationUpdatePatchSchema: z.ZodObject<{
337
337
  "memory.weekly_knowledge": "memory.weekly_knowledge";
338
338
  }>;
339
339
  }, z.core.$strict>], "kind">>;
340
+ description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
340
341
  trigger: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
341
342
  kind: z.ZodLiteral<"manual">;
342
343
  }, z.core.$strict>, z.ZodObject<{
@@ -362,7 +363,6 @@ export declare const AutomationUpdatePatchSchema: z.ZodObject<{
362
363
  source: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodString>>, z.ZodTransform<string, string>>;
363
364
  payloadMatch: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
364
365
  }, z.core.$strict>], "kind">>;
365
- description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
366
366
  safety: z.ZodOptional<z.ZodOptional<z.ZodObject<{
367
367
  mode: z.ZodEnum<{
368
368
  suggest_only: "suggest_only";
@@ -219,8 +219,8 @@ export declare const AutomationStateSchema: z.ZodObject<{
219
219
  lastRunStatus: z.ZodOptional<z.ZodEnum<{
220
220
  failed: "failed";
221
221
  succeeded: "succeeded";
222
- cancelled: "cancelled";
223
222
  queued: "queued";
223
+ cancelled: "cancelled";
224
224
  running: "running";
225
225
  cancelling: "cancelling";
226
226
  timeout: "timeout";
@@ -446,8 +446,8 @@ export declare const AutomationSchema: z.ZodObject<{
446
446
  lastRunStatus: z.ZodOptional<z.ZodEnum<{
447
447
  failed: "failed";
448
448
  succeeded: "succeeded";
449
- cancelled: "cancelled";
450
449
  queued: "queued";
450
+ cancelled: "cancelled";
451
451
  running: "running";
452
452
  cancelling: "cancelling";
453
453
  timeout: "timeout";
@@ -589,6 +589,7 @@ export declare const CreateAutomationSchema: z.ZodObject<{
589
589
  "memory.weekly_knowledge": "memory.weekly_knowledge";
590
590
  }>;
591
591
  }, z.core.$strict>], "kind">;
592
+ description: z.ZodOptional<z.ZodString>;
592
593
  trigger: z.ZodDiscriminatedUnion<[z.ZodObject<{
593
594
  kind: z.ZodLiteral<"manual">;
594
595
  }, z.core.$strict>, z.ZodObject<{
@@ -614,7 +615,6 @@ export declare const CreateAutomationSchema: z.ZodObject<{
614
615
  source: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodString>>, z.ZodTransform<string, string>>;
615
616
  payloadMatch: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
616
617
  }, z.core.$strict>], "kind">;
617
- description: z.ZodOptional<z.ZodString>;
618
618
  delivery: z.ZodDefault<z.ZodObject<{
619
619
  notificationPolicy: z.ZodDefault<z.ZodEnum<{
620
620
  attention: "attention";
@@ -676,8 +676,8 @@ export declare const CreateAutomationSchema: z.ZodObject<{
676
676
  lastRunStatus: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
677
677
  failed: "failed";
678
678
  succeeded: "succeeded";
679
- cancelled: "cancelled";
680
679
  queued: "queued";
680
+ cancelled: "cancelled";
681
681
  running: "running";
682
682
  cancelling: "cancelling";
683
683
  timeout: "timeout";
@@ -818,6 +818,7 @@ export declare const UpdateAutomationSchema: z.ZodObject<{
818
818
  "memory.weekly_knowledge": "memory.weekly_knowledge";
819
819
  }>;
820
820
  }, z.core.$strict>], "kind">>;
821
+ description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
821
822
  trigger: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
822
823
  kind: z.ZodLiteral<"manual">;
823
824
  }, z.core.$strict>, z.ZodObject<{
@@ -843,7 +844,6 @@ export declare const UpdateAutomationSchema: z.ZodObject<{
843
844
  source: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodString>>, z.ZodTransform<string, string>>;
844
845
  payloadMatch: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
845
846
  }, z.core.$strict>], "kind">>;
846
- description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
847
847
  safety: z.ZodOptional<z.ZodOptional<z.ZodObject<{
848
848
  mode: z.ZodEnum<{
849
849
  suggest_only: "suggest_only";
@@ -903,8 +903,8 @@ export declare const UpdateAutomationSchema: z.ZodObject<{
903
903
  lastRunStatus: z.ZodOptional<z.ZodEnum<{
904
904
  failed: "failed";
905
905
  succeeded: "succeeded";
906
- cancelled: "cancelled";
907
906
  queued: "queued";
907
+ cancelled: "cancelled";
908
908
  running: "running";
909
909
  cancelling: "cancelling";
910
910
  timeout: "timeout";
@@ -130,6 +130,7 @@ export declare function buildAutomationDraftResponse(draft: GeneratedAutomationD
130
130
  kind: "system";
131
131
  capability: "home.advisor.refresh" | "personal.proactivity.tick" | "memory.temporal_sweep" | "memory.daily_reconciliation" | "memory.weekly_knowledge";
132
132
  };
133
+ description?: string;
133
134
  trigger?: {
134
135
  kind: "manual";
135
136
  } | {
@@ -155,7 +156,6 @@ export declare function buildAutomationDraftResponse(draft: GeneratedAutomationD
155
156
  source?: string;
156
157
  payloadMatch?: Record<string, string | number | boolean>;
157
158
  };
158
- description?: string;
159
159
  safety?: {
160
160
  mode: "suggest_only" | "ask_before_apply" | "auto_apply";
161
161
  };
@@ -177,7 +177,7 @@ export declare function buildAutomationDraftResponse(draft: GeneratedAutomationD
177
177
  nextRunAtMs?: number;
178
178
  runningRunId?: string;
179
179
  lastRunAtMs?: number;
180
- lastRunStatus?: "failed" | "succeeded" | "cancelled" | "queued" | "running" | "cancelling" | "timeout";
180
+ lastRunStatus?: "failed" | "succeeded" | "queued" | "cancelled" | "running" | "cancelling" | "timeout";
181
181
  lastError?: string;
182
182
  consecutiveFailures?: number;
183
183
  };
@@ -1,8 +1,8 @@
1
1
  import { createLogger } from "../../utils/logger/index.js";
2
2
  import { init_logger } from "../../utils/logger.js";
3
- import { init_session_key, resolveConversationId } from "../../routing/session-key.js";
4
3
  import { normalizeAgentId } from "../../agent-catalog/id.js";
5
4
  import { init_agent_scope } from "../../agent/agent-scope.js";
5
+ import { init_session_key, resolveConversationId } from "../../routing/session-key.js";
6
6
  import { resolveAutomationTimeoutSeconds } from "../domain/defaults.js";
7
7
  //#region src/automations/service/action-executor.ts
8
8
  init_agent_scope();
@@ -1,9 +1,9 @@
1
1
  import { requireXopcDatabase } from "../storage/sqlite/connection.js";
2
2
  import { init_sqlite } from "../storage/sqlite/index.js";
3
3
  import { AgentCatalogService } from "../agent-catalog/service.js";
4
- import { ensureStarterAgentsInitialized } from "../agent/starter-agents.js";
5
4
  import { cutoverLegacyAgentConfig } from "../agent-catalog/migrations/legacy-config-cutover.js";
6
5
  import "../agent-catalog/index.js";
6
+ import { ensureStarterAgentsInitialized } from "../agent/starter-agents.js";
7
7
  import { migrateIdentityMarkdownToCatalog } from "../agent-catalog/migrations/identity-markdown-cutover.js";
8
8
  import { migrateCloudPublicModelsSync } from "../migrations/cloud-public-models.js";
9
9
  import { runBootstrapMigrationsSync } from "../migrations/runner.js";
@@ -1,7 +1,7 @@
1
1
  import { SqliteCommitEffectError, init_transaction } from "../../storage/sqlite/transaction.js";
2
+ import { OperationConflictError, executeAtomicOperation } from "./atomic-operations.js";
2
3
  import { CapabilityError } from "./errors.js";
3
4
  import { executeExternalOperation } from "./external-operations.js";
4
- import { OperationConflictError, executeAtomicOperation } from "./atomic-operations.js";
5
5
  import { createHash } from "node:crypto";
6
6
  import { z } from "zod";
7
7
  //#region src/capabilities/runtime/dispatcher.ts
@@ -1,5 +1,6 @@
1
1
  import { CapabilityError } from "./errors.js";
2
2
  import { CapabilityDispatcher } from "./dispatcher.js";
3
+ import { registerAgentCapabilities } from "../../agent-catalog/capabilities.js";
3
4
  import { registerLocalAppReadCapabilities } from "../../local-apps/capabilities/read.js";
4
5
  import { registerNoteReadCapabilities } from "../../notes/capabilities/read.js";
5
6
  import { registerNoteWriteCapabilities } from "../../notes/capabilities/write.js";
@@ -18,7 +19,6 @@ import { registerSceneReadCapabilities } from "../../scenes/capabilities/read.js
18
19
  import { registerSceneWriteCapabilities } from "../../scenes/capabilities/write.js";
19
20
  import { registerSettingsCapability } from "./settings.js";
20
21
  import { registerAppContextCapability } from "./app-context.js";
21
- import { registerAgentCapabilities } from "../../agent-catalog/capabilities.js";
22
22
  //#region src/capabilities/runtime/product.ts
23
23
  function createProductDispatcher(getNotes, taskWrites) {
24
24
  const dispatcher = new CapabilityDispatcher();
@@ -1,6 +1,6 @@
1
- import { init_agent_session_key, resolveAgentIdFromConversationId } from "../routing/agent-session-key.js";
2
1
  import { normalizeAgentId } from "../agent-catalog/id.js";
3
2
  import { init_agent_scope, resolveAgentProfileDir } from "../agent/agent-scope.js";
3
+ import { init_agent_session_key, resolveAgentIdFromConversationId } from "../routing/agent-session-key.js";
4
4
  import { WORKSPACE_FILES, init_paths } from "../config/paths.js";
5
5
  import { commandRegistry } from "./registry.js";
6
6
  import { join } from "node:path";
@@ -1,7 +1,7 @@
1
1
  import { createLogger } from "../../utils/logger/index.js";
2
2
  import { init_logger } from "../../utils/logger.js";
3
- import { init_agent_session_key, resolveAgentMainConversationId } from "../../routing/agent-session-key.js";
4
3
  import { init_agent_scope, resolveDefaultAgentId } from "../../agent/agent-scope.js";
4
+ import { init_agent_session_key, resolveAgentMainConversationId } from "../../routing/agent-session-key.js";
5
5
  import { getAgentDefaultModelRef, init_schema } from "../../config/schema.js";
6
6
  import { getWorkspacePath } from "../../config/workspace-path-helpers.js";
7
7
  import { ExtensionLoader } from "../../extensions/loader.js";
@@ -1,8 +1,8 @@
1
1
  import { normalizeAgentId, validateAgentIdForNewAgent } from "../../agent-catalog/id.js";
2
2
  import { AgentCatalogRepository, init_repository } from "../../agent-catalog/repository.js";
3
3
  import { init_agent_scope, resolveAgentDir, resolveAgentWorkspaceDir, resolveDefaultAgentId } from "../../agent/agent-scope.js";
4
- import { resolveEffectiveAgentConfigForAgent } from "../../config/agent-profile.js";
5
4
  import { AgentCatalogService } from "../../agent-catalog/service.js";
5
+ import { resolveEffectiveAgentConfigForAgent } from "../../config/agent-profile.js";
6
6
  import { colors } from "../utils/colors.js";
7
7
  //#region src/cli/commands/agents.ts
8
8
  init_repository();
@@ -1,11 +1,11 @@
1
1
  import { creditDecimal } from "../../../packages/gateway-contract/src/cloud-credits.js";
2
2
  import { init_src } from "../../../packages/gateway-contract/src/index.js";
3
3
  import { AgentCatalogRepository, init_repository } from "../../agent-catalog/repository.js";
4
+ import { AgentCatalogService } from "../../agent-catalog/service.js";
4
5
  import { getAgentDefaultModelRef, init_schema } from "../../config/schema.js";
5
6
  import { CredentialResolver, init_credentials } from "../../auth/credentials.js";
6
7
  import { getAllModels, getAvailableModels, getConfiguredProviders, getProviderAuthState, getProviderDisplayName, init_providers, isProviderConfigured, providerSupportsApiKey, providerSupportsOAuth, resolveModel } from "../../providers/index.js";
7
8
  import { XopcCloudAccountService } from "../../providers/xopc-cloud-account-service.js";
8
- import { AgentCatalogService } from "../../agent-catalog/service.js";
9
9
  import { listImageProviderSpecs } from "../../../packages/image-providers/src/catalog.js";
10
10
  import "../../../packages/image-providers/src/index.js";
11
11
  import { loadConfig } from "../../config/loader.js";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Catalog-driven model configuration for onboarding.
3
3
  */
4
- import type { Config } from '../../../config/schema.js';
4
+ import { type Config } from '../../../config/schema.js';
5
5
  import { type XopcCloudCatalogCoordinator } from '../../../providers/xopc-cloud-catalog-coordinator.js';
6
6
  import type { CLIContext } from '../../registry.js';
7
7
  export declare function setPrimaryModel(config: Config, workspacePath: string, modelRef: string): Promise<Config>;
@@ -1,15 +1,16 @@
1
1
  import { AgentCatalogRepository, init_repository } from "../../../agent-catalog/repository.js";
2
- import { getAgentDefaultModelRef, init_schema } from "../../../config/schema.js";
2
+ import { AgentCatalogService } from "../../../agent-catalog/service.js";
3
+ import { ConfigSchema, getAgentDefaultModelRef, init_schema } from "../../../config/schema.js";
3
4
  import { resolveModelsJsonPath } from "../../../config/paths.js";
4
5
  import { init_models_json, loadModelsJson, saveModelsJson } from "../../../config/models-json.js";
5
6
  import { getApiKeyFromEnv } from "../../../providers/env-keys.js";
6
7
  import { getModelRegistry } from "../../../providers/model-registry.js";
7
8
  import { CredentialResolver, init_credentials } from "../../../auth/credentials.js";
8
9
  import { getAllProviders, getModelsByProvider, getProviderDisplayName, init_providers, providerSupportsApiKey, providerSupportsOAuth } from "../../../providers/index.js";
9
- import { AgentCatalogService } from "../../../agent-catalog/service.js";
10
10
  import { prepareUpdateGlobalDefaults } from "../../../gateway/global-defaults-admin.js";
11
11
  import { discoverProviderModels, isProviderApiDiscoverable } from "../../../providers/model-discovery.js";
12
12
  import { getXopcCloudCatalogCoordinator } from "../../../providers/xopc-cloud-catalog-coordinator.js";
13
+ import { applyXopcCloudCapabilitySetup } from "../../../gateway/xopc-cloud-capability-setup.js";
13
14
  import { getDomesticProviderBaseUrl, getDomesticProviderPreset, getDomesticProviderPresetIds, providerConfigFromDomesticPreset } from "../../../providers/domestic-presets.js";
14
15
  import { getProviderHint, getRecommendedModelsForProvider, sortModelsForPicker, sortProvidersForPicker } from "../../../providers/presentation.js";
15
16
  import { colors } from "../../utils/colors.js";
@@ -46,7 +47,20 @@ async function setPrimaryModel(config, workspacePath, modelRef) {
46
47
  if (prep.data.changed) service.updateDefaults(prep.data.defaults);
47
48
  const agent = repository.get(catalog.defaultAgentId);
48
49
  if (agent && agent.workspace !== workspacePath) await service.update(catalog.defaultAgentId, { workspace: workspacePath });
49
- return config;
50
+ return modelRef.startsWith("xopc-cloud/") ? setupCloudCapabilities(config) : config;
51
+ }
52
+ /** Return media settings for the onboarding wizard to persist with its other changes. */
53
+ async function setupCloudCapabilities(config) {
54
+ let nextConfig = ConfigSchema.parse(config);
55
+ const result = await applyXopcCloudCapabilitySetup({
56
+ currentConfig: nextConfig,
57
+ saveConfig: async (next) => {
58
+ nextConfig = next;
59
+ return { saved: true };
60
+ }
61
+ });
62
+ if (result.configured === false) throw new Error(result.error);
63
+ return nextConfig;
50
64
  }
51
65
  function formatRecommended(provider) {
52
66
  const labels = getRecommendedModelsForProvider(provider, 3).map((m) => m.name || m.id);
@@ -438,6 +452,11 @@ async function setupModel(existingConfig, ctx) {
438
452
  default: true
439
453
  })) {
440
454
  console.log("✅ Keeping:", currentModel);
455
+ if (currentModel.startsWith("xopc-cloud/")) {
456
+ if (!await ensureProviderCredential("xopc-cloud", getProviderDisplayName("xopc-cloud"))) throw new Error("XOPC Cloud credentials are unavailable");
457
+ await refreshOnboardModelCatalogIfNeeded("xopc-cloud", getModelsForProvider("xopc-cloud").length > 0);
458
+ return setupCloudCapabilities(config);
459
+ }
441
460
  return config;
442
461
  }
443
462
  }
@@ -1,6 +1,6 @@
1
1
  import { AgentCatalogRepository, init_repository } from "../../agent-catalog/repository.js";
2
- import { ConfigSchema, init_schema } from "../../config/schema.js";
3
2
  import { AgentCatalogService } from "../../agent-catalog/service.js";
3
+ import { ConfigSchema, init_schema } from "../../config/schema.js";
4
4
  import { assertConfigRewriteSafeForRunningGateway, saveConfig } from "../../config/loader.js";
5
5
  import { ensureStarterAgentsInitialized } from "../../agent/starter-agents.js";
6
6
  import { bootstrapApplicationStateSync } from "../../bootstrap/application-state.js";
@@ -1,10 +1,10 @@
1
- import { getConversationRouting } from "../storage/sqlite/conversation-repository.js";
2
- import { init_session_key } from "../routing/session-key.js";
3
1
  import { resolveEffectiveAgentConfig } from "../agent-config/resolver.js";
4
2
  import { init_agent_config } from "../agent-config/index.js";
5
3
  import { normalizeAgentId } from "../agent-catalog/id.js";
6
4
  import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
7
5
  import { init_agent_scope, resolveAgentWorkspaceDir } from "../agent/agent-scope.js";
6
+ import { getConversationRouting } from "../storage/sqlite/conversation-repository.js";
7
+ import { init_session_key } from "../routing/session-key.js";
8
8
  import { agentExists, getDefaultAgentId, init_resolve_route } from "../routing/resolve-route.js";
9
9
  //#region src/config/agent-profile.ts
10
10
  init_agent_config();
@@ -1,7 +1,7 @@
1
1
  import { createLogger } from "../utils/logger/index.js";
2
2
  import { init_logger } from "../utils/logger.js";
3
- import { ConfigSchema, init_schema } from "./schema.js";
4
3
  import { init_write_file_atomic, writeTextAtomic } from "../infra/write-file-atomic.js";
4
+ import { ConfigSchema, init_schema } from "./schema.js";
5
5
  import { init_paths, resolveConfigPath } from "./paths.js";
6
6
  import { init_resolution, setActivePlatformDiscovery } from "../platform/resolution.js";
7
7
  import { assertChannelPluginConfigs } from "./validate-channel-configs.js";
@@ -1,6 +1,6 @@
1
1
  import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
2
- import { ComputerProfileSchema, init_src } from "../../packages/computer-control-contract/src/index.js";
3
2
  import { init_write_file_atomic, writeTextAtomicSync } from "../infra/write-file-atomic.js";
3
+ import { ComputerProfileSchema, init_src } from "../../packages/computer-control-contract/src/index.js";
4
4
  import { init_paths, resolveModelsJsonPath } from "./paths.js";
5
5
  import { init_model_policy, isComputerModel } from "../computer/model-policy.js";
6
6
  import { assertCurrentModelProvider, init_provider_policy } from "../providers/provider-policy.js";
@@ -1146,6 +1146,8 @@ export declare const McpOAuthConfigSchema: z.ZodObject<{
1146
1146
  authServerMetadataUrl: z.ZodOptional<z.ZodString>;
1147
1147
  }, z.core.$strict>;
1148
1148
  export declare const McpServerSchema: z.ZodObject<{
1149
+ displayName: z.ZodOptional<z.ZodString>;
1150
+ xopcOAuthCredentialId: z.ZodOptional<z.ZodString>;
1149
1151
  type: z.ZodOptional<z.ZodEnum<{
1150
1152
  http: "http";
1151
1153
  stdio: "stdio";
@@ -1209,6 +1211,8 @@ export declare const McpServerSchema: z.ZodObject<{
1209
1211
  }, z.core.$catchall<z.ZodUnknown>>;
1210
1212
  export declare const McpConfigSchema: z.ZodOptional<z.ZodObject<{
1211
1213
  servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1214
+ displayName: z.ZodOptional<z.ZodString>;
1215
+ xopcOAuthCredentialId: z.ZodOptional<z.ZodString>;
1212
1216
  type: z.ZodOptional<z.ZodEnum<{
1213
1217
  http: "http";
1214
1218
  stdio: "stdio";
@@ -1323,8 +1327,8 @@ export declare const ConfigSchema: z.ZodDefault<z.ZodObject<{
1323
1327
  }>>;
1324
1328
  sensitiveWritePolicy: z.ZodDefault<z.ZodEnum<{
1325
1329
  allow: "allow";
1326
- confirm: "confirm";
1327
1330
  deny: "deny";
1331
+ confirm: "confirm";
1328
1332
  }>>;
1329
1333
  showMemoryReferences: z.ZodDefault<z.ZodBoolean>;
1330
1334
  processingPolicy: z.ZodDefault<z.ZodEnum<{
@@ -1856,6 +1860,8 @@ export declare const ConfigSchema: z.ZodDefault<z.ZodObject<{
1856
1860
  }, z.core.$strip>>;
1857
1861
  mcp: z.ZodOptional<z.ZodObject<{
1858
1862
  servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1863
+ displayName: z.ZodOptional<z.ZodString>;
1864
+ xopcOAuthCredentialId: z.ZodOptional<z.ZodString>;
1859
1865
  type: z.ZodOptional<z.ZodEnum<{
1860
1866
  http: "http";
1861
1867
  stdio: "stdio";
@@ -1,9 +1,9 @@
1
1
  import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
2
- import { DEFAULT_CONTEXT_COMPACTION_POLICY, UserContextConfigSchema, init_config } from "../user-context/config.js";
3
2
  import { AgentModelsOverrideSchema, ImageGenerationRouteSchema, ModelRouteSchema } from "../agent-config/schema.js";
4
3
  import { resolveEffectiveAgentConfig } from "../agent-config/resolver.js";
5
4
  import { init_agent_config } from "../agent-config/index.js";
6
5
  import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
6
+ import { DEFAULT_CONTEXT_COMPACTION_POLICY, UserContextConfigSchema, init_config } from "../user-context/config.js";
7
7
  import { TracingConfigSchema, init_config as init_config$1 } from "../observability/config.js";
8
8
  import { ComputerConfigSchema, init_config as init_config$2 } from "../computer/config.js";
9
9
  import { init_public_url, validatePublicUrl } from "./public-url.js";
@@ -928,6 +928,8 @@ tts: TTSConfigSchema.optional() }).optional();
928
928
  authServerMetadataUrl: z.string().url().optional()
929
929
  }).strict();
930
930
  McpServerSchema = z.object({
931
+ displayName: z.string().optional(),
932
+ xopcOAuthCredentialId: z.string().regex(/^mcp_draft_[a-f0-9]{32}$/).optional(),
931
933
  type: z.enum([
932
934
  "stdio",
933
935
  "http",
@@ -2,8 +2,8 @@ import { dirname, isAbsolute, join, relative, resolve } from "node:path";
2
2
  import { existsSync, lstatSync, readFileSync, readdirSync, realpathSync, statSync } from "node:fs";
3
3
  import { createHash } from "node:crypto";
4
4
  import { z } from "zod";
5
- import { validateHeaderName, validateHeaderValue } from "node:http";
6
5
  import yaml from "js-yaml";
6
+ import { validateHeaderName, validateHeaderValue } from "node:http";
7
7
  //#region src/extensions/agent-plugins/validation.ts
8
8
  const PLUGIN_SCHEMA = "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json";
9
9
  const MCP_SCHEMA = "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json";
@@ -1,10 +1,10 @@
1
1
  import { normalizeAgentId, validateAgentIdForNewAgent } from "../agent-catalog/id.js";
2
2
  import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
3
3
  import { init_agent_scope, listAgentEntries, resolveAgentProfileDir, resolveAgentWorkspaceDir, resolveDefaultAgentId, resolveUserPath } from "../agent/agent-scope.js";
4
- import { resolveEffectiveAgentProfile } from "../config/agent-profile.js";
5
4
  import { AGENT_PROFILE_MARKDOWN_SYSTEM_FILES, REQUIRED_AGENT_PROFILE_MARKDOWN_FILE_SET } from "../agent/context/workspace.js";
6
- import { isPathUnderWorkspace, resolveWorkspaceSafePath } from "./workspace-editor-path.js";
7
5
  import { AgentCatalogService } from "../agent-catalog/service.js";
6
+ import { resolveEffectiveAgentProfile } from "../config/agent-profile.js";
7
+ import { isPathUnderWorkspace, resolveWorkspaceSafePath } from "./workspace-editor-path.js";
8
8
  import { GATEWAY_BUILTIN_TOOL_IDS } from "./agent-builtin-tools.js";
9
9
  import { resolve } from "node:path";
10
10
  import { mkdir, readFile, realpath, stat, unlink, writeFile } from "node:fs/promises";
@@ -1,6 +1,7 @@
1
1
  import { parseTurnOutcome } from "../../../packages/gateway-contract/src/turn-outcome.js";
2
2
  import { resolveToolActivity } from "../../../packages/gateway-contract/src/tool-activity.js";
3
3
  import { isUserTurnDocument } from "../../../packages/gateway-contract/src/user-turn-document.js";
4
+ import { readClarificationPresentation } from "../../../packages/gateway-contract/src/clarifications.js";
4
5
  import { init_src } from "../../../packages/gateway-contract/src/index.js";
5
6
  import { productDeliveries } from "../../session/compact-history.js";
6
7
  import { createPetFeedback } from "./pet-feedback.js";
@@ -98,11 +99,10 @@ var ChatStreamMapper = class {
98
99
  ...this.lastAssistantMessageId ? { messageId: this.lastAssistantMessageId } : {}
99
100
  })];
100
101
  case "clarify_request": return [this.make("clarify_request", {
102
+ ...readClarificationPresentation(event),
101
103
  requestId: String(event.requestId ?? ""),
102
104
  kind: event.kind === "approval" ? "approval" : "input",
103
105
  question: String(event.question ?? ""),
104
- choices: Array.isArray(event.choices) ? event.choices.filter((x) => typeof x === "string") : void 0,
105
- suggestedAnswer: typeof event.suggestedAnswer === "string" ? event.suggestedAnswer : void 0,
106
106
  version: typeof event.version === "number" ? event.version : 1,
107
107
  createdAt: typeof event.createdAt === "number" ? event.createdAt : Date.now(),
108
108
  expiresAt: typeof event.expiresAt === "number" ? event.expiresAt : void 0,