@xopcai/xopc 0.0.377 → 0.0.378

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 (245) hide show
  1. package/dist/browser-ext/_locales/en/messages.json +1 -0
  2. package/dist/browser-ext/_locales/zh_CN/messages.json +1 -0
  3. package/dist/browser-ext/dist/sidepanel.js +36 -9
  4. package/dist/browser-ext/manifest.json +1 -1
  5. package/dist/extensions/telegram/xopc.extension.json +1 -1
  6. package/dist/gateway/static/root/assets/{activity-store-BVtU6S1w.js → activity-store-Xnu0H9yx.js} +1 -1
  7. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-BD63ce58.js → agent-avatar-dicebear-sKMpwYNC.js} +1 -1
  8. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-DLrGOiCS.js +1 -0
  9. package/dist/gateway/static/root/assets/agent-plugin-dialog-CxZeGEuL.js +1 -0
  10. package/dist/gateway/static/root/assets/agents-CUnG8q3J.js +66 -0
  11. package/dist/gateway/static/root/assets/{agents-admin-api-DgQph1Pu.js → agents-admin-api-DFBVz3bV.js} +1 -1
  12. package/dist/gateway/static/root/assets/{app-management-settings-panel-B0yP8rNC.js → app-management-settings-panel-CWqbEntC.js} +1 -1
  13. package/dist/gateway/static/root/assets/{appearance-settings-Bnq1nzDX.js → appearance-settings-QznCLnam.js} +1 -1
  14. package/dist/gateway/static/root/assets/{apps-page-CSIFuEnj.js → apps-page-wbVq-6PP.js} +1 -1
  15. package/dist/gateway/static/root/assets/{archive-plugin-FBVMH4ym.js → archive-plugin-BclI5H7-.js} +1 -1
  16. package/dist/gateway/static/root/assets/{automations-page-qsg6pZlF.js → automations-page-CTKIwPAS.js} +1 -1
  17. package/dist/gateway/static/root/assets/automations-workspace-BblZP4ft.js +6 -0
  18. package/dist/gateway/static/root/assets/{binary-plugins-B0qGhVNs.js → binary-plugins-D9FwadCs.js} +1 -1
  19. package/dist/gateway/static/root/assets/{block-editor-CjQv4zlo.js → block-editor-Dqqtybdf.js} +39 -39
  20. package/dist/gateway/static/root/assets/{browser-automation-inputs-DSbRHrG7.js → browser-automation-inputs-FGALoJY8.js} +1 -1
  21. package/dist/gateway/static/root/assets/{browser-automations-page-CzEWM_ie.js → browser-automations-page-hQbQFWl-.js} +2 -2
  22. package/dist/gateway/static/root/assets/browser-settings-page-DQvfXaeq.js +3 -0
  23. package/dist/gateway/static/root/assets/{capabilities-HaRLmYU1.js → capabilities-CQuaJBPv.js} +1 -1
  24. package/dist/gateway/static/root/assets/{capabilities-LpGa-olH.js → capabilities-ClI4hof_.js} +1 -1
  25. package/dist/gateway/static/root/assets/{capabilities-page-BeQ-Yj3_.js → capabilities-page-CbPvaNJF.js} +2 -2
  26. package/dist/gateway/static/root/assets/capabilities-settings-panel-CjApEiV4.js +8 -0
  27. package/dist/gateway/static/root/assets/{capability-header-actions-DuBac0EK.js → capability-header-actions-XMz78V4c.js} +1 -1
  28. package/dist/gateway/static/root/assets/channels-CJUz97Cw.js +1 -0
  29. package/dist/gateway/static/root/assets/{chat-terminal-dock-CQc1mqZM.js → chat-terminal-dock-Dr3rujcs.js} +2 -2
  30. package/dist/gateway/static/root/assets/{computer-settings-page-BIwOemaK.js → computer-settings-page-G2lMB7CR.js} +1 -1
  31. package/dist/gateway/static/root/assets/{connector-service-page-CG9KKuXq.js → connector-service-page-Cne5MBuz.js} +1 -1
  32. package/dist/gateway/static/root/assets/connectors-page-CbxL6ENI.js +1 -0
  33. package/dist/gateway/static/root/assets/{date-picker-DoZGE2hF.js → date-picker-yGmnkoC5.js} +1 -1
  34. package/dist/gateway/static/root/assets/{dependency-picker-hrz7p1Lv.js → dependency-picker-CdKC_TNa.js} +1 -1
  35. package/dist/gateway/static/root/assets/{desktop-pet-C1bTu_dG.js → desktop-pet-C4d305Me.js} +1 -1
  36. package/dist/gateway/static/root/assets/{desktop-pet-settings-C2xCFimg.js → desktop-pet-settings-hCS9Mddt.js} +1 -1
  37. package/dist/gateway/static/root/assets/{device-pairing-wizard-CZ5Wmq5U.js → device-pairing-wizard-C6qeCyfO.js} +1 -1
  38. package/dist/gateway/static/root/assets/{directory-picker-path-field-BaHQhI4z.js → directory-picker-path-field-kYdBIm8m.js} +1 -1
  39. package/dist/gateway/static/root/assets/{extension-debug-page-B1uMVNGe.js → extension-debug-page-odpIjn1q.js} +1 -1
  40. package/dist/gateway/static/root/assets/{extension-page-850m5tOc.js → extension-page-C6Jn5baO.js} +1 -1
  41. package/dist/gateway/static/root/assets/{extension-provider-B-_CkaD2.js → extension-provider-DB4M3dc8.js} +1 -1
  42. package/dist/gateway/static/root/assets/{extension-settings-page-P3FNAW0n.js → extension-settings-page-Clx81lZy.js} +1 -1
  43. package/dist/gateway/static/root/assets/{fallback-models-BoJZA9Cm.js → fallback-models-pBVU4PxA.js} +1 -1
  44. package/dist/gateway/static/root/assets/{gateway-config-swr-siY2J0hx.js → gateway-config-swr-ArYo4YFd.js} +1 -1
  45. package/dist/gateway/static/root/assets/{gateway-realtime-Biz18NiE.js → gateway-realtime-BaE0shFY.js} +1 -1
  46. package/dist/gateway/static/root/assets/gateway-realtime-store-CHAa_VNb.js +1 -0
  47. package/dist/gateway/static/root/assets/gateway-settings-BcSr6MzW.js +1 -0
  48. package/dist/gateway/static/root/assets/{gateway-startup-retry-CeL1OFDZ.js → gateway-startup-retry-BRCCiCBH.js} +1 -1
  49. package/dist/gateway/static/root/assets/home-page-CKeRXki2.js +2 -0
  50. package/dist/gateway/static/root/assets/{image-generation-api-CeDrok06.js → image-generation-api-B5FwRmo9.js} +1 -1
  51. package/dist/gateway/static/root/assets/{imports-page-C9FTl2dW.js → imports-page-7s8jzc2G.js} +1 -1
  52. package/dist/gateway/static/root/assets/index-B3BVcMQj.js +106 -0
  53. package/dist/gateway/static/root/assets/index-BU0KqtLI.css +1 -0
  54. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-Dx-36I-c.js → keyboard-shortcuts-settings-CyFSxteg.js} +1 -1
  55. package/dist/gateway/static/root/assets/{local-app-workbench-page-Cg4gdTwm.js → local-app-workbench-page-B-hYeH8P.js} +1 -1
  56. package/dist/gateway/static/root/assets/{local-apps-page-3GKgu7at.js → local-apps-page-CFt8G-ae.js} +1 -1
  57. package/dist/gateway/static/root/assets/{local-session-drafts-DnSw14fE.js → local-session-drafts-CLR702g5.js} +1 -1
  58. package/dist/gateway/static/root/assets/{locale-store-DSsLH7JO.js → locale-store-CeoW7A5a.js} +1 -1
  59. package/dist/gateway/static/root/assets/{logs-page-CApZnDPi.js → logs-page-BQ9AzAj9.js} +2 -2
  60. package/dist/gateway/static/root/assets/{management-settings-DcgCzPd-.js → management-settings-BDuuXJ5t.js} +1 -1
  61. package/dist/gateway/static/root/assets/{markdown-view-2rwSrMXW.js → markdown-view-CdqdeQqI.js} +1 -1
  62. package/dist/gateway/static/root/assets/{media-plugins-CjGiKLFo.js → media-plugins-hqKbHVyi.js} +1 -1
  63. package/dist/gateway/static/root/assets/{messages-Cn25s55n.js → messages-BpEhZm54.js} +2 -2
  64. package/dist/gateway/static/root/assets/models-hub-cache-D0yA-nf6.js +1 -0
  65. package/dist/gateway/static/root/assets/note-detail-panel-G_6LpTik.js +5 -0
  66. package/dist/gateway/static/root/assets/{notes-api-D9fGUbkK.js → notes-api-B0QQSN4M.js} +1 -1
  67. package/dist/gateway/static/root/assets/notes-page-kBo3rUvj.js +8 -0
  68. package/dist/gateway/static/root/assets/{page-context-capture-button-CKqYL9AQ.js → page-context-capture-button-Dp1RoS6x.js} +1 -1
  69. package/dist/gateway/static/root/assets/personal-page-Bf07rfSd.js +1 -0
  70. package/dist/gateway/static/root/assets/{product-open-page-DFu_ZT2h.js → product-open-page-DZyCQVVW.js} +1 -1
  71. package/dist/gateway/static/root/assets/{product-preview-content-tPBCFa7L.js → product-preview-content-CrfIfrVJ.js} +1 -1
  72. package/dist/gateway/static/root/assets/project-detail-page-C3wJ8U07.js +1 -0
  73. package/dist/gateway/static/root/assets/projects-page-DZ98gcjB.js +1 -0
  74. package/dist/gateway/static/root/assets/{registry-api-ZhIt79wL.js → registry-api-Dzl61MkW.js} +1 -1
  75. package/dist/gateway/static/root/assets/remote-access-hub-BvhaF5Pi.js +1 -0
  76. package/dist/gateway/static/root/assets/runtime-tools-api-Cg9dqJon.js +5 -0
  77. package/dist/gateway/static/root/assets/runtime-tools-settings-panel-oEdBs0He.js +1 -0
  78. package/dist/gateway/static/root/assets/{scenes-page-7LjR8Aek.js → scenes-page-CVlz-PiN.js} +2 -2
  79. package/dist/gateway/static/root/assets/{schema-form-GwVc8KsT.js → schema-form-DIC8IlM1.js} +1 -1
  80. package/dist/gateway/static/root/assets/{send-session-input-B64q4_6R.js → send-session-input-C449pdoe.js} +1 -1
  81. package/dist/gateway/static/root/assets/{session-api-BUa3BaGX.js → session-api-CVHFZq_A.js} +1 -1
  82. package/dist/gateway/static/root/assets/{session-manager-BWLIDok4.js → session-manager-CKFTwYtq.js} +2 -2
  83. package/dist/gateway/static/root/assets/sessions-page-DtB119_G.js +1 -0
  84. package/dist/gateway/static/root/assets/settings-advanced-gate-2ciK8mPP.js +1 -0
  85. package/dist/gateway/static/root/assets/{settings-page-DAvi3P8Q.js → settings-page-CN0_Np6E.js} +1 -1
  86. package/dist/gateway/static/root/assets/setup-status-panel-VtNv07PN.js +1 -0
  87. package/dist/gateway/static/root/assets/{share-link-dialog-CbkS1cj-.js → share-link-dialog-C0gKFt8r.js} +1 -1
  88. package/dist/gateway/static/root/assets/{share-preview-page-DicRCB4L.js → share-preview-page-DxQ6yfYv.js} +1 -1
  89. package/dist/gateway/static/root/assets/{shares-api-BUGeqXCG.js → shares-api-tR66Fdly.js} +1 -1
  90. package/dist/gateway/static/root/assets/{shares-settings-Bbkz0xuD.js → shares-settings-C_ZOqMjz.js} +1 -1
  91. package/dist/gateway/static/root/assets/{skill-api-DpTUuYWk.js → skill-api-BFhU0NNu.js} +1 -1
  92. package/dist/gateway/static/root/assets/{skill-reload-api-CII18PA5.js → skill-reload-api-D_04Mpcb.js} +1 -1
  93. package/dist/gateway/static/root/assets/skills-page-4-d-lfhq.js +2 -0
  94. package/dist/gateway/static/root/assets/{system-settings-panel-DlNaQp-l.js → system-settings-panel-DHhaFWty.js} +1 -1
  95. package/dist/gateway/static/root/assets/{task-detail-page-DeElbs6T.js → task-detail-page-CHBEI5uz.js} +2 -2
  96. package/dist/gateway/static/root/assets/{task-expandable-content-sONbgbwR.js → task-expandable-content-AGJtkFIu.js} +1 -1
  97. package/dist/gateway/static/root/assets/{theme-store-Kz0VUMSb.js → theme-store-DezB9Sal.js} +1 -1
  98. package/dist/gateway/static/root/assets/{tracing-settings-page-CZHhm1Nn.js → tracing-settings-page-BEHmd2wL.js} +1 -1
  99. package/dist/gateway/static/root/assets/{tunnel-api-sUbAaSX6.js → tunnel-api-Bbb_6pV4.js} +1 -1
  100. package/dist/gateway/static/root/assets/usage-page-BEiWznDq.js +1 -0
  101. package/dist/gateway/static/root/assets/{use-autosave-CZzYhcAl.js → use-autosave-BtTE5X_M.js} +1 -1
  102. package/dist/gateway/static/root/assets/{use-composer-attachments-Bb_Hqqry.js → use-composer-attachments-BBHrVqB7.js} +1 -1
  103. package/dist/gateway/static/root/assets/{use-file-preview-expanded-D4WI5JDn.js → use-file-preview-expanded-CQmLEkdj.js} +2 -2
  104. package/dist/gateway/static/root/assets/user-model-page-B4Gwo5T7.js +2 -0
  105. package/dist/gateway/static/root/assets/{voice-api-key-field-CIIGmtHR.js → voice-api-key-field-tQsUdQnu.js} +1 -1
  106. package/dist/gateway/static/root/assets/{voice-config-api-BtWFziQc.js → voice-config-api-69Yqf0QM.js} +1 -1
  107. package/dist/gateway/static/root/assets/work-discovery-overlay-Cvf8u31v.js +1 -0
  108. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-Be_Rey6d.js → workflow-run-setup-panel-CqYp6zjF.js} +2 -2
  109. package/dist/gateway/static/root/assets/workflows-page-DMzGl3CE.js +6 -0
  110. package/dist/gateway/static/root/assets/{workspace-api-B5ssQs4p.js → workspace-api-Bu6Csrxf.js} +2 -2
  111. package/dist/gateway/static/root/assets/xopc-cloud-account-card-D3Cyk8pp.js +1 -0
  112. package/dist/gateway/static/root/index.html +27 -27
  113. package/dist/package.js +1 -1
  114. package/dist/src/agent/agent-manager.js +3 -3
  115. package/dist/src/agent/background-review/run-background-review.js +1 -1
  116. package/dist/src/agent/embedded/execution-tool-policy.d.ts +14 -0
  117. package/dist/src/agent/embedded/execution-tool-policy.js +41 -0
  118. package/dist/src/agent/embedded/run-for-session.js +6 -4
  119. package/dist/src/agent/embedded/run-turn.js +18 -1
  120. package/dist/src/agent/embedded/session-runner.d.ts +3 -0
  121. package/dist/src/agent/embedded/session-runner.js +29 -8
  122. package/dist/src/agent/embedded/types.d.ts +2 -0
  123. package/dist/src/agent/external-tools/endpoint-provider.js +2 -2
  124. package/dist/src/agent/service/process-direct-streaming.js +1 -1
  125. package/dist/src/agent/service.js +3 -2
  126. package/dist/src/agent/skills/index.js +1 -1
  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/tools/factory.js +15 -14
  130. package/dist/src/agent/tools/knowledge-memory-tool.js +5 -4
  131. package/dist/src/agent/tools/local-read-budget.d.ts +2 -0
  132. package/dist/src/agent/tools/local-read-budget.js +5 -0
  133. package/dist/src/agent/tools/media-read-tool.js +2 -1
  134. package/dist/src/agent/tools/personal-read-tool.js +34 -10
  135. package/dist/src/agent/tools/read.js +5 -2
  136. package/dist/src/agent/tools/session-recall-tool.d.ts +1 -0
  137. package/dist/src/agent/tools/session-recall-tool.js +53 -12
  138. package/dist/src/agent/tools/session-search-tool.js +34 -8
  139. package/dist/src/agent/tools/user-context-tool.js +5 -4
  140. package/dist/src/agent/tools/xopc-use-tool.js +2 -2
  141. package/dist/src/agent/workspace-runtime/registry.js +1 -1
  142. package/dist/src/agent-catalog/capabilities.js +2 -2
  143. package/dist/src/automations/capabilities/drafts.js +1 -1
  144. package/dist/src/automations/service/action-executor.js +1 -1
  145. package/dist/src/bootstrap/application-state.js +1 -1
  146. package/dist/src/browser/native-messaging-host.js +1 -1
  147. package/dist/src/browser/providers/browser-ext-install.js +2 -2
  148. package/dist/src/capabilities/runtime/dispatcher.js +1 -1
  149. package/dist/src/capabilities/runtime/product.js +1 -1
  150. package/dist/src/chat-commands/agent-edit.js +1 -1
  151. package/dist/src/cli/bin.js +2 -2
  152. package/dist/src/cli/commands/agent.js +3 -3
  153. package/dist/src/cli/commands/agents.js +1 -1
  154. package/dist/src/cli/commands/auth.js +1 -1
  155. package/dist/src/cli/commands/extension-agent-plugin.js +1 -1
  156. package/dist/src/cli/commands/extension-dev.js +1 -1
  157. package/dist/src/cli/commands/extension-marketplace.js +1 -1
  158. package/dist/src/cli/commands/extension.js +1 -1
  159. package/dist/src/cli/commands/gateway/lifecycle.js +1 -1
  160. package/dist/src/cli/commands/gateway-ssh-tunnel.js +1 -1
  161. package/dist/src/cli/commands/import.js +1 -1
  162. package/dist/src/cli/commands/mcp.js +2 -2
  163. package/dist/src/cli/commands/models.js +3 -3
  164. package/dist/src/cli/commands/onboard/model.js +3 -3
  165. package/dist/src/cli/commands/onboard.js +1 -1
  166. package/dist/src/cli/commands/platform.js +1 -1
  167. package/dist/src/cli/commands/profile.js +1 -1
  168. package/dist/src/cli/commands/tunnel.js +1 -1
  169. package/dist/src/cli/commands/update.js +1 -1
  170. package/dist/src/cli/extension-cli-register.js +1 -1
  171. package/dist/src/cli/utils/init-workspace-core.js +1 -1
  172. package/dist/src/config/agent-profile.js +2 -2
  173. package/dist/src/config/index.js +1 -1
  174. package/dist/src/config/loader.js +1 -1
  175. package/dist/src/config/models-json.js +1 -1
  176. package/dist/src/config/schema.js +1 -1
  177. package/dist/src/extensions/agent-plugins/validation.js +1 -1
  178. package/dist/src/gateway/agents-admin.js +2 -2
  179. package/dist/src/gateway/hono/app.js +1 -1
  180. package/dist/src/gateway/hono/lib/config-payload.js +1 -1
  181. package/dist/src/gateway/hono/routes/browser-install.js +1 -1
  182. package/dist/src/gateway/hono/routes/config-patch/misc.js +2 -2
  183. package/dist/src/gateway/hono/routes/connectors.js +1 -1
  184. package/dist/src/gateway/hono/routes/context-sources.js +1 -1
  185. package/dist/src/gateway/hono/routes/notes.js +2 -2
  186. package/dist/src/gateway/hono/routes/projects.js +2 -2
  187. package/dist/src/gateway/hono/routes/session-input-handler.js +1 -1
  188. package/dist/src/gateway/hono/routes/tasks.js +1 -1
  189. package/dist/src/gateway/image-generation-setup.js +1 -1
  190. package/dist/src/gateway/lock.js +1 -1
  191. package/dist/src/gateway/run-loop.js +1 -1
  192. package/dist/src/gateway/server.js +1 -1
  193. package/dist/src/gateway/service.js +2 -2
  194. package/dist/src/gateway/xopc-cloud-capability-setup.js +1 -1
  195. package/dist/src/local-apps/service.js +1 -1
  196. package/dist/src/personal-agent/policy.js +4 -4
  197. package/dist/src/personal-agent/proactivity/service.js +1 -1
  198. package/dist/src/personal-agent/prompt-context.js +3 -3
  199. package/dist/src/personal-agent/prompts.js +3 -0
  200. package/dist/src/personal-agent/service.js +2 -2
  201. package/dist/src/providers/model-catalog-persistence.js +1 -1
  202. package/dist/src/providers/prompt-cache-payload.js +2 -3
  203. package/dist/src/providers/prompt-cache-plan.d.ts +1 -0
  204. package/dist/src/providers/prompt-cache-plan.js +2 -2
  205. package/dist/src/routing/resolve-route.js +1 -1
  206. package/dist/src/routing/resolve-tui-session-key.js +1 -1
  207. package/dist/src/session/store.d.ts +1 -0
  208. package/dist/src/storage/sqlite/device-pairing-approval.js +1 -1
  209. package/dist/src/storage/sqlite/transcript-repository.d.ts +1 -0
  210. package/dist/src/storage/sqlite/transcript-repository.js +5 -3
  211. package/dist/src/tasks/capabilities/read.js +2 -2
  212. package/dist/src/tasks/task-handoff-service.js +1 -1
  213. package/dist/src/tui/backends/embedded-backend.js +2 -2
  214. package/dist/src/voice/realtime/persona-context.js +1 -1
  215. package/package.json +4 -4
  216. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-Ch07F4uX.js +0 -1
  217. package/dist/gateway/static/root/assets/agent-plugin-dialog-CdCVOg5e.js +0 -1
  218. package/dist/gateway/static/root/assets/agents-D2__mhy8.js +0 -66
  219. package/dist/gateway/static/root/assets/automations-workspace-DqBWLl61.js +0 -6
  220. package/dist/gateway/static/root/assets/browser-settings-page-CsDck88G.js +0 -3
  221. package/dist/gateway/static/root/assets/capabilities-settings-panel-BQ-I3L-C.js +0 -8
  222. package/dist/gateway/static/root/assets/channels-1wUJcCxP.js +0 -1
  223. package/dist/gateway/static/root/assets/connectors-page-BFzjGpKE.js +0 -1
  224. package/dist/gateway/static/root/assets/gateway-realtime-store-BazlseY_.js +0 -1
  225. package/dist/gateway/static/root/assets/gateway-settings-BG1zXG8B.js +0 -1
  226. package/dist/gateway/static/root/assets/home-page-B8RmZbDw.js +0 -2
  227. package/dist/gateway/static/root/assets/index-CGVecvp4.css +0 -1
  228. package/dist/gateway/static/root/assets/index-DU5FmDQh.js +0 -106
  229. package/dist/gateway/static/root/assets/models-hub-cache-DaqiLHPe.js +0 -1
  230. package/dist/gateway/static/root/assets/note-detail-panel-CncL3xmy.js +0 -5
  231. package/dist/gateway/static/root/assets/notes-page-D9romxNU.js +0 -8
  232. package/dist/gateway/static/root/assets/personal-page-DoG-2fru.js +0 -1
  233. package/dist/gateway/static/root/assets/project-detail-page-C9Bt5toA.js +0 -1
  234. package/dist/gateway/static/root/assets/projects-page-Bu3jZa3A.js +0 -1
  235. package/dist/gateway/static/root/assets/remote-access-hub-C9MNGl2t.js +0 -1
  236. package/dist/gateway/static/root/assets/runtime-tools-settings-panel-BYQuPsWk.js +0 -5
  237. package/dist/gateway/static/root/assets/sessions-page-CzbNB_RT.js +0 -1
  238. package/dist/gateway/static/root/assets/settings-advanced-gate-CmNe5RJ4.js +0 -1
  239. package/dist/gateway/static/root/assets/setup-status-panel-DoAn6P_k.js +0 -1
  240. package/dist/gateway/static/root/assets/skills-page-BuBSAOOd.js +0 -2
  241. package/dist/gateway/static/root/assets/usage-page-NPLApyNj.js +0 -1
  242. package/dist/gateway/static/root/assets/user-model-page-DAEiJzNV.js +0 -2
  243. package/dist/gateway/static/root/assets/work-discovery-overlay-DxRDLQvs.js +0 -1
  244. package/dist/gateway/static/root/assets/workflows-page-wJk7l1_H.js +0 -6
  245. package/dist/gateway/static/root/assets/xopc-cloud-account-card-D7Rtu5eI.js +0 -1
@@ -92,6 +92,9 @@ async function executeReadFile(workspace, options, params, signal) {
92
92
  let outputText = truncation.content;
93
93
  if (truncation.truncated) if (truncation.firstLineExceedsLimit) outputText = `(Line exceeds ${formatSize(maxOutputBytes)})`;
94
94
  else outputText += options?.maxReadBytes ? `\n\n[File excerpt only. Tell the user briefly and delegate full reading and processing. Path: ${normalized}]` : `\n\n[Lines ${offset}-${offset + truncation.outputLines - 1} of ${lines.length}; continue with offset=${offset + truncation.outputLines}]`;
95
+ const bounded = Boolean(options?.maxReadBytes && outputText.length > maxOutputBytes);
96
+ if (bounded) outputText = outputText.slice(0, Math.max(0, maxOutputBytes - 61)) + "\n[File excerpt only; delegate full analysis to a specialist.]";
97
+ const truncated = truncation.truncated || bounded;
95
98
  return {
96
99
  content: [{
97
100
  type: "text",
@@ -101,8 +104,8 @@ async function executeReadFile(workspace, options, params, signal) {
101
104
  path: normalized,
102
105
  offset,
103
106
  totalLines: lines.length,
104
- truncated: truncation.truncated,
105
- ...options?.maxReadBytes && truncation.truncated ? {
107
+ truncated,
108
+ ...options?.maxReadBytes && truncated ? {
106
109
  requiresSpecialist: true,
107
110
  reason: "large_file"
108
111
  } : {}
@@ -3,5 +3,6 @@ import type { SessionStore } from '../../session/store.js';
3
3
  export interface SessionRecallToolDeps {
4
4
  getSessionStore: () => SessionStore;
5
5
  getCurrentConversationId: () => string | undefined;
6
+ maxOutputChars?: number;
6
7
  }
7
8
  export declare function createSessionRecallTool(deps: SessionRecallToolDeps): AgentTool;
@@ -50,28 +50,69 @@ function createSessionRecallTool(deps) {
50
50
  const query = input.query.trim();
51
51
  const limit = Math.min(20, Math.max(1, input.limit ?? 8));
52
52
  const maxChars = Math.min(2e4, Math.max(500, input.maxCharsPerResult ?? 6e3));
53
- const results = deps.getSessionStore().recallSession(conversationId, query, {
53
+ const matches = deps.getSessionStore().recallSession(conversationId, query, {
54
54
  limit,
55
- ...input.beforeSeq ? { beforeSeq: input.beforeSeq } : {}
56
- }).map((match) => ({
55
+ ...input.beforeSeq ? { beforeSeq: input.beforeSeq } : {},
56
+ ...deps.maxOutputChars ? { orderBySeq: true } : {}
57
+ });
58
+ if (deps.maxOutputChars) matches.sort((a, b) => b.seq - a.seq);
59
+ const results = matches.map((match) => ({
57
60
  seq: match.seq,
58
61
  entryId: match.entryId,
59
62
  role: match.role,
60
63
  createdAt: new Date(match.createdAt).toISOString(),
61
- content: excerpt(match.content, query, maxChars)
64
+ content: excerpt(match.content, query, maxChars),
65
+ ...deps.maxOutputChars ? { truncated: match.content.length > maxChars } : {}
62
66
  }));
63
- const nextBeforeSeq = results.length === limit ? Math.min(...results.map((result) => result.seq)) : void 0;
64
- const payload = {
65
- success: true,
66
- query,
67
- results,
68
- count: results.length,
69
- ...nextBeforeSeq ? { nextBeforeSeq } : {}
67
+ const payloadFor = () => {
68
+ const nextBeforeSeq = results.length && (results.length < matches.length || matches.length === limit) ? Math.min(...results.map((result) => result.seq)) : void 0;
69
+ return {
70
+ success: true,
71
+ query,
72
+ results,
73
+ count: results.length,
74
+ ...deps.maxOutputChars ? {
75
+ excerpts: true,
76
+ truncated: results.length < matches.length || results.some((result) => result.truncated)
77
+ } : {},
78
+ ...nextBeforeSeq ? { nextBeforeSeq } : {}
79
+ };
70
80
  };
81
+ let payload = payloadFor();
82
+ let text = JSON.stringify(payload, null, 2);
83
+ if (deps.maxOutputChars) {
84
+ while (text.length > deps.maxOutputChars && results.length) {
85
+ if (results.length > 1) results.pop();
86
+ else if (results[0].content.length > 100) {
87
+ const match = matches[0];
88
+ results[0].content = excerpt(match.content, query, Math.floor(results[0].content.length / 2));
89
+ results[0].truncated = true;
90
+ } else break;
91
+ payload = payloadFor();
92
+ text = JSON.stringify(payload, null, 2);
93
+ }
94
+ if (text.length > deps.maxOutputChars) return {
95
+ content: [{
96
+ type: "text",
97
+ text: JSON.stringify({
98
+ query: query.slice(0, 500),
99
+ conversationId,
100
+ requiresSpecialist: true,
101
+ complete: false,
102
+ reason: "large_transcript",
103
+ guidance: "Delegate a complete read using the conversation ID and query."
104
+ })
105
+ }],
106
+ details: {
107
+ requiresSpecialist: true,
108
+ complete: false
109
+ }
110
+ };
111
+ }
71
112
  return {
72
113
  content: [{
73
114
  type: "text",
74
- text: JSON.stringify(payload, null, 2)
115
+ text
75
116
  }],
76
117
  details: payload
77
118
  };
@@ -3,6 +3,7 @@ import { init_logger } from "../../utils/logger.js";
3
3
  import { init_providers, resolveModel } from "../../providers/index.js";
4
4
  import { completeWithResolvedCredentials } from "../../providers/model-call.js";
5
5
  import { readAgentMessageContent } from "../memory/agent-message-access.js";
6
+ import "./local-read-budget.js";
6
7
  import { Type } from "@sinclair/typebox";
7
8
  //#region src/agent/tools/session-search-tool.ts
8
9
  init_providers();
@@ -92,7 +93,13 @@ function createSessionSearchTool(deps) {
92
93
  name: "session_search",
93
94
  label: "Session search",
94
95
  description: deps.localOnly ? "Search other chats locally and return short matching transcript excerpts. Omit query to list recent chats. No model or network calls." : "Search other chat sessions by keywords and get short summaries, or omit `query` to list recent sessions (no LLM cost). Uses the same session store as the gateway. Narrow with roleFilter if needed.",
95
- parameters: SessionSearchSchema,
96
+ parameters: deps.localOnly ? Type.Object({
97
+ ...SessionSearchSchema.properties,
98
+ query: Type.Optional(Type.String({
99
+ maxLength: 500,
100
+ description: "Keywords for other chats; omit to list recent chats."
101
+ }))
102
+ }) : SessionSearchSchema,
96
103
  supportsParallel: true,
97
104
  idempotent: true,
98
105
  async execute(_toolCallId, params, signal) {
@@ -104,9 +111,16 @@ function createSessionSearchTool(deps) {
104
111
  details: { error: "cross_session_history_disabled" }
105
112
  };
106
113
  const p = params;
107
- const store = deps.getSessionStore();
108
114
  const limit = Math.min(deps.localOnly ? 5 : 15, Math.max(1, p.limit ?? (deps.localOnly ? 3 : 5)));
109
115
  const query = p.query?.trim() ?? "";
116
+ if (deps.localOnly && query.length > 500) return {
117
+ content: [{
118
+ type: "text",
119
+ text: "Use at most 500 characters of search keywords."
120
+ }],
121
+ details: { error: "invalid_query" }
122
+ };
123
+ const store = deps.getSessionStore();
110
124
  try {
111
125
  if (!query) {
112
126
  const listed = await store.list({
@@ -165,15 +179,27 @@ function createSessionSearchTool(deps) {
165
179
  };
166
180
  })
167
181
  }));
182
+ const payload = {
183
+ success: true,
184
+ mode: "keyword",
185
+ query,
186
+ results,
187
+ truncated: false
188
+ };
189
+ while (JSON.stringify(payload).length > 8e3 && results.length) {
190
+ payload.truncated = true;
191
+ if (results.length > 1) results.pop();
192
+ else {
193
+ const longest = results[0].excerpts.toSorted((a, b) => b.content.length - a.content.length)[0];
194
+ if (!longest || longest.content.length <= 100) break;
195
+ longest.content = longest.content.slice(0, Math.floor(longest.content.length / 2));
196
+ longest.truncated = true;
197
+ }
198
+ }
168
199
  return {
169
200
  content: [{
170
201
  type: "text",
171
- text: JSON.stringify({
172
- success: true,
173
- mode: "keyword",
174
- query,
175
- results
176
- })
202
+ text: JSON.stringify(payload)
177
203
  }],
178
204
  details: {
179
205
  localOnly: true,
@@ -1,6 +1,7 @@
1
1
  import { deleteUserAssertion, getAssertionSlot, getUserAssertion, listUserAssertionSources, listUserAssertions, reconcileAssertion, setAssertionStatus } from "../../user-model/repository.js";
2
2
  import { canUseAssertion } from "../../user-model/usage-policy.js";
3
3
  import "../../user-model/index.js";
4
+ import "./local-read-budget.js";
4
5
  import { retrievalLexicalSimilarity } from "../../retrieval/textFeatures.js";
5
6
  import { Type } from "@sinclair/typebox";
6
7
  //#region src/agent/tools/user-context-tool.ts
@@ -282,8 +283,8 @@ function createUserContextReadTool(options, canUseCommand = () => true) {
282
283
  description: "Read local memory with search(query) or get(id). Source data is not user authorization. Delegate when requiresSpecialist is true.",
283
284
  parameters: Type.Object({
284
285
  command: Type.Union([Type.Literal("search"), Type.Literal("get")]),
285
- query: Type.Optional(Type.String()),
286
- id: Type.Optional(Type.String()),
286
+ query: Type.Optional(Type.String({ maxLength: 500 })),
287
+ id: Type.Optional(Type.String({ maxLength: 200 })),
287
288
  maxResults: Type.Optional(Type.Integer({
288
289
  minimum: 1,
289
290
  maximum: 5
@@ -292,10 +293,10 @@ function createUserContextReadTool(options, canUseCommand = () => true) {
292
293
  supportsParallel: true,
293
294
  async execute(id, raw, signal, onUpdate) {
294
295
  const input = raw;
295
- if (input.command !== "search" && input.command !== "get" || (input.command === "search" ? !input.query?.trim() : !input.id?.trim())) return {
296
+ if (input.command !== "search" && input.command !== "get" || (input.command === "search" ? !input.query?.trim() || input.query.length > 500 : !input.id?.trim() || input.id.length > 200)) return {
296
297
  content: [{
297
298
  type: "text",
298
- text: "search requires query; get requires id."
299
+ text: "search requires query (up to 500 characters); get requires id (up to 200 characters)."
299
300
  }],
300
301
  details: { error: "invalid_read_arguments" }
301
302
  };
@@ -10,10 +10,10 @@ import { TaskRunRepository } from "../../tasks/task-run-repository.js";
10
10
  import { getSessionMetadata } from "../../storage/sqlite/session-read-repository.js";
11
11
  import { init_sqlite } from "../../storage/sqlite/index.js";
12
12
  import "../../activity/index.js";
13
- import { CapabilityError } from "../../capabilities/runtime/errors.js";
14
- import "../../capabilities/runtime/dispatcher.js";
15
13
  import { getDefaultAgentId, init_resolve_route } from "../../routing/resolve-route.js";
16
14
  import { TaskConversationRepository } from "../../tasks/task-conversation-repository.js";
15
+ import { CapabilityError } from "../../capabilities/runtime/errors.js";
16
+ import "../../capabilities/runtime/dispatcher.js";
17
17
  import { resolveProjectAgentId } from "../../projects/project-agent.js";
18
18
  import "../../projects/index.js";
19
19
  import { TaskDeletionService } from "../../tasks/task-deletion-service.js";
@@ -1,5 +1,5 @@
1
- import { init_agent_scope, resolveAgentIdForWorkspacePath } from "../agent-scope.js";
2
1
  import { init_agent_session_key, normalizeAgentId } from "../../routing/agent-session-key.js";
2
+ import { init_agent_scope, resolveAgentIdForWorkspacePath } from "../agent-scope.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 { CapabilityError } from "../capabilities/runtime/errors.js";
5
- import { defineAtomicCapability, defineReadCapability } from "../capabilities/runtime/dispatcher.js";
6
4
  import { AgentCatalogRepository, init_repository } from "./repository.js";
7
5
  import { init_agent_scope, resolveAgentWorkspaceDir } from "../agent/agent-scope.js";
6
+ import { CapabilityError } from "../capabilities/runtime/errors.js";
7
+ import { defineAtomicCapability, defineReadCapability } from "../capabilities/runtime/dispatcher.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";
6
7
  import { CapabilityError } from "../../capabilities/runtime/errors.js";
7
8
  import { ExternalEffectNotAppliedError } from "../../capabilities/runtime/external-operations.js";
8
9
  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";
@@ -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";
3
4
  import { normalizeAgentId } from "../../agent-catalog/id.js";
4
5
  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";
4
5
  import { cutoverLegacyAgentConfig } from "../agent-catalog/migrations/legacy-config-cutover.js";
5
6
  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";
@@ -4,8 +4,8 @@ import { init_src } from "../../packages/gateway-contract/src/index.js";
4
4
  import { getGatewayIdentityPublicKeyRaw, getOrCreateGatewayIdentity, init_gateway_identity_repository } from "../storage/sqlite/gateway-identity-repository.js";
5
5
  import { createDevicePairingSetup, init_device_pairing_repository } from "../storage/sqlite/device-pairing-repository.js";
6
6
  import { loadConfig } from "../config/loader.js";
7
- import { BROWSER_EXTENSION_ID, BROWSER_NATIVE_HOST_NAME } from "./extension-identity.js";
8
7
  import { browserEnrollmentPublicKeyThumbprint } from "./enrollment.js";
8
+ import { BROWSER_EXTENSION_ID, BROWSER_NATIVE_HOST_NAME } from "./extension-identity.js";
9
9
  import os from "node:os";
10
10
  //#region src/browser/native-messaging-host.ts
11
11
  init_src();
@@ -4,10 +4,10 @@ import { createLogger } from "../../utils/logger/index.js";
4
4
  import { init_logger } from "../../utils/logger.js";
5
5
  import { init_write_file_atomic, writeTextAtomic } from "../../infra/write-file-atomic.js";
6
6
  import { init_paths, resolveBinDir, resolveConfigPath } from "../../config/paths.js";
7
- import { resolvePackageRoot } from "../../infra/update-check.js";
8
- import { BROWSER_EXTENSION_ID, BROWSER_NATIVE_HOST_NAME } from "../extension-identity.js";
9
7
  import { assertCacheDir } from "../cache-dir-policy.js";
8
+ import { BROWSER_EXTENSION_ID, BROWSER_NATIVE_HOST_NAME } from "../extension-identity.js";
10
9
  import "../native-messaging-host.js";
10
+ import { resolvePackageRoot } from "../../infra/update-check.js";
11
11
  import { dirname, join } from "node:path";
12
12
  import { chmodSync, existsSync, mkdirSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
13
13
  import { fileURLToPath } from "node:url";
@@ -1,7 +1,7 @@
1
1
  import { SqliteCommitEffectError, init_transaction } from "../../storage/sqlite/transaction.js";
2
- import { OperationConflictError, executeAtomicOperation } from "./atomic-operations.js";
3
2
  import { CapabilityError } from "./errors.js";
4
3
  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,6 +1,5 @@
1
1
  import { CapabilityError } from "./errors.js";
2
2
  import { CapabilityDispatcher } from "./dispatcher.js";
3
- import { registerAgentCapabilities } from "../../agent-catalog/capabilities.js";
4
3
  import { registerLocalAppReadCapabilities } from "../../local-apps/capabilities/read.js";
5
4
  import { registerNoteReadCapabilities } from "../../notes/capabilities/read.js";
6
5
  import { registerNoteWriteCapabilities } from "../../notes/capabilities/write.js";
@@ -19,6 +18,7 @@ import { registerSceneReadCapabilities } from "../../scenes/capabilities/read.js
19
18
  import { registerSceneWriteCapabilities } from "../../scenes/capabilities/write.js";
20
19
  import { registerSettingsCapability } from "./settings.js";
21
20
  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";
1
2
  import { normalizeAgentId } from "../agent-catalog/id.js";
2
3
  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,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { version } from "../../package.js";
3
- import "./cli-log-level-preset.js";
4
- import "../infra/http-proxy-env.js";
5
3
  import { ensureXopcCliOnPath } from "../infra/path-env.js";
4
+ import "../infra/http-proxy-env.js";
5
+ import "./cli-log-level-preset.js";
6
6
  import { formatRootHelp } from "./command-manifest.js";
7
7
  //#region src/cli/bin.ts
8
8
  ensureXopcCliOnPath();
@@ -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_scope, resolveDefaultAgentId } from "../../agent/agent-scope.js";
4
3
  import { init_agent_session_key, resolveAgentMainConversationId } from "../../routing/agent-session-key.js";
4
+ import { init_agent_scope, resolveDefaultAgentId } from "../../agent/agent-scope.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";
@@ -11,10 +11,10 @@ import { MessageBus, MessageBusShutdownError } from "../../infra/bus/queue.js";
11
11
  import "../../infra/bus/index.js";
12
12
  import { AgentService } from "../../agent/service.js";
13
13
  import "../../agent/index.js";
14
- import { formatExamples, register } from "../registry.js";
15
- import { getContextWithOpts } from "../context.js";
16
14
  import "../../config/index.js";
17
15
  import { getXopcCloudCatalogCoordinator } from "../../providers/xopc-cloud-catalog-coordinator.js";
16
+ import { formatExamples, register } from "../registry.js";
17
+ import { getContextWithOpts } from "../context.js";
18
18
  import { listSessions } from "./agent/sessions.js";
19
19
  import { renderStreamToTerminal } from "./agent/stream-renderer.js";
20
20
  import { startInteractiveChat } from "./agent/interactive.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 { AgentCatalogService } from "../../agent-catalog/service.js";
5
4
  import { resolveEffectiveAgentConfigForAgent } from "../../config/agent-profile.js";
5
+ import { AgentCatalogService } from "../../agent-catalog/service.js";
6
6
  import { colors } from "../utils/colors.js";
7
7
  //#region src/cli/commands/agents.ts
8
8
  init_repository();
@@ -2,8 +2,8 @@ import { createLogger } from "../../utils/logger/index.js";
2
2
  import { init_logger } from "../../utils/logger.js";
3
3
  import { CredentialResolver, init_credentials } from "../../auth/credentials.js";
4
4
  import { getAllProviders, init_providers } from "../../providers/index.js";
5
- import { formatExamples, register } from "../registry.js";
6
5
  import { disconnectProvider } from "../../providers/provider-disconnect.js";
6
+ import { formatExamples, register } from "../registry.js";
7
7
  import { colorizeStatus, colors } from "../utils/colors.js";
8
8
  import { listAllProfiles, listProfilesForProvider, removeAuthProfile, upsertAuthProfile } from "../../auth/profiles/profiles.js";
9
9
  import "../../auth/profiles/index.js";
@@ -1,7 +1,7 @@
1
1
  import { AgentPluginStore } from "../../extensions/agent-plugins/store.js";
2
2
  import { loadConfig } from "../../config/loader.js";
3
- import { getContextWithOpts } from "../context.js";
4
3
  import { isAgentPluginArchive, withAgentPluginSource } from "../../extensions/agent-plugins/sources.js";
4
+ import { getContextWithOpts } from "../context.js";
5
5
  import { removePluginCredentials } from "../../extensions/agent-plugins/credentials.js";
6
6
  import { join, resolve } from "node:path";
7
7
  import { existsSync, readFileSync, statSync } from "node:fs";
@@ -5,10 +5,10 @@ import { init_paths, resolveConfigPath, resolveExtensionsDir } from "../../confi
5
5
  import { normalizeExtensionManifest } from "../../extensions/normalize-manifest.js";
6
6
  import { checkEngineCompatibility } from "../../extensions/engine-check.js";
7
7
  import { loadConfig } from "../../config/loader.js";
8
- import { getContextWithOpts } from "../context.js";
9
8
  import { GatewayServer } from "../../gateway/server.js";
10
9
  import { runGatewayLoop } from "../../gateway/run-loop.js";
11
10
  import "../../gateway/index.js";
11
+ import { getContextWithOpts } from "../context.js";
12
12
  import { colors } from "../utils/colors.js";
13
13
  import { initWorkspace } from "../utils/init-workspace.js";
14
14
  import { join, resolve } from "node:path";
@@ -3,11 +3,11 @@ import { downloadExtensionStoreZipBuffer, resolveExtensionZipDownloadUrl, resolv
3
3
  import { computeExtensionDirectoryIntegrity, getExtensionLockfileManager } from "../../extensions/lockfile.js";
4
4
  import { AgentPluginStore } from "../../extensions/agent-plugins/store.js";
5
5
  import { loadConfig } from "../../config/loader.js";
6
- import { getContextWithOpts } from "../context.js";
7
6
  import { peekExtensionManifestFromStoreZip } from "../../extensions/install.js";
8
7
  import { commitStagedExtensionInstall, finalizeStagedExtensionInstall, rollbackStagedExtensionInstall, stageExtensionLocal, stageExtensionNpm, stageExtensionStoreZip } from "../../extensions/install-transaction.js";
9
8
  import { fetchRegistry, findExtension, getExtensionMarketplaceStoreBaseUrl, listExtensions, searchExtensions } from "../../extensions/marketplace.js";
10
9
  import { isAgentPluginArchive } from "../../extensions/agent-plugins/sources.js";
10
+ import { getContextWithOpts } from "../context.js";
11
11
  import { colors } from "../utils/colors.js";
12
12
  import { installAgentPluginFromCli, isAgentPluginSource } from "./extension-agent-plugin.js";
13
13
  import { validateExtensionPackageDirectory } from "./extension-pack.js";
@@ -7,10 +7,10 @@ import { AgentPluginStore } from "../../extensions/agent-plugins/store.js";
7
7
  import { checkEngineCompatibility } from "../../extensions/engine-check.js";
8
8
  import { ExtensionLoader } from "../../extensions/loader.js";
9
9
  import { loadConfig, saveConfig } from "../../config/loader.js";
10
- import { getContextWithOpts } from "../context.js";
11
10
  import { checkAllExtensionsHealth, getExtensionHealthChecker } from "../../extensions/health.js";
12
11
  import { collectExtensionPackageDependencyIssues } from "../../extensions/package-contract.js";
13
12
  import { withAgentPluginSource } from "../../extensions/agent-plugins/sources.js";
13
+ import { getContextWithOpts } from "../context.js";
14
14
  import { colors } from "../utils/colors.js";
15
15
  import { addAgentPluginLifecycleCommands, isAgentPluginSource } from "./extension-agent-plugin.js";
16
16
  import { createExtensionCreateCommand } from "./extension-create.js";
@@ -1,7 +1,7 @@
1
1
  import { init_paths, resolveConfigPath } from "../../../config/paths.js";
2
2
  import { loadConfig } from "../../../config/loader.js";
3
- import "../../../config/index.js";
4
3
  import { isRestartEnabled } from "../../../config/commands.flags.js";
4
+ import "../../../config/index.js";
5
5
  import { resolveGatewayService } from "../../../daemon/service.js";
6
6
  import { authorizeGatewaySigusr1Restart, writeGatewayRestartIntentSync } from "../../../infra/restart.js";
7
7
  import { findVerifiedGatewayListenerPidsOnPortSync, formatGatewayPidList, signalVerifiedGatewayPidSync } from "../../../infra/gateway-processes.js";
@@ -1,5 +1,5 @@
1
- import { formatExamples } from "../registry.js";
2
1
  import { startSshPortForward } from "../../infra/ssh-tunnel.js";
2
+ import { formatExamples } from "../registry.js";
3
3
  import { Command } from "commander";
4
4
  //#region src/cli/commands/gateway-ssh-tunnel.ts
5
5
  function registerGatewaySshTunnelCommand(parent, ctx) {
@@ -1,9 +1,9 @@
1
1
  import { closeXopcDatabase, init_connection, isXopcDatabaseOpen, openXopcDatabase } from "../../storage/sqlite/connection.js";
2
- import { register } from "../registry.js";
3
2
  import { isImportSource } from "../../imports/sources.js";
4
3
  import { scanProduct } from "../../imports/inventory.js";
5
4
  import { importSelection, listImportSources } from "../../imports/productImport.js";
6
5
  import { createRuntimeImportService, recoverCapabilityImports } from "../../imports/runtime.js";
6
+ import { register } from "../registry.js";
7
7
  import { randomUUID } from "node:crypto";
8
8
  import { Command } from "commander";
9
9
  //#region src/cli/commands/import.ts
@@ -1,13 +1,13 @@
1
1
  import { getNativePiAgentDir, prepareNativeMcpConfig } from "../../agent/mcp/native-mcp.js";
2
2
  import { loadConfig } from "../../config/loader.js";
3
- import { register } from "../registry.js";
4
3
  import { createGatewayHttpClientFromConfig } from "../../mcp/gateway-http-client.js";
5
4
  import { createCapabilityMcpServer } from "../../mcp/capability-server.js";
5
+ import { register } from "../registry.js";
6
6
  import { join } from "node:path";
7
7
  import { chmodSync, existsSync, readFileSync, writeFileSync } from "node:fs";
8
8
  import { main } from "@earendil-works/pi-coding-agent";
9
- import { Command } from "commander";
10
9
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
10
+ import { Command } from "commander";
11
11
  //#region src/cli/commands/mcp.ts
12
12
  function createMcpCommand(ctx) {
13
13
  const command = new Command("mcp").description("Manage native pi MCP servers and expose Gateway capabilities");
@@ -1,19 +1,19 @@
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";
5
4
  import { getAgentDefaultModelRef, init_schema } from "../../config/schema.js";
6
5
  import { CredentialResolver, init_credentials } from "../../auth/credentials.js";
7
6
  import { getAllModels, getAvailableModels, getConfiguredProviders, getProviderAuthState, getProviderDisplayName, init_providers, isProviderConfigured, providerSupportsApiKey, providerSupportsOAuth, resolveModel } from "../../providers/index.js";
8
7
  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";
12
- import { formatExamples, register } from "../registry.js";
13
- import { getContextWithOpts } from "../context.js";
14
12
  import "../../config/index.js";
15
13
  import { prepareUpdateGlobalDefaults } from "../../gateway/global-defaults-admin.js";
16
14
  import { disconnectProvider } from "../../providers/provider-disconnect.js";
15
+ import { formatExamples, register } from "../registry.js";
16
+ import { getContextWithOpts } from "../context.js";
17
17
  import { colors } from "../utils/colors.js";
18
18
  import { runCliOAuthLogin } from "../utils/oauth-login.js";
19
19
  import { input } from "@inquirer/prompts";
@@ -1,5 +1,4 @@
1
1
  import { AgentCatalogRepository, init_repository } from "../../../agent-catalog/repository.js";
2
- import { AgentCatalogService } from "../../../agent-catalog/service.js";
3
2
  import { getAgentDefaultModelRef, init_schema } from "../../../config/schema.js";
4
3
  import { resolveModelsJsonPath } from "../../../config/paths.js";
5
4
  import { init_models_json, loadModelsJson, saveModelsJson } from "../../../config/models-json.js";
@@ -7,15 +6,16 @@ import { getApiKeyFromEnv } from "../../../providers/env-keys.js";
7
6
  import { getModelRegistry } from "../../../providers/model-registry.js";
8
7
  import { CredentialResolver, init_credentials } from "../../../auth/credentials.js";
9
8
  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 { getDomesticProviderBaseUrl, getDomesticProviderPreset, getDomesticProviderPresetIds, providerConfigFromDomesticPreset } from "../../../providers/domestic-presets.js";
14
- import { getProviderHint, getRecommendedModelsForProvider, sortModelsForPicker, sortProvidersForPicker } from "../../../providers/presentation.js";
15
13
  import { colors } from "../../utils/colors.js";
16
14
  import { listProfilesForProvider } from "../../../auth/profiles/profiles.js";
17
15
  import "../../../auth/profiles/index.js";
18
16
  import { getOAuthProvider } from "../../utils/oauth-providers.js";
17
+ import { getDomesticProviderBaseUrl, getDomesticProviderPreset, getDomesticProviderPresetIds, providerConfigFromDomesticPreset } from "../../../providers/domestic-presets.js";
18
+ import { getProviderHint, getRecommendedModelsForProvider, sortModelsForPicker, sortProvidersForPicker } from "../../../providers/presentation.js";
19
19
  import { runCliOAuthLogin } from "../../utils/oauth-login.js";
20
20
  import { confirm, input, select } from "@inquirer/prompts";
21
21
  //#region src/cli/commands/onboard/model.ts
@@ -3,8 +3,8 @@ import { AgentCatalogRepository, init_repository } from "../../agent-catalog/rep
3
3
  import { ConfigSchema, init_schema } from "../../config/schema.js";
4
4
  import { resolveGatewayLocalClientHost } from "../../config/gateway-bind.js";
5
5
  import { saveConfig } from "../../config/loader.js";
6
- import { formatExamples, register } from "../registry.js";
7
6
  import "../../config/index.js";
7
+ import { formatExamples, register } from "../registry.js";
8
8
  import { provisionEagerRuntimes } from "../../runtime-tools/bootstrap.js";
9
9
  import { colors } from "../utils/colors.js";
10
10
  import { initWorkspace } from "../utils/init-workspace.js";
@@ -1,8 +1,8 @@
1
1
  import { loadConfig, saveConfig } from "../../config/loader.js";
2
- import { formatExamples, register } from "../registry.js";
3
2
  import "../../config/index.js";
4
3
  import { PLATFORM_RUNTIME_PROFILE, PLATFORM_RUNTIME_PROVIDER, PlatformRuntimeClient, discoverPlatform } from "../../platform/client.js";
5
4
  import "../../platform/index.js";
5
+ import { formatExamples, register } from "../registry.js";
6
6
  import { getProfile, upsertAuthProfile } from "../../auth/profiles/profiles.js";
7
7
  import "../../auth/profiles/index.js";
8
8
  import { Command } from "commander";
@@ -1,7 +1,7 @@
1
1
  import { createLogger } from "../../utils/logger/index.js";
2
2
  import { init_logger } from "../../utils/logger.js";
3
- import { formatExamples, register } from "../registry.js";
4
3
  import { createProfile, deleteProfile, getCurrentProfile, getSwitchCommand, listProfiles, resolveProfileStateDir } from "../../config/profile.js";
4
+ import { formatExamples, register } from "../registry.js";
5
5
  import { colors } from "../utils/colors.js";
6
6
  import { Command } from "commander";
7
7
  import Table from "cli-table3";
@@ -7,13 +7,13 @@ import { resolveTunnelBrokerUrl, resolveTunnelRegistrationSecret } from "../../t
7
7
  import { loadTunnelState } from "../../tunnel/tunnel-state.js";
8
8
  import { getTunnelService } from "../../tunnel/tunnel-service.js";
9
9
  import { loadConfig, saveConfig } from "../../config/loader.js";
10
- import { formatExamples, register } from "../registry.js";
11
10
  import "../../config/index.js";
12
11
  import { resolveGatewayAuth } from "../../gateway/auth.js";
13
12
  import { requireTunnelGatewayToken } from "../../tunnel/auth-policy.js";
14
13
  import { TUNNEL_RISK_SUMMARY_LINES, TunnelConsentError, assertTunnelMayStart, hasValidTunnelConsent } from "../../tunnel/consent.js";
15
14
  import { resolveFrpSubdomainHost } from "../../tunnel/frp-subdomain-host.js";
16
15
  import { applyTunnelConsentToConfig, mergeTunnelConfigPatch, setTunnelEnabledInConfig } from "../../tunnel/tunnel-config.js";
16
+ import { formatExamples, register } from "../registry.js";
17
17
  import "../../tunnel/index.js";
18
18
  import { Command } from "commander";
19
19
  //#region src/cli/commands/tunnel.ts