@xopcai/xopc 0.0.396 → 0.0.398

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 (276) hide show
  1. package/dist/browser-ext/manifest.json +1 -1
  2. package/dist/extensions/telegram/xopc.extension.json +1 -1
  3. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-DwTaeL1e.js → agent-avatar-dicebear-Q-lKLSrc.js} +1 -1
  4. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-CobxTBV_.js +1 -0
  5. package/dist/gateway/static/root/assets/agents-Bgmmue5K.js +77 -0
  6. package/dist/gateway/static/root/assets/{agents-admin-api-BjGOUrAf.js → agents-admin-api-DvSe10zu.js} +1 -1
  7. package/dist/gateway/static/root/assets/{app-management-settings-panel-B1ApwlFh.js → app-management-settings-panel-CB_W2ano.js} +1 -1
  8. package/dist/gateway/static/root/assets/{appearance-settings-Avd_jVji.js → appearance-settings-B-ppSGBm.js} +1 -1
  9. package/dist/gateway/static/root/assets/apps-page-3qUgsGui.js +1 -0
  10. package/dist/gateway/static/root/assets/{archive-plugin-C26WGbj9.js → archive-plugin-CeQrQ693.js} +1 -1
  11. package/dist/gateway/static/root/assets/{automations-page-T3FSuURJ.js → automations-page-Cc9vZanv.js} +1 -1
  12. package/dist/gateway/static/root/assets/automations-workspace-Bc4c_AEq.js +6 -0
  13. package/dist/gateway/static/root/assets/{binary-plugins-CLaLkM3M.js → binary-plugins-BqaVBv1R.js} +1 -1
  14. package/dist/gateway/static/root/assets/{block-editor-CB4oRyM5.js → block-editor-B4ij8nZi.js} +40 -40
  15. package/dist/gateway/static/root/assets/{browser-automation-inputs-0nkk3bLA.js → browser-automation-inputs-DngvcZH9.js} +1 -1
  16. package/dist/gateway/static/root/assets/browser-automations-page-CdqwXyYq.js +3 -0
  17. package/dist/gateway/static/root/assets/browser-settings-page-CJT0rB-I.js +3 -0
  18. package/dist/gateway/static/root/assets/{capabilities-CTfLd_UE.js → capabilities-glv1DeRI.js} +1 -1
  19. package/dist/gateway/static/root/assets/capabilities-page-C56VsP0Y.js +2 -0
  20. package/dist/gateway/static/root/assets/capabilities-settings-panel-DZiA8JIq.js +8 -0
  21. package/dist/gateway/static/root/assets/{capability-header-actions-Br5PchG2.js → capability-header-actions-Cu-ATcJq.js} +1 -1
  22. package/dist/gateway/static/root/assets/capability-links--dcwUjgv.js +1 -0
  23. package/dist/gateway/static/root/assets/channels-gIjZtYnV.js +1 -0
  24. package/dist/gateway/static/root/assets/{chat-terminal-dock-Cl0hAav9.js → chat-terminal-dock-COdvmTgN.js} +2 -2
  25. package/dist/gateway/static/root/assets/computer-settings-page-C1XHsuI8.js +1 -0
  26. package/dist/gateway/static/root/assets/{connector-service-page-AqsoqTnF.js → connector-service-page-Cv2bhnQ5.js} +1 -1
  27. package/dist/gateway/static/root/assets/connectors-page-SmKItq0N.js +1 -0
  28. package/dist/gateway/static/root/assets/{date-picker-CyFehuto.js → date-picker-CCnqYwy0.js} +1 -1
  29. package/dist/gateway/static/root/assets/{dependency-picker-Vu_5QGGJ.js → dependency-picker-nt5ruIio.js} +1 -1
  30. package/dist/gateway/static/root/assets/{desktop-pet-Dw9k0Z2p.js → desktop-pet-Bn8xj1v3.js} +1 -1
  31. package/dist/gateway/static/root/assets/{desktop-pet-settings-DKqkhvxu.js → desktop-pet-settings-Cbl1J_VE.js} +1 -1
  32. package/dist/gateway/static/root/assets/{device-pairing-wizard-4l4ESMon.js → device-pairing-wizard-Tadg9co1.js} +1 -1
  33. package/dist/gateway/static/root/assets/{directory-picker-path-field-7svbL2tR.js → directory-picker-path-field-DuE5ez1E.js} +1 -1
  34. package/dist/gateway/static/root/assets/{extension-debug-page-CFa6PCBV.js → extension-debug-page-jsNxwqNi.js} +1 -1
  35. package/dist/gateway/static/root/assets/extension-page-N_rBjYX8.js +1 -0
  36. package/dist/gateway/static/root/assets/extension-settings-page-7qAdvlRB.js +1 -0
  37. package/dist/gateway/static/root/assets/{gateway-config-swr-Di9g6pE8.js → gateway-config-swr-DAir1JsW.js} +1 -1
  38. package/dist/gateway/static/root/assets/{gateway-realtime-2-o7qk92.js → gateway-realtime-dE0XrVAT.js} +1 -1
  39. package/dist/gateway/static/root/assets/gateway-realtime-store-CPlVuu0d.js +1 -0
  40. package/dist/gateway/static/root/assets/gateway-settings-ViqOhx_m.js +1 -0
  41. package/dist/gateway/static/root/assets/{gateway-startup-retry-BCUswcVy.js → gateway-startup-retry-CqyGHM2M.js} +1 -1
  42. package/dist/gateway/static/root/assets/{highlighted-body-KQOG7T2V-DzEeyJpH.js → highlighted-body-KQOG7T2V-XrkWdmrk.js} +1 -1
  43. package/dist/gateway/static/root/assets/home-page-C_Xn_Kkz.js +2 -0
  44. package/dist/gateway/static/root/assets/{image-generation-api-Zo56ZmKs.js → image-generation-api-CmHdM2uL.js} +1 -1
  45. package/dist/gateway/static/root/assets/{imports-page-C_PPaOFv.js → imports-page-B-dnvHP_.js} +1 -1
  46. package/dist/gateway/static/root/assets/index-DWzv8ZoO.css +1 -0
  47. package/dist/gateway/static/root/assets/{index-XRbEWVyZ.js → index-DvKDT-RQ.js} +116 -116
  48. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-BGtrzFT6.js → keyboard-shortcuts-settings-mCs9cDgv.js} +1 -1
  49. package/dist/gateway/static/root/assets/{local-app-workbench-page-Cu80fCA0.js → local-app-workbench-page-B7AtlfWQ.js} +1 -1
  50. package/dist/gateway/static/root/assets/{local-apps-page-Zsu8FnwP.js → local-apps-page-CIJE7jME.js} +1 -1
  51. package/dist/gateway/static/root/assets/{local-session-drafts-BjwlkAKA.js → local-session-drafts-fhip41-L.js} +1 -1
  52. package/dist/gateway/static/root/assets/{locale-store-Djl2FW6_.js → locale-store-Jnhw2WMv.js} +1 -1
  53. package/dist/gateway/static/root/assets/{logs-page-DlIhfEW_.js → logs-page-HawXUKF2.js} +2 -2
  54. package/dist/gateway/static/root/assets/management-settings-DByEh6rq.js +1 -0
  55. package/dist/gateway/static/root/assets/{markdown-view-DyO7Q0Ms.js → markdown-view-B58RypQ4.js} +1 -1
  56. package/dist/gateway/static/root/assets/{media-plugins-Ba1_QMmZ.js → media-plugins-B8BLxQgj.js} +1 -1
  57. package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-CZjPT7xE.js +1 -0
  58. package/dist/gateway/static/root/assets/messages-DBvKzlCl.js +3 -0
  59. package/dist/gateway/static/root/assets/note-detail-panel-hQHB5fCs.js +5 -0
  60. package/dist/gateway/static/root/assets/notes-page-BEusEk31.js +8 -0
  61. package/dist/gateway/static/root/assets/{page-context-capture-button-BqNWtf_f.js → page-context-capture-button-42bq8N6-.js} +1 -1
  62. package/dist/gateway/static/root/assets/personal-page-DPR5gzhf.js +1 -0
  63. package/dist/gateway/static/root/assets/plugin-details-dialog-D8dKKIY9.js +1 -0
  64. package/dist/gateway/static/root/assets/plugin-presentation-BrQpVvjC.js +1 -0
  65. package/dist/gateway/static/root/assets/{preview-open-alternatives-kkbrbiVd.js → preview-open-alternatives-DKyLVLpX.js} +1 -1
  66. package/dist/gateway/static/root/assets/{product-open-page-Dheqo_4J.js → product-open-page-DcGH0AXN.js} +1 -1
  67. package/dist/gateway/static/root/assets/{product-preview-content-B9Y6dIuh.js → product-preview-content-Ck6OzP09.js} +1 -1
  68. package/dist/gateway/static/root/assets/project-detail-page-BHoQ10Eo.js +1 -0
  69. package/dist/gateway/static/root/assets/projects-page-DYsq_OLJ.js +1 -0
  70. package/dist/gateway/static/root/assets/{registry-api-BwR2CiR5.js → registry-api-BbUEMGcj.js} +1 -1
  71. package/dist/gateway/static/root/assets/remote-access-hub-CU3EChY0.js +1 -0
  72. package/dist/gateway/static/root/assets/{runtime-tools-api-C_VOMhLI.js → runtime-tools-api-D0xtCTXr.js} +1 -1
  73. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-BjyZGNP3.js → runtime-tools-settings-panel-Bfs5zKDg.js} +1 -1
  74. package/dist/gateway/static/root/assets/{schema-form-DelMOLjg.js → schema-form-BbI2BuSU.js} +1 -1
  75. package/dist/gateway/static/root/assets/{session-api-DbNNQps9.js → session-api-CAKgrbgz.js} +1 -1
  76. package/dist/gateway/static/root/assets/{session-manager-DfVviLTK.js → session-manager-D_N7qha7.js} +1 -1
  77. package/dist/gateway/static/root/assets/sessions-page-CjB2GOTs.js +1 -0
  78. package/dist/gateway/static/root/assets/settings-advanced-gate-jbVx8gcF.js +1 -0
  79. package/dist/gateway/static/root/assets/{settings-form-section-DNWEDA71.js → settings-form-section-BfBBJlr-.js} +1 -1
  80. package/dist/gateway/static/root/assets/{settings-page-DJ27gC7J.js → settings-page-9yu4SN1j.js} +1 -1
  81. package/dist/gateway/static/root/assets/setup-status-panel-DhWB3feW.js +1 -0
  82. package/dist/gateway/static/root/assets/{share-preview-page-Du4mumVM.js → share-preview-page-B6lQl5xb.js} +1 -1
  83. package/dist/gateway/static/root/assets/shares-settings-UJGjdz3F.js +1 -0
  84. package/dist/gateway/static/root/assets/{skill-api-zOxHjU7m.js → skill-api-y2m3k_R4.js} +1 -1
  85. package/dist/gateway/static/root/assets/skill-reload-api-Bk9FqsVa.js +1 -0
  86. package/dist/gateway/static/root/assets/skills-page-DLd4O-Fo.js +2 -0
  87. package/dist/gateway/static/root/assets/{style-DsnKw5jo.js → style-C2ptQg95.js} +1 -1
  88. package/dist/gateway/static/root/assets/{system-settings-panel-mz9hWo_H.js → system-settings-panel-DYzcLnVk.js} +1 -1
  89. package/dist/gateway/static/root/assets/task-detail-page-DLGtmHAH.js +2 -0
  90. package/dist/gateway/static/root/assets/{task-expandable-content-D3i_51Oc.js → task-expandable-content-HdEeV_0-.js} +1 -1
  91. package/dist/gateway/static/root/assets/{tracing-settings-page-aC-ziRbY.js → tracing-settings-page-DKQYmzFn.js} +1 -1
  92. package/dist/gateway/static/root/assets/{tunnel-api-Ch2Veztk.js → tunnel-api-C2VY_HTy.js} +1 -1
  93. package/dist/gateway/static/root/assets/usage-page-CjzunQtj.js +1 -0
  94. package/dist/gateway/static/root/assets/{use-autosave-BLW3t_OK.js → use-autosave-BElgnGMt.js} +1 -1
  95. package/dist/gateway/static/root/assets/user-model-page-DsOGCDTR.js +2 -0
  96. package/dist/gateway/static/root/assets/{voice-api-key-field-DulF6Cm4.js → voice-api-key-field-FVjX0qhn.js} +1 -1
  97. package/dist/gateway/static/root/assets/{voice-config-api-Ceo_hqZC.js → voice-config-api-T3nM4buh.js} +1 -1
  98. package/dist/gateway/static/root/assets/{work-discovery-overlay-bBMZM8tN.js → work-discovery-overlay-B2S2NZuK.js} +1 -1
  99. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-CsxXS1WI.js → workflow-run-setup-panel-2Gq34KQk.js} +2 -2
  100. package/dist/gateway/static/root/assets/workflows-page-CjeFD3mk.js +6 -0
  101. package/dist/gateway/static/root/assets/{xopc-cloud-account-card-wwIRBFCs.js → xopc-cloud-account-card-BZMIZxWg.js} +1 -1
  102. package/dist/gateway/static/root/index.html +15 -15
  103. package/dist/package.js +1 -1
  104. package/dist/src/agent/agent-manager.d.ts +8 -0
  105. package/dist/src/agent/agent-manager.js +3 -3
  106. package/dist/src/agent/background-review/run-background-review.js +1 -1
  107. package/dist/src/agent/embedded/codemode-extension.d.ts +1 -0
  108. package/dist/src/agent/embedded/codemode-extension.js +6 -1
  109. package/dist/src/agent/embedded/run-for-session.js +1 -1
  110. package/dist/src/agent/embedded/run-turn.js +34 -2
  111. package/dist/src/agent/embedded/session-runner.js +1 -1
  112. package/dist/src/agent/external-tools/cliProvider.js +2 -2
  113. package/dist/src/agent/external-tools/composio-provider.js +2 -2
  114. package/dist/src/agent/external-tools/endpoint-provider.js +2 -2
  115. package/dist/src/agent/mcp/config.d.ts +2 -0
  116. package/dist/src/agent/mcp/config.js +2 -2
  117. package/dist/src/agent/mcp/connection-setup.js +13 -1
  118. package/dist/src/agent/mcp/effective-server.d.ts +3 -0
  119. package/dist/src/agent/mcp/effective-server.js +27 -0
  120. package/dist/src/agent/mcp/native-mcp.d.ts +1 -1
  121. package/dist/src/agent/mcp/native-mcp.js +13 -4
  122. package/dist/src/agent/mcp/tool-catalog.js +2 -1
  123. package/dist/src/agent/service/process-direct-streaming.js +1 -1
  124. package/dist/src/agent/service.js +2 -2
  125. package/dist/src/agent/skills/index.d.ts +1 -0
  126. package/dist/src/agent/skills/index.js +7 -3
  127. package/dist/src/agent/skills/managed-store.js +1 -1
  128. package/dist/src/agent/skills/skill-manage-ops.js +1 -1
  129. package/dist/src/agent/skills/skill-manager.d.ts +1 -0
  130. package/dist/src/agent/skills/skill-manager.js +6 -1
  131. package/dist/src/agent/skills/skill-sources.d.ts +1 -0
  132. package/dist/src/agent/skills/skill-sources.js +4 -3
  133. package/dist/src/agent/skills/types.d.ts +1 -0
  134. package/dist/src/agent/tools/factory.js +1 -1
  135. package/dist/src/agent/tools/personal-read-tool.js +1 -1
  136. package/dist/src/agent/tools/xopc-use-tool.js +2 -2
  137. package/dist/src/agent/workspace-runtime/registry.js +7 -3
  138. package/dist/src/agent-catalog/capabilities.js +2 -2
  139. package/dist/src/automations/capabilities/drafts.js +1 -1
  140. package/dist/src/automations/service/action-executor.js +2 -2
  141. package/dist/src/bootstrap/application-state.js +1 -1
  142. package/dist/src/capabilities/runtime/dispatcher.js +1 -1
  143. package/dist/src/capabilities/runtime/product.js +1 -1
  144. package/dist/src/chat-commands/agent-edit.js +1 -1
  145. package/dist/src/cli/commands/agent.js +1 -1
  146. package/dist/src/cli/commands/agents.js +1 -1
  147. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  148. package/dist/src/cli/commands/extension-agent-plugin.js +92 -7
  149. package/dist/src/cli/commands/extension-marketplace.js +1 -1
  150. package/dist/src/cli/commands/extension.js +1 -1
  151. package/dist/src/cli/commands/mcp.js +6 -4
  152. package/dist/src/cli/commands/models.js +1 -1
  153. package/dist/src/cli/commands/onboard/model.js +1 -1
  154. package/dist/src/cli/utils/init-workspace-core.js +1 -1
  155. package/dist/src/config/agent-model-intents.js +1 -1
  156. package/dist/src/config/agent-profile.js +2 -2
  157. package/dist/src/config/loader.js +1 -1
  158. package/dist/src/config/models-json.js +1 -1
  159. package/dist/src/config/schema.js +2 -2
  160. package/dist/src/extensions/agent-plugins/auth.d.ts +7 -1
  161. package/dist/src/extensions/agent-plugins/auth.js +53 -12
  162. package/dist/src/extensions/agent-plugins/branding.d.ts +12 -0
  163. package/dist/src/extensions/agent-plugins/branding.js +54 -0
  164. package/dist/src/extensions/agent-plugins/cli-authorization.d.ts +33 -0
  165. package/dist/src/extensions/agent-plugins/cli-authorization.js +203 -0
  166. package/dist/src/extensions/agent-plugins/connection-reuse.d.ts +10 -0
  167. package/dist/src/extensions/agent-plugins/connection-reuse.js +23 -0
  168. package/dist/src/extensions/agent-plugins/credentials.js +24 -1
  169. package/dist/src/extensions/agent-plugins/formats.d.ts +27 -0
  170. package/dist/src/extensions/agent-plugins/formats.js +208 -0
  171. package/dist/src/extensions/agent-plugins/inventory.d.ts +154 -2
  172. package/dist/src/extensions/agent-plugins/inventory.js +40 -5
  173. package/dist/src/extensions/agent-plugins/mcp-adapter.d.ts +2 -1
  174. package/dist/src/extensions/agent-plugins/mcp-adapter.js +42 -8
  175. package/dist/src/extensions/agent-plugins/mcp-format.d.ts +2 -0
  176. package/dist/src/extensions/agent-plugins/mcp-format.js +82 -0
  177. package/dist/src/extensions/agent-plugins/resources.d.ts +14 -0
  178. package/dist/src/extensions/agent-plugins/resources.js +112 -0
  179. package/dist/src/extensions/agent-plugins/setup-contract.d.ts +74 -0
  180. package/dist/src/extensions/agent-plugins/setup-contract.js +77 -0
  181. package/dist/src/extensions/agent-plugins/setup.d.ts +127 -0
  182. package/dist/src/extensions/agent-plugins/setup.js +496 -0
  183. package/dist/src/extensions/agent-plugins/skill-catalog.d.ts +14 -0
  184. package/dist/src/extensions/agent-plugins/skill-catalog.js +95 -0
  185. package/dist/src/extensions/agent-plugins/source-catalog.d.ts +21 -0
  186. package/dist/src/extensions/agent-plugins/source-catalog.js +175 -0
  187. package/dist/src/extensions/agent-plugins/sources.d.ts +1 -1
  188. package/dist/src/extensions/agent-plugins/sources.js +12 -3
  189. package/dist/src/extensions/agent-plugins/store.d.ts +33 -2
  190. package/dist/src/extensions/agent-plugins/store.js +175 -25
  191. package/dist/src/extensions/agent-plugins/user-config.d.ts +5 -0
  192. package/dist/src/extensions/agent-plugins/user-config.js +49 -0
  193. package/dist/src/extensions/agent-plugins/validation.d.ts +26 -1
  194. package/dist/src/extensions/agent-plugins/validation.js +143 -28
  195. package/dist/src/gateway/agents-admin.js +2 -2
  196. package/dist/src/gateway/hono/lib/config-payload.js +1 -1
  197. package/dist/src/gateway/hono/routes/agent-plugins.js +121 -10
  198. package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
  199. package/dist/src/gateway/hono/routes/composer-history.js +22 -4
  200. package/dist/src/gateway/hono/routes/config-patch/misc.js +2 -2
  201. package/dist/src/gateway/hono/routes/connectors.js +1 -1
  202. package/dist/src/gateway/hono/routes/context-sources.js +1 -1
  203. package/dist/src/gateway/hono/routes/mcp.js +6 -4
  204. package/dist/src/gateway/hono/routes/notes.js +2 -2
  205. package/dist/src/gateway/hono/routes/projects.js +2 -2
  206. package/dist/src/gateway/hono/routes/session-input-handler.js +1 -1
  207. package/dist/src/gateway/hono/routes/tasks.js +1 -1
  208. package/dist/src/gateway/image-generation-setup.js +1 -1
  209. package/dist/src/gateway/lock.js +1 -1
  210. package/dist/src/gateway/service/marketplace-service.js +4 -2
  211. package/dist/src/gateway/service.js +8 -6
  212. package/dist/src/gateway/session-context-summary.js +1 -1
  213. package/dist/src/gateway/xopc-cloud-capability-setup.js +1 -1
  214. package/dist/src/home-intelligence/host.js +2 -2
  215. package/dist/src/local-apps/service.js +1 -1
  216. package/dist/src/personal-agent/proactivity/service.js +1 -1
  217. package/dist/src/personal-agent/service.js +2 -2
  218. package/dist/src/providers/model-catalog-persistence.js +1 -1
  219. package/dist/src/routing/resolve-route.js +1 -1
  220. package/dist/src/routing/resolve-tui-session-key.js +1 -1
  221. package/dist/src/storage/sqlite/composer-input-history-repository.d.ts +4 -3
  222. package/dist/src/storage/sqlite/composer-input-history-repository.js +10 -8
  223. package/dist/src/storage/sqlite/migrations/257_session_composer_history.sql +11 -0
  224. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  225. package/dist/src/storage/sqlite/migrations/runner.js +3 -3
  226. package/dist/src/storage/sqlite/schema.js +1 -1
  227. package/dist/src/tasks/capabilities/read.js +2 -2
  228. package/dist/src/tasks/capabilities/write.js +1 -1
  229. package/dist/src/tasks/task-handoff-service.js +1 -1
  230. package/dist/src/tui/backends/embedded-backend.d.ts +2 -2
  231. package/dist/src/tui/backends/embedded-backend.js +6 -6
  232. package/dist/src/tui/backends/gateway-realtime-backend.d.ts +2 -2
  233. package/dist/src/tui/backends/gateway-realtime-backend.js +7 -4
  234. package/dist/src/tui/composer-history.d.ts +14 -0
  235. package/dist/src/tui/composer-history.js +85 -0
  236. package/dist/src/tui/tui-backend.d.ts +4 -3
  237. package/dist/src/tui/tui.js +19 -46
  238. package/dist/src/voice/realtime/persona-context.js +1 -1
  239. package/package.json +12 -4
  240. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-D8Q9Cpge.js +0 -1
  241. package/dist/gateway/static/root/assets/agent-plugin-dialog-C-UKhDkS.js +0 -1
  242. package/dist/gateway/static/root/assets/agents-DOv68iBN.js +0 -77
  243. package/dist/gateway/static/root/assets/apps-page-Da6Ar2U3.js +0 -1
  244. package/dist/gateway/static/root/assets/automations-workspace-B9r27rPk.js +0 -6
  245. package/dist/gateway/static/root/assets/browser-automations-page-KLG8IXvl.js +0 -3
  246. package/dist/gateway/static/root/assets/browser-settings-page-Tcejw5fF.js +0 -3
  247. package/dist/gateway/static/root/assets/capabilities-page-BJlw9rhA.js +0 -2
  248. package/dist/gateway/static/root/assets/capabilities-settings-panel-kEvUR6Yu.js +0 -8
  249. package/dist/gateway/static/root/assets/channels-DRaE6_ub.js +0 -1
  250. package/dist/gateway/static/root/assets/computer-settings-page-B6JI2S1b.js +0 -1
  251. package/dist/gateway/static/root/assets/connectors-page-cDRZ8bqm.js +0 -1
  252. package/dist/gateway/static/root/assets/extension-page-BD4nZ9sf.js +0 -1
  253. package/dist/gateway/static/root/assets/extension-settings-page-CxPIMrmn.js +0 -1
  254. package/dist/gateway/static/root/assets/gateway-realtime-store-DQ6-whg-.js +0 -1
  255. package/dist/gateway/static/root/assets/gateway-settings-Da2CtQ7c.js +0 -1
  256. package/dist/gateway/static/root/assets/home-page-Cp4-sTfX.js +0 -2
  257. package/dist/gateway/static/root/assets/index-zIgp-ZTu.css +0 -1
  258. package/dist/gateway/static/root/assets/management-settings-CDV-xItG.js +0 -1
  259. package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-CpK57Kgp.js +0 -1
  260. package/dist/gateway/static/root/assets/messages-DPxcWxfD.js +0 -3
  261. package/dist/gateway/static/root/assets/note-detail-panel-BXi6BrXd.js +0 -5
  262. package/dist/gateway/static/root/assets/notes-page-ClR9R90o.js +0 -8
  263. package/dist/gateway/static/root/assets/personal-page-CSF-sn8w.js +0 -1
  264. package/dist/gateway/static/root/assets/project-detail-page-l5dXxnSq.js +0 -1
  265. package/dist/gateway/static/root/assets/projects-page-95Od8gLy.js +0 -1
  266. package/dist/gateway/static/root/assets/remote-access-hub-DPEpPFax.js +0 -1
  267. package/dist/gateway/static/root/assets/sessions-page-BN0nMm0w.js +0 -1
  268. package/dist/gateway/static/root/assets/settings-advanced-gate-BvfEKyfy.js +0 -1
  269. package/dist/gateway/static/root/assets/setup-status-panel-BWA_puDN.js +0 -1
  270. package/dist/gateway/static/root/assets/shares-settings-C0ixka9_.js +0 -1
  271. package/dist/gateway/static/root/assets/skill-reload-api-743oJIiS.js +0 -1
  272. package/dist/gateway/static/root/assets/skills-page-DBYhEjP9.js +0 -2
  273. package/dist/gateway/static/root/assets/task-detail-page-Brp2wrEc.js +0 -2
  274. package/dist/gateway/static/root/assets/usage-page-KfKZ2a3t.js +0 -1
  275. package/dist/gateway/static/root/assets/user-model-page-BSsT8WjA.js +0 -2
  276. package/dist/gateway/static/root/assets/workflows-page-a-mfjQ2h.js +0 -6
@@ -1,24 +1,42 @@
1
+ import { conversationIdSchema } from "../../../../packages/gateway-contract/src/conversation-identity.js";
2
+ import { init_src } from "../../../../packages/gateway-contract/src/index.js";
1
3
  import { appendComposerInputHistory, clearComposerInputHistory, listComposerInputHistory } from "../../../storage/sqlite/composer-input-history-repository.js";
4
+ import { getSessionMetadata } from "../../../storage/sqlite/session-read-repository.js";
5
+ import { init_session_repository } from "../../../storage/sqlite/session-repository.js";
2
6
  import { init_sqlite } from "../../../storage/sqlite/index.js";
3
7
  //#region src/gateway/hono/routes/composer-history.ts
8
+ init_src();
4
9
  init_sqlite();
10
+ init_session_repository();
5
11
  const MAX_TEXT_LENGTH = 1e5;
6
12
  function registerComposerHistoryRoutes(authenticated, deps) {
7
13
  authenticated.get("/api/composer-history", (c) => {
8
- return c.json({ items: listComposerInputHistory() });
14
+ const conversationId = c.req.query("conversationId");
15
+ if (!conversationId || !conversationIdSchema.safeParse(conversationId).success) return c.json({ error: "valid conversationId is required" }, 400);
16
+ if (!getSessionMetadata(conversationId)) return c.json({ error: "conversation not found" }, 404);
17
+ return c.json({ items: listComposerInputHistory(conversationId) });
9
18
  });
10
19
  authenticated.post("/api/composer-history", deps.chatRateLimitMiddleware, async (c) => {
11
20
  const body = await c.req.json().catch(() => null);
21
+ const conversationId = body?.conversationId;
22
+ if (typeof conversationId !== "string" || !conversationIdSchema.safeParse(conversationId).success) return c.json({ error: "valid conversationId is required" }, 400);
23
+ if (!getSessionMetadata(conversationId)) return c.json({ error: "conversation not found" }, 404);
12
24
  const text = body && typeof body === "object" && typeof body.text === "string" ? body.text.trim() : "";
13
25
  if (!text) return c.json({ error: "text is required" }, 400);
14
26
  if (text.length > MAX_TEXT_LENGTH) return c.json({ error: "text is too long" }, 413);
15
- const result = appendComposerInputHistory(text);
27
+ const result = appendComposerInputHistory(conversationId, text);
16
28
  if (result.inserted) deps.service.emit("composer-history.appended", result.item);
17
29
  return c.json(result);
18
30
  });
19
31
  authenticated.delete("/api/composer-history", deps.strictRateLimitMiddleware, (c) => {
20
- const cleared = clearComposerInputHistory();
21
- if (cleared > 0) deps.service.emit("composer-history.cleared", { cleared });
32
+ const conversationId = c.req.query("conversationId");
33
+ if (!conversationId || !conversationIdSchema.safeParse(conversationId).success) return c.json({ error: "valid conversationId is required" }, 400);
34
+ if (!getSessionMetadata(conversationId)) return c.json({ error: "conversation not found" }, 404);
35
+ const cleared = clearComposerInputHistory(conversationId);
36
+ if (cleared > 0) deps.service.emit("composer-history.cleared", {
37
+ conversationId,
38
+ cleared
39
+ });
22
40
  return c.json({
23
41
  ok: true,
24
42
  cleared
@@ -1,10 +1,10 @@
1
- import { BindingsSchema, init_binding_schema } from "../../../../routing/binding-schema.js";
2
- import { AgentCatalogService } from "../../../../agent-catalog/service.js";
3
1
  import { ContextPlanningConfigSchema, HomeIntelligenceConfigSchema, KnowledgeMemoryConfigSchema, UserContextConfigSchema, UserModelConfigSchema, init_config } from "../../../../user-context/config.js";
2
+ import { BindingsSchema, init_binding_schema } from "../../../../routing/binding-schema.js";
4
3
  import { ComputerConfigSchema, init_config as init_config$1 } from "../../../../computer/config.js";
5
4
  import { BrowserConfigSchema, McpConfigSchema, VoiceConfigSchema, init_schema } from "../../../../config/schema.js";
6
5
  import { CredentialResolver, init_credentials } from "../../../../auth/credentials.js";
7
6
  import { canonicalizeConfiguredMcpServer } from "../../../../config/mcp-config-normalize.js";
7
+ import { AgentCatalogService } from "../../../../agent-catalog/service.js";
8
8
  import { mergeGatewaySkillsMarketplacePatch, mergeSessionConfigPatch, mergeUpdateConfigPatch } from "../../../../config/web-patch.js";
9
9
  import { assertGatewayAuthConfigured, resolveGatewayAuth } from "../../../auth.js";
10
10
  import { isMaskedSecretPatchValue } from "../../lib/mask-secret-length.js";
@@ -6,9 +6,9 @@ import { getConnectorAccount, init_connector_account_repository, listConnectorAc
6
6
  import { decideConnectorApproval, getConnectorApproval, listConnectorApprovals, listConnectorConnections } from "../../../storage/sqlite/connector-repository.js";
7
7
  import { getConnectorSyncPolicy, upsertConnectorSyncPolicy } from "../../../storage/sqlite/connector-sync-policy-repository.js";
8
8
  import { init_sqlite } from "../../../storage/sqlite/index.js";
9
+ import { listUnderstandingSourceGrants, revokeUnderstandingSourceGrant } from "../../../user-context/sources/repository.js";
9
10
  import { AgentCatalogRepository, init_repository } from "../../../agent-catalog/repository.js";
10
11
  import { init_agent_scope, resolveDefaultAgentId } from "../../../agent/agent-scope.js";
11
- import { listUnderstandingSourceGrants, revokeUnderstandingSourceGrant } from "../../../user-context/sources/repository.js";
12
12
  import { activateComposioBackend, addComposioBackend, ensureComposioBackend, getComposioBackend, listComposioBackends, removeComposioBackend } from "../../../connectors/composio-backends.js";
13
13
  import { getAuthorizationAttempt } from "../../../connectors/authorization-attempts.js";
14
14
  import { ComposioSessionsAdapter, resolveComposioApiKey } from "../../../connectors/composio-sessions.js";
@@ -2,9 +2,9 @@ import { getSqliteDatabase, init_transaction } from "../../../storage/sqlite/tra
2
2
  import { getConnectorAccount } from "../../../storage/sqlite/connector-account-repository.js";
3
3
  import { countKnowledgeSourceItems, deleteKnowledgeSourceItems } from "../../../storage/sqlite/knowledge-repository.js";
4
4
  import { init_sqlite } from "../../../storage/sqlite/index.js";
5
- import { init_agent_scope, resolveDefaultAgentId } from "../../../agent/agent-scope.js";
6
5
  import { getActiveUnderstandingConsent } from "../../../user-context/sources/consent-repository.js";
7
6
  import { getUnderstandingSourceGrant, listUnderstandingSourceGrants, listUnderstandingSourceRuns, revokeUnderstandingSourceGrant, updateUnderstandingSourceGrantPolicies } from "../../../user-context/sources/repository.js";
7
+ import { init_agent_scope, resolveDefaultAgentId } from "../../../agent/agent-scope.js";
8
8
  import { listUserModelObservations } from "../../../user-model/observation-repository.js";
9
9
  import "../../../user-model/index.js";
10
10
  import { listConnectedContentCandidates, readConnectedContent } from "../../../connectors/content-enrichment.js";
@@ -2,6 +2,7 @@ import { getWorkspacePath } from "../../../config/workspace-path-helpers.js";
2
2
  import { isManagedConnectorServer } from "../../../connectors/materialize.js";
3
3
  import { loadMergedMcpConfig } from "../../../agent/mcp/config.js";
4
4
  import { getGatewayPrincipal } from "../../security/gateway-principal.js";
5
+ import { resolveMcpSetupConfig } from "../../../agent/mcp/effective-server.js";
5
6
  import { discoverMcpTools } from "../../../agent/mcp/tool-catalog.js";
6
7
  import { cancelMcpAuthorization, getMcpAuthorization, probeMcpConnection, startMcpAuthorization, submitMcpRedirect } from "../../../agent/mcp/connection-setup.js";
7
8
  import { McpConnectionDrafts, McpDraftError, mcpConfigRevision } from "../../../agent/mcp/connection-drafts.js";
@@ -66,8 +67,8 @@ function registerMcpRoutes(app, deps) {
66
67
  });
67
68
  }));
68
69
  app.post("/api/mcp/servers/:id/probe", deps.strictRateLimitMiddleware, async (c) => {
69
- const config = deps.service.currentConfig;
70
70
  const id = c.req.param("id");
71
+ const config = resolveMcpSetupConfig(deps.service.currentConfig, id);
71
72
  if (!Object.hasOwn(config.mcp?.servers ?? {}, id)) return c.json({
72
73
  ok: false,
73
74
  error: "MCP server not found."
@@ -79,8 +80,8 @@ function registerMcpRoutes(app, deps) {
79
80
  });
80
81
  });
81
82
  app.post("/api/mcp/servers/:id/auth", deps.strictRateLimitMiddleware, async (c) => {
82
- const config = deps.service.currentConfig;
83
83
  const id = c.req.param("id");
84
+ const config = resolveMcpSetupConfig(deps.service.currentConfig, id);
84
85
  if (!Object.hasOwn(config.mcp?.servers ?? {}, id)) return c.json({
85
86
  ok: false,
86
87
  error: "MCP server not found."
@@ -129,8 +130,8 @@ function registerMcpRoutes(app, deps) {
129
130
  }, 404);
130
131
  });
131
132
  app.post("/api/mcp/servers/:id/tools", deps.strictRateLimitMiddleware, async (c) => {
132
- const cfg = deps.service.currentConfig;
133
133
  const id = c.req.param("id");
134
+ const cfg = resolveMcpSetupConfig(deps.service.currentConfig, id);
134
135
  if (!Object.hasOwn(cfg.mcp?.servers ?? {}, id)) return c.json({
135
136
  ok: false,
136
137
  error: "MCP server not found."
@@ -155,7 +156,8 @@ function registerMcpRoutes(app, deps) {
155
156
  const cfg = deps.service.currentConfig;
156
157
  const merged = loadMergedMcpConfig({
157
158
  workspaceDir: getWorkspacePath(cfg) || "./workspace",
158
- cfg
159
+ cfg,
160
+ scope: "management"
159
161
  });
160
162
  return c.json({
161
163
  ok: true,
@@ -1,9 +1,9 @@
1
1
  import { NoteDeleteOutputSchema, NoteGetOutputSchema, ProductReadContracts } from "../../../../packages/gateway-contract/src/capabilities.js";
2
2
  import { init_src } from "../../../../packages/gateway-contract/src/index.js";
3
- import { CapabilityError } from "../../../capabilities/runtime/errors.js";
4
- import "../../../capabilities/runtime/dispatcher.js";
5
3
  import { init_session_key, resolveConversationId } from "../../../routing/session-key.js";
6
4
  import { agentExists, getDefaultAgentId, init_resolve_route } from "../../../routing/resolve-route.js";
5
+ import { CapabilityError } from "../../../capabilities/runtime/errors.js";
6
+ import "../../../capabilities/runtime/dispatcher.js";
7
7
  import { resolveGatewayEffectiveHost } from "../../../config/gateway-bind.js";
8
8
  import { getShareStore } from "../../../share/share-store.js";
9
9
  import { resolveShareUrl } from "../../../share/share-url.js";
@@ -7,12 +7,12 @@ import { loadTranscriptRowsForSession } from "../../../storage/sqlite/transcript
7
7
  import { init_sqlite } from "../../../storage/sqlite/index.js";
8
8
  import { ActivityService } from "../../../activity/service.js";
9
9
  import "../../../activity/index.js";
10
- import { CapabilityError } from "../../../capabilities/runtime/errors.js";
11
- import "../../../capabilities/runtime/dispatcher.js";
12
10
  import { listKnowledgeItems, writeKnowledgeItem } from "../../../knowledge-memory/repository.js";
13
11
  import "../../../knowledge-memory/index.js";
14
12
  import { resolveEffectiveAgentProfile } from "../../../config/agent-profile.js";
15
13
  import { TaskReadModelProjector } from "../../../tasks/task-read-model-projector.js";
14
+ import { CapabilityError } from "../../../capabilities/runtime/errors.js";
15
+ import "../../../capabilities/runtime/dispatcher.js";
16
16
  import { ProjectWorkspaceConflictError, ProjectWorkspaceMissingError } from "../../../projects/workspace-project.js";
17
17
  import { inferProjectExecutionMode, inferProjectKind } from "../../../projects/project-kind.js";
18
18
  import { ProjectDeletionBlockedError, ProjectWorkspaceInUseError } from "../../../projects/project-service.js";
@@ -5,9 +5,9 @@ import { endpointContextSchema } from "../../../../packages/gateway-contract/src
5
5
  import { parseUserTurnDocument, userTurnDocumentRefIds } from "../../../../packages/gateway-contract/src/user-turn-document.js";
6
6
  import { init_src } from "../../../../packages/gateway-contract/src/index.js";
7
7
  import { endpointTurnClaimSchema, init_src as init_src$1 } from "../../../../packages/endpoint-tools-protocol/src/index.js";
8
+ import { init_providers, resolveModel } from "../../../providers/index.js";
8
9
  import { CapabilityError } from "../../../capabilities/runtime/errors.js";
9
10
  import "../../../capabilities/runtime/dispatcher.js";
10
- import { init_providers, resolveModel } from "../../../providers/index.js";
11
11
  import { getModelThinking } from "../../../providers/model-thinking.js";
12
12
  import { parseTurnContextRefs } from "../../../agent/source-context/types.js";
13
13
  import { validateWebchatAttachments, validateWebchatContent } from "../../chat-limits.js";
@@ -6,9 +6,9 @@ import { hasGatewayScope, init_gateway_scopes } from "../../security/gateway-sco
6
6
  import { enqueueTaskChangedEvent, init_task_change_events } from "../../../tasks/task-change-events.js";
7
7
  import { TaskRepository, init_task_repository } from "../../../tasks/task-repository.js";
8
8
  import { TaskRunRepository, init_task_run_repository } from "../../../tasks/task-run-repository.js";
9
+ import { TaskConversationRepository } from "../../../tasks/task-conversation-repository.js";
9
10
  import { CapabilityError } from "../../../capabilities/runtime/errors.js";
10
11
  import "../../../capabilities/runtime/dispatcher.js";
11
- import { TaskConversationRepository } from "../../../tasks/task-conversation-repository.js";
12
12
  import { TaskCollaborationRepository } from "../../../tasks/task-collaboration-repository.js";
13
13
  import { TaskCriterionReviewRepository } from "../../../tasks/task-criterion-review-repository.js";
14
14
  import { TaskContextMutationOutputSchema } from "../../../tasks/capabilities/relations.js";
@@ -1,11 +1,11 @@
1
1
  import { normalizeAgentId } from "../agent-catalog/id.js";
2
2
  import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
3
3
  import { init_agent_scope } from "../agent/agent-scope.js";
4
- import { AgentCatalogService } from "../agent-catalog/service.js";
5
4
  import { resolveEffectiveAgentConfigForAgent } from "../config/agent-profile.js";
6
5
  import { ConfigSchema, init_schema } from "../config/schema.js";
7
6
  import { fetchWithTimeoutGuarded } from "../media-shared/http/provider-http.js";
8
7
  import "../media-shared/http/index.js";
8
+ import { AgentCatalogService } from "../agent-catalog/service.js";
9
9
  import { getImageGenerationProvider, listImageGenerationProvidersSummary } from "../agent/image/generation/provider-registry.js";
10
10
  //#region src/gateway/image-generation-setup.ts
11
11
  init_repository();
@@ -1,8 +1,8 @@
1
1
  import path from "node:path";
2
2
  import fs from "node:fs";
3
3
  import { createHash } from "node:crypto";
4
- import fs$1 from "node:fs/promises";
5
4
  import net from "node:net";
5
+ import fs$1 from "node:fs/promises";
6
6
  import { homedir } from "os";
7
7
  //#region src/gateway/lock.ts
8
8
  /**
@@ -10,6 +10,7 @@ import { resolveWorkspaceSkillsDir, resolveWorkspaceSkillsLockPath } from "../..
10
10
  import { getExtensionLockfileManager } from "../../extensions/lockfile.js";
11
11
  import { AgentPluginStore } from "../../extensions/agent-plugins/store.js";
12
12
  import { normalizeSkillInstallTarget } from "../../agent/skills/install-target.js";
13
+ import { pluginSkillPreview, withPluginSkillCatalog } from "../../extensions/agent-plugins/skill-catalog.js";
13
14
  import { isAgentPluginArchive, withAgentPluginArchive } from "../../extensions/agent-plugins/sources.js";
14
15
  import { existsSync, rmSync } from "node:fs";
15
16
  //#region src/gateway/service/marketplace-service.ts
@@ -52,7 +53,7 @@ var GatewayMarketplaceService = class {
52
53
  getSkillsApi() {
53
54
  const snapshot = this.opts.getAgentService().getSkillCatalogSnapshot();
54
55
  return {
55
- catalog: snapshot.catalog,
56
+ catalog: withPluginSkillCatalog(snapshot.catalog),
56
57
  managed: listManagedSkillDirs(),
57
58
  version: snapshot.version,
58
59
  loadedAt: snapshot.loadedAt,
@@ -82,9 +83,10 @@ var GatewayMarketplaceService = class {
82
83
  return this.opts.getAgentService().setSessionWorkspaceTrust(conversationId, trusted);
83
84
  }
84
85
  getSkillMarkdownSource(skillName) {
85
- return this.opts.getAgentService().getSkillMarkdownSource(skillName);
86
+ return this.opts.getAgentService().getSkillMarkdownSource(skillName) ?? pluginSkillPreview(skillName);
86
87
  }
87
88
  deleteSkill(skillId, target) {
89
+ if (this.getSkillsApi().catalog.find((row) => row.name === skillId)?.origin.startsWith("plugin:")) throw new Error("This skill belongs to a plugin. Manage or uninstall the owning plugin instead.");
88
90
  const requestedTarget = target ? this.resolveInstallTarget(target) : void 0;
89
91
  const workspaceTarget = requestedTarget ?? this.resolveInstallTarget("workspace");
90
92
  try {
@@ -20,13 +20,13 @@ import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js
20
20
  import { init_session_repository, listSessionMetadata, patchSessionMetadata } from "../storage/sqlite/session-repository.js";
21
21
  import { getSessionConfig, init_config_repository } from "../storage/sqlite/config-repository.js";
22
22
  import { init_sqlite } from "../storage/sqlite/index.js";
23
- import { normalizeAgentId } from "../agent-catalog/id.js";
24
- import { init_agent_scope, listAgentEntries, resolveAgentWorkspaceDir, resolveDefaultAgentId } from "../agent/agent-scope.js";
25
23
  import { listKnowledgeItems } from "../knowledge-memory/repository.js";
26
24
  import { init_config, resolveKnowledgeReadPolicy } from "../user-context/config.js";
27
25
  import { init_agent_session_key, resolveAgentMainConversationId } from "../routing/agent-session-key.js";
28
26
  import { init_session_key, resolveConversationId, sanitizeSegment } from "../routing/session-key.js";
29
27
  import "../knowledge-memory/index.js";
28
+ import { normalizeAgentId } from "../agent-catalog/id.js";
29
+ import { init_agent_scope, listAgentEntries, resolveAgentWorkspaceDir, resolveDefaultAgentId } from "../agent/agent-scope.js";
30
30
  import { getDefaultAgentId, init_resolve_route } from "../routing/resolve-route.js";
31
31
  import { resolveEffectiveAgentProfileForSession } from "../config/agent-profile.js";
32
32
  import { getAgentDefaultModelRef, init_schema } from "../config/schema.js";
@@ -103,10 +103,6 @@ import { DiscussionSealer } from "../discussions/sealer.js";
103
103
  import "../discussions/index.js";
104
104
  import { EndpointToolRuntime } from "../endpoint-tools/runtime.js";
105
105
  import "../endpoint-tools/index.js";
106
- import { HomeCapabilityPreflightService } from "../home-intelligence/capability-preflight.js";
107
- import { HomeAdviceGenerator } from "../home-intelligence/generator.js";
108
- import { HomeIntelligenceHost } from "../home-intelligence/host.js";
109
- import { HomeSnapshotBuilder } from "../home-intelligence/snapshot.js";
110
106
  import { assertGatewayAuthConfigured, extractToken, resolveGatewayAuth, validateToken } from "./auth.js";
111
107
  import { prepareAutomationAgentSession } from "./automation-agent-session.js";
112
108
  import { stopTailscaleExposure } from "./tailscale-lifecycle.js";
@@ -167,6 +163,10 @@ import { TaskMainUpdateDecisionService } from "../tasks/task-main-update-decisio
167
163
  import { selectTaskMainUpdateAttempt, submitAndConfirmTaskMainUpdate } from "../tasks/task-main-update-input.js";
168
164
  import { checkAppContextAccess, prepareAppContext } from "./service/app-context-access.js";
169
165
  import { applyAutomaticVoiceLanguage, inferProductLanguageFromEnvironment, initializeVoiceDefaults } from "../voice/language-profile.js";
166
+ import { HomeAdviceGenerator } from "../home-intelligence/generator.js";
167
+ import { HomeIntelligenceHost } from "../home-intelligence/host.js";
168
+ import { HomeSnapshotBuilder } from "../home-intelligence/snapshot.js";
169
+ import { HomeCapabilityPreflightService } from "../home-intelligence/capability-preflight.js";
170
170
  import crypto from "node:crypto";
171
171
  //#region src/gateway/service.ts
172
172
  init_session_repository();
@@ -1572,6 +1572,8 @@ var GatewayService = class {
1572
1572
  await flushTracing();
1573
1573
  if (!this.running) return;
1574
1574
  this.stopping = true;
1575
+ const { cancelAllPluginCliAuthorizations } = await import("../extensions/agent-plugins/cli-authorization.js");
1576
+ cancelAllPluginCliAuthorizations();
1575
1577
  this.taskAllocationDispatcher?.stop();
1576
1578
  this.taskRunDispatcher?.stop();
1577
1579
  if (this.taskRunDispatchTimer) {
@@ -11,8 +11,8 @@ import { effectiveWorkspacePathForSession } from "../session/session-workspace.j
11
11
  import { ProjectStore } from "../projects/project-store.js";
12
12
  import { TaskOriginRepository } from "../tasks/task-origin-repository.js";
13
13
  import { TaskConversationRepository } from "../tasks/task-conversation-repository.js";
14
- import { TaskCollaborationRepository } from "../tasks/task-collaboration-repository.js";
15
14
  import { runExec } from "../infra/exec.js";
15
+ import { TaskCollaborationRepository } from "../tasks/task-collaboration-repository.js";
16
16
  import { isSessionSourceBinding } from "../agent/source-context/types.js";
17
17
  import { realpath, stat } from "node:fs/promises";
18
18
  //#region src/gateway/session-context-summary.ts
@@ -1,13 +1,13 @@
1
1
  import "../agent-config/schema.js";
2
2
  import { init_agent_config } from "../agent-config/index.js";
3
3
  import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
4
- import { AgentCatalogService } from "../agent-catalog/service.js";
5
4
  import { ConfigSchema, init_schema } from "../config/schema.js";
6
5
  import { init_model_policy, isComputerModel, isDedicatedComputerProfile } from "../computer/model-policy.js";
7
6
  import { voiceSupportsMode } from "../../packages/realtime-protocol/src/voice-catalog.js";
8
7
  import { init_voice } from "../../packages/realtime-protocol/src/voice.js";
9
8
  import { getModelCatalogStore, init_model_catalog_store } from "../providers/model-catalog-store.js";
10
9
  import { compareCatalogModels } from "../providers/model-catalog-ranking.js";
10
+ import { AgentCatalogService } from "../agent-catalog/service.js";
11
11
  import { prepareUpdateGlobalDefaults } from "./global-defaults-admin.js";
12
12
  //#region src/gateway/xopc-cloud-capability-setup.ts
13
13
  init_voice();
@@ -1,10 +1,10 @@
1
1
  import { createLogger } from "../utils/logger/index.js";
2
2
  import { init_logger } from "../utils/logger.js";
3
+ import { HomeAdviceBudgetExceededError, isHomeProseLocalized } from "./generator.js";
3
4
  import { homePatternKey } from "./strategy.js";
5
+ import { HomeAdvicePolicy } from "./policy.js";
4
6
  import { HomeIntelligenceRepository } from "./repository.js";
5
7
  import { HomeOpportunityApplicationService } from "./application-service.js";
6
- import { HomeAdvicePolicy } from "./policy.js";
7
- import { HomeAdviceBudgetExceededError, isHomeProseLocalized } from "./generator.js";
8
8
  import { buildHomeOpportunityNotification } from "./notification.js";
9
9
  import { createHash } from "node:crypto";
10
10
  //#region src/home-intelligence/host.ts
@@ -5,10 +5,10 @@ import { currentOperationId, init_operation_context } from "../infra/operation-c
5
5
  import { afterSqliteCommit, init_transaction, runSqliteWriteTransaction } from "../storage/sqlite/transaction.js";
6
6
  import { ExtensionCapabilityBindingsSchema, extensionCapabilityPermissions } from "../../packages/gateway-contract/src/extension-capabilities.js";
7
7
  import { init_src } from "../../packages/gateway-contract/src/index.js";
8
- import { CapabilityError } from "../capabilities/runtime/errors.js";
9
8
  import { init_paths, resolveExtensionsDir } from "../config/paths.js";
10
9
  import { slugifyProjectName } from "../projects/project-store.js";
11
10
  import { LocalAppStore } from "./store.js";
11
+ import { CapabilityError } from "../capabilities/runtime/errors.js";
12
12
  import { DomainOutboxDispatcher } from "../infra/domain-outbox-dispatcher.js";
13
13
  import { validateLocalAppCapabilityContracts } from "./capabilities/contracts.js";
14
14
  import { buildLocalAppFixGuidance } from "./fix-guidance.js";
@@ -5,8 +5,8 @@ import { PersonalProactiveMessageSchema } from "../../../packages/gateway-contra
5
5
  import { init_src } from "../../../packages/gateway-contract/src/index.js";
6
6
  import { init_session_instance_repository, readCurrentTranscriptId } from "../../storage/sqlite/session-instance-repository.js";
7
7
  import { appendTranscriptEntry, init_transcript_repository } from "../../storage/sqlite/transcript-repository.js";
8
- import { AgentCatalogRepository, init_repository } from "../../agent-catalog/repository.js";
9
8
  import { resolveUserContextSessionAccess } from "../../user-context/access-policy.js";
9
+ import { AgentCatalogRepository, init_repository } from "../../agent-catalog/repository.js";
10
10
  import { init_providers, resolveModel } from "../../providers/index.js";
11
11
  import { completeWithResolvedCredentials } from "../../providers/model-call.js";
12
12
  import { extractAssistantText, getAssistantMessageErrorReason, stripCodeFences } from "../../providers/model-response.js";
@@ -1,16 +1,16 @@
1
1
  import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js";
2
2
  import { init_session_repository, patchSessionMetadata } from "../storage/sqlite/session-repository.js";
3
3
  import { init_config_repository, setSessionConfig } from "../storage/sqlite/config-repository.js";
4
+ import { createConversation, init_conversation_repository } from "../storage/sqlite/conversation-repository.js";
4
5
  import { ResponsePreferencesSchema } from "../agent-config/schema.js";
5
6
  import { init_agent_config } from "../agent-config/index.js";
6
7
  import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
7
- import { AgentCatalogService } from "../agent-catalog/service.js";
8
- import { createConversation, init_conversation_repository } from "../storage/sqlite/conversation-repository.js";
9
8
  import { getAvailableModels, init_providers } from "../providers/index.js";
10
9
  import { DEFAULT_PERSONAL_PREFERENCES, getPersonalAgent, personalAgentId } from "./repository.js";
11
10
  import { PERSONAL_MAIN_TOOL_IDS, PERSONAL_READ_TOOL_ALIASES } from "./policy.js";
12
11
  import { getModelThinking } from "../providers/model-thinking.js";
13
12
  import { personalInstructions, upgradePersonalInstructions } from "./prompts.js";
13
+ import { AgentCatalogService } from "../agent-catalog/service.js";
14
14
  import { completePersonalOnboarding } from "./onboarding.js";
15
15
  import { z } from "zod";
16
16
  //#region src/personal-agent/service.ts
@@ -1,7 +1,7 @@
1
1
  import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
2
2
  import { init_paths_state, resolveXopcCloudCatalogCachePath } from "../config/paths-state.js";
3
- import { init_write_file_atomic, writeTextAtomic } from "../infra/write-file-atomic.js";
4
3
  import { ComputerProfileSchema, init_src } from "../../packages/computer-control-contract/src/index.js";
4
+ import { init_write_file_atomic, writeTextAtomic } from "../infra/write-file-atomic.js";
5
5
  import { ImageGenerationCapabilitiesSchema, init_models_json } from "../config/models-json.js";
6
6
  import { voiceManifestSchema } from "../../packages/realtime-protocol/src/voice-catalog.js";
7
7
  import { init_voice } from "../../packages/realtime-protocol/src/voice.js";
@@ -1,9 +1,9 @@
1
1
  import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
2
- import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
3
2
  import { init_account_id, normalizeAccountId } from "./account-id.js";
4
3
  import { getConversationRouting } from "../storage/sqlite/conversation-repository.js";
5
4
  import { init_agent_session_key, resolveAgentPeerConversationId } from "./agent-session-key.js";
6
5
  import { init_session_key, resolveConversationId } from "./session-key.js";
6
+ import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
7
7
  import { init_bindings, parseBindingRules, resolveRoute as resolveRoute$1 } from "./bindings.js";
8
8
  //#region src/routing/resolve-route.ts
9
9
  /**
@@ -1,8 +1,8 @@
1
1
  import { validateConversationId } from "../../packages/gateway-contract/src/conversation-identity.js";
2
2
  import { init_src } from "../../packages/gateway-contract/src/index.js";
3
+ import { init_agent_session_key, normalizeAgentId } from "./agent-session-key.js";
3
4
  import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
4
5
  import { init_agent_scope, listAgentEntries, resolveAgentIdByWorkspacePath, resolveDefaultAgentId } from "../agent/agent-scope.js";
5
- import { init_agent_session_key, normalizeAgentId } from "./agent-session-key.js";
6
6
  import { randomUUID } from "node:crypto";
7
7
  //#region src/routing/resolve-tui-session-key.ts
8
8
  init_src();
@@ -1,12 +1,13 @@
1
1
  export declare const COMPOSER_INPUT_HISTORY_LIMIT = 100;
2
2
  export interface ComposerInputHistoryItem {
3
+ conversationId: string;
3
4
  id: number;
4
5
  text: string;
5
6
  createdAt: number;
6
7
  }
7
- export declare function listComposerInputHistory(limit?: number): ComposerInputHistoryItem[];
8
- export declare function appendComposerInputHistory(text: string, now?: number): {
8
+ export declare function listComposerInputHistory(conversationId: string, limit?: number): ComposerInputHistoryItem[];
9
+ export declare function appendComposerInputHistory(conversationId: string, text: string, now?: number): {
9
10
  item: ComposerInputHistoryItem;
10
11
  inserted: boolean;
11
12
  };
12
- export declare function clearComposerInputHistory(): number;
13
+ export declare function clearComposerInputHistory(conversationId: string): number;
@@ -3,30 +3,32 @@ import { getSqliteDatabase, init_transaction, runSqliteWriteTransaction } from "
3
3
  //#region src/storage/sqlite/composer-input-history-repository.ts
4
4
  function fromRow(row) {
5
5
  return {
6
+ conversationId: row.conversation_id,
6
7
  id: row.id,
7
8
  text: row.text,
8
9
  createdAt: row.created_at
9
10
  };
10
11
  }
11
- function listComposerInputHistory(limit = 100) {
12
+ function listComposerInputHistory(conversationId, limit = 100) {
12
13
  const boundedLimit = Number.isFinite(limit) ? Math.min(100, Math.max(1, Math.trunc(limit))) : 100;
13
- return getSqliteDatabase().prepare("SELECT id, text, created_at FROM composer_input_history ORDER BY id DESC LIMIT ?").all(boundedLimit).map(fromRow);
14
+ return getSqliteDatabase().prepare("SELECT conversation_id, id, text, created_at FROM composer_input_history WHERE conversation_id = ? ORDER BY id DESC LIMIT ?").all(conversationId, boundedLimit).map(fromRow);
14
15
  }
15
- function appendComposerInputHistory(text, now = Date.now()) {
16
+ function appendComposerInputHistory(conversationId, text, now = Date.now()) {
16
17
  const normalized = text.trim();
17
18
  if (!normalized) throw new Error("Composer history text is required");
18
19
  return runSqliteWriteTransaction((db) => {
19
- const latest = db.prepare("SELECT id, text, created_at FROM composer_input_history ORDER BY id DESC LIMIT 1").get();
20
+ const latest = db.prepare("SELECT conversation_id, id, text, created_at FROM composer_input_history WHERE conversation_id = ? ORDER BY id DESC LIMIT 1").get(conversationId);
20
21
  if (latest?.text === normalized) return {
21
22
  item: fromRow(latest),
22
23
  inserted: false
23
24
  };
24
- const result = db.prepare("INSERT INTO composer_input_history (text, created_at) VALUES (?, ?)").run(normalized, now);
25
+ const result = db.prepare("INSERT INTO composer_input_history (conversation_id, text, created_at) VALUES (?, ?, ?)").run(conversationId, normalized, now);
25
26
  const id = Number(result.lastInsertRowid);
26
27
  db.prepare(`DELETE FROM composer_input_history
27
- WHERE id NOT IN (SELECT id FROM composer_input_history ORDER BY id DESC LIMIT ?)`).run(100);
28
+ WHERE conversation_id = ? AND id NOT IN (SELECT id FROM composer_input_history WHERE conversation_id = ? ORDER BY id DESC LIMIT ?)`).run(conversationId, conversationId, 100);
28
29
  return {
29
30
  item: {
31
+ conversationId,
30
32
  id,
31
33
  text: normalized,
32
34
  createdAt: now
@@ -35,8 +37,8 @@ function appendComposerInputHistory(text, now = Date.now()) {
35
37
  };
36
38
  });
37
39
  }
38
- function clearComposerInputHistory() {
39
- return Number(runSqliteWriteTransaction((db) => db.prepare("DELETE FROM composer_input_history").run().changes));
40
+ function clearComposerInputHistory(conversationId) {
41
+ return Number(runSqliteWriteTransaction((db) => db.prepare("DELETE FROM composer_input_history WHERE conversation_id = ?").run(conversationId).changes));
40
42
  }
41
43
  var COMPOSER_INPUT_HISTORY_LIMIT;
42
44
  var init_composer_input_history_repository = __esmMin((() => {
@@ -0,0 +1,11 @@
1
+ -- Keep unscoped legacy entries out of session recall.
2
+ ALTER TABLE composer_input_history RENAME TO composer_input_history_legacy;
3
+ DROP INDEX idx_composer_input_history_recent;
4
+ CREATE TABLE composer_input_history (
5
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
6
+ conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
7
+ text TEXT NOT NULL,
8
+ created_at INTEGER NOT NULL
9
+ );
10
+ CREATE INDEX idx_composer_input_history_recent
11
+ ON composer_input_history(conversation_id, id DESC);
@@ -3,7 +3,7 @@ import type { ApplyMigrationsOptions } from './types.js';
3
3
  /** Baseline schema version applied from schema.sql on first open. */
4
4
  export declare const XOPC_DB_BASELINE_SCHEMA_VERSION = 217;
5
5
  /** Latest schema version this release supports (increment when adding migrations). */
6
- export declare const XOPC_DB_SCHEMA_VERSION = 256;
6
+ export declare const XOPC_DB_SCHEMA_VERSION = 257;
7
7
  export declare function resolveMigrationsDir(override?: string): string;
8
8
  /**
9
9
  * Apply sequential SQL migrations from (currentVersion + 1) through targetVersion.
@@ -48,7 +48,7 @@ function applySingleMigration(db, migration) {
48
48
  function applyPendingMigrations(db, options = {}) {
49
49
  db.function("xopc_memory_search_text", { deterministic: true }, (value) => memorySearchText(String(value ?? "")));
50
50
  db.function("xopc_operation_id", () => currentOperationId() ?? null);
51
- const targetVersion = options.targetVersion ?? 256;
51
+ const targetVersion = options.targetVersion ?? 257;
52
52
  let currentVersion = readSchemaVersion(db);
53
53
  if (currentVersion > targetVersion) throw new DatabaseSchemaTooNewError(currentVersion, targetVersion);
54
54
  if (!options.migrationsDir && currentVersion < 217) throw new DatabaseSchemaTooOldError(currentVersion, 217);
@@ -65,7 +65,7 @@ function applyPendingMigrations(db, options = {}) {
65
65
  }
66
66
  /** Inspect schema version without mutating the database. */
67
67
  function inspectSchemaMigrationStatus(db, options = {}) {
68
- const appVersion = options.targetVersion ?? 256;
68
+ const appVersion = options.targetVersion ?? 257;
69
69
  const dbVersion = readSchemaVersion(db);
70
70
  if (dbVersion > appVersion) return {
71
71
  dbVersion,
@@ -105,7 +105,7 @@ var init_runner = __esmMin((() => {
105
105
  init_errors();
106
106
  log = createLogger("Sqlite:Migrations");
107
107
  XOPC_DB_BASELINE_SCHEMA_VERSION = 217;
108
- XOPC_DB_SCHEMA_VERSION = 256;
108
+ XOPC_DB_SCHEMA_VERSION = 257;
109
109
  }));
110
110
  //#endregion
111
111
  init_runner();
@@ -26,7 +26,7 @@ function ensureXopcDatabaseSchema(db) {
26
26
  bootstrapFreshDatabase(db);
27
27
  currentVersion = 217;
28
28
  }
29
- applyPendingMigrations(db, { targetVersion: 256 });
29
+ applyPendingMigrations(db, { targetVersion: 257 });
30
30
  }
31
31
  var init_schema = __esmMin((() => {
32
32
  init_sql_assets();
@@ -2,10 +2,10 @@ import { ProductReadContracts } from "../../../packages/gateway-contract/src/cap
2
2
  import { init_src } from "../../../packages/gateway-contract/src/index.js";
3
3
  import { TaskRepository, init_task_repository } from "../task-repository.js";
4
4
  import { TaskRunRepository, init_task_run_repository } from "../task-run-repository.js";
5
- import { CapabilityError } from "../../capabilities/runtime/errors.js";
6
- import { defineReadCapability } from "../../capabilities/runtime/dispatcher.js";
7
5
  import { TaskReadModelProjector } from "../task-read-model-projector.js";
8
6
  import { TaskConversationRepository } from "../task-conversation-repository.js";
7
+ import { CapabilityError } from "../../capabilities/runtime/errors.js";
8
+ import { defineReadCapability } from "../../capabilities/runtime/dispatcher.js";
9
9
  import { TaskContextRepository } from "../task-context-repository.js";
10
10
  import { TaskDependencyService } from "../task-dependency-service.js";
11
11
  import { TaskCriterionReviewRepository } from "../task-criterion-review-repository.js";
@@ -2,9 +2,9 @@ import { TaskCommandRequestSchema, TaskCreateRequestSchema, TaskDetailResponseSc
2
2
  import { init_src } from "../../../packages/gateway-contract/src/index.js";
3
3
  import { TaskRepository, init_task_repository } from "../task-repository.js";
4
4
  import { TaskRunRepository, init_task_run_repository } from "../task-run-repository.js";
5
+ import { resolveTaskLocale } from "../task-language.js";
5
6
  import { CapabilityError } from "../../capabilities/runtime/errors.js";
6
7
  import { defineAtomicCapability } from "../../capabilities/runtime/dispatcher.js";
7
- import { resolveTaskLocale } from "../task-language.js";
8
8
  import { resolveProjectAgentId } from "../../projects/project-agent.js";
9
9
  import { resolveResponseLanguageForSession } from "../../agent/prompt/response-language.js";
10
10
  import { TaskApplicationService } from "../task-application-service.js";
@@ -2,9 +2,9 @@ import { createLogger } from "../utils/logger/index.js";
2
2
  import { init_logger } from "../utils/logger.js";
3
3
  import { TaskRepository, init_task_repository } from "./task-repository.js";
4
4
  import { TaskRunRepository, init_task_run_repository } from "./task-run-repository.js";
5
+ import { init_session_key, resolveConversationId, sanitizeSegment } from "../routing/session-key.js";
5
6
  import { normalizeAgentId } from "../agent-catalog/id.js";
6
7
  import { init_agent_scope, listAgentEntries } from "../agent/agent-scope.js";
7
- import { init_session_key, resolveConversationId, sanitizeSegment } from "../routing/session-key.js";
8
8
  import { TaskConversationRepository } from "./task-conversation-repository.js";
9
9
  import { TaskContextRepository } from "./task-context-repository.js";
10
10
  //#region src/tasks/task-handoff-service.ts
@@ -36,9 +36,9 @@ export declare class EmbeddedBackend implements TuiBackend {
36
36
  onDisconnected?: (reason: string) => void;
37
37
  constructor(opts?: EmbeddedBackendOptions);
38
38
  get connectionLabel(): string;
39
- getComposerInputHistory(): Promise<TuiComposerHistoryItem[]>;
39
+ getComposerInputHistory(conversationId: string): Promise<TuiComposerHistoryItem[]>;
40
40
  getComposerDraftDirectory(): Promise<string>;
41
- recordComposerInputHistory(text: string): Promise<TuiComposerHistoryItem>;
41
+ recordComposerInputHistory(conversationId: string, text: string): Promise<TuiComposerHistoryItem>;
42
42
  start(): void;
43
43
  private ensureAgent;
44
44
  private createAgent;