@xopcai/xopc 0.0.179 → 0.0.187

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (794) hide show
  1. package/README.md +1 -1
  2. package/README.zh-CN.md +1 -1
  3. package/dist/browser-ext/manifest.json +1 -1
  4. package/dist/extensions/telegram/xopc.extension.json +1 -1
  5. package/dist/gateway/static/root/assets/{activity-store-A5FUMjeV.js → activity-store-WlR2zEvA.js} +1 -1
  6. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-NghNiDWx.js → agent-avatar-dicebear-RedDszrG.js} +1 -1
  7. package/dist/gateway/static/root/assets/agents-Df9mTa-K.js +2 -0
  8. package/dist/gateway/static/root/assets/{api-Bmzslx0Z.js → api-tVOllncq.js} +1 -1
  9. package/dist/gateway/static/root/assets/{app-management-settings-panel-DDWS_BBJ.js → app-management-settings-panel-C9hKBzaF.js} +1 -1
  10. package/dist/gateway/static/root/assets/{appearance-settings-C6znvVtX.js → appearance-settings-5cQvq7hd.js} +1 -1
  11. package/dist/gateway/static/root/assets/apps-page-Bd3tN-k2.js +1 -0
  12. package/dist/gateway/static/root/assets/{archive-plugin-fvTZhPUr.js → archive-plugin-Ct-shK4n.js} +1 -1
  13. package/dist/gateway/static/root/assets/{attachment-load-BFEgvg-Q.js → attachment-load-CpPj3m-q.js} +1 -1
  14. package/dist/gateway/static/root/assets/automations-page-w6K9GZQ7.js +6 -0
  15. package/dist/gateway/static/root/assets/{binary-plugins-CuI2bOc7.js → binary-plugins-BpSXZBle.js} +1 -1
  16. package/dist/gateway/static/root/assets/{block-editor-Z_k8W0al.js → block-editor-B8hR2tXc.js} +46 -46
  17. package/dist/gateway/static/root/assets/browser-settings-page-jb5Hf-hm.js +8 -0
  18. package/dist/gateway/static/root/assets/browser-workflow-inputs-D_LAXUrh.js +1 -0
  19. package/dist/gateway/static/root/assets/{browser-workflows-page-Cq5qXStp.js → browser-workflows-page-CPAs7-6s.js} +2 -2
  20. package/dist/gateway/static/root/assets/capabilities-settings-panel-BjUe4raq.js +7 -0
  21. package/dist/gateway/static/root/assets/capability-presets-api-CKklVY2p.js +1 -0
  22. package/dist/gateway/static/root/assets/capability-presets-settings-panel-DiWIMYRr.js +1 -0
  23. package/dist/gateway/static/root/assets/{channel-recipient-api-TwMak0SE.js → channel-recipient-api-WWN-nbFL.js} +1 -1
  24. package/dist/gateway/static/root/assets/channels-settings-D8IkjMuX.js +1 -0
  25. package/dist/gateway/static/root/assets/channels-status-swr-CySs1GQX.js +1 -0
  26. package/dist/gateway/static/root/assets/{connector-logo-DBKotvNr.js → connector-logo-CdNkVFdB.js} +1 -1
  27. package/dist/gateway/static/root/assets/connectors-page-BT2ahw52.js +2 -0
  28. package/dist/gateway/static/root/assets/desktop-pet-Bm_IEAf3.js +1 -0
  29. package/dist/gateway/static/root/assets/{desktop-pet-settings-CyIg2jJp.js → desktop-pet-settings-C0Ve04-G.js} +1 -1
  30. package/dist/gateway/static/root/assets/{directory-picker-path-field-B6fc_7SL.js → directory-picker-path-field-B2cvhvAI.js} +1 -1
  31. package/dist/gateway/static/root/assets/{extension-debug-page-AbRNi2ON.js → extension-debug-page-DNashgGu.js} +1 -1
  32. package/dist/gateway/static/root/assets/{extension-page-ClYfiLXC.js → extension-page-Bvo-5htX.js} +1 -1
  33. package/dist/gateway/static/root/assets/{extension-settings-page-BGVP2hw1.js → extension-settings-page-BBESdISV.js} +1 -1
  34. package/dist/gateway/static/root/assets/{gateway-config-api-B7GqtklK.js → gateway-config-api-ClQvokMo.js} +1 -1
  35. package/dist/gateway/static/root/assets/{gateway-settings-BMeK8igT.js → gateway-settings-CIRs2QVy.js} +1 -1
  36. package/dist/gateway/static/root/assets/{gateway-startup-retry-CKKL96r_.js → gateway-startup-retry-CntXJF6W.js} +1 -1
  37. package/dist/gateway/static/root/assets/heartbeat-settings-CWKcZuvc.js +1 -0
  38. package/dist/gateway/static/root/assets/home-page-C59f8UJw.js +3 -0
  39. package/dist/gateway/static/root/assets/{image-generation-api-BY3VQ5Mv.js → image-generation-api-DjSAQwGy.js} +1 -1
  40. package/dist/gateway/static/root/assets/index-D-YfWVyS.css +1 -0
  41. package/dist/gateway/static/root/assets/index-vi5KlR5_.js +222 -0
  42. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-CELtDFz3.js → keyboard-shortcuts-settings-ahKHpjoW.js} +1 -1
  43. package/dist/gateway/static/root/assets/local-app-workbench-page-DRB4UQBE.js +2 -0
  44. package/dist/gateway/static/root/assets/{local-apps-page-CF5uUd1n.js → local-apps-page-B6GKdgza.js} +1 -1
  45. package/dist/gateway/static/root/assets/{locale-store-DIVc0AQs.js → locale-store-Bff30u5V.js} +1 -1
  46. package/dist/gateway/static/root/assets/logs-page-CNp4XiBN.js +7 -0
  47. package/dist/gateway/static/root/assets/{markdown-split-CN85EdB8.js → markdown-split-BeNMJm_i.js} +1 -1
  48. package/dist/gateway/static/root/assets/{media-plugins-CxYEc-b8.js → media-plugins-Bdzrj_-6.js} +1 -1
  49. package/dist/gateway/static/root/assets/messages-CPxz48hr.js +3 -0
  50. package/dist/gateway/static/root/assets/{notes-page-Goab4781.js → notes-page-MYIi-9S9.js} +1 -1
  51. package/dist/gateway/static/root/assets/notes-workbench-DqSkeDXX.js +4 -0
  52. package/dist/gateway/static/root/assets/{page-tabs-tQNQcAts.js → page-tabs-3t88bbGx.js} +1 -1
  53. package/dist/gateway/static/root/assets/{preview-open-alternatives-BSTlgsDB.js → preview-open-alternatives-Cf_BWbeE.js} +1 -1
  54. package/dist/gateway/static/root/assets/product-delivery-C8JbSj5Y.js +1 -0
  55. package/dist/gateway/static/root/assets/{product-open-page-iQ5gTCip.js → product-open-page-CKq73c98.js} +1 -1
  56. package/dist/gateway/static/root/assets/project-detail-page-BrbHs4Wp.js +1 -0
  57. package/dist/gateway/static/root/assets/projects-page-B80rtkj6.js +1 -0
  58. package/dist/gateway/static/root/assets/remote-access-hub-_Q3GEznb.js +1 -0
  59. package/dist/gateway/static/root/assets/{schema-form-Bbw8l2ri.js → schema-form-NqOm-OG1.js} +1 -1
  60. package/dist/gateway/static/root/assets/sessions-page-55dJOUVg.js +1 -0
  61. package/dist/gateway/static/root/assets/settings-advanced-gate-CSFCZj14.js +1 -0
  62. package/dist/gateway/static/root/assets/{settings-form-section-BqbibcnJ.js → settings-form-section-DYAS8p8z.js} +1 -1
  63. package/dist/gateway/static/root/assets/{settings-loading-skeleton-DNLNCEGT.js → settings-loading-skeleton-DZFhxihA.js} +1 -1
  64. package/dist/gateway/static/root/assets/settings-page-BSIiMLi-.js +1 -0
  65. package/dist/gateway/static/root/assets/{settings-page-layout-Cdb1e2Cz.js → settings-page-layout-DfFfkdED.js} +1 -1
  66. package/dist/gateway/static/root/assets/setup-status-panel-q_yE6-H1.js +1 -0
  67. package/dist/gateway/static/root/assets/{share-preview-page-CkrASny2.js → share-preview-page-CYtrQaZN.js} +1 -1
  68. package/dist/gateway/static/root/assets/shares-settings-gYkRX9Ik.js +1 -0
  69. package/dist/gateway/static/root/assets/skill-reload-api-BoNBMKW6.js +1 -0
  70. package/dist/gateway/static/root/assets/skills-page-GZHKDFSb.js +2 -0
  71. package/dist/gateway/static/root/assets/{skills-page.utils-BG5dGkyA.js → skills-page.utils-BBXirAjc.js} +1 -1
  72. package/dist/gateway/static/root/assets/system-settings-panel-DLf5YvFl.js +1 -0
  73. package/dist/gateway/static/root/assets/task-detail-page-DFGkuYfl.js +1 -0
  74. package/dist/gateway/static/root/assets/{theme-store-DtwI_VLT.js → theme-store-y7e_tvYi.js} +1 -1
  75. package/dist/gateway/static/root/assets/time-picker-5sHEZ5w5.js +1 -0
  76. package/dist/gateway/static/root/assets/{typed-models-lib-DOnpwsrE.js → typed-models-lib-DR12j_dr.js} +1 -1
  77. package/dist/gateway/static/root/assets/use-save-bar-registration-BsvcJgZl.js +1 -0
  78. package/dist/gateway/static/root/assets/user-context-page-q5dr8JFG.js +1 -0
  79. package/dist/gateway/static/root/assets/{voice-api-key-field-DP80jW-W.js → voice-api-key-field-DKADXFWD.js} +1 -1
  80. package/dist/gateway/static/root/assets/work-discovery-overlay-BC1nExf8.js +1 -0
  81. package/dist/gateway/static/root/assets/work-discovery-page-fNvSg40M.js +1 -0
  82. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-BLlVqKdA.js → workflow-run-setup-panel-C8X5W-8k.js} +2 -2
  83. package/dist/gateway/static/root/assets/workflows-page-YJBKmPYK.js +11 -0
  84. package/dist/gateway/static/root/index.html +8 -8
  85. package/dist/package.js +1 -1
  86. package/dist/packages/gateway-contract/src/product-delivery.js +1 -3
  87. package/dist/packages/gateway-contract/src/project-monitoring.js +31 -0
  88. package/dist/packages/gateway-contract/src/task-lifecycle.js +67 -0
  89. package/dist/packages/gateway-contract/src/task-runs.js +80 -0
  90. package/dist/packages/gateway-contract/src/tasks.js +353 -0
  91. package/dist/src/activity/types.d.ts +2 -2
  92. package/dist/src/agent/agent-instance-gateway.d.ts +1 -1
  93. package/dist/src/agent/agent-manager.d.ts +7 -4
  94. package/dist/src/agent/agent-manager.js +38 -23
  95. package/dist/src/agent/child-agent-factory.d.ts +1 -2
  96. package/dist/src/agent/child-agent-factory.js +4 -10
  97. package/dist/src/agent/context/execution-scope.d.ts +2 -2
  98. package/dist/src/agent/context/execution-scope.js +17 -20
  99. package/dist/src/agent/context/project-context.d.ts +6 -2
  100. package/dist/src/agent/context/project-context.js +17 -25
  101. package/dist/src/agent/context/workspace-templates/AGENTS.md +1 -1
  102. package/dist/src/agent/embedded/run-for-session.d.ts +2 -0
  103. package/dist/src/agent/embedded/run-for-session.js +3 -1
  104. package/dist/src/agent/embedded/run-turn.js +2 -0
  105. package/dist/src/agent/embedded/session-tool-result-guard.d.ts +2 -0
  106. package/dist/src/agent/embedded/session-tool-result-guard.js +16 -4
  107. package/dist/src/agent/inbound/inbound-loop.js +1 -1
  108. package/dist/src/agent/inbound/turn-dispatcher.d.ts +6 -1
  109. package/dist/src/agent/inbound/turn-dispatcher.js +6 -3
  110. package/dist/src/agent/lifecycle/progress.js +0 -1
  111. package/dist/src/agent/lifecycle/timeout-wrapper.d.ts +2 -0
  112. package/dist/src/agent/lifecycle/timeout-wrapper.js +39 -9
  113. package/dist/src/agent/mcp/bundle-mcp-materialize.js +2 -2
  114. package/dist/src/agent/mcp/bundle-mcp-policy.d.ts +3 -5
  115. package/dist/src/agent/mcp/bundle-mcp-policy.js +8 -5
  116. package/dist/src/agent/mcp/bundle-mcp-runtime.js +6 -1
  117. package/dist/src/agent/mcp/bundle-mcp-types.d.ts +1 -1
  118. package/dist/src/agent/mcp/index.js +2 -2
  119. package/dist/src/agent/mcp/mcp-transport-config.d.ts +2 -0
  120. package/dist/src/agent/mcp/mcp-transport-config.js +10 -3
  121. package/dist/src/agent/mcp/mcp-transport.d.ts +1 -0
  122. package/dist/src/agent/mcp/mcp-transport.js +5 -2
  123. package/dist/src/agent/mcp/resolve-embedded-mcp-tools.js +5 -6
  124. package/dist/src/agent/memory/builtin-provider.d.ts +1 -5
  125. package/dist/src/agent/memory/builtin-provider.js +75 -229
  126. package/dist/src/agent/memory/compaction.js +1 -1
  127. package/dist/src/agent/memory/context/planner.d.ts +3 -0
  128. package/dist/src/agent/memory/context/planner.js +32 -11
  129. package/dist/src/agent/memory/context/types.d.ts +6 -0
  130. package/dist/src/agent/memory/create-memory-manager.d.ts +1 -2
  131. package/dist/src/agent/memory/create-memory-manager.js +4 -4
  132. package/dist/src/agent/memory/dreaming/config.d.ts +16 -13
  133. package/dist/src/agent/memory/dreaming/config.js +47 -40
  134. package/dist/src/agent/memory/dreaming/constants.d.ts +5 -22
  135. package/dist/src/agent/memory/dreaming/constants.js +6 -24
  136. package/dist/src/agent/memory/dreaming/deep-promotion.d.ts +4 -11
  137. package/dist/src/agent/memory/dreaming/deep-promotion.js +126 -279
  138. package/dist/src/agent/memory/dreaming/light-sweep.d.ts +5 -2
  139. package/dist/src/agent/memory/dreaming/light-sweep.js +79 -197
  140. package/dist/src/agent/memory/dreaming/preview.d.ts +3 -9
  141. package/dist/src/agent/memory/dreaming/preview.js +34 -77
  142. package/dist/src/agent/memory/dreaming/promotion-lifecycle.d.ts +1 -15
  143. package/dist/src/agent/memory/dreaming/promotion-lifecycle.js +3 -42
  144. package/dist/src/agent/memory/dreaming/rem-patterns.d.ts +7 -13
  145. package/dist/src/agent/memory/dreaming/rem-patterns.js +104 -261
  146. package/dist/src/agent/memory/dreaming/runner.d.ts +10 -0
  147. package/dist/src/agent/memory/dreaming/runner.js +78 -0
  148. package/dist/src/agent/memory/dreaming/schedule.d.ts +23 -0
  149. package/dist/src/agent/memory/dreaming/schedule.js +38 -0
  150. package/dist/src/agent/memory/dreaming/scope.d.ts +2 -4
  151. package/dist/src/agent/memory/dreaming/scope.js +21 -13
  152. package/dist/src/agent/memory/dreaming/utils.d.ts +2 -51
  153. package/dist/src/agent/memory/dreaming/utils.js +4 -112
  154. package/dist/src/agent/memory/index.d.ts +1 -3
  155. package/dist/src/agent/memory/index.js +2 -3
  156. package/dist/src/agent/memory/manager.d.ts +1 -5
  157. package/dist/src/agent/memory/manager.js +1 -27
  158. package/dist/src/agent/memory/memory-config.d.ts +1 -6
  159. package/dist/src/agent/memory/memory-config.js +2 -23
  160. package/dist/src/agent/memory/summary-generator.d.ts +1 -1
  161. package/dist/src/agent/memory/types.d.ts +5 -48
  162. package/dist/src/agent/memory/understanding/service.js +1 -2
  163. package/dist/src/agent/memory/user-context-coordinator.d.ts +2 -1
  164. package/dist/src/agent/memory/user-context-coordinator.js +32 -14
  165. package/dist/src/agent/messaging/command-handler.d.ts +1 -9
  166. package/dist/src/agent/messaging/command-handler.js +0 -8
  167. package/dist/src/agent/messaging/outbound-coordinator.d.ts +5 -14
  168. package/dist/src/agent/messaging/outbound-coordinator.js +4 -9
  169. package/dist/src/agent/middleware/index.d.ts +1 -1
  170. package/dist/src/agent/middleware/self-verify.d.ts +2 -2
  171. package/dist/src/agent/middleware/self-verify.js +7 -7
  172. package/dist/src/agent/orchestration/agent-orchestrator.js +16 -66
  173. package/dist/src/agent/orchestration/run-agent-turn-with-timeout.d.ts +1 -1
  174. package/dist/src/agent/orchestration/run-agent-turn-with-timeout.js +6 -2
  175. package/dist/src/agent/prompt/response-language.d.ts +3 -0
  176. package/dist/src/agent/prompt/response-language.js +11 -0
  177. package/dist/src/agent/prompt/sections/behavior.js +2 -2
  178. package/dist/src/agent/prompt/sections/memory-skills.js +10 -13
  179. package/dist/src/agent/prompt/sections/response-language.d.ts +2 -0
  180. package/dist/src/agent/prompt/sections/response-language.js +13 -0
  181. package/dist/src/agent/prompt/sections/tooling.js +0 -2
  182. package/dist/src/agent/prompt/service-prompt-builder.d.ts +1 -1
  183. package/dist/src/agent/prompt/service-prompt-builder.js +6 -29
  184. package/dist/src/agent/prompt/subagent-context.d.ts +2 -0
  185. package/dist/src/agent/prompt/subagent-context.js +1 -0
  186. package/dist/src/agent/prompt/system-prompt.d.ts +3 -0
  187. package/dist/src/agent/prompt/system-prompt.js +10 -2
  188. package/dist/src/agent/service/direct-turn-helpers.d.ts +3 -2
  189. package/dist/src/agent/service/direct-turn-helpers.js +9 -5
  190. package/dist/src/agent/service/process-direct-one-shot.d.ts +3 -0
  191. package/dist/src/agent/service/process-direct-one-shot.js +4 -1
  192. package/dist/src/agent/service/process-direct-streaming.d.ts +2 -2
  193. package/dist/src/agent/service/process-direct-streaming.js +2 -2
  194. package/dist/src/agent/service.d.ts +7 -9
  195. package/dist/src/agent/service.js +32 -23
  196. package/dist/src/agent/service.types.d.ts +2 -15
  197. package/dist/src/agent/session/index.d.ts +1 -1
  198. package/dist/src/agent/session/session-config-service.d.ts +1 -0
  199. package/dist/src/agent/session/session-config-service.js +14 -0
  200. package/dist/src/agent/session/session-state-bag.d.ts +8 -8
  201. package/dist/src/agent/session/session-state-bag.js +10 -10
  202. package/dist/src/agent/skills/config.js +6 -0
  203. package/dist/src/agent/skills/filesystem-watcher.d.ts +4 -0
  204. package/dist/src/agent/skills/filesystem-watcher.js +16 -7
  205. package/dist/src/agent/skills/index.d.ts +10 -7
  206. package/dist/src/agent/skills/index.js +56 -47
  207. package/dist/src/agent/skills/skill-manage-ops.js +1 -1
  208. package/dist/src/agent/skills/skill-manager.d.ts +5 -2
  209. package/dist/src/agent/skills/skill-manager.js +10 -5
  210. package/dist/src/agent/skills/skill-sources.d.ts +18 -0
  211. package/dist/src/agent/skills/skill-sources.js +143 -0
  212. package/dist/src/agent/skills/types.d.ts +25 -2
  213. package/dist/src/agent/source-context/types.d.ts +1 -1
  214. package/dist/src/agent/source-context/types.js +1 -1
  215. package/dist/src/agent/starter-agents.js +1 -1
  216. package/dist/src/agent/{outcomes → tasks}/execution-verifier.d.ts +3 -0
  217. package/dist/src/agent/{outcomes → tasks}/execution-verifier.js +3 -2
  218. package/dist/src/agent/tasks/task-judge-service.d.ts +31 -0
  219. package/dist/src/agent/tasks/task-judge-service.js +183 -0
  220. package/dist/src/agent/tool-manuals/index.js +1 -1
  221. package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -1
  222. package/dist/src/agent/tool-manuals/xopc-use.js +253 -118
  223. package/dist/src/agent/tools/apply-patch.d.ts +1 -5
  224. package/dist/src/agent/tools/apply-patch.js +1 -12
  225. package/dist/src/agent/tools/clarify-tool.js +1 -1
  226. package/dist/src/agent/tools/delegate-tool.js +6 -5
  227. package/dist/src/agent/tools/dreaming-tool.d.ts +0 -1
  228. package/dist/src/agent/tools/dreaming-tool.js +48 -80
  229. package/dist/src/agent/tools/exec-command.d.ts +0 -2
  230. package/dist/src/agent/tools/exec-command.js +2 -19
  231. package/dist/src/agent/tools/executor.d.ts +2 -0
  232. package/dist/src/agent/tools/executor.js +18 -11
  233. package/dist/src/agent/tools/factory.d.ts +2 -4
  234. package/dist/src/agent/tools/factory.js +10 -29
  235. package/dist/src/agent/tools/index.d.ts +1 -2
  236. package/dist/src/agent/tools/index.js +2 -3
  237. package/dist/src/agent/tools/managed-job-tool.d.ts +2 -0
  238. package/dist/src/agent/tools/managed-job-tool.js +160 -0
  239. package/dist/src/agent/tools/memory-tool.d.ts +0 -3
  240. package/dist/src/agent/tools/memory-tool.js +14 -36
  241. package/dist/src/agent/tools/tool-manual-tool.js +1 -1
  242. package/dist/src/agent/tools/workflow-tool.d.ts +1 -1
  243. package/dist/src/agent/tools/workflow-tool.js +4 -4
  244. package/dist/src/agent/tools/write.d.ts +0 -2
  245. package/dist/src/agent/tools/write.js +0 -11
  246. package/dist/src/agent/tools/xopc-use-tool.d.ts +5 -4
  247. package/dist/src/agent/tools/xopc-use-tool.js +987 -143
  248. package/dist/src/agent/transcript/thinking-types.d.ts +3 -0
  249. package/dist/src/agent/workflow/builtins/index.js +2 -2
  250. package/dist/src/agent/workflow/index.js +2 -2
  251. package/dist/src/agent/workflow/subagent-runner.js +1 -0
  252. package/dist/src/agent/workflow/workflow-child-tools.js +0 -3
  253. package/dist/src/agent/workspace-runtime/registry.d.ts +5 -4
  254. package/dist/src/agent/workspace-runtime/registry.js +4 -3
  255. package/dist/src/agent-manifest/index.js +3 -3
  256. package/dist/src/agent-manifest/resolver.d.ts +20 -1
  257. package/dist/src/agent-manifest/resolver.js +47 -20
  258. package/dist/src/agent-manifest/schema.d.ts +128 -52
  259. package/dist/src/agent-manifest/schema.js +46 -8
  260. package/dist/src/agent-runtime/index.js +1 -1
  261. package/dist/src/agent-runtime/memory-runtime.d.ts +2 -2
  262. package/dist/src/agent-runtime/runtime-profile.js +1 -1
  263. package/dist/src/ai-assist/text-assist.js +4 -4
  264. package/dist/src/auth/credentials.d.ts +9 -1
  265. package/dist/src/auth/credentials.js +110 -54
  266. package/dist/src/auth/model-credential-store.js +7 -22
  267. package/dist/src/auth/oauth-provider-lock.d.ts +5 -0
  268. package/dist/src/auth/oauth-provider-lock.js +91 -0
  269. package/dist/src/automations/domain/defaults.d.ts +8 -1
  270. package/dist/src/automations/domain/defaults.js +9 -2
  271. package/dist/src/automations/domain/index.js +2 -2
  272. package/dist/src/automations/domain/types.d.ts +48 -8
  273. package/dist/src/automations/domain/validation.d.ts +344 -12
  274. package/dist/src/automations/domain/validation.js +8 -0
  275. package/dist/src/automations/draft/automation-draft-prompt.js +3 -3
  276. package/dist/src/automations/draft/automation-draft-validator.d.ts +63 -1
  277. package/dist/src/automations/draft/automation-draft-validator.js +1 -0
  278. package/dist/src/automations/index.js +3 -3
  279. package/dist/src/automations/service/action-executor.d.ts +2 -2
  280. package/dist/src/automations/service/action-executor.js +165 -35
  281. package/dist/src/automations/service/automation-service.d.ts +4 -0
  282. package/dist/src/automations/service/automation-service.js +207 -28
  283. package/dist/src/automations/storage/automation-run-repository.d.ts +1 -0
  284. package/dist/src/automations/storage/automation-run-repository.js +37 -7
  285. package/dist/src/automations/storage/index.js +2 -2
  286. package/dist/src/browser/providers/cloakbrowser.js +1 -1
  287. package/dist/src/chat-commands/builtins/understanding.d.ts +1 -0
  288. package/dist/src/chat-commands/builtins/understanding.js +91 -0
  289. package/dist/src/chat-commands/context.d.ts +0 -3
  290. package/dist/src/chat-commands/context.js +0 -2
  291. package/dist/src/chat-commands/index.d.ts +1 -2
  292. package/dist/src/chat-commands/index.js +3 -5
  293. package/dist/src/chat-commands/types.d.ts +0 -3
  294. package/dist/src/cli/command-catalog.js +0 -43
  295. package/dist/src/cli/command-loaders.js +0 -1
  296. package/dist/src/cli/command-manifest.js +0 -4
  297. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  298. package/dist/src/cli/commands/gateway/lifecycle-core.js +1 -1
  299. package/dist/src/cli/commands/gateway/restart-health.d.ts +2 -2
  300. package/dist/src/cli/commands/gateway/restart-health.js +3 -3
  301. package/dist/src/cli/commands/gateway/service.js +4 -4
  302. package/dist/src/cli/commands/onboard/gateway.js +1 -1
  303. package/dist/src/cli/commands/project.js +12 -33
  304. package/dist/src/cli/commands/providers.d.ts +4 -4
  305. package/dist/src/cli/commands/providers.js +16 -16
  306. package/dist/src/cli/commands/search.js +7 -7
  307. package/dist/src/cli/commands/setup-shared/index.d.ts +2 -2
  308. package/dist/src/cli/commands/setup-shared/index.js +2 -2
  309. package/dist/src/cli/commands/setup-shared/output.d.ts +4 -4
  310. package/dist/src/cli/commands/setup-shared/output.js +26 -26
  311. package/dist/src/cli/commands/setup-shared/runner.d.ts +8 -8
  312. package/dist/src/cli/commands/setup-shared/runner.js +9 -9
  313. package/dist/src/cli/commands/setup-shared/types.d.ts +2 -2
  314. package/dist/src/cli/commands/skills.d.ts +7 -0
  315. package/dist/src/cli/commands/skills.js +16 -16
  316. package/dist/src/cli/commands/update.js +1 -1
  317. package/dist/src/cli/commands/voice.d.ts +1 -1
  318. package/dist/src/cli/commands/voice.js +6 -6
  319. package/dist/src/cli/templates.js +1 -1
  320. package/dist/src/cli/utils/oauth-login.js +1 -7
  321. package/dist/src/commands/agents.config.js +2 -18
  322. package/dist/src/config/agent-profile.d.ts +1 -1
  323. package/dist/src/config/agent-profile.js +2 -2
  324. package/dist/src/config/index.js +3 -3
  325. package/dist/src/config/paths.d.ts +0 -3
  326. package/dist/src/config/paths.js +2 -7
  327. package/dist/src/config/schema.d.ts +163 -258
  328. package/dist/src/config/schema.js +10 -115
  329. package/dist/src/config/web-patch.d.ts +0 -29
  330. package/dist/src/config/web-patch.js +2 -69
  331. package/dist/src/connectors/composio-catalog.js +7 -20
  332. package/dist/src/connectors/composio-sessions.js +14 -4
  333. package/dist/src/connectors/composio.d.ts +7 -2
  334. package/dist/src/connectors/composio.js +49 -40
  335. package/dist/src/connectors/connected-source-ingestion.js +2 -1
  336. package/dist/src/connectors/connected-source-normalizers.js +5 -5
  337. package/dist/src/connectors/connector-identity.d.ts +2 -0
  338. package/dist/src/connectors/connector-identity.js +64 -1
  339. package/dist/src/connectors/learning-coordinator.js +34 -15
  340. package/dist/src/connectors/learning-recipes.d.ts +2 -0
  341. package/dist/src/connectors/learning-recipes.js +11 -1
  342. package/dist/src/connectors/source-change-publisher.js +5 -4
  343. package/dist/src/connectors/types.d.ts +16 -0
  344. package/dist/src/daemon/launchd.js +2 -2
  345. package/dist/src/daemon/schtasks.js +1 -1
  346. package/dist/src/daemon/service.js +3 -3
  347. package/dist/src/daemon/systemd.js +1 -1
  348. package/dist/src/daemon/types.d.ts +5 -5
  349. package/dist/src/discussions/analyzer.d.ts +6 -6
  350. package/dist/src/discussions/analyzer.js +32 -22
  351. package/dist/src/discussions/index.d.ts +3 -2
  352. package/dist/src/discussions/index.js +5 -4
  353. package/dist/src/discussions/live-worker.d.ts +5 -3
  354. package/dist/src/discussions/live-worker.js +24 -12
  355. package/dist/src/discussions/{worker.d.ts → organizer-worker.d.ts} +3 -5
  356. package/dist/src/discussions/organizer-worker.js +58 -0
  357. package/dist/src/discussions/organizer.d.ts +22 -0
  358. package/dist/src/discussions/organizer.js +92 -0
  359. package/dist/src/discussions/repository.d.ts +16 -5
  360. package/dist/src/discussions/repository.js +159 -135
  361. package/dist/src/discussions/sealer.d.ts +25 -0
  362. package/dist/src/discussions/sealer.js +116 -0
  363. package/dist/src/discussions/service.d.ts +2 -1
  364. package/dist/src/discussions/service.js +70 -60
  365. package/dist/src/discussions/transcript.js +1 -1
  366. package/dist/src/discussions/types.d.ts +45 -20
  367. package/dist/src/discussions/types.js +4 -2
  368. package/dist/src/extensions/types/core.d.ts +3 -3
  369. package/dist/src/extensions/types/tui.d.ts +2 -2
  370. package/dist/src/extensions/update.d.ts +3 -3
  371. package/dist/src/extensions/update.js +13 -13
  372. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
  373. package/dist/src/gateway/agent-builtin-tools.js +0 -1
  374. package/dist/src/gateway/agent-run-relay.d.ts +1 -1
  375. package/dist/src/gateway/agents-admin.js +16 -18
  376. package/dist/src/gateway/capability-presets-admin.d.ts +13 -0
  377. package/dist/src/gateway/capability-presets-admin.js +59 -2
  378. package/dist/src/gateway/chat-limits.d.ts +6 -2
  379. package/dist/src/gateway/chat-limits.js +17 -3
  380. package/dist/src/gateway/chat-stream/thinking-delta-coalescer.js +3 -3
  381. package/dist/src/gateway/dreaming-automation-reconciler.js +13 -12
  382. package/dist/src/gateway/hono/app.js +9 -10
  383. package/dist/src/gateway/hono/index.d.ts +1 -1
  384. package/dist/src/gateway/hono/index.js +2 -2
  385. package/dist/src/gateway/hono/lib/config-payload.d.ts +15 -35
  386. package/dist/src/gateway/hono/lib/config-payload.js +5 -3
  387. package/dist/src/gateway/hono/middleware/strict-rate-limit.d.ts +4 -0
  388. package/dist/src/gateway/hono/middleware/strict-rate-limit.js +8 -1
  389. package/dist/src/gateway/hono/oauth-async.js +1 -7
  390. package/dist/src/gateway/hono/oauth.js +1 -7
  391. package/dist/src/gateway/hono/routes/activity.js +1 -2
  392. package/dist/src/gateway/hono/routes/agent-stream.js +135 -34
  393. package/dist/src/gateway/hono/routes/capability-presets.js +27 -1
  394. package/dist/src/gateway/hono/routes/composer-history.js +1 -1
  395. package/dist/src/gateway/hono/routes/config-patch/misc.d.ts +1 -1
  396. package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -6
  397. package/dist/src/gateway/hono/routes/connectors.js +35 -30
  398. package/dist/src/gateway/hono/routes/deps.d.ts +1 -0
  399. package/dist/src/gateway/hono/routes/discussions.js +13 -3
  400. package/dist/src/gateway/hono/routes/home.d.ts +1 -1
  401. package/dist/src/gateway/hono/routes/home.js +2 -2
  402. package/dist/src/gateway/hono/routes/index.js +2 -4
  403. package/dist/src/gateway/hono/routes/lazy-bundles.js +0 -16
  404. package/dist/src/gateway/hono/routes/media.js +9 -3
  405. package/dist/src/gateway/hono/routes/memory.js +38 -113
  406. package/dist/src/gateway/hono/routes/projects.js +220 -588
  407. package/dist/src/gateway/hono/routes/public-gateway.js +4 -2
  408. package/dist/src/gateway/hono/routes/{work.d.ts → tasks.d.ts} +1 -1
  409. package/dist/src/gateway/hono/routes/tasks.js +343 -0
  410. package/dist/src/gateway/hono/routes/workflows.js +7 -8
  411. package/dist/src/gateway/hono/routes/you.d.ts +1 -1
  412. package/dist/src/gateway/hono/routes/you.js +250 -78
  413. package/dist/src/gateway/hono/sse.d.ts +1 -16
  414. package/dist/src/gateway/hono/sse.js +4 -161
  415. package/dist/src/gateway/index.js +2 -2
  416. package/dist/src/gateway/rate-limit/buckets.d.ts +3 -0
  417. package/dist/src/gateway/rate-limit/buckets.js +12 -0
  418. package/dist/src/gateway/security/csp.d.ts +2 -0
  419. package/dist/src/gateway/security/csp.js +4 -0
  420. package/dist/src/gateway/service/agent-runner.d.ts +32 -13
  421. package/dist/src/gateway/service/agent-runner.js +97 -46
  422. package/dist/src/gateway/service/run-gateway-agent.d.ts +1 -1
  423. package/dist/src/gateway/service/run-gateway-agent.js +27 -42
  424. package/dist/src/gateway/service/session-input-coordinator.d.ts +59 -0
  425. package/dist/src/gateway/service/session-input-coordinator.js +183 -0
  426. package/dist/src/gateway/service/sessions-api.d.ts +1 -0
  427. package/dist/src/gateway/service.d.ts +28 -16
  428. package/dist/src/gateway/service.js +147 -130
  429. package/dist/src/gateway/session-reset-service.js +6 -6
  430. package/dist/src/gateway/user-turn-input.d.ts +0 -1
  431. package/dist/src/i18n/index.d.ts +0 -1
  432. package/dist/src/i18n/index.js +1 -2
  433. package/dist/src/i18n/language-consistency.d.ts +10 -0
  434. package/dist/src/i18n/language-consistency.js +34 -0
  435. package/dist/src/i18n/response-language.d.ts +8 -0
  436. package/dist/src/i18n/response-language.js +17 -0
  437. package/dist/src/i18n/share-tool-bundle.js +2 -2
  438. package/dist/src/mcp/channel-bridge.js +5 -3
  439. package/dist/src/media/store.js +1 -1
  440. package/dist/src/media/types.d.ts +1 -1
  441. package/dist/src/media/uri.js +1 -2
  442. package/dist/src/media-understanding/runner.d.ts +1 -1
  443. package/dist/src/media-understanding/runner.js +9 -9
  444. package/dist/src/media-understanding/types.d.ts +4 -4
  445. package/dist/src/mobile/notification-service.js +16 -21
  446. package/dist/src/mobile/notification-types.d.ts +2 -2
  447. package/dist/src/notes/service.js +1 -1
  448. package/dist/src/notes/types.d.ts +0 -1
  449. package/dist/src/proactive/events/product-event-bridge.js +17 -14
  450. package/dist/src/proactive/execution/context.js +45 -28
  451. package/dist/src/proactive/execution/insight.js +1 -1
  452. package/dist/src/proactive/temporal/worker.js +2 -2
  453. package/dist/src/projects/index.d.ts +0 -1
  454. package/dist/src/projects/index.js +1 -2
  455. package/dist/src/projects/project-loop.d.ts +16 -8
  456. package/dist/src/projects/project-loop.js +41 -48
  457. package/dist/src/projects/project-service.d.ts +14 -4
  458. package/dist/src/projects/project-service.js +18 -10
  459. package/dist/src/projects/project-store.d.ts +36 -3
  460. package/dist/src/projects/project-store.js +116 -14
  461. package/dist/src/projects/types.d.ts +50 -3
  462. package/dist/src/providers/auth-runtime/oauth.js +12 -0
  463. package/dist/src/providers/model-response.d.ts +4 -0
  464. package/dist/src/providers/model-response.js +28 -0
  465. package/dist/src/session/config-types.d.ts +3 -0
  466. package/dist/src/session/index.d.ts +0 -1
  467. package/dist/src/session/index.js +1 -2
  468. package/dist/src/session/init-session-turn.js +6 -6
  469. package/dist/src/session/store.js +4 -4
  470. package/dist/src/session/types.d.ts +1 -6
  471. package/dist/src/share/site-proxy.js +1 -1
  472. package/dist/src/storage/sqlite/config-repository.js +7 -4
  473. package/dist/src/storage/sqlite/connection.js +1 -1
  474. package/dist/src/storage/sqlite/connector-account-repository.d.ts +12 -0
  475. package/dist/src/storage/sqlite/connector-account-repository.js +143 -0
  476. package/dist/src/storage/sqlite/connector-learning-repository.d.ts +5 -2
  477. package/dist/src/storage/sqlite/connector-learning-repository.js +14 -7
  478. package/dist/src/storage/sqlite/connector-repository.js +12 -3
  479. package/dist/src/storage/sqlite/connector-sync-policy-repository.d.ts +4 -3
  480. package/dist/src/storage/sqlite/connector-sync-policy-repository.js +20 -10
  481. package/dist/src/storage/sqlite/dreaming-repository.d.ts +61 -0
  482. package/dist/src/storage/sqlite/dreaming-repository.js +88 -0
  483. package/dist/src/storage/sqlite/index.d.ts +6 -4
  484. package/dist/src/storage/sqlite/index.js +7 -5
  485. package/dist/src/storage/sqlite/memory-readiness-repository.d.ts +7 -0
  486. package/dist/src/storage/sqlite/memory-readiness-repository.js +30 -0
  487. package/dist/src/storage/sqlite/memory-records-repository.d.ts +31 -26
  488. package/dist/src/storage/sqlite/memory-records-repository.js +109 -138
  489. package/dist/src/storage/sqlite/migrations/088_automation_execution_deadlines.sql +5 -0
  490. package/dist/src/storage/sqlite/migrations/089_automation_run_leases.sql +8 -0
  491. package/dist/src/storage/sqlite/migrations/090_outcome_contract_judgment.sql +2 -0
  492. package/dist/src/storage/sqlite/migrations/091_context_allocation.sql +1 -0
  493. package/dist/src/storage/sqlite/migrations/092_outcome_execution_runtime.sql +88 -0
  494. package/dist/src/storage/sqlite/migrations/093_remove_legacy_goals.sql +174 -0
  495. package/dist/src/storage/sqlite/migrations/094_outcome_judgment_and_authority.sql +3 -0
  496. package/dist/src/storage/sqlite/migrations/095_session_input_queue.sql +35 -0
  497. package/dist/src/storage/sqlite/migrations/096_drop_work_intakes.sql +6 -0
  498. package/dist/src/storage/sqlite/migrations/097_work_item_lifecycle.sql +194 -0
  499. package/dist/src/storage/sqlite/migrations/098_discussion_note_documents.sql +99 -0
  500. package/dist/src/storage/sqlite/migrations/099_task_model.sql +500 -0
  501. package/dist/src/storage/sqlite/migrations/100_project_task_taskrun.sql +763 -0
  502. package/dist/src/storage/sqlite/migrations/101_session_response_language.sql +1 -0
  503. package/dist/src/storage/sqlite/migrations/102_session_user_context_mode.sql +2 -0
  504. package/dist/src/storage/sqlite/migrations/103_finalize_structured_memory.sql +3 -0
  505. package/dist/src/storage/sqlite/migrations/104_turn_memory_feedback.sql +77 -0
  506. package/dist/src/storage/sqlite/migrations/105_dreaming_ledger.sql +34 -0
  507. package/dist/src/storage/sqlite/migrations/106_dreaming_run_reproducibility.sql +2 -0
  508. package/dist/src/storage/sqlite/migrations/107_connector_accounts.sql +146 -0
  509. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  510. package/dist/src/storage/sqlite/migrations/runner.js +37 -5
  511. package/dist/src/storage/sqlite/migrations/runner.ts +44 -3
  512. package/dist/src/storage/sqlite/migrations/types.d.ts +2 -0
  513. package/dist/src/storage/sqlite/migrations/types.ts +2 -0
  514. package/dist/src/storage/sqlite/row-mappers.d.ts +2 -2
  515. package/dist/src/storage/sqlite/row-mappers.js +2 -2
  516. package/dist/src/storage/sqlite/schema.d.ts +3 -1
  517. package/dist/src/storage/sqlite/schema.js +5 -2
  518. package/dist/src/storage/sqlite/schema.sql +76 -61
  519. package/dist/src/storage/sqlite/session-input-repository.d.ts +59 -0
  520. package/dist/src/storage/sqlite/session-input-repository.js +147 -0
  521. package/dist/src/storage/sqlite/session-repository.js +5 -6
  522. package/dist/src/{work → tasks}/attention-governor.d.ts +5 -5
  523. package/dist/src/{work → tasks}/attention-governor.js +3 -4
  524. package/dist/src/tasks/execution-context.d.ts +23 -0
  525. package/dist/src/{work → tasks}/execution-context.js +7 -20
  526. package/dist/src/{work → tasks}/home-query-service.d.ts +43 -26
  527. package/dist/src/{work → tasks}/home-query-service.js +57 -127
  528. package/dist/src/tasks/index.d.ts +20 -0
  529. package/dist/src/tasks/index.js +21 -0
  530. package/dist/src/{work → tasks}/project-monitoring-service.js +1 -1
  531. package/dist/src/{work → tasks}/project-operating-view-service.d.ts +2 -4
  532. package/dist/src/tasks/project-operating-view-service.js +77 -0
  533. package/dist/src/tasks/task-application-service.d.ts +35 -0
  534. package/dist/src/tasks/task-application-service.js +423 -0
  535. package/dist/src/tasks/task-context-assembler.d.ts +36 -0
  536. package/dist/src/tasks/task-context-assembler.js +125 -0
  537. package/dist/src/tasks/task-context-repository.d.ts +52 -0
  538. package/dist/src/tasks/task-context-repository.js +97 -0
  539. package/dist/src/tasks/task-contract-definition.d.ts +10 -0
  540. package/dist/src/{work/outcome-contract-definition.js → tasks/task-contract-definition.js} +7 -5
  541. package/dist/src/tasks/task-contract-planner.d.ts +17 -0
  542. package/dist/src/tasks/task-contract-planner.js +87 -0
  543. package/dist/src/tasks/task-dependency-service.d.ts +21 -0
  544. package/dist/src/tasks/task-dependency-service.js +81 -0
  545. package/dist/src/tasks/task-outbox-dispatcher.d.ts +6 -0
  546. package/dist/src/tasks/task-outbox-dispatcher.js +31 -0
  547. package/dist/src/tasks/task-read-model-projector.d.ts +16 -0
  548. package/dist/src/tasks/task-read-model-projector.js +93 -0
  549. package/dist/src/tasks/task-repository.d.ts +82 -0
  550. package/dist/src/tasks/task-repository.js +185 -0
  551. package/dist/src/{work/outcome-run-coordinator.d.ts → tasks/task-run-coordinator.d.ts} +6 -8
  552. package/dist/src/tasks/task-run-coordinator.js +130 -0
  553. package/dist/src/tasks/task-run-dispatcher.d.ts +11 -0
  554. package/dist/src/tasks/task-run-dispatcher.js +90 -0
  555. package/dist/src/tasks/task-run-repository.d.ts +102 -0
  556. package/dist/src/tasks/task-run-repository.js +312 -0
  557. package/dist/src/tasks/task-signal-service.d.ts +8 -0
  558. package/dist/src/tasks/task-signal-service.js +72 -0
  559. package/dist/src/tasks/task-value-metrics-service.d.ts +4 -0
  560. package/dist/src/tasks/task-value-metrics-service.js +78 -0
  561. package/dist/src/tasks/task-workflow-coordinator.d.ts +5 -0
  562. package/dist/src/tasks/task-workflow-coordinator.js +54 -0
  563. package/dist/src/tui/backends/embedded-backend.d.ts +13 -1
  564. package/dist/src/tui/backends/embedded-backend.js +40 -10
  565. package/dist/src/tui/backends/gateway-sse-backend.d.ts +6 -3
  566. package/dist/src/tui/backends/gateway-sse-backend.js +38 -127
  567. package/dist/src/tui/components/settings-selector.js +0 -20
  568. package/dist/src/tui/components/tui-bottom-bar.d.ts +2 -3
  569. package/dist/src/tui/components/tui-bottom-bar.js +4 -9
  570. package/dist/src/tui/extension-host/runtime-context.js +1 -1
  571. package/dist/src/tui/tui-backend.d.ts +15 -1
  572. package/dist/src/tui/tui-backend.js +10 -1
  573. package/dist/src/tui/tui-command-formatters.js +1 -2
  574. package/dist/src/tui/tui-commands.js +8 -19
  575. package/dist/src/tui/tui-oauth-login.js +1 -7
  576. package/dist/src/tui/tui-picker-overlay.js +1 -0
  577. package/dist/src/tui/tui-picker-services.d.ts +1 -0
  578. package/dist/src/tui/tui-session-actions.js +0 -2
  579. package/dist/src/tui/tui-settings.d.ts +0 -6
  580. package/dist/src/tui/tui-settings.js +0 -10
  581. package/dist/src/tui/tui-skills-autocomplete.d.ts +6 -2
  582. package/dist/src/tui/tui-skills-autocomplete.js +10 -6
  583. package/dist/src/tui/tui-startup-resources.d.ts +3 -1
  584. package/dist/src/tui/tui-startup-resources.js +3 -2
  585. package/dist/src/tui/tui-types.d.ts +1 -4
  586. package/dist/src/tui/tui-types.js +1 -2
  587. package/dist/src/tui/tui.js +92 -72
  588. package/dist/src/tui/xopc-tui-keybindings.d.ts +25 -6
  589. package/dist/src/tui/xopc-tui-keybindings.js +0 -5
  590. package/dist/src/tunnel/frpc-extract.js +1 -1
  591. package/dist/src/user-context/config.d.ts +165 -16
  592. package/dist/src/user-context/config.js +74 -14
  593. package/dist/src/user-context/context-compiler.d.ts +4 -8
  594. package/dist/src/user-context/context-compiler.js +7 -10
  595. package/dist/src/user-context/interaction-state.js +8 -4
  596. package/dist/src/user-context/manual-understanding.d.ts +19 -0
  597. package/dist/src/user-context/manual-understanding.js +69 -0
  598. package/dist/src/user-context/memory-episode-evaluator.d.ts +32 -0
  599. package/dist/src/user-context/memory-episode-evaluator.js +35 -0
  600. package/dist/src/user-context/memory-readiness.d.ts +33 -0
  601. package/dist/src/user-context/memory-readiness.js +41 -0
  602. package/dist/src/user-context/memory-use-audit.js +3 -2
  603. package/dist/src/user-context/projection.d.ts +13 -0
  604. package/dist/src/user-context/projection.js +13 -2
  605. package/dist/src/user-context/relationship-continuity.js +1 -1
  606. package/dist/src/user-context/runtime.d.ts +0 -2
  607. package/dist/src/user-context/runtime.js +1 -10
  608. package/dist/src/user-context/source-recommendations.d.ts +5 -5
  609. package/dist/src/user-context/source-recommendations.js +9 -8
  610. package/dist/src/voice/stt/transcribe-core.js +3 -3
  611. package/dist/src/voice/stt/types.d.ts +2 -2
  612. package/dist/src/voice/tts/speak-core.js +4 -4
  613. package/dist/src/voice/tts/types.d.ts +2 -2
  614. package/dist/src/work-discovery/analyzer.js +5 -5
  615. package/dist/src/work-discovery/service.d.ts +1 -10
  616. package/dist/src/work-discovery/service.js +3 -5
  617. package/dist/src/work-discovery/types.d.ts +1 -1
  618. package/dist/src/workflows/domain/run.d.ts +3 -4
  619. package/dist/src/workflows/draft/workflow-draft-prompt.js +1 -1
  620. package/dist/src/workflows/index.js +1 -1
  621. package/dist/src/workflows/service/workflow-run-service.d.ts +2 -2
  622. package/dist/src/workflows/service/workflow-run-service.js +104 -34
  623. package/dist/src/workflows/service/workflow-run-service.types.d.ts +4 -3
  624. package/dist/src/workflows/service/workflow-session-bridge.js +4 -12
  625. package/dist/src/workflows/store/run-index-store.d.ts +1 -1
  626. package/dist/src/workflows/store/run-index-store.js +10 -8
  627. package/dist/src/workflows/store/run-store.d.ts +1 -1
  628. package/dist/src/workflows/store/run-store.js +2 -2
  629. package/package.json +5 -5
  630. package/dist/gateway/static/root/assets/agents-Baq8Shzy.js +0 -2
  631. package/dist/gateway/static/root/assets/apps-page-d-Y0Jbe1.js +0 -1
  632. package/dist/gateway/static/root/assets/automations-page-CFYOCBlQ.js +0 -6
  633. package/dist/gateway/static/root/assets/browser-settings-page-CGApoYPr.js +0 -8
  634. package/dist/gateway/static/root/assets/browser-workflow-inputs-gs6b5e9-.js +0 -1
  635. package/dist/gateway/static/root/assets/capabilities-settings-panel-BC-8n4Hl.js +0 -7
  636. package/dist/gateway/static/root/assets/capability-presets-api-BTKhPoDC.js +0 -1
  637. package/dist/gateway/static/root/assets/capability-presets-settings-panel-D7WQ0oBN.js +0 -1
  638. package/dist/gateway/static/root/assets/channels-settings-DysELlO_.js +0 -1
  639. package/dist/gateway/static/root/assets/channels-status-swr-BAC-R8IK.js +0 -1
  640. package/dist/gateway/static/root/assets/connectors-page-QH-0WnOo.js +0 -2
  641. package/dist/gateway/static/root/assets/desktop-pet-Dwml8znf.js +0 -1
  642. package/dist/gateway/static/root/assets/dreaming-scene-BHMRVEUS.js +0 -4585
  643. package/dist/gateway/static/root/assets/dreaming-settings-CUQxGnDf.js +0 -3
  644. package/dist/gateway/static/root/assets/format-cron-label-arqgGlVV.js +0 -1
  645. package/dist/gateway/static/root/assets/goals-settings-Dj0ao2qA.js +0 -1
  646. package/dist/gateway/static/root/assets/heartbeat-settings-CTI2nPKa.js +0 -1
  647. package/dist/gateway/static/root/assets/index-B0Tdge_q.css +0 -1
  648. package/dist/gateway/static/root/assets/index-BDzspHrg.js +0 -224
  649. package/dist/gateway/static/root/assets/local-app-workbench-page-m8CTSGix.js +0 -2
  650. package/dist/gateway/static/root/assets/logs-page-DmH7Tk4k.js +0 -7
  651. package/dist/gateway/static/root/assets/messages-DYqBwJAK.js +0 -3
  652. package/dist/gateway/static/root/assets/notes-workbench-C4jDBVBN.js +0 -4
  653. package/dist/gateway/static/root/assets/outcome-detail-page-DNRfeLZp.js +0 -1
  654. package/dist/gateway/static/root/assets/product-delivery-BVG-eWQO.js +0 -1
  655. package/dist/gateway/static/root/assets/project-detail-page-D7anK-eu.js +0 -1
  656. package/dist/gateway/static/root/assets/projects-page-BePESKWy.js +0 -1
  657. package/dist/gateway/static/root/assets/remote-access-hub-CHrzBKIs.js +0 -1
  658. package/dist/gateway/static/root/assets/save-bar-controls-BsPf5Gkk.js +0 -1
  659. package/dist/gateway/static/root/assets/schedule-field-kAytH7mq.js +0 -1
  660. package/dist/gateway/static/root/assets/sessions-page-He5YAczL.js +0 -1
  661. package/dist/gateway/static/root/assets/settings-advanced-gate-2eAC9GCP.js +0 -1
  662. package/dist/gateway/static/root/assets/settings-page-BR6Ss0bK.js +0 -1
  663. package/dist/gateway/static/root/assets/setup-status-panel-moT-D-ia.js +0 -1
  664. package/dist/gateway/static/root/assets/shares-settings-X49zY21H.js +0 -1
  665. package/dist/gateway/static/root/assets/skill-reload-api-CjpnFfOH.js +0 -1
  666. package/dist/gateway/static/root/assets/skills-page-DEwfSOUE.js +0 -2
  667. package/dist/gateway/static/root/assets/system-settings-panel-XdY8eyYf.js +0 -1
  668. package/dist/gateway/static/root/assets/time-picker-UghsQu_I.js +0 -1
  669. package/dist/gateway/static/root/assets/use-channel-catalog-BWDtfNvQ.js +0 -1
  670. package/dist/gateway/static/root/assets/user-context-page-BtNBEtKj.js +0 -1
  671. package/dist/gateway/static/root/assets/work-copy-hQmivDgT.js +0 -1
  672. package/dist/gateway/static/root/assets/work-discovery-page-CkDOVZBr.js +0 -1
  673. package/dist/gateway/static/root/assets/work-item-detail-page-CqvkcFcR.js +0 -1
  674. package/dist/gateway/static/root/assets/work-page-BL8TZW4Z.js +0 -3
  675. package/dist/gateway/static/root/assets/workflows-page-BgsdRu3_.js +0 -11
  676. package/dist/packages/gateway-contract/src/outcomes.js +0 -137
  677. package/dist/packages/gateway-contract/src/work-intake.js +0 -85
  678. package/dist/src/agent/goals/checklist-judge.d.ts +0 -48
  679. package/dist/src/agent/goals/checklist-judge.js +0 -237
  680. package/dist/src/agent/goals/checklist-types.d.ts +0 -21
  681. package/dist/src/agent/goals/checklist-types.js +0 -24
  682. package/dist/src/agent/goals/evaluate-turn.d.ts +0 -29
  683. package/dist/src/agent/goals/evaluate-turn.js +0 -209
  684. package/dist/src/agent/goals/goal-locale.d.ts +0 -26
  685. package/dist/src/agent/goals/goal-locale.js +0 -61
  686. package/dist/src/agent/goals/judge.d.ts +0 -41
  687. package/dist/src/agent/goals/judge.js +0 -176
  688. package/dist/src/agent/goals/persistent-goal-apis.d.ts +0 -15
  689. package/dist/src/agent/goals/persistent-goal-apis.js +0 -1
  690. package/dist/src/agent/goals/persistent-goal-service.d.ts +0 -93
  691. package/dist/src/agent/goals/persistent-goal-service.js +0 -128
  692. package/dist/src/agent/goals/post-turn.d.ts +0 -28
  693. package/dist/src/agent/goals/post-turn.js +0 -187
  694. package/dist/src/agent/goals/state.d.ts +0 -46
  695. package/dist/src/agent/goals/state.js +0 -80
  696. package/dist/src/agent/memory/builtin-memory-store.d.ts +0 -54
  697. package/dist/src/agent/memory/builtin-memory-store.js +0 -315
  698. package/dist/src/agent/memory/dreaming/events.d.ts +0 -36
  699. package/dist/src/agent/memory/dreaming/events.js +0 -42
  700. package/dist/src/agent/memory/dreaming/last-run.d.ts +0 -80
  701. package/dist/src/agent/memory/dreaming/last-run.js +0 -96
  702. package/dist/src/agent/memory/dreaming/short-term-store.d.ts +0 -75
  703. package/dist/src/agent/memory/dreaming/short-term-store.js +0 -273
  704. package/dist/src/agent/outcomes/execution-evaluation.d.ts +0 -20
  705. package/dist/src/agent/outcomes/execution-evaluation.js +0 -48
  706. package/dist/src/agent/prompt/memory/index.d.ts +0 -23
  707. package/dist/src/agent/prompt/memory/index.js +0 -101
  708. package/dist/src/agent/tools/curated-memory-tool.d.ts +0 -3
  709. package/dist/src/agent/tools/curated-memory-tool.js +0 -174
  710. package/dist/src/agent/tools/goal-evidence-recorder.d.ts +0 -6
  711. package/dist/src/agent/tools/goal-evidence-recorder.js +0 -32
  712. package/dist/src/agent/tools/goal-tool.d.ts +0 -29
  713. package/dist/src/agent/tools/goal-tool.js +0 -136
  714. package/dist/src/chat-commands/builtins/goal.d.ts +0 -4
  715. package/dist/src/chat-commands/builtins/goal.js +0 -122
  716. package/dist/src/chat-commands/builtins/subgoal.d.ts +0 -4
  717. package/dist/src/chat-commands/builtins/subgoal.js +0 -117
  718. package/dist/src/cli/commands/goal.d.ts +0 -4
  719. package/dist/src/cli/commands/goal.js +0 -235
  720. package/dist/src/discussions/pipeline.d.ts +0 -33
  721. package/dist/src/discussions/pipeline.js +0 -205
  722. package/dist/src/discussions/worker.js +0 -74
  723. package/dist/src/gateway/hono/routes/dreaming.d.ts +0 -3
  724. package/dist/src/gateway/hono/routes/dreaming.js +0 -323
  725. package/dist/src/gateway/hono/routes/execution-receipts.d.ts +0 -3
  726. package/dist/src/gateway/hono/routes/execution-receipts.js +0 -163
  727. package/dist/src/gateway/hono/routes/goals.d.ts +0 -4
  728. package/dist/src/gateway/hono/routes/goals.js +0 -786
  729. package/dist/src/gateway/hono/routes/work.js +0 -207
  730. package/dist/src/goals/goal-notifications.d.ts +0 -31
  731. package/dist/src/goals/goal-notifications.js +0 -157
  732. package/dist/src/goals/goal-queue-store.d.ts +0 -18
  733. package/dist/src/goals/goal-queue-store.js +0 -133
  734. package/dist/src/goals/goal-queue-types.d.ts +0 -42
  735. package/dist/src/goals/goal-queue-types.js +0 -1
  736. package/dist/src/goals/goal-runner.d.ts +0 -17
  737. package/dist/src/goals/goal-runner.js +0 -153
  738. package/dist/src/goals/goal-service.d.ts +0 -87
  739. package/dist/src/goals/goal-service.js +0 -323
  740. package/dist/src/goals/goal-store.d.ts +0 -44
  741. package/dist/src/goals/goal-store.js +0 -472
  742. package/dist/src/goals/goal-workflow-judge.d.ts +0 -13
  743. package/dist/src/goals/goal-workflow-judge.js +0 -145
  744. package/dist/src/goals/index.d.ts +0 -10
  745. package/dist/src/goals/index.js +0 -7
  746. package/dist/src/goals/types.d.ts +0 -136
  747. package/dist/src/goals/types.js +0 -1
  748. package/dist/src/i18n/goals-bundle.d.ts +0 -35
  749. package/dist/src/i18n/goals-bundle.js +0 -61
  750. package/dist/src/i18n/locales/goals.en.js +0 -36
  751. package/dist/src/i18n/locales/goals.zh.js +0 -35
  752. package/dist/src/projects/goal-bind.d.ts +0 -4
  753. package/dist/src/projects/goal-bind.js +0 -38
  754. package/dist/src/session/abort-cutoff.d.ts +0 -6
  755. package/dist/src/session/abort-cutoff.js +0 -8
  756. package/dist/src/storage/sqlite/execution-receipt-repository.d.ts +0 -146
  757. package/dist/src/storage/sqlite/execution-receipt-repository.js +0 -235
  758. package/dist/src/storage/sqlite/memory-index-repository.d.ts +0 -18
  759. package/dist/src/storage/sqlite/memory-index-repository.js +0 -136
  760. package/dist/src/tui/tui-follow-up-queue.d.ts +0 -9
  761. package/dist/src/tui/tui-follow-up-queue.js +0 -16
  762. package/dist/src/work/execution-context.d.ts +0 -16
  763. package/dist/src/work/index.d.ts +0 -14
  764. package/dist/src/work/index.js +0 -15
  765. package/dist/src/work/outcome-contract-definition.d.ts +0 -8
  766. package/dist/src/work/outcome-execution-service.d.ts +0 -27
  767. package/dist/src/work/outcome-execution-service.js +0 -60
  768. package/dist/src/work/outcome-projection-service.d.ts +0 -7
  769. package/dist/src/work/outcome-projection-service.js +0 -51
  770. package/dist/src/work/outcome-receipt-service.d.ts +0 -13
  771. package/dist/src/work/outcome-receipt-service.js +0 -55
  772. package/dist/src/work/outcome-repository.d.ts +0 -50
  773. package/dist/src/work/outcome-repository.js +0 -112
  774. package/dist/src/work/outcome-run-coordinator.js +0 -117
  775. package/dist/src/work/project-operating-view-service.js +0 -46
  776. package/dist/src/work/work-intake-repository.d.ts +0 -49
  777. package/dist/src/work/work-intake-repository.js +0 -97
  778. package/dist/src/work/work-intake-service.d.ts +0 -26
  779. package/dist/src/work/work-intake-service.js +0 -171
  780. package/dist/src/work/work-value-metrics-service.d.ts +0 -4
  781. package/dist/src/work/work-value-metrics-service.js +0 -88
  782. package/dist/src/work-items/agent-context.d.ts +0 -7
  783. package/dist/src/work-items/agent-context.js +0 -73
  784. package/dist/src/work-items/index.d.ts +0 -5
  785. package/dist/src/work-items/index.js +0 -5
  786. package/dist/src/work-items/types.d.ts +0 -112
  787. package/dist/src/work-items/types.js +0 -1
  788. package/dist/src/work-items/work-item-service.d.ts +0 -36
  789. package/dist/src/work-items/work-item-service.js +0 -281
  790. package/dist/src/work-items/work-item-store.d.ts +0 -22
  791. package/dist/src/work-items/work-item-store.js +0 -313
  792. package/dist/src/work-items/work-item-workflow-judge.d.ts +0 -8
  793. package/dist/src/work-items/work-item-workflow-judge.js +0 -48
  794. /package/dist/src/{work → tasks}/project-monitoring-service.d.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import type { ExportFormat } from '../../session/types.js';
2
2
  import type { SessionTimelineItem } from '../../session/transcript-outline.js';
3
- import type { ChatSendOptions, HistoryMessage, TuiBackend, TuiCompactionResult, TuiComposerHistoryItem, TuiEvent, TuiModelChoice, TuiShareRequest, TuiShareResult, TuiSessionStats, TuiSessionItem, TuiStartupResources, TuiTranscriptTreeEntry, TuiAgentInfo, TuiWorkspaceFileSearchEntry, TuiWorkflowRunStartRequest, TuiWorkflowRunStartResult, TuiStartupProjectResult } from '../tui-backend.js';
3
+ import type { ChatSendOptions, HistoryMessage, TuiBackend, TuiCompactionResult, TuiChatInputState, TuiComposerHistoryItem, TuiEvent, TuiModelChoice, TuiShareRequest, TuiShareResult, TuiSessionStats, TuiSessionItem, TuiStartupResources, TuiTranscriptTreeEntry, TuiAgentInfo, TuiWorkspaceFileSearchEntry, TuiWorkflowRunStartRequest, TuiWorkflowRunStartResult, TuiStartupProjectResult } from '../tui-backend.js';
4
4
  import type { SessionInfo } from '../tui-types.js';
5
5
  import type { ReviewContext } from '../../review/review-git.js';
6
6
  import { type GatewayCredential } from '../../gateway/credential.js';
@@ -12,7 +12,7 @@ export declare function normalizeGatewaySseEvent(evt: TuiEvent): TuiEvent;
12
12
  /**
13
13
  * TUI backend that communicates with a running xopc gateway via HTTP + SSE.
14
14
  *
15
- * - Agent streaming: `POST /api/agent` with `Accept: text/event-stream`
15
+ * - Agent input: durable session input REST plus resumable run SSE
16
16
  * - Broadcast events: `GET /api/events` via long-lived SSE
17
17
  * - REST calls for sessions, models, etc.
18
18
  */
@@ -62,12 +62,15 @@ export declare class GatewaySseBackend implements TuiBackend {
62
62
  }): Promise<{
63
63
  ok: boolean;
64
64
  }>;
65
- steerChat(opts: {
65
+ submitChatInput(opts: {
66
66
  sessionKey: string;
67
67
  message: string;
68
+ delivery: 'next' | 'steer';
68
69
  }): Promise<{
69
70
  ok: boolean;
71
+ effectiveDelivery?: 'next' | 'steer';
70
72
  }>;
73
+ getChatInputState(sessionKey: string): Promise<TuiChatInputState>;
71
74
  getStartupResources(sessionKey: string): Promise<TuiStartupResources>;
72
75
  loadHistory(opts: {
73
76
  sessionKey: string;
@@ -7,6 +7,7 @@ import { gatewayCredentialAuthorization } from "../../gateway/credential.js";
7
7
  import { consumeSSEStream, parseSSEData } from "../sse-consumer.js";
8
8
  import { buildTuiTranscriptTree, transcriptTreeEntryIdToRowNumber } from "../tui-transcript-tree.js";
9
9
  import { computeTuiSessionStats } from "../tui-session-stats.js";
10
+ import crypto from "node:crypto";
10
11
  //#region src/tui/backends/gateway-sse-backend.ts
11
12
  init_logger();
12
13
  const log = createLogger("TUI:GatewaySSE");
@@ -47,7 +48,7 @@ async function gatewayFetch(baseUrl, path, credential, init) {
47
48
  /**
48
49
  * TUI backend that communicates with a running xopc gateway via HTTP + SSE.
49
50
  *
50
- * - Agent streaming: `POST /api/agent` with `Accept: text/event-stream`
51
+ * - Agent input: durable session input REST plus resumable run SSE
51
52
  * - Broadcast events: `GET /api/events` via long-lived SSE
52
53
  * - REST calls for sessions, models, etc.
53
54
  */
@@ -97,127 +98,27 @@ var GatewaySseBackend = class {
97
98
  this.chatAbort?.abort();
98
99
  this.chatAbort = new AbortController();
99
100
  const signal = this.chatAbort.signal;
100
- const runId = crypto.randomUUID();
101
- (async () => {
102
- try {
103
- const res = await gatewayFetch(this.baseUrl, "/api/agent", this.credential, {
104
- method: "POST",
105
- headers: { Accept: "text/event-stream" },
106
- body: JSON.stringify({
107
- message: opts.message.trimStart().startsWith("/") ? opts.message : prependEnvelopeTimestamp(opts.message),
108
- channel: "webchat",
109
- sessionKey: opts.sessionKey,
110
- attachments: opts.attachments,
111
- thinking: opts.thinking
112
- }),
113
- signal
114
- });
115
- if (!res.ok) {
116
- const body = await res.json().catch(() => ({}));
117
- this.onEvent?.({
118
- event: "error",
119
- data: {
120
- type: "error",
121
- runId,
122
- sessionKey: opts.sessionKey,
123
- timestamp: Date.now(),
124
- payload: {
125
- code: "GATEWAY_ERROR",
126
- message: body.error?.message ?? `Gateway error: ${res.status}`
127
- }
128
- },
129
- source: "agent-response"
130
- });
131
- return;
132
- }
133
- if ((res.headers.get("Content-Type") ?? "").includes("text/event-stream") && res.body) await consumeSSEStream(res.body, (sseEvent) => {
134
- if (signal.aborted) return;
135
- const data = parseSSEData(sseEvent.data);
136
- if (!data) return;
137
- this.onEvent?.({
138
- event: sseEvent.event,
139
- data,
140
- source: "agent-response"
141
- });
142
- }, signal);
143
- else {
144
- const json = await res.json();
145
- if (json.ok && json.payload?.content) {
146
- const messageId = `msg_${runId}_1`;
147
- const base = {
148
- runId,
149
- sessionKey: opts.sessionKey,
150
- timestamp: Date.now()
151
- };
152
- this.onEvent?.({
153
- event: "run_start",
154
- data: {
155
- ...base,
156
- type: "run_start",
157
- payload: { channel: "webchat" }
158
- },
159
- source: "agent-response"
160
- });
161
- this.onEvent?.({
162
- event: "assistant_message_start",
163
- data: {
164
- ...base,
165
- type: "assistant_message_start",
166
- payload: { messageId }
167
- },
168
- source: "agent-response"
169
- });
170
- this.onEvent?.({
171
- event: "assistant_delta",
172
- data: {
173
- ...base,
174
- type: "assistant_delta",
175
- payload: {
176
- messageId,
177
- delta: json.payload.content
178
- }
179
- },
180
- source: "agent-response"
181
- });
182
- this.onEvent?.({
183
- event: "assistant_message_end",
184
- data: {
185
- ...base,
186
- type: "assistant_message_end",
187
- payload: { messageId }
188
- },
189
- source: "agent-response"
190
- });
191
- this.onEvent?.({
192
- event: "run_end",
193
- data: {
194
- ...base,
195
- type: "run_end",
196
- payload: { status: "success" }
197
- },
198
- source: "agent-response"
199
- });
200
- }
201
- }
202
- } catch (error) {
203
- if (signal.aborted) return;
204
- const errorMessage = error instanceof Error ? error.message : String(error);
205
- this.onEvent?.({
206
- event: "error",
207
- data: {
208
- type: "error",
209
- runId,
210
- sessionKey: opts.sessionKey,
211
- timestamp: Date.now(),
212
- payload: {
213
- code: "NETWORK_ERROR",
214
- message: errorMessage
215
- }
216
- },
217
- source: "agent-response"
218
- });
219
- }
220
- })();
101
+ const clientMessageId = crypto.randomUUID();
102
+ const res = await gatewayFetch(this.baseUrl, `/api/sessions/${encodeURIComponent(opts.sessionKey)}/inputs`, this.credential, {
103
+ method: "POST",
104
+ body: JSON.stringify({
105
+ clientMessageId,
106
+ delivery: "next",
107
+ content: opts.message.trimStart().startsWith("/") ? opts.message : prependEnvelopeTimestamp(opts.message),
108
+ attachments: opts.attachments,
109
+ thinking: opts.thinking
110
+ }),
111
+ signal
112
+ });
113
+ const json = await res.json().catch(() => null);
114
+ if (!res.ok) throw new Error(json?.error?.message ?? `Gateway error: ${res.status}`);
115
+ const state = json?.payload?.state;
116
+ const own = state?.inputs?.find((input) => input.clientMessageId === clientMessageId);
117
+ const runId = state?.activeRunId ?? crypto.randomUUID();
118
+ if (state?.activeRunId && own?.id === state.activeInputId) this.resumeChat({
119
+ sessionKey: opts.sessionKey,
120
+ runId
121
+ });
221
122
  return { runId };
222
123
  }
223
124
  async searchWorkspaceFiles(sessionKey, query, options) {
@@ -372,21 +273,31 @@ var GatewaySseBackend = class {
372
273
  return { ok: false };
373
274
  }
374
275
  }
375
- async steerChat(opts) {
276
+ async submitChatInput(opts) {
376
277
  try {
377
- const res = await gatewayFetch(this.baseUrl, "/api/agent/steer", this.credential, {
278
+ const res = await gatewayFetch(this.baseUrl, `/api/sessions/${encodeURIComponent(opts.sessionKey)}/inputs`, this.credential, {
378
279
  method: "POST",
379
280
  body: JSON.stringify({
380
- sessionKey: opts.sessionKey,
381
- message: opts.message
281
+ clientMessageId: crypto.randomUUID(),
282
+ delivery: opts.delivery,
283
+ content: opts.message
382
284
  })
383
285
  });
384
286
  if (!res.ok) return { ok: false };
385
- return { ok: (await res.json()).ok === true };
287
+ const json = await res.json();
288
+ return {
289
+ ok: json.ok === true,
290
+ effectiveDelivery: json.payload?.effectiveDelivery
291
+ };
386
292
  } catch {
387
293
  return { ok: false };
388
294
  }
389
295
  }
296
+ async getChatInputState(sessionKey) {
297
+ const res = await gatewayFetch(this.baseUrl, `/api/sessions/${encodeURIComponent(sessionKey)}/input-state`, this.credential);
298
+ if (!res.ok) throw new Error(`Input state failed (${res.status})`);
299
+ return (await res.json()).payload;
300
+ }
390
301
  async getStartupResources(sessionKey) {
391
302
  const empty = {
392
303
  context: [],
@@ -110,20 +110,6 @@ var SettingsSelector = class {
110
110
  "fork"
111
111
  ]
112
112
  },
113
- {
114
- id: "follow-up-mode",
115
- label: "Follow-up mode",
116
- description: "Delivery for queued follow-ups after a response ends",
117
- currentValue: this.state.followUpMode,
118
- values: ["one-at-a-time", "all"]
119
- },
120
- {
121
- id: "steering-mode",
122
- label: "Steering mode",
123
- description: "Delivery for queued Enter-while-busy steering messages",
124
- currentValue: this.state.steeringMode,
125
- values: ["one-at-a-time", "all"]
126
- },
127
113
  {
128
114
  id: "tree-filter-mode",
129
115
  label: "Tree filter",
@@ -211,12 +197,6 @@ var SettingsSelector = class {
211
197
  case "double-escape":
212
198
  this.state.doubleEscapeAction = newValue;
213
199
  break;
214
- case "follow-up-mode":
215
- this.state.followUpMode = newValue;
216
- break;
217
- case "steering-mode":
218
- this.state.steeringMode = newValue;
219
- break;
220
200
  case "tree-filter-mode":
221
201
  this.state.treeFilterMode = newValue;
222
202
  break;
@@ -3,7 +3,7 @@ import type { TuiState } from '../tui-types.js';
3
3
  /** Compact token counts (aligned with pi coding-agent footer). */
4
4
  export declare function formatTokens(count: number): string;
5
5
  export declare function sanitizeStatusText(text: string): string;
6
- export declare function formatQueuedMessageLines(state: TuiState, width: number, dequeueHint: string): string[];
6
+ export declare function formatQueuedMessageLines(state: TuiState, width: number): string[];
7
7
  export declare function formatCwdForFooter(cwd: string, home: string | undefined): string;
8
8
  /**
9
9
  * Multi-line footer below the input editor (pi coding-agent style):
@@ -12,12 +12,11 @@ export declare function formatCwdForFooter(cwd: string, home: string | undefined
12
12
  export declare class TuiBottomBar implements Component {
13
13
  private readonly getState;
14
14
  private readonly getThinkingDefault;
15
- private readonly getDequeueHint;
16
15
  private extensionLines;
17
16
  private extensionComponents;
18
17
  private extensionStatusParts;
19
18
  private customComponent;
20
- constructor(getState: () => TuiState, getThinkingDefault: () => string | undefined, getDequeueHint?: () => string);
19
+ constructor(getState: () => TuiState, getThinkingDefault: () => string | undefined);
21
20
  setExtensionLines(lines: string[]): void;
22
21
  setExtensionComponents(components: Component[]): void;
23
22
  setExtensionStatusParts(parts: string[]): void;
@@ -26,17 +26,14 @@ function formatTokens(count) {
26
26
  function sanitizeStatusText(text) {
27
27
  return text.replace(/[\r\n\t]/g, " ").replace(/ +/g, " ").trim();
28
28
  }
29
- function formatQueuedMessageLines(state, width, dequeueHint) {
29
+ function formatQueuedMessageLines(state, width) {
30
30
  const lines = [];
31
31
  const add = (label, text) => {
32
32
  const sanitized = sanitizeStatusText(text);
33
33
  if (!sanitized) return;
34
34
  lines.push(truncateToWidth(theme.dim(`${label}: ${sanitized}`), width, theme.dim("…")));
35
35
  };
36
- for (const message of state.steeringQueue) add("Steering", message);
37
- for (const message of state.messageFollowUpQueue) add("Follow-up", message);
38
36
  for (const message of state.compactionQueue) add("Queued", message);
39
- if (lines.length > 0) lines.push(truncateToWidth(theme.dim(`↳ ${dequeueHint} to edit all queued messages`), width, theme.dim("…")));
40
37
  return lines;
41
38
  }
42
39
  function formatCwdForFooter(cwd, home) {
@@ -60,10 +57,9 @@ var TuiBottomBar = class {
60
57
  extensionComponents = [];
61
58
  extensionStatusParts = [];
62
59
  customComponent;
63
- constructor(getState, getThinkingDefault, getDequeueHint = () => "Alt+Up") {
60
+ constructor(getState, getThinkingDefault) {
64
61
  this.getState = getState;
65
62
  this.getThinkingDefault = getThinkingDefault;
66
- this.getDequeueHint = getDequeueHint;
67
63
  }
68
64
  setExtensionLines(lines) {
69
65
  this.extensionLines = lines;
@@ -99,8 +95,7 @@ var TuiBottomBar = class {
99
95
  if (ctxLabel) leftParts.push(ctxLabel);
100
96
  if (state.isCompacting) leftParts.push("compact…");
101
97
  else if (state.compactionQueue.length > 0) leftParts.push(`C${state.compactionQueue.length}`);
102
- if (state.messageFollowUpQueue.length > 0) leftParts.push(`Q${state.messageFollowUpQueue.length}`);
103
- if (state.steeringQueue.length > 0) leftParts.push(`S${state.steeringQueue.length}`);
98
+ if (state.pendingInputCount > 0) leftParts.push(`Q${state.pendingInputCount}`);
104
99
  let statsLeft = leftParts.join(" · ");
105
100
  const modelId = state.sessionInfo.model ?? "unknown";
106
101
  const prov = state.sessionInfo.modelProvider;
@@ -133,7 +128,7 @@ var TuiBottomBar = class {
133
128
  const statusLine = this.extensionStatusParts.map((part) => sanitizeStatusText(part)).filter(Boolean).join(" ");
134
129
  if (statusLine) lines.push(truncateToWidth(theme.dim(statusLine), width, theme.dim("…")));
135
130
  }
136
- lines.push(...formatQueuedMessageLines(state, width, this.getDequeueHint()));
131
+ lines.push(...formatQueuedMessageLines(state, width));
137
132
  for (const extLine of this.extensionLines) lines.push(truncateToWidth(theme.dim(sanitizeStatusText(extLine)), width, theme.dim("…")));
138
133
  for (const component of this.extensionComponents) for (const line of component.render(width)) lines.push(truncateToWidth(line, width, theme.dim("…")));
139
134
  return lines;
@@ -85,7 +85,7 @@ function isTuiIdle(state) {
85
85
  return state.activeRunId == null && !state.isCompacting && !BUSY_ACTIVITY_STATUSES.has(state.activityStatus);
86
86
  }
87
87
  function hasPendingTuiMessages(state) {
88
- return (state.messageFollowUpQueue?.length ?? 0) > 0 || (state.steeringQueue?.length ?? 0) > 0 || (state.compactionQueue?.length ?? 0) > 0;
88
+ return (state.pendingInputCount ?? 0) > 0 || (state.compactionQueue?.length ?? 0) > 0;
89
89
  }
90
90
  function getTuiContextUsage(state) {
91
91
  const sessionInfo = state.sessionInfo;
@@ -117,6 +117,15 @@ export interface TuiStartupResources {
117
117
  workflows: string[];
118
118
  connectors: string[];
119
119
  }
120
+ export interface TuiChatInputState {
121
+ sessionKey: string;
122
+ revision: number;
123
+ inputs: Array<{
124
+ id: string;
125
+ status: string;
126
+ }>;
127
+ }
128
+ export declare function countPendingChatInputs(inputs: readonly unknown[]): number;
120
129
  export interface TuiWorkspaceFileSearchEntry {
121
130
  name: string;
122
131
  path: string;
@@ -209,12 +218,15 @@ export interface TuiBackend {
209
218
  ok: boolean;
210
219
  }>;
211
220
  /** Inject steering text into an active run (tool-boundary delivery). */
212
- steerChat(opts: {
221
+ submitChatInput(opts: {
213
222
  sessionKey: string;
214
223
  message: string;
224
+ delivery: 'next' | 'steer';
215
225
  }): Promise<{
216
226
  ok: boolean;
227
+ effectiveDelivery?: 'next' | 'steer';
217
228
  }>;
229
+ getChatInputState(sessionKey: string): Promise<TuiChatInputState>;
218
230
  /** Start a workflow run directly, without routing through the LLM. */
219
231
  startWorkflowRun?(opts: TuiWorkflowRunStartRequest): Promise<TuiWorkflowRunStartResult>;
220
232
  /** Resolve or create the project implied by the TUI launch workspace. */
@@ -226,6 +238,8 @@ export interface TuiBackend {
226
238
  }): Promise<TuiStartupProjectResult>;
227
239
  /** Load startup resources shown in `/start` and initial help. */
228
240
  getStartupResources?(sessionKey: string): Promise<TuiStartupResources>;
241
+ /** Re-evaluate project-scoped resources after a local trust decision changes. */
242
+ refreshWorkspaceTrust?(): void | Promise<void>;
229
243
  /** Fuzzy search files in this session's effective workspace. */
230
244
  searchWorkspaceFiles?(sessionKey: string, query: string, options?: {
231
245
  limit?: number;
@@ -1 +1,10 @@
1
- export {};
1
+ //#region src/tui/tui-backend.ts
2
+ function countPendingChatInputs(inputs) {
3
+ return inputs.filter((input) => {
4
+ if (!input || typeof input !== "object") return false;
5
+ const status = input.status;
6
+ return status === "queued" || status === "interrupted";
7
+ }).length;
8
+ }
9
+ //#endregion
10
+ export { countPendingChatInputs };
@@ -463,8 +463,7 @@ function formatTuiSessionInfo(state, stats) {
463
463
  `Context: ${contextLabel}`,
464
464
  `Tools: ${state.toolsExpanded ? "expanded" : "collapsed"}`,
465
465
  `Thinking Display: ${state.showThinking ? "on" : "off"}`,
466
- `Queue: ${state.messageFollowUpQueue.length}`,
467
- `Steering Queue: ${state.steeringQueue.length}`,
466
+ `Pending Inputs: ${state.pendingInputCount}`,
468
467
  ...formatTuiSessionStatsBlock(stats)
469
468
  ].join("\n");
470
469
  }
@@ -6,12 +6,12 @@ import "../storage/sqlite/index.js";
6
6
  import { resolveConfigPath } from "../config/paths.js";
7
7
  import { loadConfig } from "../config/loader.js";
8
8
  import { init_providers, providerSupportsOAuth } from "../providers/index.js";
9
- import { GoalService } from "../goals/goal-service.js";
10
- import "../goals/index.js";
9
+ import { TaskRepository } from "../tasks/task-repository.js";
11
10
  import { ProjectService } from "../projects/project-service.js";
12
11
  import { isValidProjectAgentId, normalizeProjectAgentId } from "../projects/project-agent.js";
13
12
  import { inferSuggestedProjectDefaultAgentId } from "../projects/project-agent-suggestion.js";
14
13
  import "../projects/index.js";
14
+ import "../tasks/index.js";
15
15
  import { createWorkflowCatalog } from "../agent/workflow/catalog.js";
16
16
  import { normalizeReasoningLevel, normalizeThinkLevel, normalizeVerboseLevel } from "../agent/transcript/thinking-types.js";
17
17
  import { provenanceTracker } from "../extensions/security.js";
@@ -274,7 +274,6 @@ function formatTuiHelpText(isLocal, keybindings, extraSlashCommands = [], skillS
274
274
  const editorExternal = keyLabel(keybindings, "app.editor.external", "Ctrl+G");
275
275
  const suspend = keyLabel(keybindings, "app.suspend", "Ctrl+Z");
276
276
  const followUp = keyLabel(keybindings, "app.message.followUp", "Alt+Enter");
277
- const dequeue = keyLabel(keybindings, "app.message.dequeue", "Alt+Up");
278
277
  const pasteImage = keyLabel(keybindings, "app.clipboard.pasteImage", "Ctrl+V / Alt+V");
279
278
  const clearInput = keyLabel(keybindings, "app.clear", "Ctrl+C");
280
279
  const exit = keyLabel(keybindings, "app.exit", "Ctrl+D");
@@ -310,7 +309,6 @@ function formatTuiHelpText(isLocal, keybindings, extraSlashCommands = [], skillS
310
309
  lines.push(` ${editorExternal} — Edit draft in $EDITOR`);
311
310
  lines.push(` ${suspend} — Suspend to shell (Unix)`);
312
311
  lines.push(` ${followUp} — Queue follow-up while busy (sends when this reply finishes)`);
313
- lines.push(` ${dequeue} — Restore queued messages to editor`);
314
312
  lines.push(" Enter (while busy) — Steer: inject at next tool boundary");
315
313
  lines.push(` ${pasteImage} — Paste image from clipboard`);
316
314
  lines.push(" /settings — Theme, thinking display, terminal progress, …");
@@ -543,7 +541,7 @@ function formatTuiProject(project) {
543
541
  `Default agent: ${project.defaultAgentId ?? "global default"}`,
544
542
  project.workspaceRoot ? `Workspace: ${project.workspaceRoot}` : void 0,
545
543
  project.sessionCount != null ? `Sessions: ${project.sessionCount}` : void 0,
546
- project.goalCount != null ? `Goals: ${project.goalCount} (${project.activeGoalCount ?? 0} active)` : void 0,
544
+ project.taskCount != null ? `Tasks: ${project.taskCount} (${project.activeTaskCount ?? 0} active)` : void 0,
547
545
  project.brief ? `Brief: ${project.brief}` : void 0
548
546
  ].filter(Boolean).join("\n");
549
547
  }
@@ -631,17 +629,14 @@ function runTuiProjectCommand(state, args) {
631
629
  if (!keys.length) return `No sessions in ${project.name}.`;
632
630
  return [`Sessions in ${project.name}:`, ...keys.map((key) => `- ${key}`)].join("\n");
633
631
  }
634
- if (subcommand === "goals") {
632
+ if (subcommand === "tasks") {
635
633
  const ref = parts[1];
636
634
  const currentProjectId = getSessionMetadata(state.currentSessionKey)?.projectId;
637
635
  const project = ref ? resolveTuiProject(projects, ref) : currentProjectId ? projects.get(currentProjectId) : null;
638
636
  if (!project) return ref ? `Project not found: ${ref}` : "No current project.";
639
- const goals = new GoalService().list({
640
- projectId: project.id,
641
- limit: 20
642
- });
643
- if (!goals.length) return `No goals in ${project.name}.`;
644
- return [`Goals in ${project.name}:`, ...goals.map((goal) => `- ${goal.id} [${goal.status}] ${goal.title}`)].join("\n");
637
+ const tasks = new TaskRepository().listByProject(project.id, 20);
638
+ if (!tasks.length) return `No tasks in ${project.name}.`;
639
+ return [`Tasks in ${project.name}:`, ...tasks.map((task) => `- ${task.id} [${task.phase}] ${task.title}`)].join("\n");
645
640
  }
646
641
  return [
647
642
  "Usage:",
@@ -654,7 +649,7 @@ function runTuiProjectCommand(state, args) {
654
649
  " /project set-agent <agent-id>",
655
650
  " /project clear-agent",
656
651
  " /project sessions [id-or-slug]",
657
- " /project goals [id-or-slug]",
652
+ " /project tasks [id-or-slug]",
658
653
  " /project archive <id-or-slug>"
659
654
  ].join("\n");
660
655
  });
@@ -668,8 +663,6 @@ function createTuiCommandHandler(deps) {
668
663
  chatLog.addSystem(`session ${state.currentSessionKey} reset`);
669
664
  } else {
670
665
  chatLog.clearAll();
671
- state.messageFollowUpQueue.length = 0;
672
- state.steeringQueue.length = 0;
673
666
  chatLog.addSystem("Session cleared (reset not available in this mode).");
674
667
  }
675
668
  tui.requestRender();
@@ -1273,8 +1266,6 @@ function createTuiCommandHandler(deps) {
1273
1266
  chatLog.addSystem(`new session: ${state.currentSessionKey}`);
1274
1267
  } else {
1275
1268
  chatLog.clearAll();
1276
- state.messageFollowUpQueue.length = 0;
1277
- state.steeringQueue.length = 0;
1278
1269
  chatLog.addSystem("New session requires gateway or local session support.");
1279
1270
  }
1280
1271
  tui.requestRender();
@@ -1305,8 +1296,6 @@ function createTuiCommandHandler(deps) {
1305
1296
  return;
1306
1297
  case "clear":
1307
1298
  chatLog.clearAll();
1308
- state.messageFollowUpQueue.length = 0;
1309
- state.steeringQueue.length = 0;
1310
1299
  chatLog.addSystem("TUI view cleared. Session transcript was not reset.");
1311
1300
  tui.requestRender();
1312
1301
  return;
@@ -169,13 +169,7 @@ async function runTuiOAuthLogin(provider, deps) {
169
169
  deps,
170
170
  activeCleanups
171
171
  }));
172
- await new CredentialResolver().saveOAuthToken(selectedProvider, {
173
- access: config.provider.getApiKey(credentials),
174
- refresh: credentials.refresh,
175
- expiresAt: credentials.expires,
176
- scope: Array.isArray(credentials.scope) ? credentials.scope.filter((value) => typeof value === "string") : void 0,
177
- createdAt: (/* @__PURE__ */ new Date()).toISOString()
178
- });
172
+ await new CredentialResolver().saveOAuthCredentials(selectedProvider, credentials);
179
173
  deps.chatLog.addSystem(`OAuth login completed for ${selectedProvider}.`);
180
174
  } finally {
181
175
  for (const cleanup of [...activeCleanups]) cleanup();
@@ -611,6 +611,7 @@ function openProjectTrustOverlay(svc) {
611
611
  trustStore.setMany(selected.updates);
612
612
  svc.setProjectTrustSessionDecision(null);
613
613
  } else svc.setProjectTrustSessionDecision(selected.trusted);
614
+ svc.onProjectTrustChanged();
614
615
  svc.closeOverlay();
615
616
  svc.tui.setFocus(svc.editor);
616
617
  const scope = selected.savedPath ? `saved for ${selected.savedPath}` : "this session only";
@@ -50,5 +50,6 @@ export type PickerServices = {
50
50
  getProjectTrustStore: () => ProjectTrustStore;
51
51
  getProjectTrustSessionDecision: () => boolean | null;
52
52
  setProjectTrustSessionDecision: (decision: boolean | null) => void;
53
+ onProjectTrustChanged: () => void;
53
54
  keybindings: KeybindingsManager;
54
55
  };
@@ -32,8 +32,6 @@ function createSessionActions(context) {
32
32
  lastHistoryKeys = [];
33
33
  resetRunStatus(state);
34
34
  state.historyLoaded = false;
35
- state.messageFollowUpQueue.length = 0;
36
- state.steeringQueue.length = 0;
37
35
  };
38
36
  const loadHistory = async (opts) => {
39
37
  try {
@@ -1,7 +1,5 @@
1
1
  export type TuiThemeId = 'auto' | 'dark' | 'light' | (string & {});
2
2
  export type DoubleEscapeAction = 'none' | 'tree' | 'fork';
3
- export type FollowUpMode = 'one-at-a-time' | 'all';
4
- export type SteeringMode = 'one-at-a-time' | 'all';
5
3
  export type TreeFilterMode = 'default' | 'no-tools' | 'user-only' | 'labeled-only' | 'all';
6
4
  export interface TuiSettings {
7
5
  /** `auto` follows terminal background detection; `dark`/`light` or custom theme name. */
@@ -24,10 +22,6 @@ export interface TuiSettings {
24
22
  autocompleteMaxVisible: number;
25
23
  /** Clear empty terminal rows when rendered content shrinks. */
26
24
  clearOnShrink: boolean;
27
- /** How queued follow-up messages are delivered after an agent run ends. */
28
- followUpMode: FollowUpMode;
29
- /** How queued steering messages are delivered across active runs. */
30
- steeringMode: SteeringMode;
31
25
  /** Default transcript filter when opening `/tree`. */
32
26
  treeFilterMode: TreeFilterMode;
33
27
  }
@@ -17,20 +17,12 @@ const DEFAULT_TUI_SETTINGS = {
17
17
  editorPaddingX: 0,
18
18
  autocompleteMaxVisible: 5,
19
19
  clearOnShrink: false,
20
- followUpMode: "one-at-a-time",
21
- steeringMode: "one-at-a-time",
22
20
  treeFilterMode: "default"
23
21
  };
24
22
  const SETTINGS_PATH = join(resolveStateDir(), "tui-settings.json");
25
23
  function isDoubleEscapeAction(value) {
26
24
  return value === "none" || value === "tree" || value === "fork";
27
25
  }
28
- function isFollowUpMode(value) {
29
- return value === "one-at-a-time" || value === "all";
30
- }
31
- function isSteeringMode(value) {
32
- return value === "one-at-a-time" || value === "all";
33
- }
34
26
  function isTreeFilterMode(value) {
35
27
  return value === "default" || value === "no-tools" || value === "user-only" || value === "labeled-only" || value === "all";
36
28
  }
@@ -50,8 +42,6 @@ function normalizeSettings(raw) {
50
42
  if (typeof obj.editorPaddingX === "number" && Number.isFinite(obj.editorPaddingX)) base.editorPaddingX = Math.max(0, Math.min(3, Math.floor(obj.editorPaddingX)));
51
43
  if (typeof obj.autocompleteMaxVisible === "number" && Number.isFinite(obj.autocompleteMaxVisible)) base.autocompleteMaxVisible = Math.max(3, Math.min(20, Math.floor(obj.autocompleteMaxVisible)));
52
44
  if (typeof obj.clearOnShrink === "boolean") base.clearOnShrink = obj.clearOnShrink;
53
- if (isFollowUpMode(obj.followUpMode)) base.followUpMode = obj.followUpMode;
54
- if (isSteeringMode(obj.steeringMode)) base.steeringMode = obj.steeringMode;
55
45
  if (isTreeFilterMode(obj.treeFilterMode)) base.treeFilterMode = obj.treeFilterMode;
56
46
  return base;
57
47
  }
@@ -1,8 +1,12 @@
1
1
  import type { TuiAutocompleteProvider } from '../extensions/types/tui.js';
2
2
  /** `@skill` autocomplete from workspace + global + bundled skill directories. */
3
- export declare function createSkillsAutocompleteProvider(): TuiAutocompleteProvider;
3
+ export declare function createSkillsAutocompleteProvider(options?: {
4
+ isWorkspaceTrusted?: (workspaceDir: string) => boolean;
5
+ }): TuiAutocompleteProvider;
4
6
  /** Test helper — build skill list without caching. */
5
- export declare function listSkillAutocompleteSuggestions(): Array<{
7
+ export declare function listSkillAutocompleteSuggestions(options?: {
8
+ isWorkspaceTrusted?: (workspaceDir: string) => boolean;
9
+ }): Array<{
6
10
  name: string;
7
11
  description?: string;
8
12
  }>;