@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
@@ -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;
@@ -1,5 +1,5 @@
1
1
  import type { TuiToolContentBlock } from './tui-tool-result.js';
2
- export type ToolSummaryKind = 'read' | 'search' | 'exec' | 'mcp' | 'generic';
2
+ export type ToolSummaryKind = 'read' | 'search' | 'exec' | 'generic';
3
3
  export interface ToolSummaryContext {
4
4
  toolName: string;
5
5
  args: unknown;
@@ -14,7 +14,6 @@ export declare function getToolSummaryKind(toolName: string): ToolSummaryKind;
14
14
  export declare function isReadStyleTool(toolName: string): boolean;
15
15
  export declare function isSearchStyleTool(toolName: string): boolean;
16
16
  export declare function isExecStyleTool(toolName: string): boolean;
17
- export declare function isMcpStyleTool(toolName: string): boolean;
18
17
  export declare function displayToolName(toolName: string): string;
19
18
  export declare function compactPath(path: string, maxLength?: number): string;
20
19
  export declare function formatCollapsedToolSummary(ctx: ToolSummaryContext): string;
@@ -20,7 +20,6 @@ function getToolSummaryKind(toolName) {
20
20
  if (isReadStyleTool(toolName)) return "read";
21
21
  if (isSearchStyleTool(toolName)) return "search";
22
22
  if (isExecStyleTool(toolName)) return "exec";
23
- if (isMcpStyleTool(toolName)) return "mcp";
24
23
  return "generic";
25
24
  }
26
25
  function isReadStyleTool(toolName) {
@@ -60,12 +59,7 @@ function isExecStyleTool(toolName) {
60
59
  "terminal"
61
60
  ].includes(base);
62
61
  }
63
- function isMcpStyleTool(toolName) {
64
- return toolName.includes("__");
65
- }
66
62
  function displayToolName(toolName) {
67
- const parts = toolName.split("__");
68
- if (parts.length === 2 && parts[0] && parts[1]) return `${parts[0]}.${parts[1]}`;
69
63
  return toolName;
70
64
  }
71
65
  function compactPath(path, maxLength = MAX_PATH_LABEL_LENGTH) {
@@ -89,7 +83,6 @@ function formatCollapsedToolSummary(ctx) {
89
83
  }
90
84
  case "search": return formatSearchSummary(ctx.output, ctx.expandKey);
91
85
  case "exec": return formatExecSummary(ctx.output, ctx.details, ctx.isError, ctx.expandKey);
92
- case "mcp": return formatMcpSummary(ctx.output, ctx.content, ctx.expandKey);
93
86
  case "generic": return "";
94
87
  }
95
88
  }
@@ -132,7 +125,7 @@ function commandFromArgs(args) {
132
125
  return null;
133
126
  }
134
127
  function baseToolName(toolName) {
135
- return toolName.split(/__|\./).pop()?.toLowerCase() ?? toolName.toLowerCase();
128
+ return toolName.split(".").pop()?.toLowerCase() ?? toolName.toLowerCase();
136
129
  }
137
130
  function firstFiniteNumber(...values) {
138
131
  for (const value of values) {
@@ -176,15 +169,6 @@ function formatExecSummary(output, details, isError, expandKey) {
176
169
  const rows = nonBlankLines([parsed.stdout, parsed.stderr].filter(Boolean).join("\n") || output).length;
177
170
  return `${parsed.exitCode === void 0 ? isError ? "failed" : "completed" : `exit ${parsed.exitCode}`}; ${rows === 1 ? "1 output line" : `${rows} output lines`}; ${expandKey} to expand`;
178
171
  }
179
- function formatMcpSummary(output, content, expandKey) {
180
- if (content?.length) {
181
- const counts = /* @__PURE__ */ new Map();
182
- for (const block of content) counts.set(block.type, (counts.get(block.type) ?? 0) + 1);
183
- return `${[...counts.entries()].map(([type, count]) => `${count} ${type}`).join(", ")}; ${expandKey} to expand`;
184
- }
185
- const rows = nonBlankLines(output).length;
186
- return `${rows === 1 ? "1 result line" : `${rows} result lines`}; ${expandKey} to expand`;
187
- }
188
172
  function parseExecDetails(details) {
189
173
  if (!details || typeof details !== "object") return {};
190
174
  const record = details;
@@ -213,4 +197,4 @@ function extractResultPath(line) {
213
197
  return null;
214
198
  }
215
199
  //#endregion
216
- export { compactPath, displayToolName, extractExitCode, formatArgsSummary, formatCollapsedToolSummary, formatExecExpandedOutput, getToolSummaryKind, isExecStyleTool, isMcpStyleTool, isReadStyleTool, isSearchStyleTool };
200
+ export { compactPath, displayToolName, extractExitCode, formatArgsSummary, formatCollapsedToolSummary, formatExecExpandedOutput, getToolSummaryKind, isExecStyleTool, isReadStyleTool, isSearchStyleTool };
@@ -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. */
@@ -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;
@@ -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,6 +1,6 @@
1
1
  import { resolveStateDir } from "../config/paths-state.js";
2
- import { init_paths, resolveAgentProfileDir, resolveBundledSkillsDir, resolveUserProfilePath } from "../config/paths.js";
3
2
  import { resolveEffectiveAgentProfileForSession } from "../config/agent-profile.js";
3
+ import { init_paths, resolveAgentProfileDir, resolveBundledSkillsDir, resolveUserProfilePath } from "../config/paths.js";
4
4
  import { resolveBootstrapFilesSync } from "../agent/bootstrap/bootstrap-files.js";
5
5
  import { createSkillConfigManager, isSkillEnabled } from "../agent/skills/config.js";
6
6
  import { loadSkills } from "../agent/skills/index.js";
@@ -81,10 +81,7 @@ export interface TuiState {
81
81
  /** Last Ctrl+C timestamp for double-press exit (see `resolveCtrlCAction`). */
82
82
  lastCtrlCAt: number;
83
83
  exitRequested: boolean;
84
- /** Queued via Alt+Enter while a run is active; flushed FIFO when the run ends. */
85
- messageFollowUpQueue: string[];
86
- /** Queued Enter-while-busy steering messages after the first in-flight steer. */
87
- steeringQueue: string[];
84
+ pendingInputCount: number;
88
85
  /** Ctrl+P cycle filter; `null` = all models from catalog. */
89
86
  scopedModelRefs: string[] | null;
90
87
  /** Last Escape timestamp for double-press actions. */
@@ -25,8 +25,7 @@ function createInitialState(sessionKey) {
25
25
  showThinking: false,
26
26
  lastCtrlCAt: 0,
27
27
  exitRequested: false,
28
- messageFollowUpQueue: [],
29
- steeringQueue: [],
28
+ pendingInputCount: 0,
30
29
  scopedModelRefs: null,
31
30
  lastEscapeAt: 0,
32
31
  progressMessage: null,