@xopcai/xopc 0.0.409 → 0.0.411

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 (703) hide show
  1. package/README.md +12 -6
  2. package/README.zh-CN.md +12 -6
  3. package/dist/browser-ext/dist/assets/{page-context-A5RCibM_.js → page-context-MuzjMBlJ.js} +1 -1
  4. package/dist/browser-ext/dist/background.js +1 -1
  5. package/dist/browser-ext/dist/sidepanel.html +1 -1
  6. package/dist/browser-ext/dist/sidepanel.js +1 -1
  7. package/dist/browser-ext/manifest.json +1 -1
  8. package/dist/extensions/feishu/src/adapters/gateway-setup.js +9 -3
  9. package/dist/extensions/feishu/src/plugin.d.ts +0 -3
  10. package/dist/extensions/feishu/src/plugin.js +1 -11
  11. package/dist/extensions/feishu/src/schema/config-schema.d.ts +0 -2
  12. package/dist/extensions/feishu/src/schema/config-schema.js +9 -21
  13. package/dist/extensions/feishu/src/state/accounts.js +3 -7
  14. package/dist/extensions/telegram/src/plugin.d.ts +0 -3
  15. package/dist/extensions/telegram/src/plugin.js +0 -9
  16. package/dist/extensions/telegram/xopc.extension.json +1 -1
  17. package/dist/extensions/weixin/src/plugin.d.ts +0 -3
  18. package/dist/extensions/weixin/src/plugin.js +1 -12
  19. package/dist/gateway/static/root/assets/agent-avatar-dicebear-sGJnq-SA.js +1 -0
  20. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-BI7OTo-T.js +1 -0
  21. package/dist/gateway/static/root/assets/agents-RIXL0p7_.js +77 -0
  22. package/dist/gateway/static/root/assets/{agents-admin-api-D0UyB0Y_.js → agents-admin-api-uGDeJR1f.js} +1 -1
  23. package/dist/gateway/static/root/assets/app-management-settings-panel-BGzhSS6H.js +1 -0
  24. package/dist/gateway/static/root/assets/{appearance-settings-Dzhmj_ZO.js → appearance-settings-DtEZq4b2.js} +1 -1
  25. package/dist/gateway/static/root/assets/apps-page-DZqBof2D.js +1 -0
  26. package/dist/gateway/static/root/assets/{archive-plugin-D4r4P5uG.js → archive-plugin-CGdU_E5B.js} +1 -1
  27. package/dist/gateway/static/root/assets/{automation-display-DCkjVzA0.js → automation-display-BFN7zWBg.js} +1 -1
  28. package/dist/gateway/static/root/assets/{automations-page-BlNe3DXU.js → automations-page-BAPZY56r.js} +1 -1
  29. package/dist/gateway/static/root/assets/automations-workspace-CI-yQnSj.js +8 -0
  30. package/dist/gateway/static/root/assets/{binary-plugins-DuN5L6lm.js → binary-plugins-B0ispXo2.js} +1 -1
  31. package/dist/gateway/static/root/assets/{block-editor-DUSVn51h.js → block-editor-B9Ci-prO.js} +40 -40
  32. package/dist/gateway/static/root/assets/{browser-automation-inputs-D8bZ9iz2.js → browser-automation-inputs-D4-vQc4g.js} +1 -1
  33. package/dist/gateway/static/root/assets/browser-automations-page-Xzdif447.js +3 -0
  34. package/dist/gateway/static/root/assets/browser-settings-page-Bhu-83eC.js +3 -0
  35. package/dist/gateway/static/root/assets/capabilities-B9b5KCBb.js +1 -0
  36. package/dist/gateway/static/root/assets/capabilities-page-BIc0Zlsw.js +2 -0
  37. package/dist/gateway/static/root/assets/capabilities-settings-panel-CQEfpLdj.js +8 -0
  38. package/dist/gateway/static/root/assets/{capability-header-actions-oBPqUlbj.js → capability-header-actions-Cic05oWh.js} +1 -1
  39. package/dist/gateway/static/root/assets/channels-DQbEoo_o.js +1 -0
  40. package/dist/gateway/static/root/assets/{chat-terminal-dock-BLs3NaOP.js → chat-terminal-dock-Bm-IGeDe.js} +2 -2
  41. package/dist/gateway/static/root/assets/{chunk-KS7C4IRE-B2HK1psj.js → chunk-KS7C4IRE-BvcCCgTW.js} +2 -2
  42. package/dist/gateway/static/root/assets/computer-settings-page-C9xMfwXK.js +1 -0
  43. package/dist/gateway/static/root/assets/connector-service-page-DcdASUU9.js +1 -0
  44. package/dist/gateway/static/root/assets/connectors-page-eh-xpMPK.js +1 -0
  45. package/dist/gateway/static/root/assets/date-formatters-DukWSVwc.js +1 -0
  46. package/dist/gateway/static/root/assets/{date-picker-DVlbwrYg.js → date-picker-gVLWu9R0.js} +1 -1
  47. package/dist/gateway/static/root/assets/dependency-picker-C0LARyok.js +1 -0
  48. package/dist/gateway/static/root/assets/desktop-pet-settings-B_-j-D4W.js +1 -0
  49. package/dist/gateway/static/root/assets/desktop-pet-v_le3sCs.js +1 -0
  50. package/dist/gateway/static/root/assets/device-pairing-wizard-CxG_FcQ6.js +1 -0
  51. package/dist/gateway/static/root/assets/{directory-picker-path-field-QZ0p-uNa.js → directory-picker-path-field-CBefVUPR.js} +1 -1
  52. package/dist/gateway/static/root/assets/electron-env-Dit0bHgy.js +1 -0
  53. package/dist/gateway/static/root/assets/{extension-debug-page-DoVPUHu_.js → extension-debug-page-CTe7Molh.js} +1 -1
  54. package/dist/gateway/static/root/assets/{extension-page-BNe8n3iJ.js → extension-page-C0-oP7S_.js} +1 -1
  55. package/dist/gateway/static/root/assets/{extension-settings-page-DxNpjGJD.js → extension-settings-page-DYJmgMUg.js} +1 -1
  56. package/dist/gateway/static/root/assets/files-Bw4SBGdM.js +1 -0
  57. package/dist/gateway/static/root/assets/{gateway-config-swr-CTXr917C.js → gateway-config-swr-BVqYVaGy.js} +1 -1
  58. package/dist/gateway/static/root/assets/gateway-realtime-CY1LBGBS.js +1 -0
  59. package/dist/gateway/static/root/assets/gateway-realtime-store-Dafw95ol.js +1 -0
  60. package/dist/gateway/static/root/assets/gateway-settings-C13P4lQd.js +1 -0
  61. package/dist/gateway/static/root/assets/{gateway-startup-retry-DD2fsxdd.js → gateway-startup-retry-CPKGkr6D.js} +1 -1
  62. package/dist/gateway/static/root/assets/highlight-code-CslBKXdS.js +1 -0
  63. package/dist/gateway/static/root/assets/{highlighted-body-KQOG7T2V-DrZq5KTj.js → highlighted-body-KQOG7T2V-CN5PNRN3.js} +1 -1
  64. package/dist/gateway/static/root/assets/home-page-B_XrkGmA.js +2 -0
  65. package/dist/gateway/static/root/assets/image-generation-api-DRLXG9Ws.js +1 -0
  66. package/dist/gateway/static/root/assets/imports-page--cuF5vwU.js +1 -0
  67. package/dist/gateway/static/root/assets/index-6YjAt50A.js +710 -0
  68. package/dist/gateway/static/root/assets/index-caRW34rg.css +1 -0
  69. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-5g2PxgBs.js +1 -0
  70. package/dist/gateway/static/root/assets/languages-byq_L2Ae.js +2 -0
  71. package/dist/gateway/static/root/assets/local-app-workbench-page-B6U1HQpp.js +1 -0
  72. package/dist/gateway/static/root/assets/local-apps-page-BChE6nUD.js +1 -0
  73. package/dist/gateway/static/root/assets/{local-session-drafts-TqLFKwYo.js → local-session-drafts-BCaC-1rH.js} +1 -1
  74. package/dist/gateway/static/root/assets/locale-store-DAgpZxAS.js +1 -0
  75. package/dist/gateway/static/root/assets/logs-page-B9mq03SK.js +2 -0
  76. package/dist/gateway/static/root/assets/management-settings-2W_qJsha.js +1 -0
  77. package/dist/gateway/static/root/assets/markdown-editor-phTQ0mox.js +1 -0
  78. package/dist/gateway/static/root/assets/{media-plugins-s6EqtAUQ.js → media-plugins-BmLuWkkZ.js} +1 -1
  79. package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-61Il2HQR.js +1 -0
  80. package/dist/gateway/static/root/assets/messages-DMXSIJUO.js +3 -0
  81. package/dist/gateway/static/root/assets/note-detail-panel-C4gZsNBL.js +5 -0
  82. package/dist/gateway/static/root/assets/note-image-lightbox-XqJIaaRV.js +1 -0
  83. package/dist/gateway/static/root/assets/notes-page-Chdwrjni.js +8 -0
  84. package/dist/gateway/static/root/assets/page-context-capture-button-B7rDRlS7.js +1 -0
  85. package/dist/gateway/static/root/assets/personal-page-mQl9BftY.js +1 -0
  86. package/dist/gateway/static/root/assets/personal-settings-panel-BgcJLmZN.js +1 -0
  87. package/dist/gateway/static/root/assets/plugin-details-dialog-FvwSxZPB.js +1 -0
  88. package/dist/gateway/static/root/assets/preview-open-alternatives-Z4NM7_Dn.js +1 -0
  89. package/dist/gateway/static/root/assets/product-delivery-BqNm-8S5.js +1 -0
  90. package/dist/gateway/static/root/assets/{product-open-page-BPWSqtRt.js → product-open-page-C5TcIaJj.js} +1 -1
  91. package/dist/gateway/static/root/assets/product-preview-content-5xID6jIj.js +1 -0
  92. package/dist/gateway/static/root/assets/project-detail-page-CGOyx7zX.js +7 -0
  93. package/dist/gateway/static/root/assets/projects-page-Dd11tbRX.js +1 -0
  94. package/dist/gateway/static/root/assets/{registry-api-4NZOh0iz.js → registry-api-B6kqbuw8.js} +1 -1
  95. package/dist/gateway/static/root/assets/remote-access-hub-Bintk9nL.js +1 -0
  96. package/dist/gateway/static/root/assets/runtime-tools-api-CY3R7unQ.js +5 -0
  97. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-CNCx2RnO.js → runtime-tools-settings-panel-CbmiiLsq.js} +1 -1
  98. package/dist/gateway/static/root/assets/{schema-form-nRDA2XfI.js → schema-form-DtPkiYwm.js} +1 -1
  99. package/dist/gateway/static/root/assets/session-api-D6-Vz8xK.js +1 -0
  100. package/dist/gateway/static/root/assets/{session-manager-D2sLfkw-.js → session-manager-DWbcMHcj.js} +3 -3
  101. package/dist/gateway/static/root/assets/sessions-page-BBlEP7y3.js +1 -0
  102. package/dist/gateway/static/root/assets/settings-advanced-gate-BCQUth4g.js +1 -0
  103. package/dist/gateway/static/root/assets/{settings-form-section-_ALUREPr.js → settings-form-section-DD3iD5t5.js} +1 -1
  104. package/dist/gateway/static/root/assets/{settings-page-29ptuMYZ.js → settings-page-iLY3LRDq.js} +1 -1
  105. package/dist/gateway/static/root/assets/setup-status-panel-v4P0IAkG.js +1 -0
  106. package/dist/gateway/static/root/assets/share-preview-page-B8h9lqDL.js +2 -0
  107. package/dist/gateway/static/root/assets/shares-settings-DMzej6z2.js +1 -0
  108. package/dist/gateway/static/root/assets/{skill-api-C-T0K7Oo.js → skill-api-C9RsrvOp.js} +1 -1
  109. package/dist/gateway/static/root/assets/skill-reload-api-B20x7EE9.js +1 -0
  110. package/dist/gateway/static/root/assets/skills-page-C_ulsnv7.js +2 -0
  111. package/dist/gateway/static/root/assets/source-workspace-editor-BIvi89Zx.js +1 -0
  112. package/dist/gateway/static/root/assets/system-settings-panel-PTRGMKkq.js +1 -0
  113. package/dist/gateway/static/root/assets/task-detail-page-DEPwo4vf.js +2 -0
  114. package/dist/gateway/static/root/assets/task-result-evidence-DjNWPpn_.js +1 -0
  115. package/dist/gateway/static/root/assets/tasks-TVRjEggr.js +1 -0
  116. package/dist/gateway/static/root/assets/tracing-settings-page-CVJt7IXC.js +1 -0
  117. package/dist/gateway/static/root/assets/{tunnel-api-DcDUSAjv.js → tunnel-api-C6XfsSWy.js} +1 -1
  118. package/dist/gateway/static/root/assets/{usage-page-Hut0SDqn.js → usage-page-DgqLD8Y5.js} +1 -1
  119. package/dist/gateway/static/root/assets/{use-autosave-C4TUlpsu.js → use-autosave-DO-Twmbm.js} +1 -1
  120. package/dist/gateway/static/root/assets/user-model-page-BwK37aob.js +2 -0
  121. package/dist/gateway/static/root/assets/{vendor-codemirror-DFxP3B9T.js → vendor-codemirror-Qdcjid65.js} +16 -16
  122. package/dist/gateway/static/root/assets/{voice-api-key-field-CMdihbPb.js → voice-api-key-field-MGe3HkS_.js} +1 -1
  123. package/dist/gateway/static/root/assets/{voice-config-api-4yGMrp7J.js → voice-config-api-CPKzUb4R.js} +1 -1
  124. package/dist/gateway/static/root/assets/work-discovery-overlay-DptHqYh5.js +1 -0
  125. package/dist/gateway/static/root/assets/{xopc-cloud-account-card-ClQKM2RA.js → xopc-cloud-account-card-Y_UIryBH.js} +1 -1
  126. package/dist/gateway/static/root/index.html +27 -35
  127. package/dist/package.js +1 -1
  128. package/dist/packages/endpoint-tools-protocol/src/index.js +1 -1
  129. package/dist/packages/gateway-contract/src/automations.js +0 -12
  130. package/dist/packages/gateway-contract/src/home.js +3 -3
  131. package/dist/packages/gateway-contract/src/product-delivery.js +0 -4
  132. package/dist/packages/gateway-contract/src/project-operating.js +0 -6
  133. package/dist/packages/gateway-contract/src/session-identity.js +0 -1
  134. package/dist/packages/gateway-contract/src/task-runs.js +0 -1
  135. package/dist/packages/gateway-contract/src/tasks.js +0 -6
  136. package/dist/src/activity/types.d.ts +4 -4
  137. package/dist/src/agent/agent-manager.d.ts +0 -3
  138. package/dist/src/agent/agent-manager.js +0 -43
  139. package/dist/src/agent/background-review/prompts.d.ts +8 -0
  140. package/dist/src/agent/background-review/prompts.js +9 -2
  141. package/dist/src/agent/background-review/run-background-review.js +73 -11
  142. package/dist/src/agent/capabilities/definitions.d.ts +2 -18
  143. package/dist/src/agent/capabilities/definitions.js +0 -17
  144. package/dist/src/agent/child-agent-factory.d.ts +1 -1
  145. package/dist/src/agent/client-error-format.d.ts +1 -1
  146. package/dist/src/agent/client-error-format.js +1 -1
  147. package/dist/src/agent/commands/command-registry.js +1 -1
  148. package/dist/src/agent/context/execution-scope.d.ts +2 -8
  149. package/dist/src/agent/context/execution-scope.js +6 -23
  150. package/dist/src/agent/embedded/index.d.ts +0 -1
  151. package/dist/src/agent/embedded/index.js +1 -2
  152. package/dist/src/agent/embedded/run-turn.js +25 -2
  153. package/dist/src/agent/embedded/sqlite-hydrating-session-manager.js +0 -2
  154. package/dist/src/agent/external-tools/gateway-tools.js +6 -6
  155. package/dist/src/agent/inbound/attachment-pipeline.d.ts +2 -0
  156. package/dist/src/agent/inbound/attachment-pipeline.js +10 -5
  157. package/dist/src/agent/mcp/connection-setup.js +2 -2
  158. package/dist/src/agent/memory/compaction-ledger.d.ts +1 -1
  159. package/dist/src/agent/memory/compaction-ledger.js +1 -1
  160. package/dist/src/agent/memory/compaction-promotion.js +1 -1
  161. package/dist/src/agent/memory/source-origin.js +1 -5
  162. package/dist/src/agent/memory/turn-provenance.js +1 -3
  163. package/dist/src/agent/memory/types.d.ts +1 -1
  164. package/dist/src/agent/messaging/command-handler.d.ts +0 -3
  165. package/dist/src/agent/messaging/command-handler.js +1 -4
  166. package/dist/src/agent/prompt/sections/behavior.js +2 -2
  167. package/dist/src/agent/prompt/sections/tooling.js +1 -5
  168. package/dist/src/agent/prompt/voice-presentation.d.ts +1 -1
  169. package/dist/src/agent/prompt/voice-presentation.js +1 -1
  170. package/dist/src/agent/service/direct-turn-helpers.js +1 -1
  171. package/dist/src/agent/service/process-direct-streaming.js +0 -6
  172. package/dist/src/agent/service.d.ts +0 -2
  173. package/dist/src/agent/service.js +0 -11
  174. package/dist/src/agent/service.types.d.ts +0 -2
  175. package/dist/src/agent/session/session-config-service.d.ts +0 -2
  176. package/dist/src/agent/session/session-config-service.js +1 -1
  177. package/dist/src/agent/session/session-inspector.d.ts +0 -1
  178. package/dist/src/agent/session/session-inspector.js +0 -1
  179. package/dist/src/agent/skills/required-env-vars.d.ts +1 -1
  180. package/dist/src/agent/skills/required-env-vars.js +1 -1
  181. package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -1
  182. package/dist/src/agent/tool-manuals/xopc-use.js +2 -5
  183. package/dist/src/agent/tools/automation-tool.js +1 -1
  184. package/dist/src/agent/tools/factory.d.ts +0 -3
  185. package/dist/src/agent/tools/factory.js +21 -10
  186. package/dist/src/agent/tools/index.d.ts +0 -2
  187. package/dist/src/agent/tools/index.js +1 -3
  188. package/dist/src/agent/tools/knowledge-memory-tool.d.ts +1 -0
  189. package/dist/src/agent/tools/knowledge-memory-tool.js +13 -4
  190. package/dist/src/agent/tools/personal-task-tool.js +8 -22
  191. package/dist/src/agent/tools/search/errors.js +2 -2
  192. package/dist/src/agent/tools/session-recall-tool.d.ts +3 -0
  193. package/dist/src/agent/tools/session-recall-tool.js +7 -0
  194. package/dist/src/agent/tools/session-search-tool.d.ts +3 -0
  195. package/dist/src/agent/tools/session-search-tool.js +20 -4
  196. package/dist/src/agent/tools/user-context-tool.js +7 -1
  197. package/dist/src/agent/tools/xopc-use-tool.js +1 -1
  198. package/dist/src/agent-catalog/index.d.ts +0 -1
  199. package/dist/src/agent-catalog/index.js +1 -2
  200. package/dist/src/agent-config/index.js +2 -2
  201. package/dist/src/agent-config/resolver.js +0 -6
  202. package/dist/src/agent-config/schema.d.ts +0 -16
  203. package/dist/src/agent-config/schema.js +2 -9
  204. package/dist/src/agent-matching/selection-repository.d.ts +1 -1
  205. package/dist/src/agent-matching/selection-repository.js +1 -1
  206. package/dist/src/agent-matching/service.d.ts +1 -2
  207. package/dist/src/agent-matching/service.js +3 -7
  208. package/dist/src/ai-assist/text-assist.d.ts +1 -1
  209. package/dist/src/ai-assist/text-assist.js +0 -72
  210. package/dist/src/automations/capabilities/write.d.ts +0 -40
  211. package/dist/src/automations/domain/types.d.ts +0 -15
  212. package/dist/src/automations/domain/validation.d.ts +0 -80
  213. package/dist/src/automations/domain/validation.js +0 -17
  214. package/dist/src/automations/draft/automation-draft-prompt.js +0 -3
  215. package/dist/src/automations/draft/automation-draft-validator.d.ts +0 -20
  216. package/dist/src/automations/draft/automation-draft-validator.js +0 -1
  217. package/dist/src/automations/events/event-catalog.js +0 -6
  218. package/dist/src/automations/service/action-executor.d.ts +0 -1
  219. package/dist/src/automations/service/action-executor.js +1 -110
  220. package/dist/src/automations/service/automation-service.js +0 -2
  221. package/dist/src/automations/storage/automation-run-repository.js +6 -7
  222. package/dist/src/backup/archive.js +1 -1
  223. package/dist/src/bootstrap/application-state.d.ts +2 -10
  224. package/dist/src/bootstrap/application-state.js +5 -18
  225. package/dist/src/channels/manager.d.ts +0 -2
  226. package/dist/src/channels/manager.js +0 -4
  227. package/dist/src/channels/pairing/index.d.ts +2 -1
  228. package/dist/src/channels/pairing/pairing-service.d.ts +0 -1
  229. package/dist/src/chat-commands/context.d.ts +0 -3
  230. package/dist/src/chat-commands/context.js +0 -5
  231. package/dist/src/chat-commands/index.d.ts +0 -1
  232. package/dist/src/chat-commands/index.js +1 -3
  233. package/dist/src/chat-commands/types.d.ts +0 -5
  234. package/dist/src/cli/command-manifest.js +1 -1
  235. package/dist/src/cli/commands/config.js +2 -10
  236. package/dist/src/cli/commands/doctor/checks/database-relations.js +0 -3
  237. package/dist/src/cli/commands/doctor/checks/database-schema.js +4 -25
  238. package/dist/src/cli/commands/gateway/run-foreground.js +1 -1
  239. package/dist/src/cli/commands/setup-shared/prompts.d.ts +2 -2
  240. package/dist/src/cli/commands/setup-shared/prompts.js +2 -2
  241. package/dist/src/cli/commands/tui-runner.js +2 -2
  242. package/dist/src/cli/extension-cli-register.js +1 -1
  243. package/dist/src/cli/index.d.ts +0 -1
  244. package/dist/src/cli/index.js +2 -2
  245. package/dist/src/cli/utils/init-workspace-core.js +3 -6
  246. package/dist/src/config/index.js +2 -2
  247. package/dist/src/config/loader.d.ts +0 -1
  248. package/dist/src/config/loader.js +1 -13
  249. package/dist/src/config/paths.d.ts +1 -1
  250. package/dist/src/config/paths.js +1 -1
  251. package/dist/src/connectors/composio-catalog.js +1 -3
  252. package/dist/src/connectors/composio.js +1 -2
  253. package/dist/src/connectors/connected-source-ingestion.js +1 -1
  254. package/dist/src/connectors/connected-source-understanding.js +1 -1
  255. package/dist/src/connectors/learning-coordinator.js +1 -1
  256. package/dist/src/connectors/principal.js +1 -22
  257. package/dist/src/connectors/{workflow-preflight.d.ts → requirements-preflight.d.ts} +9 -8
  258. package/dist/src/connectors/{workflow-preflight.js → requirements-preflight.js} +2 -10
  259. package/dist/src/connectors/types.d.ts +1 -1
  260. package/dist/src/daemon/types.d.ts +0 -9
  261. package/dist/src/discussions/long-review.js +0 -11
  262. package/dist/src/endpoint-tools/policy.js +13 -14
  263. package/dist/src/extensions/agent-plugins/auth.js +1 -3
  264. package/dist/src/extensions/agent-plugins/formats.js +2 -4
  265. package/dist/src/extensions/agent-plugins/mcp-format.d.ts +1 -1
  266. package/dist/src/extensions/agent-plugins/mcp-format.js +2 -2
  267. package/dist/src/extensions/bundled-extension-activation.d.ts +0 -2
  268. package/dist/src/extensions/bundled-extension-activation.js +1 -3
  269. package/dist/src/extensions/install.js +1 -1
  270. package/dist/src/extensions/types/tui.d.ts +1 -2
  271. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -7
  272. package/dist/src/gateway/agent-builtin-tools.js +0 -7
  273. package/dist/src/gateway/agents-admin.d.ts +0 -1
  274. package/dist/src/gateway/agents-admin.js +0 -1
  275. package/dist/src/gateway/global-defaults-admin.js +1 -1
  276. package/dist/src/gateway/hono/lib/config-payload.d.ts +0 -8
  277. package/dist/src/gateway/hono/lib/config-payload.js +1 -2
  278. package/dist/src/gateway/hono/lib/config-write-lock.d.ts +1 -1
  279. package/dist/src/gateway/hono/lib/config-write-lock.js +1 -1
  280. package/dist/src/gateway/hono/middleware/auth.js +2 -2
  281. package/dist/src/gateway/hono/routes/activity.js +0 -1
  282. package/dist/src/gateway/hono/routes/agents.js +2 -9
  283. package/dist/src/gateway/hono/routes/auth-registry-extensions.js +0 -22
  284. package/dist/src/gateway/hono/routes/chat-model-config.d.ts +0 -1
  285. package/dist/src/gateway/hono/routes/config-patch/misc.js +2 -3
  286. package/dist/src/gateway/hono/routes/config.js +2 -21
  287. package/dist/src/gateway/hono/routes/connectors.js +1 -1
  288. package/dist/src/gateway/hono/routes/context-sources.js +1 -1
  289. package/dist/src/gateway/hono/routes/devices.js +2 -2
  290. package/dist/src/gateway/hono/routes/home.js +3 -20
  291. package/dist/src/gateway/hono/routes/lazy-bundles.js +0 -8
  292. package/dist/src/gateway/hono/routes/memory-learning.js +1 -1
  293. package/dist/src/gateway/hono/routes/personal-agent.js +1 -1
  294. package/dist/src/gateway/hono/routes/projects.js +0 -16
  295. package/dist/src/gateway/hono/routes/session-input-handler.d.ts +2 -2
  296. package/dist/src/gateway/hono/routes/sessions.js +0 -3
  297. package/dist/src/gateway/hono/routes/user-model-refresh.js +1 -1
  298. package/dist/src/gateway/hono/routes/user-model.js +1 -1
  299. package/dist/src/gateway/index.js +1 -1
  300. package/dist/src/gateway/run-loop.js +2 -2
  301. package/dist/src/gateway/security/device-request-proof.js +1 -1
  302. package/dist/src/gateway/security/gateway-scopes.js +0 -1
  303. package/dist/src/gateway/service/active-execution.d.ts +1 -1
  304. package/dist/src/gateway/service/active-execution.js +1 -1
  305. package/dist/src/gateway/service/agent-runner.js +1 -1
  306. package/dist/src/gateway/service/session-input-coordinator.d.ts +1 -1
  307. package/dist/src/gateway/service/sessions-api.d.ts +1 -2
  308. package/dist/src/gateway/service/sessions-api.js +1 -1
  309. package/dist/src/gateway/service/task-conversation-query-service.d.ts +0 -4
  310. package/dist/src/gateway/service/types.d.ts +2 -0
  311. package/dist/src/gateway/service.d.ts +1 -8
  312. package/dist/src/gateway/service.js +20 -67
  313. package/dist/src/history/ctx/format.js +1 -1
  314. package/dist/src/home-intelligence/capability-preflight.js +1 -1
  315. package/dist/src/infra/unhandled-rejections.js +2 -2
  316. package/dist/src/infra/update-runner.d.ts +1 -2
  317. package/dist/src/infra/update-runner.js +2 -2
  318. package/dist/src/knowledge/connected-knowledge-pipeline.js +1 -1
  319. package/dist/src/knowledge/local-folder-adapter.js +2 -5
  320. package/dist/src/knowledge-memory/repository.d.ts +3 -1
  321. package/dist/src/knowledge-memory/repository.js +10 -3
  322. package/dist/src/knowledge-memory/usage-policy.js +1 -1
  323. package/dist/src/local-apps/service.js +1 -1
  324. package/dist/src/memory-learning/forget-capture.d.ts +14 -0
  325. package/dist/src/memory-learning/forget-capture.js +101 -0
  326. package/dist/src/memory-learning/forgotten-history.d.ts +15 -0
  327. package/dist/src/memory-learning/forgotten-history.js +137 -0
  328. package/dist/src/memory-learning/owner-directive.d.ts +2 -0
  329. package/dist/src/memory-learning/owner-directive.js +10 -0
  330. package/dist/src/memory-learning/service.js +0 -2
  331. package/dist/src/memory-learning/source-learning.js +1 -1
  332. package/dist/src/memory-learning/task-receipts.js +1 -1
  333. package/dist/src/memory-learning/work-capture.js +2 -1
  334. package/dist/src/migrations/index.js +2 -2
  335. package/dist/src/migrations/runner.d.ts +1 -2
  336. package/dist/src/migrations/runner.js +2 -5
  337. package/dist/src/notes/service.js +3 -3
  338. package/dist/src/notes/types.d.ts +1 -2
  339. package/dist/src/personal-agent/communication.d.ts +0 -3
  340. package/dist/src/personal-agent/communication.js +1 -12
  341. package/dist/src/personal-agent/persona.d.ts +0 -4
  342. package/dist/src/personal-agent/persona.js +1 -5
  343. package/dist/src/personal-agent/proactivity/repository.js +2 -6
  344. package/dist/src/personal-agent/prompt-context.js +1 -1
  345. package/dist/src/personal-agent/prompts.d.ts +0 -3
  346. package/dist/src/personal-agent/prompts.js +7 -146
  347. package/dist/src/personal-agent/reply-composer.js +3 -3
  348. package/dist/src/personal-agent/reply-style.d.ts +1 -13
  349. package/dist/src/personal-agent/reply-style.js +3 -123
  350. package/dist/src/personal-agent/request-delivery.d.ts +1 -1
  351. package/dist/src/personal-agent/request-delivery.js +1 -1
  352. package/dist/src/personal-agent/request-service.js +2 -2
  353. package/dist/src/personal-agent/specialist-capabilities.js +0 -1
  354. package/dist/src/personal-agent/task-cancel.js +2 -1
  355. package/dist/src/platform/client.d.ts +0 -1
  356. package/dist/src/platform/contracts.d.ts +0 -1
  357. package/dist/src/platform/contracts.js +1 -4
  358. package/dist/src/projects/index.d.ts +0 -1
  359. package/dist/src/projects/index.js +1 -2
  360. package/dist/src/projects/project-loop.d.ts +2 -12
  361. package/dist/src/projects/project-loop.js +19 -42
  362. package/dist/src/projects/project-store.d.ts +0 -1
  363. package/dist/src/projects/project-store.js +0 -11
  364. package/dist/src/projects/types.d.ts +0 -6
  365. package/dist/src/providers/model-usage.js +0 -5
  366. package/dist/src/realtime/runtime.js +0 -1
  367. package/dist/src/routing/agent-session-key.js +1 -1
  368. package/dist/src/session/manager.js +1 -1
  369. package/dist/src/session/store.d.ts +1 -0
  370. package/dist/src/session/types.d.ts +2 -6
  371. package/dist/src/storage/sqlite/connection-wait-repository.js +0 -33
  372. package/dist/src/storage/sqlite/connection.js +2 -2
  373. package/dist/src/storage/sqlite/device-access-repository.d.ts +2 -2
  374. package/dist/src/storage/sqlite/device-access-repository.js +4 -8
  375. package/dist/src/storage/sqlite/fts.d.ts +4 -0
  376. package/dist/src/storage/sqlite/fts.js +13 -4
  377. package/dist/src/storage/sqlite/home-attention-repository.d.ts +1 -1
  378. package/dist/src/storage/sqlite/index.d.ts +1 -3
  379. package/dist/src/storage/sqlite/index.js +4 -8
  380. package/dist/src/storage/sqlite/{migrations/conversation-backup.d.ts → offline-access.d.ts} +1 -4
  381. package/dist/src/storage/sqlite/{migrations/conversation-backup.js → offline-access.js} +6 -25
  382. package/dist/src/storage/sqlite/row-mappers.d.ts +0 -8
  383. package/dist/src/storage/sqlite/row-mappers.js +0 -8
  384. package/dist/src/storage/sqlite/{migrations/errors.d.ts → schema-errors.d.ts} +0 -6
  385. package/dist/src/storage/sqlite/schema-errors.js +28 -0
  386. package/dist/src/storage/sqlite/schema.d.ts +4 -5
  387. package/dist/src/storage/sqlite/schema.js +23 -19
  388. package/dist/src/storage/sqlite/schema.sql +1099 -427
  389. package/dist/src/storage/sqlite/session-identity-sql.js +1 -2
  390. package/dist/src/storage/sqlite/session-read-repository.d.ts +1 -1
  391. package/dist/src/storage/sqlite/session-read-repository.js +1 -2
  392. package/dist/src/storage/sqlite/session-repository.js +10 -36
  393. package/dist/src/storage/sqlite/transcript-repository.d.ts +1 -0
  394. package/dist/src/storage/sqlite/transcript-repository.js +14 -12
  395. package/dist/src/storage/sqlite/{migrations/conversation-windows-owners.js → windows-database-owners.js} +3 -3
  396. package/dist/src/tasks/attention-governor.d.ts +1 -0
  397. package/dist/src/tasks/attention-governor.js +2 -2
  398. package/dist/src/tasks/capabilities/management.d.ts +0 -1
  399. package/dist/src/tasks/capabilities/relations.d.ts +2 -2
  400. package/dist/src/tasks/execution-context.d.ts +1 -1
  401. package/dist/src/tasks/execution-context.js +0 -2
  402. package/dist/src/tasks/home-query-service.d.ts +2 -16
  403. package/dist/src/tasks/home-query-service.js +37 -67
  404. package/dist/src/tasks/index.d.ts +0 -1
  405. package/dist/src/tasks/index.js +1 -2
  406. package/dist/src/tasks/project-operating-view-service.js +0 -1
  407. package/dist/src/tasks/task-application-service.js +0 -5
  408. package/dist/src/tasks/task-repository.d.ts +1 -1
  409. package/dist/src/tasks/task-run-coordinator.js +4 -2
  410. package/dist/src/tui/backends/embedded-backend.d.ts +1 -4
  411. package/dist/src/tui/backends/embedded-backend.js +3 -59
  412. package/dist/src/tui/backends/gateway-realtime-backend.d.ts +1 -2
  413. package/dist/src/tui/backends/gateway-realtime-backend.js +1 -27
  414. package/dist/src/tui/components/chat-log.d.ts +0 -2
  415. package/dist/src/tui/components/chat-log.js +0 -18
  416. package/dist/src/tui/extension-host/runtime-context.js +0 -1
  417. package/dist/src/tui/tui-backend.d.ts +0 -15
  418. package/dist/src/tui/tui-command-formatters.d.ts +0 -3
  419. package/dist/src/tui/tui-command-formatters.js +1 -28
  420. package/dist/src/tui/tui-commands.d.ts +1 -14
  421. package/dist/src/tui/tui-commands.js +4 -89
  422. package/dist/src/tui/tui-startup-resources.js +0 -2
  423. package/dist/src/tui/tui-startup-text.js +2 -3
  424. package/dist/src/tui/tui.js +1 -49
  425. package/dist/src/user-context/trust-policy.js +1 -1
  426. package/dist/src/user-model/capture/semantic.d.ts +18 -1
  427. package/dist/src/user-model/capture/semantic.js +26 -1
  428. package/dist/src/user-model/usage-policy.js +1 -1
  429. package/dist/src/utils/index.js +1 -1
  430. package/dist/src/utils/logger/index.js +1 -1
  431. package/dist/src/utils/logger.js +1 -1
  432. package/dist/src/voice/realtime/agentBroker.js +2 -3
  433. package/dist/src/voice/realtime/memory-context.js +2 -2
  434. package/dist/src/work-discovery/incremental-repository.js +1 -1
  435. package/dist/src/work-discovery/service.js +2 -2
  436. package/package.json +5 -6
  437. package/dist/extensions/feishu/src/workflow-progress.d.ts +0 -27
  438. package/dist/extensions/feishu/src/workflow-progress.js +0 -98
  439. package/dist/extensions/telegram/src/workflow-progress.d.ts +0 -24
  440. package/dist/extensions/telegram/src/workflow-progress.js +0 -72
  441. package/dist/extensions/weixin/src/workflow-progress.d.ts +0 -26
  442. package/dist/extensions/weixin/src/workflow-progress.js +0 -98
  443. package/dist/gateway/static/root/assets/agent-avatar-dicebear-lMrejpsz.js +0 -1
  444. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-lXwR3Rff.js +0 -1
  445. package/dist/gateway/static/root/assets/agents-DFwBf95X.js +0 -77
  446. package/dist/gateway/static/root/assets/app-link-BV_eGr7l.js +0 -1
  447. package/dist/gateway/static/root/assets/app-management-settings-panel-Cja3eV7H.js +0 -1
  448. package/dist/gateway/static/root/assets/apps-page-C3xbCdYa.js +0 -1
  449. package/dist/gateway/static/root/assets/automations-workspace-CWvHbJBK.js +0 -6
  450. package/dist/gateway/static/root/assets/browser-automations-page-BtvOURHQ.js +0 -3
  451. package/dist/gateway/static/root/assets/browser-settings-page-C_OeE79S.js +0 -3
  452. package/dist/gateway/static/root/assets/capabilities-CD6PzNK7.js +0 -1
  453. package/dist/gateway/static/root/assets/capabilities-page-BKF6q_tC.js +0 -2
  454. package/dist/gateway/static/root/assets/capabilities-settings-panel-B7qOaUZs.js +0 -8
  455. package/dist/gateway/static/root/assets/channels-3M9-anCN.js +0 -1
  456. package/dist/gateway/static/root/assets/code-editor-CXIH8jQw.js +0 -1
  457. package/dist/gateway/static/root/assets/computer-settings-page-LaekhDG6.js +0 -1
  458. package/dist/gateway/static/root/assets/connector-service-page-DJP1n1_n.js +0 -1
  459. package/dist/gateway/static/root/assets/connectors-page-DmQqMy6l.js +0 -1
  460. package/dist/gateway/static/root/assets/dependency-picker-BhElpD_6.js +0 -1
  461. package/dist/gateway/static/root/assets/desktop-pet-ByvV-cDD.js +0 -1
  462. package/dist/gateway/static/root/assets/desktop-pet-settings-BBruQu-_.js +0 -1
  463. package/dist/gateway/static/root/assets/device-pairing-wizard-C3zOy8PO.js +0 -1
  464. package/dist/gateway/static/root/assets/dist-BGTk37IG.js +0 -1
  465. package/dist/gateway/static/root/assets/file-archive-DanfQJNe.js +0 -1
  466. package/dist/gateway/static/root/assets/file-braces-BoAMI_k9.js +0 -1
  467. package/dist/gateway/static/root/assets/gateway-realtime-CP6L2jIR.js +0 -1
  468. package/dist/gateway/static/root/assets/gateway-realtime-store-yXB4a40_.js +0 -1
  469. package/dist/gateway/static/root/assets/gateway-settings-CzrFZ0lB.js +0 -1
  470. package/dist/gateway/static/root/assets/highlight-code-BH65IIbJ.js +0 -1
  471. package/dist/gateway/static/root/assets/home-page-cXmd8x0S.js +0 -2
  472. package/dist/gateway/static/root/assets/image-generation-api-C6su4n9B.js +0 -1
  473. package/dist/gateway/static/root/assets/imports-page-CsXYryWS.js +0 -1
  474. package/dist/gateway/static/root/assets/index-BZlryZm8.css +0 -1
  475. package/dist/gateway/static/root/assets/index-uAJlrGvo.js +0 -267
  476. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-GYKLt0oF.js +0 -1
  477. package/dist/gateway/static/root/assets/languages-BFe8nIOO.js +0 -2
  478. package/dist/gateway/static/root/assets/local-app-workbench-page-Dw-i6VkX.js +0 -1
  479. package/dist/gateway/static/root/assets/local-apps-page-DslilwNE.js +0 -1
  480. package/dist/gateway/static/root/assets/locale-store-D_migb9R.js +0 -1
  481. package/dist/gateway/static/root/assets/logs-page-4N8bGPIE.js +0 -2
  482. package/dist/gateway/static/root/assets/management-settings-CPmxI1k0.js +0 -1
  483. package/dist/gateway/static/root/assets/markdown-editor-BhBJANcx.js +0 -1
  484. package/dist/gateway/static/root/assets/markdown-view-Ljt0bhfF.js +0 -324
  485. package/dist/gateway/static/root/assets/markdown-view-ixUWAmoy.css +0 -1
  486. package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-Ba-WQCki.js +0 -1
  487. package/dist/gateway/static/root/assets/mermaid-render-604gISVe.js +0 -134
  488. package/dist/gateway/static/root/assets/messages-D__oW2yE.js +0 -3
  489. package/dist/gateway/static/root/assets/note-detail-panel-CjTm5gxS.js +0 -5
  490. package/dist/gateway/static/root/assets/note-image-lightbox-hbSbEEfN.js +0 -1
  491. package/dist/gateway/static/root/assets/notes-page-DkESStKc.js +0 -8
  492. package/dist/gateway/static/root/assets/page-context-capture-button-eyzTNrCe.js +0 -1
  493. package/dist/gateway/static/root/assets/personal-page-DZxbFQvF.js +0 -1
  494. package/dist/gateway/static/root/assets/personal-settings-panel-DzubCRqj.js +0 -1
  495. package/dist/gateway/static/root/assets/plugin-details-dialog-BjVLbxZM.js +0 -1
  496. package/dist/gateway/static/root/assets/plus-Q2yW6OE7.js +0 -1
  497. package/dist/gateway/static/root/assets/preview-open-alternatives-7pUtUL4O.js +0 -1
  498. package/dist/gateway/static/root/assets/product-delivery-DwmnNJvk.js +0 -1
  499. package/dist/gateway/static/root/assets/product-preview-content-COo4zwp9.js +0 -1
  500. package/dist/gateway/static/root/assets/project-detail-page-CrIH6nEy.js +0 -1
  501. package/dist/gateway/static/root/assets/projects-page-D4swvBmH.js +0 -1
  502. package/dist/gateway/static/root/assets/remote-access-hub-DltfIMtv.js +0 -1
  503. package/dist/gateway/static/root/assets/runtime-tools-api-CmEWVrOg.js +0 -5
  504. package/dist/gateway/static/root/assets/session-api-aQLptIs9.js +0 -1
  505. package/dist/gateway/static/root/assets/sessions-page-CfYU53aw.js +0 -1
  506. package/dist/gateway/static/root/assets/settings-advanced-gate-BJBoWYbO.js +0 -1
  507. package/dist/gateway/static/root/assets/setup-status-panel-DZgVMRXr.js +0 -1
  508. package/dist/gateway/static/root/assets/share-preview-page-C2LHd_Nl.js +0 -2
  509. package/dist/gateway/static/root/assets/shares-settings-C5MTc6t-.js +0 -1
  510. package/dist/gateway/static/root/assets/skill-reload-api-BcdA9ezU.js +0 -1
  511. package/dist/gateway/static/root/assets/skills-page-BMw8XbKL.js +0 -2
  512. package/dist/gateway/static/root/assets/source-workspace-editor-DunRD1gY.js +0 -1
  513. package/dist/gateway/static/root/assets/style-DR0-RKaL.js +0 -7
  514. package/dist/gateway/static/root/assets/system-settings-panel-2Kr9Y-FJ.js +0 -1
  515. package/dist/gateway/static/root/assets/tab-completion-input.utils-BP3NH_du.js +0 -1
  516. package/dist/gateway/static/root/assets/task-detail-page-7kPco8Ys.js +0 -2
  517. package/dist/gateway/static/root/assets/task-expandable-content-4s_FTl-9.js +0 -1
  518. package/dist/gateway/static/root/assets/tasks-B4bZpO6O.js +0 -1
  519. package/dist/gateway/static/root/assets/tracing-settings-page-D53wxq60.js +0 -1
  520. package/dist/gateway/static/root/assets/user-model-page-KRy50OBd.js +0 -2
  521. package/dist/gateway/static/root/assets/work-discovery-overlay-Bd9HLsds.js +0 -1
  522. package/dist/gateway/static/root/assets/workflow-run-setup-panel-C9mAiHBd.js +0 -3
  523. package/dist/gateway/static/root/assets/workflows-page-CGg4GWwt.js +0 -6
  524. package/dist/gateway/static/root/assets/x-B_N4OPjy.js +0 -1
  525. package/dist/gateway/static/root/assets/xml-_d7dTN2Q.js +0 -3
  526. package/dist/src/agent/embedded/session-manager-init.d.ts +0 -4
  527. package/dist/src/agent/embedded/session-manager-init.js +0 -48
  528. package/dist/src/agent/tools/workflow-manage-tool.d.ts +0 -2
  529. package/dist/src/agent/tools/workflow-manage-tool.js +0 -225
  530. package/dist/src/agent/tools/workflow-tool.d.ts +0 -20
  531. package/dist/src/agent/tools/workflow-tool.js +0 -155
  532. package/dist/src/agent/workflow/agent-progress.d.ts +0 -5
  533. package/dist/src/agent/workflow/agent-progress.js +0 -65
  534. package/dist/src/agent/workflow/builtins/index.d.ts +0 -2
  535. package/dist/src/agent/workflow/builtins/index.js +0 -374
  536. package/dist/src/agent/workflow/catalog.d.ts +0 -52
  537. package/dist/src/agent/workflow/catalog.js +0 -150
  538. package/dist/src/agent/workflow/channel-capability.d.ts +0 -76
  539. package/dist/src/agent/workflow/channel-capability.js +0 -1
  540. package/dist/src/agent/workflow/index.d.ts +0 -10
  541. package/dist/src/agent/workflow/index.js +0 -9
  542. package/dist/src/agent/workflow/progress-broker.d.ts +0 -80
  543. package/dist/src/agent/workflow/progress-broker.js +0 -261
  544. package/dist/src/agent/workflow/snapshot-empty.d.ts +0 -2
  545. package/dist/src/agent/workflow/snapshot-empty.js +0 -17
  546. package/dist/src/agent/workflow/snapshot.d.ts +0 -28
  547. package/dist/src/agent/workflow/snapshot.js +0 -267
  548. package/dist/src/agent/workflow/step-labels.d.ts +0 -8
  549. package/dist/src/agent/workflow/step-labels.js +0 -50
  550. package/dist/src/agent/workflow/structured-output-tool.d.ts +0 -33
  551. package/dist/src/agent/workflow/structured-output-tool.js +0 -56
  552. package/dist/src/agent/workflow/subagent-runner.d.ts +0 -46
  553. package/dist/src/agent/workflow/subagent-runner.js +0 -221
  554. package/dist/src/agent/workflow/types.d.ts +0 -252
  555. package/dist/src/agent/workflow/types.js +0 -1
  556. package/dist/src/agent/workflow/workflow-child-tools.d.ts +0 -4
  557. package/dist/src/agent/workflow/workflow-child-tools.js +0 -38
  558. package/dist/src/agent-catalog/migrations/identity-markdown-cutover.d.ts +0 -5
  559. package/dist/src/agent-catalog/migrations/identity-markdown-cutover.js +0 -94
  560. package/dist/src/agent-catalog/migrations/legacy-config-cutover.d.ts +0 -11
  561. package/dist/src/agent-catalog/migrations/legacy-config-cutover.js +0 -194
  562. package/dist/src/chat-commands/builtins/workflow.d.ts +0 -18
  563. package/dist/src/chat-commands/builtins/workflow.js +0 -249
  564. package/dist/src/gateway/gateway-workflow-host.types.d.ts +0 -23
  565. package/dist/src/gateway/gateway-workflow-host.types.js +0 -1
  566. package/dist/src/gateway/hono/routes/workflows.d.ts +0 -3
  567. package/dist/src/gateway/hono/routes/workflows.js +0 -572
  568. package/dist/src/knowledge-memory/repair-evidence.d.ts +0 -2
  569. package/dist/src/knowledge-memory/repair-evidence.js +0 -57
  570. package/dist/src/migrations/cloud-public-models.d.ts +0 -7
  571. package/dist/src/migrations/cloud-public-models.js +0 -157
  572. package/dist/src/migrations/memory-config.d.ts +0 -2
  573. package/dist/src/migrations/memory-config.js +0 -76
  574. package/dist/src/migrations/retired-local-stt.d.ts +0 -2
  575. package/dist/src/migrations/retired-local-stt.js +0 -52
  576. package/dist/src/projects/workflow-bind.d.ts +0 -1
  577. package/dist/src/projects/workflow-bind.js +0 -15
  578. package/dist/src/storage/sqlite/migrations/218_core_relation_indexes.sql +0 -26
  579. package/dist/src/storage/sqlite/migrations/219_json_contracts.sql +0 -123
  580. package/dist/src/storage/sqlite/migrations/220_normalize_timestamps.sql +0 -339
  581. package/dist/src/storage/sqlite/migrations/221_ai_usage_retention_index.sql +0 -2
  582. package/dist/src/storage/sqlite/migrations/222_session_config_authority.sql +0 -13
  583. package/dist/src/storage/sqlite/migrations/223_session_creation_receipts.sql +0 -59
  584. package/dist/src/storage/sqlite/migrations/224_task_origin_links.sql +0 -8
  585. package/dist/src/storage/sqlite/migrations/225_task_collaboration.sql +0 -32
  586. package/dist/src/storage/sqlite/migrations/226_task_main_updates.sql +0 -9
  587. package/dist/src/storage/sqlite/migrations/227_task_main_update_decisions.sql +0 -8
  588. package/dist/src/storage/sqlite/migrations/228_task_main_agent_links.sql +0 -14
  589. package/dist/src/storage/sqlite/migrations/229_task_criterion_reviews.sql +0 -12
  590. package/dist/src/storage/sqlite/migrations/230_personal_agent_onboarding.sql +0 -8
  591. package/dist/src/storage/sqlite/migrations/231_task_result_deliveries.sql +0 -32
  592. package/dist/src/storage/sqlite/migrations/232_personal_requests.sql +0 -28
  593. package/dist/src/storage/sqlite/migrations/233_observability_usage_links.sql +0 -3
  594. package/dist/src/storage/sqlite/migrations/234_task_result_reply.sql +0 -14
  595. package/dist/src/storage/sqlite/migrations/235_personal_conversation_priority.sql +0 -3
  596. package/dist/src/storage/sqlite/migrations/236_personal_proactivity.sql +0 -53
  597. package/dist/src/storage/sqlite/migrations/237_personal_strategy_versions.sql +0 -18
  598. package/dist/src/storage/sqlite/migrations/238_browser_record_replay.sql +0 -45
  599. package/dist/src/storage/sqlite/migrations/239_clarification_notifications.sql +0 -26
  600. package/dist/src/storage/sqlite/migrations/240_device_settings.sql +0 -5
  601. package/dist/src/storage/sqlite/migrations/241_device_grant_audit.sql +0 -13
  602. package/dist/src/storage/sqlite/migrations/242_cloud_usage_receipts.sql +0 -5
  603. package/dist/src/storage/sqlite/migrations/243_voice_opening_greetings.sql +0 -12
  604. package/dist/src/storage/sqlite/migrations/244_device_request_proofs.sql +0 -8
  605. package/dist/src/storage/sqlite/migrations/245_memory_learning.sql +0 -125
  606. package/dist/src/storage/sqlite/migrations/246_personal_session_thinking.sql +0 -22
  607. package/dist/src/storage/sqlite/migrations/247_agent_selection_records.sql +0 -32
  608. package/dist/src/storage/sqlite/migrations/248_next_turn_suggestions.sql +0 -20
  609. package/dist/src/storage/sqlite/migrations/249_task_allocations.sql +0 -17
  610. package/dist/src/storage/sqlite/migrations/250_research_checkpoints.sql +0 -15
  611. package/dist/src/storage/sqlite/migrations/251_personal_result_reads.sql +0 -40
  612. package/dist/src/storage/sqlite/migrations/252_task_work_revisions.sql +0 -15
  613. package/dist/src/storage/sqlite/migrations/253_discussion_processing_recovery.sql +0 -20
  614. package/dist/src/storage/sqlite/migrations/254_discussion_annotations.sql +0 -17
  615. package/dist/src/storage/sqlite/migrations/255_discussion_chapter_progress.sql +0 -10
  616. package/dist/src/storage/sqlite/migrations/256_task_main_update_retries.sql +0 -21
  617. package/dist/src/storage/sqlite/migrations/257_session_composer_history.sql +0 -11
  618. package/dist/src/storage/sqlite/migrations/258_task_phase_changes.sql +0 -20
  619. package/dist/src/storage/sqlite/migrations/259_personal_default_style.sql +0 -10
  620. package/dist/src/storage/sqlite/migrations/discover.d.ts +0 -4
  621. package/dist/src/storage/sqlite/migrations/discover.js +0 -40
  622. package/dist/src/storage/sqlite/migrations/errors.js +0 -40
  623. package/dist/src/storage/sqlite/migrations/runner.d.ts +0 -22
  624. package/dist/src/storage/sqlite/migrations/runner.js +0 -112
  625. package/dist/src/storage/sqlite/migrations/types.d.ts +0 -12
  626. package/dist/src/storage/sqlite/migrations/types.js +0 -1
  627. package/dist/src/tasks/task-workflow-coordinator.d.ts +0 -5
  628. package/dist/src/tasks/task-workflow-coordinator.js +0 -55
  629. package/dist/src/tui/tui-workflow-slash.d.ts +0 -29
  630. package/dist/src/tui/tui-workflow-slash.js +0 -58
  631. package/dist/src/workflows/authoring/index.d.ts +0 -2
  632. package/dist/src/workflows/authoring/index.js +0 -3
  633. package/dist/src/workflows/authoring/workflow-draft-defaults.d.ts +0 -3
  634. package/dist/src/workflows/authoring/workflow-draft-defaults.js +0 -63
  635. package/dist/src/workflows/authoring/workflow-draft-store.d.ts +0 -29
  636. package/dist/src/workflows/authoring/workflow-draft-store.js +0 -52
  637. package/dist/src/workflows/context/workflow-context-snapshot-repository.d.ts +0 -21
  638. package/dist/src/workflows/context/workflow-context-snapshot-repository.js +0 -41
  639. package/dist/src/workflows/context/workflow-context.d.ts +0 -18
  640. package/dist/src/workflows/context/workflow-context.js +0 -164
  641. package/dist/src/workflows/domain/command.d.ts +0 -19
  642. package/dist/src/workflows/domain/command.js +0 -1
  643. package/dist/src/workflows/domain/definition-utils.d.ts +0 -18
  644. package/dist/src/workflows/domain/definition-utils.js +0 -90
  645. package/dist/src/workflows/domain/definition.d.ts +0 -164
  646. package/dist/src/workflows/domain/definition.js +0 -1
  647. package/dist/src/workflows/domain/event.d.ts +0 -88
  648. package/dist/src/workflows/domain/event.js +0 -1
  649. package/dist/src/workflows/domain/index.d.ts +0 -8
  650. package/dist/src/workflows/domain/index.js +0 -5
  651. package/dist/src/workflows/domain/result.d.ts +0 -68
  652. package/dist/src/workflows/domain/result.js +0 -1
  653. package/dist/src/workflows/domain/run.d.ts +0 -257
  654. package/dist/src/workflows/domain/run.js +0 -12
  655. package/dist/src/workflows/domain/schema-validation.d.ts +0 -8
  656. package/dist/src/workflows/domain/schema-validation.js +0 -26
  657. package/dist/src/workflows/domain/validation.d.ts +0 -22
  658. package/dist/src/workflows/domain/validation.js +0 -318
  659. package/dist/src/workflows/engine/index.d.ts +0 -2
  660. package/dist/src/workflows/engine/index.js +0 -3
  661. package/dist/src/workflows/engine/projector.d.ts +0 -3
  662. package/dist/src/workflows/engine/projector.js +0 -276
  663. package/dist/src/workflows/engine/workflow-engine.d.ts +0 -88
  664. package/dist/src/workflows/engine/workflow-engine.js +0 -719
  665. package/dist/src/workflows/index.d.ts +0 -11
  666. package/dist/src/workflows/index.js +0 -19
  667. package/dist/src/workflows/project-presets/project-workflow-preset-repository.d.ts +0 -20
  668. package/dist/src/workflows/project-presets/project-workflow-preset-repository.js +0 -39
  669. package/dist/src/workflows/registry/catalog-workflow-definition-registry.d.ts +0 -9
  670. package/dist/src/workflows/registry/catalog-workflow-definition-registry.js +0 -30
  671. package/dist/src/workflows/registry/index.d.ts +0 -2
  672. package/dist/src/workflows/registry/index.js +0 -2
  673. package/dist/src/workflows/registry/workflow-definition-registry.d.ts +0 -15
  674. package/dist/src/workflows/registry/workflow-definition-registry.js +0 -1
  675. package/dist/src/workflows/runtime/graph-workflow-runtime.d.ts +0 -10
  676. package/dist/src/workflows/runtime/graph-workflow-runtime.js +0 -289
  677. package/dist/src/workflows/runtime/index.d.ts +0 -2
  678. package/dist/src/workflows/runtime/index.js +0 -2
  679. package/dist/src/workflows/runtime/workflow-runtime-port.d.ts +0 -13
  680. package/dist/src/workflows/runtime/workflow-runtime-port.js +0 -1
  681. package/dist/src/workflows/service/run-view-to-snapshot.d.ts +0 -4
  682. package/dist/src/workflows/service/run-view-to-snapshot.js +0 -64
  683. package/dist/src/workflows/service/workflow-run-service.d.ts +0 -63
  684. package/dist/src/workflows/service/workflow-run-service.js +0 -892
  685. package/dist/src/workflows/service/workflow-run-service.types.d.ts +0 -62
  686. package/dist/src/workflows/service/workflow-run-service.types.js +0 -1
  687. package/dist/src/workflows/service/workflow-session-bridge.d.ts +0 -33
  688. package/dist/src/workflows/service/workflow-session-bridge.js +0 -244
  689. package/dist/src/workflows/service/workflow-session-key.d.ts +0 -3
  690. package/dist/src/workflows/service/workflow-session-key.js +0 -19
  691. package/dist/src/workflows/service/workflow-writeback-service.d.ts +0 -9
  692. package/dist/src/workflows/service/workflow-writeback-service.js +0 -107
  693. package/dist/src/workflows/store/event-store.d.ts +0 -16
  694. package/dist/src/workflows/store/event-store.js +0 -38
  695. package/dist/src/workflows/store/paths.d.ts +0 -5
  696. package/dist/src/workflows/store/paths.js +0 -18
  697. package/dist/src/workflows/store/run-index-store.d.ts +0 -9
  698. package/dist/src/workflows/store/run-index-store.js +0 -64
  699. package/dist/src/workflows/store/run-store.d.ts +0 -16
  700. package/dist/src/workflows/store/run-store.js +0 -40
  701. package/skills/engineering/workflow-authoring/SKILL.md +0 -32
  702. /package/dist/gateway/static/root/assets/{style-DLioOiRN.css → project-detail-page-DLioOiRN.css} +0 -0
  703. /package/dist/src/storage/sqlite/{migrations/conversation-windows-owners.d.ts → windows-database-owners.d.ts} +0 -0
@@ -28,7 +28,6 @@ var CommandHandler = class {
28
28
  btwQuery;
29
29
  getSessionContextReport;
30
30
  resetSession;
31
- getWorkflowRunService;
32
31
  constructor(handlerConfig) {
33
32
  this.config = handlerConfig.config;
34
33
  this.bus = handlerConfig.bus;
@@ -45,7 +44,6 @@ var CommandHandler = class {
45
44
  this.btwQuery = handlerConfig.btwQuery;
46
45
  this.getSessionContextReport = handlerConfig.getSessionContextReport;
47
46
  this.resetSession = handlerConfig.resetSession;
48
- this.getWorkflowRunService = handlerConfig.getWorkflowRunService;
49
47
  }
50
48
  /** Replace config reference after hot reload or gateway PATCH so commands see current defaults. */
51
49
  updateAgentConfig(config) {
@@ -138,8 +136,7 @@ var CommandHandler = class {
138
136
  compactSession: this.compactSession,
139
137
  btwQuery: this.btwQuery,
140
138
  emitEvent,
141
- getSessionContextReport: this.getSessionContextReport,
142
- workflowRunService: this.getWorkflowRunService?.()
139
+ getSessionContextReport: this.getSessionContextReport
143
140
  });
144
141
  commandContext.sourceContexts = context.sourceContexts;
145
142
  return commandContext;
@@ -59,7 +59,7 @@ function buildHumanCollaborationSection(includeExecutionContract = true) {
59
59
  "",
60
60
  "### Task Contract",
61
61
  "- For non-trivial actionable work, privately establish: desired task, completion criteria, constraints, plan, and verification evidence.",
62
- "- Keep implementation concepts such as agents, workflows, tools, and memory providers behind the experience unless naming them helps the user decide or debug.",
62
+ "- Keep implementation concepts such as agents, tools, and memory providers behind the experience unless naming them helps the user decide or debug.",
63
63
  "- Communicate task state in human terms: working, needs a decision, blocked, or done.",
64
64
  "- Completion requires the requested result and proportionate evidence. State unresolved blockers and skipped verification."
65
65
  ] : []
@@ -72,7 +72,7 @@ function buildWorkContinuitySection() {
72
72
  "- Continue in the current project when the conversation is already bound to one. Reuse relevant context before creating anything new.",
73
73
  "- When work clearly spans sessions, files, decisions, or dependencies, first make useful progress, then offer in one plain sentence to keep it moving over time. Create durable project/work state only when the user asks for continuity or accepts the offer.",
74
74
  "- When the user names a future time or cadence, recognize that it may be scheduled. Create an automation only after explicit confirmation of the timing and action; otherwise make a concise offer.",
75
- "- When continuity or scheduling is explicit and safe, act with the available product tools instead of explaining agents, Tasks, Projects, workflows, or automations.",
75
+ "- When continuity or scheduling is explicit and safe, act with the available product tools instead of explaining agents, Tasks, Projects, or automations.",
76
76
  "- Phrase offers around the benefit: “keep this moving”, “pick up where we left off”, or “do this for you regularly”. Avoid internal system terminology unless the user asks or it is needed to resolve a problem.",
77
77
  "- Do not repeatedly upsell continuity. Offer only when it materially reduces future effort."
78
78
  ].join("\n");
@@ -27,7 +27,6 @@ const CORE_TOOL_ORDER = [
27
27
  "session_status",
28
28
  "tool_manual",
29
29
  "delegate_task",
30
- "workflow",
31
30
  "automation",
32
31
  "skills_list",
33
32
  "skill_view",
@@ -69,7 +68,6 @@ const CORE_TOOL_SUMMARIES = {
69
68
  session_status: "Show session usage/time/model state",
70
69
  tool_manual: "Load built-in usage manuals for complex tools",
71
70
  delegate_task: "Spawn an isolated sub-agent for a delegated task",
72
- workflow: "Start a persisted multi-phase workflow run",
73
71
  automation: "Manage product automations",
74
72
  skills_list: "List available skills",
75
73
  skill_view: "Load a skill SKILL.md or sub-documents",
@@ -118,7 +116,6 @@ function buildToolingSection(params) {
118
116
  const grepToolName = resolveToolName("grep");
119
117
  const findToolName = resolveToolName("find");
120
118
  const hasDelegate = availableTools.has("delegate_task");
121
- const hasWorkflow = availableTools.has("workflow");
122
119
  const hasToolManual = availableTools.has("tool_manual");
123
120
  const hasRead = availableTools.has("read_file");
124
121
  const hasPatch = availableTools.has("apply_patch");
@@ -131,7 +128,6 @@ function buildToolingSection(params) {
131
128
  const hasXopcUse = availableTools.has("xopc_use");
132
129
  const orchestrationLines = [];
133
130
  if (hasDelegate) orchestrationLines.push("- Sub-agent delegation → use `delegate_task(goal, context?, mode?, capabilities?, toolset?, budgetTier?, maxIterations?)`. Choose light for narrow lookups, standard for bounded research, and deep for broader investigations. Supply relevant facts and a clear stopping condition; search before reading targeted chunks. Default research inherits available read capabilities. Use implement for isolated worktree changes. Inspect stopReason, budget usage, handoff and rejectedTools; resume incomplete work from the handoff rather than repeating the investigation.");
134
- if (hasWorkflow) orchestrationLines.push("- Multi-phase workflows → use `workflow` to start persisted runs with subagents when a script defines phases.");
135
131
  return [
136
132
  "## Tooling",
137
133
  "Tool availability (filtered by policy):",
@@ -154,7 +150,7 @@ function buildToolingSection(params) {
154
150
  hasPlan ? `Use \`${planToolName}\` for multi-step coding work: keep exactly one active step when work is in progress, and update it after meaningful progress or review.` : "",
155
151
  hasToolManual ? "Some complex tools have built-in manuals. Use `tool_manual(tool)` before non-trivial use." : "",
156
152
  ...orchestrationLines,
157
- hasDelegate || hasWorkflow ? "Do not poll delegate/workflow status in a tight loop; check on-demand or wait for completion." : ""
153
+ hasDelegate ? "Do not poll delegate status in a tight loop; check on-demand or wait for completion." : ""
158
154
  ].filter(Boolean).join("\n");
159
155
  }
160
156
  function hasSkillsTools(toolNames) {
@@ -1,2 +1,2 @@
1
1
  /** Per-turn presentation only; never persisted as a user message or Agent identity. */
2
- export declare const voicePresentationPrompt = "This turn is a live voice conversation in the same Chat.\nLead with the useful answer. Prefer one to three natural spoken sentences unless the user asks for detail.\nAllow silence. Do not repeatedly greet, recap unrelated old tasks, or end every reply with a question.\nFor work, briefly say what you are doing, use the available tools, then report the actual result.\nKeep code, long URLs, tables and detailed reference material in Chat; introduce them with a short spoken explanation.\nDo not imply a task continues in the background unless an existing task or workflow actually started it.\nAsk ordinary follow-up questions directly in speech, then let the user answer in the next turn; do not use a blocking clarification form. Keep formal action approvals in the existing approval mechanism. A background sound or ambiguous interjection is not permission for an action.\nStopping speech does not undo a completed tool action. State consequential results accurately.";
2
+ export declare const voicePresentationPrompt = "This turn is a live voice conversation in the same Chat.\nLead with the useful answer. Prefer one to three natural spoken sentences unless the user asks for detail.\nAllow silence. Do not repeatedly greet, recap unrelated old tasks, or end every reply with a question.\nFor work, briefly say what you are doing, use the available tools, then report the actual result.\nKeep code, long URLs, tables and detailed reference material in Chat; introduce them with a short spoken explanation.\nDo not imply a task continues in the background unless an existing task actually started it.\nAsk ordinary follow-up questions directly in speech, then let the user answer in the next turn; do not use a blocking clarification form. Keep formal action approvals in the existing approval mechanism. A background sound or ambiguous interjection is not permission for an action.\nStopping speech does not undo a completed tool action. State consequential results accurately.";
@@ -5,7 +5,7 @@ Lead with the useful answer. Prefer one to three natural spoken sentences unless
5
5
  Allow silence. Do not repeatedly greet, recap unrelated old tasks, or end every reply with a question.
6
6
  For work, briefly say what you are doing, use the available tools, then report the actual result.
7
7
  Keep code, long URLs, tables and detailed reference material in Chat; introduce them with a short spoken explanation.
8
- Do not imply a task continues in the background unless an existing task or workflow actually started it.
8
+ Do not imply a task continues in the background unless an existing task actually started it.
9
9
  Ask ordinary follow-up questions directly in speech, then let the user answer in the next turn; do not use a blocking clarification form. Keep formal action approvals in the existing approval mechanism. A background sound or ambiguous interjection is not permission for an action.
10
10
  Stopping speech does not undo a completed tool action. State consequential results accurately.`;
11
11
  //#endregion
@@ -35,7 +35,7 @@ async function hydratePerTurnState(deps, conversationId, thinking) {
35
35
  * can persist the receipt or stream it as a token.
36
36
  */
37
37
  async function tryRunSlashCommand(deps, ctx, content, options) {
38
- if (options?.origin?.type === "system" && options.origin.source === "workflow") return {
38
+ if (options?.origin?.type === "system" && options.origin.source === "task") return {
39
39
  matched: false,
40
40
  aggregatedText: ""
41
41
  };
@@ -291,12 +291,6 @@ async function* runProcessDirectStreamingInner(deps, input) {
291
291
  webchatSlashReceipt = "Command finished with no assistant text. A task continuation may still be scheduled automatically.";
292
292
  pushAssistantReceipt(queue, webchatSlashReceipt, input.runId);
293
293
  }
294
- const workflowRun = slash.metadata?.workflowRun;
295
- if (workflowRun && typeof workflowRun === "object") queue.push({
296
- type: "workflow_run_started",
297
- runId: input.runId,
298
- payload: { workflowRun }
299
- });
300
294
  return;
301
295
  }
302
296
  const skillTurn = deps.agentManager.prepareSkillTurn(conversationId, authoredText);
@@ -79,7 +79,6 @@ export declare class AgentService {
79
79
  private sessionLifecycleManager;
80
80
  private agentOrchestrator;
81
81
  private agentEventHandler;
82
- private workflowProgressBrokerHandle;
83
82
  private agentManager;
84
83
  /**
85
84
  * Unified per-session state container (replaces six ad-hoc Maps). Owns webchat
@@ -118,7 +117,6 @@ export declare class AgentService {
118
117
  setWorkspaceTrust(workspacePath: string, trusted: boolean): WorkspaceTrustState;
119
118
  getCapabilityCatalog(conversationId?: string): AgentCapabilityCatalogEntry[];
120
119
  getSkillMarkdownSource(skillName: string): SkillMarkdownPreviewPayload | null;
121
- getWorkflowSkillInstructions(agentId: string, names: readonly string[]): string | undefined;
122
120
  refreshSkillsAfterDiskChange(): void;
123
121
  refreshSkillsAfterTrustChange(): void;
124
122
  installSkillFromSource(opts: SkillInstallToolOptions): Promise<SkillInstallToolResult>;
@@ -68,8 +68,6 @@ import "./session/index.js";
68
68
  import { AgentOrchestrator } from "./orchestration/agent-orchestrator.js";
69
69
  import { AgentEventHandler } from "./orchestration/agent-event-handler.js";
70
70
  import "./orchestration/index.js";
71
- import { getWorkflowProgressBroker } from "./workflow/progress-broker.js";
72
- import "./workflow/index.js";
73
71
  import { TaskJudgeService } from "./tasks/task-judge-service.js";
74
72
  import { analyzeResponseLanguage } from "../i18n/language-consistency.js";
75
73
  import { readFile } from "node:fs/promises";
@@ -154,7 +152,6 @@ var AgentService = class {
154
152
  sessionLifecycleManager;
155
153
  agentOrchestrator;
156
154
  agentEventHandler;
157
- workflowProgressBrokerHandle = null;
158
155
  agentManager;
159
156
  /**
160
157
  * Unified per-session state container (replaces six ad-hoc Maps). Owns webchat
@@ -246,7 +243,6 @@ var AgentService = class {
246
243
  dispatchTaskEvents: config.dispatchTaskEvents,
247
244
  dispatchTaskRuns: config.dispatchTaskRuns,
248
245
  onAgentCatalogMutate: config.onAgentCatalogMutate,
249
- getWorkflowRunService: config.getWorkflowRunService,
250
246
  onSkillsUpdated: config.onSkillsUpdated,
251
247
  installSkillFromSource: (opts) => this.installSkillFromSource(opts),
252
248
  installSkillFromMarketplace: (opts) => this.installSkillFromMarketplace(opts),
@@ -273,7 +269,6 @@ var AgentService = class {
273
269
  if (analysis.compliant) log.debug(fields, "Assistant response language check passed");
274
270
  else log.warn(fields, "Assistant response language did not match the active preference");
275
271
  });
276
- this.workflowProgressBrokerHandle = getWorkflowProgressBroker().attachTo(this.agentEventHandler);
277
272
  this.sessionHydrator = new SessionHydrator({
278
273
  sessionConfigStore: this.sessionConfigStore,
279
274
  agentManager: this.agentManager,
@@ -311,7 +306,6 @@ var AgentService = class {
311
306
  bus,
312
307
  sessionStore: this.sessionStore,
313
308
  sessionConfigStore: this.sessionConfigStore,
314
- getWorkflowRunService: config.getWorkflowRunService,
315
309
  applySessionThinkingLevel: (conversationId, level) => {
316
310
  this.agentManager.setThinkingLevel(conversationId, level);
317
311
  },
@@ -528,9 +522,6 @@ var AgentService = class {
528
522
  getSkillMarkdownSource(skillName) {
529
523
  return this.agentManager.getSkillMarkdownSource(skillName);
530
524
  }
531
- getWorkflowSkillInstructions(agentId, names) {
532
- return this.agentManager.getWorkflowSkillInstructions(agentId, names);
533
- }
534
525
  refreshSkillsAfterDiskChange() {
535
526
  this.agentManager.refreshSkillsAfterDiskChange();
536
527
  }
@@ -885,8 +876,6 @@ var AgentService = class {
885
876
  this.sessionTracker.dispose();
886
877
  this.sessionState.disposeAll();
887
878
  this.agentManager.dispose();
888
- this.workflowProgressBrokerHandle?.dispose();
889
- this.workflowProgressBrokerHandle = null;
890
879
  }
891
880
  };
892
881
  //#endregion
@@ -60,8 +60,6 @@ export interface AgentServiceConfig {
60
60
  * without persisting a trust entry; gateway mode leaves trust fully persistent.
61
61
  */
62
62
  isWorkspaceTrusted?: (workspaceDir: string) => boolean | null | undefined;
63
- /** Gateway: persisted workflow runs. */
64
- getWorkflowRunService?: () => import('../workflows/service/workflow-run-service.types.js').WorkflowRunServiceLike;
65
63
  /** Gateway: resolves bound source context (e.g. Note-grounded chat) before each turn. */
66
64
  sourceContextResolver?: AgentSourceContextResolver;
67
65
  }
@@ -32,8 +32,6 @@ export interface PatchSessionAgentConfigInput {
32
32
  model?: string | null;
33
33
  /** Preferred activity-detail field. `null` clears the session override. */
34
34
  activityDetailLevel?: string | null;
35
- /** @deprecated Use activityDetailLevel. */
36
- reasoningLevel?: string | null;
37
35
  verboseLevel?: string;
38
36
  workingDirectory?: string;
39
37
  responseLanguage?: string | null;
@@ -76,7 +76,7 @@ var SessionConfigService = class {
76
76
  this.opts.modelManager.restoreSessionModel(conversationId, modelRef, updated.fixedModel === true);
77
77
  }
78
78
  }
79
- const activityDetailLevel = partial.activityDetailLevel !== void 0 ? partial.activityDetailLevel : partial.reasoningLevel;
79
+ const activityDetailLevel = partial.activityDetailLevel;
80
80
  if (activityDetailLevel !== void 0) if (activityDetailLevel === null) await this.opts.sessionConfigStore.update(conversationId, { reasoningLevel: void 0 });
81
81
  else {
82
82
  const normalized = normalizeReasoningLevel(activityDetailLevel);
@@ -47,7 +47,6 @@ export interface SessionAgentConfigView {
47
47
  model: string;
48
48
  configVersion: number;
49
49
  fixedModel: boolean;
50
- reasoningLevel: ReasoningLevel;
51
50
  activityDetail: {
52
51
  default: ReasoningLevel;
53
52
  override: ReasoningLevel | null;
@@ -146,7 +146,6 @@ var SessionInspector = class {
146
146
  model: sc?.modelOverride ?? model,
147
147
  configVersion: sc?.updatedAt ?? 0,
148
148
  fixedModel: sc?.fixedModel === true,
149
- reasoningLevel,
150
149
  activityDetail: {
151
150
  default: defReason,
152
151
  override: sc?.reasoningLevel ?? null,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Parse Hermes-style `required_environment_variables` and legacy / xopc `requires.env` into a deduped name list.
2
+ * Parse Hermes-style `required_environment_variables` and xopc `requires.env` into a deduped name list.
3
3
  */
4
4
  /** POSIX-style env var names we allow for passthrough registration. */
5
5
  export declare const SKILL_ENV_VAR_NAME_RE: RegExp;
@@ -1,7 +1,7 @@
1
1
  import { normalizeStringList } from "./skill-tool-gating.js";
2
2
  //#region src/agent/skills/required-env-vars.ts
3
3
  /**
4
- * Parse Hermes-style `required_environment_variables` and legacy / xopc `requires.env` into a deduped name list.
4
+ * Parse Hermes-style `required_environment_variables` and xopc `requires.env` into a deduped name list.
5
5
  */
6
6
  /** POSIX-style env var names we allow for passthrough registration. */
7
7
  const SKILL_ENV_VAR_NAME_RE = /^[A-Za-z_][A-Za-z0-9_]*$/;
@@ -1 +1 @@
1
- export declare const xopcUseManual = "# XOPC Use Tool Manual\n\n## Purpose\n\n`xopc_use` operates first-class XOPC product objects without editing SQLite or product files directly.\nLoad this manual before a non-trivial mutation. For focused configuration workflows use\n`tool_manual({tool:\"xopc_use\",topic:\"agent|settings|automation|connections\"})`.\nFor identity-only changes prefer `agent patch_profile {id,expectedRevision,patch,idempotencyKey?}`,\nwhich preserves omitted profile fields. Existing update keeps replacement semantics for profile.\n\n```json\n{\n \"mode\": \"agent | project | automation | note | task | task_run | chat_preview | local_app | settings\",\n \"command\": \"...\",\n \"args\": {},\n \"dryRun\": false\n}\n```\n\nSend one object command per call. Inspect the returned JSON `ok` field; a tool call can\ncomplete successfully while the product command returns `ok: false`.\n\n## Object routing\n\n| Object | Tool |\n| --- | --- |\n| Agent definition and default Agent | `xopc_use` mode `agent` |\n| Project, milestone, project update | `xopc_use` mode `project` |\n| Automation | `xopc_use` mode `automation` |\n| Task intent and lifecycle | `xopc_use` mode `task` |\n| Task execution attempt, receipt, events and waits | `xopc_use` mode `task_run` |\n| Note | `xopc_use` mode `note` |\n| Lightweight UI preview | `xopc_use` mode `chat_preview` |\n| Local app | `xopc_use` mode `local_app` |\n| Settings jump target | `xopc_use` mode `settings` |\n| Workflow run | dedicated `workflow` tool; pass `taskId` to link it to a Task |\n| Session, memory, skill, connected app or workspace file | its dedicated tool |\n\nDo not emulate Workflow APIs through `xopc_use`. A Task is durable intent;\na TaskRun is one execution attempt; a WorkflowRun is a procedure execution and may belong\nto a TaskRun. Never treat these three objects as interchangeable.\n\n## Agents\n\nCommands: `list`, `get`, `create`, `update`, `set_default`, `disable`,\n`delete`, and `purge`.\n\nAn Agent profile stores `name` and optional `description`, `creature`, `style`, `language`,\n`emoji`, and `avatar` identity fields. Use `instructions` for short execution rules.\nPut personality in SOUL.md and ongoing work guidance in AGENTS.md.\n\n```json\n{\n \"mode\": \"agent\",\n \"command\": \"create\",\n \"args\": {\n \"id\": \"xiaomei\",\n \"profile\": {\n \"name\": \"\u5C0F\u7F8E\",\n \"description\": \"\u5E2E\u52A9\u6574\u7406\u65E5\u5E38\u4E8B\u9879\",\n \"language\": \"zh-CN\",\n \"style\": \"\u6E29\u67D4\u3001\u4EB2\u5207\",\n \"instructions\": \"\u7ED9\u51FA\u64CD\u4F5C\u5EFA\u8BAE\u524D\u5148\u6838\u5BF9\u5173\u952E\u4E8B\u5B9E\u3002\"\n },\n \"idempotencyKey\": \"create-agent-xiaomei\"\n }\n}\n```\n\nUse `list` before creating an Agent so an existing id is updated rather than duplicated.\nMutations other than `create` require the current `expectedRevision`; `set_default` uses\nthe catalog revision returned by `list`. `delete` preserves on-disk data, while `purge`\nalso removes it. Use `dryRun: true` to validate the exact same input contract without writing.\n\n## Reliable protocol\n\n1. Use `list` then `get` when an id is unknown.\n2. Read the current `version` before a Task mutation.\n3. Use `dryRun: true` for broad Project changes or uncertain mutations.\n4. Mutate once with the exact id and current concurrency token.\n5. Verify the returned object and preserve any \u201COpen in xopc\u201D delivery link.\n6. On a conflict, read again and reconsider the operation; do not blindly retry.\n\nTimestamps are Unix epoch milliseconds. Array fields are arrays of strings. Omission\npreserves a patchable field; an empty array intentionally clears it. Prefer explicit\n`projectId`, `taskId`, `runId`, `noteId`, and `localAppId` fields over `id`.\n\n## Projects\n\nCommands: `list`, `get`, `create`, `update`, `resolve_workspace`,\n`list_milestones`, `create_milestone`, `update_milestone`, `list_updates`,\nand `create_update`.\n\nProject statuses: `planned`, `active`, `paused`, `completed`, `cancelled`,\n`archived`. Health values: `unknown`, `on_track`, `at_risk`, `off_track`.\n\nA Project defines bounded shared context for related work. Its durable planning fields are `outcome`,\n`successCriteria`, `scope`, `nonGoals`, `ownerId`, `targetAt`, and `health`.\nUse `brief` for a concise description and `instructions` for durable operating guidance.\n\n### Create\n\n```json\n{\n \"mode\": \"project\",\n \"command\": \"create\",\n \"args\": {\n \"name\": \"AI Product Research\",\n \"outcome\": \"Choose a validated product direction\",\n \"successCriteria\": [\"Ten customer interviews\", \"Decision recorded\"],\n \"scope\": { \"market\": \"developer tools\" },\n \"nonGoals\": [\"Build the production product\"],\n \"health\": \"on_track\",\n \"targetAt\": 1760000000000,\n \"workspaceRoot\": \"/path/to/repo\"\n }\n}\n```\n\n### Update\n\n```json\n{\n \"mode\": \"project\",\n \"command\": \"update\",\n \"args\": {\n \"projectId\": \"project_id\",\n \"status\": \"active\",\n \"health\": \"at_risk\",\n \"successCriteria\": [\"Ten interviews\", \"Evidence-backed decision\"]\n }\n}\n```\n\n### Resolve a workspace\n\nUse `autoCreate: false` for lookup. Set it to true only when creating a Project is authorized.\n\n```json\n{ \"mode\": \"project\", \"command\": \"resolve_workspace\", \"args\": { \"workspacePath\": \"/path/to/repo\", \"autoCreate\": false } }\n```\n\n### Milestones\n\nMilestone statuses: `planned`, `active`, `completed`, `cancelled`.\n\n```json\n{\n \"mode\": \"project\",\n \"command\": \"create_milestone\",\n \"args\": {\n \"projectId\": \"project_id\",\n \"title\": \"Finish discovery\",\n \"status\": \"active\",\n \"targetAt\": 1760000000000,\n \"sortOrder\": 10\n }\n}\n```\n\nUse `list_milestones` with `projectId`. Use `update_milestone` with both\n`projectId` and `milestoneId`. Milestone deletion is intentionally not exposed.\n\n### Immutable project updates\n\nProject updates are append-only progress snapshots. They also update Project health.\n\n```json\n{\n \"mode\": \"project\",\n \"command\": \"create_update\",\n \"args\": {\n \"projectId\": \"project_id\",\n \"health\": \"on_track\",\n \"summary\": \"Discovery is complete\",\n \"progress\": [\"Interviewed ten users\"],\n \"risks\": [\"Pricing remains unvalidated\"],\n \"nextSteps\": [\"Run pricing tests\"]\n }\n}\n```\n\nUse `list_updates` with `projectId` and optional `limit`. Updates cannot be edited.\n\n## Automations\n\nCommands: `list`, `get`, `create`, `update`, `delete`, `run`, `pause`,\n`resume`, and `history`.\n\nAutomation `create` automatically uses the current session Project when `projectId` is\nomitted. An explicit `projectId` takes precedence and is validated before mutation. Use an\nexplicit id when creating for a Project other than the current session Project.\n\n### Create in the current Project\n\n`trigger` and `action` use the same shapes as the Automation product API.\n\n```json\n{\n \"mode\": \"automation\",\n \"command\": \"create\",\n \"args\": {\n \"name\": \"Daily project review\",\n \"trigger\": { \"kind\": \"schedule\", \"schedule\": { \"kind\": \"cron\", \"expr\": \"0 9 * * 1-5\", \"tz\": \"Asia/Shanghai\" } },\n \"action\": { \"kind\": \"agent\", \"instruction\": \"Review the current project and summarize risks.\" }\n }\n}\n```\n\nTo override the inherited Project, add `\"projectId\": \"project_id\"` to `args`.\nThe create payload may also be nested under `args.automation`; top-level `args.projectId`\nhas precedence.\n\n### List and history\n\n`list` and unqualified `history` inherit the current session Project. Pass an explicit\n`projectId` to query another Project. Pass `automationId` to `history` for one Automation.\n\n### Update and operate\n\nUse `automationId` for `get`, `update`, `delete`, `run`, `pause`, and `resume`.\nFor `update`, patch fields may be direct args or nested under `args.patch`. Supplying a new\n`projectId` reassigns the Automation after validating the target Project.\n\n## Tasks\n\nTask locale follows the conversation response language, then the user request and profile.\nKeep every user-facing contract field (criteria, expected outputs, constraints, assumptions and risks)\nin that language, even when attached source material is English. Preserve paths, URLs and proper nouns.\nAn explicit locale must reflect the user\u2019s language choice.\n\nCommands: `list`, `get`, `create`, `delegated_tasks`, `collaboration`,\n`collaboration_post`, `update_dependencies`, `add_context`, `remove_context`,\n`command`, and `delete`.\n\nTask phases are `backlog`, `ready`, `active`, `review`, and `closed`.\nOperational state is projected separately as `idle`, `queued`, `running`, `waiting`,\n`verifying`, `succeeded`, `failed`, or `cancelled`. Never send either value as a\nfree-form status update.\n\n`task.get` returns the Task, its projected `model`, dependencies, dependents, context,\nauthority grants, TaskRuns, receipts, and waits.\nThe projected model is the correct source for current operational state and attention items.\n\n`delete` permanently removes the Task and its contracts, waits, context links, TaskRuns,\nreceipts, and Task-owned execution records. It does not delete linked Sessions, workspace files,\nor external artifacts. Cancel an active TaskRun before deletion, and use `dryRun: true` when\nthe user's intent is ambiguous.\n\n```json\n{ \"mode\": \"task\", \"command\": \"delete\", \"args\": { \"taskId\": \"task_id\" }, \"dryRun\": true }\n```\n\n### Capture or start\n\n`createMode` defaults to `capture`, which creates a backlog Task without executing it.\nUse `start` only when immediate execution is intended.\n\nFor an immediate delegated task, use the minimal call below. The objective can include the\nworker instructions and constraints; optional lists are unnecessary for a simple delegation.\n\n```json\n{ \"mode\": \"task\", \"command\": \"create\", \"args\": { \"objective\": \"Calculate the requested result and report progress\", \"createMode\": \"start\" } }\n```\n\n```json\n{\n \"mode\": \"task\",\n \"command\": \"create\",\n \"args\": {\n \"objective\": \"Complete the customer research report\",\n \"projectId\": \"project_id\",\n \"createMode\": \"capture\",\n \"priority\": \"high\",\n \"expectedOutputs\": [\"Research report\"],\n \"acceptanceCriteria\": [\"Sources are cited\"],\n \"constraints\": [\"Do not contact customers without approval\"],\n \"dependsOnTaskIds\": []\n }\n}\n```\n\n### Main Agent and worker collaboration\n\nThe user-facing Agent can call `delegated_tasks` to list Tasks created from this conversation,\nthen `collaboration` with `{ \"taskId\": \"...\", \"afterSequence\": 0 }` to read the ordered board.\nUse the Task and TaskRun receipt as the final source of execution status.\n\nUse `collaboration_post` with `taskId`, `kind`, `body`, and a stable `idempotencyKey`.\nThe main Agent may write `instruction`, `question`, or `answer`; answers include\n`causationId` of the worker's question. The worker may write `progress`, `question`,\nor `ack`; acknowledgements include `causationId` of the instruction. A worker question\npauses the active TaskRun. After posting it, stop the execution turn and wait for an answer.\nAn instruction is first recorded, then delivered to the worker conversation, and is only\nconfirmed when the worker acknowledges it. Ordinary progress does not interrupt the user.\n\n```json\n{ \"mode\": \"task\", \"command\": \"collaboration_post\", \"args\": { \"taskId\": \"task_id\", \"kind\": \"progress\", \"body\": \"Completed source review\", \"idempotencyKey\": \"stable-key\" } }\n```\n\n### Dependencies\n\n```json\n{\n \"mode\": \"task\",\n \"command\": \"update_dependencies\",\n \"args\": {\n \"taskId\": \"task_id\",\n \"expectedVersion\": 3,\n \"dependsOnTaskIds\": [\"dependency_task_id\"]\n }\n}\n```\n\n### Context links\n\nUse `add_context` to link a document, file, URL, session, memory, Task, artifact, or source\nas `input`, `reference`, `constraint`, `deliverable`, or `evidence` context.\n\n```json\n{\n \"mode\": \"task\",\n \"command\": \"add_context\",\n \"args\": {\n \"taskId\": \"task_id\",\n \"targetKind\": \"file\",\n \"targetId\": \"/path/to/spec.md\",\n \"role\": \"input\",\n \"title\": \"Product specification\",\n \"pinned\": true,\n \"retrievalPolicy\": {},\n \"metadata\": {}\n }\n}\n```\n\nUse `remove_context` with `taskId` and the exact `edgeId` returned by `task.get`.\nDo not add authority grants through this tool; an Agent must not authorize itself.\n\n### Typed lifecycle commands\n\nEvery command requires `taskId`, the Task's current `expectedVersion`, a `type`, and\ntype-specific fields inside `commandArgs`.\n\nSupported command types:\n\n- `mark_ready`\n- `start`: `{ \"executor\": { \"kind\": \"agent\", \"agentId\": \"main\" } }`\n- `request_review`\n- `close`: `{ \"resolution\": \"done | cancelled | duplicate | wont_do\" }`\n- `reopen`: `{ \"phase\": \"ready | active\" }`\n- `add_wait`: `{ \"wait\": { \"kind\": \"dependency | approval | input | schedule | external | paused\", \"reason\": \"...\", \"condition\": {} } }`\n- `resolve_wait`: `{ \"waitId\": \"wait_id\", \"resolution\": {} }`\n- `delegate`: `{ \"agentId\": \"agent_id\" }`\n- `revise_contract`: `{ \"contract\": { ...complete contract... } }`\n\n```json\n{\n \"mode\": \"task\",\n \"command\": \"command\",\n \"args\": {\n \"taskId\": \"task_id\",\n \"expectedVersion\": 3,\n \"type\": \"start\",\n \"commandArgs\": {\n \"executor\": { \"kind\": \"agent\", \"agentId\": \"main\" }\n }\n }\n}\n```\n\nContract revision is replacement, not a patch. Read the Task and preserve all contract fields\nthe user did not ask to change. Resolve a wait through `resolve_wait`; do not directly mutate\na TaskRun or manufacture a phase transition.\n\n## TaskRuns\n\nTaskRun inspection is read-only except for explicit cancellation. Other execution state is\ncontrolled by Task commands and the runtime coordinator.\n\n### List attempts for a Task\n\n```json\n{ \"mode\": \"task_run\", \"command\": \"list\", \"args\": { \"taskId\": \"task_id\", \"limit\": 20 } }\n```\n\nThe result contains run attempts, finalized receipts, and active waits.\n\n### Inspect one attempt\n\n```json\n{ \"mode\": \"task_run\", \"command\": \"get\", \"args\": { \"runId\": \"run_id\" } }\n```\n\nThe result contains the TaskRun, its receipt when terminal, ordered events, and active Task waits.\n\n### Cancel an attempt\n\nRead the run first, then pass its current version. Cancellation creates a terminal receipt.\n\n```json\n{\n \"mode\": \"task_run\",\n \"command\": \"cancel\",\n \"args\": { \"runId\": \"run_id\", \"expectedVersion\": 2, \"reason\": \"User cancelled execution\" }\n}\n```\n\nDo not guess commands such as retry, force-complete, heartbeat, or transition; they are not Agent APIs.\n\n## Notes\n\nCommands: `list`, `get`, `create`, `append`, `preview_edit`, `update`, and `delete`.\nUse Notes for durable prose and reference material, not as a Task substitute. Prefer `append`\nwhen preserving user content. Use `preview_edit` before a canonical rewrite.\n\n```json\n{ \"mode\": \"note\", \"command\": \"create\", \"args\": { \"title\": \"Decision\", \"markdown\": \"...\", \"projectId\": \"project_id\" } }\n```\n\n```json\n{ \"mode\": \"note\", \"command\": \"append\", \"args\": { \"noteId\": \"note_id\", \"heading\": \"AI synthesis\", \"content\": \"...\" } }\n```\n\nUse `update` with `status: \"trashed\"` for a recoverable removal. `delete` permanently\nremoves the Note and its stored snapshots and media; use `dryRun: true` first when the\nuser's intent is ambiguous.\n\n```json\n{ \"mode\": \"note\", \"command\": \"delete\", \"args\": { \"noteId\": \"note_id\" }, \"dryRun\": true }\n```\n\n## Chat previews, local apps, and settings\n\nUse `chat_preview` by default when the user asks to design, mock up, or quickly show a UI in\nthe current conversation. It creates no Project and no Local App. Commands are `create`,\n`get`, and `revise`. Source consists of `markup`, `styles`, and optional `script`;\ndo not include a full HTML document or remote dependencies. Revision requires the exact\n`baseRevision` returned by the prior call.\n\nUse `local_app` only when the user explicitly asks for a durable, installable app or chooses\n\u201CSave as app\u201D on a chat preview. Do not create a Local App merely to render a UI draft.\n\nLocal app commands are `list`, `get`, `create`, and `validate`. Installation,\nactivation, rollback, and uninstall remain product runtime operations.\n\nSettings supports only `open` and returns an exact product jump target without changing config.\n\n## Error recovery\n\n| Result | Recovery |\n| --- | --- |\n| service unavailable | Stop retrying and report the unavailable capability. |\n| not found | Re-list in the intended scope; do not invent another id. |\n| conflict | Read the current object and reassess using its latest version. |\n| waiting | Inspect the Task projection and TaskRun waits; resolve only the real blocker. |\n| invalid command or state | Read the object and use only a documented transition. |\n| unsupported operation | Use the dedicated tool or product UI; never write storage directly. |\n\n## Deliberate boundaries\n\n- Project deletion and milestone deletion are not Agent APIs.\n- TaskRun mutation is internal to execution coordination except for optimistic cancellation.\n- Project updates are immutable.\n- Workflow and Automation operations remain in their dedicated tools.\n- Only the documented Task and TaskRun commands are valid; do not infer hidden aliases.\n";
1
+ export declare const xopcUseManual = "# XOPC Use Tool Manual\n\n## Purpose\n\n`xopc_use` operates first-class XOPC product objects without editing SQLite or product files directly.\nLoad this manual before a non-trivial mutation. For focused configuration workflows use\n`tool_manual({tool:\"xopc_use\",topic:\"agent|settings|automation|connections\"})`.\nFor identity-only changes prefer `agent patch_profile {id,expectedRevision,patch,idempotencyKey?}`,\nwhich preserves omitted profile fields. Existing update keeps replacement semantics for profile.\n\n```json\n{\n \"mode\": \"agent | project | automation | note | task | task_run | chat_preview | local_app | settings\",\n \"command\": \"...\",\n \"args\": {},\n \"dryRun\": false\n}\n```\n\nSend one object command per call. Inspect the returned JSON `ok` field; a tool call can\ncomplete successfully while the product command returns `ok: false`.\n\n## Object routing\n\n| Object | Tool |\n| --- | --- |\n| Agent definition and default Agent | `xopc_use` mode `agent` |\n| Project, milestone, project update | `xopc_use` mode `project` |\n| Automation | `xopc_use` mode `automation` |\n| Task intent and lifecycle | `xopc_use` mode `task` |\n| Task execution attempt, receipt, events and waits | `xopc_use` mode `task_run` |\n| Note | `xopc_use` mode `note` |\n| Lightweight UI preview | `xopc_use` mode `chat_preview` |\n| Local app | `xopc_use` mode `local_app` |\n| Settings jump target | `xopc_use` mode `settings` |\n| Session, memory, skill, connected app or workspace file | its dedicated tool |\n\nA Task is durable intent; a TaskRun is one execution attempt.\n\n## Agents\n\nCommands: `list`, `get`, `create`, `update`, `set_default`, `disable`,\n`delete`, and `purge`.\n\nAn Agent profile stores `name` and optional `description`, `creature`, `style`, `language`,\n`emoji`, and `avatar` identity fields. Use `instructions` for short execution rules.\nPut personality in SOUL.md and ongoing work guidance in AGENTS.md.\n\n```json\n{\n \"mode\": \"agent\",\n \"command\": \"create\",\n \"args\": {\n \"id\": \"xiaomei\",\n \"profile\": {\n \"name\": \"\u5C0F\u7F8E\",\n \"description\": \"\u5E2E\u52A9\u6574\u7406\u65E5\u5E38\u4E8B\u9879\",\n \"language\": \"zh-CN\",\n \"style\": \"\u6E29\u67D4\u3001\u4EB2\u5207\",\n \"instructions\": \"\u7ED9\u51FA\u64CD\u4F5C\u5EFA\u8BAE\u524D\u5148\u6838\u5BF9\u5173\u952E\u4E8B\u5B9E\u3002\"\n },\n \"idempotencyKey\": \"create-agent-xiaomei\"\n }\n}\n```\n\nUse `list` before creating an Agent so an existing id is updated rather than duplicated.\nMutations other than `create` require the current `expectedRevision`; `set_default` uses\nthe catalog revision returned by `list`. `delete` preserves on-disk data, while `purge`\nalso removes it. Use `dryRun: true` to validate the exact same input contract without writing.\n\n## Reliable protocol\n\n1. Use `list` then `get` when an id is unknown.\n2. Read the current `version` before a Task mutation.\n3. Use `dryRun: true` for broad Project changes or uncertain mutations.\n4. Mutate once with the exact id and current concurrency token.\n5. Verify the returned object and preserve any \u201COpen in xopc\u201D delivery link.\n6. On a conflict, read again and reconsider the operation; do not blindly retry.\n\nTimestamps are Unix epoch milliseconds. Array fields are arrays of strings. Omission\npreserves a patchable field; an empty array intentionally clears it. Prefer explicit\n`projectId`, `taskId`, `runId`, `noteId`, and `localAppId` fields over `id`.\n\n## Projects\n\nCommands: `list`, `get`, `create`, `update`, `resolve_workspace`,\n`list_milestones`, `create_milestone`, `update_milestone`, `list_updates`,\nand `create_update`.\n\nProject statuses: `planned`, `active`, `paused`, `completed`, `cancelled`,\n`archived`. Health values: `unknown`, `on_track`, `at_risk`, `off_track`.\n\nA Project defines bounded shared context for related work. Its durable planning fields are `outcome`,\n`successCriteria`, `scope`, `nonGoals`, `ownerId`, `targetAt`, and `health`.\nUse `brief` for a concise description and `instructions` for durable operating guidance.\n\n### Create\n\n```json\n{\n \"mode\": \"project\",\n \"command\": \"create\",\n \"args\": {\n \"name\": \"AI Product Research\",\n \"outcome\": \"Choose a validated product direction\",\n \"successCriteria\": [\"Ten customer interviews\", \"Decision recorded\"],\n \"scope\": { \"market\": \"developer tools\" },\n \"nonGoals\": [\"Build the production product\"],\n \"health\": \"on_track\",\n \"targetAt\": 1760000000000,\n \"workspaceRoot\": \"/path/to/repo\"\n }\n}\n```\n\n### Update\n\n```json\n{\n \"mode\": \"project\",\n \"command\": \"update\",\n \"args\": {\n \"projectId\": \"project_id\",\n \"status\": \"active\",\n \"health\": \"at_risk\",\n \"successCriteria\": [\"Ten interviews\", \"Evidence-backed decision\"]\n }\n}\n```\n\n### Resolve a workspace\n\nUse `autoCreate: false` for lookup. Set it to true only when creating a Project is authorized.\n\n```json\n{ \"mode\": \"project\", \"command\": \"resolve_workspace\", \"args\": { \"workspacePath\": \"/path/to/repo\", \"autoCreate\": false } }\n```\n\n### Milestones\n\nMilestone statuses: `planned`, `active`, `completed`, `cancelled`.\n\n```json\n{\n \"mode\": \"project\",\n \"command\": \"create_milestone\",\n \"args\": {\n \"projectId\": \"project_id\",\n \"title\": \"Finish discovery\",\n \"status\": \"active\",\n \"targetAt\": 1760000000000,\n \"sortOrder\": 10\n }\n}\n```\n\nUse `list_milestones` with `projectId`. Use `update_milestone` with both\n`projectId` and `milestoneId`. Milestone deletion is intentionally not exposed.\n\n### Immutable project updates\n\nProject updates are append-only progress snapshots. They also update Project health.\n\n```json\n{\n \"mode\": \"project\",\n \"command\": \"create_update\",\n \"args\": {\n \"projectId\": \"project_id\",\n \"health\": \"on_track\",\n \"summary\": \"Discovery is complete\",\n \"progress\": [\"Interviewed ten users\"],\n \"risks\": [\"Pricing remains unvalidated\"],\n \"nextSteps\": [\"Run pricing tests\"]\n }\n}\n```\n\nUse `list_updates` with `projectId` and optional `limit`. Updates cannot be edited.\n\n## Automations\n\nCommands: `list`, `get`, `create`, `update`, `delete`, `run`, `pause`,\n`resume`, and `history`.\n\nAutomation `create` automatically uses the current session Project when `projectId` is\nomitted. An explicit `projectId` takes precedence and is validated before mutation. Use an\nexplicit id when creating for a Project other than the current session Project.\n\n### Create in the current Project\n\n`trigger` and `action` use the same shapes as the Automation product API.\n\n```json\n{\n \"mode\": \"automation\",\n \"command\": \"create\",\n \"args\": {\n \"name\": \"Daily project review\",\n \"trigger\": { \"kind\": \"schedule\", \"schedule\": { \"kind\": \"cron\", \"expr\": \"0 9 * * 1-5\", \"tz\": \"Asia/Shanghai\" } },\n \"action\": { \"kind\": \"agent\", \"instruction\": \"Review the current project and summarize risks.\" }\n }\n}\n```\n\nTo override the inherited Project, add `\"projectId\": \"project_id\"` to `args`.\nThe create payload may also be nested under `args.automation`; top-level `args.projectId`\nhas precedence.\n\n### List and history\n\n`list` and unqualified `history` inherit the current session Project. Pass an explicit\n`projectId` to query another Project. Pass `automationId` to `history` for one Automation.\n\n### Update and operate\n\nUse `automationId` for `get`, `update`, `delete`, `run`, `pause`, and `resume`.\nFor `update`, patch fields may be direct args or nested under `args.patch`. Supplying a new\n`projectId` reassigns the Automation after validating the target Project.\n\n## Tasks\n\nTask locale follows the conversation response language, then the user request and profile.\nKeep every user-facing contract field (criteria, expected outputs, constraints, assumptions and risks)\nin that language, even when attached source material is English. Preserve paths, URLs and proper nouns.\nAn explicit locale must reflect the user\u2019s language choice.\n\nCommands: `list`, `get`, `create`, `delegated_tasks`, `collaboration`,\n`collaboration_post`, `update_dependencies`, `add_context`, `remove_context`,\n`command`, and `delete`.\n\nTask phases are `backlog`, `ready`, `active`, `review`, and `closed`.\nOperational state is projected separately as `idle`, `queued`, `running`, `waiting`,\n`verifying`, `succeeded`, `failed`, or `cancelled`. Never send either value as a\nfree-form status update.\n\n`task.get` returns the Task, its projected `model`, dependencies, dependents, context,\nauthority grants, TaskRuns, receipts, and waits.\nThe projected model is the correct source for current operational state and attention items.\n\n`delete` permanently removes the Task and its contracts, waits, context links, TaskRuns,\nreceipts, and Task-owned execution records. It does not delete linked Sessions, workspace files,\nor external artifacts. Cancel an active TaskRun before deletion, and use `dryRun: true` when\nthe user's intent is ambiguous.\n\n```json\n{ \"mode\": \"task\", \"command\": \"delete\", \"args\": { \"taskId\": \"task_id\" }, \"dryRun\": true }\n```\n\n### Capture or start\n\n`createMode` defaults to `capture`, which creates a backlog Task without executing it.\nUse `start` only when immediate execution is intended.\n\nFor an immediate delegated task, use the minimal call below. The objective can include the\nworker instructions and constraints; optional lists are unnecessary for a simple delegation.\n\n```json\n{ \"mode\": \"task\", \"command\": \"create\", \"args\": { \"objective\": \"Calculate the requested result and report progress\", \"createMode\": \"start\" } }\n```\n\n```json\n{\n \"mode\": \"task\",\n \"command\": \"create\",\n \"args\": {\n \"objective\": \"Complete the customer research report\",\n \"projectId\": \"project_id\",\n \"createMode\": \"capture\",\n \"priority\": \"high\",\n \"expectedOutputs\": [\"Research report\"],\n \"acceptanceCriteria\": [\"Sources are cited\"],\n \"constraints\": [\"Do not contact customers without approval\"],\n \"dependsOnTaskIds\": []\n }\n}\n```\n\n### Main Agent and worker collaboration\n\nThe user-facing Agent can call `delegated_tasks` to list Tasks created from this conversation,\nthen `collaboration` with `{ \"taskId\": \"...\", \"afterSequence\": 0 }` to read the ordered board.\nUse the Task and TaskRun receipt as the final source of execution status.\n\nUse `collaboration_post` with `taskId`, `kind`, `body`, and a stable `idempotencyKey`.\nThe main Agent may write `instruction`, `question`, or `answer`; answers include\n`causationId` of the worker's question. The worker may write `progress`, `question`,\nor `ack`; acknowledgements include `causationId` of the instruction. A worker question\npauses the active TaskRun. After posting it, stop the execution turn and wait for an answer.\nAn instruction is first recorded, then delivered to the worker conversation, and is only\nconfirmed when the worker acknowledges it. Ordinary progress does not interrupt the user.\n\n```json\n{ \"mode\": \"task\", \"command\": \"collaboration_post\", \"args\": { \"taskId\": \"task_id\", \"kind\": \"progress\", \"body\": \"Completed source review\", \"idempotencyKey\": \"stable-key\" } }\n```\n\n### Dependencies\n\n```json\n{\n \"mode\": \"task\",\n \"command\": \"update_dependencies\",\n \"args\": {\n \"taskId\": \"task_id\",\n \"expectedVersion\": 3,\n \"dependsOnTaskIds\": [\"dependency_task_id\"]\n }\n}\n```\n\n### Context links\n\nUse `add_context` to link a document, file, URL, session, memory, Task, artifact, or source\nas `input`, `reference`, `constraint`, `deliverable`, or `evidence` context.\n\n```json\n{\n \"mode\": \"task\",\n \"command\": \"add_context\",\n \"args\": {\n \"taskId\": \"task_id\",\n \"targetKind\": \"file\",\n \"targetId\": \"/path/to/spec.md\",\n \"role\": \"input\",\n \"title\": \"Product specification\",\n \"pinned\": true,\n \"retrievalPolicy\": {},\n \"metadata\": {}\n }\n}\n```\n\nUse `remove_context` with `taskId` and the exact `edgeId` returned by `task.get`.\nDo not add authority grants through this tool; an Agent must not authorize itself.\n\n### Typed lifecycle commands\n\nEvery command requires `taskId`, the Task's current `expectedVersion`, a `type`, and\ntype-specific fields inside `commandArgs`.\n\nSupported command types:\n\n- `mark_ready`\n- `start`: `{ \"executor\": { \"kind\": \"agent\", \"agentId\": \"main\" } }`\n- `request_review`\n- `close`: `{ \"resolution\": \"done | cancelled | duplicate | wont_do\" }`\n- `reopen`: `{ \"phase\": \"ready | active\" }`\n- `add_wait`: `{ \"wait\": { \"kind\": \"dependency | approval | input | schedule | external | paused\", \"reason\": \"...\", \"condition\": {} } }`\n- `resolve_wait`: `{ \"waitId\": \"wait_id\", \"resolution\": {} }`\n- `delegate`: `{ \"agentId\": \"agent_id\" }`\n- `revise_contract`: `{ \"contract\": { ...complete contract... } }`\n\n```json\n{\n \"mode\": \"task\",\n \"command\": \"command\",\n \"args\": {\n \"taskId\": \"task_id\",\n \"expectedVersion\": 3,\n \"type\": \"start\",\n \"commandArgs\": {\n \"executor\": { \"kind\": \"agent\", \"agentId\": \"main\" }\n }\n }\n}\n```\n\nContract revision is replacement, not a patch. Read the Task and preserve all contract fields\nthe user did not ask to change. Resolve a wait through `resolve_wait`; do not directly mutate\na TaskRun or manufacture a phase transition.\n\n## TaskRuns\n\nTaskRun inspection is read-only except for explicit cancellation. Other execution state is\ncontrolled by Task commands and the runtime coordinator.\n\n### List attempts for a Task\n\n```json\n{ \"mode\": \"task_run\", \"command\": \"list\", \"args\": { \"taskId\": \"task_id\", \"limit\": 20 } }\n```\n\nThe result contains run attempts, finalized receipts, and active waits.\n\n### Inspect one attempt\n\n```json\n{ \"mode\": \"task_run\", \"command\": \"get\", \"args\": { \"runId\": \"run_id\" } }\n```\n\nThe result contains the TaskRun, its receipt when terminal, ordered events, and active Task waits.\n\n### Cancel an attempt\n\nRead the run first, then pass its current version. Cancellation creates a terminal receipt.\n\n```json\n{\n \"mode\": \"task_run\",\n \"command\": \"cancel\",\n \"args\": { \"runId\": \"run_id\", \"expectedVersion\": 2, \"reason\": \"User cancelled execution\" }\n}\n```\n\nDo not guess commands such as retry, force-complete, heartbeat, or transition; they are not Agent APIs.\n\n## Notes\n\nCommands: `list`, `get`, `create`, `append`, `preview_edit`, `update`, and `delete`.\nUse Notes for durable prose and reference material, not as a Task substitute. Prefer `append`\nwhen preserving user content. Use `preview_edit` before a canonical rewrite.\n\n```json\n{ \"mode\": \"note\", \"command\": \"create\", \"args\": { \"title\": \"Decision\", \"markdown\": \"...\", \"projectId\": \"project_id\" } }\n```\n\n```json\n{ \"mode\": \"note\", \"command\": \"append\", \"args\": { \"noteId\": \"note_id\", \"heading\": \"AI synthesis\", \"content\": \"...\" } }\n```\n\nUse `update` with `status: \"trashed\"` for a recoverable removal. `delete` permanently\nremoves the Note and its stored snapshots and media; use `dryRun: true` first when the\nuser's intent is ambiguous.\n\n```json\n{ \"mode\": \"note\", \"command\": \"delete\", \"args\": { \"noteId\": \"note_id\" }, \"dryRun\": true }\n```\n\n## Chat previews, local apps, and settings\n\nUse `chat_preview` by default when the user asks to design, mock up, or quickly show a UI in\nthe current conversation. It creates no Project and no Local App. Commands are `create`,\n`get`, and `revise`. Source consists of `markup`, `styles`, and optional `script`;\ndo not include a full HTML document or remote dependencies. Revision requires the exact\n`baseRevision` returned by the prior call.\n\nUse `local_app` only when the user explicitly asks for a durable, installable app or chooses\n\u201CSave as app\u201D on a chat preview. Do not create a Local App merely to render a UI draft.\n\nLocal app commands are `list`, `get`, `create`, and `validate`. Installation,\nactivation, rollback, and uninstall remain product runtime operations.\n\nSettings supports only `open` and returns an exact product jump target without changing config.\n\n## Error recovery\n\n| Result | Recovery |\n| --- | --- |\n| service unavailable | Stop retrying and report the unavailable capability. |\n| not found | Re-list in the intended scope; do not invent another id. |\n| conflict | Read the current object and reassess using its latest version. |\n| waiting | Inspect the Task projection and TaskRun waits; resolve only the real blocker. |\n| invalid command or state | Read the object and use only a documented transition. |\n| unsupported operation | Use the dedicated tool or product UI; never write storage directly. |\n\n## Deliberate boundaries\n\n- Project deletion and milestone deletion are not Agent APIs.\n- TaskRun mutation is internal to execution coordination except for optimistic cancellation.\n- Project updates are immutable.\n- Automation operations remain in their dedicated tools.\n- Only the documented Task and TaskRun commands are valid; do not infer hidden aliases.\n";
@@ -34,12 +34,9 @@ complete successfully while the product command returns \`ok: false\`.
34
34
  | Lightweight UI preview | \`xopc_use\` mode \`chat_preview\` |
35
35
  | Local app | \`xopc_use\` mode \`local_app\` |
36
36
  | Settings jump target | \`xopc_use\` mode \`settings\` |
37
- | Workflow run | dedicated \`workflow\` tool; pass \`taskId\` to link it to a Task |
38
37
  | Session, memory, skill, connected app or workspace file | its dedicated tool |
39
38
 
40
- Do not emulate Workflow APIs through \`xopc_use\`. A Task is durable intent;
41
- a TaskRun is one execution attempt; a WorkflowRun is a procedure execution and may belong
42
- to a TaskRun. Never treat these three objects as interchangeable.
39
+ A Task is durable intent; a TaskRun is one execution attempt.
43
40
 
44
41
  ## Agents
45
42
 
@@ -463,7 +460,7 @@ Settings supports only \`open\` and returns an exact product jump target without
463
460
  - Project deletion and milestone deletion are not Agent APIs.
464
461
  - TaskRun mutation is internal to execution coordination except for optimistic cancellation.
465
462
  - Project updates are immutable.
466
- - Workflow and Automation operations remain in their dedicated tools.
463
+ - Automation operations remain in their dedicated tools.
467
464
  - Only the documented Task and TaskRun commands are valid; do not infer hidden aliases.
468
465
  `;
469
466
  //#endregion
@@ -90,7 +90,7 @@ function createAutomationTool(deps) {
90
90
  return {
91
91
  name: "automation",
92
92
  label: "Automation",
93
- description: "Manage product automations. Automations can be manual, scheduled, webhook-triggered, or product-event-triggered and can run an agent instruction or workflow.",
93
+ description: "Manage product automations. Automations can be manual, scheduled, webhook-triggered, or product-event-triggered and can run an agent instruction.",
94
94
  parameters: AutomationToolSchema,
95
95
  async execute(_toolCallId, params, signal) {
96
96
  const service = deps.getAutomationService();
@@ -23,7 +23,6 @@ import type { BrowserAutomationService } from '../../browser/automations/index.j
23
23
  import type { NotesService } from '../../notes/index.js';
24
24
  import type { ProjectService } from '../../projects/index.js';
25
25
  import type { LocalAppService } from '../../local-apps/index.js';
26
- import type { WorkflowRunServiceLike } from '../../workflows/service/workflow-run-service.types.js';
27
26
  import type { SkillManager } from '../skills/skill-manager.js';
28
27
  import { type ToolExecutorConfig } from './executor.js';
29
28
  export interface ToolFactoryDeps {
@@ -72,8 +71,6 @@ export interface ToolFactoryDeps {
72
71
  dispatchTaskRuns?: () => void;
73
72
  /** Gateway: refreshes Agent runtime state after xopc_use mutates the catalog. */
74
73
  onAgentCatalogMutate?: () => void;
75
- /** Gateway: starts persisted workflow runs (dedicated chat session per run). */
76
- getWorkflowRunService?: () => WorkflowRunServiceLike | undefined;
77
74
  /** Current session skill indexing (tool gating + allowlist); used by skills_list / skill_view. */
78
75
  getSkillIndexingContext?: () => {
79
76
  registeredToolNames: string[];
@@ -53,11 +53,8 @@ import { BrowserRuntime } from "../../browser/runtime/browser-runtime.js";
53
53
  import { createBrowserDriver } from "../../browser/drivers/create-driver.js";
54
54
  import { checkBrowserReadiness } from "../../browser/readiness.js";
55
55
  import "../../browser/index.js";
56
- import { getPendingTranscriptUserText } from "../inbound/attachment-pipeline.js";
56
+ import { getActiveTranscriptUserText, getPendingTranscriptUserText } from "../inbound/attachment-pipeline.js";
57
57
  import { createDelegateTool } from "./delegate-tool.js";
58
- import { createWorkflowTool } from "./workflow-tool.js";
59
- import { createWorkflowCatalog } from "../workflow/catalog.js";
60
- import { createWorkflowManageTool } from "./workflow-manage-tool.js";
61
58
  import { createAutomationTool } from "./automation-tool.js";
62
59
  import { createBrowserAutomationTool } from "./browser-automation-tool.js";
63
60
  import { createXopcUseTool } from "./xopc-use-tool.js";
@@ -446,6 +443,7 @@ var AgentToolsFactory = class AgentToolsFactory {
446
443
  getConfig: () => this.deps.getConfig?.()
447
444
  })] : [],
448
445
  ...personalToolsConfigured || allowed?.has("user_context_read") ? [createUserContextReadTool({
446
+ getCurrentUserText: () => currentConversationId() ? getActiveTranscriptUserText(currentConversationId()) : void 0,
449
447
  agentId: resolvedAgentId,
450
448
  workspaceId: workspace,
451
449
  getSessionId: currentConversationId,
@@ -453,6 +451,7 @@ var AgentToolsFactory = class AgentToolsFactory {
453
451
  canRead: () => currentAccess().userModel
454
452
  }, (command) => !disabled?.has(`user_context_${command}`) && (!isXopcDatabaseOpen() || resolveEffectiveAgentConfigForAgent(resolvedAgentId).config.tools[`user_context_${command}`]?.mode !== "deny"))] : [],
455
453
  createUserContextSearchTool({
454
+ getCurrentUserText: () => currentConversationId() ? getActiveTranscriptUserText(currentConversationId()) : void 0,
456
455
  agentId: resolvedAgentId,
457
456
  workspaceId: workspace,
458
457
  getSessionId: currentConversationId,
@@ -460,6 +459,7 @@ var AgentToolsFactory = class AgentToolsFactory {
460
459
  canRead: () => currentAccess().userModel
461
460
  }),
462
461
  createUserContextGetTool({
462
+ getCurrentUserText: () => currentConversationId() ? getActiveTranscriptUserText(currentConversationId()) : void 0,
463
463
  agentId: resolvedAgentId,
464
464
  workspaceId: workspace,
465
465
  getSessionId: currentConversationId,
@@ -479,6 +479,7 @@ var AgentToolsFactory = class AgentToolsFactory {
479
479
  }
480
480
  }),
481
481
  ...personalToolsConfigured || allowed?.has("knowledge_read") ? [createKnowledgeReadTool({
482
+ getCurrentUserText: () => currentConversationId() ? getActiveTranscriptUserText(currentConversationId()) : void 0,
482
483
  agentId: resolvedAgentId,
483
484
  workspaceId: workspace,
484
485
  getSessionId: currentConversationId,
@@ -489,6 +490,7 @@ var AgentToolsFactory = class AgentToolsFactory {
489
490
  getReadPolicy: () => currentAccess().knowledgePolicy
490
491
  }, (command) => !disabled?.has(`knowledge_${command}`) && (!isXopcDatabaseOpen() || resolveEffectiveAgentConfigForAgent(resolvedAgentId).config.tools[`knowledge_${command}`]?.mode !== "deny"))] : [],
491
492
  createKnowledgeSearchTool({
493
+ getCurrentUserText: () => currentConversationId() ? getActiveTranscriptUserText(currentConversationId()) : void 0,
492
494
  agentId: resolvedAgentId,
493
495
  workspaceId: workspace,
494
496
  getSessionId: currentConversationId,
@@ -499,6 +501,7 @@ var AgentToolsFactory = class AgentToolsFactory {
499
501
  getReadPolicy: () => currentAccess().knowledgePolicy
500
502
  }),
501
503
  createKnowledgeGetTool({
504
+ getCurrentUserText: () => currentConversationId() ? getActiveTranscriptUserText(currentConversationId()) : void 0,
502
505
  agentId: resolvedAgentId,
503
506
  workspaceId: workspace,
504
507
  getSessionId: currentConversationId,
@@ -521,10 +524,24 @@ var AgentToolsFactory = class AgentToolsFactory {
521
524
  ...this.deps.getSessionStore ? [createSessionRecallTool({
522
525
  getSessionStore: this.deps.getSessionStore,
523
526
  getCurrentConversationId: currentConversationId,
527
+ getHistoryContext: () => ({
528
+ agentId: resolvedAgentId,
529
+ workspaceId: workspace,
530
+ conversationId: currentConversationId() ?? "",
531
+ projectId: currentProjectId()
532
+ }),
533
+ getCurrentUserText: () => currentConversationId() ? getActiveTranscriptUserText(currentConversationId()) : void 0,
524
534
  ...personalToolsConfigured ? { maxOutputChars: LOCAL_READ_MAX_CHARS } : {}
525
535
  })] : [],
526
536
  ...this.deps.getSessionStore && getPrimary ? [createSessionSearchTool({
527
537
  localOnly: personalToolsConfigured,
538
+ getHistoryContext: () => ({
539
+ agentId: resolvedAgentId,
540
+ workspaceId: workspace,
541
+ conversationId: currentConversationId() ?? "",
542
+ projectId: currentProjectId()
543
+ }),
544
+ getCurrentUserText: () => currentConversationId() ? getActiveTranscriptUserText(currentConversationId()) : void 0,
528
545
  getSessionStore: this.deps.getSessionStore,
529
546
  getPrimaryModel: getPrimary,
530
547
  getCurrentConversationId: () => this.deps.getCurrentContext()?.conversationId,
@@ -566,12 +583,6 @@ var AgentToolsFactory = class AgentToolsFactory {
566
583
  getTaskId: () => options?.conversationId ?? this.deps.getCurrentContext()?.conversationId ?? "default",
567
584
  getReadiness: () => this.checkBrowserReadinessCached()
568
585
  })] : [],
569
- ...primary ? [createWorkflowManageTool(), createWorkflowTool({
570
- catalog: createWorkflowCatalog(),
571
- getCurrentConversationId: () => this.deps.getCurrentContext()?.conversationId,
572
- getConfig: () => this.deps.getConfig?.(),
573
- startWorkflowRun: this.deps.getWorkflowRunService ? (params) => this.deps.getWorkflowRunService().startWorkflowRun(params) : void 0
574
- })] : [],
575
586
  ...primary ? [createDelegateTool({
576
587
  isWorkspaceTrusted: this.deps.isWorkspaceTrusted,
577
588
  workspace,
@@ -27,8 +27,6 @@ export { createMemoryMaintenanceTool, type MemoryMaintenanceToolDeps } from './m
27
27
  export { createClarifyTool, type ClarifyRequestPayload, type GatewayClarifyRequestFn, } from './clarify-tool.js';
28
28
  export { BrowserRuntime, assertBrowserUrlAllowed } from '../../browser/index.js';
29
29
  export { createDelegateTool, DEFAULT_DELEGATE_TOOLS, DELEGATE_BLOCKED_TOOLS, } from './delegate-tool.js';
30
- export { createWorkflowTool, type WorkflowToolDeps, type WorkflowToolInput } from './workflow-tool.js';
31
- export { createWorkflowManageTool } from './workflow-manage-tool.js';
32
30
  export { createAutomationTool, type AutomationToolDeps } from './automation-tool.js';
33
31
  export { createBrowserAutomationTool } from './browser-automation-tool.js';
34
32
  export { createXopcUseTool, type XopcUseToolDeps, type XopcUseToolInput } from './xopc-use-tool.js';
@@ -32,8 +32,6 @@ import { BrowserRuntime } from "../../browser/runtime/browser-runtime.js";
32
32
  import "../../browser/index.js";
33
33
  import { resolveImageModelConfigForTool } from "../image/tool-model-config.js";
34
34
  import { DEFAULT_DELEGATE_TOOLS, DELEGATE_BLOCKED_TOOLS, createDelegateTool } from "./delegate-tool.js";
35
- import { createWorkflowTool } from "./workflow-tool.js";
36
- import { createWorkflowManageTool } from "./workflow-manage-tool.js";
37
35
  import { createAutomationTool } from "./automation-tool.js";
38
36
  import { createBrowserAutomationTool } from "./browser-automation-tool.js";
39
37
  import { createXopcUseTool } from "./xopc-use-tool.js";
@@ -48,4 +46,4 @@ import { createImageTool } from "./image-tool.js";
48
46
  import { createImageGenerateTool, resolveImageGenerationModelConfigForTool } from "./image-generate-tool.js";
49
47
  import { createPersonalReadTool } from "./personal-read-tool.js";
50
48
  import { createTaskCollaborationTool } from "./task-collaboration-tool.js";
51
- export { BrowserRuntime, DEFAULT_DELEGATE_TOOLS, DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, DEFAULT_TOOL_METADATA, DEFAULT_WEB_EXTRACT_MAX_LENGTH, DELEGATE_BLOCKED_TOOLS, GREP_MAX_LINE_LENGTH, MAX_RAW_HTML_CHARS_FOR_WEB_EXTRACT, TodoStore, ToolConcurrencyController, assertBrowserUrlAllowed, createApplyPatchTool, createAutomationTool, createBrowserAutomationTool, createClarifyTool, createCreateShareTool, createDataBatchTool, createDelegateTool, createDesktopPetTool, createExecCommandTool, createFindTool, createGrepTool, createImageGenerateTool, createImageTool, createKnowledgeGetTool, createKnowledgeReadTool, createKnowledgeSearchTool, createKnowledgeWriteTool, createListDirTool, createManagedJobTool, createMemoryMaintenanceTool, createMessageTool, createPersonalReadTool, createPublishArtifactsTool, createReadFileTool, createReadMediaTool, createSendMediaTool, createSessionRecallTool, createSessionSearchTool, createSessionStatusTool, createSkillInstallTool, createSkillManageTool, createSkillViewTool, createSkillsListTool, createSkillsMarketplaceSearchTool, createTaskCollaborationTool, createTaskResultTool, createTodoTool, createToolManualTool, createUpdatePlanTool, createUserContextGetTool, createUserContextReadTool, createUserContextSearchTool, createUserContextUpdateTool, createWebExtractTool, createWebFetchTool, createWebSearchTool, createWorkflowManageTool, createWorkflowTool, createWriteFileTool, createXopcUseTool, findTool, formatSize, fuzzyFindText, generateDiffString, getToolMetadata, grepTool, isShareToolAvailable, listDirTool, normalizeForFuzzyMatch, normalizeToLF, resolveImageGenerationModelConfigForTool, resolveImageModelConfigForTool, resolveToolLockMode, restoreLineEndings, stripBom, stripHtmlBoilerplate, truncateHead, truncateLine, truncateTail, writeFileTool };
49
+ export { BrowserRuntime, DEFAULT_DELEGATE_TOOLS, DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, DEFAULT_TOOL_METADATA, DEFAULT_WEB_EXTRACT_MAX_LENGTH, DELEGATE_BLOCKED_TOOLS, GREP_MAX_LINE_LENGTH, MAX_RAW_HTML_CHARS_FOR_WEB_EXTRACT, TodoStore, ToolConcurrencyController, assertBrowserUrlAllowed, createApplyPatchTool, createAutomationTool, createBrowserAutomationTool, createClarifyTool, createCreateShareTool, createDataBatchTool, createDelegateTool, createDesktopPetTool, createExecCommandTool, createFindTool, createGrepTool, createImageGenerateTool, createImageTool, createKnowledgeGetTool, createKnowledgeReadTool, createKnowledgeSearchTool, createKnowledgeWriteTool, createListDirTool, createManagedJobTool, createMemoryMaintenanceTool, createMessageTool, createPersonalReadTool, createPublishArtifactsTool, createReadFileTool, createReadMediaTool, createSendMediaTool, createSessionRecallTool, createSessionSearchTool, createSessionStatusTool, createSkillInstallTool, createSkillManageTool, createSkillViewTool, createSkillsListTool, createSkillsMarketplaceSearchTool, createTaskCollaborationTool, createTaskResultTool, createTodoTool, createToolManualTool, createUpdatePlanTool, createUserContextGetTool, createUserContextReadTool, createUserContextSearchTool, createUserContextUpdateTool, createWebExtractTool, createWebFetchTool, createWebSearchTool, createWriteFileTool, createXopcUseTool, findTool, formatSize, fuzzyFindText, generateDiffString, getToolMetadata, grepTool, isShareToolAvailable, listDirTool, normalizeForFuzzyMatch, normalizeToLF, resolveImageGenerationModelConfigForTool, resolveImageModelConfigForTool, resolveToolLockMode, restoreLineEndings, stripBom, stripHtmlBoilerplate, truncateHead, truncateLine, truncateTail, writeFileTool };
@@ -9,6 +9,7 @@ export interface KnowledgeToolOptions {
9
9
  canWrite: () => boolean;
10
10
  getWritePolicy: () => 'deny' | 'allow';
11
11
  getReadPolicy: () => KnowledgeReadPolicy;
12
+ getCurrentUserText?: () => string | undefined;
12
13
  }
13
14
  export declare function createKnowledgeSearchTool(options: KnowledgeToolOptions): AgentTool;
14
15
  export declare function createKnowledgeGetTool(options: KnowledgeToolOptions): AgentTool;
@@ -3,6 +3,7 @@ import { canUseKnowledge } from "../../knowledge-memory/usage-policy.js";
3
3
  import { getKnowledgeItem, searchKnowledgeItems, writeKnowledgeItem } from "../../knowledge-memory/repository.js";
4
4
  import "../../knowledge-memory/index.js";
5
5
  import "./local-read-budget.js";
6
+ import { projectForgottenEvidence } from "../../memory-learning/forgotten-history.js";
6
7
  import { Type } from "@sinclair/typebox";
7
8
  //#region src/agent/tools/knowledge-memory-tool.ts
8
9
  const SearchSchema = Type.Object({
@@ -67,7 +68,10 @@ function createKnowledgeSearchTool(options) {
67
68
  context: visibility(options),
68
69
  policy: options.getReadPolicy(),
69
70
  limit: input.maxResults ?? 12
70
- });
71
+ }).map((item) => ({
72
+ ...item,
73
+ source: projectForgottenEvidence(item.source, visibility(options), options.getCurrentUserText?.(), [item.sourceConversationId, item.sourceTurnId].filter((ref) => !!ref))
74
+ }));
71
75
  return {
72
76
  content: [{
73
77
  type: "text",
@@ -95,13 +99,18 @@ function createKnowledgeGetTool(options) {
95
99
  };
96
100
  const id = raw.id;
97
101
  const item = getKnowledgeItem(id);
98
- return item && canUseKnowledge(item, visibility(options), options.getReadPolicy()) ? {
102
+ const visible = item && canUseKnowledge(item, visibility(options), options.getReadPolicy());
103
+ const projected = visible && {
104
+ ...item,
105
+ source: projectForgottenEvidence(item.source, visibility(options), options.getCurrentUserText?.(), [item.sourceConversationId, item.sourceTurnId].filter((ref) => !!ref))
106
+ };
107
+ return visible ? {
99
108
  content: [{
100
109
  type: "text",
101
- text: JSON.stringify(item, null, 2)
110
+ text: JSON.stringify(projected, null, 2)
102
111
  }],
103
112
  details: {
104
- item,
113
+ item: projected,
105
114
  complete: true
106
115
  }
107
116
  } : {