@xopcai/xopc 0.0.180 → 0.0.188

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 (838) 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/demo-memory/src/index.js +1 -0
  5. package/dist/extensions/feishu/src/streaming/streaming-adapter.js +1 -3
  6. package/dist/extensions/telegram/src/adapters/streaming-adapter.js +0 -2
  7. package/dist/extensions/telegram/src/draft-stream.d.ts +0 -4
  8. package/dist/extensions/telegram/src/draft-stream.js +1 -53
  9. package/dist/extensions/telegram/xopc.extension.json +1 -1
  10. package/dist/gateway/static/root/assets/{activity-store-DFKtQDgE.js → activity-store--QoUGhiS.js} +1 -1
  11. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-CcTvB_4W.js → agent-avatar-dicebear-B0yweLNQ.js} +1 -1
  12. package/dist/gateway/static/root/assets/agents-C6OV-gMm.js +2 -0
  13. package/dist/gateway/static/root/assets/{api-CUClAvuL.js → api-5laWqfiE.js} +1 -1
  14. package/dist/gateway/static/root/assets/{app-management-settings-panel-Ib-cWKHM.js → app-management-settings-panel-BXJ8Jiv_.js} +1 -1
  15. package/dist/gateway/static/root/assets/{appearance-settings-CRSN8WuA.js → appearance-settings-DG9n9D1M.js} +1 -1
  16. package/dist/gateway/static/root/assets/apps-page-Ci14lDeO.js +1 -0
  17. package/dist/gateway/static/root/assets/{archive-plugin-BBF9zspN.js → archive-plugin-Ceh5qrZf.js} +1 -1
  18. package/dist/gateway/static/root/assets/{attachment-load-D3QQfA7w.js → attachment-load-jFW7uYf7.js} +1 -1
  19. package/dist/gateway/static/root/assets/automations-page-Q1xmb4Rh.js +6 -0
  20. package/dist/gateway/static/root/assets/{binary-plugins-D78XOjJ3.js → binary-plugins-XDlkI1r4.js} +1 -1
  21. package/dist/gateway/static/root/assets/{block-editor-D_VVXlYX.js → block-editor-kyKc2IhE.js} +46 -46
  22. package/dist/gateway/static/root/assets/browser-settings-page-DbowrHXD.js +8 -0
  23. package/dist/gateway/static/root/assets/browser-workflow-inputs-BJa5Iz_v.js +1 -0
  24. package/dist/gateway/static/root/assets/{browser-workflows-page-58DBMXgG.js → browser-workflows-page-CTQQOsn5.js} +2 -2
  25. package/dist/gateway/static/root/assets/capabilities-settings-panel-DoZPFdKF.js +7 -0
  26. package/dist/gateway/static/root/assets/capability-presets-api-Dn-7MMEo.js +1 -0
  27. package/dist/gateway/static/root/assets/capability-presets-settings-panel-Bt8Hnx0h.js +1 -0
  28. package/dist/gateway/static/root/assets/{channel-recipient-api-DYtoNV5A.js → channel-recipient-api-BgIkWq01.js} +1 -1
  29. package/dist/gateway/static/root/assets/channels-settings-Bpsebsru.js +1 -0
  30. package/dist/gateway/static/root/assets/channels-status-swr-DFmdYRE5.js +1 -0
  31. package/dist/gateway/static/root/assets/{connector-logo-CxIXnifA.js → connector-logo-TRr9ybf6.js} +1 -1
  32. package/dist/gateway/static/root/assets/connectors-page-Tg5kl22i.js +2 -0
  33. package/dist/gateway/static/root/assets/desktop-pet-CSwd00CV.js +1 -0
  34. package/dist/gateway/static/root/assets/{desktop-pet-settings-BOIp4q0Z.js → desktop-pet-settings-CuNQvHGu.js} +1 -1
  35. package/dist/gateway/static/root/assets/{directory-picker-path-field-C8_lsW6S.js → directory-picker-path-field-ct0n5Rje.js} +1 -1
  36. package/dist/gateway/static/root/assets/{extension-debug-page-CMNnSJP6.js → extension-debug-page-BeRBuMUU.js} +1 -1
  37. package/dist/gateway/static/root/assets/{extension-page-t0pJqLvM.js → extension-page-DbK-Cwao.js} +1 -1
  38. package/dist/gateway/static/root/assets/{extension-settings-page-aiR-tKnW.js → extension-settings-page-C9ag5tb5.js} +1 -1
  39. package/dist/gateway/static/root/assets/{gateway-config-api-CkyQBD6r.js → gateway-config-api-CC7EvEFp.js} +1 -1
  40. package/dist/gateway/static/root/assets/{gateway-settings-BIZfAgfB.js → gateway-settings-9g8uIry9.js} +1 -1
  41. package/dist/gateway/static/root/assets/{gateway-startup-retry-CSU7UvzG.js → gateway-startup-retry-B2DmdlwO.js} +1 -1
  42. package/dist/gateway/static/root/assets/heartbeat-settings-fl1oC_-5.js +1 -0
  43. package/dist/gateway/static/root/assets/home-page-Bao9jq_z.js +3 -0
  44. package/dist/gateway/static/root/assets/{image-generation-api-BR6Kb77X.js → image-generation-api-GMTaS6eI.js} +1 -1
  45. package/dist/gateway/static/root/assets/index-Cl5n1f_U.css +1 -0
  46. package/dist/gateway/static/root/assets/index-OJgiMh07.js +223 -0
  47. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-D76uYKeQ.js → keyboard-shortcuts-settings-DhGYddbI.js} +1 -1
  48. package/dist/gateway/static/root/assets/local-app-workbench-page-B69NvtvH.js +2 -0
  49. package/dist/gateway/static/root/assets/{local-apps-page-BsLnojTh.js → local-apps-page-CmnrBmWi.js} +1 -1
  50. package/dist/gateway/static/root/assets/{locale-store-BNC8HUCI.js → locale-store-D6hs74o5.js} +1 -1
  51. package/dist/gateway/static/root/assets/logs-page-Cq3cABqg.js +7 -0
  52. package/dist/gateway/static/root/assets/{markdown-split-D6smTQWD.js → markdown-split-CZaBPOVn.js} +1 -1
  53. package/dist/gateway/static/root/assets/{media-plugins-D1TmMF0A.js → media-plugins-CiKvSgCv.js} +1 -1
  54. package/dist/gateway/static/root/assets/messages-D02NNLCZ.js +3 -0
  55. package/dist/gateway/static/root/assets/{notes-page-Vt-diFf0.js → notes-page-Bisbzqlz.js} +1 -1
  56. package/dist/gateway/static/root/assets/notes-workbench-BOZfJFhE.js +4 -0
  57. package/dist/gateway/static/root/assets/{page-tabs-BnSzIjH0.js → page-tabs-BxlwhAbH.js} +1 -1
  58. package/dist/gateway/static/root/assets/{preview-open-alternatives-CF12Eqi4.js → preview-open-alternatives-RM8wXxfT.js} +1 -1
  59. package/dist/gateway/static/root/assets/product-delivery-C8JbSj5Y.js +1 -0
  60. package/dist/gateway/static/root/assets/{product-open-page-Du0TE_CU.js → product-open-page-DdBlibek.js} +1 -1
  61. package/dist/gateway/static/root/assets/project-detail-page-TSKFb2tN.js +1 -0
  62. package/dist/gateway/static/root/assets/projects-page-BokeBrTT.js +1 -0
  63. package/dist/gateway/static/root/assets/remote-access-hub-C56anxCX.js +1 -0
  64. package/dist/gateway/static/root/assets/{schema-form-BKvpxqof.js → schema-form-BDKbpmXv.js} +1 -1
  65. package/dist/gateway/static/root/assets/sessions-page-C7TQADrD.js +1 -0
  66. package/dist/gateway/static/root/assets/settings-advanced-gate-BDOPKeAX.js +1 -0
  67. package/dist/gateway/static/root/assets/{settings-form-section-kt6GIS32.js → settings-form-section-zxo5ZGOu.js} +1 -1
  68. package/dist/gateway/static/root/assets/{settings-loading-skeleton-85eUPcKz.js → settings-loading-skeleton-DgIp8_S6.js} +1 -1
  69. package/dist/gateway/static/root/assets/settings-page-BUPSIa9P.js +1 -0
  70. package/dist/gateway/static/root/assets/{settings-page-layout-CkkCee_x.js → settings-page-layout-97LmwrzC.js} +1 -1
  71. package/dist/gateway/static/root/assets/setup-status-panel-BRg766eW.js +1 -0
  72. package/dist/gateway/static/root/assets/{share-preview-page-BtLEstaI.js → share-preview-page-BH7i3g1S.js} +1 -1
  73. package/dist/gateway/static/root/assets/shares-settings-DhEAviQ_.js +1 -0
  74. package/dist/gateway/static/root/assets/skill-reload-api-Ct7AV8ls.js +1 -0
  75. package/dist/gateway/static/root/assets/skills-page-DoVuprZm.js +2 -0
  76. package/dist/gateway/static/root/assets/{skills-page.utils-C2SHvq8V.js → skills-page.utils-s-a5WV9j.js} +1 -1
  77. package/dist/gateway/static/root/assets/system-settings-panel-BxjeMT5k.js +1 -0
  78. package/dist/gateway/static/root/assets/task-detail-page-BahycnfW.js +1 -0
  79. package/dist/gateway/static/root/assets/{theme-store-ClDa_Bci.js → theme-store-BRxdsmic.js} +1 -1
  80. package/dist/gateway/static/root/assets/time-picker-BGk_Tbsj.js +1 -0
  81. package/dist/gateway/static/root/assets/{typed-models-lib-GsmwmB40.js → typed-models-lib-39MjwPSq.js} +1 -1
  82. package/dist/gateway/static/root/assets/use-save-bar-registration-5aVSjTjO.js +1 -0
  83. package/dist/gateway/static/root/assets/user-context-page-B9K41qmy.js +1 -0
  84. package/dist/gateway/static/root/assets/{voice-api-key-field-Blaxsbb3.js → voice-api-key-field-XU-7sBSg.js} +1 -1
  85. package/dist/gateway/static/root/assets/work-discovery-overlay-CJqu8UHq.js +1 -0
  86. package/dist/gateway/static/root/assets/work-discovery-page-BBVnRHju.js +1 -0
  87. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-CTG4RpRE.js → workflow-run-setup-panel-DXtg8Qxl.js} +2 -2
  88. package/dist/gateway/static/root/assets/workflows-page-Bs_tYfst.js +11 -0
  89. package/dist/gateway/static/root/index.html +8 -8
  90. package/dist/package.js +1 -1
  91. package/dist/packages/gateway-contract/src/product-delivery.js +1 -3
  92. package/dist/packages/gateway-contract/src/project-monitoring.js +31 -0
  93. package/dist/packages/gateway-contract/src/task-lifecycle.js +67 -0
  94. package/dist/packages/gateway-contract/src/task-runs.js +80 -0
  95. package/dist/packages/gateway-contract/src/tasks.js +353 -0
  96. package/dist/packages/gateway-contract/src/tool-activity.js +223 -0
  97. package/dist/src/activity/types.d.ts +2 -2
  98. package/dist/src/agent/agent-instance-gateway.d.ts +1 -1
  99. package/dist/src/agent/agent-manager.d.ts +3 -3
  100. package/dist/src/agent/agent-manager.js +25 -30
  101. package/dist/src/agent/bootstrap/filter-bootstrap-files.js +1 -1
  102. package/dist/src/agent/child-agent-factory.d.ts +1 -2
  103. package/dist/src/agent/child-agent-factory.js +4 -10
  104. package/dist/src/agent/code-intelligence/binary.js +1 -1
  105. package/dist/src/agent/context/execution-scope.d.ts +2 -2
  106. package/dist/src/agent/context/execution-scope.js +17 -20
  107. package/dist/src/agent/context/project-context.d.ts +6 -2
  108. package/dist/src/agent/context/project-context.js +17 -25
  109. package/dist/src/agent/context/workspace-templates/AGENTS.md +1 -1
  110. package/dist/src/agent/embedded/model-runtime.js +1 -1
  111. package/dist/src/agent/embedded/run-for-session.d.ts +0 -2
  112. package/dist/src/agent/embedded/run-for-session.js +99 -112
  113. package/dist/src/agent/embedded/run-turn.js +2 -0
  114. package/dist/src/agent/embedded/session-tool-result-guard.d.ts +2 -0
  115. package/dist/src/agent/embedded/session-tool-result-guard.js +16 -4
  116. package/dist/src/agent/external-tools/composio-provider.d.ts +29 -0
  117. package/dist/src/agent/external-tools/composio-provider.js +307 -0
  118. package/dist/src/agent/external-tools/extension-provider.d.ts +20 -0
  119. package/dist/src/agent/external-tools/extension-provider.js +68 -0
  120. package/dist/src/agent/external-tools/gateway-tools.d.ts +8 -0
  121. package/dist/src/agent/external-tools/gateway-tools.js +89 -0
  122. package/dist/src/agent/external-tools/index.d.ts +24 -0
  123. package/dist/src/agent/external-tools/index.js +40 -0
  124. package/dist/src/agent/external-tools/mcp-provider.d.ts +29 -0
  125. package/dist/src/agent/external-tools/mcp-provider.js +118 -0
  126. package/dist/src/agent/external-tools/memory-provider.d.ts +21 -0
  127. package/dist/src/agent/external-tools/memory-provider.js +56 -0
  128. package/dist/src/agent/external-tools/refs.d.ts +5 -0
  129. package/dist/src/agent/external-tools/refs.js +18 -0
  130. package/dist/src/agent/external-tools/service.d.ts +26 -0
  131. package/dist/src/agent/external-tools/service.js +117 -0
  132. package/dist/src/agent/external-tools/types.d.ts +28 -0
  133. package/dist/src/agent/external-tools/types.js +9 -0
  134. package/dist/src/agent/image/tool-model-config.js +1 -1
  135. package/dist/src/agent/inbound/inbound-loop.d.ts +0 -2
  136. package/dist/src/agent/inbound/inbound-loop.js +1 -4
  137. package/dist/src/agent/inbound/turn-dispatcher.js +1 -1
  138. package/dist/src/agent/ipc/inbox.js +1 -1
  139. package/dist/src/agent/mcp/{bundle-mcp-materialize.d.ts → bundle-mcp-gateway.d.ts} +1 -19
  140. package/dist/src/agent/mcp/bundle-mcp-gateway.js +60 -0
  141. package/dist/src/agent/mcp/bundle-mcp-names.d.ts +0 -8
  142. package/dist/src/agent/mcp/bundle-mcp-names.js +2 -29
  143. package/dist/src/agent/mcp/bundle-mcp-policy.d.ts +5 -10
  144. package/dist/src/agent/mcp/bundle-mcp-policy.js +6 -17
  145. package/dist/src/agent/mcp/bundle-mcp-runtime.js +2 -2
  146. package/dist/src/agent/mcp/bundle-mcp-tools.d.ts +1 -2
  147. package/dist/src/agent/mcp/bundle-mcp-tools.js +1 -2
  148. package/dist/src/agent/mcp/bundle-mcp-types.d.ts +0 -5
  149. package/dist/src/agent/mcp/index.d.ts +0 -2
  150. package/dist/src/agent/mcp/index.js +2 -5
  151. package/dist/src/agent/mcp/mcp-stdio-transport.js +1 -1
  152. package/dist/src/agent/mcp/mcp-transport.js +1 -1
  153. package/dist/src/agent/memory/builtin-provider.d.ts +1 -5
  154. package/dist/src/agent/memory/builtin-provider.js +75 -229
  155. package/dist/src/agent/memory/compaction.js +1 -1
  156. package/dist/src/agent/memory/context/planner.d.ts +4 -0
  157. package/dist/src/agent/memory/context/planner.js +53 -17
  158. package/dist/src/agent/memory/context/types.d.ts +6 -0
  159. package/dist/src/agent/memory/create-memory-manager.d.ts +1 -2
  160. package/dist/src/agent/memory/create-memory-manager.js +4 -4
  161. package/dist/src/agent/memory/dreaming/config.d.ts +16 -13
  162. package/dist/src/agent/memory/dreaming/config.js +47 -40
  163. package/dist/src/agent/memory/dreaming/constants.d.ts +5 -22
  164. package/dist/src/agent/memory/dreaming/constants.js +6 -24
  165. package/dist/src/agent/memory/dreaming/deep-promotion.d.ts +4 -11
  166. package/dist/src/agent/memory/dreaming/deep-promotion.js +126 -279
  167. package/dist/src/agent/memory/dreaming/light-sweep.d.ts +5 -2
  168. package/dist/src/agent/memory/dreaming/light-sweep.js +79 -197
  169. package/dist/src/agent/memory/dreaming/preview.d.ts +3 -9
  170. package/dist/src/agent/memory/dreaming/preview.js +34 -77
  171. package/dist/src/agent/memory/dreaming/promotion-lifecycle.d.ts +1 -15
  172. package/dist/src/agent/memory/dreaming/promotion-lifecycle.js +3 -42
  173. package/dist/src/agent/memory/dreaming/rem-patterns.d.ts +7 -13
  174. package/dist/src/agent/memory/dreaming/rem-patterns.js +104 -261
  175. package/dist/src/agent/memory/dreaming/runner.d.ts +10 -0
  176. package/dist/src/agent/memory/dreaming/runner.js +78 -0
  177. package/dist/src/agent/memory/dreaming/schedule.d.ts +23 -0
  178. package/dist/src/agent/memory/dreaming/schedule.js +38 -0
  179. package/dist/src/agent/memory/dreaming/scope.d.ts +2 -4
  180. package/dist/src/agent/memory/dreaming/scope.js +21 -13
  181. package/dist/src/agent/memory/dreaming/utils.d.ts +2 -51
  182. package/dist/src/agent/memory/dreaming/utils.js +4 -112
  183. package/dist/src/agent/memory/index.d.ts +1 -3
  184. package/dist/src/agent/memory/index.js +2 -3
  185. package/dist/src/agent/memory/manager.d.ts +5 -6
  186. package/dist/src/agent/memory/manager.js +6 -29
  187. package/dist/src/agent/memory/memory-config.d.ts +1 -6
  188. package/dist/src/agent/memory/memory-config.js +2 -23
  189. package/dist/src/agent/memory/summary-generator.d.ts +1 -1
  190. package/dist/src/agent/memory/types.d.ts +7 -48
  191. package/dist/src/agent/memory/understanding/service.js +1 -2
  192. package/dist/src/agent/memory/user-context-coordinator.d.ts +2 -1
  193. package/dist/src/agent/memory/user-context-coordinator.js +32 -14
  194. package/dist/src/agent/messaging/command-handler.d.ts +1 -9
  195. package/dist/src/agent/messaging/command-handler.js +0 -8
  196. package/dist/src/agent/messaging/outbound-coordinator.d.ts +5 -14
  197. package/dist/src/agent/messaging/outbound-coordinator.js +4 -9
  198. package/dist/src/agent/messaging/stream-manager.d.ts +2 -14
  199. package/dist/src/agent/messaging/stream-manager.js +0 -12
  200. package/dist/src/agent/middleware/index.d.ts +1 -1
  201. package/dist/src/agent/middleware/self-verify.d.ts +2 -2
  202. package/dist/src/agent/middleware/self-verify.js +7 -7
  203. package/dist/src/agent/orchestration/agent-event-handler.d.ts +1 -3
  204. package/dist/src/agent/orchestration/agent-event-handler.js +0 -36
  205. package/dist/src/agent/orchestration/agent-orchestrator.d.ts +0 -5
  206. package/dist/src/agent/orchestration/agent-orchestrator.js +16 -71
  207. package/dist/src/agent/prompt/response-language.d.ts +3 -0
  208. package/dist/src/agent/prompt/response-language.js +11 -0
  209. package/dist/src/agent/prompt/sections/behavior.js +8 -6
  210. package/dist/src/agent/prompt/sections/memory-skills.js +10 -13
  211. package/dist/src/agent/prompt/sections/response-language.d.ts +2 -0
  212. package/dist/src/agent/prompt/sections/response-language.js +13 -0
  213. package/dist/src/agent/prompt/sections/tooling.js +0 -2
  214. package/dist/src/agent/prompt/service-prompt-builder.d.ts +1 -1
  215. package/dist/src/agent/prompt/service-prompt-builder.js +6 -29
  216. package/dist/src/agent/prompt/subagent-context.d.ts +2 -0
  217. package/dist/src/agent/prompt/subagent-context.js +1 -0
  218. package/dist/src/agent/prompt/system-prompt.d.ts +3 -0
  219. package/dist/src/agent/prompt/system-prompt.js +10 -2
  220. package/dist/src/agent/service/direct-turn-helpers.d.ts +2 -2
  221. package/dist/src/agent/service/direct-turn-helpers.js +8 -5
  222. package/dist/src/agent/service/process-direct-streaming.d.ts +2 -2
  223. package/dist/src/agent/service/process-direct-streaming.js +2 -2
  224. package/dist/src/agent/service.d.ts +6 -12
  225. package/dist/src/agent/service.js +31 -53
  226. package/dist/src/agent/service.types.d.ts +2 -18
  227. package/dist/src/agent/session/index.d.ts +1 -1
  228. package/dist/src/agent/session/session-config-service.d.ts +1 -0
  229. package/dist/src/agent/session/session-config-service.js +14 -0
  230. package/dist/src/agent/session/session-inspector.js +1 -1
  231. package/dist/src/agent/session/session-state-bag.d.ts +8 -8
  232. package/dist/src/agent/session/session-state-bag.js +10 -10
  233. package/dist/src/agent/skills/hub-lock.js +1 -1
  234. package/dist/src/agent/skills/hub-pull.js +1 -1
  235. package/dist/src/agent/source-context/types.d.ts +1 -1
  236. package/dist/src/agent/source-context/types.js +1 -1
  237. package/dist/src/agent/starter-agents.js +3 -3
  238. package/dist/src/agent/{outcomes → tasks}/execution-verifier.d.ts +3 -0
  239. package/dist/src/agent/{outcomes → tasks}/execution-verifier.js +3 -2
  240. package/dist/src/agent/tasks/task-judge-service.d.ts +31 -0
  241. package/dist/src/agent/tasks/task-judge-service.js +183 -0
  242. package/dist/src/agent/tool-manuals/index.js +1 -1
  243. package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -1
  244. package/dist/src/agent/tool-manuals/xopc-use.js +253 -118
  245. package/dist/src/agent/tools/apply-patch.d.ts +1 -5
  246. package/dist/src/agent/tools/apply-patch.js +1 -12
  247. package/dist/src/agent/tools/clarify-tool.js +1 -1
  248. package/dist/src/agent/tools/delegate-tool.js +9 -5
  249. package/dist/src/agent/tools/dreaming-tool.d.ts +0 -1
  250. package/dist/src/agent/tools/dreaming-tool.js +48 -80
  251. package/dist/src/agent/tools/exec-command.d.ts +0 -2
  252. package/dist/src/agent/tools/exec-command.js +2 -19
  253. package/dist/src/agent/tools/executor.js +1 -1
  254. package/dist/src/agent/tools/factory.d.ts +4 -5
  255. package/dist/src/agent/tools/factory.js +24 -51
  256. package/dist/src/agent/tools/index.d.ts +0 -3
  257. package/dist/src/agent/tools/index.js +1 -4
  258. package/dist/src/agent/tools/managed-job-tool.js +1 -1
  259. package/dist/src/agent/tools/memory-tool.d.ts +0 -3
  260. package/dist/src/agent/tools/memory-tool.js +14 -36
  261. package/dist/src/agent/tools/tool-manual-tool.js +1 -1
  262. package/dist/src/agent/tools/workflow-tool.d.ts +1 -1
  263. package/dist/src/agent/tools/workflow-tool.js +4 -4
  264. package/dist/src/agent/tools/write.d.ts +0 -2
  265. package/dist/src/agent/tools/write.js +0 -11
  266. package/dist/src/agent/tools/xopc-use-tool.d.ts +5 -4
  267. package/dist/src/agent/tools/xopc-use-tool.js +987 -143
  268. package/dist/src/agent/transcript/thinking-types.d.ts +3 -0
  269. package/dist/src/agent/workflow/builtins/index.js +2 -2
  270. package/dist/src/agent/workflow/index.js +2 -2
  271. package/dist/src/agent/workflow/subagent-runner.js +1 -0
  272. package/dist/src/agent/workflow/workflow-child-tools.js +7 -4
  273. package/dist/src/agent/workspace-runtime/registry.d.ts +2 -4
  274. package/dist/src/agent/workspace-runtime/registry.js +1 -2
  275. package/dist/src/agent-manifest/index.js +3 -3
  276. package/dist/src/agent-manifest/resolver.d.ts +20 -1
  277. package/dist/src/agent-manifest/resolver.js +47 -20
  278. package/dist/src/agent-manifest/schema.d.ts +128 -52
  279. package/dist/src/agent-manifest/schema.js +46 -8
  280. package/dist/src/agent-runtime/memory-runtime.d.ts +2 -2
  281. package/dist/src/ai-assist/text-assist.js +4 -4
  282. package/dist/src/auth/credentials.js +2 -2
  283. package/dist/src/auth/profiles/store.js +1 -1
  284. package/dist/src/auth/sync-provider-auth.js +2 -2
  285. package/dist/src/automations/domain/defaults.js +1 -1
  286. package/dist/src/automations/domain/types.d.ts +15 -1
  287. package/dist/src/automations/domain/validation.d.ts +336 -12
  288. package/dist/src/automations/domain/validation.js +6 -0
  289. package/dist/src/automations/draft/automation-draft-prompt.js +3 -3
  290. package/dist/src/automations/draft/automation-draft-validator.d.ts +62 -1
  291. package/dist/src/automations/draft/automation-draft-validator.js +1 -0
  292. package/dist/src/automations/index.js +1 -1
  293. package/dist/src/automations/service/action-executor.d.ts +2 -2
  294. package/dist/src/automations/service/action-executor.js +21 -1
  295. package/dist/src/automations/service/automation-service.js +21 -21
  296. package/dist/src/browser/providers/browser-ext-install.js +1 -1
  297. package/dist/src/browser/providers/cloakbrowser.js +1 -1
  298. package/dist/src/channels/channel-domain.d.ts +0 -4
  299. package/dist/src/channels/plugin-types.d.ts +0 -2
  300. package/dist/src/chat-commands/builtins/understanding.d.ts +1 -0
  301. package/dist/src/chat-commands/builtins/understanding.js +91 -0
  302. package/dist/src/chat-commands/context.d.ts +0 -3
  303. package/dist/src/chat-commands/context.js +0 -2
  304. package/dist/src/chat-commands/index.d.ts +1 -2
  305. package/dist/src/chat-commands/index.js +3 -5
  306. package/dist/src/chat-commands/types.d.ts +0 -3
  307. package/dist/src/cli/command-catalog.js +0 -43
  308. package/dist/src/cli/command-loaders.js +0 -1
  309. package/dist/src/cli/command-manifest.js +0 -4
  310. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  311. package/dist/src/cli/commands/doctor/checks/provider-auth.js +1 -1
  312. package/dist/src/cli/commands/extension-marketplace.js +1 -1
  313. package/dist/src/cli/commands/gateway/lifecycle-core.js +1 -1
  314. package/dist/src/cli/commands/gateway/restart-health.d.ts +2 -2
  315. package/dist/src/cli/commands/gateway/restart-health.js +3 -3
  316. package/dist/src/cli/commands/gateway/service.js +4 -4
  317. package/dist/src/cli/commands/models.js +1 -1
  318. package/dist/src/cli/commands/onboard/gateway.js +1 -1
  319. package/dist/src/cli/commands/project.js +12 -33
  320. package/dist/src/cli/commands/providers.d.ts +4 -4
  321. package/dist/src/cli/commands/providers.js +16 -16
  322. package/dist/src/cli/commands/search.js +7 -7
  323. package/dist/src/cli/commands/setup-shared/index.d.ts +2 -2
  324. package/dist/src/cli/commands/setup-shared/index.js +2 -2
  325. package/dist/src/cli/commands/setup-shared/output.d.ts +4 -4
  326. package/dist/src/cli/commands/setup-shared/output.js +26 -26
  327. package/dist/src/cli/commands/setup-shared/runner.d.ts +8 -8
  328. package/dist/src/cli/commands/setup-shared/runner.js +9 -9
  329. package/dist/src/cli/commands/setup-shared/types.d.ts +2 -2
  330. package/dist/src/cli/commands/skills.d.ts +7 -0
  331. package/dist/src/cli/commands/skills.js +16 -16
  332. package/dist/src/cli/commands/update.js +1 -1
  333. package/dist/src/cli/commands/voice.d.ts +1 -1
  334. package/dist/src/cli/commands/voice.js +6 -6
  335. package/dist/src/cli/templates.js +1 -1
  336. package/dist/src/commands/agents.config.js +2 -18
  337. package/dist/src/config/agent-profile.d.ts +1 -1
  338. package/dist/src/config/agent-profile.js +1 -1
  339. package/dist/src/config/index.js +7 -7
  340. package/dist/src/config/loader.js +1 -1
  341. package/dist/src/config/models-json.js +1 -1
  342. package/dist/src/config/paths.d.ts +0 -3
  343. package/dist/src/config/paths.js +2 -7
  344. package/dist/src/config/schema.d.ts +160 -258
  345. package/dist/src/config/schema.js +8 -114
  346. package/dist/src/config/web-patch.d.ts +0 -29
  347. package/dist/src/config/web-patch.js +2 -69
  348. package/dist/src/connectors/composio-catalog.js +7 -20
  349. package/dist/src/connectors/composio-sessions.js +14 -4
  350. package/dist/src/connectors/composio.d.ts +7 -2
  351. package/dist/src/connectors/composio.js +49 -40
  352. package/dist/src/connectors/connected-source-ingestion.js +2 -1
  353. package/dist/src/connectors/connected-source-normalizers.js +5 -5
  354. package/dist/src/connectors/connector-identity.d.ts +2 -0
  355. package/dist/src/connectors/connector-identity.js +64 -1
  356. package/dist/src/connectors/health.js +1 -1
  357. package/dist/src/connectors/learning-coordinator.js +34 -15
  358. package/dist/src/connectors/learning-recipes.d.ts +2 -0
  359. package/dist/src/connectors/learning-recipes.js +11 -1
  360. package/dist/src/connectors/source-change-publisher.js +5 -4
  361. package/dist/src/connectors/types.d.ts +16 -0
  362. package/dist/src/daemon/launchd.js +2 -2
  363. package/dist/src/daemon/schtasks.js +1 -1
  364. package/dist/src/daemon/service.js +3 -3
  365. package/dist/src/daemon/systemd.js +1 -1
  366. package/dist/src/daemon/types.d.ts +5 -5
  367. package/dist/src/discussions/analyzer.d.ts +6 -6
  368. package/dist/src/discussions/analyzer.js +32 -22
  369. package/dist/src/discussions/index.d.ts +3 -2
  370. package/dist/src/discussions/index.js +5 -4
  371. package/dist/src/discussions/live-worker.d.ts +5 -3
  372. package/dist/src/discussions/live-worker.js +24 -12
  373. package/dist/src/discussions/{worker.d.ts → organizer-worker.d.ts} +3 -5
  374. package/dist/src/discussions/organizer-worker.js +58 -0
  375. package/dist/src/discussions/organizer.d.ts +22 -0
  376. package/dist/src/discussions/organizer.js +92 -0
  377. package/dist/src/discussions/repository.d.ts +16 -5
  378. package/dist/src/discussions/repository.js +159 -135
  379. package/dist/src/discussions/sealer.d.ts +25 -0
  380. package/dist/src/discussions/sealer.js +116 -0
  381. package/dist/src/discussions/service.d.ts +2 -1
  382. package/dist/src/discussions/service.js +70 -60
  383. package/dist/src/discussions/transcript.js +1 -1
  384. package/dist/src/discussions/types.d.ts +45 -20
  385. package/dist/src/discussions/types.js +4 -2
  386. package/dist/src/extensions/extension-registry-impl.d.ts +3 -1
  387. package/dist/src/extensions/extension-registry-impl.js +7 -1
  388. package/dist/src/extensions/loader.js +1 -1
  389. package/dist/src/extensions/lockfile.js +1 -1
  390. package/dist/src/extensions/types/core.d.ts +5 -4
  391. package/dist/src/extensions/types/tui.d.ts +2 -2
  392. package/dist/src/extensions/update.d.ts +3 -3
  393. package/dist/src/extensions/update.js +14 -14
  394. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
  395. package/dist/src/gateway/agent-builtin-tools.js +5 -3
  396. package/dist/src/gateway/agent-run-relay.d.ts +1 -1
  397. package/dist/src/gateway/agents-admin.js +17 -19
  398. package/dist/src/gateway/capability-presets-admin.d.ts +13 -0
  399. package/dist/src/gateway/capability-presets-admin.js +59 -2
  400. package/dist/src/gateway/chat-limits.d.ts +6 -2
  401. package/dist/src/gateway/chat-limits.js +17 -3
  402. package/dist/src/gateway/chat-stream/mapper.js +16 -1
  403. package/dist/src/gateway/chat-stream/protocol.d.ts +4 -0
  404. package/dist/src/gateway/chat-stream/thinking-delta-coalescer.js +3 -3
  405. package/dist/src/gateway/dreaming-automation-reconciler.js +13 -12
  406. package/dist/src/gateway/file-path-classifier.js +1 -1
  407. package/dist/src/gateway/file-reference-errors.d.ts +6 -0
  408. package/dist/src/gateway/file-reference-errors.js +21 -0
  409. package/dist/src/gateway/hono/app.js +9 -10
  410. package/dist/src/gateway/hono/index.d.ts +1 -1
  411. package/dist/src/gateway/hono/index.js +2 -2
  412. package/dist/src/gateway/hono/lib/config-payload.d.ts +15 -35
  413. package/dist/src/gateway/hono/lib/config-payload.js +7 -5
  414. package/dist/src/gateway/hono/middleware/strict-rate-limit.d.ts +4 -0
  415. package/dist/src/gateway/hono/middleware/strict-rate-limit.js +8 -1
  416. package/dist/src/gateway/hono/routes/activity.js +1 -2
  417. package/dist/src/gateway/hono/routes/agent-stream.js +135 -34
  418. package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
  419. package/dist/src/gateway/hono/routes/capability-presets.js +27 -1
  420. package/dist/src/gateway/hono/routes/composer-history.js +1 -1
  421. package/dist/src/gateway/hono/routes/config-patch/misc.d.ts +1 -1
  422. package/dist/src/gateway/hono/routes/config-patch/misc.js +2 -7
  423. package/dist/src/gateway/hono/routes/connectors.js +35 -30
  424. package/dist/src/gateway/hono/routes/deps.d.ts +1 -0
  425. package/dist/src/gateway/hono/routes/discussions.js +13 -3
  426. package/dist/src/gateway/hono/routes/home.d.ts +1 -1
  427. package/dist/src/gateway/hono/routes/home.js +2 -2
  428. package/dist/src/gateway/hono/routes/index.js +2 -4
  429. package/dist/src/gateway/hono/routes/lazy-bundles.js +0 -16
  430. package/dist/src/gateway/hono/routes/mcp.js +1 -1
  431. package/dist/src/gateway/hono/routes/media.js +9 -3
  432. package/dist/src/gateway/hono/routes/memory.js +38 -113
  433. package/dist/src/gateway/hono/routes/models.js +1 -1
  434. package/dist/src/gateway/hono/routes/projects.js +254 -601
  435. package/dist/src/gateway/hono/routes/public-gateway.js +4 -2
  436. package/dist/src/gateway/hono/routes/{work.d.ts → tasks.d.ts} +1 -1
  437. package/dist/src/gateway/hono/routes/tasks.js +343 -0
  438. package/dist/src/gateway/hono/routes/workflows.js +8 -9
  439. package/dist/src/gateway/hono/routes/workspace.js +34 -13
  440. package/dist/src/gateway/hono/routes/you.d.ts +1 -1
  441. package/dist/src/gateway/hono/routes/you.js +252 -80
  442. package/dist/src/gateway/hono/sse.d.ts +1 -16
  443. package/dist/src/gateway/hono/sse.js +4 -161
  444. package/dist/src/gateway/index.js +2 -2
  445. package/dist/src/gateway/rate-limit/buckets.d.ts +3 -0
  446. package/dist/src/gateway/rate-limit/buckets.js +12 -0
  447. package/dist/src/gateway/security/csp.d.ts +2 -0
  448. package/dist/src/gateway/security/csp.js +4 -0
  449. package/dist/src/gateway/service/agent-runner.d.ts +32 -13
  450. package/dist/src/gateway/service/agent-runner.js +97 -46
  451. package/dist/src/gateway/service/config-coordinator.js +2 -2
  452. package/dist/src/gateway/service/run-gateway-agent.d.ts +1 -1
  453. package/dist/src/gateway/service/run-gateway-agent.js +31 -43
  454. package/dist/src/gateway/service/session-input-coordinator.d.ts +59 -0
  455. package/dist/src/gateway/service/session-input-coordinator.js +183 -0
  456. package/dist/src/gateway/service/sessions-api.d.ts +1 -0
  457. package/dist/src/gateway/service.d.ts +28 -16
  458. package/dist/src/gateway/service.js +154 -137
  459. package/dist/src/gateway/session-reset-service.js +6 -6
  460. package/dist/src/gateway/user-turn-input.d.ts +0 -1
  461. package/dist/src/i18n/index.d.ts +0 -1
  462. package/dist/src/i18n/index.js +1 -2
  463. package/dist/src/i18n/language-consistency.d.ts +10 -0
  464. package/dist/src/i18n/language-consistency.js +34 -0
  465. package/dist/src/i18n/response-language.d.ts +8 -0
  466. package/dist/src/i18n/response-language.js +17 -0
  467. package/dist/src/i18n/share-tool-bundle.js +2 -2
  468. package/dist/src/infra/update-runner.js +1 -1
  469. package/dist/src/mcp/channel-bridge.js +5 -3
  470. package/dist/src/media/store.js +1 -1
  471. package/dist/src/media/types.d.ts +1 -1
  472. package/dist/src/media/uri.js +1 -2
  473. package/dist/src/media-understanding/runner.d.ts +1 -1
  474. package/dist/src/media-understanding/runner.js +9 -9
  475. package/dist/src/media-understanding/types.d.ts +4 -4
  476. package/dist/src/mobile/notification-service.js +16 -21
  477. package/dist/src/mobile/notification-types.d.ts +2 -2
  478. package/dist/src/notes/types.d.ts +0 -1
  479. package/dist/src/proactive/events/product-event-bridge.js +17 -14
  480. package/dist/src/proactive/execution/context.js +45 -28
  481. package/dist/src/proactive/execution/insight.js +1 -1
  482. package/dist/src/proactive/temporal/worker.js +2 -2
  483. package/dist/src/projects/index.d.ts +0 -1
  484. package/dist/src/projects/index.js +1 -2
  485. package/dist/src/projects/project-loop.d.ts +16 -8
  486. package/dist/src/projects/project-loop.js +41 -48
  487. package/dist/src/projects/project-service.d.ts +14 -4
  488. package/dist/src/projects/project-service.js +18 -10
  489. package/dist/src/projects/project-store.d.ts +36 -3
  490. package/dist/src/projects/project-store.js +116 -14
  491. package/dist/src/projects/types.d.ts +50 -3
  492. package/dist/src/providers/auth-runtime/resolve-auth.js +1 -1
  493. package/dist/src/providers/index.js +2 -2
  494. package/dist/src/providers/model-registry.js +1 -1
  495. package/dist/src/providers/model-response.d.ts +4 -0
  496. package/dist/src/providers/model-response.js +28 -0
  497. package/dist/src/providers/register-runtime-providers.js +1 -1
  498. package/dist/src/session/config-types.d.ts +3 -0
  499. package/dist/src/session/index.d.ts +0 -1
  500. package/dist/src/session/index.js +1 -2
  501. package/dist/src/session/init-session-turn.js +6 -6
  502. package/dist/src/session/store.js +4 -4
  503. package/dist/src/session/types.d.ts +1 -6
  504. package/dist/src/share/share-zip.js +1 -1
  505. package/dist/src/share/site-proxy.js +1 -1
  506. package/dist/src/storage/sqlite/config-repository.js +7 -4
  507. package/dist/src/storage/sqlite/connection.js +1 -1
  508. package/dist/src/storage/sqlite/connector-account-repository.d.ts +12 -0
  509. package/dist/src/storage/sqlite/connector-account-repository.js +143 -0
  510. package/dist/src/storage/sqlite/connector-learning-repository.d.ts +5 -2
  511. package/dist/src/storage/sqlite/connector-learning-repository.js +14 -7
  512. package/dist/src/storage/sqlite/connector-repository.js +12 -3
  513. package/dist/src/storage/sqlite/connector-sync-policy-repository.d.ts +4 -3
  514. package/dist/src/storage/sqlite/connector-sync-policy-repository.js +20 -10
  515. package/dist/src/storage/sqlite/dreaming-repository.d.ts +61 -0
  516. package/dist/src/storage/sqlite/dreaming-repository.js +88 -0
  517. package/dist/src/storage/sqlite/index.d.ts +6 -4
  518. package/dist/src/storage/sqlite/index.js +7 -5
  519. package/dist/src/storage/sqlite/memory-readiness-repository.d.ts +7 -0
  520. package/dist/src/storage/sqlite/memory-readiness-repository.js +30 -0
  521. package/dist/src/storage/sqlite/memory-records-repository.d.ts +31 -26
  522. package/dist/src/storage/sqlite/memory-records-repository.js +112 -139
  523. package/dist/src/storage/sqlite/migrations/090_outcome_contract_judgment.sql +2 -0
  524. package/dist/src/storage/sqlite/migrations/091_context_allocation.sql +1 -0
  525. package/dist/src/storage/sqlite/migrations/092_outcome_execution_runtime.sql +88 -0
  526. package/dist/src/storage/sqlite/migrations/093_remove_legacy_goals.sql +174 -0
  527. package/dist/src/storage/sqlite/migrations/094_outcome_judgment_and_authority.sql +3 -0
  528. package/dist/src/storage/sqlite/migrations/095_session_input_queue.sql +35 -0
  529. package/dist/src/storage/sqlite/migrations/096_drop_work_intakes.sql +6 -0
  530. package/dist/src/storage/sqlite/migrations/097_work_item_lifecycle.sql +194 -0
  531. package/dist/src/storage/sqlite/migrations/098_discussion_note_documents.sql +99 -0
  532. package/dist/src/storage/sqlite/migrations/099_task_model.sql +500 -0
  533. package/dist/src/storage/sqlite/migrations/100_project_task_taskrun.sql +763 -0
  534. package/dist/src/storage/sqlite/migrations/101_session_response_language.sql +1 -0
  535. package/dist/src/storage/sqlite/migrations/102_session_user_context_mode.sql +2 -0
  536. package/dist/src/storage/sqlite/migrations/103_finalize_structured_memory.sql +3 -0
  537. package/dist/src/storage/sqlite/migrations/104_turn_memory_feedback.sql +77 -0
  538. package/dist/src/storage/sqlite/migrations/105_dreaming_ledger.sql +34 -0
  539. package/dist/src/storage/sqlite/migrations/106_dreaming_run_reproducibility.sql +2 -0
  540. package/dist/src/storage/sqlite/migrations/107_connector_accounts.sql +146 -0
  541. package/dist/src/storage/sqlite/migrations/108_repair_user_memory_provider.sql +18 -0
  542. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  543. package/dist/src/storage/sqlite/migrations/runner.js +37 -5
  544. package/dist/src/storage/sqlite/migrations/runner.ts +44 -3
  545. package/dist/src/storage/sqlite/migrations/types.d.ts +2 -0
  546. package/dist/src/storage/sqlite/migrations/types.ts +2 -0
  547. package/dist/src/storage/sqlite/row-mappers.d.ts +2 -2
  548. package/dist/src/storage/sqlite/row-mappers.js +2 -2
  549. package/dist/src/storage/sqlite/schema.d.ts +3 -1
  550. package/dist/src/storage/sqlite/schema.js +5 -2
  551. package/dist/src/storage/sqlite/schema.sql +76 -61
  552. package/dist/src/storage/sqlite/session-input-repository.d.ts +59 -0
  553. package/dist/src/storage/sqlite/session-input-repository.js +147 -0
  554. package/dist/src/storage/sqlite/session-repository.js +5 -6
  555. package/dist/src/{work → tasks}/attention-governor.d.ts +5 -5
  556. package/dist/src/{work → tasks}/attention-governor.js +3 -4
  557. package/dist/src/tasks/execution-context.d.ts +23 -0
  558. package/dist/src/{work → tasks}/execution-context.js +7 -20
  559. package/dist/src/{work → tasks}/home-query-service.d.ts +16 -28
  560. package/dist/src/{work → tasks}/home-query-service.js +56 -126
  561. package/dist/src/tasks/index.d.ts +20 -0
  562. package/dist/src/tasks/index.js +21 -0
  563. package/dist/src/{work → tasks}/project-monitoring-service.js +1 -1
  564. package/dist/src/{work → tasks}/project-operating-view-service.d.ts +2 -4
  565. package/dist/src/tasks/project-operating-view-service.js +77 -0
  566. package/dist/src/tasks/task-application-service.d.ts +35 -0
  567. package/dist/src/tasks/task-application-service.js +423 -0
  568. package/dist/src/tasks/task-context-assembler.d.ts +36 -0
  569. package/dist/src/tasks/task-context-assembler.js +125 -0
  570. package/dist/src/tasks/task-context-repository.d.ts +52 -0
  571. package/dist/src/tasks/task-context-repository.js +97 -0
  572. package/dist/src/tasks/task-contract-definition.d.ts +10 -0
  573. package/dist/src/{work/outcome-contract-definition.js → tasks/task-contract-definition.js} +7 -5
  574. package/dist/src/tasks/task-contract-planner.d.ts +17 -0
  575. package/dist/src/tasks/task-contract-planner.js +87 -0
  576. package/dist/src/tasks/task-dependency-service.d.ts +21 -0
  577. package/dist/src/tasks/task-dependency-service.js +81 -0
  578. package/dist/src/tasks/task-outbox-dispatcher.d.ts +6 -0
  579. package/dist/src/tasks/task-outbox-dispatcher.js +31 -0
  580. package/dist/src/tasks/task-read-model-projector.d.ts +16 -0
  581. package/dist/src/tasks/task-read-model-projector.js +93 -0
  582. package/dist/src/tasks/task-repository.d.ts +82 -0
  583. package/dist/src/tasks/task-repository.js +185 -0
  584. package/dist/src/{work/outcome-run-coordinator.d.ts → tasks/task-run-coordinator.d.ts} +6 -8
  585. package/dist/src/tasks/task-run-coordinator.js +130 -0
  586. package/dist/src/tasks/task-run-dispatcher.d.ts +11 -0
  587. package/dist/src/tasks/task-run-dispatcher.js +90 -0
  588. package/dist/src/tasks/task-run-repository.d.ts +102 -0
  589. package/dist/src/tasks/task-run-repository.js +312 -0
  590. package/dist/src/tasks/task-signal-service.d.ts +8 -0
  591. package/dist/src/tasks/task-signal-service.js +72 -0
  592. package/dist/src/tasks/task-value-metrics-service.d.ts +4 -0
  593. package/dist/src/tasks/task-value-metrics-service.js +78 -0
  594. package/dist/src/tasks/task-workflow-coordinator.d.ts +5 -0
  595. package/dist/src/tasks/task-workflow-coordinator.js +54 -0
  596. package/dist/src/tui/backends/embedded-backend.d.ts +11 -1
  597. package/dist/src/tui/backends/embedded-backend.js +29 -3
  598. package/dist/src/tui/backends/gateway-sse-backend.d.ts +6 -3
  599. package/dist/src/tui/backends/gateway-sse-backend.js +38 -127
  600. package/dist/src/tui/components/settings-selector.js +0 -20
  601. package/dist/src/tui/components/tui-bottom-bar.d.ts +2 -3
  602. package/dist/src/tui/components/tui-bottom-bar.js +4 -9
  603. package/dist/src/tui/extension-host/runtime-context.js +1 -1
  604. package/dist/src/tui/tool-summary.d.ts +1 -2
  605. package/dist/src/tui/tool-summary.js +2 -18
  606. package/dist/src/tui/tui-backend.d.ts +13 -1
  607. package/dist/src/tui/tui-backend.js +10 -1
  608. package/dist/src/tui/tui-command-formatters.js +1 -2
  609. package/dist/src/tui/tui-commands.js +8 -19
  610. package/dist/src/tui/tui-session-actions.js +0 -2
  611. package/dist/src/tui/tui-settings.d.ts +0 -6
  612. package/dist/src/tui/tui-settings.js +0 -10
  613. package/dist/src/tui/tui-startup-resources.js +1 -1
  614. package/dist/src/tui/tui-types.d.ts +1 -4
  615. package/dist/src/tui/tui-types.js +1 -2
  616. package/dist/src/tui/tui.js +90 -73
  617. package/dist/src/tui/xopc-tui-keybindings.d.ts +25 -6
  618. package/dist/src/tui/xopc-tui-keybindings.js +0 -5
  619. package/dist/src/tunnel/frpc-binary.js +1 -1
  620. package/dist/src/tunnel/frpc-extract.js +1 -1
  621. package/dist/src/user-context/config.d.ts +165 -16
  622. package/dist/src/user-context/config.js +74 -14
  623. package/dist/src/user-context/context-compiler.d.ts +4 -8
  624. package/dist/src/user-context/context-compiler.js +7 -10
  625. package/dist/src/user-context/interaction-state.js +8 -4
  626. package/dist/src/user-context/manual-understanding.d.ts +19 -0
  627. package/dist/src/user-context/manual-understanding.js +69 -0
  628. package/dist/src/user-context/memory-episode-evaluator.d.ts +32 -0
  629. package/dist/src/user-context/memory-episode-evaluator.js +35 -0
  630. package/dist/src/user-context/memory-readiness.d.ts +33 -0
  631. package/dist/src/user-context/memory-readiness.js +41 -0
  632. package/dist/src/user-context/memory-use-audit.js +3 -2
  633. package/dist/src/user-context/projection.d.ts +14 -0
  634. package/dist/src/user-context/projection.js +15 -3
  635. package/dist/src/user-context/relationship-continuity.js +1 -1
  636. package/dist/src/user-context/runtime.d.ts +0 -2
  637. package/dist/src/user-context/runtime.js +1 -10
  638. package/dist/src/user-context/source-recommendations.d.ts +5 -5
  639. package/dist/src/user-context/source-recommendations.js +9 -8
  640. package/dist/src/voice/local/model-files.js +1 -1
  641. package/dist/src/voice/stt/transcribe-core.js +3 -3
  642. package/dist/src/voice/stt/types.d.ts +2 -2
  643. package/dist/src/voice/tts/speak-core.js +4 -4
  644. package/dist/src/voice/tts/types.d.ts +2 -2
  645. package/dist/src/work-discovery/analyzer.js +5 -5
  646. package/dist/src/work-discovery/service.d.ts +1 -10
  647. package/dist/src/work-discovery/service.js +4 -6
  648. package/dist/src/work-discovery/types.d.ts +1 -1
  649. package/dist/src/workflows/domain/run.d.ts +3 -4
  650. package/dist/src/workflows/draft/workflow-draft-prompt.js +1 -1
  651. package/dist/src/workflows/index.js +1 -1
  652. package/dist/src/workflows/service/workflow-run-service.d.ts +2 -2
  653. package/dist/src/workflows/service/workflow-run-service.js +105 -35
  654. package/dist/src/workflows/service/workflow-run-service.types.d.ts +1 -2
  655. package/dist/src/workflows/service/workflow-session-bridge.js +4 -12
  656. package/dist/src/workflows/store/run-index-store.d.ts +1 -1
  657. package/dist/src/workflows/store/run-index-store.js +10 -8
  658. package/dist/src/workflows/store/run-store.d.ts +1 -1
  659. package/dist/src/workflows/store/run-store.js +2 -2
  660. package/package.json +5 -5
  661. package/dist/gateway/static/root/assets/agents-DgGj9bu6.js +0 -2
  662. package/dist/gateway/static/root/assets/apps-page-B5xahuT-.js +0 -1
  663. package/dist/gateway/static/root/assets/automations-page-BUYrvMmD.js +0 -6
  664. package/dist/gateway/static/root/assets/browser-settings-page-Cjw07q9h.js +0 -8
  665. package/dist/gateway/static/root/assets/browser-workflow-inputs-_gu08MA4.js +0 -1
  666. package/dist/gateway/static/root/assets/capabilities-settings-panel-D_dfVxHY.js +0 -7
  667. package/dist/gateway/static/root/assets/capability-presets-api-DhCn9rPv.js +0 -1
  668. package/dist/gateway/static/root/assets/capability-presets-settings-panel-LWWIYUT7.js +0 -1
  669. package/dist/gateway/static/root/assets/channels-settings-Cyj5OunL.js +0 -1
  670. package/dist/gateway/static/root/assets/channels-status-swr-TEFnV0IG.js +0 -1
  671. package/dist/gateway/static/root/assets/connectors-page-0TobCpBB.js +0 -2
  672. package/dist/gateway/static/root/assets/desktop-pet-CwVSLL6N.js +0 -1
  673. package/dist/gateway/static/root/assets/dreaming-scene-BHMRVEUS.js +0 -4585
  674. package/dist/gateway/static/root/assets/dreaming-settings-Da9FeWQl.js +0 -3
  675. package/dist/gateway/static/root/assets/format-cron-label-arqgGlVV.js +0 -1
  676. package/dist/gateway/static/root/assets/goals-settings-Dx9uTyWF.js +0 -1
  677. package/dist/gateway/static/root/assets/heartbeat-settings-Cnr5ORXL.js +0 -1
  678. package/dist/gateway/static/root/assets/index-B0Tdge_q.css +0 -1
  679. package/dist/gateway/static/root/assets/index-BA56bQ68.js +0 -224
  680. package/dist/gateway/static/root/assets/local-app-workbench-page-DSUNtLHg.js +0 -2
  681. package/dist/gateway/static/root/assets/logs-page-yI8kpQtO.js +0 -7
  682. package/dist/gateway/static/root/assets/messages-H_iJjnEM.js +0 -3
  683. package/dist/gateway/static/root/assets/notes-workbench-BD297EZt.js +0 -4
  684. package/dist/gateway/static/root/assets/outcome-detail-page-C5i_ZR9a.js +0 -1
  685. package/dist/gateway/static/root/assets/product-delivery-BVG-eWQO.js +0 -1
  686. package/dist/gateway/static/root/assets/project-detail-page-D1HGz7Dy.js +0 -1
  687. package/dist/gateway/static/root/assets/projects-page-CqP2TnW-.js +0 -1
  688. package/dist/gateway/static/root/assets/remote-access-hub-BXdVJLS3.js +0 -1
  689. package/dist/gateway/static/root/assets/save-bar-controls-B53UNtDM.js +0 -1
  690. package/dist/gateway/static/root/assets/schedule-field-C3dIMN5q.js +0 -1
  691. package/dist/gateway/static/root/assets/sessions-page-CPAwDdl5.js +0 -1
  692. package/dist/gateway/static/root/assets/settings-advanced-gate-C-jGsoft.js +0 -1
  693. package/dist/gateway/static/root/assets/settings-page-Di5x6Xrc.js +0 -1
  694. package/dist/gateway/static/root/assets/setup-status-panel-uxEE6gAB.js +0 -1
  695. package/dist/gateway/static/root/assets/shares-settings-2mcsMWgn.js +0 -1
  696. package/dist/gateway/static/root/assets/skill-reload-api-ocDwsrEt.js +0 -1
  697. package/dist/gateway/static/root/assets/skills-page-9_jfsFU5.js +0 -2
  698. package/dist/gateway/static/root/assets/system-settings-panel-CIJ66cUy.js +0 -1
  699. package/dist/gateway/static/root/assets/time-picker-D0zAsHOo.js +0 -1
  700. package/dist/gateway/static/root/assets/use-channel-catalog-BQz3K7xj.js +0 -1
  701. package/dist/gateway/static/root/assets/user-context-page-Bn4BLg4W.js +0 -1
  702. package/dist/gateway/static/root/assets/work-copy-Cwyan9Sn.js +0 -1
  703. package/dist/gateway/static/root/assets/work-discovery-page-iJ9RBSpu.js +0 -1
  704. package/dist/gateway/static/root/assets/work-item-detail-page-CqTH7PQX.js +0 -1
  705. package/dist/gateway/static/root/assets/work-page-H3m99ccS.js +0 -3
  706. package/dist/gateway/static/root/assets/workflows-page-BxZSKMfv.js +0 -11
  707. package/dist/packages/gateway-contract/src/outcomes.js +0 -137
  708. package/dist/packages/gateway-contract/src/work-intake.js +0 -85
  709. package/dist/src/agent/feedback/feedback-coordinator.d.ts +0 -73
  710. package/dist/src/agent/feedback/feedback-coordinator.js +0 -156
  711. package/dist/src/agent/feedback/index.d.ts +0 -4
  712. package/dist/src/agent/feedback/index.js +0 -2
  713. package/dist/src/agent/goals/checklist-judge.d.ts +0 -48
  714. package/dist/src/agent/goals/checklist-judge.js +0 -237
  715. package/dist/src/agent/goals/checklist-types.d.ts +0 -21
  716. package/dist/src/agent/goals/checklist-types.js +0 -24
  717. package/dist/src/agent/goals/evaluate-turn.d.ts +0 -29
  718. package/dist/src/agent/goals/evaluate-turn.js +0 -209
  719. package/dist/src/agent/goals/goal-locale.d.ts +0 -26
  720. package/dist/src/agent/goals/goal-locale.js +0 -61
  721. package/dist/src/agent/goals/judge.d.ts +0 -41
  722. package/dist/src/agent/goals/judge.js +0 -176
  723. package/dist/src/agent/goals/persistent-goal-apis.d.ts +0 -15
  724. package/dist/src/agent/goals/persistent-goal-apis.js +0 -1
  725. package/dist/src/agent/goals/persistent-goal-service.d.ts +0 -93
  726. package/dist/src/agent/goals/persistent-goal-service.js +0 -128
  727. package/dist/src/agent/goals/post-turn.d.ts +0 -28
  728. package/dist/src/agent/goals/post-turn.js +0 -187
  729. package/dist/src/agent/goals/state.d.ts +0 -46
  730. package/dist/src/agent/goals/state.js +0 -80
  731. package/dist/src/agent/lifecycle/progress.d.ts +0 -90
  732. package/dist/src/agent/lifecycle/progress.js +0 -340
  733. package/dist/src/agent/mcp/bundle-mcp-materialize.js +0 -183
  734. package/dist/src/agent/mcp/mcp-tool-meta.d.ts +0 -8
  735. package/dist/src/agent/mcp/mcp-tool-meta.js +0 -13
  736. package/dist/src/agent/mcp/resolve-embedded-mcp-tools.d.ts +0 -14
  737. package/dist/src/agent/mcp/resolve-embedded-mcp-tools.js +0 -49
  738. package/dist/src/agent/memory/builtin-memory-store.d.ts +0 -54
  739. package/dist/src/agent/memory/builtin-memory-store.js +0 -315
  740. package/dist/src/agent/memory/dreaming/events.d.ts +0 -36
  741. package/dist/src/agent/memory/dreaming/events.js +0 -42
  742. package/dist/src/agent/memory/dreaming/last-run.d.ts +0 -80
  743. package/dist/src/agent/memory/dreaming/last-run.js +0 -96
  744. package/dist/src/agent/memory/dreaming/short-term-store.d.ts +0 -75
  745. package/dist/src/agent/memory/dreaming/short-term-store.js +0 -273
  746. package/dist/src/agent/outcomes/execution-evaluation.d.ts +0 -20
  747. package/dist/src/agent/outcomes/execution-evaluation.js +0 -48
  748. package/dist/src/agent/prompt/memory/index.d.ts +0 -23
  749. package/dist/src/agent/prompt/memory/index.js +0 -101
  750. package/dist/src/agent/tools/composio-tool.d.ts +0 -21
  751. package/dist/src/agent/tools/composio-tool.js +0 -261
  752. package/dist/src/agent/tools/curated-memory-tool.d.ts +0 -3
  753. package/dist/src/agent/tools/curated-memory-tool.js +0 -174
  754. package/dist/src/agent/tools/goal-evidence-recorder.d.ts +0 -6
  755. package/dist/src/agent/tools/goal-evidence-recorder.js +0 -32
  756. package/dist/src/agent/tools/goal-tool.d.ts +0 -29
  757. package/dist/src/agent/tools/goal-tool.js +0 -136
  758. package/dist/src/chat-commands/builtins/goal.d.ts +0 -4
  759. package/dist/src/chat-commands/builtins/goal.js +0 -122
  760. package/dist/src/chat-commands/builtins/subgoal.d.ts +0 -4
  761. package/dist/src/chat-commands/builtins/subgoal.js +0 -117
  762. package/dist/src/cli/commands/goal.d.ts +0 -4
  763. package/dist/src/cli/commands/goal.js +0 -235
  764. package/dist/src/discussions/pipeline.d.ts +0 -33
  765. package/dist/src/discussions/pipeline.js +0 -205
  766. package/dist/src/discussions/worker.js +0 -74
  767. package/dist/src/gateway/hono/routes/dreaming.d.ts +0 -3
  768. package/dist/src/gateway/hono/routes/dreaming.js +0 -323
  769. package/dist/src/gateway/hono/routes/execution-receipts.d.ts +0 -3
  770. package/dist/src/gateway/hono/routes/execution-receipts.js +0 -163
  771. package/dist/src/gateway/hono/routes/goals.d.ts +0 -4
  772. package/dist/src/gateway/hono/routes/goals.js +0 -786
  773. package/dist/src/gateway/hono/routes/work.js +0 -207
  774. package/dist/src/goals/goal-notifications.d.ts +0 -31
  775. package/dist/src/goals/goal-notifications.js +0 -157
  776. package/dist/src/goals/goal-queue-store.d.ts +0 -18
  777. package/dist/src/goals/goal-queue-store.js +0 -133
  778. package/dist/src/goals/goal-queue-types.d.ts +0 -42
  779. package/dist/src/goals/goal-queue-types.js +0 -1
  780. package/dist/src/goals/goal-runner.d.ts +0 -17
  781. package/dist/src/goals/goal-runner.js +0 -153
  782. package/dist/src/goals/goal-service.d.ts +0 -87
  783. package/dist/src/goals/goal-service.js +0 -323
  784. package/dist/src/goals/goal-store.d.ts +0 -44
  785. package/dist/src/goals/goal-store.js +0 -472
  786. package/dist/src/goals/goal-workflow-judge.d.ts +0 -13
  787. package/dist/src/goals/goal-workflow-judge.js +0 -145
  788. package/dist/src/goals/index.d.ts +0 -10
  789. package/dist/src/goals/index.js +0 -7
  790. package/dist/src/goals/types.d.ts +0 -136
  791. package/dist/src/goals/types.js +0 -1
  792. package/dist/src/i18n/goals-bundle.d.ts +0 -35
  793. package/dist/src/i18n/goals-bundle.js +0 -61
  794. package/dist/src/i18n/locales/goals.en.js +0 -36
  795. package/dist/src/i18n/locales/goals.zh.js +0 -35
  796. package/dist/src/projects/goal-bind.d.ts +0 -4
  797. package/dist/src/projects/goal-bind.js +0 -38
  798. package/dist/src/session/abort-cutoff.d.ts +0 -6
  799. package/dist/src/session/abort-cutoff.js +0 -8
  800. package/dist/src/storage/sqlite/execution-receipt-repository.d.ts +0 -146
  801. package/dist/src/storage/sqlite/execution-receipt-repository.js +0 -235
  802. package/dist/src/storage/sqlite/memory-index-repository.d.ts +0 -18
  803. package/dist/src/storage/sqlite/memory-index-repository.js +0 -136
  804. package/dist/src/tui/tui-follow-up-queue.d.ts +0 -9
  805. package/dist/src/tui/tui-follow-up-queue.js +0 -16
  806. package/dist/src/work/execution-context.d.ts +0 -16
  807. package/dist/src/work/index.d.ts +0 -14
  808. package/dist/src/work/index.js +0 -15
  809. package/dist/src/work/outcome-contract-definition.d.ts +0 -8
  810. package/dist/src/work/outcome-execution-service.d.ts +0 -27
  811. package/dist/src/work/outcome-execution-service.js +0 -60
  812. package/dist/src/work/outcome-projection-service.d.ts +0 -7
  813. package/dist/src/work/outcome-projection-service.js +0 -51
  814. package/dist/src/work/outcome-receipt-service.d.ts +0 -13
  815. package/dist/src/work/outcome-receipt-service.js +0 -55
  816. package/dist/src/work/outcome-repository.d.ts +0 -50
  817. package/dist/src/work/outcome-repository.js +0 -112
  818. package/dist/src/work/outcome-run-coordinator.js +0 -117
  819. package/dist/src/work/project-operating-view-service.js +0 -46
  820. package/dist/src/work/work-intake-repository.d.ts +0 -49
  821. package/dist/src/work/work-intake-repository.js +0 -97
  822. package/dist/src/work/work-intake-service.d.ts +0 -26
  823. package/dist/src/work/work-intake-service.js +0 -171
  824. package/dist/src/work/work-value-metrics-service.d.ts +0 -4
  825. package/dist/src/work/work-value-metrics-service.js +0 -88
  826. package/dist/src/work-items/agent-context.d.ts +0 -7
  827. package/dist/src/work-items/agent-context.js +0 -73
  828. package/dist/src/work-items/index.d.ts +0 -5
  829. package/dist/src/work-items/index.js +0 -5
  830. package/dist/src/work-items/types.d.ts +0 -112
  831. package/dist/src/work-items/types.js +0 -1
  832. package/dist/src/work-items/work-item-service.d.ts +0 -36
  833. package/dist/src/work-items/work-item-service.js +0 -281
  834. package/dist/src/work-items/work-item-store.d.ts +0 -22
  835. package/dist/src/work-items/work-item-store.js +0 -313
  836. package/dist/src/work-items/work-item-workflow-judge.d.ts +0 -8
  837. package/dist/src/work-items/work-item-workflow-judge.js +0 -48
  838. /package/dist/src/{work → tasks}/project-monitoring-service.d.ts +0 -0
@@ -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;
@@ -1,5 +1,7 @@
1
+ import { buildTaskExecutionDirective } from "../../tasks/task-context-assembler.js";
1
2
  import { resolveImageHandlingStrategy } from "../image/vision-detection.js";
2
3
  import { hydrateUserTurnForLlm } from "../inbound/attachment-pipeline.js";
4
+ import { prependAgentContext } from "../memory/context/planner.js";
3
5
  import { extractAgentUserPlainText } from "../memory/user-message-text.js";
4
6
  import { shouldSkipResetOverlapCommand } from "../../session/reset-triggers.js";
5
7
  import { parseSlashCommand } from "../../chat-commands/command-parse.js";
@@ -74,12 +76,13 @@ async function tryRunSlashCommand(deps, ctx, content, options) {
74
76
  * prefetch + background-review nudge wiring used by every direct entry point.
75
77
  */
76
78
  async function runDirectAgentTurn(deps, input) {
79
+ const turnId = input.runId ?? crypto.randomUUID();
77
80
  const userPlain = extractAgentUserPlainText(input.userMessage);
78
- const userContext = await deps.agentManager.prepareUserTurnContext(input.userMessage, input.sessionKey);
79
- const userMessageForModel = userContext.modelMessage;
81
+ const userContext = await deps.agentManager.prepareUserTurnContext(input.userMessage, input.sessionKey, turnId);
82
+ const userMessageForModel = prependAgentContext(userContext.modelMessage, buildTaskExecutionDirective(input.sessionKey));
80
83
  if (userContext.consentRequests.length > 0) input.onEvent?.({
81
84
  type: "memory_consent_required",
82
- runId: input.runId,
85
+ runId: turnId,
83
86
  requests: userContext.consentRequests
84
87
  });
85
88
  const modelRef = deps.modelManager.getModelForSession(input.sessionKey);
@@ -91,7 +94,7 @@ async function runDirectAgentTurn(deps, input) {
91
94
  const llmImages = [...llmTurn.images, ...sourceImages];
92
95
  const result = await runEmbeddedTurnForSession({
93
96
  sessionKey: input.sessionKey,
94
- runId: input.runId ?? crypto.randomUUID(),
97
+ runId: turnId,
95
98
  userMessage: userMessageForModel,
96
99
  llmImages,
97
100
  sessionStore: deps.sessionStore,
@@ -106,7 +109,7 @@ async function runDirectAgentTurn(deps, input) {
106
109
  const understandingReview = await deps.agentManager.afterAgentTurn(input.sessionKey, userPlain);
107
110
  if (understandingReview?.createdRecords.length) input.onEvent?.({
108
111
  type: "memory_captured",
109
- runId: input.runId,
112
+ runId: turnId,
110
113
  records: understandingReview.createdRecords
111
114
  });
112
115
  deps.agentManager.scheduleBackgroundReviewAfterUserTurn(input.sessionKey);
@@ -36,8 +36,8 @@ export interface ProcessDirectStreamingDeps {
36
36
  commandHandler: Pick<CommandHandler, 'executeCommandAndAggregateReply'>;
37
37
  prepareInboundAttachments: (sessionKey: string, attachments?: DirectStreamInboundAttachment[]) => Promise<MediaRef[] | undefined>;
38
38
  buildTranscriptUserMessage: (content: string, prepared: MediaRef[] | undefined, sessionKey: string) => Promise<TranscriptUserMessage>;
39
- recordPersistentGoalStreamOutcome?: (sessionKey: string, outcome: {
40
- skipPersistentGoalPostTurn: boolean;
39
+ recordTaskReviewStreamHint?: (sessionKey: string, task: {
40
+ skipTaskReview: boolean;
41
41
  }) => void;
42
42
  onTurnComplete?: (sessionKey: string, lastAssistantText?: string) => void;
43
43
  enqueueProvisionalSessionTitle?: (sessionKey: string, userText: string) => void;
@@ -237,7 +237,7 @@ async function* runProcessDirectStreaming(deps, input) {
237
237
  webchatSlashReceipt = text;
238
238
  pushAssistantReceipt(queue, text, input.runId, slashCommandMetadata);
239
239
  } else if (channel === "webchat") {
240
- webchatSlashReceipt = "Command finished with no assistant text. If you used `/goal`, a follow-up turn may still be scheduled automatically.";
240
+ webchatSlashReceipt = "Command finished with no assistant text. An Task continuation may still be scheduled automatically.";
241
241
  pushAssistantReceipt(queue, webchatSlashReceipt, input.runId);
242
242
  }
243
243
  const workflowRun = slash.metadata?.workflowRun;
@@ -350,7 +350,7 @@ async function* runProcessDirectStreaming(deps, input) {
350
350
  sessionKey
351
351
  }, "Failed to persist webchat slash command receipt");
352
352
  }
353
- deps.recordPersistentGoalStreamOutcome?.(sessionKey, { skipPersistentGoalPostTurn: ranSlashCommand });
353
+ deps.recordTaskReviewStreamHint?.(sessionKey, { skipTaskReview: ranSlashCommand });
354
354
  } finally {
355
355
  if (channel === "webchat") deps.unregisterWebchatSsePublisher(sessionKey);
356
356
  deps.endDirectRequestContext();
@@ -9,7 +9,7 @@ import { type AgentSkillAvailabilityPayload, type SkillCatalogEntry, type SkillC
9
9
  import type { SkillMarkdownPreviewPayload } from './skills/types.js';
10
10
  import type { AgentCapabilityCatalogEntry } from './capabilities/index.js';
11
11
  import type { AgentServiceConfig, StreamHandle } from './service.types.js';
12
- import { PersistentGoalService } from './goals/persistent-goal-service.js';
12
+ import { TaskJudgeService } from './tasks/task-judge-service.js';
13
13
  import type { SkillInstallToolOptions, SkillInstallToolResult, MarketplaceSkillInstallToolOptions, MarketplaceSkillInstallToolResult } from './tools/skill-install-tool.js';
14
14
  import { type InboundAttachmentInput, type MediaRef } from '../channels/attachments/inbound-persist.js';
15
15
  export type { AgentServiceConfig, AgentContext, StreamHandle } from './service.types.js';
@@ -27,7 +27,6 @@ export declare class AgentService {
27
27
  private config;
28
28
  private sessionTracker;
29
29
  private modelManager;
30
- private progressManager;
31
30
  private hookHandler;
32
31
  private lifecycleManager;
33
32
  private errorTracker;
@@ -55,12 +54,8 @@ export declare class AgentService {
55
54
  * TUI, CLI, and automations do not need to thread every call through `AgentService`.
56
55
  */
57
56
  readonly turnDispatcher: TurnDispatcher;
58
- /**
59
- * `/goal` runtime: continuation scheduling, persistent-goal API factory,
60
- * stream-outcome state, post-turn verdict. Public so the gateway can wire
61
- * the webchat continuation scheduler and read stream outcomes directly.
62
- */
63
- readonly persistentGoals: PersistentGoalService;
57
+ /** Independent acceptance review for the active Task after an agent turn. */
58
+ readonly taskJudge: TaskJudgeService;
64
59
  /**
65
60
  * Per-session config writes (model / thinking / reasoning / working directory).
66
61
  * Public so REST endpoints and CLI flows can hit it without going through a
@@ -84,12 +79,11 @@ export declare class AgentService {
84
79
  private agentOrchestrator;
85
80
  private agentEventHandler;
86
81
  private workflowProgressBrokerHandle;
87
- private feedbackCoordinator;
88
82
  private agentManager;
89
83
  /**
90
84
  * Unified per-session state container (replaces six ad-hoc Maps). Owns webchat
91
- * publishers, last assistant text, embedded stream buffer, persistent-goal stream
92
- * outcomes, concurrent-turn depth, and event-listener unsubscribers; runs a TTL
85
+ * publishers, last assistant text, embedded stream buffer, Task review stream
86
+ * tasks, concurrent-turn depth, and event-listener unsubscribers; runs a TTL
93
87
  * sweep for slots that have no explicit owner.
94
88
  */
95
89
  private sessionState;
@@ -100,7 +94,6 @@ export declare class AgentService {
100
94
  constructor(bus: MessageBus, config: AgentServiceConfig);
101
95
  private createSessionStore;
102
96
  private createHookRunner;
103
- private createProgressManager;
104
97
  private initializeReliabilityModules;
105
98
  setChannelManager(channelManager: ChannelManager): void;
106
99
  /**
@@ -134,6 +127,7 @@ export declare class AgentService {
134
127
  beginInboundTurn(sessionKey: string): void;
135
128
  endInboundTurn(sessionKey: string): void;
136
129
  getInboundTurnDepth(sessionKey: string): number;
130
+ takeTaskReviewStreamHint(sessionKey: string): import("./session/session-state-bag.js").TaskReviewStreamHint;
137
131
  start(): Promise<void>;
138
132
  stop(): Promise<void>;
139
133
  reconcileDreamingNow(): Promise<void>;
@@ -2,13 +2,14 @@ import { createLogger } from "../utils/logger/index.js";
2
2
  import { init_logger } from "../utils/logger.js";
3
3
  import { parseNoteAttachmentTarget } from "../notes/attachment-ref.js";
4
4
  import { getAgentDefaultModelRef, init_schema } from "../config/schema.js";
5
- import { init_agent_scope, resolveAgentHomeDir, resolveDefaultAgentId } from "./agent-scope.js";
6
- import { init_paths, resolveUserProfilePath } from "../config/paths.js";
7
5
  import { applyConfigOverrides } from "../config/runtime-overrides.js";
6
+ import { init_agent_scope, resolveAgentHomeDir, resolveDefaultAgentId } from "./agent-scope.js";
8
7
  import { extractProfileAgentId } from "../config/agent-profile.js";
8
+ import { init_paths, resolveUserProfilePath } from "../config/paths.js";
9
9
  import { extractTextContent } from "./context/workspace.js";
10
10
  import { effectiveWorkspacePathForSession } from "../session/session-workspace.js";
11
11
  import { getProjectForSession } from "../projects/workspace.js";
12
+ import { resolveResponseLanguageForSession } from "./prompt/response-language.js";
12
13
  import { resolveWorkspaceSkillsDir, resolveWorkspaceSkillsLockPath } from "./skills/workspace-skills-dir.js";
13
14
  import { removeSkillsLockEntry } from "./skills/hub-lock.js";
14
15
  import { installSkillFromZip } from "./skills/managed-store.js";
@@ -28,7 +29,6 @@ import { SessionTracker } from "./session/tracker.js";
28
29
  import { ModelManager } from "./models/manager.js";
29
30
  import "./models/index.js";
30
31
  import { initializeCommands } from "../chat-commands/index.js";
31
- import { ProgressFeedbackManager } from "./lifecycle/progress.js";
32
32
  import { HookHandler } from "./lifecycle/hook-handler.js";
33
33
  import { ToolErrorTracker } from "./tools/error-tracker.js";
34
34
  import { RequestLimiter } from "./models/request-limiter.js";
@@ -61,9 +61,8 @@ import { AgentEventHandler, readChangedPathsFromToolEnd } from "./orchestration/
61
61
  import "./orchestration/index.js";
62
62
  import { getWorkflowProgressBroker } from "./workflow/progress-broker.js";
63
63
  import "./workflow/index.js";
64
- import { FeedbackCoordinator } from "./feedback/feedback-coordinator.js";
65
- import "./feedback/index.js";
66
- import { PersistentGoalService } from "./goals/persistent-goal-service.js";
64
+ import { TaskJudgeService } from "./tasks/task-judge-service.js";
65
+ import { analyzeResponseLanguage } from "../i18n/language-consistency.js";
67
66
  import { existsSync, readFileSync } from "node:fs";
68
67
  import { readFile } from "node:fs/promises";
69
68
  //#region src/agent/service.ts
@@ -96,7 +95,6 @@ var AgentService = class {
96
95
  config;
97
96
  sessionTracker;
98
97
  modelManager;
99
- progressManager;
100
98
  hookHandler;
101
99
  lifecycleManager;
102
100
  errorTracker;
@@ -124,12 +122,8 @@ var AgentService = class {
124
122
  * TUI, CLI, and automations do not need to thread every call through `AgentService`.
125
123
  */
126
124
  turnDispatcher;
127
- /**
128
- * `/goal` runtime: continuation scheduling, persistent-goal API factory,
129
- * stream-outcome state, post-turn verdict. Public so the gateway can wire
130
- * the webchat continuation scheduler and read stream outcomes directly.
131
- */
132
- persistentGoals;
125
+ /** Independent acceptance review for the active Task after an agent turn. */
126
+ taskJudge;
133
127
  /**
134
128
  * Per-session config writes (model / thinking / reasoning / working directory).
135
129
  * Public so REST endpoints and CLI flows can hit it without going through a
@@ -153,12 +147,11 @@ var AgentService = class {
153
147
  agentOrchestrator;
154
148
  agentEventHandler;
155
149
  workflowProgressBrokerHandle = null;
156
- feedbackCoordinator;
157
150
  agentManager;
158
151
  /**
159
152
  * Unified per-session state container (replaces six ad-hoc Maps). Owns webchat
160
- * publishers, last assistant text, embedded stream buffer, persistent-goal stream
161
- * outcomes, concurrent-turn depth, and event-listener unsubscribers; runs a TTL
153
+ * publishers, last assistant text, embedded stream buffer, Task review stream
154
+ * tasks, concurrent-turn depth, and event-listener unsubscribers; runs a TTL
162
155
  * sweep for slots that have no explicit owner.
163
156
  */
164
157
  sessionState = new SessionStateBag();
@@ -216,15 +209,10 @@ var AgentService = class {
216
209
  compactedCount
217
210
  })
218
211
  });
219
- this.progressManager = this.createProgressManager();
220
212
  this.initializeReliabilityModules();
221
213
  this.lifecycleManager = new LifecycleManager();
222
214
  this.streamManager = new StreamManager();
223
215
  this.sessionContextManager = new SessionContextManager();
224
- this.feedbackCoordinator = new FeedbackCoordinator({
225
- progressManager: this.progressManager,
226
- bus
227
- });
228
216
  this.agentManager = new AgentManager({
229
217
  workspace: config.workspace,
230
218
  model: config.model,
@@ -243,8 +231,8 @@ var AgentService = class {
243
231
  getBrowserRecipeService: config.getBrowserRecipeService,
244
232
  getNotesService: config.getNotesService,
245
233
  getProjectService: config.getProjectService,
246
- getWorkItemService: config.getWorkItemService,
247
234
  getLocalAppService: config.getLocalAppService,
235
+ dispatchTaskRuns: config.dispatchTaskRuns,
248
236
  getWorkflowRunService: config.getWorkflowRunService,
249
237
  onSkillsUpdated: config.onSkillsUpdated,
250
238
  installSkillFromSource: (opts) => this.installSkillFromSource(opts),
@@ -253,7 +241,6 @@ var AgentService = class {
253
241
  getSelfVerifyPromptContext: (sessionKey, agentId) => [this.selfVerifyMiddleware.getPendingVerificationContext(sessionKey, agentId), this.turnDiffTracker.buildFinalGuardContext(sessionKey)].filter(Boolean).join("\n\n")
254
242
  });
255
243
  this.agentEventHandler = new AgentEventHandler({
256
- progressManager: this.progressManager,
257
244
  errorTracker: this.errorTracker,
258
245
  requestLimiter: this.requestLimiter,
259
246
  lifecycleManager: this.lifecycleManager,
@@ -270,6 +257,18 @@ var AgentService = class {
270
257
  const changedPaths = readChangedPathsFromToolEnd(e.toolName, e.args, e.result);
271
258
  this.agentManager.markCodeIntelligenceDirty(context.sessionKey, changedPaths);
272
259
  });
260
+ this.agentEventHandler.registerListener("message_end", (event, context) => {
261
+ const message = event.message;
262
+ if (message.role !== "assistant") return;
263
+ const analysis = analyzeResponseLanguage(assistantMessageText(message), resolveResponseLanguageForSession(this.effectiveAppConfig(), context.sessionKey));
264
+ const fields = {
265
+ phase: "response_language_check",
266
+ sessionKey: context.sessionKey,
267
+ ...analysis
268
+ };
269
+ if (analysis.compliant) log.debug(fields, "Assistant response language check passed");
270
+ else log.warn(fields, "Assistant response language did not match the active preference");
271
+ });
273
272
  this.workflowProgressBrokerHandle = getWorkflowProgressBroker().attachTo(this.agentEventHandler);
274
273
  this.sessionHydrator = new SessionHydrator({
275
274
  sessionConfigStore: this.sessionConfigStore,
@@ -281,8 +280,6 @@ var AgentService = class {
281
280
  agentManager: this.agentManager,
282
281
  sessionStore: this.sessionStore,
283
282
  modelManager: this.modelManager,
284
- eventHandler: this.agentEventHandler,
285
- feedbackCoordinator: this.feedbackCoordinator,
286
283
  sessionConfigStore: this.sessionConfigStore,
287
284
  sessionHydrator: this.sessionHydrator,
288
285
  getConfig: () => this.effectiveAppConfig(),
@@ -311,7 +308,6 @@ var AgentService = class {
311
308
  bus,
312
309
  sessionStore: this.sessionStore,
313
310
  sessionConfigStore: this.sessionConfigStore,
314
- getPersistentGoalApisForCommand: (routing) => this.persistentGoals.buildApisForRouting(routing),
315
311
  getWorkflowRunService: config.getWorkflowRunService,
316
312
  applySessionThinkingLevel: (sessionKey, level) => {
317
313
  this.agentManager.setThinkingLevel(sessionKey, level);
@@ -333,16 +329,10 @@ var AgentService = class {
333
329
  getSessionContextReport: (sessionKey, mode) => this.sessionInspector.report(sessionKey, mode)
334
330
  });
335
331
  this.sessionLifecycleManager = new SessionLifecycleManager(this.sessionStore, this.sessionTracker, this.lifecycleManager);
336
- this.persistentGoals = new PersistentGoalService({
337
- bus,
332
+ this.taskJudge = new TaskJudgeService({
338
333
  sessionStore: this.sessionStore,
339
334
  modelManager: this.modelManager,
340
- sessionState: this.sessionState,
341
- getConfig: () => this.effectiveAppConfig(),
342
- getResolvedWorkspaceForSession: (sk) => this.agentManager.getResolvedWorkspaceForSession(sk),
343
- onSessionMetadataUpdated: this.onSessionMetadataUpdated,
344
- onGoalStatusUpdated: config.onGoalStatusUpdated,
345
- notifyWebchatTranscriptAppend: (sk, text) => this.turnDispatcher.notifyWebchatTranscriptAppend(sk, text)
335
+ getConfig: () => this.effectiveAppConfig()
346
336
  });
347
337
  this.sessionConfig = new SessionConfigService({
348
338
  sessionStore: this.sessionStore,
@@ -366,7 +356,7 @@ var AgentService = class {
366
356
  streamManager: this.streamManager,
367
357
  getConfig: () => this.effectiveAppConfig(),
368
358
  getLastAssistantPlainText: (sk) => this.getLastAssistantPlainText(sk),
369
- runPersistentGoalPostTurn: (payload) => this.persistentGoals.runPostTurn(payload)
359
+ reviewTaskTurn: (payload) => this.taskJudge.reviewTurn(payload)
370
360
  });
371
361
  this.turnDispatcher = new TurnDispatcher({
372
362
  log,
@@ -401,7 +391,6 @@ var AgentService = class {
401
391
  messageRouter: this.messageRouter,
402
392
  commandHandler: this.commandHandler,
403
393
  sessionContextManager: this.sessionContextManager,
404
- feedbackCoordinator: this.feedbackCoordinator,
405
394
  agentManager: this.agentManager,
406
395
  sessionLifecycleManager: this.sessionLifecycleManager,
407
396
  agentOrchestrator: this.agentOrchestrator,
@@ -445,16 +434,6 @@ var AgentService = class {
445
434
  }
446
435
  });
447
436
  }
448
- createProgressManager() {
449
- return new ProgressFeedbackManager({
450
- level: "normal",
451
- showThinking: true,
452
- streamToolProgress: true,
453
- heartbeatEnabled: true,
454
- heartbeatIntervalMs: 2e4,
455
- longTaskThresholdMs: 3e4
456
- });
457
- }
458
437
  initializeReliabilityModules() {
459
438
  this.errorTracker = new ToolErrorTracker({
460
439
  maxFailuresPerTool: 3,
@@ -606,11 +585,9 @@ var AgentService = class {
606
585
  }
607
586
  setStreamHandle(handle) {
608
587
  this.streamManager.setHandle(handle);
609
- this.feedbackCoordinator.setStreamHandle(handle);
610
588
  }
611
589
  clearStreamHandle() {
612
590
  this.streamManager.clearHandle();
613
- this.feedbackCoordinator.endTask();
614
591
  }
615
592
  /** Last assistant visible plain text for a session (e.g. after a webchat stream). */
616
593
  getLastAssistantPlainText(sessionKey) {
@@ -625,6 +602,9 @@ var AgentService = class {
625
602
  getInboundTurnDepth(sessionKey) {
626
603
  return this.sessionState.getInboundTurnDepth(sessionKey);
627
604
  }
605
+ takeTaskReviewStreamHint(sessionKey) {
606
+ return this.sessionState.takeTaskReviewStreamHint(sessionKey);
607
+ }
628
608
  async start() {
629
609
  await this.sessionConfigStore.initialize();
630
610
  await this.hookHandler.trigger("gateway_start", {
@@ -714,7 +694,6 @@ var AgentService = class {
714
694
  chatId
715
695
  });
716
696
  this.sessionContextManager.enter(context);
717
- this.feedbackCoordinator.setContext(context);
718
697
  this.agentManager.getOrCreateAgent(sessionKey);
719
698
  this.setupSessionEventHandling(sessionKey);
720
699
  return context;
@@ -741,7 +720,6 @@ var AgentService = class {
741
720
  } });
742
721
  }
743
722
  endDirectRequestContext() {
744
- this.feedbackCoordinator.clearContext();
745
723
  this.contextMiddleware.onResponse();
746
724
  }
747
725
  /**
@@ -762,14 +740,14 @@ var AgentService = class {
762
740
  const { abortEmbeddedRun } = await import("./embedded/runs.js");
763
741
  const { retireSessionMcpRuntimeForSessionKey } = await import("./mcp/bundle-mcp-tools.js");
764
742
  await abortEmbeddedRun(key);
765
- const outcome = await this.sessionStore.reset(key);
766
- if (!outcome) return null;
743
+ const task = await this.sessionStore.reset(key);
744
+ if (!task) return null;
767
745
  this.agentManager.removeAgent(key);
768
746
  await retireSessionMcpRuntimeForSessionKey({
769
747
  sessionKey: key,
770
748
  reason: "session-reset"
771
749
  });
772
- return outcome;
750
+ return task;
773
751
  }
774
752
  /**
775
753
  * Drop in-memory agent so the next turn reloads transcript from disk (e.g. after checkpoint restore).
@@ -5,10 +5,8 @@ import type { AutomationService } from '../automations/index.js';
5
5
  import type { ExtensionRegistryImpl as ExtensionRegistry } from '../extensions/index.js';
6
6
  import type { NotesService } from '../notes/index.js';
7
7
  import type { ProjectService } from '../projects/index.js';
8
- import type { WorkItemService } from '../work-items/index.js';
9
8
  import type { LocalAppService } from '../local-apps/index.js';
10
9
  import type { GatewayClarifyRequestFn } from './tools/clarify-tool.js';
11
- import type { ProgressStage } from './lifecycle/progress.js';
12
10
  import type { AgentSourceContextResolver } from './source-context/types.js';
13
11
  export interface AgentServiceConfig {
14
12
  workspace: string;
@@ -32,30 +30,18 @@ export interface AgentServiceConfig {
32
30
  /** Gateway: exposes first-class xopc product objects for the `xopc_use` tool. */
33
31
  getNotesService?: () => NotesService | undefined;
34
32
  getProjectService?: () => ProjectService | undefined;
35
- getWorkItemService?: () => WorkItemService | undefined;
36
33
  getLocalAppService?: () => LocalAppService | undefined;
34
+ dispatchTaskRuns?: () => void;
37
35
  /**
38
36
  * Gateway: reuse the gateway `SessionManager` store so web API and agent share one index + files.
39
37
  * When omitted, `AgentService` creates its own `SessionStore` (CLI / embedded).
40
38
  */
41
39
  sessionStore?: SessionStore;
42
- /**
43
- * Gateway: invoked after `sessionStore.updateMetadata` from built-in `/goal` APIs (store does not emit).
44
- * Wire to `sessionManager.emit('sessionUpdated', { key })` so the console refetches.
45
- */
46
40
  onSessionMetadataUpdated?: (sessionKey: string, patch?: {
47
41
  name?: string;
48
42
  }) => void;
49
- /** Gateway: transcript JSONL append (goal verdict, slash receipt, background turns). */
43
+ /** Gateway: transcript append notification. */
50
44
  onSessionTranscriptUpdated?: (sessionKey: string) => void;
51
- /** Gateway: durable goal status changed after post-turn judge. */
52
- onGoalStatusUpdated?: (payload: {
53
- goalId: string;
54
- sessionKey: string;
55
- previousStatus: string;
56
- status: string;
57
- goal: import('../goals/types.js').GoalWithDetails;
58
- }) => void;
59
45
  /** Gateway/TUI: local skill catalog changed or skill config toggles changed. */
60
46
  onSkillsUpdated?: (payload: {
61
47
  reason: 'disk' | 'config';
@@ -79,8 +65,6 @@ export interface AgentContext {
79
65
  }
80
66
  export interface StreamHandle {
81
67
  update: (text: string) => void;
82
- updateProgress?: (text: string, stage: ProgressStage, detail?: string) => void;
83
- setProgress?: (stage: ProgressStage, detail?: string) => void;
84
68
  end: () => Promise<void>;
85
69
  abort: () => Promise<void>;
86
70
  messageId: () => number | undefined;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export { SessionContextManager, type SessionContext, } from './session-context.js';
5
5
  export { SessionLifecycleManager, type SessionLifecycleEvents, type SessionStats, } from './session-lifecycle.js';
6
- export { SessionStateBag, type SessionStateBagOptions, type WebchatSsePublisher, type PersistentGoalStreamOutcome, } from './session-state-bag.js';
6
+ export { SessionStateBag, type SessionStateBagOptions, type WebchatSsePublisher, type TaskReviewStreamHint, } from './session-state-bag.js';
7
7
  export { SessionConfigService, type SessionConfigServiceOptions, type PatchSessionAgentConfigInput, type PatchSessionAgentConfigResult, } from './session-config-service.js';
8
8
  export { SessionHydrator, type SessionHydratorOptions, } from './session-hydrator.js';
9
9
  export { SessionInspector, type SessionInspectorOptions, type SessionContextUsage, type SessionAgentConfigView, } from './session-inspector.js';