@xopcai/xopc 0.0.284 → 0.0.286

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 (996) hide show
  1. package/dist/browser-ext/dist/assets/{auth-DB30ywek.js → auth-BXCWrPlg.js} +1 -1
  2. package/dist/browser-ext/dist/background.js +2 -2
  3. package/dist/browser-ext/dist/sidepanel.html +1 -1
  4. package/dist/browser-ext/dist/sidepanel.js +136 -136
  5. package/dist/browser-ext/manifest.json +1 -1
  6. package/dist/extensions/feishu/src/adapters/gateway-setup.js +14 -14
  7. package/dist/extensions/feishu/src/state/message-bindings.d.ts +1 -1
  8. package/dist/extensions/feishu/src/state/thread-bindings.d.ts +4 -4
  9. package/dist/extensions/feishu/src/state/thread-bindings.js +6 -6
  10. package/dist/extensions/feishu/src/subagent-hooks.d.ts +1 -1
  11. package/dist/extensions/feishu/src/subagent-hooks.js +5 -5
  12. package/dist/extensions/feishu/src/transport/socket-mode/monitor.js +9 -9
  13. package/dist/extensions/feishu/src/transport/webhook/monitor.js +4 -4
  14. package/dist/extensions/feishu/src/workflow-progress.d.ts +1 -1
  15. package/dist/extensions/feishu/src/workflow-progress.js +8 -7
  16. package/dist/extensions/telegram/src/approval-store.d.ts +2 -2
  17. package/dist/extensions/telegram/src/approval-store.js +1 -1
  18. package/dist/extensions/telegram/src/command-handler.d.ts +2 -2
  19. package/dist/extensions/telegram/src/command-handler.js +8 -8
  20. package/dist/extensions/telegram/src/delivery-chat-id.d.ts +1 -1
  21. package/dist/extensions/telegram/src/delivery-chat-id.js +7 -3
  22. package/dist/extensions/telegram/src/exec-approval-handler.js +1 -1
  23. package/dist/extensions/telegram/src/focus-handler.d.ts +2 -2
  24. package/dist/extensions/telegram/src/focus-handler.js +10 -10
  25. package/dist/extensions/telegram/src/inbound-processor.d.ts +3 -3
  26. package/dist/extensions/telegram/src/inbound-processor.js +11 -11
  27. package/dist/extensions/telegram/src/plugin.js +5 -5
  28. package/dist/extensions/telegram/src/routing-integration.d.ts +1 -1
  29. package/dist/extensions/telegram/src/routing-integration.js +19 -21
  30. package/dist/extensions/telegram/src/thread-bindings.d.ts +1 -1
  31. package/dist/extensions/telegram/src/workflow-progress.js +8 -7
  32. package/dist/extensions/telegram/xopc.extension.json +1 -1
  33. package/dist/extensions/weixin/src/auth/login-qr.d.ts +4 -4
  34. package/dist/extensions/weixin/src/auth/login-qr.js +21 -21
  35. package/dist/extensions/weixin/src/auth/weixin-account-id.d.ts +1 -1
  36. package/dist/extensions/weixin/src/auth/weixin-account-id.js +1 -1
  37. package/dist/extensions/weixin/src/cli/gateway-qr-login.d.ts +2 -2
  38. package/dist/extensions/weixin/src/cli/gateway-qr-login.js +13 -13
  39. package/dist/extensions/weixin/src/cli/qr-login.js +1 -1
  40. package/dist/extensions/weixin/src/delivery-to.js +6 -2
  41. package/dist/extensions/weixin/src/messaging/inbound.d.ts +1 -1
  42. package/dist/extensions/weixin/src/messaging/inbound.js +1 -1
  43. package/dist/extensions/weixin/src/messaging/process-message.js +3 -3
  44. package/dist/extensions/weixin/src/plugin.js +5 -5
  45. package/dist/extensions/weixin/src/routing-integration.d.ts +1 -1
  46. package/dist/extensions/weixin/src/routing-integration.js +3 -3
  47. package/dist/extensions/weixin/src/workflow-progress.d.ts +1 -1
  48. package/dist/extensions/weixin/src/workflow-progress.js +7 -6
  49. package/dist/gateway/static/root/assets/{activity-store-CwbIMGLY.js → activity-store-xOhV8FHx.js} +1 -1
  50. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-DjiOld-S.js → agent-avatar-dicebear-BzQbYWEj.js} +1 -1
  51. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-BxR5eog4.js +1 -0
  52. package/dist/gateway/static/root/assets/agents-Dx1om1eN.js +1 -0
  53. package/dist/gateway/static/root/assets/{api-3lphBVuY.js → api-CVJQLBv9.js} +1 -1
  54. package/dist/gateway/static/root/assets/api-q1kIMCLW.js +1 -0
  55. package/dist/gateway/static/root/assets/{app-management-settings-panel-B2nwCXxE.js → app-management-settings-panel-CTyuXkNC.js} +1 -1
  56. package/dist/gateway/static/root/assets/{appearance-settings-BXO4Ej88.js → appearance-settings-Tk-GJtvF.js} +1 -1
  57. package/dist/gateway/static/root/assets/apps-page-BA-7OrhJ.js +1 -0
  58. package/dist/gateway/static/root/assets/{archive-plugin-6ZRqNjla.js → archive-plugin-O49jeeXo.js} +1 -1
  59. package/dist/gateway/static/root/assets/{attachment-load-CmPZalcW.js → attachment-load-r9lBF2tW.js} +1 -1
  60. package/dist/gateway/static/root/assets/{automations-page-Bc3WbK5n.js → automations-page-CFFLXYgS.js} +1 -1
  61. package/dist/gateway/static/root/assets/automations-workspace-DUZE1NOH.js +6 -0
  62. package/dist/gateway/static/root/assets/{binary-plugins-OWR6cxpc.js → binary-plugins-BpM43vsn.js} +1 -1
  63. package/dist/gateway/static/root/assets/{block-editor-Ca-tDQXm.js → block-editor-DFrfEcGw.js} +3 -3
  64. package/dist/gateway/static/root/assets/{browser-automation-inputs-Dxy2_p3U.js → browser-automation-inputs-CyHGQwxQ.js} +1 -1
  65. package/dist/gateway/static/root/assets/{browser-automations-page-CibQIxpi.js → browser-automations-page-CPkOWfM9.js} +2 -2
  66. package/dist/gateway/static/root/assets/browser-settings-page-BOcseZxg.js +8 -0
  67. package/dist/gateway/static/root/assets/button-CGlRPNzi.js +1 -0
  68. package/dist/gateway/static/root/assets/capabilities-settings-panel-ohEV64hG.js +8 -0
  69. package/dist/gateway/static/root/assets/channels-settings-UOf9mgqt.js +1 -0
  70. package/dist/gateway/static/root/assets/{channels-status-swr-Bh-G9mdZ.js → channels-status-swr-BArPeImO.js} +1 -1
  71. package/dist/gateway/static/root/assets/{chat-terminal-dock-lbzbSpV3.js → chat-terminal-dock-D5Aka4S8.js} +2 -2
  72. package/dist/gateway/static/root/assets/connectors-page-BEQR0NRq.js +2 -0
  73. package/dist/gateway/static/root/assets/{cron-expression-CjrWuy2m.js → cron-expression-GDPX4NxC.js} +1 -1
  74. package/dist/gateway/static/root/assets/{date-picker-tYvbTfZT.js → date-picker-DNtRu6EB.js} +1 -1
  75. package/dist/gateway/static/root/assets/{dependency-picker-B8yo7-7V.js → dependency-picker-Dng3dIQa.js} +1 -1
  76. package/dist/gateway/static/root/assets/desktop-pet-BicYycxy.js +1 -0
  77. package/dist/gateway/static/root/assets/{desktop-pet-settings-DNeVGZNp.js → desktop-pet-settings-BEse55eX.js} +1 -1
  78. package/dist/gateway/static/root/assets/device-pairing-wizard-be30HuFI.js +1 -0
  79. package/dist/gateway/static/root/assets/{extension-debug-page-CiK0QI2p.js → extension-debug-page-YzhYyuay.js} +1 -1
  80. package/dist/gateway/static/root/assets/{extension-page-CirPNHJd.js → extension-page-CEXVIkDl.js} +1 -1
  81. package/dist/gateway/static/root/assets/extension-settings-page-CrlbgK8g.js +1 -0
  82. package/dist/gateway/static/root/assets/{gateway-config-swr-Co4hHe0i.js → gateway-config-swr-BNuoHXiZ.js} +1 -1
  83. package/dist/gateway/static/root/assets/gateway-settings-CDJY1AOW.js +1 -0
  84. package/dist/gateway/static/root/assets/{gateway-startup-retry-DBPNJG-e.js → gateway-startup-retry-zMPfje0n.js} +1 -1
  85. package/dist/gateway/static/root/assets/heartbeat-settings-BtxitqZ3.js +1 -0
  86. package/dist/gateway/static/root/assets/home-page-_oqo0pNR.js +1 -0
  87. package/dist/gateway/static/root/assets/{image-generation-api-D0rMTumD.js → image-generation-api-B_Tyx74A.js} +1 -1
  88. package/dist/gateway/static/root/assets/imports-page-eZciuLw_.js +1 -0
  89. package/dist/gateway/static/root/assets/index--YC42LAz.css +2 -0
  90. package/dist/gateway/static/root/assets/index-fVtuw2o9.js +75 -0
  91. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-CMUaF61L.js → keyboard-shortcuts-settings-B796W039.js} +1 -1
  92. package/dist/gateway/static/root/assets/local-app-workbench-page-Z8mpau9d.js +2 -0
  93. package/dist/gateway/static/root/assets/{local-apps-page-CHxyT09t.js → local-apps-page-DXmY5jwM.js} +1 -1
  94. package/dist/gateway/static/root/assets/locale-store-D0001I7p.js +1 -0
  95. package/dist/gateway/static/root/assets/logs-page-BGOO8ouT.js +2 -0
  96. package/dist/gateway/static/root/assets/{management-settings-jXbA2S54.js → management-settings-b1MG7s-3.js} +1 -1
  97. package/dist/gateway/static/root/assets/{markdown-view-CKInRsDh.js → markdown-view-2txE_Blz.js} +1 -1
  98. package/dist/gateway/static/root/assets/{media-plugins-BaPkSvW7.js → media-plugins-CDEf3ksI.js} +1 -1
  99. package/dist/gateway/static/root/assets/messages-BWANv-N-.js +3 -0
  100. package/dist/gateway/static/root/assets/note-detail-panel-Bm33_3xJ.js +5 -0
  101. package/dist/gateway/static/root/assets/notes-page-C32-xssK.js +8 -0
  102. package/dist/gateway/static/root/assets/page-tabs-Bi_-DA5J.js +1 -0
  103. package/dist/gateway/static/root/assets/popover-select-DldSX8GX.js +1 -0
  104. package/dist/gateway/static/root/assets/{preview-open-alternatives-DzgF1yYO.js → preview-open-alternatives-Dhfdf14p.js} +1 -1
  105. package/dist/gateway/static/root/assets/proactive-page-BNouL7Tv.js +1 -0
  106. package/dist/gateway/static/root/assets/{product-open-page-iQ-eW6Aj.js → product-open-page-BkbZBqBr.js} +1 -1
  107. package/dist/gateway/static/root/assets/project-detail-page-CZ7glGYw.js +1 -0
  108. package/dist/gateway/static/root/assets/projects-page-DP3ZINZz.js +1 -0
  109. package/dist/gateway/static/root/assets/{registry-api-DMNudT60.js → registry-api-icwoEKYB.js} +1 -1
  110. package/dist/gateway/static/root/assets/remote-access-hub-xqJcPdOO.js +1 -0
  111. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-u_wVepf7.js → runtime-tools-settings-panel-bmgxwWpW.js} +2 -2
  112. package/dist/gateway/static/root/assets/{schema-form-YdZj2xdI.js → schema-form-DoZeepCg.js} +1 -1
  113. package/dist/gateway/static/root/assets/sessions-page-BaxIfjpm.js +1 -0
  114. package/dist/gateway/static/root/assets/settings-advanced-gate-Cy3Ab3Vg.js +1 -0
  115. package/dist/gateway/static/root/assets/settings-form-section-sw2bbS2b.js +1 -0
  116. package/dist/gateway/static/root/assets/{settings-page-CV8kVdnE.js → settings-page-BWF8uac0.js} +1 -1
  117. package/dist/gateway/static/root/assets/settings-page-layout-CsUQKRq0.js +1 -0
  118. package/dist/gateway/static/root/assets/setup-status-panel-BuYto2mT.js +1 -0
  119. package/dist/gateway/static/root/assets/{share-preview-page-BHwjHlrV.js → share-preview-page-BIHYD6-O.js} +1 -1
  120. package/dist/gateway/static/root/assets/shares-settings-DKtWUneq.js +1 -0
  121. package/dist/gateway/static/root/assets/skill-reload-api-Dn7ElMUk.js +1 -0
  122. package/dist/gateway/static/root/assets/{skills-page-DRKdb6O5.js → skills-page-D-7UtJIc.js} +1 -1
  123. package/dist/gateway/static/root/assets/{skills-page.utils-DYfaLtts.js → skills-page.utils-dvue6Ish.js} +1 -1
  124. package/dist/gateway/static/root/assets/{system-settings-panel-CWrWpKV-.js → system-settings-panel-DCyxPWCl.js} +1 -1
  125. package/dist/gateway/static/root/assets/task-detail-page-efmH43Pq.js +1 -0
  126. package/dist/gateway/static/root/assets/{theme-store-CDc7Wqy5.js → theme-store-CZwYGpbY.js} +1 -1
  127. package/dist/gateway/static/root/assets/tunnel-api-__auf8Ww.js +1 -0
  128. package/dist/gateway/static/root/assets/{use-autosave-D-FRib85.js → use-autosave-Iq83UDt3.js} +1 -1
  129. package/dist/gateway/static/root/assets/user-model-page-DByIJcQq.js +2 -0
  130. package/dist/gateway/static/root/assets/{voice-api-key-field-iQ7EBzII.js → voice-api-key-field-D-QssKik.js} +1 -1
  131. package/dist/gateway/static/root/assets/{voice-config-api-DNMWA2tx.js → voice-config-api-B0wNN_tE.js} +1 -1
  132. package/dist/gateway/static/root/assets/{work-discovery-overlay-BesuhDlH.js → work-discovery-overlay-5NRYg1iI.js} +1 -1
  133. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-Du81FoCy.js → workflow-run-setup-panel-Ds2SZjLG.js} +2 -2
  134. package/dist/gateway/static/root/assets/workflows-page-BJv3eoKR.js +6 -0
  135. package/dist/gateway/static/root/index.html +12 -12
  136. package/dist/package.js +1 -1
  137. package/dist/packages/endpoint-tools-protocol/src/index.js +312 -305
  138. package/dist/packages/gateway-contract/src/agent-stream.js +6 -0
  139. package/dist/packages/gateway-contract/src/automations.js +215 -0
  140. package/dist/packages/gateway-contract/src/browser-page-context.js +48 -39
  141. package/dist/packages/gateway-contract/src/browser-tab-binding.js +30 -25
  142. package/dist/packages/gateway-contract/src/clarifications.js +6 -0
  143. package/dist/packages/gateway-contract/src/connection-waits.js +6 -0
  144. package/dist/packages/gateway-contract/src/conversation-identity.js +17 -0
  145. package/dist/packages/gateway-contract/src/device-pairing.js +84 -78
  146. package/dist/packages/gateway-contract/src/discussions.js +19 -15
  147. package/dist/packages/gateway-contract/src/files.js +55 -0
  148. package/dist/packages/gateway-contract/src/home.js +188 -0
  149. package/dist/packages/gateway-contract/src/index.js +65 -0
  150. package/dist/packages/gateway-contract/src/mobile-privacy.js +26 -0
  151. package/dist/packages/gateway-contract/src/model-selection.js +4 -1
  152. package/dist/packages/gateway-contract/src/new-session.js +5 -1
  153. package/dist/packages/gateway-contract/src/notifications.js +64 -59
  154. package/dist/packages/gateway-contract/src/proactive.js +133 -119
  155. package/dist/packages/gateway-contract/src/product-delivery.js +56 -50
  156. package/dist/packages/gateway-contract/src/project-monitoring.js +33 -28
  157. package/dist/packages/gateway-contract/src/project-operating.js +100 -0
  158. package/dist/packages/gateway-contract/src/session-identity.js +38 -34
  159. package/dist/packages/gateway-contract/src/session-input-reliability.js +6 -0
  160. package/dist/packages/gateway-contract/src/sessions.js +145 -0
  161. package/dist/packages/gateway-contract/src/task-lifecycle.js +69 -64
  162. package/dist/packages/gateway-contract/src/task-runs.js +80 -75
  163. package/dist/packages/gateway-contract/src/tasks.js +445 -438
  164. package/dist/packages/gateway-contract/src/tool-activity.js +154 -149
  165. package/dist/packages/gateway-contract/src/turn-outcome.js +118 -112
  166. package/dist/packages/gateway-contract/src/user-message-display.js +13 -8
  167. package/dist/packages/gateway-contract/src/welcome-suggestions.js +6 -0
  168. package/dist/packages/realtime-client/src/index.js +1 -1
  169. package/dist/packages/realtime-protocol/src/index.js +4 -2
  170. package/dist/packages/realtime-protocol/src/voice.js +4 -4
  171. package/dist/src/activity/types.d.ts +1 -1
  172. package/dist/src/agent/agent-instance-gateway.d.ts +18 -18
  173. package/dist/src/agent/agent-manager.d.ts +27 -27
  174. package/dist/src/agent/agent-manager.js +180 -179
  175. package/dist/src/agent/background-review/coordinator.d.ts +3 -3
  176. package/dist/src/agent/background-review/coordinator.js +10 -10
  177. package/dist/src/agent/background-review/run-background-review.d.ts +1 -1
  178. package/dist/src/agent/background-review/run-background-review.js +14 -14
  179. package/dist/src/agent/bootstrap/bootstrap-cache.d.ts +4 -4
  180. package/dist/src/agent/bootstrap/bootstrap-cache.js +9 -9
  181. package/dist/src/agent/bootstrap/bootstrap-files.d.ts +4 -4
  182. package/dist/src/agent/bootstrap/bootstrap-files.js +9 -9
  183. package/dist/src/agent/bootstrap/filter-bootstrap-files.d.ts +1 -1
  184. package/dist/src/agent/bootstrap/filter-bootstrap-files.js +3 -3
  185. package/dist/src/agent/child-agent-factory.d.ts +3 -3
  186. package/dist/src/agent/child-agent-factory.js +5 -5
  187. package/dist/src/agent/coding/repository-instructions.js +1 -1
  188. package/dist/src/agent/coding/workspace-revision.js +1 -1
  189. package/dist/src/agent/commands/command-isolation.js +1 -1
  190. package/dist/src/agent/commands/command-registry.js +2 -1
  191. package/dist/src/agent/context/audit.d.ts +2 -2
  192. package/dist/src/agent/context/audit.js +5 -4
  193. package/dist/src/agent/context/coordinator.d.ts +6 -6
  194. package/dist/src/agent/context/coordinator.js +13 -13
  195. package/dist/src/agent/context/execution-context.js +4 -3
  196. package/dist/src/agent/context/execution-scope.d.ts +3 -3
  197. package/dist/src/agent/context/execution-scope.js +13 -13
  198. package/dist/src/agent/context/project-context.d.ts +1 -1
  199. package/dist/src/agent/context/project-context.js +4 -4
  200. package/dist/src/agent/embedded/execution-context.d.ts +1 -1
  201. package/dist/src/agent/embedded/execution-context.js +3 -3
  202. package/dist/src/agent/embedded/index.d.ts +1 -1
  203. package/dist/src/agent/embedded/index.js +2 -2
  204. package/dist/src/agent/embedded/run-for-session.d.ts +1 -1
  205. package/dist/src/agent/embedded/run-for-session.js +78 -104
  206. package/dist/src/agent/embedded/run-turn.js +77 -33
  207. package/dist/src/agent/embedded/runs.d.ts +11 -11
  208. package/dist/src/agent/embedded/runs.js +22 -22
  209. package/dist/src/agent/embedded/session-runner.d.ts +2 -2
  210. package/dist/src/agent/embedded/session-runner.js +5 -5
  211. package/dist/src/agent/embedded/session-tool-result-guard.d.ts +2 -2
  212. package/dist/src/agent/embedded/session-tool-result-guard.js +8 -8
  213. package/dist/src/agent/embedded/sqlite-hydrating-session-manager.d.ts +2 -2
  214. package/dist/src/agent/embedded/sqlite-hydrating-session-manager.js +4 -4
  215. package/dist/src/agent/embedded/transcript-runtime.d.ts +4 -3
  216. package/dist/src/agent/embedded/transcript-runtime.js +33 -20
  217. package/dist/src/agent/embedded/types.d.ts +2 -1
  218. package/dist/src/agent/external-tools/composio-provider.d.ts +1 -1
  219. package/dist/src/agent/external-tools/composio-provider.js +12 -11
  220. package/dist/src/agent/external-tools/endpoint-provider.js +1 -1
  221. package/dist/src/agent/external-tools/extension-provider.d.ts +1 -1
  222. package/dist/src/agent/external-tools/extension-provider.js +1 -1
  223. package/dist/src/agent/external-tools/gateway-tools.js +9 -8
  224. package/dist/src/agent/external-tools/index.js +3 -3
  225. package/dist/src/agent/external-tools/mcp-provider.d.ts +2 -2
  226. package/dist/src/agent/external-tools/mcp-provider.js +8 -8
  227. package/dist/src/agent/external-tools/memory-provider.d.ts +1 -1
  228. package/dist/src/agent/external-tools/memory-provider.js +1 -1
  229. package/dist/src/agent/external-tools/types.d.ts +1 -1
  230. package/dist/src/agent/inbound/attachment-pipeline.d.ts +7 -7
  231. package/dist/src/agent/inbound/attachment-pipeline.js +22 -21
  232. package/dist/src/agent/inbound/inbound-loop.d.ts +6 -6
  233. package/dist/src/agent/inbound/inbound-loop.js +23 -23
  234. package/dist/src/agent/inbound/turn-dispatcher.d.ts +14 -14
  235. package/dist/src/agent/inbound/turn-dispatcher.js +16 -16
  236. package/dist/src/agent/ipc/bus.d.ts +1 -1
  237. package/dist/src/agent/ipc/types.d.ts +3 -3
  238. package/dist/src/agent/ipc/types.js +1 -1
  239. package/dist/src/agent/lifecycle/hook-handler.d.ts +2 -2
  240. package/dist/src/agent/lifecycle/hook-handler.js +6 -6
  241. package/dist/src/agent/lifecycle/manager.d.ts +1 -1
  242. package/dist/src/agent/lifecycle/manager.js +4 -4
  243. package/dist/src/agent/lifecycle/types.d.ts +1 -1
  244. package/dist/src/agent/mcp/bundle-mcp-runtime.d.ts +4 -4
  245. package/dist/src/agent/mcp/bundle-mcp-runtime.js +21 -20
  246. package/dist/src/agent/mcp/bundle-mcp-tools.d.ts +1 -1
  247. package/dist/src/agent/mcp/bundle-mcp-tools.js +2 -2
  248. package/dist/src/agent/mcp/bundle-mcp-types.d.ts +4 -4
  249. package/dist/src/agent/mcp/index.js +2 -2
  250. package/dist/src/agent/mcp/oauth/mcp-oauth-manager.js +9 -8
  251. package/dist/src/agent/memory/compaction-ledger.js +9 -2
  252. package/dist/src/agent/memory/compaction-promotion.d.ts +2 -2
  253. package/dist/src/agent/memory/compaction-promotion.js +6 -6
  254. package/dist/src/agent/memory/compaction-source-planner.d.ts +2 -0
  255. package/dist/src/agent/memory/compaction-source-planner.js +9 -1
  256. package/dist/src/agent/memory/compaction.d.ts +6 -1
  257. package/dist/src/agent/memory/compaction.js +22 -11
  258. package/dist/src/agent/memory/context-recovery.d.ts +44 -0
  259. package/dist/src/agent/memory/context-recovery.js +96 -0
  260. package/dist/src/agent/memory/manager.js +11 -11
  261. package/dist/src/agent/memory/turn-provenance.d.ts +5 -5
  262. package/dist/src/agent/memory/turn-provenance.js +21 -17
  263. package/dist/src/agent/memory/types.d.ts +2 -2
  264. package/dist/src/agent/messaging/command-handler.d.ts +11 -11
  265. package/dist/src/agent/messaging/command-handler.js +7 -7
  266. package/dist/src/agent/messaging/message-router.d.ts +1 -1
  267. package/dist/src/agent/messaging/message-router.js +4 -4
  268. package/dist/src/agent/messaging/outbound-coordinator.d.ts +2 -2
  269. package/dist/src/agent/messaging/outbound-coordinator.js +4 -4
  270. package/dist/src/agent/middleware/context.d.ts +1 -2
  271. package/dist/src/agent/middleware/context.js +2 -5
  272. package/dist/src/agent/models/manager.d.ts +10 -10
  273. package/dist/src/agent/models/manager.js +34 -34
  274. package/dist/src/agent/orchestration/agent-event-handler.js +14 -14
  275. package/dist/src/agent/orchestration/agent-orchestrator.d.ts +7 -7
  276. package/dist/src/agent/orchestration/agent-orchestrator.js +29 -29
  277. package/dist/src/agent/orchestration/context-overflow.js +2 -0
  278. package/dist/src/agent/orchestration/llm-turn-retry.d.ts +1 -1
  279. package/dist/src/agent/orchestration/llm-turn-retry.js +2 -2
  280. package/dist/src/agent/orchestration/run-agent-turn-with-timeout.d.ts +1 -1
  281. package/dist/src/agent/orchestration/run-agent-turn-with-timeout.js +2 -2
  282. package/dist/src/agent/prompt/response-language.d.ts +1 -1
  283. package/dist/src/agent/prompt/response-language.js +2 -2
  284. package/dist/src/agent/prompt/service-prompt-builder.d.ts +2 -2
  285. package/dist/src/agent/prompt/service-prompt-builder.js +4 -4
  286. package/dist/src/agent/prompt/subagent-context.d.ts +4 -4
  287. package/dist/src/agent/prompt/subagent-context.js +1 -1
  288. package/dist/src/agent/prompt/system-prompt-params.d.ts +4 -4
  289. package/dist/src/agent/prompt/system-prompt-params.js +13 -12
  290. package/dist/src/agent/reply/apply-turn-user-enrichment.d.ts +1 -1
  291. package/dist/src/agent/reply/apply-turn-user-enrichment.js +3 -3
  292. package/dist/src/agent/reply/post-compaction-context.d.ts +1 -1
  293. package/dist/src/agent/reply/post-compaction-context.js +2 -2
  294. package/dist/src/agent/service/btw-query.d.ts +1 -1
  295. package/dist/src/agent/service/btw-query.js +4 -4
  296. package/dist/src/agent/service/build-direct-message-content.d.ts +1 -1
  297. package/dist/src/agent/service/build-direct-message-content.js +2 -2
  298. package/dist/src/agent/service/direct-turn-helpers.d.ts +6 -6
  299. package/dist/src/agent/service/direct-turn-helpers.js +17 -16
  300. package/dist/src/agent/service/parse-outbound-session-key.d.ts +1 -1
  301. package/dist/src/agent/service/parse-outbound-session-key.js +8 -9
  302. package/dist/src/agent/service/process-direct-one-shot.d.ts +11 -11
  303. package/dist/src/agent/service/process-direct-one-shot.js +16 -16
  304. package/dist/src/agent/service/process-direct-streaming.d.ts +18 -18
  305. package/dist/src/agent/service/process-direct-streaming.js +45 -40
  306. package/dist/src/agent/service/session-context-report.d.ts +1 -1
  307. package/dist/src/agent/service/session-context-report.js +3 -3
  308. package/dist/src/agent/service/webchat-tts.d.ts +3 -3
  309. package/dist/src/agent/service/webchat-tts.js +7 -7
  310. package/dist/src/agent/service.d.ts +23 -23
  311. package/dist/src/agent/service.js +111 -108
  312. package/dist/src/agent/service.types.d.ts +3 -3
  313. package/dist/src/agent/session/session-config-service.d.ts +5 -5
  314. package/dist/src/agent/session/session-config-service.js +53 -66
  315. package/dist/src/agent/session/session-context.d.ts +2 -2
  316. package/dist/src/agent/session/session-context.js +2 -2
  317. package/dist/src/agent/session/session-hydrator.d.ts +3 -3
  318. package/dist/src/agent/session/session-hydrator.js +19 -19
  319. package/dist/src/agent/session/session-inspector.d.ts +7 -7
  320. package/dist/src/agent/session/session-inspector.js +45 -45
  321. package/dist/src/agent/session/session-lifecycle.d.ts +2 -2
  322. package/dist/src/agent/session/session-lifecycle.js +17 -17
  323. package/dist/src/agent/session/session-state-bag.d.ts +18 -18
  324. package/dist/src/agent/session/session-state-bag.js +46 -46
  325. package/dist/src/agent/session/tracker.d.ts +7 -7
  326. package/dist/src/agent/session/tracker.js +27 -27
  327. package/dist/src/agent/source-context/types.d.ts +1 -1
  328. package/dist/src/agent/tasks/task-judge-service.d.ts +1 -1
  329. package/dist/src/agent/tasks/task-judge-service.js +11 -10
  330. package/dist/src/agent/tools/automation-tool.js +2 -0
  331. package/dist/src/agent/tools/chain-tracker.d.ts +10 -10
  332. package/dist/src/agent/tools/chain-tracker.js +31 -31
  333. package/dist/src/agent/tools/clarify-tool.d.ts +1 -1
  334. package/dist/src/agent/tools/create-share-tool.js +2 -0
  335. package/dist/src/agent/tools/delegate-tool.d.ts +1 -1
  336. package/dist/src/agent/tools/delegate-tool.js +4 -4
  337. package/dist/src/agent/tools/exec-command.d.ts +1 -1
  338. package/dist/src/agent/tools/exec-command.js +1 -1
  339. package/dist/src/agent/tools/factory.d.ts +3 -3
  340. package/dist/src/agent/tools/factory.js +42 -38
  341. package/dist/src/agent/tools/knowledge-memory-tool.js +2 -2
  342. package/dist/src/agent/tools/managed-job-tool.d.ts +1 -1
  343. package/dist/src/agent/tools/managed-job-tool.js +2 -2
  344. package/dist/src/agent/tools/publish-artifacts.js +2 -0
  345. package/dist/src/agent/tools/review-workspace.js +1 -1
  346. package/dist/src/agent/tools/send-media.js +2 -0
  347. package/dist/src/agent/tools/session-recall-tool.d.ts +1 -1
  348. package/dist/src/agent/tools/session-recall-tool.js +3 -3
  349. package/dist/src/agent/tools/session-search-tool.d.ts +1 -1
  350. package/dist/src/agent/tools/session-search-tool.js +6 -6
  351. package/dist/src/agent/tools/skill-install-tool.d.ts +3 -3
  352. package/dist/src/agent/tools/skill-install-tool.js +3 -3
  353. package/dist/src/agent/tools/todo-tool.d.ts +3 -3
  354. package/dist/src/agent/tools/todo-tool.js +4 -4
  355. package/dist/src/agent/tools/workflow-tool.d.ts +1 -1
  356. package/dist/src/agent/tools/workflow-tool.js +15 -13
  357. package/dist/src/agent/tools/write.js +2 -0
  358. package/dist/src/agent/tools/xopc-use-tool.d.ts +1 -1
  359. package/dist/src/agent/tools/xopc-use-tool.js +16 -13
  360. package/dist/src/agent/types.d.ts +1 -1
  361. package/dist/src/agent/workflow/catalog.js +4 -2
  362. package/dist/src/agent/workflow/channel-capability.d.ts +2 -2
  363. package/dist/src/agent/workflow/progress-broker.d.ts +4 -4
  364. package/dist/src/agent/workflow/progress-broker.js +17 -17
  365. package/dist/src/agent/workflow/subagent-runner.js +10 -10
  366. package/dist/src/agent/workflow/types.d.ts +2 -2
  367. package/dist/src/agent/workflow/workflow-child-tools.js +1 -1
  368. package/dist/src/agent/workspace-runtime/registry.js +1 -1
  369. package/dist/src/automations/domain/types.d.ts +7 -7
  370. package/dist/src/automations/domain/validation.js +2 -0
  371. package/dist/src/automations/service/action-executor.js +15 -15
  372. package/dist/src/automations/service/automation-service.js +4 -3
  373. package/dist/src/automations/storage/automation-repository.js +2 -1
  374. package/dist/src/automations/storage/automation-run-repository.js +9 -8
  375. package/dist/src/browser/native-messaging-host.js +4 -1
  376. package/dist/src/browser/policy/approval-store.d.ts +4 -4
  377. package/dist/src/browser/policy/approval-store.js +8 -8
  378. package/dist/src/browser/providers/browser-ext-install.js +10 -2
  379. package/dist/src/browser/providers/extension.js +6 -6
  380. package/dist/src/browser/providers/realtime-extension.js +2 -2
  381. package/dist/src/browser/runtime/browser-runtime.js +3 -3
  382. package/dist/src/channels/exec-approval-runtime.d.ts +1 -1
  383. package/dist/src/channels/manager.js +1 -1
  384. package/dist/src/channels/pipeline.js +2 -2
  385. package/dist/src/channels/plugin-types.d.ts +2 -2
  386. package/dist/src/channels/plugins/types.adapters.d.ts +1 -1
  387. package/dist/src/channels/telegram/index.d.ts +1 -1
  388. package/dist/src/channels/telegram/index.js +2 -2
  389. package/dist/src/chat-commands/agent-edit.js +2 -2
  390. package/dist/src/chat-commands/builtins/review.js +4 -4
  391. package/dist/src/chat-commands/builtins/session.js +1 -1
  392. package/dist/src/chat-commands/builtins/system.js +2 -2
  393. package/dist/src/chat-commands/builtins/thinking.js +7 -7
  394. package/dist/src/chat-commands/builtins/understanding.js +4 -4
  395. package/dist/src/chat-commands/builtins/workflow.js +8 -8
  396. package/dist/src/chat-commands/context.d.ts +9 -9
  397. package/dist/src/chat-commands/context.js +35 -35
  398. package/dist/src/chat-commands/index.d.ts +1 -1
  399. package/dist/src/chat-commands/index.js +2 -2
  400. package/dist/src/chat-commands/processor.js +2 -2
  401. package/dist/src/chat-commands/registry.js +1 -1
  402. package/dist/src/chat-commands/session-key.d.ts +3 -3
  403. package/dist/src/chat-commands/session-key.js +20 -24
  404. package/dist/src/chat-commands/types.d.ts +3 -3
  405. package/dist/src/cli/command-manifest.js +3 -3
  406. package/dist/src/cli/commands/agent/interactive.d.ts +1 -1
  407. package/dist/src/cli/commands/agent/interactive.js +8 -8
  408. package/dist/src/cli/commands/agent/stream-renderer.d.ts +1 -1
  409. package/dist/src/cli/commands/agent/stream-renderer.js +2 -2
  410. package/dist/src/cli/commands/agent.js +12 -8
  411. package/dist/src/cli/commands/doctor/checks/database-schema.js +3 -2
  412. package/dist/src/cli/commands/doctor/checks/session-integrity.js +9 -9
  413. package/dist/src/cli/commands/gateway/lifecycle.js +1 -1
  414. package/dist/src/cli/commands/gateway/run-foreground.js +4 -0
  415. package/dist/src/cli/commands/import.js +56 -7
  416. package/dist/src/cli/commands/logs.js +3 -3
  417. package/dist/src/cli/commands/models.js +1 -1
  418. package/dist/src/cli/commands/onboard.js +1 -1
  419. package/dist/src/cli/commands/platform.js +1 -1
  420. package/dist/src/cli/commands/profile.js +1 -1
  421. package/dist/src/cli/commands/project.js +5 -5
  422. package/dist/src/cli/commands/resume.js +4 -4
  423. package/dist/src/cli/commands/tunnel.js +3 -2
  424. package/dist/src/cli/commands/update.js +1 -1
  425. package/dist/src/cli/extension-cli-register.js +1 -1
  426. package/dist/src/config/agent-profile.d.ts +3 -3
  427. package/dist/src/config/agent-profile.js +12 -12
  428. package/dist/src/config/index.js +1 -1
  429. package/dist/src/config/models-json.d.ts +6 -6
  430. package/dist/src/config/schema.d.ts +1 -1
  431. package/dist/src/connectors/catalog.js +2 -1
  432. package/dist/src/connectors/composio-sessions.d.ts +1 -1
  433. package/dist/src/connectors/composio-sessions.js +3 -3
  434. package/dist/src/connectors/connection-recovery-service.d.ts +4 -4
  435. package/dist/src/connectors/connection-recovery-service.js +41 -37
  436. package/dist/src/connectors/principal.d.ts +1 -1
  437. package/dist/src/connectors/principal.js +4 -3
  438. package/dist/src/connectors/types.d.ts +2 -2
  439. package/dist/src/discussions/action-tasks.js +4 -1
  440. package/dist/src/discussions/analyzer.js +2 -1
  441. package/dist/src/discussions/edits.js +3 -1
  442. package/dist/src/discussions/organizer.js +2 -1
  443. package/dist/src/discussions/recording.js +4 -1
  444. package/dist/src/discussions/recordingJobs.js +2 -1
  445. package/dist/src/discussions/repository.js +2 -1
  446. package/dist/src/discussions/revisions.js +2 -1
  447. package/dist/src/discussions/service.js +4 -1
  448. package/dist/src/discussions/types.js +4 -0
  449. package/dist/src/endpoint-tools/auth.js +2 -1
  450. package/dist/src/endpoint-tools/binding-service.d.ts +8 -8
  451. package/dist/src/endpoint-tools/binding-service.js +14 -14
  452. package/dist/src/endpoint-tools/invocation-service.d.ts +2 -0
  453. package/dist/src/endpoint-tools/invocation-service.js +50 -20
  454. package/dist/src/endpoint-tools/policy.js +2 -1
  455. package/dist/src/endpoint-tools/registry.js +2 -1
  456. package/dist/src/endpoint-tools/upload-service.js +2 -1
  457. package/dist/src/execution-environments/local-worktree-manager.d.ts +1 -1
  458. package/dist/src/execution-environments/local-worktree-manager.js +2 -2
  459. package/dist/src/execution-environments/session-environment-service.d.ts +3 -3
  460. package/dist/src/execution-environments/session-environment-service.js +10 -10
  461. package/dist/src/execution-environments/store.d.ts +2 -2
  462. package/dist/src/execution-environments/store.js +15 -14
  463. package/dist/src/execution-environments/subject.d.ts +1 -1
  464. package/dist/src/execution-environments/subject.js +2 -2
  465. package/dist/src/execution-environments/types.d.ts +2 -2
  466. package/dist/src/extensions/api.js +1 -1
  467. package/dist/src/extensions/install.js +1 -1
  468. package/dist/src/extensions/loader.d.ts +1 -1
  469. package/dist/src/extensions/types/core.d.ts +2 -2
  470. package/dist/src/extensions/types/hooks.d.ts +12 -12
  471. package/dist/src/extensions/types/tools.d.ts +3 -3
  472. package/dist/src/extensions/types/tui.d.ts +3 -3
  473. package/dist/src/files/file-service.d.ts +3 -3
  474. package/dist/src/files/file-service.js +3 -3
  475. package/dist/src/gateway/automation-agent-session.js +5 -5
  476. package/dist/src/gateway/chat-stream/mapper.d.ts +1 -1
  477. package/dist/src/gateway/chat-stream/mapper.js +4 -2
  478. package/dist/src/gateway/chat-stream/protocol.d.ts +1 -1
  479. package/dist/src/gateway/chat-stream/thinking-delta-coalescer.js +1 -1
  480. package/dist/src/gateway/clarify-runtime.d.ts +2 -2
  481. package/dist/src/gateway/clarify-runtime.js +2 -2
  482. package/dist/src/gateway/file-path-classifier.d.ts +2 -2
  483. package/dist/src/gateway/file-path-classifier.js +4 -4
  484. package/dist/src/gateway/file-reference-registry.d.ts +2 -2
  485. package/dist/src/gateway/file-reference-registry.js +1 -1
  486. package/dist/src/gateway/file-space-service.js +3 -3
  487. package/dist/src/gateway/gateway-workflow-host.types.d.ts +1 -1
  488. package/dist/src/gateway/heartbeat/check-store.d.ts +18 -0
  489. package/dist/src/gateway/heartbeat/check-store.js +74 -0
  490. package/dist/src/gateway/heartbeat/service.d.ts +12 -3
  491. package/dist/src/gateway/heartbeat/service.js +82 -51
  492. package/dist/src/gateway/hono/middleware/log-context.d.ts +1 -1
  493. package/dist/src/gateway/hono/middleware/log-context.js +3 -3
  494. package/dist/src/gateway/hono/routes/agent-stream.js +20 -20
  495. package/dist/src/gateway/hono/routes/browser-session.js +2 -2
  496. package/dist/src/gateway/hono/routes/browser.js +22 -20
  497. package/dist/src/gateway/hono/routes/chat-model-config.d.ts +1 -1
  498. package/dist/src/gateway/hono/routes/chat-model-config.js +6 -6
  499. package/dist/src/gateway/hono/routes/commands-skills.js +13 -13
  500. package/dist/src/gateway/hono/routes/connection-waits.js +5 -5
  501. package/dist/src/gateway/hono/routes/connectors.js +5 -5
  502. package/dist/src/gateway/hono/routes/context-sources.js +2 -1
  503. package/dist/src/gateway/hono/routes/device-pairing-approval.js +2 -0
  504. package/dist/src/gateway/hono/routes/devices.js +2 -0
  505. package/dist/src/gateway/hono/routes/endpoint-tools.js +8 -7
  506. package/dist/src/gateway/hono/routes/execution-environments.js +11 -11
  507. package/dist/src/gateway/hono/routes/file-references.js +5 -5
  508. package/dist/src/gateway/hono/routes/home.js +1 -1
  509. package/dist/src/gateway/hono/routes/imports.js +18 -6
  510. package/dist/src/gateway/hono/routes/interaction-state.js +6 -6
  511. package/dist/src/gateway/hono/routes/logs.js +2 -2
  512. package/dist/src/gateway/hono/routes/media.js +3 -3
  513. package/dist/src/gateway/hono/routes/notes.js +11 -11
  514. package/dist/src/gateway/hono/routes/proactive-control.js +2 -1
  515. package/dist/src/gateway/hono/routes/projects.js +26 -26
  516. package/dist/src/gateway/hono/routes/public-gateway.js +3 -3
  517. package/dist/src/gateway/hono/routes/session-input-handler.d.ts +10 -10
  518. package/dist/src/gateway/hono/routes/session-input-handler.js +20 -17
  519. package/dist/src/gateway/hono/routes/sessions.js +79 -50
  520. package/dist/src/gateway/hono/routes/shares.js +38 -38
  521. package/dist/src/gateway/hono/routes/side-chats.js +4 -2
  522. package/dist/src/gateway/hono/routes/site-shares.js +6 -6
  523. package/dist/src/gateway/hono/routes/tasks.js +18 -13
  524. package/dist/src/gateway/hono/routes/tui.js +2 -2
  525. package/dist/src/gateway/hono/routes/user-model.js +1 -1
  526. package/dist/src/gateway/hono/routes/voice.js +1 -1
  527. package/dist/src/gateway/hono/routes/workflows.js +9 -9
  528. package/dist/src/gateway/media-access.d.ts +1 -1
  529. package/dist/src/gateway/media-access.js +3 -3
  530. package/dist/src/gateway/resolve-webchat-session-key.d.ts +5 -5
  531. package/dist/src/gateway/resolve-webchat-session-key.js +5 -5
  532. package/dist/src/gateway/run-loop.js +1 -1
  533. package/dist/src/gateway/service/agent-runner.d.ts +15 -15
  534. package/dist/src/gateway/service/agent-runner.js +63 -62
  535. package/dist/src/gateway/service/marketplace-service.d.ts +3 -3
  536. package/dist/src/gateway/service/marketplace-service.js +6 -6
  537. package/dist/src/gateway/service/run-gateway-agent.js +51 -49
  538. package/dist/src/gateway/service/session-input-coordinator.d.ts +11 -11
  539. package/dist/src/gateway/service/session-input-coordinator.js +76 -74
  540. package/dist/src/gateway/service/sessions-api.d.ts +19 -20
  541. package/dist/src/gateway/service/sessions-api.js +30 -38
  542. package/dist/src/gateway/service/task-conversation-query-service.d.ts +3 -2
  543. package/dist/src/gateway/service/task-conversation-query-service.js +3 -3
  544. package/dist/src/gateway/service.d.ts +11 -4
  545. package/dist/src/gateway/service.js +92 -71
  546. package/dist/src/gateway/session-context-summary.d.ts +1 -1
  547. package/dist/src/gateway/session-context-summary.js +13 -11
  548. package/dist/src/gateway/session-reset-service.d.ts +4 -4
  549. package/dist/src/gateway/session-reset-service.js +12 -12
  550. package/dist/src/gateway/side-chat/context-snapshot.d.ts +2 -2
  551. package/dist/src/gateway/side-chat/context-snapshot.js +2 -2
  552. package/dist/src/gateway/side-chat/manager.d.ts +4 -4
  553. package/dist/src/gateway/side-chat/manager.js +13 -13
  554. package/dist/src/gateway/side-chat/run-service.js +8 -8
  555. package/dist/src/gateway/side-chat/types.d.ts +4 -4
  556. package/dist/src/heartbeat/wake.d.ts +1 -1
  557. package/dist/src/history/ctx/exporter.js +11 -11
  558. package/dist/src/history/ctx/format.d.ts +1 -1
  559. package/dist/src/history/ctx/format.js +7 -7
  560. package/dist/src/imports/contextImport.js +2 -1
  561. package/dist/src/imports/importService.d.ts +17 -12
  562. package/dist/src/imports/importService.js +67 -70
  563. package/dist/src/imports/inventory.d.ts +11 -0
  564. package/dist/src/imports/inventory.js +202 -0
  565. package/dist/src/imports/productImport.d.ts +4 -4
  566. package/dist/src/imports/productImport.js +202 -108
  567. package/dist/src/imports/runtime.js +7 -2
  568. package/dist/src/imports/scanner.d.ts +1 -1
  569. package/dist/src/imports/scanner.js +4 -4
  570. package/dist/src/imports/types.d.ts +53 -0
  571. package/dist/src/infra/background-task.d.ts +2 -0
  572. package/dist/src/infra/background-task.js +25 -0
  573. package/dist/src/infra/node-sqlite.js +9 -3
  574. package/dist/src/infra/process-diagnostics.d.ts +5 -0
  575. package/dist/src/infra/process-diagnostics.js +101 -0
  576. package/dist/src/infra/sqlite-errors.js +25 -20
  577. package/dist/src/infra/unhandled-rejections.js +20 -9
  578. package/dist/src/infra/warning-filter.js +9 -3
  579. package/dist/src/knowledge/ingestion-service.js +1 -0
  580. package/dist/src/knowledge-memory/domain.d.ts +2 -2
  581. package/dist/src/knowledge-memory/repository.d.ts +1 -1
  582. package/dist/src/knowledge-memory/repository.js +10 -8
  583. package/dist/src/mcp/channel-bridge.d.ts +3 -3
  584. package/dist/src/mcp/channel-bridge.js +7 -7
  585. package/dist/src/mcp/channel-shared.d.ts +4 -4
  586. package/dist/src/mcp/channel-shared.js +3 -3
  587. package/dist/src/mcp/channel-tools.js +19 -19
  588. package/dist/src/media/session-references.js +2 -2
  589. package/dist/src/media-shared/http/ssrf-guard.js +1 -1
  590. package/dist/src/memory-maintenance/service.js +2 -1
  591. package/dist/src/migrations/conversation-routing-config.d.ts +2 -0
  592. package/dist/src/migrations/conversation-routing-config.js +42 -0
  593. package/dist/src/migrations/runner.js +6 -5
  594. package/dist/src/notes/service.d.ts +2 -2
  595. package/dist/src/notes/service.js +6 -6
  596. package/dist/src/notes/store.js +2 -1
  597. package/dist/src/notes/types.d.ts +3 -3
  598. package/dist/src/notifications/device-store.js +2 -1
  599. package/dist/src/notifications/planner.js +5 -3
  600. package/dist/src/notifications/proactive-channel.js +4 -1
  601. package/dist/src/notifications/proactive-policy.js +9 -6
  602. package/dist/src/notifications/service.d.ts +4 -4
  603. package/dist/src/notifications/service.js +4 -1
  604. package/dist/src/notifications/store.js +4 -1
  605. package/dist/src/notifications/web-push.js +4 -1
  606. package/dist/src/platform/contracts.d.ts +3 -3
  607. package/dist/src/proactive/actions/service.js +2 -1
  608. package/dist/src/proactive/events/product-event-bridge.js +1 -1
  609. package/dist/src/proactive/events/repository.js +2 -1
  610. package/dist/src/proactive/execution/authorization.d.ts +2 -0
  611. package/dist/src/proactive/execution/authorization.js +12 -2
  612. package/dist/src/proactive/execution/context.js +3 -1
  613. package/dist/src/proactive/execution/insight.js +2 -0
  614. package/dist/src/proactive/execution/repository.d.ts +2 -0
  615. package/dist/src/proactive/execution/repository.js +21 -3
  616. package/dist/src/proactive/execution/worker.js +15 -4
  617. package/dist/src/proactive/experience.d.ts +5 -2
  618. package/dist/src/proactive/experience.js +7 -3
  619. package/dist/src/proactive/follow-ups.d.ts +12 -7
  620. package/dist/src/proactive/follow-ups.js +23 -11
  621. package/dist/src/proactive/inbox/cards.js +7 -3
  622. package/dist/src/proactive/inbox/delivery.js +8 -8
  623. package/dist/src/proactive/inbox/digest.d.ts +1 -1
  624. package/dist/src/proactive/inbox/digest.js +25 -14
  625. package/dist/src/proactive/inbox/lifecycle.js +2 -1
  626. package/dist/src/proactive/inbox/notification-policy.d.ts +1 -1
  627. package/dist/src/proactive/inbox/notification-policy.js +9 -6
  628. package/dist/src/proactive/inbox/repository.js +5 -3
  629. package/dist/src/proactive/inbox/service.d.ts +6 -0
  630. package/dist/src/proactive/inbox/service.js +19 -0
  631. package/dist/src/proactive/inbox/types.d.ts +1 -0
  632. package/dist/src/proactive/mail-thread.js +2 -1
  633. package/dist/src/proactive/maintenance.js +2 -1
  634. package/dist/src/proactive/metrics.js +2 -1
  635. package/dist/src/proactive/policy/presence.d.ts +1 -1
  636. package/dist/src/proactive/policy/presence.js +9 -6
  637. package/dist/src/proactive/policy/service.d.ts +8 -5
  638. package/dist/src/proactive/policy/service.js +16 -13
  639. package/dist/src/proactive/routing/batch-repository.js +2 -1
  640. package/dist/src/proactive/scenarios/control.d.ts +3 -3
  641. package/dist/src/proactive/scenarios/control.js +16 -3
  642. package/dist/src/proactive/scenarios/repository.js +2 -1
  643. package/dist/src/proactive/service.js +2 -1
  644. package/dist/src/proactive/source-freshness.d.ts +8 -0
  645. package/dist/src/proactive/source-freshness.js +28 -0
  646. package/dist/src/proactive/status.d.ts +2 -0
  647. package/dist/src/proactive/status.js +22 -0
  648. package/dist/src/proactive/temporal/schedule.js +2 -1
  649. package/dist/src/proactive/temporal/worker.js +2 -1
  650. package/dist/src/projects/automation-bind.js +2 -1
  651. package/dist/src/projects/index.js +2 -2
  652. package/dist/src/projects/knowledge-bind.js +2 -1
  653. package/dist/src/projects/project-agent.js +4 -1
  654. package/dist/src/projects/project-service.d.ts +4 -4
  655. package/dist/src/projects/project-service.js +11 -10
  656. package/dist/src/projects/project-store.js +11 -9
  657. package/dist/src/projects/session-bind.d.ts +5 -5
  658. package/dist/src/projects/session-bind.js +18 -17
  659. package/dist/src/projects/types.d.ts +1 -1
  660. package/dist/src/projects/workflow-bind.js +2 -1
  661. package/dist/src/projects/workspace.d.ts +3 -3
  662. package/dist/src/projects/workspace.js +6 -6
  663. package/dist/src/providers/model-reference-auditor.js +1 -1
  664. package/dist/src/providers/prompt-cache-lifecycle.d.ts +2 -2
  665. package/dist/src/providers/prompt-cache-lifecycle.js +6 -6
  666. package/dist/src/realtime/broker.js +3 -3
  667. package/dist/src/realtime/runtime.js +32 -6
  668. package/dist/src/realtime/writer.js +16 -9
  669. package/dist/src/retrieval/queryProfile.d.ts +1 -1
  670. package/dist/src/routing/agent-session-key.d.ts +12 -41
  671. package/dist/src/routing/agent-session-key.js +39 -120
  672. package/dist/src/routing/conversation-route.d.ts +28 -0
  673. package/dist/src/routing/conversation-route.js +50 -0
  674. package/dist/src/routing/index.d.ts +2 -2
  675. package/dist/src/routing/index.js +5 -5
  676. package/dist/src/routing/resolve-route.d.ts +4 -9
  677. package/dist/src/routing/resolve-route.js +20 -60
  678. package/dist/src/routing/resolve-tui-session-key.d.ts +5 -13
  679. package/dist/src/routing/resolve-tui-session-key.js +11 -36
  680. package/dist/src/routing/session-key.d.ts +6 -39
  681. package/dist/src/routing/session-key.js +13 -161
  682. package/dist/src/session/client-history.js +2 -0
  683. package/dist/src/session/compaction-types.js +18 -13
  684. package/dist/src/session/config-store.d.ts +8 -8
  685. package/dist/src/session/config-store.js +19 -19
  686. package/dist/src/session/index.d.ts +2 -2
  687. package/dist/src/session/index.js +9 -5
  688. package/dist/src/session/init-session-turn.d.ts +7 -7
  689. package/dist/src/session/init-session-turn.js +18 -18
  690. package/dist/src/session/manager.d.ts +7 -7
  691. package/dist/src/session/manager.js +6 -6
  692. package/dist/src/session/model-config-lock.d.ts +1 -1
  693. package/dist/src/session/model-config-lock.js +4 -4
  694. package/dist/src/session/resolve-session.d.ts +10 -10
  695. package/dist/src/session/resolve-session.js +20 -20
  696. package/dist/src/session/session-context-for-llm.js +17 -10
  697. package/dist/src/session/session-title.d.ts +5 -5
  698. package/dist/src/session/session-title.js +28 -28
  699. package/dist/src/session/session-workspace.d.ts +1 -1
  700. package/dist/src/session/session-workspace.js +3 -3
  701. package/dist/src/session/store.d.ts +14 -14
  702. package/dist/src/session/store.js +70 -50
  703. package/dist/src/session/stored-rows-to-file-entries.d.ts +1 -1
  704. package/dist/src/session/stored-rows-to-file-entries.js +5 -3
  705. package/dist/src/session/thinking-resolve.d.ts +2 -2
  706. package/dist/src/session/thinking-resolve.js +4 -4
  707. package/dist/src/session/transcript-events.d.ts +1 -1
  708. package/dist/src/session/transcript-events.js +3 -3
  709. package/dist/src/session/transcript-outline.js +2 -1
  710. package/dist/src/session/turn-outcome-projector.js +2 -0
  711. package/dist/src/session/types.d.ts +5 -4
  712. package/dist/src/session/types.js +13 -9
  713. package/dist/src/session/user-message-display.js +2 -0
  714. package/dist/src/session/user-round-delete.js +2 -1
  715. package/dist/src/session/voice-transcript.js +8 -3
  716. package/dist/src/share/hosted-session-share.d.ts +6 -6
  717. package/dist/src/share/hosted-session-share.js +13 -11
  718. package/dist/src/share/hosted-static-site-publish.d.ts +1 -1
  719. package/dist/src/share/hosted-static-site-publish.js +1 -1
  720. package/dist/src/share/session-share-service.d.ts +9 -9
  721. package/dist/src/share/session-share-service.js +19 -19
  722. package/dist/src/share/share-store.d.ts +2 -2
  723. package/dist/src/share/share-store.js +9 -7
  724. package/dist/src/share/share-types.d.ts +2 -2
  725. package/dist/src/share/site-share-router.d.ts +2 -2
  726. package/dist/src/share/site-share-store.js +4 -2
  727. package/dist/src/share/site-share-types.d.ts +1 -1
  728. package/dist/src/storage/sqlite/activity-repository.js +2 -1
  729. package/dist/src/storage/sqlite/browser-session-repository.js +2 -1
  730. package/dist/src/storage/sqlite/browser-tab-binding-repository.d.ts +2 -2
  731. package/dist/src/storage/sqlite/browser-tab-binding-repository.js +10 -9
  732. package/dist/src/storage/sqlite/clarification-wait-repository.d.ts +7 -7
  733. package/dist/src/storage/sqlite/clarification-wait-repository.js +58 -53
  734. package/dist/src/storage/sqlite/collaboration-rule-repository.js +2 -1
  735. package/dist/src/storage/sqlite/composer-input-history-repository.js +2 -1
  736. package/dist/src/storage/sqlite/config-repository.d.ts +6 -6
  737. package/dist/src/storage/sqlite/config-repository.js +29 -25
  738. package/dist/src/storage/sqlite/connection-wait-repository.d.ts +11 -11
  739. package/dist/src/storage/sqlite/connection-wait-repository.js +61 -51
  740. package/dist/src/storage/sqlite/connection.js +28 -18
  741. package/dist/src/storage/sqlite/connector-account-repository.js +2 -1
  742. package/dist/src/storage/sqlite/connector-learning-repository.js +2 -1
  743. package/dist/src/storage/sqlite/connector-repository.d.ts +1 -1
  744. package/dist/src/storage/sqlite/connector-repository.js +11 -10
  745. package/dist/src/storage/sqlite/connector-sync-policy-repository.js +2 -1
  746. package/dist/src/storage/sqlite/context-evidence-repository.d.ts +1 -1
  747. package/dist/src/storage/sqlite/context-evidence-repository.js +7 -6
  748. package/dist/src/storage/sqlite/context-extraction-repository.js +2 -1
  749. package/dist/src/storage/sqlite/context-relation-repository.js +2 -1
  750. package/dist/src/storage/sqlite/conversation-repository.d.ts +12 -0
  751. package/dist/src/storage/sqlite/conversation-repository.js +76 -0
  752. package/dist/src/storage/sqlite/device-access-repository.js +4 -1
  753. package/dist/src/storage/sqlite/device-pairing-approval.js +4 -1
  754. package/dist/src/storage/sqlite/device-pairing-repository.js +2 -1
  755. package/dist/src/storage/sqlite/durable-queue.js +4 -2
  756. package/dist/src/storage/sqlite/durable-state.js +4 -2
  757. package/dist/src/storage/sqlite/endpoint-principal-repository.js +2 -1
  758. package/dist/src/storage/sqlite/endpoint-session-binding-repository.d.ts +3 -3
  759. package/dist/src/storage/sqlite/endpoint-session-binding-repository.js +12 -11
  760. package/dist/src/storage/sqlite/endpoint-tool-invocation-repository.js +2 -1
  761. package/dist/src/storage/sqlite/fts.js +39 -34
  762. package/dist/src/storage/sqlite/gateway-identity-repository.js +2 -1
  763. package/dist/src/storage/sqlite/home-attention-repository.js +2 -1
  764. package/dist/src/storage/sqlite/import-repository.d.ts +2 -3
  765. package/dist/src/storage/sqlite/import-repository.js +5 -4
  766. package/dist/src/storage/sqlite/import-selection-repository.d.ts +15 -0
  767. package/dist/src/storage/sqlite/import-selection-repository.js +29 -0
  768. package/dist/src/storage/sqlite/index.d.ts +1 -1
  769. package/dist/src/storage/sqlite/index.js +25 -11
  770. package/dist/src/storage/sqlite/interaction-state-repository.d.ts +4 -4
  771. package/dist/src/storage/sqlite/interaction-state-repository.js +12 -11
  772. package/dist/src/storage/sqlite/knowledge-repository.d.ts +1 -0
  773. package/dist/src/storage/sqlite/knowledge-repository.js +4 -3
  774. package/dist/src/storage/sqlite/migrations/175_import_selections.sql +8 -0
  775. package/dist/src/storage/sqlite/migrations/176_proactive_quality.sql +5 -0
  776. package/dist/src/storage/sqlite/migrations/177_proactive_check_controls.sql +25 -0
  777. package/dist/src/storage/sqlite/migrations/178_conversation_uuid.sql +2 -0
  778. package/dist/src/storage/sqlite/migrations/conversation-backup.d.ts +3 -0
  779. package/dist/src/storage/sqlite/migrations/conversation-backup.js +88 -0
  780. package/dist/src/storage/sqlite/migrations/conversation-backup.ts +66 -0
  781. package/dist/src/storage/sqlite/migrations/conversation-key-decoder.d.ts +8 -0
  782. package/dist/src/storage/sqlite/migrations/conversation-key-decoder.js +87 -0
  783. package/dist/src/storage/sqlite/migrations/conversation-key-decoder.ts +50 -0
  784. package/dist/src/storage/sqlite/migrations/conversation-uuid.d.ts +8 -0
  785. package/dist/src/storage/sqlite/migrations/conversation-uuid.js +366 -0
  786. package/dist/src/storage/sqlite/migrations/conversation-uuid.ts +324 -0
  787. package/dist/src/storage/sqlite/migrations/conversation-windows-owners.d.ts +1 -0
  788. package/dist/src/storage/sqlite/migrations/conversation-windows-owners.js +92 -0
  789. package/dist/src/storage/sqlite/migrations/conversation-windows-owners.ts +71 -0
  790. package/dist/src/storage/sqlite/migrations/discover.js +7 -3
  791. package/dist/src/storage/sqlite/migrations/errors.js +28 -23
  792. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  793. package/dist/src/storage/sqlite/migrations/runner.js +43 -14
  794. package/dist/src/storage/sqlite/migrations/runner.ts +13 -3
  795. package/dist/src/storage/sqlite/migrations/types.d.ts +1 -1
  796. package/dist/src/storage/sqlite/migrations/types.ts +1 -1
  797. package/dist/src/storage/sqlite/note-agent-context-repository.js +2 -1
  798. package/dist/src/storage/sqlite/notes-repository.js +4 -2
  799. package/dist/src/storage/sqlite/paths.js +6 -2
  800. package/dist/src/storage/sqlite/relationship-settings-repository.js +2 -1
  801. package/dist/src/storage/sqlite/row-mappers.d.ts +10 -10
  802. package/dist/src/storage/sqlite/row-mappers.js +22 -15
  803. package/dist/src/storage/sqlite/schema-version.js +7 -2
  804. package/dist/src/storage/sqlite/schema.js +14 -6
  805. package/dist/src/storage/sqlite/session-identity-sql.js +12 -5
  806. package/dist/src/storage/sqlite/session-input-repository.d.ts +14 -14
  807. package/dist/src/storage/sqlite/session-input-repository.js +69 -61
  808. package/dist/src/storage/sqlite/session-instance-repository.d.ts +1 -1
  809. package/dist/src/storage/sqlite/session-instance-repository.js +6 -3
  810. package/dist/src/storage/sqlite/session-metadata.d.ts +2 -2
  811. package/dist/src/storage/sqlite/session-metadata.js +7 -3
  812. package/dist/src/storage/sqlite/session-repository.d.ts +15 -15
  813. package/dist/src/storage/sqlite/session-repository.js +126 -102
  814. package/dist/src/storage/sqlite/session-task-plan-repository.d.ts +3 -3
  815. package/dist/src/storage/sqlite/session-task-plan-repository.js +21 -19
  816. package/dist/src/storage/sqlite/session-turn-replace-repository.d.ts +2 -2
  817. package/dist/src/storage/sqlite/session-turn-replace-repository.js +26 -22
  818. package/dist/src/storage/sqlite/transaction.js +12 -6
  819. package/dist/src/storage/sqlite/transcript-repository.d.ts +14 -14
  820. package/dist/src/storage/sqlite/transcript-repository.js +107 -102
  821. package/dist/src/storage/sqlite/user-people-repository.js +2 -1
  822. package/dist/src/storage/sqlite/user-trust-repository.js +2 -1
  823. package/dist/src/support/collect-support-report.js +7 -7
  824. package/dist/src/support/types.d.ts +2 -2
  825. package/dist/src/support/types.js +1 -1
  826. package/dist/src/tasks/execution-context.d.ts +2 -2
  827. package/dist/src/tasks/execution-context.js +3 -3
  828. package/dist/src/tasks/home-query-service.d.ts +2 -2
  829. package/dist/src/tasks/home-query-service.js +6 -6
  830. package/dist/src/tasks/index.js +6 -2
  831. package/dist/src/tasks/project-monitoring-service.js +2 -1
  832. package/dist/src/tasks/project-operating-view-service.js +2 -1
  833. package/dist/src/tasks/task-application-service.js +9 -4
  834. package/dist/src/tasks/task-change-events.js +7 -2
  835. package/dist/src/tasks/task-context-assembler.d.ts +2 -2
  836. package/dist/src/tasks/task-context-assembler.js +12 -9
  837. package/dist/src/tasks/task-context-repository.d.ts +1 -1
  838. package/dist/src/tasks/task-context-repository.js +4 -3
  839. package/dist/src/tasks/task-conversation-repository.d.ts +7 -7
  840. package/dist/src/tasks/task-conversation-repository.js +27 -26
  841. package/dist/src/tasks/task-deletion-service.js +2 -1
  842. package/dist/src/tasks/task-dependency-service.js +2 -1
  843. package/dist/src/tasks/task-handoff-service.d.ts +2 -2
  844. package/dist/src/tasks/task-handoff-service.js +16 -15
  845. package/dist/src/tasks/task-outbox-dispatcher.js +2 -1
  846. package/dist/src/tasks/task-read-model-projector.js +4 -2
  847. package/dist/src/tasks/task-repository.js +2 -1
  848. package/dist/src/tasks/task-run-coordinator.js +6 -5
  849. package/dist/src/tasks/task-run-dispatcher.d.ts +1 -1
  850. package/dist/src/tasks/task-run-dispatcher.js +4 -3
  851. package/dist/src/tasks/task-run-repository.d.ts +2 -2
  852. package/dist/src/tasks/task-run-repository.js +219 -212
  853. package/dist/src/tasks/task-signal-service.js +6 -2
  854. package/dist/src/tasks/task-workflow-coordinator.js +2 -1
  855. package/dist/src/tui/backends/embedded-backend.d.ts +33 -32
  856. package/dist/src/tui/backends/embedded-backend.js +95 -83
  857. package/dist/src/tui/backends/gateway-realtime-backend.d.ts +34 -33
  858. package/dist/src/tui/backends/gateway-realtime-backend.js +95 -78
  859. package/dist/src/tui/components/branch-summary.js +3 -3
  860. package/dist/src/tui/components/session-selector.d.ts +5 -5
  861. package/dist/src/tui/components/session-selector.js +7 -7
  862. package/dist/src/tui/components/tui-bottom-bar.js +1 -1
  863. package/dist/src/tui/components/tui-header.d.ts +1 -1
  864. package/dist/src/tui/components/tui-header.js +2 -2
  865. package/dist/src/tui/extension-host/autocomplete.d.ts +2 -2
  866. package/dist/src/tui/extension-host/autocomplete.js +4 -4
  867. package/dist/src/tui/extension-host/host.d.ts +1 -1
  868. package/dist/src/tui/extension-host/runtime-context.d.ts +1 -1
  869. package/dist/src/tui/extension-host/runtime-context.js +2 -2
  870. package/dist/src/tui/extension-host/runtime.d.ts +1 -1
  871. package/dist/src/tui/extension-host/runtime.js +6 -6
  872. package/dist/src/tui/tui-backend.d.ts +43 -39
  873. package/dist/src/tui/tui-command-formatters.d.ts +2 -2
  874. package/dist/src/tui/tui-command-formatters.js +10 -18
  875. package/dist/src/tui/tui-commands.d.ts +3 -3
  876. package/dist/src/tui/tui-commands.js +31 -33
  877. package/dist/src/tui/tui-empty-session-cleanup.d.ts +2 -3
  878. package/dist/src/tui/tui-empty-session-cleanup.js +7 -15
  879. package/dist/src/tui/tui-file-autocomplete.d.ts +1 -1
  880. package/dist/src/tui/tui-file-autocomplete.js +2 -2
  881. package/dist/src/tui/tui-new-session-preferences.js +2 -0
  882. package/dist/src/tui/tui-picker-overlay.d.ts +1 -1
  883. package/dist/src/tui/tui-picker-overlay.js +41 -53
  884. package/dist/src/tui/tui-picker-services.d.ts +3 -3
  885. package/dist/src/tui/tui-session-actions.d.ts +1 -1
  886. package/dist/src/tui/tui-session-actions.js +8 -17
  887. package/dist/src/tui/tui-session-format.js +4 -1
  888. package/dist/src/tui/tui-session-snapshot.d.ts +2 -2
  889. package/dist/src/tui/tui-session-snapshot.js +4 -4
  890. package/dist/src/tui/tui-settings.js +2 -0
  891. package/dist/src/tui/tui-startup-resources.d.ts +1 -1
  892. package/dist/src/tui/tui-startup-resources.js +3 -3
  893. package/dist/src/tui/tui-startup-text.js +1 -1
  894. package/dist/src/tui/tui-transcript-tree-picker.d.ts +1 -1
  895. package/dist/src/tui/tui-transcript-tree-picker.js +2 -2
  896. package/dist/src/tui/tui-types.d.ts +4 -2
  897. package/dist/src/tui/tui-types.js +2 -2
  898. package/dist/src/tui/tui.js +114 -112
  899. package/dist/src/user-context/access-policy.d.ts +1 -1
  900. package/dist/src/user-context/access-policy.js +6 -5
  901. package/dist/src/user-context/changes.js +9 -4
  902. package/dist/src/user-context/domain.d.ts +1 -1
  903. package/dist/src/user-context/relationship-continuity.d.ts +1 -1
  904. package/dist/src/user-context/relationship-continuity.js +1 -1
  905. package/dist/src/user-context/sources/repository.js +4 -2
  906. package/dist/src/user-model/capture/executor.d.ts +1 -1
  907. package/dist/src/user-model/capture/executor.js +3 -3
  908. package/dist/src/user-model/goals.js +2 -1
  909. package/dist/src/user-model/repository.js +2 -1
  910. package/dist/src/utils/global-singleton.js +4 -1
  911. package/dist/src/utils/logger/context.d.ts +1 -1
  912. package/dist/src/utils/logger/context.js +2 -2
  913. package/dist/src/utils/logger/log-store.js +2 -2
  914. package/dist/src/utils/logger/pino-record.js +6 -6
  915. package/dist/src/utils/logger/types.d.ts +6 -6
  916. package/dist/src/voice/realtime/agentBroker.d.ts +6 -6
  917. package/dist/src/voice/realtime/agentBroker.js +6 -6
  918. package/dist/src/voice/realtime/agentEngine.js +6 -6
  919. package/dist/src/voice/realtime/memory-context.d.ts +2 -2
  920. package/dist/src/voice/realtime/memory-context.js +15 -15
  921. package/dist/src/voice/realtime/persona-context.d.ts +1 -1
  922. package/dist/src/voice/realtime/persona-context.js +6 -6
  923. package/dist/src/voice/realtime/runtime.d.ts +1 -1
  924. package/dist/src/voice/realtime/runtime.js +14 -13
  925. package/dist/src/voice/realtime/runtime.types.d.ts +6 -6
  926. package/dist/src/work-discovery/candidate-discovery.js +1 -1
  927. package/dist/src/work-discovery/investigation-repository.js +4 -2
  928. package/dist/src/work-discovery/probe.js +1 -1
  929. package/dist/src/work-discovery/repository.js +7 -5
  930. package/dist/src/work-discovery/service.js +33 -29
  931. package/dist/src/work-discovery/types.d.ts +1 -1
  932. package/dist/src/workflows/context/workflow-context-snapshot-repository.js +2 -1
  933. package/dist/src/workflows/domain/event.d.ts +1 -1
  934. package/dist/src/workflows/domain/run.d.ts +5 -5
  935. package/dist/src/workflows/engine/projector.js +1 -1
  936. package/dist/src/workflows/engine/workflow-engine.d.ts +2 -2
  937. package/dist/src/workflows/engine/workflow-engine.js +15 -18
  938. package/dist/src/workflows/index.js +3 -3
  939. package/dist/src/workflows/project-presets/project-workflow-preset-repository.js +2 -1
  940. package/dist/src/workflows/service/run-view-to-snapshot.js +1 -1
  941. package/dist/src/workflows/service/workflow-run-service.d.ts +2 -2
  942. package/dist/src/workflows/service/workflow-run-service.js +53 -42
  943. package/dist/src/workflows/service/workflow-run-service.types.d.ts +2 -2
  944. package/dist/src/workflows/service/workflow-session-bridge.d.ts +2 -2
  945. package/dist/src/workflows/service/workflow-session-bridge.js +31 -31
  946. package/dist/src/workflows/service/workflow-session-key.d.ts +1 -1
  947. package/dist/src/workflows/service/workflow-session-key.js +4 -4
  948. package/dist/src/workflows/service/workflow-writeback-service.js +2 -1
  949. package/dist/src/workflows/store/event-store.js +4 -2
  950. package/dist/src/workflows/store/run-index-store.js +9 -8
  951. package/package.json +3 -3
  952. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-D9qP10BK.js +0 -1
  953. package/dist/gateway/static/root/assets/agents-D-bkOuAl.js +0 -1
  954. package/dist/gateway/static/root/assets/apps-page-BKwBBwJN.js +0 -1
  955. package/dist/gateway/static/root/assets/automations-workspace-B2-f9qZu.js +0 -6
  956. package/dist/gateway/static/root/assets/browser-settings-page-Dtn4rMeq.js +0 -8
  957. package/dist/gateway/static/root/assets/button-BA45yciM.js +0 -1
  958. package/dist/gateway/static/root/assets/capabilities-settings-panel-DiwtR9MD.js +0 -8
  959. package/dist/gateway/static/root/assets/channels-settings-pTdR1q1K.js +0 -1
  960. package/dist/gateway/static/root/assets/connectors-page-BSQ7Hs2w.js +0 -2
  961. package/dist/gateway/static/root/assets/desktop-pet-BUGkGB4-.js +0 -1
  962. package/dist/gateway/static/root/assets/device-pairing-wizard-CYkT7ecp.js +0 -1
  963. package/dist/gateway/static/root/assets/extension-settings-page-Baua1_Le.js +0 -1
  964. package/dist/gateway/static/root/assets/gateway-settings-CzpSYWex.js +0 -1
  965. package/dist/gateway/static/root/assets/heartbeat-settings-DTM_kYpE.js +0 -1
  966. package/dist/gateway/static/root/assets/home-page-CSSJvdd6.js +0 -1
  967. package/dist/gateway/static/root/assets/imports-page-XqVVYbAp.js +0 -1
  968. package/dist/gateway/static/root/assets/index-B_Sg5BKz.css +0 -2
  969. package/dist/gateway/static/root/assets/index-C9aQA4Dr.js +0 -74
  970. package/dist/gateway/static/root/assets/local-app-workbench-page-CZSgTYuI.js +0 -2
  971. package/dist/gateway/static/root/assets/locale-store-DO6JJ1l2.js +0 -1
  972. package/dist/gateway/static/root/assets/logs-page-z5ktnEzX.js +0 -2
  973. package/dist/gateway/static/root/assets/messages-BgZRsCkG.js +0 -3
  974. package/dist/gateway/static/root/assets/note-detail-panel-DSaZfkna.js +0 -5
  975. package/dist/gateway/static/root/assets/notes-page-CePEyv_C.js +0 -8
  976. package/dist/gateway/static/root/assets/page-tabs-CdYemUOu.js +0 -1
  977. package/dist/gateway/static/root/assets/popover-select-DGmMQt4t.js +0 -1
  978. package/dist/gateway/static/root/assets/proactive-page-Cy2Gm2f8.js +0 -1
  979. package/dist/gateway/static/root/assets/project-detail-page-BliwYpns.js +0 -1
  980. package/dist/gateway/static/root/assets/projects-page-Dm-BqnQn.js +0 -1
  981. package/dist/gateway/static/root/assets/remote-access-hub-C_XuQ9XR.js +0 -1
  982. package/dist/gateway/static/root/assets/sessions-page-Drt1aS2G.js +0 -1
  983. package/dist/gateway/static/root/assets/settings-advanced-gate-BAUd06_9.js +0 -1
  984. package/dist/gateway/static/root/assets/settings-form-section-Bw6xKOX5.js +0 -1
  985. package/dist/gateway/static/root/assets/settings-page-layout-DYelDcMV.js +0 -1
  986. package/dist/gateway/static/root/assets/setup-status-panel-BHI9e5Tw.js +0 -1
  987. package/dist/gateway/static/root/assets/shares-settings-DOAOjZBQ.js +0 -1
  988. package/dist/gateway/static/root/assets/skill-reload-api-DU0VQpHj.js +0 -1
  989. package/dist/gateway/static/root/assets/task-detail-page-DiPgMmBM.js +0 -1
  990. package/dist/gateway/static/root/assets/tunnel-api-Bmsy-5Fs.js +0 -1
  991. package/dist/gateway/static/root/assets/user-model-page-DxRaRdA0.js +0 -2
  992. package/dist/gateway/static/root/assets/workflows-page-CZikdgNw.js +0 -6
  993. package/dist/src/routing/session-key-utils.d.ts +0 -23
  994. package/dist/src/routing/session-key-utils.js +0 -85
  995. package/dist/src/session/session-id.d.ts +0 -3
  996. package/dist/src/session/session-id.js +0 -10
@@ -1,6 +1,7 @@
1
1
  import { createLogger } from "../../utils/logger/index.js";
2
2
  import { init_logger } from "../../utils/logger.js";
3
3
  import { chooseModelThinking } from "../../../packages/gateway-contract/src/model-selection.js";
4
+ import { init_src } from "../../../packages/gateway-contract/src/index.js";
4
5
  import { ResponseLanguageSchema, init_response_language } from "../../i18n/response-language.js";
5
6
  import { normalizeWorkingDirectoryInput } from "../../session/session-workspace.js";
6
7
  import { getProjectWorkspacePathForSession } from "../../projects/workspace.js";
@@ -9,21 +10,7 @@ import "../../session/index.js";
9
10
  import { getModelThinking } from "../../providers/model-thinking.js";
10
11
  import { mkdir } from "node:fs/promises";
11
12
  //#region src/agent/session/session-config-service.ts
12
- /**
13
- * SessionConfigService — owns the "write side" of per-session agent settings
14
- * (model override, thinking level, reasoning level, working directory).
15
- *
16
- * Previously these lived as four sibling methods on `AgentService`:
17
- * - `patchSessionAgentConfig` (96 lines of validation + persistence)
18
- * - `applyAutomationWorkingDirectory` (automation working dir update)
19
- * - `applyAutomationModelOverride` (automation model update before session creation)
20
- * - `clearAutomationWorkingDirectoryOverride` (private helper)
21
- * - `clearSessionModelOverride` (private helper)
22
- *
23
- * Extracted so `AgentService` no longer mixes "session bag" concerns with
24
- * "session config write" concerns, and so future additions to the patch API
25
- * (e.g. new per-session overrides) only touch this file.
26
- */
13
+ init_src();
27
14
  init_response_language();
28
15
  init_logger();
29
16
  const log = createLogger("SessionConfigService");
@@ -37,9 +24,9 @@ var SessionConfigService = class {
37
24
  * a session's persisted config. Returns `{ ok: false, error }` on the first
38
25
  * invalid field. Model and thinking are validated together and committed in one write.
39
26
  */
40
- async patch(sessionKey, partial) {
27
+ async patch(conversationId, partial) {
41
28
  if (partial.model !== void 0 || partial.thinkingLevel !== void 0 || partial.fixedModel) {
42
- const existing = await this.opts.sessionConfigStore.get(sessionKey);
29
+ const existing = await this.opts.sessionConfigStore.get(conversationId);
43
30
  if (partial.configVersion !== void 0 && partial.configVersion !== (existing?.updatedAt ?? 0)) return {
44
31
  ok: false,
45
32
  code: "CONFIG_CHANGED",
@@ -51,9 +38,9 @@ var SessionConfigService = class {
51
38
  code: "INVALID_MODEL",
52
39
  error: "Select a specific model"
53
40
  };
54
- await this.clearModelOverride(sessionKey);
41
+ await this.clearModelOverride(conversationId);
55
42
  } else {
56
- const ref = partial.model ?? existing?.modelOverride ?? this.opts.modelManager.getModelForSession(sessionKey);
43
+ const ref = partial.model ?? existing?.modelOverride ?? this.opts.modelManager.getModelForSession(conversationId);
57
44
  const model = this.opts.modelManager.findByRef(ref);
58
45
  if (!model) return {
59
46
  ok: false,
@@ -69,36 +56,36 @@ var SessionConfigService = class {
69
56
  };
70
57
  const thinkingLevel = requested ?? chooseModelThinking(capabilities, existing?.thinkingLevel);
71
58
  const modelRef = `${model.provider}/${model.id}`;
72
- const updated = await this.opts.sessionConfigStore.update(sessionKey, {
59
+ const updated = await this.opts.sessionConfigStore.update(conversationId, {
73
60
  modelOverride: modelRef,
74
61
  thinkingLevel,
75
62
  fixedModel: partial.fixedModel ?? existing?.fixedModel ?? false
76
63
  });
77
- this.opts.modelManager.restoreSessionModel(sessionKey, modelRef, updated.fixedModel === true);
64
+ this.opts.modelManager.restoreSessionModel(conversationId, modelRef, updated.fixedModel === true);
78
65
  try {
79
- if (this.opts.agentManager.getAgent(sessionKey)) {
80
- this.opts.agentManager.setModelForSession(sessionKey, modelRef);
81
- this.opts.agentManager.setThinkingLevel(sessionKey, thinkingLevel);
66
+ if (this.opts.agentManager.getAgent(conversationId)) {
67
+ this.opts.agentManager.setModelForSession(conversationId, modelRef);
68
+ this.opts.agentManager.setThinkingLevel(conversationId, thinkingLevel);
82
69
  }
83
70
  } catch (err) {
84
- this.opts.agentManager.removeAgent(sessionKey);
71
+ this.opts.agentManager.removeAgent(conversationId);
85
72
  log.warn({
86
73
  err,
87
- sessionKey,
74
+ conversationId,
88
75
  modelRef
89
76
  }, "Saved model configuration; runtime will reload before the next turn");
90
77
  }
91
78
  }
92
79
  }
93
80
  const activityDetailLevel = partial.activityDetailLevel !== void 0 ? partial.activityDetailLevel : partial.reasoningLevel;
94
- if (activityDetailLevel !== void 0) if (activityDetailLevel === null) await this.opts.sessionConfigStore.update(sessionKey, { reasoningLevel: void 0 });
81
+ if (activityDetailLevel !== void 0) if (activityDetailLevel === null) await this.opts.sessionConfigStore.update(conversationId, { reasoningLevel: void 0 });
95
82
  else {
96
83
  const normalized = normalizeReasoningLevel(activityDetailLevel);
97
84
  if (!normalized) return {
98
85
  ok: false,
99
86
  error: "Invalid activity detail level"
100
87
  };
101
- await this.opts.sessionConfigStore.update(sessionKey, { reasoningLevel: normalized });
88
+ await this.opts.sessionConfigStore.update(conversationId, { reasoningLevel: normalized });
102
89
  }
103
90
  if (partial.verboseLevel !== void 0) {
104
91
  const normalized = normalizeVerboseLevel(partial.verboseLevel);
@@ -106,19 +93,19 @@ var SessionConfigService = class {
106
93
  ok: false,
107
94
  error: "Invalid verbose level"
108
95
  };
109
- await this.opts.sessionConfigStore.update(sessionKey, { verboseLevel: normalized });
96
+ await this.opts.sessionConfigStore.update(conversationId, { verboseLevel: normalized });
110
97
  }
111
98
  if (partial.responseLanguage !== void 0) {
112
- if (partial.responseLanguage === null) await this.opts.sessionConfigStore.update(sessionKey, { responseLanguage: void 0 });
99
+ if (partial.responseLanguage === null) await this.opts.sessionConfigStore.update(conversationId, { responseLanguage: void 0 });
113
100
  else {
114
101
  const parsed = ResponseLanguageSchema.safeParse(partial.responseLanguage);
115
102
  if (!parsed.success) return {
116
103
  ok: false,
117
104
  error: "Invalid response language"
118
105
  };
119
- await this.opts.sessionConfigStore.update(sessionKey, { responseLanguage: parsed.data });
106
+ await this.opts.sessionConfigStore.update(conversationId, { responseLanguage: parsed.data });
120
107
  }
121
- this.opts.agentManager.removeAgent(sessionKey);
108
+ this.opts.agentManager.removeAgent(conversationId);
122
109
  }
123
110
  if (partial.userContextMode !== void 0) {
124
111
  if (![
@@ -129,32 +116,32 @@ var SessionConfigService = class {
129
116
  ok: false,
130
117
  error: "Invalid user context mode"
131
118
  };
132
- await this.opts.sessionConfigStore.update(sessionKey, { userContextMode: partial.userContextMode });
119
+ await this.opts.sessionConfigStore.update(conversationId, { userContextMode: partial.userContextMode });
133
120
  }
134
121
  if (partial.workingDirectory !== void 0) {
135
122
  if (!this.opts.getConfig()) return {
136
123
  ok: false,
137
124
  error: "Config not loaded"
138
125
  };
139
- if (getProjectWorkspacePathForSession(sessionKey)) return {
126
+ if (getProjectWorkspacePathForSession(conversationId)) return {
140
127
  ok: false,
141
128
  error: "Project sessions use the project workspace and cannot change working directory"
142
129
  };
143
- const result = await this.patchWorkingDirectory(sessionKey, partial.workingDirectory);
130
+ const result = await this.patchWorkingDirectory(conversationId, partial.workingDirectory);
144
131
  if (!result.ok) return result;
145
132
  }
146
133
  return { ok: true };
147
134
  }
148
135
  /** Materialize a restored/new chat choice; unavailable identities stay visible for repair. */
149
- async initializeModelSelection(sessionKey, modelRef, thinkingLevel, configVersion) {
150
- const existing = await this.opts.sessionConfigStore.get(sessionKey);
136
+ async initializeModelSelection(conversationId, modelRef, thinkingLevel, configVersion) {
137
+ const existing = await this.opts.sessionConfigStore.get(conversationId);
151
138
  if (configVersion !== void 0 && configVersion !== (existing?.updatedAt ?? 0)) return {
152
139
  ok: false,
153
140
  code: "CONFIG_CHANGED",
154
141
  error: "Model configuration changed. Refresh and try again."
155
142
  };
156
143
  const model = this.opts.modelManager.findByRef(modelRef);
157
- if (model) return this.patch(sessionKey, {
144
+ if (model) return this.patch(conversationId, {
158
145
  model: `${model.provider}/${model.id}`,
159
146
  thinkingLevel: chooseModelThinking(getModelThinking(model), thinkingLevel ?? existing?.thinkingLevel),
160
147
  fixedModel: true,
@@ -165,12 +152,12 @@ var SessionConfigService = class {
165
152
  code: "INVALID_MODEL",
166
153
  error: "Select a specific model"
167
154
  };
168
- await this.opts.sessionConfigStore.update(sessionKey, {
155
+ await this.opts.sessionConfigStore.update(conversationId, {
169
156
  modelOverride: modelRef,
170
157
  fixedModel: true,
171
158
  thinkingLevel: normalizeThinkLevel(thinkingLevel) ?? existing?.thinkingLevel ?? "off"
172
159
  });
173
- this.opts.modelManager.restoreSessionModel(sessionKey, modelRef, true);
160
+ this.opts.modelManager.restoreSessionModel(conversationId, modelRef, true);
174
161
  return { ok: true };
175
162
  }
176
163
  /**
@@ -178,24 +165,24 @@ var SessionConfigService = class {
178
165
  * change when the automation is edited; an empty/missing input clears the
179
166
  * override so the session uses the effective agent default.
180
167
  */
181
- async applyAutomationWorkingDirectory(sessionKey, workingDirectory) {
168
+ async applyAutomationWorkingDirectory(conversationId, workingDirectory) {
182
169
  const raw = workingDirectory?.trim();
183
170
  if (raw) {
184
171
  const wdNorm = normalizeWorkingDirectoryInput(raw);
185
172
  if (wdNorm.ok === false) {
186
173
  log.warn({
187
- sessionKey,
174
+ conversationId,
188
175
  error: wdNorm.error
189
176
  }, "Automation working directory invalid; using agent default");
190
- await this.clearAutomationWorkingDirectoryOverride(sessionKey);
177
+ await this.clearAutomationWorkingDirectoryOverride(conversationId);
191
178
  return;
192
179
  }
193
180
  await mkdir(wdNorm.path, { recursive: true });
194
- await this.opts.sessionConfigStore.update(sessionKey, { workingDirectoryOverride: wdNorm.path });
195
- this.opts.agentManager.setSessionWorkspaceOverride(sessionKey, wdNorm.path);
181
+ await this.opts.sessionConfigStore.update(conversationId, { workingDirectoryOverride: wdNorm.path });
182
+ this.opts.agentManager.setSessionWorkspaceOverride(conversationId, wdNorm.path);
196
183
  return;
197
184
  }
198
- await this.clearAutomationWorkingDirectoryOverride(sessionKey);
185
+ await this.clearAutomationWorkingDirectoryOverride(conversationId);
199
186
  }
200
187
  /**
201
188
  * Persist an automation model override before the direct turn creates/hydrates
@@ -203,36 +190,36 @@ var SessionConfigService = class {
203
190
  * `agentManager.setModelForSession`, because the automation session usually
204
191
  * does not exist yet.
205
192
  */
206
- async applyAutomationModelOverride(sessionKey, model) {
193
+ async applyAutomationModelOverride(conversationId, model) {
207
194
  const raw = model?.trim();
208
195
  if (!raw) {
209
- await this.clearModelOverride(sessionKey);
196
+ await this.clearModelOverride(conversationId);
210
197
  return true;
211
198
  }
212
- if (!await this.opts.modelManager.switchModelForSession(sessionKey, raw)) {
213
- await this.clearModelOverride(sessionKey);
199
+ if (!await this.opts.modelManager.switchModelForSession(conversationId, raw)) {
200
+ await this.clearModelOverride(conversationId);
214
201
  return false;
215
202
  }
216
- await this.opts.sessionConfigStore.update(sessionKey, { modelOverride: raw });
203
+ await this.opts.sessionConfigStore.update(conversationId, { modelOverride: raw });
217
204
  return true;
218
205
  }
219
206
  /**
220
207
  * Clear the session's model override (back to agent default). Used both by
221
208
  * {@link patch} and by `AgentService.resetSessionModelToAgentDefault`.
222
209
  */
223
- async clearModelOverride(sessionKey) {
224
- this.opts.modelManager.clearSessionModelOverride(sessionKey);
225
- await this.opts.sessionConfigStore.update(sessionKey, { modelOverride: void 0 });
226
- const agent = this.opts.agentManager.getAgent(sessionKey);
227
- if (agent) await this.opts.modelManager.applyModelForSession(agent, sessionKey);
210
+ async clearModelOverride(conversationId) {
211
+ this.opts.modelManager.clearSessionModelOverride(conversationId);
212
+ await this.opts.sessionConfigStore.update(conversationId, { modelOverride: void 0 });
213
+ const agent = this.opts.agentManager.getAgent(conversationId);
214
+ if (agent) await this.opts.modelManager.applyModelForSession(agent, conversationId);
228
215
  }
229
- async clearAutomationWorkingDirectoryOverride(sessionKey) {
230
- const existing = await this.opts.sessionConfigStore.get(sessionKey);
216
+ async clearAutomationWorkingDirectoryOverride(conversationId) {
217
+ const existing = await this.opts.sessionConfigStore.get(conversationId);
231
218
  if (existing?.workingDirectoryOverride) {
232
219
  const { workingDirectoryOverride: _removed, ...rest } = existing;
233
- await this.opts.sessionConfigStore.set(sessionKey, rest);
220
+ await this.opts.sessionConfigStore.set(conversationId, rest);
234
221
  }
235
- this.opts.agentManager.setSessionWorkspaceOverride(sessionKey, null);
222
+ this.opts.agentManager.setSessionWorkspaceOverride(conversationId, null);
236
223
  }
237
224
  /**
238
225
  * Apply the workingDirectory branch of `patch`. Returns the next-step result
@@ -242,10 +229,10 @@ var SessionConfigService = class {
242
229
  * messages, it cannot move to a different directory — only re-setting the
243
230
  * same path is idempotent.
244
231
  */
245
- async patchWorkingDirectory(sessionKey, workingDirectory) {
246
- const existingRaw = (await this.opts.sessionConfigStore.get(sessionKey))?.workingDirectoryOverride?.trim();
232
+ async patchWorkingDirectory(conversationId, workingDirectory) {
233
+ const existingRaw = (await this.opts.sessionConfigStore.get(conversationId))?.workingDirectoryOverride?.trim();
247
234
  const incoming = workingDirectory.trim();
248
- if ((await this.opts.sessionStore.load(sessionKey)).length > 0) {
235
+ if ((await this.opts.sessionStore.load(conversationId)).length > 0) {
249
236
  if (!incoming) return {
250
237
  ok: false,
251
238
  error: "workingDirectory is empty"
@@ -274,9 +261,9 @@ var SessionConfigService = class {
274
261
  if (prev.ok && prev.path === wdNorm.path) return { ok: true };
275
262
  }
276
263
  await mkdir(wdNorm.path, { recursive: true });
277
- await this.opts.sessionConfigStore.update(sessionKey, { workingDirectoryOverride: wdNorm.path });
278
- this.opts.agentManager.setSessionWorkspaceOverride(sessionKey, wdNorm.path);
279
- this.opts.agentManager.removeAgent(sessionKey);
264
+ await this.opts.sessionConfigStore.update(conversationId, { workingDirectoryOverride: wdNorm.path });
265
+ this.opts.agentManager.setSessionWorkspaceOverride(conversationId, wdNorm.path);
266
+ this.opts.agentManager.removeAgent(conversationId);
280
267
  return { ok: true };
281
268
  case false: return {
282
269
  ok: false,
@@ -4,7 +4,7 @@
4
4
  * The previous implementation kept the "current" session context in a single
5
5
  * mutable field on the class. That meant bus-inbound and direct-stream paths
6
6
  * concurrently handling different sessions could overwrite each other's view
7
- * of "current session", with tools reading the wrong sessionKey at execution
7
+ * of "current session", with tools reading the wrong conversationId at execution
8
8
  * time (the only thing masking it was the inbound consumer being serial).
9
9
  *
10
10
  * The new manager uses `AsyncLocalStorage`, so each async chain sees its own
@@ -17,7 +17,7 @@
17
17
  import type { TurnOrigin } from '@xopcai/endpoint-tools-protocol';
18
18
  import type { InboundMessage } from '../../infra/bus/index.js';
19
19
  export interface SessionContext {
20
- sessionKey: string;
20
+ conversationId: string;
21
21
  channel: string;
22
22
  chatId: string;
23
23
  senderId: string;
@@ -6,7 +6,7 @@ import { AsyncLocalStorage } from "node:async_hooks";
6
6
  * The previous implementation kept the "current" session context in a single
7
7
  * mutable field on the class. That meant bus-inbound and direct-stream paths
8
8
  * concurrently handling different sessions could overwrite each other's view
9
- * of "current session", with tools reading the wrong sessionKey at execution
9
+ * of "current session", with tools reading the wrong conversationId at execution
10
10
  * time (the only thing masking it was the inbound consumer being serial).
11
11
  *
12
12
  * The new manager uses `AsyncLocalStorage`, so each async chain sees its own
@@ -47,7 +47,7 @@ var SessionContextManager = class {
47
47
  static extractFromMessage(msg) {
48
48
  const metadata = msg.metadata || {};
49
49
  return {
50
- sessionKey: metadata.sessionKey || `${msg.channel}:${msg.chat_id}`,
50
+ conversationId: metadata.conversationId || `${msg.channel}:${msg.chat_id}`,
51
51
  channel: msg.channel,
52
52
  chatId: msg.chat_id,
53
53
  senderId: metadata.senderId || "",
@@ -30,12 +30,12 @@ export declare class SessionHydrator {
30
30
  * Load the effective workspace into AgentManager. Managed environment roots
31
31
  * must already exist; ordinary project and agent workspaces may be created.
32
32
  */
33
- workspace(sessionKey: string): Promise<void>;
33
+ workspace(conversationId: string): Promise<void>;
34
34
  /** Apply persisted `modelOverride` to ModelManager (no-op when none stored). */
35
- model(sessionKey: string): Promise<void>;
35
+ model(conversationId: string): Promise<void>;
36
36
  /**
37
37
  * Resolve the effective thinking level (request override > per-session
38
38
  * override > agent default) and apply it to the live agent instance.
39
39
  */
40
- thinking(sessionKey: string, requestOverride?: string | null): Promise<void>;
40
+ thinking(conversationId: string, requestOverride?: string | null): Promise<void>;
41
41
  }
@@ -33,45 +33,45 @@ var SessionHydrator = class {
33
33
  * Load the effective workspace into AgentManager. Managed environment roots
34
34
  * must already exist; ordinary project and agent workspaces may be created.
35
35
  */
36
- async workspace(sessionKey) {
36
+ async workspace(conversationId) {
37
37
  const cfg = this.opts.getConfig();
38
38
  if (!cfg) return;
39
- const loaded = await this.opts.sessionConfigStore.get(sessionKey);
40
- const project = getProjectForSession(sessionKey);
41
- const environment = getExecutionEnvironmentForSession(sessionKey);
39
+ const loaded = await this.opts.sessionConfigStore.get(conversationId);
40
+ const project = getProjectForSession(conversationId);
41
+ const environment = getExecutionEnvironmentForSession(conversationId);
42
42
  const projectWorkspace = projectWorkspacePath(project);
43
43
  if (environment) {
44
44
  if (environment.status !== "ready") throw new Error(`Execution environment ${environment.id} is ${environment.status}`);
45
45
  if (!await stat(environment.rootPath).then((value) => value.isDirectory()).catch(() => false)) throw new Error(`Execution environment root is unavailable: ${environment.rootPath}`);
46
- this.opts.agentManager.setSessionWorkspaceOverride(sessionKey, environment.rootPath);
47
- } else if (projectWorkspace) this.opts.agentManager.setSessionWorkspaceOverride(sessionKey, projectWorkspace);
46
+ this.opts.agentManager.setSessionWorkspaceOverride(conversationId, environment.rootPath);
47
+ } else if (projectWorkspace) this.opts.agentManager.setSessionWorkspaceOverride(conversationId, projectWorkspace);
48
48
  else if (loaded?.workingDirectoryOverride?.trim()) {
49
49
  const wdStored = normalizeWorkingDirectoryInput(loaded.workingDirectoryOverride);
50
- if (wdStored.ok) this.opts.agentManager.setSessionWorkspaceOverride(sessionKey, wdStored.path);
50
+ if (wdStored.ok) this.opts.agentManager.setSessionWorkspaceOverride(conversationId, wdStored.path);
51
51
  else {
52
- log.warn({ sessionKey }, "Invalid stored workingDirectoryOverride; ignoring");
53
- this.opts.agentManager.setSessionWorkspaceOverride(sessionKey, null);
52
+ log.warn({ conversationId }, "Invalid stored workingDirectoryOverride; ignoring");
53
+ this.opts.agentManager.setSessionWorkspaceOverride(conversationId, null);
54
54
  }
55
- } else this.opts.agentManager.setSessionWorkspaceOverride(sessionKey, null);
56
- const effective = effectiveWorkspacePathForSession(cfg, sessionKey, loaded, project);
55
+ } else this.opts.agentManager.setSessionWorkspaceOverride(conversationId, null);
56
+ const effective = effectiveWorkspacePathForSession(cfg, conversationId, loaded, project);
57
57
  if (!environment) await mkdir(effective, { recursive: true });
58
58
  }
59
59
  /** Apply persisted `modelOverride` to ModelManager (no-op when none stored). */
60
- async model(sessionKey) {
61
- const cfg = await this.opts.sessionConfigStore.get(sessionKey);
62
- if (cfg?.modelOverride) this.opts.modelManager.restoreSessionModel(sessionKey, cfg.modelOverride, cfg.fixedModel === true);
60
+ async model(conversationId) {
61
+ const cfg = await this.opts.sessionConfigStore.get(conversationId);
62
+ if (cfg?.modelOverride) this.opts.modelManager.restoreSessionModel(conversationId, cfg.modelOverride, cfg.fixedModel === true);
63
63
  }
64
64
  /**
65
65
  * Resolve the effective thinking level (request override > per-session
66
66
  * override > agent default) and apply it to the live agent instance.
67
67
  */
68
- async thinking(sessionKey, requestOverride) {
69
- const level = await resolveEffectiveThinkingLevel(this.opts.sessionConfigStore, sessionKey, requestOverride, void 0);
70
- if ((await this.opts.sessionConfigStore.get(sessionKey))?.fixedModel) {
71
- const model = this.opts.modelManager.getResolvedModelForSession(sessionKey);
68
+ async thinking(conversationId, requestOverride) {
69
+ const level = await resolveEffectiveThinkingLevel(this.opts.sessionConfigStore, conversationId, requestOverride, void 0);
70
+ if ((await this.opts.sessionConfigStore.get(conversationId))?.fixedModel) {
71
+ const model = this.opts.modelManager.getResolvedModelForSession(conversationId);
72
72
  if (!getModelThinking(model).options.includes(level)) throw new Error(`Thinking level ${level} is not supported by ${model.provider}/${model.id}`);
73
73
  }
74
- this.opts.agentManager.setThinkingLevel(sessionKey, level);
74
+ this.opts.agentManager.setThinkingLevel(conversationId, level);
75
75
  }
76
76
  };
77
77
  //#endregion
@@ -35,7 +35,7 @@ export interface SessionInspectorOptions {
35
35
  * Nominal context window the session is budgeted against. Derived from the
36
36
  * effective session model metadata, defaulting to 128k.
37
37
  */
38
- getContextWindow: (sessionKey: string) => number;
38
+ getContextWindow: (conversationId: string) => number;
39
39
  }
40
40
  export interface SessionContextUsage {
41
41
  estimatedTokens: number;
@@ -70,25 +70,25 @@ export declare class SessionInspector {
70
70
  * pass (`force: true` by default) and evicts the in-memory agent so the
71
71
  * next turn reloads from the compacted transcript.
72
72
  */
73
- compact(sessionKey: string, options?: {
73
+ compact(conversationId: string, options?: {
74
74
  instructions?: string;
75
75
  force?: boolean;
76
76
  }): Promise<CompactionResult>;
77
77
  /** One-shot LLM answer for `/btw`: transcript as background, not persisted. */
78
- btwQuery(sessionKey: string, question: string, options?: BtwQueryOptions): Promise<{
78
+ btwQuery(conversationId: string, question: string, options?: BtwQueryOptions): Promise<{
79
79
  text: string;
80
80
  error?: string;
81
81
  }>;
82
82
  /** Cheap stats used by both the report and other callers. */
83
- stats(sessionKey: string, messages: AgentMessage[]): {
83
+ stats(conversationId: string, messages: AgentMessage[]): {
84
84
  windowStats: ReturnType<SessionStore['getWindowStats']>;
85
85
  compactionStats: ReturnType<SessionStore['getCompactionStats']>;
86
86
  tokenEstimate: ReturnType<SessionStore['estimateTokenUsage']>;
87
87
  };
88
88
  /** Rough context usage for TUI footer (estimated tokens vs nominal budget). */
89
- contextUsage(sessionKey: string): Promise<SessionContextUsage>;
89
+ contextUsage(conversationId: string): Promise<SessionContextUsage>;
90
90
  /** Markdown or JSON summary for `/context`. */
91
- report(sessionKey: string, mode: 'list' | 'detail' | 'json'): Promise<string>;
91
+ report(conversationId: string, mode: 'list' | 'detail' | 'json'): Promise<string>;
92
92
  /** Resolved thinking / model / workspace for the Web UI. */
93
- agentConfig(sessionKey: string): Promise<SessionAgentConfigView>;
93
+ agentConfig(conversationId: string): Promise<SessionAgentConfigView>;
94
94
  }
@@ -22,48 +22,48 @@ var SessionInspector = class {
22
22
  constructor(opts) {
23
23
  this.opts = opts;
24
24
  }
25
- async ensureEffectiveSessionModel(sessionKey) {
26
- await this.opts.sessionHydrator.model(sessionKey);
25
+ async ensureEffectiveSessionModel(conversationId) {
26
+ await this.opts.sessionHydrator.model(conversationId);
27
27
  const cfg = this.opts.getConfig();
28
28
  if (!cfg) return;
29
- const profile = resolveEffectiveAgentProfileForSession(cfg, sessionKey);
29
+ const profile = resolveEffectiveAgentProfileForSession(cfg, conversationId);
30
30
  const profileModelRef = profile.primaryModelRef?.trim();
31
- if (profileModelRef) this.opts.modelManager.setSessionProfileDefault(sessionKey, profileModelRef, profile.fallbacks);
31
+ if (profileModelRef) this.opts.modelManager.setSessionProfileDefault(conversationId, profileModelRef, profile.fallbacks);
32
32
  }
33
- async contextWindowForSession(sessionKey) {
34
- await this.ensureEffectiveSessionModel(sessionKey);
35
- return this.opts.getContextWindow(sessionKey);
33
+ async contextWindowForSession(conversationId) {
34
+ await this.ensureEffectiveSessionModel(conversationId);
35
+ return this.opts.getContextWindow(conversationId);
36
36
  }
37
37
  /**
38
38
  * Manual compaction triggered by a user / API. Always forces a compaction
39
39
  * pass (`force: true` by default) and evicts the in-memory agent so the
40
40
  * next turn reloads from the compacted transcript.
41
41
  */
42
- async compact(sessionKey, options) {
43
- const messages = await this.opts.sessionStore.load(sessionKey);
44
- await this.ensureEffectiveSessionModel(sessionKey);
42
+ async compact(conversationId, options) {
43
+ const messages = await this.opts.sessionStore.load(conversationId);
44
+ await this.ensureEffectiveSessionModel(conversationId);
45
45
  const policy = resolveCompactionPolicy(this.opts.getConfig());
46
- const sessionModel = this.opts.modelManager.getResolvedModelForSession(sessionKey);
46
+ const sessionModel = this.opts.modelManager.getResolvedModelForSession(conversationId);
47
47
  const model = policy.model ? resolveModel(policy.model) : sessionModel;
48
48
  const primaryRef = `${model.provider}/${model.id}`;
49
- const fallbackModels = this.opts.modelManager.getFallbackCandidatesForSession(sessionKey).map((candidate) => resolveModel(`${candidate.provider}/${candidate.model}`)).filter((candidate) => `${candidate.provider}/${candidate.id}` !== primaryRef);
50
- const result = await this.opts.sessionStore.compact(sessionKey, messages, model, options?.instructions, options?.force ?? true, { fallbackModels });
51
- if (result.compacted) this.opts.agentManager.removeAgent(sessionKey);
49
+ const fallbackModels = this.opts.modelManager.getFallbackCandidatesForSession(conversationId).map((candidate) => resolveModel(`${candidate.provider}/${candidate.model}`)).filter((candidate) => `${candidate.provider}/${candidate.id}` !== primaryRef);
50
+ const result = await this.opts.sessionStore.compact(conversationId, messages, model, options?.instructions, options?.force ?? true, { fallbackModels });
51
+ if (result.compacted) this.opts.agentManager.removeAgent(conversationId);
52
52
  log.info({
53
- sessionKey,
53
+ conversationId,
54
54
  result
55
55
  }, "Manual compaction complete");
56
56
  return result;
57
57
  }
58
58
  /** One-shot LLM answer for `/btw`: transcript as background, not persisted. */
59
- btwQuery(sessionKey, question, options) {
59
+ btwQuery(conversationId, question, options) {
60
60
  const config = this.opts.getConfig();
61
- const profile = config ? resolveEffectiveAgentProfileForSession(config, sessionKey) : void 0;
61
+ const profile = config ? resolveEffectiveAgentProfileForSession(config, conversationId) : void 0;
62
62
  return runBtwQuery({
63
- sessionKey,
63
+ conversationId,
64
64
  question,
65
65
  sessionStore: this.opts.sessionStore,
66
- modelForSession: options?.modelRef?.trim() || this.opts.modelManager.getModelForSession(sessionKey),
66
+ modelForSession: options?.modelRef?.trim() || this.opts.modelManager.getModelForSession(conversationId),
67
67
  log,
68
68
  maxTokens: options?.maxTokens,
69
69
  temperature: options?.temperature,
@@ -76,18 +76,18 @@ var SessionInspector = class {
76
76
  });
77
77
  }
78
78
  /** Cheap stats used by both the report and other callers. */
79
- stats(sessionKey, messages) {
79
+ stats(conversationId, messages) {
80
80
  return {
81
81
  windowStats: this.opts.sessionStore.getWindowStats(messages),
82
- compactionStats: this.opts.sessionStore.getCompactionStats(sessionKey),
83
- tokenEstimate: this.opts.sessionStore.estimateTokenUsage(sessionKey, messages)
82
+ compactionStats: this.opts.sessionStore.getCompactionStats(conversationId),
83
+ tokenEstimate: this.opts.sessionStore.estimateTokenUsage(conversationId, messages)
84
84
  };
85
85
  }
86
86
  /** Rough context usage for TUI footer (estimated tokens vs nominal budget). */
87
- async contextUsage(sessionKey) {
88
- const messages = await this.opts.sessionStore.load(sessionKey);
89
- const contextWindow = await this.contextWindowForSession(sessionKey);
90
- const estimatedTokens = await this.opts.sessionStore.estimateTokenUsage(sessionKey, messages);
87
+ async contextUsage(conversationId) {
88
+ const messages = await this.opts.sessionStore.load(conversationId);
89
+ const contextWindow = await this.contextWindowForSession(conversationId);
90
+ const estimatedTokens = await this.opts.sessionStore.estimateTokenUsage(conversationId, messages);
91
91
  return {
92
92
  estimatedTokens,
93
93
  contextWindow,
@@ -95,20 +95,20 @@ var SessionInspector = class {
95
95
  };
96
96
  }
97
97
  /** Markdown or JSON summary for `/context`. */
98
- async report(sessionKey, mode) {
98
+ async report(conversationId, mode) {
99
99
  const cfg = this.opts.getConfig();
100
100
  if (!cfg) throw new Error("SessionInspector requires a config snapshot to render report");
101
- const messages = await this.opts.sessionStore.load(sessionKey);
102
- const cw = await this.contextWindowForSession(sessionKey);
103
- const computed = this.stats(sessionKey, messages);
104
- const model = this.opts.modelManager.getModelForSession(sessionKey);
105
- const workspace = effectiveWorkspacePathForSession(cfg, sessionKey, await this.opts.sessionConfigStore.get(sessionKey), getProjectForSession(sessionKey));
106
- const estTokens = await this.opts.sessionStore.estimateTokenUsage(sessionKey, messages);
107
- const profile = resolveEffectiveAgentProfileForSession(cfg, sessionKey);
101
+ const messages = await this.opts.sessionStore.load(conversationId);
102
+ const cw = await this.contextWindowForSession(conversationId);
103
+ const computed = this.stats(conversationId, messages);
104
+ const model = this.opts.modelManager.getModelForSession(conversationId);
105
+ const workspace = effectiveWorkspacePathForSession(cfg, conversationId, await this.opts.sessionConfigStore.get(conversationId), getProjectForSession(conversationId));
106
+ const estTokens = await this.opts.sessionStore.estimateTokenUsage(conversationId, messages);
107
+ const profile = resolveEffectiveAgentProfileForSession(cfg, conversationId);
108
108
  const deniedTools = [...profile.tools.denied].sort((a, b) => a.localeCompare(b));
109
109
  const toolsSummary = deniedTools.length > 0 ? `denied: ${deniedTools.join(", ")}` : "(no denied tools)";
110
110
  return formatSessionContextReport({
111
- sessionKey,
111
+ conversationId,
112
112
  mode,
113
113
  model,
114
114
  workspacePath: workspace,
@@ -126,21 +126,21 @@ var SessionInspector = class {
126
126
  });
127
127
  }
128
128
  /** Resolved thinking / model / workspace for the Web UI. */
129
- async agentConfig(sessionKey) {
130
- await this.ensureEffectiveSessionModel(sessionKey);
129
+ async agentConfig(conversationId) {
130
+ await this.ensureEffectiveSessionModel(conversationId);
131
131
  const cfg = this.opts.getConfig();
132
132
  if (!cfg) throw new Error("SessionInspector requires a config snapshot to resolve agent config");
133
- const sc = await this.opts.sessionConfigStore.get(sessionKey);
134
- const level = await resolveEffectiveThinkingLevel(this.opts.sessionConfigStore, sessionKey, null, "medium");
133
+ const sc = await this.opts.sessionConfigStore.get(conversationId);
134
+ const level = await resolveEffectiveThinkingLevel(this.opts.sessionConfigStore, conversationId, null, "medium");
135
135
  const defReason = resolveConfiguredActivityDetailDefault(cfg);
136
- const reasoningLevel = await resolveEffectiveReasoningLevel(this.opts.sessionConfigStore, sessionKey, defReason);
137
- const verboseLevel = await resolveVerboseLevel(this.opts.sessionConfigStore, sessionKey, "full");
138
- const model = this.opts.modelManager.getModelForSession(sessionKey);
139
- const project = getProjectForSession(sessionKey);
140
- const environment = getExecutionEnvironmentForSession(sessionKey);
136
+ const reasoningLevel = await resolveEffectiveReasoningLevel(this.opts.sessionConfigStore, conversationId, defReason);
137
+ const verboseLevel = await resolveVerboseLevel(this.opts.sessionConfigStore, conversationId, "full");
138
+ const model = this.opts.modelManager.getModelForSession(conversationId);
139
+ const project = getProjectForSession(conversationId);
140
+ const environment = getExecutionEnvironmentForSession(conversationId);
141
141
  const projectWorkspace = projectWorkspacePath(project);
142
142
  const hasSessionWorkspaceOverride = Boolean(sc?.workingDirectoryOverride?.trim());
143
- const effectiveWorkspacePath = effectiveWorkspacePathForSession(cfg, sessionKey, sc, project);
143
+ const effectiveWorkspacePath = effectiveWorkspacePathForSession(cfg, conversationId, sc, project);
144
144
  const isDefaultWorkspaceRoot = effectiveWorkspacePath === resolveDefaultAgentWorkspaceDir();
145
145
  return {
146
146
  thinkingLevel: level,
@@ -37,9 +37,9 @@ export declare class SessionLifecycleManager {
37
37
  /**
38
38
  * Get the start time for a session
39
39
  */
40
- getSessionStartTime(sessionKey: string): number | undefined;
40
+ getSessionStartTime(conversationId: string): number | undefined;
41
41
  /**
42
42
  * Check if a session is currently active
43
43
  */
44
- isSessionActive(sessionKey: string): boolean;
44
+ isSessionActive(conversationId: string): boolean;
45
45
  }