@xopcai/xopc 0.0.179 → 0.0.187

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 (794) hide show
  1. package/README.md +1 -1
  2. package/README.zh-CN.md +1 -1
  3. package/dist/browser-ext/manifest.json +1 -1
  4. package/dist/extensions/telegram/xopc.extension.json +1 -1
  5. package/dist/gateway/static/root/assets/{activity-store-A5FUMjeV.js → activity-store-WlR2zEvA.js} +1 -1
  6. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-NghNiDWx.js → agent-avatar-dicebear-RedDszrG.js} +1 -1
  7. package/dist/gateway/static/root/assets/agents-Df9mTa-K.js +2 -0
  8. package/dist/gateway/static/root/assets/{api-Bmzslx0Z.js → api-tVOllncq.js} +1 -1
  9. package/dist/gateway/static/root/assets/{app-management-settings-panel-DDWS_BBJ.js → app-management-settings-panel-C9hKBzaF.js} +1 -1
  10. package/dist/gateway/static/root/assets/{appearance-settings-C6znvVtX.js → appearance-settings-5cQvq7hd.js} +1 -1
  11. package/dist/gateway/static/root/assets/apps-page-Bd3tN-k2.js +1 -0
  12. package/dist/gateway/static/root/assets/{archive-plugin-fvTZhPUr.js → archive-plugin-Ct-shK4n.js} +1 -1
  13. package/dist/gateway/static/root/assets/{attachment-load-BFEgvg-Q.js → attachment-load-CpPj3m-q.js} +1 -1
  14. package/dist/gateway/static/root/assets/automations-page-w6K9GZQ7.js +6 -0
  15. package/dist/gateway/static/root/assets/{binary-plugins-CuI2bOc7.js → binary-plugins-BpSXZBle.js} +1 -1
  16. package/dist/gateway/static/root/assets/{block-editor-Z_k8W0al.js → block-editor-B8hR2tXc.js} +46 -46
  17. package/dist/gateway/static/root/assets/browser-settings-page-jb5Hf-hm.js +8 -0
  18. package/dist/gateway/static/root/assets/browser-workflow-inputs-D_LAXUrh.js +1 -0
  19. package/dist/gateway/static/root/assets/{browser-workflows-page-Cq5qXStp.js → browser-workflows-page-CPAs7-6s.js} +2 -2
  20. package/dist/gateway/static/root/assets/capabilities-settings-panel-BjUe4raq.js +7 -0
  21. package/dist/gateway/static/root/assets/capability-presets-api-CKklVY2p.js +1 -0
  22. package/dist/gateway/static/root/assets/capability-presets-settings-panel-DiWIMYRr.js +1 -0
  23. package/dist/gateway/static/root/assets/{channel-recipient-api-TwMak0SE.js → channel-recipient-api-WWN-nbFL.js} +1 -1
  24. package/dist/gateway/static/root/assets/channels-settings-D8IkjMuX.js +1 -0
  25. package/dist/gateway/static/root/assets/channels-status-swr-CySs1GQX.js +1 -0
  26. package/dist/gateway/static/root/assets/{connector-logo-DBKotvNr.js → connector-logo-CdNkVFdB.js} +1 -1
  27. package/dist/gateway/static/root/assets/connectors-page-BT2ahw52.js +2 -0
  28. package/dist/gateway/static/root/assets/desktop-pet-Bm_IEAf3.js +1 -0
  29. package/dist/gateway/static/root/assets/{desktop-pet-settings-CyIg2jJp.js → desktop-pet-settings-C0Ve04-G.js} +1 -1
  30. package/dist/gateway/static/root/assets/{directory-picker-path-field-B6fc_7SL.js → directory-picker-path-field-B2cvhvAI.js} +1 -1
  31. package/dist/gateway/static/root/assets/{extension-debug-page-AbRNi2ON.js → extension-debug-page-DNashgGu.js} +1 -1
  32. package/dist/gateway/static/root/assets/{extension-page-ClYfiLXC.js → extension-page-Bvo-5htX.js} +1 -1
  33. package/dist/gateway/static/root/assets/{extension-settings-page-BGVP2hw1.js → extension-settings-page-BBESdISV.js} +1 -1
  34. package/dist/gateway/static/root/assets/{gateway-config-api-B7GqtklK.js → gateway-config-api-ClQvokMo.js} +1 -1
  35. package/dist/gateway/static/root/assets/{gateway-settings-BMeK8igT.js → gateway-settings-CIRs2QVy.js} +1 -1
  36. package/dist/gateway/static/root/assets/{gateway-startup-retry-CKKL96r_.js → gateway-startup-retry-CntXJF6W.js} +1 -1
  37. package/dist/gateway/static/root/assets/heartbeat-settings-CWKcZuvc.js +1 -0
  38. package/dist/gateway/static/root/assets/home-page-C59f8UJw.js +3 -0
  39. package/dist/gateway/static/root/assets/{image-generation-api-BY3VQ5Mv.js → image-generation-api-DjSAQwGy.js} +1 -1
  40. package/dist/gateway/static/root/assets/index-D-YfWVyS.css +1 -0
  41. package/dist/gateway/static/root/assets/index-vi5KlR5_.js +222 -0
  42. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-CELtDFz3.js → keyboard-shortcuts-settings-ahKHpjoW.js} +1 -1
  43. package/dist/gateway/static/root/assets/local-app-workbench-page-DRB4UQBE.js +2 -0
  44. package/dist/gateway/static/root/assets/{local-apps-page-CF5uUd1n.js → local-apps-page-B6GKdgza.js} +1 -1
  45. package/dist/gateway/static/root/assets/{locale-store-DIVc0AQs.js → locale-store-Bff30u5V.js} +1 -1
  46. package/dist/gateway/static/root/assets/logs-page-CNp4XiBN.js +7 -0
  47. package/dist/gateway/static/root/assets/{markdown-split-CN85EdB8.js → markdown-split-BeNMJm_i.js} +1 -1
  48. package/dist/gateway/static/root/assets/{media-plugins-CxYEc-b8.js → media-plugins-Bdzrj_-6.js} +1 -1
  49. package/dist/gateway/static/root/assets/messages-CPxz48hr.js +3 -0
  50. package/dist/gateway/static/root/assets/{notes-page-Goab4781.js → notes-page-MYIi-9S9.js} +1 -1
  51. package/dist/gateway/static/root/assets/notes-workbench-DqSkeDXX.js +4 -0
  52. package/dist/gateway/static/root/assets/{page-tabs-tQNQcAts.js → page-tabs-3t88bbGx.js} +1 -1
  53. package/dist/gateway/static/root/assets/{preview-open-alternatives-BSTlgsDB.js → preview-open-alternatives-Cf_BWbeE.js} +1 -1
  54. package/dist/gateway/static/root/assets/product-delivery-C8JbSj5Y.js +1 -0
  55. package/dist/gateway/static/root/assets/{product-open-page-iQ5gTCip.js → product-open-page-CKq73c98.js} +1 -1
  56. package/dist/gateway/static/root/assets/project-detail-page-BrbHs4Wp.js +1 -0
  57. package/dist/gateway/static/root/assets/projects-page-B80rtkj6.js +1 -0
  58. package/dist/gateway/static/root/assets/remote-access-hub-_Q3GEznb.js +1 -0
  59. package/dist/gateway/static/root/assets/{schema-form-Bbw8l2ri.js → schema-form-NqOm-OG1.js} +1 -1
  60. package/dist/gateway/static/root/assets/sessions-page-55dJOUVg.js +1 -0
  61. package/dist/gateway/static/root/assets/settings-advanced-gate-CSFCZj14.js +1 -0
  62. package/dist/gateway/static/root/assets/{settings-form-section-BqbibcnJ.js → settings-form-section-DYAS8p8z.js} +1 -1
  63. package/dist/gateway/static/root/assets/{settings-loading-skeleton-DNLNCEGT.js → settings-loading-skeleton-DZFhxihA.js} +1 -1
  64. package/dist/gateway/static/root/assets/settings-page-BSIiMLi-.js +1 -0
  65. package/dist/gateway/static/root/assets/{settings-page-layout-Cdb1e2Cz.js → settings-page-layout-DfFfkdED.js} +1 -1
  66. package/dist/gateway/static/root/assets/setup-status-panel-q_yE6-H1.js +1 -0
  67. package/dist/gateway/static/root/assets/{share-preview-page-CkrASny2.js → share-preview-page-CYtrQaZN.js} +1 -1
  68. package/dist/gateway/static/root/assets/shares-settings-gYkRX9Ik.js +1 -0
  69. package/dist/gateway/static/root/assets/skill-reload-api-BoNBMKW6.js +1 -0
  70. package/dist/gateway/static/root/assets/skills-page-GZHKDFSb.js +2 -0
  71. package/dist/gateway/static/root/assets/{skills-page.utils-BG5dGkyA.js → skills-page.utils-BBXirAjc.js} +1 -1
  72. package/dist/gateway/static/root/assets/system-settings-panel-DLf5YvFl.js +1 -0
  73. package/dist/gateway/static/root/assets/task-detail-page-DFGkuYfl.js +1 -0
  74. package/dist/gateway/static/root/assets/{theme-store-DtwI_VLT.js → theme-store-y7e_tvYi.js} +1 -1
  75. package/dist/gateway/static/root/assets/time-picker-5sHEZ5w5.js +1 -0
  76. package/dist/gateway/static/root/assets/{typed-models-lib-DOnpwsrE.js → typed-models-lib-DR12j_dr.js} +1 -1
  77. package/dist/gateway/static/root/assets/use-save-bar-registration-BsvcJgZl.js +1 -0
  78. package/dist/gateway/static/root/assets/user-context-page-q5dr8JFG.js +1 -0
  79. package/dist/gateway/static/root/assets/{voice-api-key-field-DP80jW-W.js → voice-api-key-field-DKADXFWD.js} +1 -1
  80. package/dist/gateway/static/root/assets/work-discovery-overlay-BC1nExf8.js +1 -0
  81. package/dist/gateway/static/root/assets/work-discovery-page-fNvSg40M.js +1 -0
  82. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-BLlVqKdA.js → workflow-run-setup-panel-C8X5W-8k.js} +2 -2
  83. package/dist/gateway/static/root/assets/workflows-page-YJBKmPYK.js +11 -0
  84. package/dist/gateway/static/root/index.html +8 -8
  85. package/dist/package.js +1 -1
  86. package/dist/packages/gateway-contract/src/product-delivery.js +1 -3
  87. package/dist/packages/gateway-contract/src/project-monitoring.js +31 -0
  88. package/dist/packages/gateway-contract/src/task-lifecycle.js +67 -0
  89. package/dist/packages/gateway-contract/src/task-runs.js +80 -0
  90. package/dist/packages/gateway-contract/src/tasks.js +353 -0
  91. package/dist/src/activity/types.d.ts +2 -2
  92. package/dist/src/agent/agent-instance-gateway.d.ts +1 -1
  93. package/dist/src/agent/agent-manager.d.ts +7 -4
  94. package/dist/src/agent/agent-manager.js +38 -23
  95. package/dist/src/agent/child-agent-factory.d.ts +1 -2
  96. package/dist/src/agent/child-agent-factory.js +4 -10
  97. package/dist/src/agent/context/execution-scope.d.ts +2 -2
  98. package/dist/src/agent/context/execution-scope.js +17 -20
  99. package/dist/src/agent/context/project-context.d.ts +6 -2
  100. package/dist/src/agent/context/project-context.js +17 -25
  101. package/dist/src/agent/context/workspace-templates/AGENTS.md +1 -1
  102. package/dist/src/agent/embedded/run-for-session.d.ts +2 -0
  103. package/dist/src/agent/embedded/run-for-session.js +3 -1
  104. package/dist/src/agent/embedded/run-turn.js +2 -0
  105. package/dist/src/agent/embedded/session-tool-result-guard.d.ts +2 -0
  106. package/dist/src/agent/embedded/session-tool-result-guard.js +16 -4
  107. package/dist/src/agent/inbound/inbound-loop.js +1 -1
  108. package/dist/src/agent/inbound/turn-dispatcher.d.ts +6 -1
  109. package/dist/src/agent/inbound/turn-dispatcher.js +6 -3
  110. package/dist/src/agent/lifecycle/progress.js +0 -1
  111. package/dist/src/agent/lifecycle/timeout-wrapper.d.ts +2 -0
  112. package/dist/src/agent/lifecycle/timeout-wrapper.js +39 -9
  113. package/dist/src/agent/mcp/bundle-mcp-materialize.js +2 -2
  114. package/dist/src/agent/mcp/bundle-mcp-policy.d.ts +3 -5
  115. package/dist/src/agent/mcp/bundle-mcp-policy.js +8 -5
  116. package/dist/src/agent/mcp/bundle-mcp-runtime.js +6 -1
  117. package/dist/src/agent/mcp/bundle-mcp-types.d.ts +1 -1
  118. package/dist/src/agent/mcp/index.js +2 -2
  119. package/dist/src/agent/mcp/mcp-transport-config.d.ts +2 -0
  120. package/dist/src/agent/mcp/mcp-transport-config.js +10 -3
  121. package/dist/src/agent/mcp/mcp-transport.d.ts +1 -0
  122. package/dist/src/agent/mcp/mcp-transport.js +5 -2
  123. package/dist/src/agent/mcp/resolve-embedded-mcp-tools.js +5 -6
  124. package/dist/src/agent/memory/builtin-provider.d.ts +1 -5
  125. package/dist/src/agent/memory/builtin-provider.js +75 -229
  126. package/dist/src/agent/memory/compaction.js +1 -1
  127. package/dist/src/agent/memory/context/planner.d.ts +3 -0
  128. package/dist/src/agent/memory/context/planner.js +32 -11
  129. package/dist/src/agent/memory/context/types.d.ts +6 -0
  130. package/dist/src/agent/memory/create-memory-manager.d.ts +1 -2
  131. package/dist/src/agent/memory/create-memory-manager.js +4 -4
  132. package/dist/src/agent/memory/dreaming/config.d.ts +16 -13
  133. package/dist/src/agent/memory/dreaming/config.js +47 -40
  134. package/dist/src/agent/memory/dreaming/constants.d.ts +5 -22
  135. package/dist/src/agent/memory/dreaming/constants.js +6 -24
  136. package/dist/src/agent/memory/dreaming/deep-promotion.d.ts +4 -11
  137. package/dist/src/agent/memory/dreaming/deep-promotion.js +126 -279
  138. package/dist/src/agent/memory/dreaming/light-sweep.d.ts +5 -2
  139. package/dist/src/agent/memory/dreaming/light-sweep.js +79 -197
  140. package/dist/src/agent/memory/dreaming/preview.d.ts +3 -9
  141. package/dist/src/agent/memory/dreaming/preview.js +34 -77
  142. package/dist/src/agent/memory/dreaming/promotion-lifecycle.d.ts +1 -15
  143. package/dist/src/agent/memory/dreaming/promotion-lifecycle.js +3 -42
  144. package/dist/src/agent/memory/dreaming/rem-patterns.d.ts +7 -13
  145. package/dist/src/agent/memory/dreaming/rem-patterns.js +104 -261
  146. package/dist/src/agent/memory/dreaming/runner.d.ts +10 -0
  147. package/dist/src/agent/memory/dreaming/runner.js +78 -0
  148. package/dist/src/agent/memory/dreaming/schedule.d.ts +23 -0
  149. package/dist/src/agent/memory/dreaming/schedule.js +38 -0
  150. package/dist/src/agent/memory/dreaming/scope.d.ts +2 -4
  151. package/dist/src/agent/memory/dreaming/scope.js +21 -13
  152. package/dist/src/agent/memory/dreaming/utils.d.ts +2 -51
  153. package/dist/src/agent/memory/dreaming/utils.js +4 -112
  154. package/dist/src/agent/memory/index.d.ts +1 -3
  155. package/dist/src/agent/memory/index.js +2 -3
  156. package/dist/src/agent/memory/manager.d.ts +1 -5
  157. package/dist/src/agent/memory/manager.js +1 -27
  158. package/dist/src/agent/memory/memory-config.d.ts +1 -6
  159. package/dist/src/agent/memory/memory-config.js +2 -23
  160. package/dist/src/agent/memory/summary-generator.d.ts +1 -1
  161. package/dist/src/agent/memory/types.d.ts +5 -48
  162. package/dist/src/agent/memory/understanding/service.js +1 -2
  163. package/dist/src/agent/memory/user-context-coordinator.d.ts +2 -1
  164. package/dist/src/agent/memory/user-context-coordinator.js +32 -14
  165. package/dist/src/agent/messaging/command-handler.d.ts +1 -9
  166. package/dist/src/agent/messaging/command-handler.js +0 -8
  167. package/dist/src/agent/messaging/outbound-coordinator.d.ts +5 -14
  168. package/dist/src/agent/messaging/outbound-coordinator.js +4 -9
  169. package/dist/src/agent/middleware/index.d.ts +1 -1
  170. package/dist/src/agent/middleware/self-verify.d.ts +2 -2
  171. package/dist/src/agent/middleware/self-verify.js +7 -7
  172. package/dist/src/agent/orchestration/agent-orchestrator.js +16 -66
  173. package/dist/src/agent/orchestration/run-agent-turn-with-timeout.d.ts +1 -1
  174. package/dist/src/agent/orchestration/run-agent-turn-with-timeout.js +6 -2
  175. package/dist/src/agent/prompt/response-language.d.ts +3 -0
  176. package/dist/src/agent/prompt/response-language.js +11 -0
  177. package/dist/src/agent/prompt/sections/behavior.js +2 -2
  178. package/dist/src/agent/prompt/sections/memory-skills.js +10 -13
  179. package/dist/src/agent/prompt/sections/response-language.d.ts +2 -0
  180. package/dist/src/agent/prompt/sections/response-language.js +13 -0
  181. package/dist/src/agent/prompt/sections/tooling.js +0 -2
  182. package/dist/src/agent/prompt/service-prompt-builder.d.ts +1 -1
  183. package/dist/src/agent/prompt/service-prompt-builder.js +6 -29
  184. package/dist/src/agent/prompt/subagent-context.d.ts +2 -0
  185. package/dist/src/agent/prompt/subagent-context.js +1 -0
  186. package/dist/src/agent/prompt/system-prompt.d.ts +3 -0
  187. package/dist/src/agent/prompt/system-prompt.js +10 -2
  188. package/dist/src/agent/service/direct-turn-helpers.d.ts +3 -2
  189. package/dist/src/agent/service/direct-turn-helpers.js +9 -5
  190. package/dist/src/agent/service/process-direct-one-shot.d.ts +3 -0
  191. package/dist/src/agent/service/process-direct-one-shot.js +4 -1
  192. package/dist/src/agent/service/process-direct-streaming.d.ts +2 -2
  193. package/dist/src/agent/service/process-direct-streaming.js +2 -2
  194. package/dist/src/agent/service.d.ts +7 -9
  195. package/dist/src/agent/service.js +32 -23
  196. package/dist/src/agent/service.types.d.ts +2 -15
  197. package/dist/src/agent/session/index.d.ts +1 -1
  198. package/dist/src/agent/session/session-config-service.d.ts +1 -0
  199. package/dist/src/agent/session/session-config-service.js +14 -0
  200. package/dist/src/agent/session/session-state-bag.d.ts +8 -8
  201. package/dist/src/agent/session/session-state-bag.js +10 -10
  202. package/dist/src/agent/skills/config.js +6 -0
  203. package/dist/src/agent/skills/filesystem-watcher.d.ts +4 -0
  204. package/dist/src/agent/skills/filesystem-watcher.js +16 -7
  205. package/dist/src/agent/skills/index.d.ts +10 -7
  206. package/dist/src/agent/skills/index.js +56 -47
  207. package/dist/src/agent/skills/skill-manage-ops.js +1 -1
  208. package/dist/src/agent/skills/skill-manager.d.ts +5 -2
  209. package/dist/src/agent/skills/skill-manager.js +10 -5
  210. package/dist/src/agent/skills/skill-sources.d.ts +18 -0
  211. package/dist/src/agent/skills/skill-sources.js +143 -0
  212. package/dist/src/agent/skills/types.d.ts +25 -2
  213. package/dist/src/agent/source-context/types.d.ts +1 -1
  214. package/dist/src/agent/source-context/types.js +1 -1
  215. package/dist/src/agent/starter-agents.js +1 -1
  216. package/dist/src/agent/{outcomes → tasks}/execution-verifier.d.ts +3 -0
  217. package/dist/src/agent/{outcomes → tasks}/execution-verifier.js +3 -2
  218. package/dist/src/agent/tasks/task-judge-service.d.ts +31 -0
  219. package/dist/src/agent/tasks/task-judge-service.js +183 -0
  220. package/dist/src/agent/tool-manuals/index.js +1 -1
  221. package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -1
  222. package/dist/src/agent/tool-manuals/xopc-use.js +253 -118
  223. package/dist/src/agent/tools/apply-patch.d.ts +1 -5
  224. package/dist/src/agent/tools/apply-patch.js +1 -12
  225. package/dist/src/agent/tools/clarify-tool.js +1 -1
  226. package/dist/src/agent/tools/delegate-tool.js +6 -5
  227. package/dist/src/agent/tools/dreaming-tool.d.ts +0 -1
  228. package/dist/src/agent/tools/dreaming-tool.js +48 -80
  229. package/dist/src/agent/tools/exec-command.d.ts +0 -2
  230. package/dist/src/agent/tools/exec-command.js +2 -19
  231. package/dist/src/agent/tools/executor.d.ts +2 -0
  232. package/dist/src/agent/tools/executor.js +18 -11
  233. package/dist/src/agent/tools/factory.d.ts +2 -4
  234. package/dist/src/agent/tools/factory.js +10 -29
  235. package/dist/src/agent/tools/index.d.ts +1 -2
  236. package/dist/src/agent/tools/index.js +2 -3
  237. package/dist/src/agent/tools/managed-job-tool.d.ts +2 -0
  238. package/dist/src/agent/tools/managed-job-tool.js +160 -0
  239. package/dist/src/agent/tools/memory-tool.d.ts +0 -3
  240. package/dist/src/agent/tools/memory-tool.js +14 -36
  241. package/dist/src/agent/tools/tool-manual-tool.js +1 -1
  242. package/dist/src/agent/tools/workflow-tool.d.ts +1 -1
  243. package/dist/src/agent/tools/workflow-tool.js +4 -4
  244. package/dist/src/agent/tools/write.d.ts +0 -2
  245. package/dist/src/agent/tools/write.js +0 -11
  246. package/dist/src/agent/tools/xopc-use-tool.d.ts +5 -4
  247. package/dist/src/agent/tools/xopc-use-tool.js +987 -143
  248. package/dist/src/agent/transcript/thinking-types.d.ts +3 -0
  249. package/dist/src/agent/workflow/builtins/index.js +2 -2
  250. package/dist/src/agent/workflow/index.js +2 -2
  251. package/dist/src/agent/workflow/subagent-runner.js +1 -0
  252. package/dist/src/agent/workflow/workflow-child-tools.js +0 -3
  253. package/dist/src/agent/workspace-runtime/registry.d.ts +5 -4
  254. package/dist/src/agent/workspace-runtime/registry.js +4 -3
  255. package/dist/src/agent-manifest/index.js +3 -3
  256. package/dist/src/agent-manifest/resolver.d.ts +20 -1
  257. package/dist/src/agent-manifest/resolver.js +47 -20
  258. package/dist/src/agent-manifest/schema.d.ts +128 -52
  259. package/dist/src/agent-manifest/schema.js +46 -8
  260. package/dist/src/agent-runtime/index.js +1 -1
  261. package/dist/src/agent-runtime/memory-runtime.d.ts +2 -2
  262. package/dist/src/agent-runtime/runtime-profile.js +1 -1
  263. package/dist/src/ai-assist/text-assist.js +4 -4
  264. package/dist/src/auth/credentials.d.ts +9 -1
  265. package/dist/src/auth/credentials.js +110 -54
  266. package/dist/src/auth/model-credential-store.js +7 -22
  267. package/dist/src/auth/oauth-provider-lock.d.ts +5 -0
  268. package/dist/src/auth/oauth-provider-lock.js +91 -0
  269. package/dist/src/automations/domain/defaults.d.ts +8 -1
  270. package/dist/src/automations/domain/defaults.js +9 -2
  271. package/dist/src/automations/domain/index.js +2 -2
  272. package/dist/src/automations/domain/types.d.ts +48 -8
  273. package/dist/src/automations/domain/validation.d.ts +344 -12
  274. package/dist/src/automations/domain/validation.js +8 -0
  275. package/dist/src/automations/draft/automation-draft-prompt.js +3 -3
  276. package/dist/src/automations/draft/automation-draft-validator.d.ts +63 -1
  277. package/dist/src/automations/draft/automation-draft-validator.js +1 -0
  278. package/dist/src/automations/index.js +3 -3
  279. package/dist/src/automations/service/action-executor.d.ts +2 -2
  280. package/dist/src/automations/service/action-executor.js +165 -35
  281. package/dist/src/automations/service/automation-service.d.ts +4 -0
  282. package/dist/src/automations/service/automation-service.js +207 -28
  283. package/dist/src/automations/storage/automation-run-repository.d.ts +1 -0
  284. package/dist/src/automations/storage/automation-run-repository.js +37 -7
  285. package/dist/src/automations/storage/index.js +2 -2
  286. package/dist/src/browser/providers/cloakbrowser.js +1 -1
  287. package/dist/src/chat-commands/builtins/understanding.d.ts +1 -0
  288. package/dist/src/chat-commands/builtins/understanding.js +91 -0
  289. package/dist/src/chat-commands/context.d.ts +0 -3
  290. package/dist/src/chat-commands/context.js +0 -2
  291. package/dist/src/chat-commands/index.d.ts +1 -2
  292. package/dist/src/chat-commands/index.js +3 -5
  293. package/dist/src/chat-commands/types.d.ts +0 -3
  294. package/dist/src/cli/command-catalog.js +0 -43
  295. package/dist/src/cli/command-loaders.js +0 -1
  296. package/dist/src/cli/command-manifest.js +0 -4
  297. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  298. package/dist/src/cli/commands/gateway/lifecycle-core.js +1 -1
  299. package/dist/src/cli/commands/gateway/restart-health.d.ts +2 -2
  300. package/dist/src/cli/commands/gateway/restart-health.js +3 -3
  301. package/dist/src/cli/commands/gateway/service.js +4 -4
  302. package/dist/src/cli/commands/onboard/gateway.js +1 -1
  303. package/dist/src/cli/commands/project.js +12 -33
  304. package/dist/src/cli/commands/providers.d.ts +4 -4
  305. package/dist/src/cli/commands/providers.js +16 -16
  306. package/dist/src/cli/commands/search.js +7 -7
  307. package/dist/src/cli/commands/setup-shared/index.d.ts +2 -2
  308. package/dist/src/cli/commands/setup-shared/index.js +2 -2
  309. package/dist/src/cli/commands/setup-shared/output.d.ts +4 -4
  310. package/dist/src/cli/commands/setup-shared/output.js +26 -26
  311. package/dist/src/cli/commands/setup-shared/runner.d.ts +8 -8
  312. package/dist/src/cli/commands/setup-shared/runner.js +9 -9
  313. package/dist/src/cli/commands/setup-shared/types.d.ts +2 -2
  314. package/dist/src/cli/commands/skills.d.ts +7 -0
  315. package/dist/src/cli/commands/skills.js +16 -16
  316. package/dist/src/cli/commands/update.js +1 -1
  317. package/dist/src/cli/commands/voice.d.ts +1 -1
  318. package/dist/src/cli/commands/voice.js +6 -6
  319. package/dist/src/cli/templates.js +1 -1
  320. package/dist/src/cli/utils/oauth-login.js +1 -7
  321. package/dist/src/commands/agents.config.js +2 -18
  322. package/dist/src/config/agent-profile.d.ts +1 -1
  323. package/dist/src/config/agent-profile.js +2 -2
  324. package/dist/src/config/index.js +3 -3
  325. package/dist/src/config/paths.d.ts +0 -3
  326. package/dist/src/config/paths.js +2 -7
  327. package/dist/src/config/schema.d.ts +163 -258
  328. package/dist/src/config/schema.js +10 -115
  329. package/dist/src/config/web-patch.d.ts +0 -29
  330. package/dist/src/config/web-patch.js +2 -69
  331. package/dist/src/connectors/composio-catalog.js +7 -20
  332. package/dist/src/connectors/composio-sessions.js +14 -4
  333. package/dist/src/connectors/composio.d.ts +7 -2
  334. package/dist/src/connectors/composio.js +49 -40
  335. package/dist/src/connectors/connected-source-ingestion.js +2 -1
  336. package/dist/src/connectors/connected-source-normalizers.js +5 -5
  337. package/dist/src/connectors/connector-identity.d.ts +2 -0
  338. package/dist/src/connectors/connector-identity.js +64 -1
  339. package/dist/src/connectors/learning-coordinator.js +34 -15
  340. package/dist/src/connectors/learning-recipes.d.ts +2 -0
  341. package/dist/src/connectors/learning-recipes.js +11 -1
  342. package/dist/src/connectors/source-change-publisher.js +5 -4
  343. package/dist/src/connectors/types.d.ts +16 -0
  344. package/dist/src/daemon/launchd.js +2 -2
  345. package/dist/src/daemon/schtasks.js +1 -1
  346. package/dist/src/daemon/service.js +3 -3
  347. package/dist/src/daemon/systemd.js +1 -1
  348. package/dist/src/daemon/types.d.ts +5 -5
  349. package/dist/src/discussions/analyzer.d.ts +6 -6
  350. package/dist/src/discussions/analyzer.js +32 -22
  351. package/dist/src/discussions/index.d.ts +3 -2
  352. package/dist/src/discussions/index.js +5 -4
  353. package/dist/src/discussions/live-worker.d.ts +5 -3
  354. package/dist/src/discussions/live-worker.js +24 -12
  355. package/dist/src/discussions/{worker.d.ts → organizer-worker.d.ts} +3 -5
  356. package/dist/src/discussions/organizer-worker.js +58 -0
  357. package/dist/src/discussions/organizer.d.ts +22 -0
  358. package/dist/src/discussions/organizer.js +92 -0
  359. package/dist/src/discussions/repository.d.ts +16 -5
  360. package/dist/src/discussions/repository.js +159 -135
  361. package/dist/src/discussions/sealer.d.ts +25 -0
  362. package/dist/src/discussions/sealer.js +116 -0
  363. package/dist/src/discussions/service.d.ts +2 -1
  364. package/dist/src/discussions/service.js +70 -60
  365. package/dist/src/discussions/transcript.js +1 -1
  366. package/dist/src/discussions/types.d.ts +45 -20
  367. package/dist/src/discussions/types.js +4 -2
  368. package/dist/src/extensions/types/core.d.ts +3 -3
  369. package/dist/src/extensions/types/tui.d.ts +2 -2
  370. package/dist/src/extensions/update.d.ts +3 -3
  371. package/dist/src/extensions/update.js +13 -13
  372. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
  373. package/dist/src/gateway/agent-builtin-tools.js +0 -1
  374. package/dist/src/gateway/agent-run-relay.d.ts +1 -1
  375. package/dist/src/gateway/agents-admin.js +16 -18
  376. package/dist/src/gateway/capability-presets-admin.d.ts +13 -0
  377. package/dist/src/gateway/capability-presets-admin.js +59 -2
  378. package/dist/src/gateway/chat-limits.d.ts +6 -2
  379. package/dist/src/gateway/chat-limits.js +17 -3
  380. package/dist/src/gateway/chat-stream/thinking-delta-coalescer.js +3 -3
  381. package/dist/src/gateway/dreaming-automation-reconciler.js +13 -12
  382. package/dist/src/gateway/hono/app.js +9 -10
  383. package/dist/src/gateway/hono/index.d.ts +1 -1
  384. package/dist/src/gateway/hono/index.js +2 -2
  385. package/dist/src/gateway/hono/lib/config-payload.d.ts +15 -35
  386. package/dist/src/gateway/hono/lib/config-payload.js +5 -3
  387. package/dist/src/gateway/hono/middleware/strict-rate-limit.d.ts +4 -0
  388. package/dist/src/gateway/hono/middleware/strict-rate-limit.js +8 -1
  389. package/dist/src/gateway/hono/oauth-async.js +1 -7
  390. package/dist/src/gateway/hono/oauth.js +1 -7
  391. package/dist/src/gateway/hono/routes/activity.js +1 -2
  392. package/dist/src/gateway/hono/routes/agent-stream.js +135 -34
  393. package/dist/src/gateway/hono/routes/capability-presets.js +27 -1
  394. package/dist/src/gateway/hono/routes/composer-history.js +1 -1
  395. package/dist/src/gateway/hono/routes/config-patch/misc.d.ts +1 -1
  396. package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -6
  397. package/dist/src/gateway/hono/routes/connectors.js +35 -30
  398. package/dist/src/gateway/hono/routes/deps.d.ts +1 -0
  399. package/dist/src/gateway/hono/routes/discussions.js +13 -3
  400. package/dist/src/gateway/hono/routes/home.d.ts +1 -1
  401. package/dist/src/gateway/hono/routes/home.js +2 -2
  402. package/dist/src/gateway/hono/routes/index.js +2 -4
  403. package/dist/src/gateway/hono/routes/lazy-bundles.js +0 -16
  404. package/dist/src/gateway/hono/routes/media.js +9 -3
  405. package/dist/src/gateway/hono/routes/memory.js +38 -113
  406. package/dist/src/gateway/hono/routes/projects.js +220 -588
  407. package/dist/src/gateway/hono/routes/public-gateway.js +4 -2
  408. package/dist/src/gateway/hono/routes/{work.d.ts → tasks.d.ts} +1 -1
  409. package/dist/src/gateway/hono/routes/tasks.js +343 -0
  410. package/dist/src/gateway/hono/routes/workflows.js +7 -8
  411. package/dist/src/gateway/hono/routes/you.d.ts +1 -1
  412. package/dist/src/gateway/hono/routes/you.js +250 -78
  413. package/dist/src/gateway/hono/sse.d.ts +1 -16
  414. package/dist/src/gateway/hono/sse.js +4 -161
  415. package/dist/src/gateway/index.js +2 -2
  416. package/dist/src/gateway/rate-limit/buckets.d.ts +3 -0
  417. package/dist/src/gateway/rate-limit/buckets.js +12 -0
  418. package/dist/src/gateway/security/csp.d.ts +2 -0
  419. package/dist/src/gateway/security/csp.js +4 -0
  420. package/dist/src/gateway/service/agent-runner.d.ts +32 -13
  421. package/dist/src/gateway/service/agent-runner.js +97 -46
  422. package/dist/src/gateway/service/run-gateway-agent.d.ts +1 -1
  423. package/dist/src/gateway/service/run-gateway-agent.js +27 -42
  424. package/dist/src/gateway/service/session-input-coordinator.d.ts +59 -0
  425. package/dist/src/gateway/service/session-input-coordinator.js +183 -0
  426. package/dist/src/gateway/service/sessions-api.d.ts +1 -0
  427. package/dist/src/gateway/service.d.ts +28 -16
  428. package/dist/src/gateway/service.js +147 -130
  429. package/dist/src/gateway/session-reset-service.js +6 -6
  430. package/dist/src/gateway/user-turn-input.d.ts +0 -1
  431. package/dist/src/i18n/index.d.ts +0 -1
  432. package/dist/src/i18n/index.js +1 -2
  433. package/dist/src/i18n/language-consistency.d.ts +10 -0
  434. package/dist/src/i18n/language-consistency.js +34 -0
  435. package/dist/src/i18n/response-language.d.ts +8 -0
  436. package/dist/src/i18n/response-language.js +17 -0
  437. package/dist/src/i18n/share-tool-bundle.js +2 -2
  438. package/dist/src/mcp/channel-bridge.js +5 -3
  439. package/dist/src/media/store.js +1 -1
  440. package/dist/src/media/types.d.ts +1 -1
  441. package/dist/src/media/uri.js +1 -2
  442. package/dist/src/media-understanding/runner.d.ts +1 -1
  443. package/dist/src/media-understanding/runner.js +9 -9
  444. package/dist/src/media-understanding/types.d.ts +4 -4
  445. package/dist/src/mobile/notification-service.js +16 -21
  446. package/dist/src/mobile/notification-types.d.ts +2 -2
  447. package/dist/src/notes/service.js +1 -1
  448. package/dist/src/notes/types.d.ts +0 -1
  449. package/dist/src/proactive/events/product-event-bridge.js +17 -14
  450. package/dist/src/proactive/execution/context.js +45 -28
  451. package/dist/src/proactive/execution/insight.js +1 -1
  452. package/dist/src/proactive/temporal/worker.js +2 -2
  453. package/dist/src/projects/index.d.ts +0 -1
  454. package/dist/src/projects/index.js +1 -2
  455. package/dist/src/projects/project-loop.d.ts +16 -8
  456. package/dist/src/projects/project-loop.js +41 -48
  457. package/dist/src/projects/project-service.d.ts +14 -4
  458. package/dist/src/projects/project-service.js +18 -10
  459. package/dist/src/projects/project-store.d.ts +36 -3
  460. package/dist/src/projects/project-store.js +116 -14
  461. package/dist/src/projects/types.d.ts +50 -3
  462. package/dist/src/providers/auth-runtime/oauth.js +12 -0
  463. package/dist/src/providers/model-response.d.ts +4 -0
  464. package/dist/src/providers/model-response.js +28 -0
  465. package/dist/src/session/config-types.d.ts +3 -0
  466. package/dist/src/session/index.d.ts +0 -1
  467. package/dist/src/session/index.js +1 -2
  468. package/dist/src/session/init-session-turn.js +6 -6
  469. package/dist/src/session/store.js +4 -4
  470. package/dist/src/session/types.d.ts +1 -6
  471. package/dist/src/share/site-proxy.js +1 -1
  472. package/dist/src/storage/sqlite/config-repository.js +7 -4
  473. package/dist/src/storage/sqlite/connection.js +1 -1
  474. package/dist/src/storage/sqlite/connector-account-repository.d.ts +12 -0
  475. package/dist/src/storage/sqlite/connector-account-repository.js +143 -0
  476. package/dist/src/storage/sqlite/connector-learning-repository.d.ts +5 -2
  477. package/dist/src/storage/sqlite/connector-learning-repository.js +14 -7
  478. package/dist/src/storage/sqlite/connector-repository.js +12 -3
  479. package/dist/src/storage/sqlite/connector-sync-policy-repository.d.ts +4 -3
  480. package/dist/src/storage/sqlite/connector-sync-policy-repository.js +20 -10
  481. package/dist/src/storage/sqlite/dreaming-repository.d.ts +61 -0
  482. package/dist/src/storage/sqlite/dreaming-repository.js +88 -0
  483. package/dist/src/storage/sqlite/index.d.ts +6 -4
  484. package/dist/src/storage/sqlite/index.js +7 -5
  485. package/dist/src/storage/sqlite/memory-readiness-repository.d.ts +7 -0
  486. package/dist/src/storage/sqlite/memory-readiness-repository.js +30 -0
  487. package/dist/src/storage/sqlite/memory-records-repository.d.ts +31 -26
  488. package/dist/src/storage/sqlite/memory-records-repository.js +109 -138
  489. package/dist/src/storage/sqlite/migrations/088_automation_execution_deadlines.sql +5 -0
  490. package/dist/src/storage/sqlite/migrations/089_automation_run_leases.sql +8 -0
  491. package/dist/src/storage/sqlite/migrations/090_outcome_contract_judgment.sql +2 -0
  492. package/dist/src/storage/sqlite/migrations/091_context_allocation.sql +1 -0
  493. package/dist/src/storage/sqlite/migrations/092_outcome_execution_runtime.sql +88 -0
  494. package/dist/src/storage/sqlite/migrations/093_remove_legacy_goals.sql +174 -0
  495. package/dist/src/storage/sqlite/migrations/094_outcome_judgment_and_authority.sql +3 -0
  496. package/dist/src/storage/sqlite/migrations/095_session_input_queue.sql +35 -0
  497. package/dist/src/storage/sqlite/migrations/096_drop_work_intakes.sql +6 -0
  498. package/dist/src/storage/sqlite/migrations/097_work_item_lifecycle.sql +194 -0
  499. package/dist/src/storage/sqlite/migrations/098_discussion_note_documents.sql +99 -0
  500. package/dist/src/storage/sqlite/migrations/099_task_model.sql +500 -0
  501. package/dist/src/storage/sqlite/migrations/100_project_task_taskrun.sql +763 -0
  502. package/dist/src/storage/sqlite/migrations/101_session_response_language.sql +1 -0
  503. package/dist/src/storage/sqlite/migrations/102_session_user_context_mode.sql +2 -0
  504. package/dist/src/storage/sqlite/migrations/103_finalize_structured_memory.sql +3 -0
  505. package/dist/src/storage/sqlite/migrations/104_turn_memory_feedback.sql +77 -0
  506. package/dist/src/storage/sqlite/migrations/105_dreaming_ledger.sql +34 -0
  507. package/dist/src/storage/sqlite/migrations/106_dreaming_run_reproducibility.sql +2 -0
  508. package/dist/src/storage/sqlite/migrations/107_connector_accounts.sql +146 -0
  509. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  510. package/dist/src/storage/sqlite/migrations/runner.js +37 -5
  511. package/dist/src/storage/sqlite/migrations/runner.ts +44 -3
  512. package/dist/src/storage/sqlite/migrations/types.d.ts +2 -0
  513. package/dist/src/storage/sqlite/migrations/types.ts +2 -0
  514. package/dist/src/storage/sqlite/row-mappers.d.ts +2 -2
  515. package/dist/src/storage/sqlite/row-mappers.js +2 -2
  516. package/dist/src/storage/sqlite/schema.d.ts +3 -1
  517. package/dist/src/storage/sqlite/schema.js +5 -2
  518. package/dist/src/storage/sqlite/schema.sql +76 -61
  519. package/dist/src/storage/sqlite/session-input-repository.d.ts +59 -0
  520. package/dist/src/storage/sqlite/session-input-repository.js +147 -0
  521. package/dist/src/storage/sqlite/session-repository.js +5 -6
  522. package/dist/src/{work → tasks}/attention-governor.d.ts +5 -5
  523. package/dist/src/{work → tasks}/attention-governor.js +3 -4
  524. package/dist/src/tasks/execution-context.d.ts +23 -0
  525. package/dist/src/{work → tasks}/execution-context.js +7 -20
  526. package/dist/src/{work → tasks}/home-query-service.d.ts +43 -26
  527. package/dist/src/{work → tasks}/home-query-service.js +57 -127
  528. package/dist/src/tasks/index.d.ts +20 -0
  529. package/dist/src/tasks/index.js +21 -0
  530. package/dist/src/{work → tasks}/project-monitoring-service.js +1 -1
  531. package/dist/src/{work → tasks}/project-operating-view-service.d.ts +2 -4
  532. package/dist/src/tasks/project-operating-view-service.js +77 -0
  533. package/dist/src/tasks/task-application-service.d.ts +35 -0
  534. package/dist/src/tasks/task-application-service.js +423 -0
  535. package/dist/src/tasks/task-context-assembler.d.ts +36 -0
  536. package/dist/src/tasks/task-context-assembler.js +125 -0
  537. package/dist/src/tasks/task-context-repository.d.ts +52 -0
  538. package/dist/src/tasks/task-context-repository.js +97 -0
  539. package/dist/src/tasks/task-contract-definition.d.ts +10 -0
  540. package/dist/src/{work/outcome-contract-definition.js → tasks/task-contract-definition.js} +7 -5
  541. package/dist/src/tasks/task-contract-planner.d.ts +17 -0
  542. package/dist/src/tasks/task-contract-planner.js +87 -0
  543. package/dist/src/tasks/task-dependency-service.d.ts +21 -0
  544. package/dist/src/tasks/task-dependency-service.js +81 -0
  545. package/dist/src/tasks/task-outbox-dispatcher.d.ts +6 -0
  546. package/dist/src/tasks/task-outbox-dispatcher.js +31 -0
  547. package/dist/src/tasks/task-read-model-projector.d.ts +16 -0
  548. package/dist/src/tasks/task-read-model-projector.js +93 -0
  549. package/dist/src/tasks/task-repository.d.ts +82 -0
  550. package/dist/src/tasks/task-repository.js +185 -0
  551. package/dist/src/{work/outcome-run-coordinator.d.ts → tasks/task-run-coordinator.d.ts} +6 -8
  552. package/dist/src/tasks/task-run-coordinator.js +130 -0
  553. package/dist/src/tasks/task-run-dispatcher.d.ts +11 -0
  554. package/dist/src/tasks/task-run-dispatcher.js +90 -0
  555. package/dist/src/tasks/task-run-repository.d.ts +102 -0
  556. package/dist/src/tasks/task-run-repository.js +312 -0
  557. package/dist/src/tasks/task-signal-service.d.ts +8 -0
  558. package/dist/src/tasks/task-signal-service.js +72 -0
  559. package/dist/src/tasks/task-value-metrics-service.d.ts +4 -0
  560. package/dist/src/tasks/task-value-metrics-service.js +78 -0
  561. package/dist/src/tasks/task-workflow-coordinator.d.ts +5 -0
  562. package/dist/src/tasks/task-workflow-coordinator.js +54 -0
  563. package/dist/src/tui/backends/embedded-backend.d.ts +13 -1
  564. package/dist/src/tui/backends/embedded-backend.js +40 -10
  565. package/dist/src/tui/backends/gateway-sse-backend.d.ts +6 -3
  566. package/dist/src/tui/backends/gateway-sse-backend.js +38 -127
  567. package/dist/src/tui/components/settings-selector.js +0 -20
  568. package/dist/src/tui/components/tui-bottom-bar.d.ts +2 -3
  569. package/dist/src/tui/components/tui-bottom-bar.js +4 -9
  570. package/dist/src/tui/extension-host/runtime-context.js +1 -1
  571. package/dist/src/tui/tui-backend.d.ts +15 -1
  572. package/dist/src/tui/tui-backend.js +10 -1
  573. package/dist/src/tui/tui-command-formatters.js +1 -2
  574. package/dist/src/tui/tui-commands.js +8 -19
  575. package/dist/src/tui/tui-oauth-login.js +1 -7
  576. package/dist/src/tui/tui-picker-overlay.js +1 -0
  577. package/dist/src/tui/tui-picker-services.d.ts +1 -0
  578. package/dist/src/tui/tui-session-actions.js +0 -2
  579. package/dist/src/tui/tui-settings.d.ts +0 -6
  580. package/dist/src/tui/tui-settings.js +0 -10
  581. package/dist/src/tui/tui-skills-autocomplete.d.ts +6 -2
  582. package/dist/src/tui/tui-skills-autocomplete.js +10 -6
  583. package/dist/src/tui/tui-startup-resources.d.ts +3 -1
  584. package/dist/src/tui/tui-startup-resources.js +3 -2
  585. package/dist/src/tui/tui-types.d.ts +1 -4
  586. package/dist/src/tui/tui-types.js +1 -2
  587. package/dist/src/tui/tui.js +92 -72
  588. package/dist/src/tui/xopc-tui-keybindings.d.ts +25 -6
  589. package/dist/src/tui/xopc-tui-keybindings.js +0 -5
  590. package/dist/src/tunnel/frpc-extract.js +1 -1
  591. package/dist/src/user-context/config.d.ts +165 -16
  592. package/dist/src/user-context/config.js +74 -14
  593. package/dist/src/user-context/context-compiler.d.ts +4 -8
  594. package/dist/src/user-context/context-compiler.js +7 -10
  595. package/dist/src/user-context/interaction-state.js +8 -4
  596. package/dist/src/user-context/manual-understanding.d.ts +19 -0
  597. package/dist/src/user-context/manual-understanding.js +69 -0
  598. package/dist/src/user-context/memory-episode-evaluator.d.ts +32 -0
  599. package/dist/src/user-context/memory-episode-evaluator.js +35 -0
  600. package/dist/src/user-context/memory-readiness.d.ts +33 -0
  601. package/dist/src/user-context/memory-readiness.js +41 -0
  602. package/dist/src/user-context/memory-use-audit.js +3 -2
  603. package/dist/src/user-context/projection.d.ts +13 -0
  604. package/dist/src/user-context/projection.js +13 -2
  605. package/dist/src/user-context/relationship-continuity.js +1 -1
  606. package/dist/src/user-context/runtime.d.ts +0 -2
  607. package/dist/src/user-context/runtime.js +1 -10
  608. package/dist/src/user-context/source-recommendations.d.ts +5 -5
  609. package/dist/src/user-context/source-recommendations.js +9 -8
  610. package/dist/src/voice/stt/transcribe-core.js +3 -3
  611. package/dist/src/voice/stt/types.d.ts +2 -2
  612. package/dist/src/voice/tts/speak-core.js +4 -4
  613. package/dist/src/voice/tts/types.d.ts +2 -2
  614. package/dist/src/work-discovery/analyzer.js +5 -5
  615. package/dist/src/work-discovery/service.d.ts +1 -10
  616. package/dist/src/work-discovery/service.js +3 -5
  617. package/dist/src/work-discovery/types.d.ts +1 -1
  618. package/dist/src/workflows/domain/run.d.ts +3 -4
  619. package/dist/src/workflows/draft/workflow-draft-prompt.js +1 -1
  620. package/dist/src/workflows/index.js +1 -1
  621. package/dist/src/workflows/service/workflow-run-service.d.ts +2 -2
  622. package/dist/src/workflows/service/workflow-run-service.js +104 -34
  623. package/dist/src/workflows/service/workflow-run-service.types.d.ts +4 -3
  624. package/dist/src/workflows/service/workflow-session-bridge.js +4 -12
  625. package/dist/src/workflows/store/run-index-store.d.ts +1 -1
  626. package/dist/src/workflows/store/run-index-store.js +10 -8
  627. package/dist/src/workflows/store/run-store.d.ts +1 -1
  628. package/dist/src/workflows/store/run-store.js +2 -2
  629. package/package.json +5 -5
  630. package/dist/gateway/static/root/assets/agents-Baq8Shzy.js +0 -2
  631. package/dist/gateway/static/root/assets/apps-page-d-Y0Jbe1.js +0 -1
  632. package/dist/gateway/static/root/assets/automations-page-CFYOCBlQ.js +0 -6
  633. package/dist/gateway/static/root/assets/browser-settings-page-CGApoYPr.js +0 -8
  634. package/dist/gateway/static/root/assets/browser-workflow-inputs-gs6b5e9-.js +0 -1
  635. package/dist/gateway/static/root/assets/capabilities-settings-panel-BC-8n4Hl.js +0 -7
  636. package/dist/gateway/static/root/assets/capability-presets-api-BTKhPoDC.js +0 -1
  637. package/dist/gateway/static/root/assets/capability-presets-settings-panel-D7WQ0oBN.js +0 -1
  638. package/dist/gateway/static/root/assets/channels-settings-DysELlO_.js +0 -1
  639. package/dist/gateway/static/root/assets/channels-status-swr-BAC-R8IK.js +0 -1
  640. package/dist/gateway/static/root/assets/connectors-page-QH-0WnOo.js +0 -2
  641. package/dist/gateway/static/root/assets/desktop-pet-Dwml8znf.js +0 -1
  642. package/dist/gateway/static/root/assets/dreaming-scene-BHMRVEUS.js +0 -4585
  643. package/dist/gateway/static/root/assets/dreaming-settings-CUQxGnDf.js +0 -3
  644. package/dist/gateway/static/root/assets/format-cron-label-arqgGlVV.js +0 -1
  645. package/dist/gateway/static/root/assets/goals-settings-Dj0ao2qA.js +0 -1
  646. package/dist/gateway/static/root/assets/heartbeat-settings-CTI2nPKa.js +0 -1
  647. package/dist/gateway/static/root/assets/index-B0Tdge_q.css +0 -1
  648. package/dist/gateway/static/root/assets/index-BDzspHrg.js +0 -224
  649. package/dist/gateway/static/root/assets/local-app-workbench-page-m8CTSGix.js +0 -2
  650. package/dist/gateway/static/root/assets/logs-page-DmH7Tk4k.js +0 -7
  651. package/dist/gateway/static/root/assets/messages-DYqBwJAK.js +0 -3
  652. package/dist/gateway/static/root/assets/notes-workbench-C4jDBVBN.js +0 -4
  653. package/dist/gateway/static/root/assets/outcome-detail-page-DNRfeLZp.js +0 -1
  654. package/dist/gateway/static/root/assets/product-delivery-BVG-eWQO.js +0 -1
  655. package/dist/gateway/static/root/assets/project-detail-page-D7anK-eu.js +0 -1
  656. package/dist/gateway/static/root/assets/projects-page-BePESKWy.js +0 -1
  657. package/dist/gateway/static/root/assets/remote-access-hub-CHrzBKIs.js +0 -1
  658. package/dist/gateway/static/root/assets/save-bar-controls-BsPf5Gkk.js +0 -1
  659. package/dist/gateway/static/root/assets/schedule-field-kAytH7mq.js +0 -1
  660. package/dist/gateway/static/root/assets/sessions-page-He5YAczL.js +0 -1
  661. package/dist/gateway/static/root/assets/settings-advanced-gate-2eAC9GCP.js +0 -1
  662. package/dist/gateway/static/root/assets/settings-page-BR6Ss0bK.js +0 -1
  663. package/dist/gateway/static/root/assets/setup-status-panel-moT-D-ia.js +0 -1
  664. package/dist/gateway/static/root/assets/shares-settings-X49zY21H.js +0 -1
  665. package/dist/gateway/static/root/assets/skill-reload-api-CjpnFfOH.js +0 -1
  666. package/dist/gateway/static/root/assets/skills-page-DEwfSOUE.js +0 -2
  667. package/dist/gateway/static/root/assets/system-settings-panel-XdY8eyYf.js +0 -1
  668. package/dist/gateway/static/root/assets/time-picker-UghsQu_I.js +0 -1
  669. package/dist/gateway/static/root/assets/use-channel-catalog-BWDtfNvQ.js +0 -1
  670. package/dist/gateway/static/root/assets/user-context-page-BtNBEtKj.js +0 -1
  671. package/dist/gateway/static/root/assets/work-copy-hQmivDgT.js +0 -1
  672. package/dist/gateway/static/root/assets/work-discovery-page-CkDOVZBr.js +0 -1
  673. package/dist/gateway/static/root/assets/work-item-detail-page-CqvkcFcR.js +0 -1
  674. package/dist/gateway/static/root/assets/work-page-BL8TZW4Z.js +0 -3
  675. package/dist/gateway/static/root/assets/workflows-page-BgsdRu3_.js +0 -11
  676. package/dist/packages/gateway-contract/src/outcomes.js +0 -137
  677. package/dist/packages/gateway-contract/src/work-intake.js +0 -85
  678. package/dist/src/agent/goals/checklist-judge.d.ts +0 -48
  679. package/dist/src/agent/goals/checklist-judge.js +0 -237
  680. package/dist/src/agent/goals/checklist-types.d.ts +0 -21
  681. package/dist/src/agent/goals/checklist-types.js +0 -24
  682. package/dist/src/agent/goals/evaluate-turn.d.ts +0 -29
  683. package/dist/src/agent/goals/evaluate-turn.js +0 -209
  684. package/dist/src/agent/goals/goal-locale.d.ts +0 -26
  685. package/dist/src/agent/goals/goal-locale.js +0 -61
  686. package/dist/src/agent/goals/judge.d.ts +0 -41
  687. package/dist/src/agent/goals/judge.js +0 -176
  688. package/dist/src/agent/goals/persistent-goal-apis.d.ts +0 -15
  689. package/dist/src/agent/goals/persistent-goal-apis.js +0 -1
  690. package/dist/src/agent/goals/persistent-goal-service.d.ts +0 -93
  691. package/dist/src/agent/goals/persistent-goal-service.js +0 -128
  692. package/dist/src/agent/goals/post-turn.d.ts +0 -28
  693. package/dist/src/agent/goals/post-turn.js +0 -187
  694. package/dist/src/agent/goals/state.d.ts +0 -46
  695. package/dist/src/agent/goals/state.js +0 -80
  696. package/dist/src/agent/memory/builtin-memory-store.d.ts +0 -54
  697. package/dist/src/agent/memory/builtin-memory-store.js +0 -315
  698. package/dist/src/agent/memory/dreaming/events.d.ts +0 -36
  699. package/dist/src/agent/memory/dreaming/events.js +0 -42
  700. package/dist/src/agent/memory/dreaming/last-run.d.ts +0 -80
  701. package/dist/src/agent/memory/dreaming/last-run.js +0 -96
  702. package/dist/src/agent/memory/dreaming/short-term-store.d.ts +0 -75
  703. package/dist/src/agent/memory/dreaming/short-term-store.js +0 -273
  704. package/dist/src/agent/outcomes/execution-evaluation.d.ts +0 -20
  705. package/dist/src/agent/outcomes/execution-evaluation.js +0 -48
  706. package/dist/src/agent/prompt/memory/index.d.ts +0 -23
  707. package/dist/src/agent/prompt/memory/index.js +0 -101
  708. package/dist/src/agent/tools/curated-memory-tool.d.ts +0 -3
  709. package/dist/src/agent/tools/curated-memory-tool.js +0 -174
  710. package/dist/src/agent/tools/goal-evidence-recorder.d.ts +0 -6
  711. package/dist/src/agent/tools/goal-evidence-recorder.js +0 -32
  712. package/dist/src/agent/tools/goal-tool.d.ts +0 -29
  713. package/dist/src/agent/tools/goal-tool.js +0 -136
  714. package/dist/src/chat-commands/builtins/goal.d.ts +0 -4
  715. package/dist/src/chat-commands/builtins/goal.js +0 -122
  716. package/dist/src/chat-commands/builtins/subgoal.d.ts +0 -4
  717. package/dist/src/chat-commands/builtins/subgoal.js +0 -117
  718. package/dist/src/cli/commands/goal.d.ts +0 -4
  719. package/dist/src/cli/commands/goal.js +0 -235
  720. package/dist/src/discussions/pipeline.d.ts +0 -33
  721. package/dist/src/discussions/pipeline.js +0 -205
  722. package/dist/src/discussions/worker.js +0 -74
  723. package/dist/src/gateway/hono/routes/dreaming.d.ts +0 -3
  724. package/dist/src/gateway/hono/routes/dreaming.js +0 -323
  725. package/dist/src/gateway/hono/routes/execution-receipts.d.ts +0 -3
  726. package/dist/src/gateway/hono/routes/execution-receipts.js +0 -163
  727. package/dist/src/gateway/hono/routes/goals.d.ts +0 -4
  728. package/dist/src/gateway/hono/routes/goals.js +0 -786
  729. package/dist/src/gateway/hono/routes/work.js +0 -207
  730. package/dist/src/goals/goal-notifications.d.ts +0 -31
  731. package/dist/src/goals/goal-notifications.js +0 -157
  732. package/dist/src/goals/goal-queue-store.d.ts +0 -18
  733. package/dist/src/goals/goal-queue-store.js +0 -133
  734. package/dist/src/goals/goal-queue-types.d.ts +0 -42
  735. package/dist/src/goals/goal-queue-types.js +0 -1
  736. package/dist/src/goals/goal-runner.d.ts +0 -17
  737. package/dist/src/goals/goal-runner.js +0 -153
  738. package/dist/src/goals/goal-service.d.ts +0 -87
  739. package/dist/src/goals/goal-service.js +0 -323
  740. package/dist/src/goals/goal-store.d.ts +0 -44
  741. package/dist/src/goals/goal-store.js +0 -472
  742. package/dist/src/goals/goal-workflow-judge.d.ts +0 -13
  743. package/dist/src/goals/goal-workflow-judge.js +0 -145
  744. package/dist/src/goals/index.d.ts +0 -10
  745. package/dist/src/goals/index.js +0 -7
  746. package/dist/src/goals/types.d.ts +0 -136
  747. package/dist/src/goals/types.js +0 -1
  748. package/dist/src/i18n/goals-bundle.d.ts +0 -35
  749. package/dist/src/i18n/goals-bundle.js +0 -61
  750. package/dist/src/i18n/locales/goals.en.js +0 -36
  751. package/dist/src/i18n/locales/goals.zh.js +0 -35
  752. package/dist/src/projects/goal-bind.d.ts +0 -4
  753. package/dist/src/projects/goal-bind.js +0 -38
  754. package/dist/src/session/abort-cutoff.d.ts +0 -6
  755. package/dist/src/session/abort-cutoff.js +0 -8
  756. package/dist/src/storage/sqlite/execution-receipt-repository.d.ts +0 -146
  757. package/dist/src/storage/sqlite/execution-receipt-repository.js +0 -235
  758. package/dist/src/storage/sqlite/memory-index-repository.d.ts +0 -18
  759. package/dist/src/storage/sqlite/memory-index-repository.js +0 -136
  760. package/dist/src/tui/tui-follow-up-queue.d.ts +0 -9
  761. package/dist/src/tui/tui-follow-up-queue.js +0 -16
  762. package/dist/src/work/execution-context.d.ts +0 -16
  763. package/dist/src/work/index.d.ts +0 -14
  764. package/dist/src/work/index.js +0 -15
  765. package/dist/src/work/outcome-contract-definition.d.ts +0 -8
  766. package/dist/src/work/outcome-execution-service.d.ts +0 -27
  767. package/dist/src/work/outcome-execution-service.js +0 -60
  768. package/dist/src/work/outcome-projection-service.d.ts +0 -7
  769. package/dist/src/work/outcome-projection-service.js +0 -51
  770. package/dist/src/work/outcome-receipt-service.d.ts +0 -13
  771. package/dist/src/work/outcome-receipt-service.js +0 -55
  772. package/dist/src/work/outcome-repository.d.ts +0 -50
  773. package/dist/src/work/outcome-repository.js +0 -112
  774. package/dist/src/work/outcome-run-coordinator.js +0 -117
  775. package/dist/src/work/project-operating-view-service.js +0 -46
  776. package/dist/src/work/work-intake-repository.d.ts +0 -49
  777. package/dist/src/work/work-intake-repository.js +0 -97
  778. package/dist/src/work/work-intake-service.d.ts +0 -26
  779. package/dist/src/work/work-intake-service.js +0 -171
  780. package/dist/src/work/work-value-metrics-service.d.ts +0 -4
  781. package/dist/src/work/work-value-metrics-service.js +0 -88
  782. package/dist/src/work-items/agent-context.d.ts +0 -7
  783. package/dist/src/work-items/agent-context.js +0 -73
  784. package/dist/src/work-items/index.d.ts +0 -5
  785. package/dist/src/work-items/index.js +0 -5
  786. package/dist/src/work-items/types.d.ts +0 -112
  787. package/dist/src/work-items/types.js +0 -1
  788. package/dist/src/work-items/work-item-service.d.ts +0 -36
  789. package/dist/src/work-items/work-item-service.js +0 -281
  790. package/dist/src/work-items/work-item-store.d.ts +0 -22
  791. package/dist/src/work-items/work-item-store.js +0 -313
  792. package/dist/src/work-items/work-item-workflow-judge.d.ts +0 -8
  793. package/dist/src/work-items/work-item-workflow-judge.js +0 -48
  794. /package/dist/src/{work → tasks}/project-monitoring-service.d.ts +0 -0
@@ -27,7 +27,6 @@ var CommandHandler = class {
27
27
  compactSession;
28
28
  btwQuery;
29
29
  getSessionContextReport;
30
- getPersistentGoalApisForCommand;
31
30
  resetSession;
32
31
  getWorkflowRunService;
33
32
  constructor(handlerConfig) {
@@ -45,7 +44,6 @@ var CommandHandler = class {
45
44
  this.compactSession = handlerConfig.compactSession;
46
45
  this.btwQuery = handlerConfig.btwQuery;
47
46
  this.getSessionContextReport = handlerConfig.getSessionContextReport;
48
- this.getPersistentGoalApisForCommand = handlerConfig.getPersistentGoalApisForCommand;
49
47
  this.resetSession = handlerConfig.resetSession;
50
48
  this.getWorkflowRunService = handlerConfig.getWorkflowRunService;
51
49
  }
@@ -141,12 +139,6 @@ var CommandHandler = class {
141
139
  btwQuery: this.btwQuery,
142
140
  emitEvent,
143
141
  getSessionContextReport: this.getSessionContextReport,
144
- persistentGoalApis: this.getPersistentGoalApisForCommand({
145
- sessionKey: context.sessionKey,
146
- channel: context.channel,
147
- chatId: context.chatId,
148
- inboundMetadata: context.inboundMetadata
149
- }),
150
142
  workflowRunService: this.getWorkflowRunService?.()
151
143
  });
152
144
  }
@@ -5,7 +5,7 @@
5
5
  * `AgentService`:
6
6
  * - typing-on / typing-off lifecycle for channels that surface "is typing…"
7
7
  * - final assistant response delivery (silence guard + hook + bus publish)
8
- * - cross-cutting `webchat_turn_complete` hook + `/goal` post-turn
8
+ * - cross-cutting `webchat_turn_complete` hook + task review
9
9
  * - thin pass-through for extension `message_sending` / `message_sent` hooks
10
10
  *
11
11
  * The class is intentionally framework-agnostic: it pulls everything it needs
@@ -26,11 +26,7 @@ export interface OutboundCoordinatorConfig {
26
26
  getConfig: () => Config | undefined;
27
27
  /** Resolves the last visible assistant text for a session (in-memory + agent fallback). */
28
28
  getLastAssistantPlainText: (sessionKey: string) => string;
29
- /**
30
- * Run the `/goal` post-turn verdict for a completed user turn. Owned by
31
- * `PersistentGoalService`; OutboundCoordinator only forwards.
32
- */
33
- runPersistentGoalPostTurn: (payload: SessionTurnCompletePayload) => Promise<void>;
29
+ reviewTaskTurn: (payload: SessionTurnCompletePayload) => Promise<void>;
34
30
  }
35
31
  export interface SessionTurnCompletePayload {
36
32
  sessionKey: string;
@@ -40,7 +36,7 @@ export interface SessionTurnCompletePayload {
40
36
  assistantPlainText: string;
41
37
  aborted: boolean;
42
38
  streamError?: string;
43
- skipPersistentGoalPostTurn?: boolean;
39
+ skipTaskReview?: boolean;
44
40
  outboundMetadata?: Record<string, unknown>;
45
41
  }
46
42
  export declare class OutboundCoordinator {
@@ -49,7 +45,7 @@ export declare class OutboundCoordinator {
49
45
  private readonly streamManager;
50
46
  private readonly getConfig;
51
47
  private readonly getLastAssistantPlainText;
52
- private readonly runPersistentGoalPostTurn;
48
+ private readonly reviewTaskTurn;
53
49
  constructor(config: OutboundCoordinatorConfig);
54
50
  /**
55
51
  * Build the typing indicator controller for an inbound message. Returns
@@ -64,12 +60,7 @@ export declare class OutboundCoordinator {
64
60
  * silence guard, and the extension `message_sending` hook.
65
61
  */
66
62
  sendFinalResponse(msg: InboundMessage, sessionContext: SessionContext): Promise<void>;
67
- /**
68
- * Post-turn hook + `/goal` checklist evaluation. Wired into both the bus-driven
69
- * inbound finally block and the webchat direct-stream finally. The goal verdict
70
- * itself lives in `PersistentGoalService`; we just trigger the extension hook
71
- * here and delegate the `/goal` work.
72
- */
63
+ /** Run extension completion hooks and independently review an attached Task. */
73
64
  emitSessionTurnComplete(payload: SessionTurnCompletePayload): Promise<void>;
74
65
  /** Extension hook pass-through (Gateway ChannelManager). */
75
66
  invokeOutboundMessageSending(to: string, content: string, channel: string): Promise<{
@@ -11,14 +11,14 @@ var OutboundCoordinator = class {
11
11
  streamManager;
12
12
  getConfig;
13
13
  getLastAssistantPlainText;
14
- runPersistentGoalPostTurn;
14
+ reviewTaskTurn;
15
15
  constructor(config) {
16
16
  this.bus = config.bus;
17
17
  this.hookHandler = config.hookHandler;
18
18
  this.streamManager = config.streamManager;
19
19
  this.getConfig = config.getConfig;
20
20
  this.getLastAssistantPlainText = config.getLastAssistantPlainText;
21
- this.runPersistentGoalPostTurn = config.runPersistentGoalPostTurn;
21
+ this.reviewTaskTurn = config.reviewTaskTurn;
22
22
  }
23
23
  /**
24
24
  * Build the typing indicator controller for an inbound message. Returns
@@ -91,12 +91,7 @@ var OutboundCoordinator = class {
91
91
  }
92
92
  });
93
93
  }
94
- /**
95
- * Post-turn hook + `/goal` checklist evaluation. Wired into both the bus-driven
96
- * inbound finally block and the webchat direct-stream finally. The goal verdict
97
- * itself lives in `PersistentGoalService`; we just trigger the extension hook
98
- * here and delegate the `/goal` work.
99
- */
94
+ /** Run extension completion hooks and independently review an attached Task. */
100
95
  async emitSessionTurnComplete(payload) {
101
96
  await this.hookHandler.triggerWithSessionKey(payload.sessionKey, "webchat_turn_complete", {
102
97
  sessionKey: payload.sessionKey,
@@ -107,7 +102,7 @@ var OutboundCoordinator = class {
107
102
  aborted: payload.aborted,
108
103
  ...payload.streamError !== void 0 ? { streamError: payload.streamError } : {}
109
104
  });
110
- await this.runPersistentGoalPostTurn(payload);
105
+ await this.reviewTaskTurn(payload);
111
106
  }
112
107
  /** Extension hook pass-through (Gateway ChannelManager). */
113
108
  invokeOutboundMessageSending(to, content, channel) {
@@ -2,5 +2,5 @@
2
2
  * Agent middleware — request-scoped log context (`ContextMiddleware`) and
3
3
  * harness-style self-verify tracking (`SelfVerifyMiddleware`).
4
4
  */
5
- export { SelfVerifyMiddleware, type FileEditRecord, type SelfVerifyConfig, type SelfVerifyAgentKind, type SelfVerifyState, type VerificationOutcome, type VerificationRecord, } from './self-verify.js';
5
+ export { SelfVerifyMiddleware, type FileEditRecord, type SelfVerifyConfig, type SelfVerifyAgentKind, type SelfVerifyState, type VerificationTask, type VerificationRecord, } from './self-verify.js';
6
6
  export { ContextMiddleware, type RequestContext } from './context.js';
@@ -24,7 +24,7 @@ export interface SelfVerifyConfig {
24
24
  /** Reset counters on successful verification (default: true) */
25
25
  resetOnVerification: boolean;
26
26
  }
27
- export interface VerificationOutcome {
27
+ export interface VerificationTask {
28
28
  isError?: boolean;
29
29
  result?: unknown;
30
30
  }
@@ -58,7 +58,7 @@ export declare class SelfVerifyMiddleware {
58
58
  * Record a file edit operation
59
59
  */
60
60
  recordEdit(filePath: string, operation: 'write' | 'edit' | 'command', sessionKey?: string): void;
61
- recordVerification(toolName: string, args?: unknown, outcome?: VerificationOutcome, sessionKey?: string): void;
61
+ recordVerification(toolName: string, args?: unknown, task?: VerificationTask, sessionKey?: string): void;
62
62
  getVerificationState(sessionKey?: string): SelfVerifyState;
63
63
  getPendingVerificationContext(sessionKey?: string, agentId?: string): string;
64
64
  private extractExecCommand;
@@ -67,13 +67,13 @@ var SelfVerifyMiddleware = class {
67
67
  operation
68
68
  }, "File edit recorded");
69
69
  }
70
- recordVerification(toolName, args, outcome, sessionKey) {
70
+ recordVerification(toolName, args, task, sessionKey) {
71
71
  const state = this.getState(sessionKey);
72
72
  const name = toolName.toLowerCase();
73
73
  if (name === "exec_command") {
74
- const command = this.extractExecCommand(args, outcome?.result);
75
- const success = this.isSuccessfulExecVerification(outcome);
76
- const details = this.extractResultDetails(outcome?.result);
74
+ const command = this.extractExecCommand(args, task?.result);
75
+ const success = this.isSuccessfulExecVerification(task);
76
+ const details = this.extractResultDetails(task?.result);
77
77
  if (success && this.isDiffReviewCommand(command)) {
78
78
  state.diffReviewed = true;
79
79
  return;
@@ -139,9 +139,9 @@ var SelfVerifyMiddleware = class {
139
139
  const details = result.details;
140
140
  return details && typeof details === "object" ? details : null;
141
141
  }
142
- isSuccessfulExecVerification(outcome) {
143
- if (!outcome || outcome.isError) return false;
144
- const details = this.extractResultDetails(outcome.result);
142
+ isSuccessfulExecVerification(task) {
143
+ if (!task || task.isError) return false;
144
+ const details = this.extractResultDetails(task.result);
145
145
  if (!details) return false;
146
146
  if (details.timedOut === true) return false;
147
147
  if (details.status === "success") return true;
@@ -1,19 +1,21 @@
1
1
  import { createLogger } from "../../utils/logger/index.js";
2
2
  import { init_logger } from "../../utils/logger.js";
3
- import { resolveEffectiveAgentProfileForSession } from "../../config/agent-profile.js";
4
3
  import "../memory/dreaming/constants.js";
5
- import { resolveDreamingAgentScope } from "../memory/dreaming/scope.js";
6
4
  import { persistInboundAttachments } from "../../channels/attachments/inbound-persist.js";
7
5
  import { buildTranscriptUserMessage, clearPendingTranscriptUserMessage, hydrateUserTurnForLlm, setPendingTranscriptUserMessage } from "../inbound/attachment-pipeline.js";
8
6
  import { extractAgentUserPlainText } from "../memory/user-message-text.js";
9
7
  import { resolveEffectiveThinkingLevel } from "../../session/thinking-resolve.js";
10
8
  import { abortEmbeddedRun } from "../embedded/runs.js";
11
9
  import { runEmbeddedTurnForSession } from "../embedded/run-for-session.js";
12
- import { runDreamingDeepPromotion } from "../memory/dreaming/deep-promotion.js";
13
- import { appendDreamingEvent } from "../memory/dreaming/events.js";
14
- import { runLightSweep } from "../memory/dreaming/light-sweep.js";
15
- import { runRemPatterns } from "../memory/dreaming/rem-patterns.js";
10
+ import { runDreamingPhase } from "../memory/dreaming/runner.js";
11
+ import { randomUUID } from "node:crypto";
16
12
  //#region src/agent/orchestration/agent-orchestrator.ts
13
+ /**
14
+ * Agent Orchestrator - Coordinates Agent execution flow
15
+ *
16
+ * Manages the complete agent execution pipeline from message processing
17
+ * to response generation.
18
+ */
17
19
  init_logger();
18
20
  const log = createLogger("AgentOrchestrator");
19
21
  var AgentOrchestrator = class {
@@ -58,65 +60,11 @@ var AgentOrchestrator = class {
58
60
  log.warn({ sessionKey }, "Dreaming sweep skipped: config unavailable");
59
61
  return;
60
62
  }
61
- const scope = resolveDreamingAgentScope(cfg, resolveEffectiveAgentProfileForSession(cfg, sessionKey).agentId);
62
- const resolved = scope.config;
63
- const t0 = Date.now();
64
- if (content.includes("__xopc_memory_dreaming_light_sweep__")) {
65
- const result = await runLightSweep({
66
- workspaceDir: scope.workspaceDir,
67
- dreamingRoot: scope.memoriesDir,
68
- config: resolved.phases.light
69
- });
70
- const event = {
71
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
72
- phase: "light",
73
- ok: result.ok,
74
- reason: result.reason,
75
- durationMs: Date.now() - t0,
76
- scannedEntries: result.scannedEntries,
77
- newSignals: result.newSignals,
78
- deduped: result.deduped
79
- };
80
- await appendDreamingEvent(scope.memoriesDir, event);
81
- } else if (content.includes("__xopc_memory_dreaming_rem_sweep__")) {
82
- const result = await runRemPatterns({
83
- agentId: scope.agentId,
84
- workspaceDir: scope.workspaceDir,
85
- dreamingRoot: scope.memoriesDir,
86
- config: resolved.phases.rem,
87
- sensitiveWritePolicy: cfg.userContext.privacy.sensitiveWritePolicy,
88
- promotionWritePolicy: resolved.promotionWritePolicy.decision
89
- });
90
- const event = {
91
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
92
- phase: "rem",
93
- ok: result.ok,
94
- reason: result.reason,
95
- durationMs: Date.now() - t0,
96
- patternsDiscovered: result.patternsDiscovered,
97
- entriesAnalyzed: result.entriesAnalyzed
98
- };
99
- await appendDreamingEvent(scope.memoriesDir, event);
100
- } else {
101
- const result = await runDreamingDeepPromotion({
102
- agentId: scope.agentId,
103
- workspaceDir: scope.workspaceDir,
104
- dreamingRoot: scope.memoriesDir,
105
- config: resolved.phases.deep,
106
- sensitiveWritePolicy: cfg.userContext.privacy.sensitiveWritePolicy,
107
- memoryManager: this.agentManager.getMemoryManagerForSession(sessionKey)
108
- });
109
- const event = {
110
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
111
- phase: "deep",
112
- ok: result.ok,
113
- reason: result.reason,
114
- durationMs: Date.now() - t0,
115
- candidates: result.candidates,
116
- applied: result.applied
117
- };
118
- await appendDreamingEvent(scope.memoriesDir, event);
119
- }
63
+ await runDreamingPhase({
64
+ config: cfg,
65
+ phase: content.includes("__xopc_memory_dreaming_light_sweep__") ? "light" : content.includes("__xopc_memory_dreaming_rem_sweep__") ? "rem" : "deep",
66
+ triggerKind: "schedule"
67
+ });
120
68
  return;
121
69
  }
122
70
  }
@@ -142,7 +90,8 @@ var AgentOrchestrator = class {
142
90
  });
143
91
  setPendingTranscriptUserMessage(sessionKey, userMessage);
144
92
  const userPlainForMemory = extractAgentUserPlainText(userMessage);
145
- const userMessageForModel = (await this.agentManager.prepareUserTurnContext(userMessage, sessionKey)).modelMessage;
93
+ const turnId = randomUUID();
94
+ const userMessageForModel = (await this.agentManager.prepareUserTurnContext(userMessage, sessionKey, turnId)).modelMessage;
146
95
  const llmTurn = await hydrateUserTurnForLlm({
147
96
  message: userMessage,
148
97
  modelRef
@@ -152,6 +101,7 @@ var AgentOrchestrator = class {
152
101
  try {
153
102
  return await runEmbeddedTurnForSession({
154
103
  sessionKey,
104
+ runId: turnId,
155
105
  userMessage: userMessageForModel,
156
106
  llmImages: llmTurn.images,
157
107
  sessionStore: this.sessionStore,
@@ -10,6 +10,6 @@ export declare const MIN_AGENT_TURN_TIMEOUT_MS = 60000;
10
10
  export declare const MAX_AGENT_TURN_TIMEOUT_MS: number;
11
11
  /** Default per-turn timeout (30 minutes). */
12
12
  export declare const DEFAULT_AGENT_TURN_TIMEOUT_MS: number;
13
- export declare function resolveAgentTurnTimeoutMs(_config?: Config): number;
13
+ export declare function resolveAgentTurnTimeoutMs(config?: Config, sessionKey?: string): number;
14
14
  export declare function isAgentTurnTimeoutError(err: unknown): boolean;
15
15
  export declare function runAgentTurnWithTimeout(agent: Agent, runTurn: () => Promise<void>, timeoutMs: number): Promise<void>;
@@ -1,3 +1,4 @@
1
+ import { resolveEffectiveAgentManifestForSession } from "../../config/agent-profile.js";
1
2
  //#region src/agent/orchestration/run-agent-turn-with-timeout.ts
2
3
  /** Minimum per-turn timeout (1 minute). */
3
4
  const MIN_AGENT_TURN_TIMEOUT_MS = 6e4;
@@ -5,8 +6,11 @@ const MIN_AGENT_TURN_TIMEOUT_MS = 6e4;
5
6
  const MAX_AGENT_TURN_TIMEOUT_MS = 14400 * 1e3;
6
7
  /** Default per-turn timeout (30 minutes). */
7
8
  const DEFAULT_AGENT_TURN_TIMEOUT_MS = 1800 * 1e3;
8
- function resolveAgentTurnTimeoutMs(_config) {
9
- return DEFAULT_AGENT_TURN_TIMEOUT_MS;
9
+ function resolveAgentTurnTimeoutMs(config, sessionKey) {
10
+ if (!config) return DEFAULT_AGENT_TURN_TIMEOUT_MS;
11
+ const configured = resolveEffectiveAgentManifestForSession(config, sessionKey).runtime?.timeoutMs;
12
+ if (!configured) return DEFAULT_AGENT_TURN_TIMEOUT_MS;
13
+ return Math.min(MAX_AGENT_TURN_TIMEOUT_MS, Math.max(MIN_AGENT_TURN_TIMEOUT_MS, configured));
10
14
  }
11
15
  function isAgentTurnTimeoutError(err) {
12
16
  return err instanceof Error && err.message.startsWith("Agent turn timed out after");
@@ -0,0 +1,3 @@
1
+ import type { Config } from '../../config/schema.js';
2
+ import { type ResponseLanguage } from '../../i18n/response-language.js';
3
+ export declare function resolveResponseLanguageForSession(config: Config | undefined, sessionKey?: string): ResponseLanguage;
@@ -0,0 +1,11 @@
1
+ import { isXopcDatabaseOpen } from "../../storage/sqlite/connection.js";
2
+ import { getSessionConfig } from "../../storage/sqlite/config-repository.js";
3
+ import "../../storage/sqlite/index.js";
4
+ import { init_response_language, resolveResponseLanguage } from "../../i18n/response-language.js";
5
+ //#region src/agent/prompt/response-language.ts
6
+ init_response_language();
7
+ function resolveResponseLanguageForSession(config, sessionKey) {
8
+ return resolveResponseLanguage(config?.userContext?.preferences?.responseLanguage ?? "auto", sessionKey && isXopcDatabaseOpen() ? getSessionConfig(sessionKey)?.responseLanguage : void 0);
9
+ }
10
+ //#endregion
11
+ export { resolveResponseLanguageForSession };
@@ -39,7 +39,7 @@ function buildAestheticSection() {
39
39
  function buildHumanCollaborationSection() {
40
40
  return [
41
41
  "## Human Collaboration",
42
- "- Understand both the requested outcome and the human state around it. Decide whether the user primarily needs action, clarity, reassurance, or space to think.",
42
+ "- Understand both the requested task and the human state around it. Decide whether the user primarily needs action, clarity, reassurance, or space to think.",
43
43
  "- When emotion is materially present, acknowledge it briefly and specifically. Do not perform empathy, exaggerate intimacy, diagnose the user, or repeat their feelings back mechanically.",
44
44
  "- Preserve agency: reduce overwhelm, offer one clear next step, and let the user choose when a meaningful choice remains.",
45
45
  "- Adapt to known communication preferences from user profile and memory. If they are unknown, be warm, calm, direct, and practical.",
@@ -47,7 +47,7 @@ function buildHumanCollaborationSection() {
47
47
  "- Treat transient moods as current context, not durable identity. Remember stable support or communication preferences only when evidence and memory policy allow it.",
48
48
  "",
49
49
  "### Task Contract",
50
- "- For non-trivial actionable work, privately establish: desired outcome, completion criteria, constraints, plan, and verification evidence.",
50
+ "- For non-trivial actionable work, privately establish: desired task, completion criteria, constraints, plan, and verification evidence.",
51
51
  "- Keep implementation concepts such as agents, workflows, tools, and memory providers behind the experience unless naming them helps the user decide or debug.",
52
52
  "- Communicate task state in human terms: working, needs a decision, blocked, or done.",
53
53
  "- Do not claim completion from fluent output alone. Completion requires the requested result plus proportionate verification, or an explicit unresolved blocker."
@@ -1,21 +1,20 @@
1
1
  //#region src/agent/prompt/sections/memory-skills.ts
2
2
  function buildMemorySection(params) {
3
3
  if (params.includeMemorySection === false) return "";
4
- if (!(params.availableTools.has("memory_search") || params.availableTools.has("memory_get") || params.availableTools.has("curated_memory")) && !params.hasProfileMemory) return "";
4
+ if (!(params.availableTools.has("memory_search") || params.availableTools.has("memory_get")) && !params.hasProfileMemory) return "";
5
5
  const citationsMode = params.citationsMode ?? "on";
6
- const citationInstruction = citationsMode === "off" ? "Citations are disabled: do not mention file paths or line numbers in replies." : citationsMode === "source-only" ? "Citations: mention file path when it helps (e.g., Source: MEMORY.md)." : "Citations: include Source: <path#line> when it helps the user verify memory snippets.";
6
+ const citationInstruction = citationsMode === "off" ? "Citations are disabled: do not mention file paths or line numbers in replies." : citationsMode === "source-only" ? "Citations: mention the memory record id when it helps." : "Citations: include the memory record id when it helps the user verify recalled context.";
7
7
  const toolLines = [];
8
- if (params.availableTools.has("memory_search")) toolLines.push("1. Run `memory_search` to search indexed profile and curated memory sources");
8
+ if (params.availableTools.has("memory_search")) toolLines.push("1. Run `memory_search` to search structured user-understanding records");
9
9
  if (params.availableTools.has("session_search")) toolLines.push(`${toolLines.length + 1}. For **other chat sessions** / cross-session history, use \`session_search\` with keywords (or omit \`query\` to list recent sessions)`);
10
- if (params.availableTools.has("memory_get")) toolLines.push(`${toolLines.length + 1}. Use \`memory_get\` only for paths returned by \`memory_search\``);
11
- if (params.availableTools.has("curated_memory")) toolLines.push(`${toolLines.length + 1}. For durable facts, preferences, and user-approved notes, use \`curated_memory\``);
10
+ if (params.availableTools.has("memory_get")) toolLines.push(`${toolLines.length + 1}. Use \`memory_get\` only for record ids returned by \`memory_search\``);
12
11
  toolLines.push(`${toolLines.length + 1}. If low confidence after search, say you checked`);
13
12
  return [
14
13
  "## Memory Recall",
15
14
  "",
16
15
  citationInstruction,
17
16
  "",
18
- "Startup profile files (SOUL, USER, MEMORY, etc.) are already in Project Context above when injected. Do not re-read them unless the user asks or you need lines beyond what was injected.",
17
+ "User understanding is compiled from structured records and injected above when relevant.",
19
18
  "",
20
19
  "Before answering anything about prior work, decisions, dates, people, preferences, or todos:",
21
20
  ...toolLines,
@@ -23,15 +22,13 @@ function buildMemorySection(params) {
23
22
  "### Memory Sources",
24
23
  "",
25
24
  "- **Session history:** use `session_search` when available for other chats and prior turns.",
26
- "- **Profile memory:** injected `MEMORY.md` content may appear in Project Context when present.",
27
- "- **Indexed memory:** cite only paths and line numbers returned by `memory_search` / `memory_get`.",
28
- "- **Curated memory:** use `curated_memory` for live read/write of durable facts and preferences.",
25
+ "- **Structured memory:** cite only record ids returned by `memory_search` / `memory_get`.",
29
26
  "",
30
27
  "### Writing to Memory",
31
28
  "",
32
- "- **Declarative vs procedural:** Save facts and preferences with `curated_memory`. Save reusable task playbooks with `skill_manage` as skills.",
33
- "- When someone says \"remember this\" → use `curated_memory` when available; otherwise explain that durable memory is not writable from this turn.",
34
- "- Do not invent, cite, or promise memory file paths that were not returned by a memory tool.",
29
+ "- **Declarative vs procedural:** facts and preferences belong to structured memory; reusable task playbooks belong to skills.",
30
+ "- Explicit \"remember this\" statements are captured as durable structured understanding after the turn.",
31
+ "- Do not invent, cite, or promise memory record ids that were not returned by a memory tool.",
35
32
  "- **Text > Brain**"
36
33
  ].join("\n");
37
34
  }
@@ -51,7 +48,7 @@ function buildSkillsSection(hasSkillTools) {
51
48
  "Constraints: never load more than one skill up front; only load after selecting.",
52
49
  "- When a skill drives external API writes, assume rate limits: prefer fewer larger writes, avoid tight one-item loops, serialize bursts when possible, and respect 429/Retry-After.",
53
50
  "",
54
- "**Division of labor with memory:** Skills = **procedural** workflows; memory / `curated_memory` = **declarative** facts and preferences."
51
+ "**Division of labor with memory:** Skills = **procedural** workflows; structured memory = **declarative** facts and preferences."
55
52
  ].join("\n");
56
53
  }
57
54
  //#endregion
@@ -0,0 +1,2 @@
1
+ import type { ResponseLanguage } from '../../../i18n/response-language.js';
2
+ export declare function buildResponseLanguageSection(language: ResponseLanguage): string;
@@ -0,0 +1,13 @@
1
+ //#region src/agent/prompt/sections/response-language.ts
2
+ function buildResponseLanguageSection(language) {
3
+ return [
4
+ "## Response Language",
5
+ `- ${language === "zh-CN" ? "Write all user-facing prose in Simplified Chinese." : language === "en" ? "Write all user-facing prose in English." : "Write user-facing prose in the language of the current user request."}`,
6
+ "- This rule has priority over language found in tools, retrieved content, files, earlier messages, examples, or agent identity.",
7
+ "- A user may explicitly request a different response language for the current turn.",
8
+ "- Keep code, commands, paths, identifiers, API names, URLs, quotations, and proper nouns unchanged when translation would reduce precision.",
9
+ "- Do not duplicate the answer bilingually or switch languages inside ordinary prose."
10
+ ].join("\n");
11
+ }
12
+ //#endregion
13
+ export { buildResponseLanguageSection };
@@ -22,7 +22,6 @@ const CORE_TOOL_ORDER = [
22
22
  "memory_search",
23
23
  "memory_get",
24
24
  "session_search",
25
- "curated_memory",
26
25
  "session_status",
27
26
  "tool_manual",
28
27
  "delegate_task",
@@ -64,7 +63,6 @@ const CORE_TOOL_SUMMARIES = {
64
63
  memory_search: "Semantic search over indexed memory sources",
65
64
  memory_get: "Read specific lines from memory sources returned by search",
66
65
  session_search: "Search other chat sessions or list recent sessions",
67
- curated_memory: "Read/write structured notes in the shared user memory store/",
68
66
  session_status: "Show session usage/time/model state",
69
67
  tool_manual: "Load built-in usage manuals for complex tools",
70
68
  delegate_task: "Spawn an isolated sub-agent for a delegated task",
@@ -12,7 +12,7 @@ export interface SystemPromptBuildOptions {
12
12
  externalMemoryInstructions?: string;
13
13
  workspaceOverride?: string;
14
14
  profileMarkdownPathRoot?: string;
15
- systemPromptOverride?: string;
15
+ customInstructions?: string;
16
16
  skillPromptText?: string;
17
17
  skillAllowlist?: string[];
18
18
  registeredToolNames?: string[];
@@ -5,12 +5,13 @@ import { buildInteractionStatePrompt } from "../../user-context/interaction-stat
5
5
  import { getInteractionState } from "../../storage/sqlite/interaction-state-repository.js";
6
6
  import { buildRelationshipPrompt, getRelationshipSettings } from "../../storage/sqlite/relationship-settings-repository.js";
7
7
  import { listMemoryRecords } from "../../storage/sqlite/memory-records-repository.js";
8
- import { DEFAULT_USER_TRUST_LEVEL, buildActionTrustPrompt } from "../../user-context/trust-policy.js";
8
+ import { DEFAULT_USER_TRUST_LEVEL } from "../../user-context/trust-policy.js";
9
9
  import { getUserTrustPolicy } from "../../storage/sqlite/user-trust-repository.js";
10
10
  import "../../storage/sqlite/index.js";
11
11
  import { init_session_key, parseSessionKey } from "../../routing/session-key.js";
12
12
  import { resolveSystemPromptBuildParams } from "./system-prompt-params.js";
13
13
  import { buildSystemPrompt } from "./system-prompt.js";
14
+ import { resolveResponseLanguageForSession } from "./response-language.js";
14
15
  import { buildTtsSystemPromptHint } from "../../voice/tts/directives.js";
15
16
  import { mergeTtsConfigFromAppConfig } from "../../voice/tts/merge-config.js";
16
17
  import { buildPersonalPlaybookPrompt } from "../../user-context/personal-playbook.js";
@@ -44,33 +45,6 @@ var SystemPromptBuilder = class {
44
45
  }) : "";
45
46
  const continuityPrompt = buildRelationshipContinuityPrompt(activeMemories);
46
47
  const interactionPrompt = interactionState ? buildInteractionStatePrompt(interactionState) : "";
47
- if (options.systemPromptOverride?.trim()) {
48
- const skillPrompt = options.skillPromptText !== void 0 ? options.skillPromptText : this.skillManager.getPromptForSkillAllowlist(options.skillAllowlist, options.registeredToolNames);
49
- const trimmed = options.systemPromptOverride.trim();
50
- let fullPrompt = skillPrompt.trim() ? `${trimmed}\n\n${skillPrompt}` : trimmed;
51
- const ttsMerged = mergeTtsConfigFromAppConfig(this.config.messages?.tts);
52
- const reg = options.registeredToolNames ?? [];
53
- const ttsHint = buildTtsSystemPromptHint({
54
- enabled: ttsMerged.enabled,
55
- trigger: ttsMerged.trigger,
56
- maxTextLength: ttsMerged.maxTextLength,
57
- modelOverrides: ttsMerged.modelOverrides,
58
- textToSpeechTool: ttsMerged.enabled && reg.includes("text_to_speech")
59
- });
60
- if (ttsHint?.trim()) fullPrompt = `${fullPrompt}\n\n## Voice (TTS)\n\n${ttsHint.trim()}`;
61
- fullPrompt = `${fullPrompt}\n\n${buildActionTrustPrompt(actionTrustLevel)}`;
62
- if (relationshipPrompt) fullPrompt = `${fullPrompt}\n\n${relationshipPrompt}`;
63
- if (playbookPrompt) fullPrompt = `${fullPrompt}\n\n${playbookPrompt}`;
64
- if (interactionPrompt) fullPrompt = `${fullPrompt}\n\n${interactionPrompt}`;
65
- if (continuityPrompt) fullPrompt = `${fullPrompt}\n\n${continuityPrompt}`;
66
- if (options.activeProjectContext?.trim()) fullPrompt = `${fullPrompt}\n\n${options.activeProjectContext.trim()}`;
67
- log.debug({
68
- baseLength: trimmed.length,
69
- skillLength: skillPrompt.length,
70
- totalLength: fullPrompt.length
71
- }, "System prompt built (override)");
72
- return fullPrompt;
73
- }
74
48
  const heartbeatEnabled = this.config.gateway?.heartbeat?.includeSystemPromptSection ?? false;
75
49
  const userTimezone = this.extractTimezone(contextFiles);
76
50
  const ttsMerged = mergeTtsConfigFromAppConfig(this.config.messages?.tts);
@@ -82,6 +56,7 @@ var SystemPromptBuilder = class {
82
56
  modelOverrides: ttsMerged.modelOverrides,
83
57
  textToSpeechTool: ttsMerged.enabled && reg.includes("text_to_speech")
84
58
  });
59
+ const responseLanguage = resolveResponseLanguageForSession(this.config, options.sessionKey);
85
60
  const resolved = resolveSystemPromptBuildParams(this.config, {
86
61
  workspaceDir: ws,
87
62
  sessionKey: options.sessionKey,
@@ -127,7 +102,9 @@ var SystemPromptBuilder = class {
127
102
  promptContribution: resolved.promptContribution,
128
103
  includeProblemSolving: resolved.includeProblemSolving,
129
104
  includeToneSection: resolved.includeToneSection,
130
- actionTrustLevel
105
+ actionTrustLevel,
106
+ responseLanguage,
107
+ customInstructions: options.customInstructions
131
108
  });
132
109
  const skillPrompt = options.skillPromptText !== void 0 ? options.skillPromptText : this.skillManager.getPromptForSkillAllowlist(options.skillAllowlist, options.registeredToolNames);
133
110
  const fullPrompt = skillPrompt ? `${basePrompt}\n\n${skillPrompt}` : basePrompt;
@@ -1,3 +1,4 @@
1
+ import type { ResponseLanguage } from '../../i18n/response-language.js';
1
2
  export declare function buildSubagentContextSection(params: {
2
3
  goal: string;
3
4
  context?: string;
@@ -12,4 +13,5 @@ export declare function buildSubagentSystemPrompt(params: {
12
13
  requesterSessionKey?: string;
13
14
  childSessionKey?: string;
14
15
  toolNames?: string[];
16
+ responseLanguage?: ResponseLanguage;
15
17
  }): string;
@@ -59,6 +59,7 @@ function buildSubagentSystemPrompt(params) {
59
59
  return buildSystemPrompt(params.workspace ?? ".", {
60
60
  promptMode: "minimal",
61
61
  toolNames: params.toolNames,
62
+ responseLanguage: params.responseLanguage,
62
63
  extraSystemPrompt: extra
63
64
  });
64
65
  }
@@ -6,6 +6,7 @@
6
6
  * not to manually reread startup files.
7
7
  */
8
8
  import type { EmbeddedContextFile } from '../bootstrap/types.js';
9
+ import type { ResponseLanguage } from '../../i18n/response-language.js';
9
10
  import { type UserTrustLevel } from '../../user-context/trust-policy.js';
10
11
  import type { ProviderSystemPromptContribution } from './contribution.js';
11
12
  import { type RuntimeInfoInput } from './sections/workspace-runtime.js';
@@ -37,6 +38,8 @@ export interface SystemPromptOptions {
37
38
  includeProblemSolving?: boolean;
38
39
  includeToneSection?: boolean;
39
40
  actionTrustLevel?: UserTrustLevel;
41
+ responseLanguage?: ResponseLanguage;
42
+ customInstructions?: string;
40
43
  }
41
44
  /**
42
45
  * Build system prompt with bootstrap Project Context integration.
@@ -6,6 +6,7 @@ import { buildHeartbeatBehaviorSection, buildMessagingSection, buildOutputDirect
6
6
  import { buildProjectContextSection, getContextFileBasename, isDynamicContextFile, sortContextFilesForPrompt } from "./sections/project-context.js";
7
7
  import { buildToolingSection, hasSkillsTools } from "./sections/tooling.js";
8
8
  import { buildRuntimeSection, buildWorkspaceFilesIntroSection, buildWorkspaceSection } from "./sections/workspace-runtime.js";
9
+ import { buildResponseLanguageSection } from "./sections/response-language.js";
9
10
  import { buildOverridablePromptSection } from "./system-prompt-params.js";
10
11
  //#region src/agent/prompt/system-prompt.ts
11
12
  function joinSections(sections) {
@@ -15,8 +16,13 @@ function joinSections(sections) {
15
16
  * Build system prompt with bootstrap Project Context integration.
16
17
  */
17
18
  function buildSystemPrompt(workspaceDir, options = {}) {
18
- const { contextFiles = [], promptMode = "full", heartbeatEnabled = false, heartbeatPrompt, toolNames: toolNamesOption, toolSummaries, availableTools = [], memoryCitationsMode = "on", includeMemorySection, userTimezone, runtime, agentId, channels = [], externalMemoryInstructions, ttsSystemHint, extraSystemPrompt, activeProjectContext, silentReplyPromptMode = "generic", promptContribution, includeProblemSolving = true, includeToneSection = true, actionTrustLevel } = options;
19
- if (promptMode === "none") return joinSections(["You are a personal AI assistant running inside xopc.", activeProjectContext]);
19
+ const { contextFiles = [], promptMode = "full", heartbeatEnabled = false, heartbeatPrompt, toolNames: toolNamesOption, toolSummaries, availableTools = [], memoryCitationsMode = "on", includeMemorySection, userTimezone, runtime, agentId, channels = [], externalMemoryInstructions, ttsSystemHint, extraSystemPrompt, activeProjectContext, silentReplyPromptMode = "generic", promptContribution, includeProblemSolving = true, includeToneSection = true, actionTrustLevel, responseLanguage = "auto", customInstructions } = options;
20
+ if (promptMode === "none") return joinSections([
21
+ "You are a personal AI assistant running inside xopc.",
22
+ customInstructions?.trim() ? `<custom_instructions>\n${customInstructions.trim()}\n</custom_instructions>` : void 0,
23
+ buildResponseLanguageSection(responseLanguage),
24
+ activeProjectContext
25
+ ]);
20
26
  const isMinimal = promptMode === "minimal";
21
27
  const toolNames = toolNamesOption ?? availableTools;
22
28
  const normalizedTools = new Set(toolNames.map((tool) => tool.toLowerCase()));
@@ -28,6 +34,8 @@ function buildSystemPrompt(workspaceDir, options = {}) {
28
34
  const hasProfileMemory = orderedContextFiles.some((file) => getContextFileBasename(file.path) === "memory.md");
29
35
  const stableSections = [
30
36
  "You are a personal AI assistant running inside xopc.",
37
+ ...customInstructions?.trim() ? [`<custom_instructions>\n${customInstructions.trim()}\n</custom_instructions>`] : [],
38
+ buildResponseLanguageSection(responseLanguage),
31
39
  buildToolingSection({
32
40
  toolNames,
33
41
  toolSummaries
@@ -21,7 +21,7 @@ export interface HydratePerTurnStateDeps {
21
21
  }
22
22
  /** Workspace + model + thinking level — common prep before any direct turn. */
23
23
  export declare function hydratePerTurnState(deps: HydratePerTurnStateDeps, sessionKey: string, thinking?: string): Promise<void>;
24
- export interface SlashCommandOutcome {
24
+ export interface SlashCommandTask {
25
25
  /** True if the input parsed as a registered slash command (handled or not). */
26
26
  matched: boolean;
27
27
  /** Aggregated user-visible reply text (assistant view). */
@@ -52,7 +52,7 @@ export declare function tryRunSlashCommand(deps: TryRunSlashCommandDeps, ctx: {
52
52
  }, content: string, options?: {
53
53
  skipResetCommands?: boolean;
54
54
  emitEvent?: (event: CommandStreamEvent) => void | Promise<void>;
55
- }): Promise<SlashCommandOutcome>;
55
+ }): Promise<SlashCommandTask>;
56
56
  export interface RunDirectAgentTurnDeps {
57
57
  sessionStore: SessionStore;
58
58
  agentManager: AgentInstanceGateway;
@@ -64,6 +64,7 @@ export interface RunDirectAgentTurnInput {
64
64
  runId?: string;
65
65
  userMessage: AgentMessage;
66
66
  abortSignal?: AbortSignal;
67
+ deadlineAtMs?: number;
67
68
  sourceImages?: ImageContent[];
68
69
  onEvent?: (event: EmbeddedStreamEvent) => void;
69
70
  }