@xopcai/xopc 0.0.189 → 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 (347) hide show
  1. package/README.md +0 -3
  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-DTFKTPs8.js → activity-store-DstnJCS5.js} +1 -1
  6. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-DqO25Qe5.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-DWeXfwVU.js → api-BTL9kayv.js} +1 -1
  9. package/dist/gateway/static/root/assets/{app-management-settings-panel-BRpV8PXG.js → app-management-settings-panel-DkFeIdBf.js} +1 -1
  10. package/dist/gateway/static/root/assets/{appearance-settings-3ntKM9nQ.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-Df7Ycj_7.js → archive-plugin-Ch2RmLCC.js} +1 -1
  13. package/dist/gateway/static/root/assets/{attachment-load-UHgfZYtj.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-BJah99wE.js → binary-plugins-D6CqlymH.js} +1 -1
  16. package/dist/gateway/static/root/assets/{block-editor-DNlY5KqF.js → block-editor-ClL6HEg9.js} +48 -48
  17. package/dist/gateway/static/root/assets/browser-settings-page-DW99iDmD.js +8 -0
  18. package/dist/gateway/static/root/assets/{browser-workflow-inputs-vyUfdzAd.js → browser-workflow-inputs-BYy48VhN.js} +1 -1
  19. package/dist/gateway/static/root/assets/{browser-workflows-page-C1cKZjx-.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-BGG2kpJB.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-BUuBEJuP.js → desktop-pet-Cv8rGhYW.js} +1 -1
  30. package/dist/gateway/static/root/assets/{desktop-pet-settings-BGfVIJM3.js → desktop-pet-settings-CIeJdwfV.js} +1 -1
  31. package/dist/gateway/static/root/assets/{directory-picker-path-field-DrQFfHH_.js → directory-picker-path-field-D8jXEiAY.js} +1 -1
  32. package/dist/gateway/static/root/assets/{extension-debug-page-CEnIFOX-.js → extension-debug-page-CCZ9u6TZ.js} +1 -1
  33. package/dist/gateway/static/root/assets/{extension-page-CCqHbexs.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-CgUE2Ii1.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-DxhKNiCF.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-DCFdc-HD.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-Bf2VLtXW.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-Ca1RuI13.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-B3Eop1zn.js → management-settings--V_fovKD.js} +1 -1
  49. package/dist/gateway/static/root/assets/{markdown-split-BGOYjgnM.js → markdown-split-Dt9-in6W.js} +1 -1
  50. package/dist/gateway/static/root/assets/{media-plugins-CT0txyM4.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-DfKgAe78.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-DNrbCgmC.js → page-tabs-C5ge434C.js} +1 -1
  55. package/dist/gateway/static/root/assets/{preview-open-alternatives-BTqViDOR.js → preview-open-alternatives-BFa9DgSV.js} +1 -1
  56. package/dist/gateway/static/root/assets/{product-open-page-C_2L4_Iu.js → product-open-page-Dc9CcWdu.js} +1 -1
  57. package/dist/gateway/static/root/assets/project-detail-page-BilzoCJ7.js +1 -0
  58. package/dist/gateway/static/root/assets/projects-page-BoQUyacP.js +1 -0
  59. package/dist/gateway/static/root/assets/remote-access-hub-DUyUaCRF.js +1 -0
  60. package/dist/gateway/static/root/assets/{schema-form-BFLfkDGG.js → schema-form-B84DckWe.js} +1 -1
  61. package/dist/gateway/static/root/assets/sessions-page-Dzxlq1F0.js +1 -0
  62. package/dist/gateway/static/root/assets/settings-advanced-gate-TzwlZxU6.js +1 -0
  63. package/dist/gateway/static/root/assets/settings-form-section-Dp9itvdy.js +1 -0
  64. package/dist/gateway/static/root/assets/{settings-loading-skeleton-C9a-EbTZ.js → settings-loading-skeleton-CCtlhoy7.js} +1 -1
  65. package/dist/gateway/static/root/assets/{settings-page-DI9qDH5x.js → settings-page-DQmMKf8r.js} +1 -1
  66. package/dist/gateway/static/root/assets/{settings-page-layout-D-LWQdI5.js → settings-page-layout-EQIOJa_L.js} +1 -1
  67. package/dist/gateway/static/root/assets/{setup-status-panel-CJwmPvgs.js → setup-status-panel-Cwi-SPja.js} +1 -1
  68. package/dist/gateway/static/root/assets/{share-preview-page-BKSMG9r5.js → share-preview-page-C4_B2jvf.js} +1 -1
  69. package/dist/gateway/static/root/assets/shares-settings-CkyuGlZK.js +1 -0
  70. package/dist/gateway/static/root/assets/skill-reload-api-BJCePQK5.js +1 -0
  71. package/dist/gateway/static/root/assets/skills-page-BYWLfmJi.js +2 -0
  72. package/dist/gateway/static/root/assets/{skills-page.utils-zsz2HIlZ.js → skills-page.utils-Jhm24i4h.js} +1 -1
  73. package/dist/gateway/static/root/assets/{system-settings-panel-IWNDBI1O.js → system-settings-panel-Dpx2ags2.js} +1 -1
  74. package/dist/gateway/static/root/assets/{task-detail-page-CgtK02kP.js → task-detail-page-DLAdxI6e.js} +1 -1
  75. package/dist/gateway/static/root/assets/{theme-store-BkJe7UDo.js → theme-store-DnBOcGXi.js} +1 -1
  76. package/dist/gateway/static/root/assets/{typed-models-lib-C07LGthO.js → typed-models-lib-DULmTHUB.js} +1 -1
  77. package/dist/gateway/static/root/assets/use-autosave-BrjVk5VH.js +1 -0
  78. package/dist/gateway/static/root/assets/user-context-page-9AAFpGAL.js +1 -0
  79. package/dist/gateway/static/root/assets/{voice-api-key-field-Boue1D46.js → voice-api-key-field-BISTPfq_.js} +1 -1
  80. package/dist/gateway/static/root/assets/{work-discovery-overlay-bbmvCmc8.js → work-discovery-overlay-Wr-uF7VA.js} +1 -1
  81. package/dist/gateway/static/root/assets/work-discovery-page-BWds95sL.js +1 -0
  82. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-DlHv-GZC.js → workflow-run-setup-panel-DHqHP8_6.js} +2 -2
  83. package/dist/gateway/static/root/assets/workflows-page-0b4_DFHr.js +11 -0
  84. package/dist/gateway/static/root/index.html +7 -7
  85. package/dist/package.js +1 -1
  86. package/dist/packages/gateway-contract/src/tool-activity.js +0 -36
  87. package/dist/packages/realtime-client/src/index.js +105 -48
  88. package/dist/packages/realtime-protocol/src/index.js +6 -1
  89. package/dist/src/agent/agent-manager.d.ts +0 -1
  90. package/dist/src/agent/agent-manager.js +6 -13
  91. package/dist/src/agent/background-review/coordinator.js +1 -1
  92. package/dist/src/agent/background-review/run-background-review.js +5 -7
  93. package/dist/src/agent/bootstrap/bootstrap-cache.d.ts +0 -1
  94. package/dist/src/agent/bootstrap/bootstrap-cache.js +3 -4
  95. package/dist/src/agent/bootstrap/bootstrap-files.d.ts +0 -4
  96. package/dist/src/agent/bootstrap/bootstrap-files.js +3 -4
  97. package/dist/src/agent/bootstrap/filter-bootstrap-files.js +1 -4
  98. package/dist/src/agent/bootstrap/load-bootstrap-files.d.ts +0 -1
  99. package/dist/src/agent/bootstrap/load-bootstrap-files.js +1 -14
  100. package/dist/src/agent/bootstrap/types.d.ts +1 -1
  101. package/dist/src/agent/context/workspace-templates/SOUL.md +1 -1
  102. package/dist/src/agent/memory/builtin-provider.d.ts +2 -4
  103. package/dist/src/agent/memory/builtin-provider.js +35 -15
  104. package/dist/src/agent/memory/context/types.d.ts +3 -1
  105. package/dist/src/agent/memory/create-memory-manager.js +2 -0
  106. package/dist/src/agent/memory/index.d.ts +1 -1
  107. package/dist/src/agent/memory/index.js +1 -1
  108. package/dist/src/agent/memory/manager.d.ts +9 -1
  109. package/dist/src/agent/memory/manager.js +39 -9
  110. package/dist/src/agent/memory/memory-config.d.ts +1 -1
  111. package/dist/src/agent/memory/memory-config.js +1 -1
  112. package/dist/src/agent/memory/source-origin.js +0 -2
  113. package/dist/src/agent/memory/types.d.ts +5 -1
  114. package/dist/src/agent/memory/understanding/service.d.ts +10 -10
  115. package/dist/src/agent/memory/understanding/service.js +108 -176
  116. package/dist/src/agent/memory/understanding/types.d.ts +7 -8
  117. package/dist/src/agent/memory/user-context-coordinator.d.ts +2 -1
  118. package/dist/src/agent/memory/user-context-coordinator.js +27 -41
  119. package/dist/src/agent/orchestration/agent-orchestrator.js +4 -7
  120. package/dist/src/agent/prompt/sections/memory-skills.js +4 -4
  121. package/dist/src/agent/prompt/sections/tooling.js +0 -10
  122. package/dist/src/agent/prompt/service-prompt-builder.d.ts +0 -1
  123. package/dist/src/agent/prompt/service-prompt-builder.js +4 -33
  124. package/dist/src/agent/prompt/system-prompt.js +1 -2
  125. package/dist/src/agent/service/direct-turn-helpers.js +1 -1
  126. package/dist/src/agent/service.d.ts +1 -2
  127. package/dist/src/agent/service.js +4 -17
  128. package/dist/src/agent/skills/marketplace/adapters/clawhub/adapter.js +1 -1
  129. package/dist/src/agent/tools/dreaming-tool.d.ts +0 -2
  130. package/dist/src/agent/tools/dreaming-tool.js +13 -38
  131. package/dist/src/agent/tools/factory.d.ts +0 -3
  132. package/dist/src/agent/tools/factory.js +1 -10
  133. package/dist/src/agent/tools/index.d.ts +0 -1
  134. package/dist/src/agent/tools/index.js +1 -2
  135. package/dist/src/agent/tools/memory-tool.js +1 -1
  136. package/dist/src/agent/workspace-runtime/registry.d.ts +3 -5
  137. package/dist/src/agent/workspace-runtime/registry.js +2 -15
  138. package/dist/src/agent-manifest/schema.d.ts +17 -17
  139. package/dist/src/agent-runtime/index.js +1 -1
  140. package/dist/src/agent-runtime/memory-runtime.d.ts +2 -2
  141. package/dist/src/agent-runtime/runtime-profile.js +1 -1
  142. package/dist/src/automations/domain/validation.d.ts +28 -28
  143. package/dist/src/automations/draft/automation-draft-validator.d.ts +3 -3
  144. package/dist/src/chat-commands/builtins/understanding.js +2 -5
  145. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  146. package/dist/src/cli/commands/init.js +3 -22
  147. package/dist/src/cli/templates.js +1 -1
  148. package/dist/src/config/index.js +3 -3
  149. package/dist/src/config/paths.d.ts +0 -5
  150. package/dist/src/config/paths.js +2 -11
  151. package/dist/src/config/schema.d.ts +24 -117
  152. package/dist/src/config/schema.js +9 -39
  153. package/dist/src/connectors/learning-coordinator.js +75 -3
  154. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
  155. package/dist/src/gateway/agent-builtin-tools.js +0 -5
  156. package/dist/src/gateway/agents-admin.d.ts +0 -7
  157. package/dist/src/gateway/agents-admin.js +3 -32
  158. package/dist/src/gateway/dreaming-automation-reconciler.d.ts +3 -3
  159. package/dist/src/gateway/dreaming-automation-reconciler.js +48 -88
  160. package/dist/src/gateway/hono/lib/config-payload.d.ts +19 -7
  161. package/dist/src/gateway/hono/lib/config-payload.js +3 -1
  162. package/dist/src/gateway/hono/oauth-async.d.ts +1 -0
  163. package/dist/src/gateway/hono/oauth-async.js +17 -2
  164. package/dist/src/gateway/hono/routes/agents.js +1 -33
  165. package/dist/src/gateway/hono/routes/config-patch/misc.js +17 -1
  166. package/dist/src/gateway/hono/routes/connectors.js +13 -12
  167. package/dist/src/gateway/hono/routes/index.js +2 -2
  168. package/dist/src/gateway/hono/routes/lazy-bundles.js +1 -5
  169. package/dist/src/gateway/hono/routes/status.js +0 -7
  170. package/dist/src/gateway/hono/routes/understanding-sources.d.ts +3 -0
  171. package/dist/src/gateway/hono/routes/understanding-sources.js +203 -0
  172. package/dist/src/gateway/hono/routes/work-discovery.d.ts +2 -0
  173. package/dist/src/gateway/hono/routes/work-discovery.js +3 -134
  174. package/dist/src/gateway/hono/routes/you.d.ts +0 -22
  175. package/dist/src/gateway/hono/routes/you.js +234 -1118
  176. package/dist/src/gateway/service/config-coordinator.d.ts +1 -1
  177. package/dist/src/gateway/service/run-gateway-agent.js +2 -4
  178. package/dist/src/knowledge/connected-knowledge-pipeline.js +1 -1
  179. package/dist/src/knowledge/connected-understanding-pipeline.d.ts +2 -4
  180. package/dist/src/knowledge/connected-understanding-pipeline.js +31 -81
  181. package/dist/src/knowledge/index.js +2 -2
  182. package/dist/src/knowledge/people-graph.d.ts +22 -25
  183. package/dist/src/knowledge/people-graph.js +76 -43
  184. package/dist/src/proactive/execution/context.js +8 -13
  185. package/dist/src/realtime/broker.d.ts +1 -0
  186. package/dist/src/realtime/broker.js +19 -2
  187. package/dist/src/realtime/runtime.js +6 -1
  188. package/dist/src/storage/sqlite/connector-account-repository.js +0 -1
  189. package/dist/src/storage/sqlite/context-consolidation-repository.d.ts +37 -0
  190. package/dist/src/storage/sqlite/context-consolidation-repository.js +64 -0
  191. package/dist/src/storage/sqlite/fts.d.ts +2 -0
  192. package/dist/src/storage/sqlite/fts.js +29 -1
  193. package/dist/src/storage/sqlite/index.d.ts +4 -6
  194. package/dist/src/storage/sqlite/index.js +5 -7
  195. package/dist/src/storage/sqlite/knowledge-repository.d.ts +9 -2
  196. package/dist/src/storage/sqlite/knowledge-repository.js +58 -10
  197. package/dist/src/storage/sqlite/memory-records-repository.d.ts +7 -56
  198. package/dist/src/storage/sqlite/memory-records-repository.js +68 -218
  199. package/dist/src/storage/sqlite/migrations/113_memory_evidence_single_source.sql +54 -0
  200. package/dist/src/storage/sqlite/migrations/114_user_context_domain.sql +193 -0
  201. package/dist/src/storage/sqlite/migrations/115_remove_legacy_user_context.sql +6 -0
  202. package/dist/src/storage/sqlite/migrations/116_structured_context_consolidation.sql +38 -0
  203. package/dist/src/storage/sqlite/migrations/117_unified_understanding_sources.sql +110 -0
  204. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  205. package/dist/src/storage/sqlite/migrations/runner.js +3 -3
  206. package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
  207. package/dist/src/storage/sqlite/schema.js +1 -1
  208. package/dist/src/storage/sqlite/schema.sql +0 -20
  209. package/dist/src/storage/sqlite/user-context-quality-repository.d.ts +34 -0
  210. package/dist/src/storage/sqlite/user-context-quality-repository.js +74 -0
  211. package/dist/src/storage/sqlite/user-context-repository.d.ts +64 -0
  212. package/dist/src/storage/sqlite/user-context-repository.js +383 -0
  213. package/dist/src/tui/tool-summary.js +1 -7
  214. package/dist/src/tui/tui-startup-resources.js +1 -2
  215. package/dist/src/user-context/config.d.ts +17 -210
  216. package/dist/src/user-context/config.js +19 -85
  217. package/dist/src/user-context/consolidation.d.ts +26 -0
  218. package/dist/src/user-context/consolidation.js +115 -0
  219. package/dist/src/user-context/domain.d.ts +75 -0
  220. package/dist/src/user-context/domain.js +4 -0
  221. package/dist/src/user-context/manual-understanding.d.ts +7 -14
  222. package/dist/src/user-context/manual-understanding.js +19 -54
  223. package/dist/src/{agent/memory/context → user-context}/planner.d.ts +5 -6
  224. package/dist/src/user-context/planner.js +311 -0
  225. package/dist/src/user-context/relationship-continuity.d.ts +3 -6
  226. package/dist/src/user-context/relationship-continuity.js +39 -32
  227. package/dist/src/user-context/sources/catalog.d.ts +2 -0
  228. package/dist/src/user-context/sources/catalog.js +149 -0
  229. package/dist/src/user-context/sources/index.d.ts +3 -0
  230. package/dist/src/user-context/sources/index.js +3 -0
  231. package/dist/src/user-context/sources/repository.d.ts +40 -0
  232. package/dist/src/user-context/sources/repository.js +164 -0
  233. package/dist/src/user-context/sources/types.d.ts +83 -0
  234. package/dist/src/work-discovery/analyzer.d.ts +4 -3
  235. package/dist/src/work-discovery/analyzer.js +21 -16
  236. package/dist/src/work-discovery/incremental-repository.js +42 -40
  237. package/dist/src/work-discovery/index.js +3 -3
  238. package/dist/src/work-discovery/service.d.ts +7 -7
  239. package/dist/src/work-discovery/service.js +241 -190
  240. package/dist/src/work-discovery/source-repository.js +42 -53
  241. package/dist/src/work-discovery/types.d.ts +2 -14
  242. package/package.json +3 -8
  243. package/dist/gateway/static/root/assets/agents-BvdqdER9.js +0 -2
  244. package/dist/gateway/static/root/assets/apps-page-nKLsfy6C.js +0 -1
  245. package/dist/gateway/static/root/assets/automations-page-Dh5bdZiN.js +0 -6
  246. package/dist/gateway/static/root/assets/browser-settings-page-CRJ_nAuh.js +0 -8
  247. package/dist/gateway/static/root/assets/capabilities-settings-panel-DeQR5BZt.js +0 -7
  248. package/dist/gateway/static/root/assets/capability-presets-api-D7tkhDMv.js +0 -1
  249. package/dist/gateway/static/root/assets/capability-presets-settings-panel-D7uK3q1p.js +0 -1
  250. package/dist/gateway/static/root/assets/channels-settings-Bw6Dniyq.js +0 -1
  251. package/dist/gateway/static/root/assets/channels-status-swr-BrUTz4uU.js +0 -1
  252. package/dist/gateway/static/root/assets/connector-logo-8YU53RUT.js +0 -1
  253. package/dist/gateway/static/root/assets/connectors-page-k9tMiOL5.js +0 -2
  254. package/dist/gateway/static/root/assets/cron-expression-B3B1eqnr.js +0 -2
  255. package/dist/gateway/static/root/assets/extension-settings-page-DEZw_7zN.js +0 -1
  256. package/dist/gateway/static/root/assets/gateway-settings-Dg8qCiIp.js +0 -1
  257. package/dist/gateway/static/root/assets/heartbeat-settings-27tRzDEo.js +0 -1
  258. package/dist/gateway/static/root/assets/home-page-VA511kMr.js +0 -3
  259. package/dist/gateway/static/root/assets/index-BvR-i-m6.js +0 -216
  260. package/dist/gateway/static/root/assets/index-zybP34zk.css +0 -1
  261. package/dist/gateway/static/root/assets/local-app-workbench-page-CaJq4-wV.js +0 -2
  262. package/dist/gateway/static/root/assets/locale-store-DUW5YE3R.js +0 -1
  263. package/dist/gateway/static/root/assets/logs-page-BLTCg69e.js +0 -2
  264. package/dist/gateway/static/root/assets/messages-CMjnbdbn.js +0 -3
  265. package/dist/gateway/static/root/assets/notes-workbench-Bp1w9UM1.js +0 -4
  266. package/dist/gateway/static/root/assets/project-detail-page-CZmbPDQN.js +0 -1
  267. package/dist/gateway/static/root/assets/projects-page-D5pzqfm5.js +0 -1
  268. package/dist/gateway/static/root/assets/remote-access-hub-CC-XhVGI.js +0 -1
  269. package/dist/gateway/static/root/assets/segmented-styles-BL8oLBEp.js +0 -1
  270. package/dist/gateway/static/root/assets/sessions-page-B2eTLVDV.js +0 -1
  271. package/dist/gateway/static/root/assets/settings-advanced-gate-CRuZ_bl0.js +0 -1
  272. package/dist/gateway/static/root/assets/settings-form-section-C4GXGeA4.js +0 -1
  273. package/dist/gateway/static/root/assets/shares-settings-YzSDS4G_.js +0 -1
  274. package/dist/gateway/static/root/assets/skill-reload-api-CwOo8zZk.js +0 -1
  275. package/dist/gateway/static/root/assets/skills-page-xd1cgSGN.js +0 -2
  276. package/dist/gateway/static/root/assets/time-picker-CstQ___Y.js +0 -1
  277. package/dist/gateway/static/root/assets/use-save-bar-registration-CQYE0l6z.js +0 -1
  278. package/dist/gateway/static/root/assets/user-context-page-BnQAWS_B.js +0 -1
  279. package/dist/gateway/static/root/assets/work-discovery-page-CAszL1y8.js +0 -1
  280. package/dist/gateway/static/root/assets/workflows-page-DxGzo3-x.js +0 -11
  281. package/dist/src/agent/code-intelligence/binary.d.ts +0 -15
  282. package/dist/src/agent/code-intelligence/binary.js +0 -372
  283. package/dist/src/agent/code-intelligence/index.d.ts +0 -4
  284. package/dist/src/agent/code-intelligence/index.js +0 -4
  285. package/dist/src/agent/code-intelligence/runtime.d.ts +0 -34
  286. package/dist/src/agent/code-intelligence/runtime.js +0 -280
  287. package/dist/src/agent/code-intelligence/tool-gating.d.ts +0 -5
  288. package/dist/src/agent/code-intelligence/tool-gating.js +0 -6
  289. package/dist/src/agent/code-intelligence/tools.d.ts +0 -6
  290. package/dist/src/agent/code-intelligence/tools.js +0 -266
  291. package/dist/src/agent/code-intelligence/types.d.ts +0 -22
  292. package/dist/src/agent/memory/context/planner.js +0 -286
  293. package/dist/src/agent/memory/dreaming/config.d.ts +0 -48
  294. package/dist/src/agent/memory/dreaming/config.js +0 -98
  295. package/dist/src/agent/memory/dreaming/constants.d.ts +0 -12
  296. package/dist/src/agent/memory/dreaming/constants.js +0 -18
  297. package/dist/src/agent/memory/dreaming/deep-promotion.d.ts +0 -19
  298. package/dist/src/agent/memory/dreaming/deep-promotion.js +0 -152
  299. package/dist/src/agent/memory/dreaming/light-sweep.d.ts +0 -16
  300. package/dist/src/agent/memory/dreaming/light-sweep.js +0 -115
  301. package/dist/src/agent/memory/dreaming/preview.d.ts +0 -23
  302. package/dist/src/agent/memory/dreaming/preview.js +0 -52
  303. package/dist/src/agent/memory/dreaming/promotion-lifecycle.d.ts +0 -16
  304. package/dist/src/agent/memory/dreaming/promotion-lifecycle.js +0 -44
  305. package/dist/src/agent/memory/dreaming/rem-patterns.d.ts +0 -19
  306. package/dist/src/agent/memory/dreaming/rem-patterns.js +0 -150
  307. package/dist/src/agent/memory/dreaming/runner.d.ts +0 -10
  308. package/dist/src/agent/memory/dreaming/runner.js +0 -78
  309. package/dist/src/agent/memory/dreaming/schedule.d.ts +0 -23
  310. package/dist/src/agent/memory/dreaming/schedule.js +0 -38
  311. package/dist/src/agent/memory/dreaming/scope.d.ts +0 -11
  312. package/dist/src/agent/memory/dreaming/scope.js +0 -33
  313. package/dist/src/agent/memory/dreaming/utils.d.ts +0 -3
  314. package/dist/src/agent/memory/dreaming/utils.js +0 -31
  315. package/dist/src/gateway/hono/routes/memory.d.ts +0 -3
  316. package/dist/src/gateway/hono/routes/memory.js +0 -460
  317. package/dist/src/storage/sqlite/dreaming-repository.d.ts +0 -61
  318. package/dist/src/storage/sqlite/dreaming-repository.js +0 -88
  319. package/dist/src/storage/sqlite/memory-readiness-repository.d.ts +0 -7
  320. package/dist/src/storage/sqlite/memory-readiness-repository.js +0 -30
  321. package/dist/src/storage/sqlite/memory-reference-consent-repository.d.ts +0 -27
  322. package/dist/src/storage/sqlite/memory-reference-consent-repository.js +0 -107
  323. package/dist/src/storage/sqlite/user-claims-repository.d.ts +0 -101
  324. package/dist/src/storage/sqlite/user-claims-repository.js +0 -241
  325. package/dist/src/storage/sqlite/user-profile-setup-repository.d.ts +0 -3
  326. package/dist/src/storage/sqlite/user-profile-setup-repository.js +0 -32
  327. package/dist/src/user-context/actionableInsights.d.ts +0 -14
  328. package/dist/src/user-context/actionableInsights.js +0 -34
  329. package/dist/src/user-context/context-compiler.d.ts +0 -27
  330. package/dist/src/user-context/context-compiler.js +0 -48
  331. package/dist/src/user-context/import.d.ts +0 -12
  332. package/dist/src/user-context/import.js +0 -51
  333. package/dist/src/user-context/memory-episode-evaluator.d.ts +0 -32
  334. package/dist/src/user-context/memory-episode-evaluator.js +0 -35
  335. package/dist/src/user-context/memory-readiness.d.ts +0 -33
  336. package/dist/src/user-context/memory-readiness.js +0 -41
  337. package/dist/src/user-context/memory-use-audit.d.ts +0 -10
  338. package/dist/src/user-context/memory-use-audit.js +0 -26
  339. package/dist/src/user-context/personal-playbook.d.ts +0 -11
  340. package/dist/src/user-context/personal-playbook.js +0 -41
  341. package/dist/src/user-context/profile.d.ts +0 -37
  342. package/dist/src/user-context/profile.js +0 -163
  343. package/dist/src/user-context/projection.d.ts +0 -120
  344. package/dist/src/user-context/projection.js +0 -262
  345. package/dist/src/user-context/source-recommendations.d.ts +0 -13
  346. package/dist/src/user-context/source-recommendations.js +0 -85
  347. /package/dist/src/{agent/code-intelligence → user-context/sources}/types.js +0 -0
@@ -1,4 +1,4 @@
1
- import type { MemoryProvider, MemoryProviderInitOptions } from './provider.js';
1
+ import type { MemoryProvider } from './provider.js';
2
2
  import type { MemoryDeleteRequest, MemoryListRequest, MemoryReadRequest, MemoryReadResult, MemoryRecord, MemorySearchRequest, MemorySearchResult, MemoryUpdateRequest, MemoryWriteRequest, MemoryWriteResult, MemorySyncEvent } from './types.js';
3
3
  /**
4
4
  * Builtin local memory provider backed exclusively by the structured SQLite store.
@@ -19,10 +19,8 @@ export declare class BuiltinMemoryProvider implements MemoryProvider {
19
19
  sync: boolean;
20
20
  local: boolean;
21
21
  };
22
- private workspaceDir;
23
- private agentId;
24
22
  isAvailable(): boolean;
25
- initialize(_sessionId: string, options?: MemoryProviderInitOptions): Promise<void>;
23
+ initialize(): Promise<void>;
26
24
  systemPromptBlock(): string;
27
25
  queuePrefetch(): void;
28
26
  getToolSchemas(): any[];
@@ -16,21 +16,16 @@ var BuiltinMemoryProvider = class {
16
16
  update: true,
17
17
  delete: true,
18
18
  keywordSearch: true,
19
- semanticSearch: false,
20
- hybridSearch: false,
19
+ semanticSearch: true,
20
+ hybridSearch: true,
21
21
  citations: true,
22
22
  sync: false,
23
23
  local: true
24
24
  };
25
- workspaceDir = "";
26
- agentId = "main";
27
25
  isAvailable() {
28
26
  return true;
29
27
  }
30
- async initialize(_sessionId, options) {
31
- this.workspaceDir = options?.workspace ?? options?.agentWorkspace ?? this.workspaceDir;
32
- this.agentId = normalizeAgentId(String(options?.agentId ?? this.agentId));
33
- }
28
+ async initialize() {}
34
29
  systemPromptBlock() {
35
30
  return "";
36
31
  }
@@ -39,17 +34,40 @@ var BuiltinMemoryProvider = class {
39
34
  return [];
40
35
  }
41
36
  async search(request) {
42
- return searchMemoryRecords({
37
+ const options = {
43
38
  query: request.query,
44
39
  visibleToSessionKey: request.scope?.sessionKey,
45
40
  unscopedSessionOnly: request.scope?.sessionKey == null,
46
41
  visibleToProjectId: request.scope?.projectId,
47
42
  unscopedProjectOnly: request.scope?.projectId == null,
43
+ visibleToWorkspaceId: request.scope?.workspaceId,
44
+ unscopedWorkspaceOnly: request.scope?.workspaceId == null,
48
45
  providerId: this.id,
49
46
  kinds: request.kinds,
50
47
  maxResults: request.maxResults,
51
48
  minScore: request.minScore
52
- }).filter((result) => this.canReadRecord(result.record, request.scope)).sort((left, right) => right.score - left.score).slice(0, request.maxResults ?? 5);
49
+ };
50
+ const [active, shadow] = [searchMemoryRecords(options), searchMemoryRecords({
51
+ ...options,
52
+ statuses: ["candidate"],
53
+ maxResults: Math.min(5, request.maxResults ?? 5)
54
+ })];
55
+ for (const result of shadow) appendMemorySignal({
56
+ signal: {
57
+ source: "search_recall",
58
+ recordId: result.record.id,
59
+ score: result.score,
60
+ metadata: {
61
+ query: request.query,
62
+ shadow: true
63
+ }
64
+ },
65
+ providerId: this.id,
66
+ sourceAgentId: result.record.provenance.sourceAgentId,
67
+ workspaceId: request.scope?.workspaceId,
68
+ sessionKey: request.scope?.sessionKey
69
+ });
70
+ return active.filter((result) => this.canReadRecord(result.record, request.scope)).sort((left, right) => right.score - left.score).slice(0, request.maxResults ?? 5);
53
71
  }
54
72
  async read(request) {
55
73
  if (!request.id) return null;
@@ -62,7 +80,8 @@ var BuiltinMemoryProvider = class {
62
80
  async list(request) {
63
81
  return listMemoryRecords({
64
82
  providerId: this.id,
65
- workspaceId: request.scope?.workspaceId ?? this.workspaceDir,
83
+ visibleToWorkspaceId: request.scope?.workspaceId,
84
+ unscopedWorkspaceOnly: request.scope?.workspaceId == null,
66
85
  visibleToSessionKey: request.scope?.sessionKey,
67
86
  visibleToProjectId: request.scope?.projectId,
68
87
  kind: request.kind,
@@ -75,8 +94,8 @@ var BuiltinMemoryProvider = class {
75
94
  const record = upsertMemoryRecord({
76
95
  providerId: this.id,
77
96
  kind: request.kind,
78
- sourceAgentId: this.agentId,
79
- workspaceId: request.scope?.workspaceId ?? this.workspaceDir,
97
+ sourceAgentId: normalizeAgentId(request.sourceAgentId ?? "main"),
98
+ workspaceId: request.scope?.workspaceId,
80
99
  sessionKey: request.scope?.sessionKey,
81
100
  projectId: request.scope?.projectId,
82
101
  content: request.content,
@@ -171,8 +190,8 @@ var BuiltinMemoryProvider = class {
171
190
  appendMemorySignal({
172
191
  signal: event.signal,
173
192
  providerId: this.id,
174
- sourceAgentId: this.agentId,
175
- workspaceId: this.workspaceDir,
193
+ sourceAgentId: typeof event.signal.metadata?.agentId === "string" ? normalizeAgentId(event.signal.metadata.agentId) : "main",
194
+ workspaceId: typeof event.signal.metadata?.workspaceId === "string" ? event.signal.metadata.workspaceId : void 0,
176
195
  sessionKey: typeof event.signal.metadata?.sessionKey === "string" ? event.signal.metadata.sessionKey : void 0
177
196
  });
178
197
  }
@@ -180,6 +199,7 @@ var BuiltinMemoryProvider = class {
180
199
  canReadRecord(record, scope) {
181
200
  if (record.scope.sessionKey && record.scope.sessionKey !== scope?.sessionKey) return false;
182
201
  if (record.scope.projectId && record.scope.projectId !== scope?.projectId) return false;
202
+ if (record.scope.workspaceId && record.scope.workspaceId !== scope?.workspaceId) return false;
183
203
  return true;
184
204
  }
185
205
  };
@@ -1,7 +1,9 @@
1
1
  import type { AgentMessage } from '@earendil-works/pi-agent-core';
2
- export type UserContextRejectionReason = 'expired' | 'not_yet_valid' | 'sensitive' | 'requires_consent' | 'needs_review' | 'disabled' | 'conflict' | 'low_score' | 'budget';
2
+ export type UserContextRejectionReason = 'expired' | 'not_yet_valid' | 'sensitive' | 'requires_consent' | 'needs_review' | 'scope_mismatch' | 'disabled' | 'conflict' | 'low_score' | 'budget';
3
3
  export interface PlannedUserContextItem {
4
4
  recordId: string;
5
+ objectType: 'profile' | 'rule' | 'understanding';
6
+ versionId?: string;
5
7
  content: string;
6
8
  score: number;
7
9
  section: 'task' | 'interaction' | 'safety';
@@ -2,12 +2,14 @@ import { isMemorySubsystemEnabled } from "./memory-config.js";
2
2
  import { BuiltinMemoryProvider } from "./builtin-provider.js";
3
3
  import { MemoryManager } from "./manager.js";
4
4
  import { loadMemoryPluginProviders } from "./plugin-discovery.js";
5
+ import { buildMemoryRuntime } from "../../agent-runtime/memory-runtime.js";
5
6
  //#region src/agent/memory/create-memory-manager.ts
6
7
  function createMemoryManagerFromConfig(config) {
7
8
  const routing = resolveMemoryManagerOptions(config);
8
9
  const enabled = isMemorySubsystemEnabled(config);
9
10
  const mgr = new MemoryManager({
10
11
  ...routing,
12
+ ...config ? { memoryRuntime: buildMemoryRuntime(config.userContext) } : {},
11
13
  ...enabled ? { loadProviders: () => loadMemoryPluginProviders({ config }) } : {}
12
14
  });
13
15
  mgr.addProvider(new BuiltinMemoryProvider());
@@ -1,6 +1,6 @@
1
1
  export { BuiltinMemoryProvider } from './builtin-provider.js';
2
2
  export { buildUserContextBlock, sanitizeUserContextFenceEscapes, } from './context-fence.js';
3
- export { UserContextPlanner } from './context/planner.js';
3
+ export { UserContextPlanner } from '../../user-context/planner.js';
4
4
  export type { UserContextPlan } from './context/types.js';
5
5
  export { createMemoryManagerFromConfig } from './create-memory-manager.js';
6
6
  export { isMemorySubsystemEnabled, shouldPlanUserContextThisTurn, } from './memory-config.js';
@@ -1,6 +1,6 @@
1
1
  import { isMemorySubsystemEnabled, shouldPlanUserContextThisTurn } from "./memory-config.js";
2
2
  import { buildUserContextBlock, sanitizeUserContextFenceEscapes } from "./context-fence.js";
3
- import { UserContextPlanner } from "./context/planner.js";
3
+ import { UserContextPlanner } from "../../user-context/planner.js";
4
4
  import { extractAgentUserPlainText } from "./user-message-text.js";
5
5
  import { BuiltinMemoryProvider } from "./builtin-provider.js";
6
6
  import { UserUnderstandingService, extractExplicitUnderstandingCandidates } from "./understanding/service.js";
@@ -1,4 +1,5 @@
1
1
  import type { AgentTool } from '@earendil-works/pi-agent-core';
2
+ import type { MemoryRuntime } from '../../agent-runtime/memory-runtime.js';
2
3
  import type { MemoryProvider, MemoryProviderInitOptions } from './provider.js';
3
4
  import type { UnderstandingCandidate } from './understanding/types.js';
4
5
  import type { MemoryDeleteRequest, MemoryListRequest, MemoryReadRequest, MemoryReadResult, MemorySearchRequest, MemorySearchResult, MemoryUpdateRequest, MemoryWriteRequest, MemoryWriteResult, MemoryRecord, MemorySignal, MemoryKind } from './types.js';
@@ -12,6 +13,7 @@ export interface MemoryRoutingOptions {
12
13
  export interface MemoryManagerOptions extends MemoryRoutingOptions {
13
14
  loadProviders?: () => Promise<MemoryProvider[]>;
14
15
  writePolicy?: MemoryWritePolicy;
16
+ memoryRuntime?: MemoryRuntime;
15
17
  }
16
18
  export interface MemoryWritePolicy {
17
19
  allowExternalWrites?: boolean;
@@ -26,8 +28,9 @@ export declare class MemoryManager {
26
28
  private readonly writePolicy;
27
29
  private pluginProvidersLoaded;
28
30
  private readonly understanding;
31
+ private readonly memoryRuntime?;
29
32
  private readonly lastTurnSourceItem;
30
- private understandingAgentId;
33
+ private readonly sessionContexts;
31
34
  constructor(options?: MemoryManagerOptions);
32
35
  addProvider(provider: MemoryProvider): void;
33
36
  get providersList(): MemoryProvider[];
@@ -42,6 +45,9 @@ export declare class MemoryManager {
42
45
  captureTurnUnderstanding(userContent: string, assistantContent: string, options?: {
43
46
  agentId?: string;
44
47
  sessionId?: string;
48
+ turnId?: string;
49
+ workspaceId?: string;
50
+ projectId?: string;
45
51
  correctionTargetRecordIds?: string[];
46
52
  }): Promise<import('./understanding/types.js').UnderstandingReviewResult>;
47
53
  syncProvidersForTurn(userContent: string, assistantContent: string, options?: {
@@ -50,6 +56,8 @@ export declare class MemoryManager {
50
56
  applyUnderstandingCandidates(candidates: UnderstandingCandidate[], context?: {
51
57
  agentId?: string;
52
58
  sessionKey?: string;
59
+ workspaceId?: string;
60
+ projectId?: string;
53
61
  sourceItemId?: string;
54
62
  sourceItemIds?: string[];
55
63
  sourceText?: string;
@@ -1,7 +1,7 @@
1
1
  import { createLogger } from "../../utils/logger/index.js";
2
2
  import { init_logger } from "../../utils/logger.js";
3
- import { appendMemoryTraceEvent } from "../../storage/sqlite/memory-records-repository.js";
4
3
  import { setKnowledgeSourceItemSynthesisStatus } from "../../storage/sqlite/knowledge-repository.js";
4
+ import { appendMemoryTraceEvent } from "../../storage/sqlite/memory-records-repository.js";
5
5
  import "../../storage/sqlite/index.js";
6
6
  import { UserUnderstandingService } from "./understanding/service.js";
7
7
  //#region src/agent/memory/manager.ts
@@ -15,8 +15,9 @@ var MemoryManager = class {
15
15
  writePolicy;
16
16
  pluginProvidersLoaded = false;
17
17
  understanding;
18
+ memoryRuntime;
18
19
  lastTurnSourceItem = /* @__PURE__ */ new Map();
19
- understandingAgentId;
20
+ sessionContexts = /* @__PURE__ */ new Map();
20
21
  constructor(options = {}) {
21
22
  this.routing = {
22
23
  searchStrategy: options.searchStrategy ?? "fanout",
@@ -24,15 +25,13 @@ var MemoryManager = class {
24
25
  replicateTo: options.replicateTo ?? []
25
26
  };
26
27
  this.loadProviders = options.loadProviders;
28
+ this.memoryRuntime = options.memoryRuntime;
27
29
  this.writePolicy = {
28
30
  allowExternalWrites: options.writePolicy?.allowExternalWrites ?? false,
29
31
  allowedProviderIds: options.writePolicy?.allowedProviderIds,
30
32
  autoWriteKinds: options.writePolicy?.autoWriteKinds
31
33
  };
32
- this.understanding = new UserUnderstandingService({
33
- write: (request) => this.write(request),
34
- list: (canonicalKey) => this.list({ canonicalKey })
35
- });
34
+ this.understanding = new UserUnderstandingService();
36
35
  }
37
36
  addProvider(provider) {
38
37
  this.providers.push(provider);
@@ -87,11 +86,14 @@ var MemoryManager = class {
87
86
  await this.syncProvidersForTurn(userContent, assistantContent, options);
88
87
  }
89
88
  async captureTurnUnderstanding(userContent, assistantContent, options) {
89
+ const sessionContext = options?.sessionId ? this.sessionContexts.get(options.sessionId) : void 0;
90
90
  const review = await this.understanding.reviewTurn({
91
- agentId: options?.agentId ?? this.understandingAgentId,
92
91
  userContent,
93
92
  assistantContent,
94
93
  sessionKey: options?.sessionId,
94
+ turnId: options?.turnId,
95
+ workspaceId: options?.workspaceId ?? sessionContext?.workspace ?? sessionContext?.agentWorkspace,
96
+ projectId: options?.projectId,
95
97
  correctionTargetRecordIds: options?.correctionTargetRecordIds
96
98
  });
97
99
  if (options?.sessionId && review.sourceItemId) this.lastTurnSourceItem.set(options.sessionId, review.sourceItemId);
@@ -127,10 +129,11 @@ var MemoryManager = class {
127
129
  }
128
130
  }
129
131
  async applyUnderstandingCandidates(candidates, context = {}) {
132
+ const sessionContext = context.sessionKey ? this.sessionContexts.get(context.sessionKey) : void 0;
130
133
  const sourceItemId = context.sourceItemId ?? (context.sessionKey ? this.lastTurnSourceItem.get(context.sessionKey) : void 0);
131
134
  const result = await this.understanding.applyCandidates(candidates, {
132
135
  ...context,
133
- agentId: context.agentId ?? this.understandingAgentId,
136
+ workspaceId: context.workspaceId ?? sessionContext?.workspace ?? sessionContext?.agentWorkspace,
134
137
  sourceItemId
135
138
  });
136
139
  const sourceItemIds = [...new Set([...sourceItemId ? [sourceItemId] : [], ...context.sourceItemIds ?? []])];
@@ -272,6 +275,12 @@ var MemoryManager = class {
272
275
  return this.writeWithStrategy("delete", request);
273
276
  }
274
277
  canReadRecord(record, scope) {
278
+ if (record.providerId !== "local") return true;
279
+ if (this.memoryRuntime && !this.memoryRuntime.canRead(memorySourceForRecord(record))) return false;
280
+ if (record.scope.userId && scope?.userId && record.scope.userId !== scope.userId) return false;
281
+ if (record.scope.sessionKey && record.scope.sessionKey !== scope?.sessionKey) return false;
282
+ if (record.scope.projectId && record.scope.projectId !== scope?.projectId) return false;
283
+ if (record.scope.workspaceId && record.scope.workspaceId !== scope?.workspaceId) return false;
275
284
  return true;
276
285
  }
277
286
  recordSignal(signal) {
@@ -306,7 +315,7 @@ var MemoryManager = class {
306
315
  }
307
316
  }
308
317
  async initializeAll(sessionId, options) {
309
- this.understandingAgentId = options?.agentId;
318
+ if (options) this.sessionContexts.set(sessionId, { ...options });
310
319
  await this.loadPluginProvidersOnce();
311
320
  for (const p of this.providers) try {
312
321
  await p.initialize(sessionId, options);
@@ -337,6 +346,7 @@ var MemoryManager = class {
337
346
  }
338
347
  async shutdownAll() {
339
348
  this.lastTurnSourceItem.clear();
349
+ this.sessionContexts.clear();
340
350
  for (const p of [...this.providers].reverse()) try {
341
351
  await p.shutdown();
342
352
  } catch (err) {
@@ -420,6 +430,17 @@ var MemoryManager = class {
420
430
  if (!provider.capabilities.local && this.writePolicy.allowedProviderIds && this.writePolicy.allowedProviderIds.length > 0 && !this.writePolicy.allowedProviderIds.includes(provider.id)) return false;
421
431
  if (operation === "write") {
422
432
  const writeRequest = request;
433
+ if (provider.capabilities.local && this.memoryRuntime) {
434
+ const check = this.memoryRuntime.checkWrite({
435
+ target: writeRequest.writeTarget ?? writeTargetForRecord(writeRequest),
436
+ content: writeRequest.content,
437
+ source: writeRequest.source?.provider ?? "memory",
438
+ confidence: writeRequest.confidence,
439
+ sensitive: writeRequest.sensitivity != null && writeRequest.sensitivity !== "normal"
440
+ });
441
+ if (check.decision === "deny") return false;
442
+ if (check.decision === "confirm" && writeRequest.status !== "candidate" && !writeRequest.confirmed) return false;
443
+ }
423
444
  if (writeRequest.status === "candidate" && !provider.capabilities.local) return false;
424
445
  if (this.writePolicy.autoWriteKinds && this.writePolicy.autoWriteKinds.length > 0 && !this.writePolicy.autoWriteKinds.includes(writeRequest.kind)) return false;
425
446
  }
@@ -442,6 +463,15 @@ var MemoryManager = class {
442
463
  }
443
464
  }
444
465
  };
466
+ function memorySourceForRecord(record) {
467
+ if (record.source.provider === "agent-profile") return "agentProfile";
468
+ if (record.scope.sessionKey) return "session";
469
+ if (record.scope.workspaceId || record.kind === "workspace_fact" || record.kind === "project_context" || record.kind === "task_lesson") return "workspace";
470
+ return "understanding";
471
+ }
472
+ function writeTargetForRecord(request) {
473
+ return request.scope?.workspaceId || request.kind === "workspace_fact" || request.kind === "project_context" || request.kind === "task_lesson" ? "workspace" : "understanding";
474
+ }
445
475
  function sanitizeTraceRequest(request) {
446
476
  if (!request || typeof request !== "object") return request;
447
477
  const copy = { ...request };
@@ -1,5 +1,5 @@
1
1
  import type { Config } from '../../config/schema.js';
2
- /** When false, structured user understanding and external memory providers are off. */
2
+ /** Whether generic workspace and provider-backed memory is available. */
3
3
  export declare function isMemorySubsystemEnabled(config: Config | undefined): boolean;
4
4
  /**
5
5
  * Whether to prefix the user message with prefetched external memory this turn.
@@ -1,5 +1,5 @@
1
1
  //#region src/agent/memory/memory-config.ts
2
- /** When false, structured user understanding and external memory providers are off. */
2
+ /** Whether generic workspace and provider-backed memory is available. */
3
3
  function isMemorySubsystemEnabled(config) {
4
4
  if (!config) return true;
5
5
  return config.userContext.enabled && config.userContext.memory.mode !== "off";
@@ -2,8 +2,6 @@
2
2
  const INTERNAL_MEMORY_PROVIDERS = new Set([
3
3
  "local",
4
4
  "builtin",
5
- "user-understanding",
6
- "dreaming",
7
5
  "workflow-run"
8
6
  ]);
9
7
  function classifyMemoryContextOrigin(record) {
@@ -100,6 +100,10 @@ export interface MemoryWriteRequest {
100
100
  content: string;
101
101
  canonicalKey?: string;
102
102
  scope?: Partial<MemoryScope>;
103
+ /** Agent that produced this record. This is request data, never provider state. */
104
+ sourceAgentId?: string;
105
+ writeTarget?: 'agentProfile' | 'understanding' | 'workspace';
106
+ confirmed?: boolean;
103
107
  tags?: string[];
104
108
  source?: MemoryRecord['source'];
105
109
  confidence?: number;
@@ -163,7 +167,7 @@ export type MemorySyncEvent = {
163
167
  signal: MemorySignal;
164
168
  };
165
169
  export interface MemorySignal {
166
- source: 'search_recall' | 'context_injection' | 'session_summary' | 'explicit_remember' | 'background_review' | 'dreaming';
170
+ source: 'search_recall' | 'context_injection' | 'session_summary' | 'explicit_remember' | 'background_review';
167
171
  recordId?: string;
168
172
  score?: number;
169
173
  content?: string;
@@ -1,27 +1,27 @@
1
- import type { MemoryRecord, MemoryWriteRequest, MemoryWriteResult } from '../types.js';
2
1
  import type { UnderstandingCandidate, UnderstandingReviewResult } from './types.js';
3
2
  export declare function extractExplicitUnderstandingCandidates(userContent: string): UnderstandingCandidate[];
4
- export interface UserUnderstandingServiceOptions {
5
- write: (request: MemoryWriteRequest) => Promise<MemoryWriteResult>;
6
- list: (canonicalKey: string) => Promise<MemoryRecord[]>;
7
- }
8
3
  export declare class UserUnderstandingService {
9
- private readonly options;
10
- constructor(options: UserUnderstandingServiceOptions);
11
4
  reviewTurn(params: {
12
- agentId?: string;
13
5
  userContent: string;
14
6
  assistantContent: string;
15
7
  sessionKey?: string;
8
+ turnId?: string;
9
+ workspaceId?: string;
10
+ projectId?: string;
16
11
  correctionTargetRecordIds?: string[];
17
12
  }): Promise<UnderstandingReviewResult>;
18
13
  applyCandidates(candidates: UnderstandingCandidate[], context: {
19
- agentId?: string;
20
14
  sessionKey?: string;
15
+ workspaceId?: string;
16
+ projectId?: string;
21
17
  sourceItemId?: string;
22
18
  sourceItemIds?: string[];
23
19
  sourceText?: string;
24
- source?: MemoryRecord['source'];
20
+ source?: {
21
+ provider?: string;
22
+ sourceInstanceId?: string;
23
+ };
24
+ evidenceIds?: string[];
25
25
  reviewSource?: 'turn' | 'background';
26
26
  supersedesRecordIds?: string[];
27
27
  }): Promise<Omit<UnderstandingReviewResult, 'sourceItemId'>>;