@xopcai/xopc 0.0.188 → 0.0.190

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 (490) hide show
  1. package/README.md +1 -4
  2. package/README.zh-CN.md +0 -3
  3. package/dist/browser-ext/manifest.json +1 -1
  4. package/dist/extensions/telegram/xopc.extension.json +1 -1
  5. package/dist/gateway/static/root/assets/{activity-store--QoUGhiS.js → activity-store-DstnJCS5.js} +1 -1
  6. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-B0yweLNQ.js → agent-avatar-dicebear-9vAbkroX.js} +1 -1
  7. package/dist/gateway/static/root/assets/agents-D1t4SfMQ.js +68 -0
  8. package/dist/gateway/static/root/assets/{api-5laWqfiE.js → api-BTL9kayv.js} +1 -1
  9. package/dist/gateway/static/root/assets/{app-management-settings-panel-BXJ8Jiv_.js → app-management-settings-panel-DkFeIdBf.js} +1 -1
  10. package/dist/gateway/static/root/assets/{appearance-settings-DG9n9D1M.js → appearance-settings-Bxs8Fpaj.js} +1 -1
  11. package/dist/gateway/static/root/assets/apps-page-Cgrgu5OW.js +1 -0
  12. package/dist/gateway/static/root/assets/{archive-plugin-Ceh5qrZf.js → archive-plugin-Ch2RmLCC.js} +1 -1
  13. package/dist/gateway/static/root/assets/{attachment-load-jFW7uYf7.js → attachment-load-BhMQM_Ky.js} +1 -1
  14. package/dist/gateway/static/root/assets/automations-page-CtJxstKh.js +6 -0
  15. package/dist/gateway/static/root/assets/{binary-plugins-XDlkI1r4.js → binary-plugins-D6CqlymH.js} +1 -1
  16. package/dist/gateway/static/root/assets/{block-editor-kyKc2IhE.js → block-editor-ClL6HEg9.js} +56 -56
  17. package/dist/gateway/static/root/assets/browser-settings-page-DW99iDmD.js +8 -0
  18. package/dist/gateway/static/root/assets/{browser-workflow-inputs-BJa5Iz_v.js → browser-workflow-inputs-BYy48VhN.js} +1 -1
  19. package/dist/gateway/static/root/assets/{browser-workflows-page-CTQQOsn5.js → browser-workflows-page-zgLibuMH.js} +2 -2
  20. package/dist/gateway/static/root/assets/capabilities-settings-panel-CHUrT9EB.js +7 -0
  21. package/dist/gateway/static/root/assets/capability-presets-api-BB8t4Ja7.js +1 -0
  22. package/dist/gateway/static/root/assets/capability-presets-settings-panel-Cycrv0YV.js +1 -0
  23. package/dist/gateway/static/root/assets/{channel-recipient-api-BgIkWq01.js → channel-recipient-api-BThDGiO3.js} +1 -1
  24. package/dist/gateway/static/root/assets/channels-settings-V96gPUAU.js +1 -0
  25. package/dist/gateway/static/root/assets/channels-status-swr-Cz7SAAkm.js +1 -0
  26. package/dist/gateway/static/root/assets/connectors-api-DS9ED-EL.js +1 -0
  27. package/dist/gateway/static/root/assets/connectors-page-BhlyQoQI.js +2 -0
  28. package/dist/gateway/static/root/assets/cron-expression-CkgsvhtW.js +2 -0
  29. package/dist/gateway/static/root/assets/{desktop-pet-CSwd00CV.js → desktop-pet-Cv8rGhYW.js} +1 -1
  30. package/dist/gateway/static/root/assets/{desktop-pet-settings-CuNQvHGu.js → desktop-pet-settings-CIeJdwfV.js} +1 -1
  31. package/dist/gateway/static/root/assets/{directory-picker-path-field-ct0n5Rje.js → directory-picker-path-field-D8jXEiAY.js} +1 -1
  32. package/dist/gateway/static/root/assets/{extension-debug-page-BeRBuMUU.js → extension-debug-page-CCZ9u6TZ.js} +1 -1
  33. package/dist/gateway/static/root/assets/{extension-page-DbK-Cwao.js → extension-page-CV36ILRG.js} +1 -1
  34. package/dist/gateway/static/root/assets/extension-settings-page-IyQrSILY.js +1 -0
  35. package/dist/gateway/static/root/assets/{gateway-config-api-CC7EvEFp.js → gateway-config-api-D4_r5iJM.js} +1 -1
  36. package/dist/gateway/static/root/assets/gateway-settings-CYlntpBH.js +1 -0
  37. package/dist/gateway/static/root/assets/{gateway-startup-retry-B2DmdlwO.js → gateway-startup-retry-EO9mKvzE.js} +1 -1
  38. package/dist/gateway/static/root/assets/heartbeat-settings-D4SyWob8.js +1 -0
  39. package/dist/gateway/static/root/assets/home-page-B2Kagoh8.js +3 -0
  40. package/dist/gateway/static/root/assets/{image-generation-api-GMTaS6eI.js → image-generation-api-Bu7PyVSh.js} +1 -1
  41. package/dist/gateway/static/root/assets/index-CYT5DOzr.js +150 -0
  42. package/dist/gateway/static/root/assets/index-D6e3tPL-.css +1 -0
  43. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-DhGYddbI.js → keyboard-shortcuts-settings-BMhCuVBZ.js} +1 -1
  44. package/dist/gateway/static/root/assets/local-app-workbench-page-BHYbFjqy.js +2 -0
  45. package/dist/gateway/static/root/assets/{local-apps-page-CmnrBmWi.js → local-apps-page-ijIe7_y2.js} +1 -1
  46. package/dist/gateway/static/root/assets/locale-store-deR2zRaE.js +1 -0
  47. package/dist/gateway/static/root/assets/logs-page-IIn8Tess.js +2 -0
  48. package/dist/gateway/static/root/assets/management-settings--V_fovKD.js +1 -0
  49. package/dist/gateway/static/root/assets/{markdown-split-CZaBPOVn.js → markdown-split-Dt9-in6W.js} +1 -1
  50. package/dist/gateway/static/root/assets/{media-plugins-CiKvSgCv.js → media-plugins-B3pj_iO0.js} +1 -1
  51. package/dist/gateway/static/root/assets/messages-B4XqB8I6.js +3 -0
  52. package/dist/gateway/static/root/assets/{notes-page-Bisbzqlz.js → notes-page-DZ366lIT.js} +1 -1
  53. package/dist/gateway/static/root/assets/notes-workbench-S2sBVOLw.js +4 -0
  54. package/dist/gateway/static/root/assets/{page-tabs-BxlwhAbH.js → page-tabs-C5ge434C.js} +1 -1
  55. package/dist/gateway/static/root/assets/{preview-open-alternatives-RM8wXxfT.js → preview-open-alternatives-BFa9DgSV.js} +1 -1
  56. package/dist/gateway/static/root/assets/product-delivery-tRr-7IxY.js +1 -0
  57. package/dist/gateway/static/root/assets/{product-open-page-DdBlibek.js → product-open-page-Dc9CcWdu.js} +1 -1
  58. package/dist/gateway/static/root/assets/project-detail-page-BilzoCJ7.js +1 -0
  59. package/dist/gateway/static/root/assets/projects-page-BoQUyacP.js +1 -0
  60. package/dist/gateway/static/root/assets/remote-access-hub-DUyUaCRF.js +1 -0
  61. package/dist/gateway/static/root/assets/{schema-form-BDKbpmXv.js → schema-form-B84DckWe.js} +1 -1
  62. package/dist/gateway/static/root/assets/{schemas-C6onAggk.js → schemas-zIBW3wiV.js} +1 -1
  63. package/dist/gateway/static/root/assets/sessions-page-Dzxlq1F0.js +1 -0
  64. package/dist/gateway/static/root/assets/settings-advanced-gate-TzwlZxU6.js +1 -0
  65. package/dist/gateway/static/root/assets/settings-form-section-Dp9itvdy.js +1 -0
  66. package/dist/gateway/static/root/assets/{settings-loading-skeleton-DgIp8_S6.js → settings-loading-skeleton-CCtlhoy7.js} +1 -1
  67. package/dist/gateway/static/root/assets/settings-page-DQmMKf8r.js +1 -0
  68. package/dist/gateway/static/root/assets/{settings-page-layout-97LmwrzC.js → settings-page-layout-EQIOJa_L.js} +1 -1
  69. package/dist/gateway/static/root/assets/setup-status-panel-Cwi-SPja.js +1 -0
  70. package/dist/gateway/static/root/assets/{share-preview-page-BH7i3g1S.js → share-preview-page-C4_B2jvf.js} +1 -1
  71. package/dist/gateway/static/root/assets/shares-settings-CkyuGlZK.js +1 -0
  72. package/dist/gateway/static/root/assets/skill-reload-api-BJCePQK5.js +1 -0
  73. package/dist/gateway/static/root/assets/skills-page-BYWLfmJi.js +2 -0
  74. package/dist/gateway/static/root/assets/{skills-page.utils-s-a5WV9j.js → skills-page.utils-Jhm24i4h.js} +1 -1
  75. package/dist/gateway/static/root/assets/{system-settings-panel-BxjeMT5k.js → system-settings-panel-Dpx2ags2.js} +1 -1
  76. package/dist/gateway/static/root/assets/{task-detail-page-BahycnfW.js → task-detail-page-DLAdxI6e.js} +1 -1
  77. package/dist/gateway/static/root/assets/{theme-store-BRxdsmic.js → theme-store-DnBOcGXi.js} +1 -1
  78. package/dist/gateway/static/root/assets/{typed-models-lib-39MjwPSq.js → typed-models-lib-DULmTHUB.js} +1 -1
  79. package/dist/gateway/static/root/assets/use-autosave-BrjVk5VH.js +1 -0
  80. package/dist/gateway/static/root/assets/user-context-page-9AAFpGAL.js +1 -0
  81. package/dist/gateway/static/root/assets/{voice-api-key-field-XU-7sBSg.js → voice-api-key-field-BISTPfq_.js} +1 -1
  82. package/dist/gateway/static/root/assets/{work-discovery-overlay-CJqu8UHq.js → work-discovery-overlay-Wr-uF7VA.js} +1 -1
  83. package/dist/gateway/static/root/assets/work-discovery-page-BWds95sL.js +1 -0
  84. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-DXtg8Qxl.js → workflow-run-setup-panel-DHqHP8_6.js} +2 -2
  85. package/dist/gateway/static/root/assets/workflows-page-0b4_DFHr.js +11 -0
  86. package/dist/gateway/static/root/index.html +9 -9
  87. package/dist/package.js +1 -1
  88. package/dist/packages/endpoint-tools-protocol/src/index.js +184 -0
  89. package/dist/packages/gateway-contract/src/tool-activity.js +0 -36
  90. package/dist/packages/realtime-client/src/index.js +256 -0
  91. package/dist/packages/realtime-protocol/src/index.js +88 -0
  92. package/dist/src/agent/agent-manager.d.ts +1 -1
  93. package/dist/src/agent/agent-manager.js +7 -13
  94. package/dist/src/agent/background-review/coordinator.js +1 -1
  95. package/dist/src/agent/background-review/prompts.d.ts +1 -1
  96. package/dist/src/agent/background-review/prompts.js +3 -1
  97. package/dist/src/agent/background-review/run-background-review.d.ts +2 -0
  98. package/dist/src/agent/background-review/run-background-review.js +10 -9
  99. package/dist/src/agent/bootstrap/bootstrap-cache.d.ts +0 -1
  100. package/dist/src/agent/bootstrap/bootstrap-cache.js +3 -4
  101. package/dist/src/agent/bootstrap/bootstrap-files.d.ts +0 -4
  102. package/dist/src/agent/bootstrap/bootstrap-files.js +3 -4
  103. package/dist/src/agent/bootstrap/filter-bootstrap-files.js +1 -4
  104. package/dist/src/agent/bootstrap/load-bootstrap-files.d.ts +0 -1
  105. package/dist/src/agent/bootstrap/load-bootstrap-files.js +1 -14
  106. package/dist/src/agent/bootstrap/types.d.ts +1 -1
  107. package/dist/src/agent/client-error-format.d.ts +1 -1
  108. package/dist/src/agent/client-error-format.js +1 -1
  109. package/dist/src/agent/context/workspace-templates/SOUL.md +1 -1
  110. package/dist/src/agent/external-tools/endpoint-provider.d.ts +17 -0
  111. package/dist/src/agent/external-tools/endpoint-provider.js +93 -0
  112. package/dist/src/agent/external-tools/gateway-tools.js +1 -1
  113. package/dist/src/agent/external-tools/index.d.ts +4 -5
  114. package/dist/src/agent/external-tools/index.js +8 -2
  115. package/dist/src/agent/external-tools/types.d.ts +8 -1
  116. package/dist/src/agent/external-tools/types.js +2 -1
  117. package/dist/src/agent/inbound/inbound-loop.js +4 -0
  118. package/dist/src/agent/inbound/turn-dispatcher.d.ts +9 -8
  119. package/dist/src/agent/inbound/turn-dispatcher.js +13 -11
  120. package/dist/src/agent/memory/builtin-provider.d.ts +2 -4
  121. package/dist/src/agent/memory/builtin-provider.js +35 -15
  122. package/dist/src/agent/memory/context/types.d.ts +3 -1
  123. package/dist/src/agent/memory/create-memory-manager.js +2 -0
  124. package/dist/src/agent/memory/index.d.ts +1 -1
  125. package/dist/src/agent/memory/index.js +1 -1
  126. package/dist/src/agent/memory/manager.d.ts +9 -1
  127. package/dist/src/agent/memory/manager.js +39 -9
  128. package/dist/src/agent/memory/memory-config.d.ts +1 -1
  129. package/dist/src/agent/memory/memory-config.js +1 -1
  130. package/dist/src/agent/memory/source-origin.js +0 -2
  131. package/dist/src/agent/memory/types.d.ts +5 -1
  132. package/dist/src/agent/memory/understanding/service.d.ts +10 -10
  133. package/dist/src/agent/memory/understanding/service.js +108 -176
  134. package/dist/src/agent/memory/understanding/types.d.ts +7 -8
  135. package/dist/src/agent/memory/user-context-coordinator.d.ts +2 -1
  136. package/dist/src/agent/memory/user-context-coordinator.js +27 -41
  137. package/dist/src/agent/messaging/command-handler.d.ts +2 -2
  138. package/dist/src/agent/messaging/command-handler.js +3 -3
  139. package/dist/src/agent/orchestration/agent-orchestrator.js +4 -7
  140. package/dist/src/agent/prompt/sections/memory-skills.js +4 -4
  141. package/dist/src/agent/prompt/sections/tooling.js +0 -10
  142. package/dist/src/agent/prompt/service-prompt-builder.d.ts +0 -1
  143. package/dist/src/agent/prompt/service-prompt-builder.js +4 -33
  144. package/dist/src/agent/prompt/system-prompt.js +1 -2
  145. package/dist/src/agent/service/async-queue.d.ts +1 -1
  146. package/dist/src/agent/service/async-queue.js +1 -1
  147. package/dist/src/agent/service/direct-turn-helpers.d.ts +1 -1
  148. package/dist/src/agent/service/direct-turn-helpers.js +2 -2
  149. package/dist/src/agent/service/process-direct-one-shot.d.ts +3 -1
  150. package/dist/src/agent/service/process-direct-one-shot.js +1 -1
  151. package/dist/src/agent/service/process-direct-streaming.d.ts +7 -5
  152. package/dist/src/agent/service/process-direct-streaming.js +5 -5
  153. package/dist/src/agent/service.d.ts +2 -3
  154. package/dist/src/agent/service.js +10 -21
  155. package/dist/src/agent/service.types.d.ts +2 -0
  156. package/dist/src/agent/session/index.d.ts +1 -1
  157. package/dist/src/agent/session/session-context.d.ts +2 -0
  158. package/dist/src/agent/session/session-context.js +4 -0
  159. package/dist/src/agent/session/session-state-bag.d.ts +4 -4
  160. package/dist/src/agent/session/session-state-bag.js +1 -1
  161. package/dist/src/agent/skills/marketplace/adapters/clawhub/adapter.js +1 -1
  162. package/dist/src/agent/streaming/reasoning-visibility.d.ts +6 -0
  163. package/dist/src/agent/streaming/{reasoning-visibility-sse.js → reasoning-visibility.js} +3 -6
  164. package/dist/src/agent/tools/dreaming-tool.d.ts +0 -2
  165. package/dist/src/agent/tools/dreaming-tool.js +13 -38
  166. package/dist/src/agent/tools/factory.d.ts +4 -3
  167. package/dist/src/agent/tools/factory.js +2 -10
  168. package/dist/src/agent/tools/index.d.ts +0 -1
  169. package/dist/src/agent/tools/index.js +1 -2
  170. package/dist/src/agent/tools/memory-tool.js +1 -1
  171. package/dist/src/agent/workspace-runtime/registry.d.ts +3 -5
  172. package/dist/src/agent/workspace-runtime/registry.js +2 -15
  173. package/dist/src/agent-manifest/schema.d.ts +17 -17
  174. package/dist/src/agent-runtime/index.js +1 -1
  175. package/dist/src/agent-runtime/memory-runtime.d.ts +2 -2
  176. package/dist/src/agent-runtime/runtime-profile.js +1 -1
  177. package/dist/src/automations/domain/types.d.ts +2 -1
  178. package/dist/src/automations/domain/validation.d.ts +29 -29
  179. package/dist/src/automations/draft/automation-draft-validator.d.ts +3 -3
  180. package/dist/src/automations/service/action-executor.js +4 -1
  181. package/dist/src/channels/pairing/pairing-challenge.d.ts +1 -1
  182. package/dist/src/channels/pairing/pairing-challenge.js +1 -1
  183. package/dist/src/chat-commands/builtins/understanding.js +2 -5
  184. package/dist/src/cli/commands/agent/stream-renderer.js +4 -1
  185. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  186. package/dist/src/cli/commands/extension-marketplace.js +1 -1
  187. package/dist/src/cli/commands/init.js +3 -22
  188. package/dist/src/cli/templates.js +1 -1
  189. package/dist/src/config/index.js +3 -3
  190. package/dist/src/config/paths.d.ts +0 -5
  191. package/dist/src/config/paths.js +2 -11
  192. package/dist/src/config/rules.js +0 -5
  193. package/dist/src/config/schema.d.ts +27 -122
  194. package/dist/src/config/schema.js +9 -42
  195. package/dist/src/config/web-patch.js +0 -1
  196. package/dist/src/connectors/learning-coordinator.js +75 -3
  197. package/dist/src/endpoint-tools/auth.d.ts +20 -0
  198. package/dist/src/endpoint-tools/auth.js +51 -0
  199. package/dist/src/endpoint-tools/index.d.ts +5 -0
  200. package/dist/src/endpoint-tools/index.js +6 -0
  201. package/dist/src/endpoint-tools/invocation-service.d.ts +68 -0
  202. package/dist/src/endpoint-tools/invocation-service.js +190 -0
  203. package/dist/src/endpoint-tools/policy.d.ts +10 -0
  204. package/dist/src/endpoint-tools/policy.js +18 -0
  205. package/dist/src/endpoint-tools/registry.d.ts +45 -0
  206. package/dist/src/endpoint-tools/registry.js +121 -0
  207. package/dist/src/endpoint-tools/runtime.d.ts +23 -0
  208. package/dist/src/endpoint-tools/runtime.js +86 -0
  209. package/dist/src/endpoint-tools/upload-service.d.ts +41 -0
  210. package/dist/src/endpoint-tools/upload-service.js +103 -0
  211. package/dist/src/extensions/types/hooks.d.ts +1 -1
  212. package/dist/src/extensions/update.js +1 -1
  213. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
  214. package/dist/src/gateway/agent-builtin-tools.js +0 -5
  215. package/dist/src/gateway/agents-admin.d.ts +0 -7
  216. package/dist/src/gateway/agents-admin.js +3 -32
  217. package/dist/src/gateway/chat-stream/protocol.d.ts +0 -1
  218. package/dist/src/gateway/clarify-bridge.d.ts +5 -4
  219. package/dist/src/gateway/clarify-bridge.js +3 -4
  220. package/dist/src/gateway/dreaming-automation-reconciler.d.ts +3 -3
  221. package/dist/src/gateway/dreaming-automation-reconciler.js +48 -88
  222. package/dist/src/gateway/heartbeat/service.js +4 -1
  223. package/dist/src/gateway/hono/app.js +1 -5
  224. package/dist/src/gateway/hono/index.d.ts +0 -1
  225. package/dist/src/gateway/hono/index.js +1 -2
  226. package/dist/src/gateway/hono/lib/config-payload.d.ts +20 -9
  227. package/dist/src/gateway/hono/lib/config-payload.js +3 -2
  228. package/dist/src/gateway/hono/middleware/auth.js +3 -5
  229. package/dist/src/gateway/hono/oauth-async.d.ts +1 -0
  230. package/dist/src/gateway/hono/oauth-async.js +17 -2
  231. package/dist/src/gateway/hono/routes/agent-stream.js +49 -6
  232. package/dist/src/gateway/hono/routes/agents.js +1 -33
  233. package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
  234. package/dist/src/gateway/hono/routes/config-patch/gateway.d.ts +2 -2
  235. package/dist/src/gateway/hono/routes/config-patch/gateway.js +0 -19
  236. package/dist/src/gateway/hono/routes/config-patch/misc.js +17 -1
  237. package/dist/src/gateway/hono/routes/connectors.js +13 -12
  238. package/dist/src/gateway/hono/routes/deps.d.ts +0 -2
  239. package/dist/src/gateway/hono/routes/endpoint-tools.d.ts +3 -0
  240. package/dist/src/gateway/hono/routes/endpoint-tools.js +196 -0
  241. package/dist/src/gateway/hono/routes/index.js +6 -2
  242. package/dist/src/gateway/hono/routes/lazy-bundles.js +1 -5
  243. package/dist/src/gateway/hono/routes/logs.js +0 -4
  244. package/dist/src/gateway/hono/routes/public-gateway.js +2 -2
  245. package/dist/src/gateway/hono/routes/realtime.d.ts +3 -0
  246. package/dist/src/gateway/hono/routes/realtime.js +35 -0
  247. package/dist/src/gateway/hono/routes/status.js +0 -7
  248. package/dist/src/gateway/hono/routes/understanding-sources.d.ts +3 -0
  249. package/dist/src/gateway/hono/routes/understanding-sources.js +203 -0
  250. package/dist/src/gateway/hono/routes/work-discovery.d.ts +2 -0
  251. package/dist/src/gateway/hono/routes/work-discovery.js +3 -134
  252. package/dist/src/gateway/hono/routes/workflows.js +1 -1
  253. package/dist/src/gateway/hono/routes/you.d.ts +0 -31
  254. package/dist/src/gateway/hono/routes/you.js +230 -1161
  255. package/dist/src/gateway/index.d.ts +1 -1
  256. package/dist/src/gateway/index.js +1 -2
  257. package/dist/src/gateway/protocol.d.ts +1 -7
  258. package/dist/src/gateway/security/index.js +1 -1
  259. package/dist/src/gateway/security/operator-scopes.js +1 -1
  260. package/dist/src/gateway/server.js +4 -4
  261. package/dist/src/gateway/service/agent-runner.d.ts +11 -9
  262. package/dist/src/gateway/service/agent-runner.js +18 -18
  263. package/dist/src/gateway/service/config-coordinator.d.ts +3 -3
  264. package/dist/src/gateway/service/run-gateway-agent.d.ts +4 -3
  265. package/dist/src/gateway/service/run-gateway-agent.js +15 -17
  266. package/dist/src/gateway/service/session-input-coordinator.d.ts +3 -0
  267. package/dist/src/gateway/service/session-input-coordinator.js +4 -2
  268. package/dist/src/gateway/service/types.d.ts +0 -5
  269. package/dist/src/gateway/service.d.ts +7 -6
  270. package/dist/src/gateway/service.js +43 -26
  271. package/dist/src/infra/update-runner.js +1 -1
  272. package/dist/src/knowledge/connected-knowledge-pipeline.js +1 -1
  273. package/dist/src/knowledge/connected-understanding-pipeline.d.ts +2 -4
  274. package/dist/src/knowledge/connected-understanding-pipeline.js +31 -81
  275. package/dist/src/knowledge/index.js +2 -2
  276. package/dist/src/knowledge/people-graph.d.ts +22 -25
  277. package/dist/src/knowledge/people-graph.js +76 -43
  278. package/dist/src/mcp/channel-bridge.d.ts +6 -9
  279. package/dist/src/mcp/channel-bridge.js +48 -76
  280. package/dist/src/mcp/channel-server.js +2 -6
  281. package/dist/src/proactive/execution/context.js +8 -13
  282. package/dist/src/realtime/broker.d.ts +31 -0
  283. package/dist/src/realtime/broker.js +114 -0
  284. package/dist/src/realtime/runtime.d.ts +20 -0
  285. package/dist/src/realtime/runtime.js +263 -0
  286. package/dist/src/realtime/tickets.d.ts +15 -0
  287. package/dist/src/realtime/tickets.js +38 -0
  288. package/dist/src/realtime/writer.d.ts +15 -0
  289. package/dist/src/realtime/writer.js +78 -0
  290. package/dist/src/share/share-config.js +0 -1
  291. package/dist/src/share/site-share-config.js +0 -1
  292. package/dist/src/storage/sqlite/connector-account-repository.js +0 -1
  293. package/dist/src/storage/sqlite/context-consolidation-repository.d.ts +37 -0
  294. package/dist/src/storage/sqlite/context-consolidation-repository.js +64 -0
  295. package/dist/src/storage/sqlite/endpoint-principal-repository.d.ts +17 -0
  296. package/dist/src/storage/sqlite/endpoint-principal-repository.js +54 -0
  297. package/dist/src/storage/sqlite/endpoint-tool-invocation-repository.d.ts +25 -0
  298. package/dist/src/storage/sqlite/endpoint-tool-invocation-repository.js +42 -0
  299. package/dist/src/storage/sqlite/fts.d.ts +2 -0
  300. package/dist/src/storage/sqlite/fts.js +29 -1
  301. package/dist/src/storage/sqlite/index.d.ts +6 -6
  302. package/dist/src/storage/sqlite/index.js +7 -7
  303. package/dist/src/storage/sqlite/knowledge-repository.d.ts +9 -2
  304. package/dist/src/storage/sqlite/knowledge-repository.js +58 -10
  305. package/dist/src/storage/sqlite/memory-records-repository.d.ts +7 -56
  306. package/dist/src/storage/sqlite/memory-records-repository.js +68 -218
  307. package/dist/src/storage/sqlite/migrations/109_endpoint_principals.sql +14 -0
  308. package/dist/src/storage/sqlite/migrations/110_session_input_origin.sql +43 -0
  309. package/dist/src/storage/sqlite/migrations/111_endpoint_tool_invocations.sql +18 -0
  310. package/dist/src/storage/sqlite/migrations/112_endpoint_instance_bindings.sql +8 -0
  311. package/dist/src/storage/sqlite/migrations/113_memory_evidence_single_source.sql +54 -0
  312. package/dist/src/storage/sqlite/migrations/114_user_context_domain.sql +193 -0
  313. package/dist/src/storage/sqlite/migrations/115_remove_legacy_user_context.sql +6 -0
  314. package/dist/src/storage/sqlite/migrations/116_structured_context_consolidation.sql +38 -0
  315. package/dist/src/storage/sqlite/migrations/117_unified_understanding_sources.sql +110 -0
  316. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  317. package/dist/src/storage/sqlite/migrations/runner.js +3 -3
  318. package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
  319. package/dist/src/storage/sqlite/schema.js +1 -1
  320. package/dist/src/storage/sqlite/schema.sql +0 -20
  321. package/dist/src/storage/sqlite/session-input-repository.d.ts +3 -0
  322. package/dist/src/storage/sqlite/session-input-repository.js +5 -3
  323. package/dist/src/storage/sqlite/user-context-quality-repository.d.ts +34 -0
  324. package/dist/src/storage/sqlite/user-context-quality-repository.js +74 -0
  325. package/dist/src/storage/sqlite/user-context-repository.d.ts +64 -0
  326. package/dist/src/storage/sqlite/user-context-repository.js +383 -0
  327. package/dist/src/tasks/home-query-service.d.ts +1 -1
  328. package/dist/src/tui/backends/embedded-backend.js +5 -2
  329. package/dist/src/tui/backends/{gateway-sse-backend.d.ts → gateway-realtime-backend.d.ts} +13 -10
  330. package/dist/src/tui/backends/{gateway-sse-backend.js → gateway-realtime-backend.js} +114 -151
  331. package/dist/src/tui/tool-summary.js +1 -7
  332. package/dist/src/tui/tui-agent-events.d.ts +0 -1
  333. package/dist/src/tui/tui-agent-events.js +2 -15
  334. package/dist/src/tui/tui-backend.d.ts +4 -4
  335. package/dist/src/tui/tui-run-state.js +0 -4
  336. package/dist/src/tui/tui-startup-resources.js +1 -2
  337. package/dist/src/tui/tui-types.d.ts +2 -9
  338. package/dist/src/tui/tui-types.js +0 -1
  339. package/dist/src/tui/tui.js +5 -5
  340. package/dist/src/tunnel/gateway-lifecycle.d.ts +1 -1
  341. package/dist/src/tunnel/gateway-lifecycle.js +1 -1
  342. package/dist/src/user-context/config.d.ts +17 -210
  343. package/dist/src/user-context/config.js +19 -85
  344. package/dist/src/user-context/consolidation.d.ts +26 -0
  345. package/dist/src/user-context/consolidation.js +115 -0
  346. package/dist/src/user-context/domain.d.ts +75 -0
  347. package/dist/src/user-context/domain.js +4 -0
  348. package/dist/src/user-context/manual-understanding.d.ts +7 -14
  349. package/dist/src/user-context/manual-understanding.js +19 -49
  350. package/dist/src/{agent/memory/context → user-context}/planner.d.ts +5 -6
  351. package/dist/src/user-context/planner.js +311 -0
  352. package/dist/src/user-context/relationship-continuity.d.ts +3 -6
  353. package/dist/src/user-context/relationship-continuity.js +39 -32
  354. package/dist/src/user-context/sources/catalog.d.ts +2 -0
  355. package/dist/src/user-context/sources/catalog.js +149 -0
  356. package/dist/src/user-context/sources/index.d.ts +3 -0
  357. package/dist/src/user-context/sources/index.js +3 -0
  358. package/dist/src/user-context/sources/repository.d.ts +40 -0
  359. package/dist/src/user-context/sources/repository.js +164 -0
  360. package/dist/src/user-context/sources/types.d.ts +83 -0
  361. package/dist/src/user-context/understandingQuality.d.ts +5 -0
  362. package/dist/src/user-context/understandingQuality.js +44 -0
  363. package/dist/src/utils/logger/log-stream.d.ts +3 -10
  364. package/dist/src/utils/logger/log-stream.js +2 -73
  365. package/dist/src/utils/logger/pino-record.d.ts +1 -1
  366. package/dist/src/utils/logger/streams.js +1 -1
  367. package/dist/src/work-discovery/analyzer.d.ts +4 -3
  368. package/dist/src/work-discovery/analyzer.js +21 -16
  369. package/dist/src/work-discovery/incremental-repository.js +42 -40
  370. package/dist/src/work-discovery/index.js +3 -3
  371. package/dist/src/work-discovery/service.d.ts +7 -7
  372. package/dist/src/work-discovery/service.js +241 -190
  373. package/dist/src/work-discovery/source-repository.js +42 -53
  374. package/dist/src/work-discovery/types.d.ts +2 -14
  375. package/package.json +5 -7
  376. package/dist/gateway/static/root/assets/agents-C6OV-gMm.js +0 -2
  377. package/dist/gateway/static/root/assets/apps-page-Ci14lDeO.js +0 -1
  378. package/dist/gateway/static/root/assets/automations-page-Q1xmb4Rh.js +0 -6
  379. package/dist/gateway/static/root/assets/browser-settings-page-DbowrHXD.js +0 -8
  380. package/dist/gateway/static/root/assets/capabilities-settings-panel-DoZPFdKF.js +0 -7
  381. package/dist/gateway/static/root/assets/capability-presets-api-Dn-7MMEo.js +0 -1
  382. package/dist/gateway/static/root/assets/capability-presets-settings-panel-Bt8Hnx0h.js +0 -1
  383. package/dist/gateway/static/root/assets/channels-settings-Bpsebsru.js +0 -1
  384. package/dist/gateway/static/root/assets/channels-status-swr-DFmdYRE5.js +0 -1
  385. package/dist/gateway/static/root/assets/connector-logo-TRr9ybf6.js +0 -1
  386. package/dist/gateway/static/root/assets/connectors-page-Tg5kl22i.js +0 -2
  387. package/dist/gateway/static/root/assets/cron-expression-B3B1eqnr.js +0 -2
  388. package/dist/gateway/static/root/assets/extension-settings-page-C9ag5tb5.js +0 -1
  389. package/dist/gateway/static/root/assets/gateway-settings-9g8uIry9.js +0 -1
  390. package/dist/gateway/static/root/assets/heartbeat-settings-fl1oC_-5.js +0 -1
  391. package/dist/gateway/static/root/assets/home-page-Bao9jq_z.js +0 -3
  392. package/dist/gateway/static/root/assets/index-Cl5n1f_U.css +0 -1
  393. package/dist/gateway/static/root/assets/index-OJgiMh07.js +0 -223
  394. package/dist/gateway/static/root/assets/local-app-workbench-page-B69NvtvH.js +0 -2
  395. package/dist/gateway/static/root/assets/locale-store-D6hs74o5.js +0 -1
  396. package/dist/gateway/static/root/assets/logs-page-Cq3cABqg.js +0 -7
  397. package/dist/gateway/static/root/assets/messages-D02NNLCZ.js +0 -3
  398. package/dist/gateway/static/root/assets/notes-workbench-BOZfJFhE.js +0 -4
  399. package/dist/gateway/static/root/assets/product-delivery-C8JbSj5Y.js +0 -1
  400. package/dist/gateway/static/root/assets/project-detail-page-TSKFb2tN.js +0 -1
  401. package/dist/gateway/static/root/assets/projects-page-BokeBrTT.js +0 -1
  402. package/dist/gateway/static/root/assets/remote-access-hub-C56anxCX.js +0 -1
  403. package/dist/gateway/static/root/assets/segmented-styles-BL8oLBEp.js +0 -1
  404. package/dist/gateway/static/root/assets/sessions-page-C7TQADrD.js +0 -1
  405. package/dist/gateway/static/root/assets/settings-advanced-gate-BDOPKeAX.js +0 -1
  406. package/dist/gateway/static/root/assets/settings-form-section-zxo5ZGOu.js +0 -1
  407. package/dist/gateway/static/root/assets/settings-page-BUPSIa9P.js +0 -1
  408. package/dist/gateway/static/root/assets/setup-status-panel-BRg766eW.js +0 -1
  409. package/dist/gateway/static/root/assets/shares-settings-DhEAviQ_.js +0 -1
  410. package/dist/gateway/static/root/assets/skill-reload-api-Ct7AV8ls.js +0 -1
  411. package/dist/gateway/static/root/assets/skills-page-DoVuprZm.js +0 -2
  412. package/dist/gateway/static/root/assets/time-picker-BGk_Tbsj.js +0 -1
  413. package/dist/gateway/static/root/assets/use-save-bar-registration-5aVSjTjO.js +0 -1
  414. package/dist/gateway/static/root/assets/user-context-page-B9K41qmy.js +0 -1
  415. package/dist/gateway/static/root/assets/work-discovery-page-BBVnRHju.js +0 -1
  416. package/dist/gateway/static/root/assets/workflows-page-Bs_tYfst.js +0 -11
  417. package/dist/src/agent/code-intelligence/binary.d.ts +0 -15
  418. package/dist/src/agent/code-intelligence/binary.js +0 -372
  419. package/dist/src/agent/code-intelligence/index.d.ts +0 -4
  420. package/dist/src/agent/code-intelligence/index.js +0 -4
  421. package/dist/src/agent/code-intelligence/runtime.d.ts +0 -34
  422. package/dist/src/agent/code-intelligence/runtime.js +0 -280
  423. package/dist/src/agent/code-intelligence/tool-gating.d.ts +0 -5
  424. package/dist/src/agent/code-intelligence/tool-gating.js +0 -6
  425. package/dist/src/agent/code-intelligence/tools.d.ts +0 -6
  426. package/dist/src/agent/code-intelligence/tools.js +0 -266
  427. package/dist/src/agent/code-intelligence/types.d.ts +0 -22
  428. package/dist/src/agent/memory/context/planner.js +0 -286
  429. package/dist/src/agent/memory/dreaming/config.d.ts +0 -48
  430. package/dist/src/agent/memory/dreaming/config.js +0 -98
  431. package/dist/src/agent/memory/dreaming/constants.d.ts +0 -12
  432. package/dist/src/agent/memory/dreaming/constants.js +0 -18
  433. package/dist/src/agent/memory/dreaming/deep-promotion.d.ts +0 -19
  434. package/dist/src/agent/memory/dreaming/deep-promotion.js +0 -152
  435. package/dist/src/agent/memory/dreaming/light-sweep.d.ts +0 -16
  436. package/dist/src/agent/memory/dreaming/light-sweep.js +0 -115
  437. package/dist/src/agent/memory/dreaming/preview.d.ts +0 -23
  438. package/dist/src/agent/memory/dreaming/preview.js +0 -52
  439. package/dist/src/agent/memory/dreaming/promotion-lifecycle.d.ts +0 -16
  440. package/dist/src/agent/memory/dreaming/promotion-lifecycle.js +0 -44
  441. package/dist/src/agent/memory/dreaming/rem-patterns.d.ts +0 -19
  442. package/dist/src/agent/memory/dreaming/rem-patterns.js +0 -150
  443. package/dist/src/agent/memory/dreaming/runner.d.ts +0 -10
  444. package/dist/src/agent/memory/dreaming/runner.js +0 -78
  445. package/dist/src/agent/memory/dreaming/schedule.d.ts +0 -23
  446. package/dist/src/agent/memory/dreaming/schedule.js +0 -38
  447. package/dist/src/agent/memory/dreaming/scope.d.ts +0 -11
  448. package/dist/src/agent/memory/dreaming/scope.js +0 -33
  449. package/dist/src/agent/memory/dreaming/utils.d.ts +0 -3
  450. package/dist/src/agent/memory/dreaming/utils.js +0 -31
  451. package/dist/src/agent/streaming/reasoning-visibility-sse.d.ts +0 -15
  452. package/dist/src/gateway/agent-run-relay.d.ts +0 -19
  453. package/dist/src/gateway/agent-run-relay.js +0 -169
  454. package/dist/src/gateway/hono/routes/memory.d.ts +0 -3
  455. package/dist/src/gateway/hono/routes/memory.js +0 -460
  456. package/dist/src/gateway/hono/sse.d.ts +0 -53
  457. package/dist/src/gateway/hono/sse.js +0 -207
  458. package/dist/src/gateway/service/sse-hub.d.ts +0 -10
  459. package/dist/src/gateway/service/sse-hub.js +0 -53
  460. package/dist/src/storage/sqlite/dreaming-repository.d.ts +0 -61
  461. package/dist/src/storage/sqlite/dreaming-repository.js +0 -88
  462. package/dist/src/storage/sqlite/memory-readiness-repository.d.ts +0 -7
  463. package/dist/src/storage/sqlite/memory-readiness-repository.js +0 -30
  464. package/dist/src/storage/sqlite/memory-reference-consent-repository.d.ts +0 -27
  465. package/dist/src/storage/sqlite/memory-reference-consent-repository.js +0 -107
  466. package/dist/src/storage/sqlite/user-claims-repository.d.ts +0 -101
  467. package/dist/src/storage/sqlite/user-claims-repository.js +0 -241
  468. package/dist/src/storage/sqlite/user-profile-setup-repository.d.ts +0 -3
  469. package/dist/src/storage/sqlite/user-profile-setup-repository.js +0 -32
  470. package/dist/src/tui/sse-consumer.d.ts +0 -15
  471. package/dist/src/tui/sse-consumer.js +0 -73
  472. package/dist/src/user-context/context-compiler.d.ts +0 -27
  473. package/dist/src/user-context/context-compiler.js +0 -48
  474. package/dist/src/user-context/import.d.ts +0 -12
  475. package/dist/src/user-context/import.js +0 -51
  476. package/dist/src/user-context/memory-episode-evaluator.d.ts +0 -32
  477. package/dist/src/user-context/memory-episode-evaluator.js +0 -35
  478. package/dist/src/user-context/memory-readiness.d.ts +0 -33
  479. package/dist/src/user-context/memory-readiness.js +0 -41
  480. package/dist/src/user-context/memory-use-audit.d.ts +0 -10
  481. package/dist/src/user-context/memory-use-audit.js +0 -26
  482. package/dist/src/user-context/personal-playbook.d.ts +0 -11
  483. package/dist/src/user-context/personal-playbook.js +0 -41
  484. package/dist/src/user-context/profile.d.ts +0 -37
  485. package/dist/src/user-context/profile.js +0 -163
  486. package/dist/src/user-context/projection.d.ts +0 -120
  487. package/dist/src/user-context/projection.js +0 -262
  488. package/dist/src/user-context/source-recommendations.d.ts +0 -13
  489. package/dist/src/user-context/source-recommendations.js +0 -85
  490. /package/dist/src/{agent/code-intelligence → user-context/sources}/types.js +0 -0
@@ -1,15 +0,0 @@
1
- type FetchImplementation = typeof fetch;
2
- export interface DownloadCodebaseMemoryBinaryOptions {
3
- fetchImplementation?: FetchImplementation;
4
- timeoutMs?: number;
5
- }
6
- /** Resolve an explicit, shared, or bundled binary synchronously when already present. */
7
- export declare function resolveCodebaseMemoryBinary(explicitPath?: string): string;
8
- /** Download and checksum-verify the CBM executable into a caller-provided path. */
9
- export declare function downloadCodebaseMemoryBinary(destination: string, options?: DownloadCodebaseMemoryBinaryOptions): Promise<string>;
10
- /**
11
- * Resolve a shared, versioned user cache. Electron seeds it from its bundled binary;
12
- * CLI seeds it from a verified release download. This keeps both surfaces on one binary.
13
- */
14
- export declare function ensureCodebaseMemoryBinary(explicitPath?: string): Promise<string>;
15
- export {};
@@ -1,372 +0,0 @@
1
- import { resolveStateDir } from "../../config/paths-state.js";
2
- import { createLogger } from "../../utils/logger/index.js";
3
- import { init_logger } from "../../utils/logger.js";
4
- import { init_paths, resolveBinDir } from "../../config/paths.js";
5
- import { createRequire } from "node:module";
6
- import { tmpdir } from "node:os";
7
- import { dirname, join, resolve } from "node:path";
8
- import { accessSync, chmodSync, constants, copyFileSync, createReadStream, createWriteStream, existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
9
- import { execFile } from "node:child_process";
10
- import { createHash, randomBytes } from "node:crypto";
11
- import { Readable } from "node:stream";
12
- import { promisify } from "node:util";
13
- import { pipeline } from "node:stream/promises";
14
- import lockfile from "proper-lockfile";
15
- //#region src/agent/code-intelligence/binary.ts
16
- init_paths();
17
- init_logger();
18
- const require = createRequire(import.meta.url);
19
- const log = createLogger("CodeIntelligenceBinary");
20
- const CBM_VERSION = "0.9.0";
21
- const CACHE_SCHEMA_VERSION = 1;
22
- const DOWNLOAD_TIMEOUT_MS = 2 * 6e4;
23
- const RELEASE_BASE_URL = `https://github.com/DeusData/codebase-memory-mcp/releases/download/v${CBM_VERSION}`;
24
- const execFileAsync = promisify(execFile);
25
- function binaryName() {
26
- return process.platform === "win32" ? "codebase-memory-mcp.exe" : "codebase-memory-mcp";
27
- }
28
- function platformName() {
29
- switch (process.platform) {
30
- case "darwin": return "darwin";
31
- case "linux": return "linux";
32
- case "win32": return "windows";
33
- default: throw new Error(`Code intelligence is not supported on ${process.platform}`);
34
- }
35
- }
36
- function architectureName() {
37
- switch (process.arch) {
38
- case "arm64": return "arm64";
39
- case "x64": return "amd64";
40
- default: throw new Error(`Code intelligence is not supported on ${process.arch}`);
41
- }
42
- }
43
- function platformKey() {
44
- return `${platformName()}-${architectureName()}`;
45
- }
46
- function archiveName() {
47
- const platform = platformName();
48
- const extension = platform === "windows" ? "zip" : "tar.gz";
49
- const linuxPortable = platform === "linux" ? "-portable" : "";
50
- return `codebase-memory-mcp-${platform}-${architectureName()}${linuxPortable}.${extension}`;
51
- }
52
- function releaseUrl() {
53
- return `${RELEASE_BASE_URL}/${archiveName()}`;
54
- }
55
- function archiveExtension() {
56
- return platformName() === "windows" ? "zip" : "tar.gz";
57
- }
58
- function cacheVersionRoot() {
59
- return join(resolveBinDir(), "codebase-memory-mcp", `v${CBM_VERSION}`);
60
- }
61
- function cacheDir() {
62
- return join(cacheVersionRoot(), platformKey());
63
- }
64
- function cacheBinaryPath() {
65
- return join(cacheDir(), binaryName());
66
- }
67
- function cacheManifestPath(dir = cacheDir()) {
68
- return join(dir, "manifest.json");
69
- }
70
- function legacyManagedBinaryPath() {
71
- return join(resolveStateDir(), "code-intelligence", "bin", `v${CBM_VERSION}`, platformKey(), binaryName());
72
- }
73
- function isUsableBinary(path) {
74
- if (!existsSync(path)) return false;
75
- try {
76
- accessSync(path, process.platform === "win32" ? constants.F_OK : constants.X_OK);
77
- return true;
78
- } catch {
79
- return false;
80
- }
81
- }
82
- function expectedSha256(checksums, filename) {
83
- for (const line of checksums.split(/\r?\n/)) {
84
- const match = /^([a-f0-9]{64})\s+\*?(.+)$/i.exec(line.trim());
85
- if (match?.[2] === filename) return match[1].toLowerCase();
86
- }
87
- throw new Error(`checksums.txt does not contain ${filename}`);
88
- }
89
- async function sha256(path) {
90
- const hash = createHash("sha256");
91
- await new Promise((resolvePromise, reject) => {
92
- const input = createReadStream(path);
93
- input.on("data", (chunk) => hash.update(chunk));
94
- input.once("error", reject);
95
- input.once("end", resolvePromise);
96
- });
97
- return hash.digest("hex");
98
- }
99
- function readManagedManifest(dir = cacheDir()) {
100
- try {
101
- const parsed = JSON.parse(readFileSync(cacheManifestPath(dir), "utf8"));
102
- if (parsed.schemaVersion !== CACHE_SCHEMA_VERSION || parsed.component !== "codebase-memory-mcp" || parsed.cbmVersion !== CBM_VERSION || parsed.platform !== platformName() || parsed.arch !== architectureName() || parsed.binaryName !== binaryName() || typeof parsed.binarySha256 !== "string" || typeof parsed.binarySize !== "number") return;
103
- return parsed;
104
- } catch {
105
- return;
106
- }
107
- }
108
- function resolveSharedCachedBinary() {
109
- const binary = cacheBinaryPath();
110
- const manifest = readManagedManifest();
111
- if (!manifest || !isUsableBinary(binary)) return void 0;
112
- try {
113
- return statSync(binary).size === manifest.binarySize ? realpathSync(binary) : void 0;
114
- } catch {
115
- return;
116
- }
117
- }
118
- async function verifySharedCachedBinary() {
119
- const binary = resolveSharedCachedBinary();
120
- const manifest = readManagedManifest();
121
- if (!binary || !manifest) return void 0;
122
- try {
123
- return await sha256(binary) === manifest.binarySha256 ? binary : void 0;
124
- } catch {
125
- return;
126
- }
127
- }
128
- function packageBinaryPath() {
129
- try {
130
- return join(dirname(require.resolve("codebase-memory-mcp/package.json")), "bin", binaryName());
131
- } catch {
132
- return;
133
- }
134
- }
135
- function overrideBinaryPath(explicitPath) {
136
- for (const candidate of [explicitPath, process.env.XOPC_CBM_BINARY]) {
137
- if (!candidate?.trim()) continue;
138
- const absolute = resolve(candidate);
139
- if (isUsableBinary(absolute)) return realpathSync(absolute);
140
- }
141
- }
142
- function bundledBinaryCandidates() {
143
- const bundledPath = process.env.XOPC_CBM_BUNDLED_PATH?.trim();
144
- const bundledManifestPath = process.env.XOPC_CBM_BUNDLED_MANIFEST_PATH?.trim();
145
- const resourcesPath = process.resourcesPath;
146
- const resourcePath = resourcesPath ? join(resourcesPath, "bin", binaryName()) : void 0;
147
- const packagePath = packageBinaryPath();
148
- const candidates = [];
149
- if (bundledPath) candidates.push({
150
- path: bundledPath,
151
- source: "electron-bundle",
152
- manifestPath: bundledManifestPath || join(dirname(bundledPath), "codebase-memory-mcp.manifest.json")
153
- });
154
- if (resourcePath && resourcePath !== bundledPath) candidates.push({
155
- path: resourcePath,
156
- source: "electron-bundle",
157
- manifestPath: join(dirname(resourcePath), "codebase-memory-mcp.manifest.json")
158
- });
159
- if (packagePath) candidates.push({
160
- path: packagePath,
161
- source: "package-bundle"
162
- });
163
- candidates.push({
164
- path: legacyManagedBinaryPath(),
165
- source: "legacy-cache"
166
- });
167
- return candidates;
168
- }
169
- async function verifyBundledSource(candidate) {
170
- if (!isUsableBinary(candidate.path)) throw new Error(`source binary is unavailable at ${candidate.path}`);
171
- if (candidate.source !== "electron-bundle") return;
172
- if (!candidate.manifestPath) throw new Error("Electron CBM manifest path is missing");
173
- let manifest;
174
- try {
175
- manifest = JSON.parse(readFileSync(candidate.manifestPath, "utf8"));
176
- } catch (error) {
177
- throw new Error(`Electron CBM manifest is unreadable: ${error instanceof Error ? error.message : String(error)}`);
178
- }
179
- if (manifest.cbmVersion !== CBM_VERSION || manifest.platform !== platformName() || manifest.arch !== architectureName() || !/^[a-f0-9]{64}$/i.test(manifest.binarySha256)) throw new Error("Electron CBM manifest does not match this runtime");
180
- const actual = await sha256(candidate.path);
181
- if (actual !== manifest.binarySha256.toLowerCase()) throw new Error(`Electron CBM checksum mismatch: expected ${manifest.binarySha256}, got ${actual}`);
182
- }
183
- async function withCacheLock(fn) {
184
- const versionRoot = cacheVersionRoot();
185
- mkdirSync(versionRoot, { recursive: true });
186
- const release = await lockfile.lock(versionRoot, {
187
- realpath: false,
188
- lockfilePath: join(versionRoot, `.${platformKey()}.install.lock`),
189
- stale: 10 * 6e4,
190
- retries: {
191
- retries: 30,
192
- factor: 1.2,
193
- minTimeout: 100,
194
- maxTimeout: 1e3
195
- }
196
- });
197
- try {
198
- return await fn();
199
- } finally {
200
- await release();
201
- }
202
- }
203
- function cleanupStaleStaging(versionRoot) {
204
- const prefix = `.${platformKey()}.staging-`;
205
- const cutoff = Date.now() - 60 * 6e4;
206
- try {
207
- for (const entry of readdirSync(versionRoot)) {
208
- if (!entry.startsWith(prefix)) continue;
209
- const path = join(versionRoot, entry);
210
- if (statSync(path).mtimeMs < cutoff) rmSync(path, {
211
- recursive: true,
212
- force: true
213
- });
214
- }
215
- } catch {}
216
- }
217
- async function installInSharedCache(source, populate) {
218
- const versionRoot = cacheVersionRoot();
219
- const targetDir = cacheDir();
220
- const stagingDir = join(versionRoot, `.${platformKey()}.staging-${process.pid}-${randomBytes(6).toString("hex")}`);
221
- const stagingBinary = join(stagingDir, binaryName());
222
- mkdirSync(stagingDir, { recursive: true });
223
- try {
224
- await populate(stagingBinary);
225
- if (!isUsableBinary(stagingBinary)) throw new Error("staged codebase-memory-mcp binary is not executable");
226
- if (process.platform !== "win32") chmodSync(stagingBinary, 493);
227
- const binarySha256 = await sha256(stagingBinary);
228
- const manifest = {
229
- schemaVersion: CACHE_SCHEMA_VERSION,
230
- component: "codebase-memory-mcp",
231
- cbmVersion: CBM_VERSION,
232
- platform: platformName(),
233
- arch: architectureName(),
234
- binaryName: binaryName(),
235
- binarySha256,
236
- binarySize: statSync(stagingBinary).size,
237
- source,
238
- installedAt: (/* @__PURE__ */ new Date()).toISOString()
239
- };
240
- writeFileSync(cacheManifestPath(stagingDir), `${JSON.stringify(manifest, null, 2)}\n`, "utf8");
241
- rmSync(targetDir, {
242
- recursive: true,
243
- force: true
244
- });
245
- renameSync(stagingDir, targetDir);
246
- return realpathSync(cacheBinaryPath());
247
- } catch (error) {
248
- rmSync(stagingDir, {
249
- recursive: true,
250
- force: true
251
- });
252
- throw error;
253
- }
254
- }
255
- /** Resolve an explicit, shared, or bundled binary synchronously when already present. */
256
- function resolveCodebaseMemoryBinary(explicitPath) {
257
- const overridden = overrideBinaryPath(explicitPath);
258
- if (overridden) return overridden;
259
- const shared = resolveSharedCachedBinary();
260
- if (shared) return shared;
261
- for (const candidate of bundledBinaryCandidates()) {
262
- const absolute = resolve(candidate.path);
263
- if (isUsableBinary(absolute)) return realpathSync(absolute);
264
- }
265
- throw new Error("codebase-memory-mcp binary is unavailable");
266
- }
267
- /** Download and checksum-verify the CBM executable into a caller-provided path. */
268
- async function downloadCodebaseMemoryBinary(destination, options = {}) {
269
- const fetchImplementation = options.fetchImplementation ?? fetch;
270
- const timeoutMs = options.timeoutMs ?? DOWNLOAD_TIMEOUT_MS;
271
- const temporaryPath = `${destination}.${process.pid}.part`;
272
- const abortController = new AbortController();
273
- const tempDir = mkdtempSync(join(tmpdir(), "xopc-cbm-"));
274
- const archivePath = join(tempDir, `cbm.${archiveExtension()}`);
275
- let timedOut = false;
276
- let rejectTimeout;
277
- const timeoutPromise = new Promise((_resolve, reject) => {
278
- rejectTimeout = reject;
279
- });
280
- const timer = setTimeout(() => {
281
- timedOut = true;
282
- abortController.abort();
283
- rejectTimeout?.(/* @__PURE__ */ new Error(`download timed out after ${timeoutMs}ms`));
284
- }, timeoutMs);
285
- try {
286
- mkdirSync(dirname(destination), { recursive: true });
287
- rmSync(temporaryPath, { force: true });
288
- await Promise.race([(async () => {
289
- const checksumsResponse = await fetchImplementation(`${RELEASE_BASE_URL}/checksums.txt`, {
290
- redirect: "follow",
291
- signal: abortController.signal
292
- });
293
- if (!checksumsResponse.ok) throw new Error(`GitHub Releases returned HTTP ${checksumsResponse.status} for checksums.txt`);
294
- const expectedChecksum = expectedSha256(await checksumsResponse.text(), archiveName());
295
- const response = await fetchImplementation(releaseUrl(), {
296
- redirect: "follow",
297
- signal: abortController.signal
298
- });
299
- if (!response.ok) throw new Error(`GitHub Releases returned HTTP ${response.status}`);
300
- if (!response.body) throw new Error("GitHub Releases returned an empty response body");
301
- await pipeline(Readable.fromWeb(response.body), createWriteStream(archivePath, { mode: 384 }));
302
- const actualChecksum = await sha256(archivePath);
303
- if (actualChecksum !== expectedChecksum) throw new Error(`checksum mismatch for ${archiveName()}: expected ${expectedChecksum}, got ${actualChecksum}`);
304
- if (archiveExtension() === "tar.gz") await execFileAsync("tar", [
305
- "-xzf",
306
- archivePath,
307
- "-C",
308
- tempDir,
309
- "--no-same-owner"
310
- ]);
311
- else await execFileAsync("powershell", [
312
- "-NoProfile",
313
- "-Command",
314
- `Expand-Archive -Path '${archivePath}' -DestinationPath '${tempDir}' -Force`
315
- ]);
316
- const extracted = join(tempDir, binaryName());
317
- if (!isUsableBinary(extracted)) throw new Error(`binary was not present after extracting ${archiveExtension()} archive`);
318
- copyFileSync(extracted, temporaryPath);
319
- })(), timeoutPromise]);
320
- if (timedOut) throw new Error(`download timed out after ${timeoutMs}ms`);
321
- if (process.platform !== "win32") chmodSync(temporaryPath, 493);
322
- renameSync(temporaryPath, destination);
323
- return realpathSync(destination);
324
- } catch (error) {
325
- const reason = timedOut ? `download timed out after ${timeoutMs}ms` : error instanceof Error ? error.message : String(error);
326
- throw new Error(`Unable to download codebase-memory-mcp from GitHub Releases: ${reason}. Check network access or set XOPC_CBM_BINARY to a trusted executable.`);
327
- } finally {
328
- clearTimeout(timer);
329
- rmSync(temporaryPath, { force: true });
330
- rmSync(tempDir, {
331
- recursive: true,
332
- force: true
333
- });
334
- }
335
- }
336
- /**
337
- * Resolve a shared, versioned user cache. Electron seeds it from its bundled binary;
338
- * CLI seeds it from a verified release download. This keeps both surfaces on one binary.
339
- */
340
- async function ensureCodebaseMemoryBinary(explicitPath) {
341
- const overridden = overrideBinaryPath(explicitPath);
342
- if (overridden) return overridden;
343
- const cached = await verifySharedCachedBinary();
344
- if (cached) return cached;
345
- return withCacheLock(async () => {
346
- cleanupStaleStaging(cacheVersionRoot());
347
- const afterLock = await verifySharedCachedBinary();
348
- if (afterLock) return afterLock;
349
- for (const candidate of bundledBinaryCandidates()) try {
350
- await verifyBundledSource(candidate);
351
- return await installInSharedCache(candidate.source, async (destination) => {
352
- copyFileSync(candidate.path, destination);
353
- });
354
- } catch (error) {
355
- log.warn({
356
- err: error,
357
- source: candidate.source,
358
- path: candidate.path
359
- }, "Code intelligence binary source was not usable");
360
- }
361
- log.info({
362
- destination: cacheBinaryPath(),
363
- version: CBM_VERSION,
364
- timeoutMs: DOWNLOAD_TIMEOUT_MS
365
- }, "Downloading code intelligence binary into shared cache");
366
- return installInSharedCache("github-release", async (destination) => {
367
- await downloadCodebaseMemoryBinary(destination);
368
- });
369
- });
370
- }
371
- //#endregion
372
- export { downloadCodebaseMemoryBinary, ensureCodebaseMemoryBinary, resolveCodebaseMemoryBinary };
@@ -1,4 +0,0 @@
1
- export { downloadCodebaseMemoryBinary, ensureCodebaseMemoryBinary, resolveCodebaseMemoryBinary, } from './binary.js';
2
- export { CodeIntelligenceRuntime } from './runtime.js';
3
- export { createCodeIntelligenceTools, type CodeIntelligenceToolDeps } from './tools.js';
4
- export type { CodeIntelligenceRuntimeLike, CodeIntelligenceState, CodeIntelligenceStatus, CodeIntelligenceToolResult, } from './types.js';
@@ -1,4 +0,0 @@
1
- import { createCodeIntelligenceTools } from "./tools.js";
2
- import { downloadCodebaseMemoryBinary, ensureCodebaseMemoryBinary, resolveCodebaseMemoryBinary } from "./binary.js";
3
- import { CodeIntelligenceRuntime } from "./runtime.js";
4
- export { CodeIntelligenceRuntime, createCodeIntelligenceTools, downloadCodebaseMemoryBinary, ensureCodebaseMemoryBinary, resolveCodebaseMemoryBinary };
@@ -1,34 +0,0 @@
1
- import type { Config } from '../../config/schema.js';
2
- import type { CodeIntelligenceRuntimeLike, CodeIntelligenceStatus, CodeIntelligenceToolResult } from './types.js';
3
- export declare class CodeIntelligenceRuntime implements CodeIntelligenceRuntimeLike {
4
- private readonly workspace;
5
- private readonly project;
6
- private readonly getConfig;
7
- private state;
8
- private coverage;
9
- private indexedAt;
10
- private errorMessage;
11
- private dirtyPaths;
12
- private dirtyVersion;
13
- private refreshTimer;
14
- private connectionPromise;
15
- private indexPromise;
16
- private client;
17
- private transport;
18
- private availableTools;
19
- private disposed;
20
- constructor(options: {
21
- workspace: string;
22
- getConfig: () => Config;
23
- });
24
- getStatus(): CodeIntelligenceStatus;
25
- supportsTool(name: string): boolean;
26
- prime(): Promise<void>;
27
- markDirty(paths: readonly string[]): void;
28
- callTool(toolNames: string | readonly string[], input: Record<string, unknown>, signal?: AbortSignal): Promise<CodeIntelligenceToolResult>;
29
- private ensureConnected;
30
- private refreshIndex;
31
- private callRaw;
32
- private resetConnection;
33
- dispose(): Promise<void>;
34
- }