@xopcai/xopc 0.0.180 → 0.0.187

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (762) hide show
  1. package/README.md +1 -1
  2. package/README.zh-CN.md +1 -1
  3. package/dist/browser-ext/manifest.json +1 -1
  4. package/dist/extensions/telegram/xopc.extension.json +1 -1
  5. package/dist/gateway/static/root/assets/{activity-store-DFKtQDgE.js → activity-store-WlR2zEvA.js} +1 -1
  6. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-CcTvB_4W.js → agent-avatar-dicebear-RedDszrG.js} +1 -1
  7. package/dist/gateway/static/root/assets/agents-Df9mTa-K.js +2 -0
  8. package/dist/gateway/static/root/assets/{api-CUClAvuL.js → api-tVOllncq.js} +1 -1
  9. package/dist/gateway/static/root/assets/{app-management-settings-panel-Ib-cWKHM.js → app-management-settings-panel-C9hKBzaF.js} +1 -1
  10. package/dist/gateway/static/root/assets/{appearance-settings-CRSN8WuA.js → appearance-settings-5cQvq7hd.js} +1 -1
  11. package/dist/gateway/static/root/assets/apps-page-Bd3tN-k2.js +1 -0
  12. package/dist/gateway/static/root/assets/{archive-plugin-BBF9zspN.js → archive-plugin-Ct-shK4n.js} +1 -1
  13. package/dist/gateway/static/root/assets/{attachment-load-D3QQfA7w.js → attachment-load-CpPj3m-q.js} +1 -1
  14. package/dist/gateway/static/root/assets/automations-page-w6K9GZQ7.js +6 -0
  15. package/dist/gateway/static/root/assets/{binary-plugins-D78XOjJ3.js → binary-plugins-BpSXZBle.js} +1 -1
  16. package/dist/gateway/static/root/assets/{block-editor-D_VVXlYX.js → block-editor-B8hR2tXc.js} +46 -46
  17. package/dist/gateway/static/root/assets/browser-settings-page-jb5Hf-hm.js +8 -0
  18. package/dist/gateway/static/root/assets/browser-workflow-inputs-D_LAXUrh.js +1 -0
  19. package/dist/gateway/static/root/assets/{browser-workflows-page-58DBMXgG.js → browser-workflows-page-CPAs7-6s.js} +2 -2
  20. package/dist/gateway/static/root/assets/capabilities-settings-panel-BjUe4raq.js +7 -0
  21. package/dist/gateway/static/root/assets/capability-presets-api-CKklVY2p.js +1 -0
  22. package/dist/gateway/static/root/assets/capability-presets-settings-panel-DiWIMYRr.js +1 -0
  23. package/dist/gateway/static/root/assets/{channel-recipient-api-DYtoNV5A.js → channel-recipient-api-WWN-nbFL.js} +1 -1
  24. package/dist/gateway/static/root/assets/channels-settings-D8IkjMuX.js +1 -0
  25. package/dist/gateway/static/root/assets/channels-status-swr-CySs1GQX.js +1 -0
  26. package/dist/gateway/static/root/assets/{connector-logo-CxIXnifA.js → connector-logo-CdNkVFdB.js} +1 -1
  27. package/dist/gateway/static/root/assets/connectors-page-BT2ahw52.js +2 -0
  28. package/dist/gateway/static/root/assets/desktop-pet-Bm_IEAf3.js +1 -0
  29. package/dist/gateway/static/root/assets/{desktop-pet-settings-BOIp4q0Z.js → desktop-pet-settings-C0Ve04-G.js} +1 -1
  30. package/dist/gateway/static/root/assets/{directory-picker-path-field-C8_lsW6S.js → directory-picker-path-field-B2cvhvAI.js} +1 -1
  31. package/dist/gateway/static/root/assets/{extension-debug-page-CMNnSJP6.js → extension-debug-page-DNashgGu.js} +1 -1
  32. package/dist/gateway/static/root/assets/{extension-page-t0pJqLvM.js → extension-page-Bvo-5htX.js} +1 -1
  33. package/dist/gateway/static/root/assets/{extension-settings-page-aiR-tKnW.js → extension-settings-page-BBESdISV.js} +1 -1
  34. package/dist/gateway/static/root/assets/{gateway-config-api-CkyQBD6r.js → gateway-config-api-ClQvokMo.js} +1 -1
  35. package/dist/gateway/static/root/assets/{gateway-settings-BIZfAgfB.js → gateway-settings-CIRs2QVy.js} +1 -1
  36. package/dist/gateway/static/root/assets/{gateway-startup-retry-CSU7UvzG.js → gateway-startup-retry-CntXJF6W.js} +1 -1
  37. package/dist/gateway/static/root/assets/heartbeat-settings-CWKcZuvc.js +1 -0
  38. package/dist/gateway/static/root/assets/home-page-C59f8UJw.js +3 -0
  39. package/dist/gateway/static/root/assets/{image-generation-api-BR6Kb77X.js → image-generation-api-DjSAQwGy.js} +1 -1
  40. package/dist/gateway/static/root/assets/index-D-YfWVyS.css +1 -0
  41. package/dist/gateway/static/root/assets/index-vi5KlR5_.js +222 -0
  42. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-D76uYKeQ.js → keyboard-shortcuts-settings-ahKHpjoW.js} +1 -1
  43. package/dist/gateway/static/root/assets/local-app-workbench-page-DRB4UQBE.js +2 -0
  44. package/dist/gateway/static/root/assets/{local-apps-page-BsLnojTh.js → local-apps-page-B6GKdgza.js} +1 -1
  45. package/dist/gateway/static/root/assets/{locale-store-BNC8HUCI.js → locale-store-Bff30u5V.js} +1 -1
  46. package/dist/gateway/static/root/assets/logs-page-CNp4XiBN.js +7 -0
  47. package/dist/gateway/static/root/assets/{markdown-split-D6smTQWD.js → markdown-split-BeNMJm_i.js} +1 -1
  48. package/dist/gateway/static/root/assets/{media-plugins-D1TmMF0A.js → media-plugins-Bdzrj_-6.js} +1 -1
  49. package/dist/gateway/static/root/assets/messages-CPxz48hr.js +3 -0
  50. package/dist/gateway/static/root/assets/{notes-page-Vt-diFf0.js → notes-page-MYIi-9S9.js} +1 -1
  51. package/dist/gateway/static/root/assets/notes-workbench-DqSkeDXX.js +4 -0
  52. package/dist/gateway/static/root/assets/{page-tabs-BnSzIjH0.js → page-tabs-3t88bbGx.js} +1 -1
  53. package/dist/gateway/static/root/assets/{preview-open-alternatives-CF12Eqi4.js → preview-open-alternatives-Cf_BWbeE.js} +1 -1
  54. package/dist/gateway/static/root/assets/product-delivery-C8JbSj5Y.js +1 -0
  55. package/dist/gateway/static/root/assets/{product-open-page-Du0TE_CU.js → product-open-page-CKq73c98.js} +1 -1
  56. package/dist/gateway/static/root/assets/project-detail-page-BrbHs4Wp.js +1 -0
  57. package/dist/gateway/static/root/assets/projects-page-B80rtkj6.js +1 -0
  58. package/dist/gateway/static/root/assets/remote-access-hub-_Q3GEznb.js +1 -0
  59. package/dist/gateway/static/root/assets/{schema-form-BKvpxqof.js → schema-form-NqOm-OG1.js} +1 -1
  60. package/dist/gateway/static/root/assets/sessions-page-55dJOUVg.js +1 -0
  61. package/dist/gateway/static/root/assets/settings-advanced-gate-CSFCZj14.js +1 -0
  62. package/dist/gateway/static/root/assets/{settings-form-section-kt6GIS32.js → settings-form-section-DYAS8p8z.js} +1 -1
  63. package/dist/gateway/static/root/assets/{settings-loading-skeleton-85eUPcKz.js → settings-loading-skeleton-DZFhxihA.js} +1 -1
  64. package/dist/gateway/static/root/assets/settings-page-BSIiMLi-.js +1 -0
  65. package/dist/gateway/static/root/assets/{settings-page-layout-CkkCee_x.js → settings-page-layout-DfFfkdED.js} +1 -1
  66. package/dist/gateway/static/root/assets/setup-status-panel-q_yE6-H1.js +1 -0
  67. package/dist/gateway/static/root/assets/{share-preview-page-BtLEstaI.js → share-preview-page-CYtrQaZN.js} +1 -1
  68. package/dist/gateway/static/root/assets/shares-settings-gYkRX9Ik.js +1 -0
  69. package/dist/gateway/static/root/assets/skill-reload-api-BoNBMKW6.js +1 -0
  70. package/dist/gateway/static/root/assets/skills-page-GZHKDFSb.js +2 -0
  71. package/dist/gateway/static/root/assets/{skills-page.utils-C2SHvq8V.js → skills-page.utils-BBXirAjc.js} +1 -1
  72. package/dist/gateway/static/root/assets/system-settings-panel-DLf5YvFl.js +1 -0
  73. package/dist/gateway/static/root/assets/task-detail-page-DFGkuYfl.js +1 -0
  74. package/dist/gateway/static/root/assets/{theme-store-ClDa_Bci.js → theme-store-y7e_tvYi.js} +1 -1
  75. package/dist/gateway/static/root/assets/time-picker-5sHEZ5w5.js +1 -0
  76. package/dist/gateway/static/root/assets/{typed-models-lib-GsmwmB40.js → typed-models-lib-DR12j_dr.js} +1 -1
  77. package/dist/gateway/static/root/assets/use-save-bar-registration-BsvcJgZl.js +1 -0
  78. package/dist/gateway/static/root/assets/user-context-page-q5dr8JFG.js +1 -0
  79. package/dist/gateway/static/root/assets/{voice-api-key-field-Blaxsbb3.js → voice-api-key-field-DKADXFWD.js} +1 -1
  80. package/dist/gateway/static/root/assets/work-discovery-overlay-BC1nExf8.js +1 -0
  81. package/dist/gateway/static/root/assets/work-discovery-page-fNvSg40M.js +1 -0
  82. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-CTG4RpRE.js → workflow-run-setup-panel-C8X5W-8k.js} +2 -2
  83. package/dist/gateway/static/root/assets/workflows-page-YJBKmPYK.js +11 -0
  84. package/dist/gateway/static/root/index.html +8 -8
  85. package/dist/package.js +1 -1
  86. package/dist/packages/gateway-contract/src/product-delivery.js +1 -3
  87. package/dist/packages/gateway-contract/src/project-monitoring.js +31 -0
  88. package/dist/packages/gateway-contract/src/task-lifecycle.js +67 -0
  89. package/dist/packages/gateway-contract/src/task-runs.js +80 -0
  90. package/dist/packages/gateway-contract/src/tasks.js +353 -0
  91. package/dist/src/activity/types.d.ts +2 -2
  92. package/dist/src/agent/agent-instance-gateway.d.ts +1 -1
  93. package/dist/src/agent/agent-manager.d.ts +3 -3
  94. package/dist/src/agent/agent-manager.js +23 -22
  95. package/dist/src/agent/bootstrap/filter-bootstrap-files.js +1 -1
  96. package/dist/src/agent/child-agent-factory.d.ts +1 -2
  97. package/dist/src/agent/child-agent-factory.js +4 -10
  98. package/dist/src/agent/context/execution-scope.d.ts +2 -2
  99. package/dist/src/agent/context/execution-scope.js +17 -20
  100. package/dist/src/agent/context/project-context.d.ts +6 -2
  101. package/dist/src/agent/context/project-context.js +17 -25
  102. package/dist/src/agent/context/workspace-templates/AGENTS.md +1 -1
  103. package/dist/src/agent/embedded/model-runtime.js +1 -1
  104. package/dist/src/agent/embedded/run-turn.js +2 -0
  105. package/dist/src/agent/embedded/session-tool-result-guard.d.ts +2 -0
  106. package/dist/src/agent/embedded/session-tool-result-guard.js +16 -4
  107. package/dist/src/agent/image/tool-model-config.js +1 -1
  108. package/dist/src/agent/inbound/inbound-loop.js +1 -1
  109. package/dist/src/agent/inbound/turn-dispatcher.js +1 -1
  110. package/dist/src/agent/ipc/inbox.js +1 -1
  111. package/dist/src/agent/lifecycle/progress.js +0 -1
  112. package/dist/src/agent/mcp/bundle-mcp-policy.d.ts +3 -5
  113. package/dist/src/agent/mcp/bundle-mcp-policy.js +8 -5
  114. package/dist/src/agent/mcp/index.js +2 -2
  115. package/dist/src/agent/mcp/resolve-embedded-mcp-tools.js +5 -6
  116. package/dist/src/agent/memory/builtin-provider.d.ts +1 -5
  117. package/dist/src/agent/memory/builtin-provider.js +75 -229
  118. package/dist/src/agent/memory/compaction.js +1 -1
  119. package/dist/src/agent/memory/context/planner.d.ts +3 -0
  120. package/dist/src/agent/memory/context/planner.js +32 -11
  121. package/dist/src/agent/memory/context/types.d.ts +6 -0
  122. package/dist/src/agent/memory/create-memory-manager.d.ts +1 -2
  123. package/dist/src/agent/memory/create-memory-manager.js +4 -4
  124. package/dist/src/agent/memory/dreaming/config.d.ts +16 -13
  125. package/dist/src/agent/memory/dreaming/config.js +47 -40
  126. package/dist/src/agent/memory/dreaming/constants.d.ts +5 -22
  127. package/dist/src/agent/memory/dreaming/constants.js +6 -24
  128. package/dist/src/agent/memory/dreaming/deep-promotion.d.ts +4 -11
  129. package/dist/src/agent/memory/dreaming/deep-promotion.js +126 -279
  130. package/dist/src/agent/memory/dreaming/light-sweep.d.ts +5 -2
  131. package/dist/src/agent/memory/dreaming/light-sweep.js +79 -197
  132. package/dist/src/agent/memory/dreaming/preview.d.ts +3 -9
  133. package/dist/src/agent/memory/dreaming/preview.js +34 -77
  134. package/dist/src/agent/memory/dreaming/promotion-lifecycle.d.ts +1 -15
  135. package/dist/src/agent/memory/dreaming/promotion-lifecycle.js +3 -42
  136. package/dist/src/agent/memory/dreaming/rem-patterns.d.ts +7 -13
  137. package/dist/src/agent/memory/dreaming/rem-patterns.js +104 -261
  138. package/dist/src/agent/memory/dreaming/runner.d.ts +10 -0
  139. package/dist/src/agent/memory/dreaming/runner.js +78 -0
  140. package/dist/src/agent/memory/dreaming/schedule.d.ts +23 -0
  141. package/dist/src/agent/memory/dreaming/schedule.js +38 -0
  142. package/dist/src/agent/memory/dreaming/scope.d.ts +2 -4
  143. package/dist/src/agent/memory/dreaming/scope.js +21 -13
  144. package/dist/src/agent/memory/dreaming/utils.d.ts +2 -51
  145. package/dist/src/agent/memory/dreaming/utils.js +4 -112
  146. package/dist/src/agent/memory/index.d.ts +1 -3
  147. package/dist/src/agent/memory/index.js +2 -3
  148. package/dist/src/agent/memory/manager.d.ts +1 -5
  149. package/dist/src/agent/memory/manager.js +1 -27
  150. package/dist/src/agent/memory/memory-config.d.ts +1 -6
  151. package/dist/src/agent/memory/memory-config.js +2 -23
  152. package/dist/src/agent/memory/summary-generator.d.ts +1 -1
  153. package/dist/src/agent/memory/types.d.ts +5 -48
  154. package/dist/src/agent/memory/understanding/service.js +1 -2
  155. package/dist/src/agent/memory/user-context-coordinator.d.ts +2 -1
  156. package/dist/src/agent/memory/user-context-coordinator.js +32 -14
  157. package/dist/src/agent/messaging/command-handler.d.ts +1 -9
  158. package/dist/src/agent/messaging/command-handler.js +0 -8
  159. package/dist/src/agent/messaging/outbound-coordinator.d.ts +5 -14
  160. package/dist/src/agent/messaging/outbound-coordinator.js +4 -9
  161. package/dist/src/agent/middleware/index.d.ts +1 -1
  162. package/dist/src/agent/middleware/self-verify.d.ts +2 -2
  163. package/dist/src/agent/middleware/self-verify.js +7 -7
  164. package/dist/src/agent/orchestration/agent-orchestrator.js +16 -66
  165. package/dist/src/agent/prompt/response-language.d.ts +3 -0
  166. package/dist/src/agent/prompt/response-language.js +11 -0
  167. package/dist/src/agent/prompt/sections/behavior.js +2 -2
  168. package/dist/src/agent/prompt/sections/memory-skills.js +10 -13
  169. package/dist/src/agent/prompt/sections/response-language.d.ts +2 -0
  170. package/dist/src/agent/prompt/sections/response-language.js +13 -0
  171. package/dist/src/agent/prompt/sections/tooling.js +0 -2
  172. package/dist/src/agent/prompt/service-prompt-builder.d.ts +1 -1
  173. package/dist/src/agent/prompt/service-prompt-builder.js +6 -29
  174. package/dist/src/agent/prompt/subagent-context.d.ts +2 -0
  175. package/dist/src/agent/prompt/subagent-context.js +1 -0
  176. package/dist/src/agent/prompt/system-prompt.d.ts +3 -0
  177. package/dist/src/agent/prompt/system-prompt.js +10 -2
  178. package/dist/src/agent/service/direct-turn-helpers.d.ts +2 -2
  179. package/dist/src/agent/service/direct-turn-helpers.js +8 -5
  180. package/dist/src/agent/service/process-direct-streaming.d.ts +2 -2
  181. package/dist/src/agent/service/process-direct-streaming.js +2 -2
  182. package/dist/src/agent/service.d.ts +6 -9
  183. package/dist/src/agent/service.js +31 -25
  184. package/dist/src/agent/service.types.d.ts +2 -15
  185. package/dist/src/agent/session/index.d.ts +1 -1
  186. package/dist/src/agent/session/session-config-service.d.ts +1 -0
  187. package/dist/src/agent/session/session-config-service.js +14 -0
  188. package/dist/src/agent/session/session-inspector.js +1 -1
  189. package/dist/src/agent/session/session-state-bag.d.ts +8 -8
  190. package/dist/src/agent/session/session-state-bag.js +10 -10
  191. package/dist/src/agent/skills/hub-lock.js +1 -1
  192. package/dist/src/agent/source-context/types.d.ts +1 -1
  193. package/dist/src/agent/source-context/types.js +1 -1
  194. package/dist/src/agent/starter-agents.js +1 -1
  195. package/dist/src/agent/{outcomes → tasks}/execution-verifier.d.ts +3 -0
  196. package/dist/src/agent/{outcomes → tasks}/execution-verifier.js +3 -2
  197. package/dist/src/agent/tasks/task-judge-service.d.ts +31 -0
  198. package/dist/src/agent/tasks/task-judge-service.js +183 -0
  199. package/dist/src/agent/tool-manuals/index.js +1 -1
  200. package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -1
  201. package/dist/src/agent/tool-manuals/xopc-use.js +253 -118
  202. package/dist/src/agent/tools/apply-patch.d.ts +1 -5
  203. package/dist/src/agent/tools/apply-patch.js +1 -12
  204. package/dist/src/agent/tools/clarify-tool.js +1 -1
  205. package/dist/src/agent/tools/delegate-tool.js +4 -4
  206. package/dist/src/agent/tools/dreaming-tool.d.ts +0 -1
  207. package/dist/src/agent/tools/dreaming-tool.js +48 -80
  208. package/dist/src/agent/tools/exec-command.d.ts +0 -2
  209. package/dist/src/agent/tools/exec-command.js +2 -19
  210. package/dist/src/agent/tools/factory.d.ts +2 -4
  211. package/dist/src/agent/tools/factory.js +8 -29
  212. package/dist/src/agent/tools/index.d.ts +0 -2
  213. package/dist/src/agent/tools/index.js +1 -3
  214. package/dist/src/agent/tools/managed-job-tool.js +1 -1
  215. package/dist/src/agent/tools/memory-tool.d.ts +0 -3
  216. package/dist/src/agent/tools/memory-tool.js +14 -36
  217. package/dist/src/agent/tools/tool-manual-tool.js +1 -1
  218. package/dist/src/agent/tools/workflow-tool.d.ts +1 -1
  219. package/dist/src/agent/tools/workflow-tool.js +4 -4
  220. package/dist/src/agent/tools/write.d.ts +0 -2
  221. package/dist/src/agent/tools/write.js +0 -11
  222. package/dist/src/agent/tools/xopc-use-tool.d.ts +5 -4
  223. package/dist/src/agent/tools/xopc-use-tool.js +987 -143
  224. package/dist/src/agent/transcript/thinking-types.d.ts +3 -0
  225. package/dist/src/agent/workflow/builtins/index.js +2 -2
  226. package/dist/src/agent/workflow/index.js +2 -2
  227. package/dist/src/agent/workflow/subagent-runner.js +1 -0
  228. package/dist/src/agent/workflow/workflow-child-tools.js +0 -3
  229. package/dist/src/agent/workspace-runtime/registry.d.ts +2 -4
  230. package/dist/src/agent/workspace-runtime/registry.js +1 -2
  231. package/dist/src/agent-manifest/index.js +3 -3
  232. package/dist/src/agent-manifest/resolver.d.ts +20 -1
  233. package/dist/src/agent-manifest/resolver.js +47 -20
  234. package/dist/src/agent-manifest/schema.d.ts +128 -52
  235. package/dist/src/agent-manifest/schema.js +46 -8
  236. package/dist/src/agent-runtime/memory-runtime.d.ts +2 -2
  237. package/dist/src/ai-assist/text-assist.js +4 -4
  238. package/dist/src/auth/credentials.js +2 -2
  239. package/dist/src/auth/profiles/store.js +1 -1
  240. package/dist/src/auth/sync-provider-auth.js +2 -2
  241. package/dist/src/automations/domain/defaults.js +1 -1
  242. package/dist/src/automations/domain/types.d.ts +15 -1
  243. package/dist/src/automations/domain/validation.d.ts +336 -12
  244. package/dist/src/automations/domain/validation.js +6 -0
  245. package/dist/src/automations/draft/automation-draft-prompt.js +3 -3
  246. package/dist/src/automations/draft/automation-draft-validator.d.ts +62 -1
  247. package/dist/src/automations/draft/automation-draft-validator.js +1 -0
  248. package/dist/src/automations/index.js +1 -1
  249. package/dist/src/automations/service/action-executor.d.ts +2 -2
  250. package/dist/src/automations/service/action-executor.js +21 -1
  251. package/dist/src/automations/service/automation-service.js +21 -21
  252. package/dist/src/browser/providers/browser-ext-install.js +1 -1
  253. package/dist/src/browser/providers/cloakbrowser.js +1 -1
  254. package/dist/src/chat-commands/builtins/understanding.d.ts +1 -0
  255. package/dist/src/chat-commands/builtins/understanding.js +91 -0
  256. package/dist/src/chat-commands/context.d.ts +0 -3
  257. package/dist/src/chat-commands/context.js +0 -2
  258. package/dist/src/chat-commands/index.d.ts +1 -2
  259. package/dist/src/chat-commands/index.js +3 -5
  260. package/dist/src/chat-commands/types.d.ts +0 -3
  261. package/dist/src/cli/command-catalog.js +0 -43
  262. package/dist/src/cli/command-loaders.js +0 -1
  263. package/dist/src/cli/command-manifest.js +0 -4
  264. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  265. package/dist/src/cli/commands/doctor/checks/provider-auth.js +1 -1
  266. package/dist/src/cli/commands/gateway/lifecycle-core.js +1 -1
  267. package/dist/src/cli/commands/gateway/restart-health.d.ts +2 -2
  268. package/dist/src/cli/commands/gateway/restart-health.js +3 -3
  269. package/dist/src/cli/commands/gateway/service.js +4 -4
  270. package/dist/src/cli/commands/models.js +1 -1
  271. package/dist/src/cli/commands/onboard/gateway.js +1 -1
  272. package/dist/src/cli/commands/project.js +12 -33
  273. package/dist/src/cli/commands/providers.d.ts +4 -4
  274. package/dist/src/cli/commands/providers.js +16 -16
  275. package/dist/src/cli/commands/search.js +7 -7
  276. package/dist/src/cli/commands/setup-shared/index.d.ts +2 -2
  277. package/dist/src/cli/commands/setup-shared/index.js +2 -2
  278. package/dist/src/cli/commands/setup-shared/output.d.ts +4 -4
  279. package/dist/src/cli/commands/setup-shared/output.js +26 -26
  280. package/dist/src/cli/commands/setup-shared/runner.d.ts +8 -8
  281. package/dist/src/cli/commands/setup-shared/runner.js +9 -9
  282. package/dist/src/cli/commands/setup-shared/types.d.ts +2 -2
  283. package/dist/src/cli/commands/skills.d.ts +7 -0
  284. package/dist/src/cli/commands/skills.js +16 -16
  285. package/dist/src/cli/commands/update.js +1 -1
  286. package/dist/src/cli/commands/voice.d.ts +1 -1
  287. package/dist/src/cli/commands/voice.js +6 -6
  288. package/dist/src/cli/templates.js +1 -1
  289. package/dist/src/commands/agents.config.js +2 -18
  290. package/dist/src/config/agent-profile.d.ts +1 -1
  291. package/dist/src/config/agent-profile.js +1 -1
  292. package/dist/src/config/index.js +7 -7
  293. package/dist/src/config/loader.js +1 -1
  294. package/dist/src/config/models-json.js +1 -1
  295. package/dist/src/config/paths.d.ts +0 -3
  296. package/dist/src/config/paths.js +2 -7
  297. package/dist/src/config/schema.d.ts +160 -258
  298. package/dist/src/config/schema.js +8 -114
  299. package/dist/src/config/web-patch.d.ts +0 -29
  300. package/dist/src/config/web-patch.js +2 -69
  301. package/dist/src/connectors/composio-catalog.js +7 -20
  302. package/dist/src/connectors/composio-sessions.js +14 -4
  303. package/dist/src/connectors/composio.d.ts +7 -2
  304. package/dist/src/connectors/composio.js +49 -40
  305. package/dist/src/connectors/connected-source-ingestion.js +2 -1
  306. package/dist/src/connectors/connected-source-normalizers.js +5 -5
  307. package/dist/src/connectors/connector-identity.d.ts +2 -0
  308. package/dist/src/connectors/connector-identity.js +64 -1
  309. package/dist/src/connectors/learning-coordinator.js +34 -15
  310. package/dist/src/connectors/learning-recipes.d.ts +2 -0
  311. package/dist/src/connectors/learning-recipes.js +11 -1
  312. package/dist/src/connectors/source-change-publisher.js +5 -4
  313. package/dist/src/connectors/types.d.ts +16 -0
  314. package/dist/src/daemon/launchd.js +2 -2
  315. package/dist/src/daemon/schtasks.js +1 -1
  316. package/dist/src/daemon/service.js +3 -3
  317. package/dist/src/daemon/systemd.js +1 -1
  318. package/dist/src/daemon/types.d.ts +5 -5
  319. package/dist/src/discussions/analyzer.d.ts +6 -6
  320. package/dist/src/discussions/analyzer.js +32 -22
  321. package/dist/src/discussions/index.d.ts +3 -2
  322. package/dist/src/discussions/index.js +5 -4
  323. package/dist/src/discussions/live-worker.d.ts +5 -3
  324. package/dist/src/discussions/live-worker.js +24 -12
  325. package/dist/src/discussions/{worker.d.ts → organizer-worker.d.ts} +3 -5
  326. package/dist/src/discussions/organizer-worker.js +58 -0
  327. package/dist/src/discussions/organizer.d.ts +22 -0
  328. package/dist/src/discussions/organizer.js +92 -0
  329. package/dist/src/discussions/repository.d.ts +16 -5
  330. package/dist/src/discussions/repository.js +159 -135
  331. package/dist/src/discussions/sealer.d.ts +25 -0
  332. package/dist/src/discussions/sealer.js +116 -0
  333. package/dist/src/discussions/service.d.ts +2 -1
  334. package/dist/src/discussions/service.js +70 -60
  335. package/dist/src/discussions/transcript.js +1 -1
  336. package/dist/src/discussions/types.d.ts +45 -20
  337. package/dist/src/discussions/types.js +4 -2
  338. package/dist/src/extensions/lockfile.js +1 -1
  339. package/dist/src/extensions/types/core.d.ts +3 -3
  340. package/dist/src/extensions/types/tui.d.ts +2 -2
  341. package/dist/src/extensions/update.d.ts +3 -3
  342. package/dist/src/extensions/update.js +13 -13
  343. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
  344. package/dist/src/gateway/agent-builtin-tools.js +0 -1
  345. package/dist/src/gateway/agent-run-relay.d.ts +1 -1
  346. package/dist/src/gateway/agents-admin.js +17 -19
  347. package/dist/src/gateway/capability-presets-admin.d.ts +13 -0
  348. package/dist/src/gateway/capability-presets-admin.js +59 -2
  349. package/dist/src/gateway/chat-limits.d.ts +6 -2
  350. package/dist/src/gateway/chat-limits.js +17 -3
  351. package/dist/src/gateway/chat-stream/thinking-delta-coalescer.js +3 -3
  352. package/dist/src/gateway/dreaming-automation-reconciler.js +13 -12
  353. package/dist/src/gateway/file-path-classifier.js +1 -1
  354. package/dist/src/gateway/heartbeat/service.js +1 -1
  355. package/dist/src/gateway/hono/app.js +9 -10
  356. package/dist/src/gateway/hono/index.d.ts +1 -1
  357. package/dist/src/gateway/hono/index.js +2 -2
  358. package/dist/src/gateway/hono/lib/config-payload.d.ts +15 -35
  359. package/dist/src/gateway/hono/lib/config-payload.js +6 -4
  360. package/dist/src/gateway/hono/middleware/strict-rate-limit.d.ts +4 -0
  361. package/dist/src/gateway/hono/middleware/strict-rate-limit.js +8 -1
  362. package/dist/src/gateway/hono/routes/activity.js +1 -2
  363. package/dist/src/gateway/hono/routes/agent-stream.js +135 -34
  364. package/dist/src/gateway/hono/routes/capability-presets.js +27 -1
  365. package/dist/src/gateway/hono/routes/composer-history.js +1 -1
  366. package/dist/src/gateway/hono/routes/config-patch/misc.d.ts +1 -1
  367. package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -6
  368. package/dist/src/gateway/hono/routes/connectors.js +35 -30
  369. package/dist/src/gateway/hono/routes/deps.d.ts +1 -0
  370. package/dist/src/gateway/hono/routes/discussions.js +13 -3
  371. package/dist/src/gateway/hono/routes/home.d.ts +1 -1
  372. package/dist/src/gateway/hono/routes/home.js +2 -2
  373. package/dist/src/gateway/hono/routes/index.js +2 -4
  374. package/dist/src/gateway/hono/routes/lazy-bundles.js +0 -16
  375. package/dist/src/gateway/hono/routes/media.js +9 -3
  376. package/dist/src/gateway/hono/routes/memory.js +38 -113
  377. package/dist/src/gateway/hono/routes/models.js +1 -1
  378. package/dist/src/gateway/hono/routes/projects.js +220 -588
  379. package/dist/src/gateway/hono/routes/public-gateway.js +4 -2
  380. package/dist/src/gateway/hono/routes/{work.d.ts → tasks.d.ts} +1 -1
  381. package/dist/src/gateway/hono/routes/tasks.js +343 -0
  382. package/dist/src/gateway/hono/routes/workflows.js +7 -8
  383. package/dist/src/gateway/hono/routes/you.d.ts +1 -1
  384. package/dist/src/gateway/hono/routes/you.js +250 -78
  385. package/dist/src/gateway/hono/sse.d.ts +1 -16
  386. package/dist/src/gateway/hono/sse.js +4 -161
  387. package/dist/src/gateway/index.js +2 -2
  388. package/dist/src/gateway/rate-limit/buckets.d.ts +3 -0
  389. package/dist/src/gateway/rate-limit/buckets.js +12 -0
  390. package/dist/src/gateway/security/csp.d.ts +2 -0
  391. package/dist/src/gateway/security/csp.js +4 -0
  392. package/dist/src/gateway/service/agent-runner.d.ts +32 -13
  393. package/dist/src/gateway/service/agent-runner.js +97 -46
  394. package/dist/src/gateway/service/config-coordinator.js +1 -1
  395. package/dist/src/gateway/service/run-gateway-agent.d.ts +1 -1
  396. package/dist/src/gateway/service/run-gateway-agent.js +27 -42
  397. package/dist/src/gateway/service/session-input-coordinator.d.ts +59 -0
  398. package/dist/src/gateway/service/session-input-coordinator.js +183 -0
  399. package/dist/src/gateway/service/sessions-api.d.ts +1 -0
  400. package/dist/src/gateway/service.d.ts +28 -16
  401. package/dist/src/gateway/service.js +150 -133
  402. package/dist/src/gateway/session-reset-service.js +6 -6
  403. package/dist/src/gateway/user-turn-input.d.ts +0 -1
  404. package/dist/src/heartbeat/index.js +1 -1
  405. package/dist/src/i18n/index.d.ts +0 -1
  406. package/dist/src/i18n/index.js +1 -2
  407. package/dist/src/i18n/language-consistency.d.ts +10 -0
  408. package/dist/src/i18n/language-consistency.js +34 -0
  409. package/dist/src/i18n/response-language.d.ts +8 -0
  410. package/dist/src/i18n/response-language.js +17 -0
  411. package/dist/src/i18n/share-tool-bundle.js +2 -2
  412. package/dist/src/mcp/channel-bridge.js +5 -3
  413. package/dist/src/media/store.js +1 -1
  414. package/dist/src/media/types.d.ts +1 -1
  415. package/dist/src/media/uri.js +1 -2
  416. package/dist/src/media-understanding/runner.d.ts +1 -1
  417. package/dist/src/media-understanding/runner.js +9 -9
  418. package/dist/src/media-understanding/types.d.ts +4 -4
  419. package/dist/src/mobile/notification-service.js +16 -21
  420. package/dist/src/mobile/notification-types.d.ts +2 -2
  421. package/dist/src/notes/types.d.ts +0 -1
  422. package/dist/src/proactive/events/product-event-bridge.js +17 -14
  423. package/dist/src/proactive/execution/context.js +45 -28
  424. package/dist/src/proactive/execution/insight.js +1 -1
  425. package/dist/src/proactive/temporal/worker.js +2 -2
  426. package/dist/src/projects/index.d.ts +0 -1
  427. package/dist/src/projects/index.js +1 -2
  428. package/dist/src/projects/project-loop.d.ts +16 -8
  429. package/dist/src/projects/project-loop.js +41 -48
  430. package/dist/src/projects/project-service.d.ts +14 -4
  431. package/dist/src/projects/project-service.js +18 -10
  432. package/dist/src/projects/project-store.d.ts +36 -3
  433. package/dist/src/projects/project-store.js +116 -14
  434. package/dist/src/projects/types.d.ts +50 -3
  435. package/dist/src/providers/auth-runtime/resolve-auth.js +1 -1
  436. package/dist/src/providers/index.js +2 -2
  437. package/dist/src/providers/model-registry.js +1 -1
  438. package/dist/src/providers/model-response.d.ts +4 -0
  439. package/dist/src/providers/model-response.js +28 -0
  440. package/dist/src/providers/register-runtime-providers.js +1 -1
  441. package/dist/src/session/config-types.d.ts +3 -0
  442. package/dist/src/session/index.d.ts +0 -1
  443. package/dist/src/session/index.js +1 -2
  444. package/dist/src/session/init-session-turn.js +6 -6
  445. package/dist/src/session/store.js +4 -4
  446. package/dist/src/session/types.d.ts +1 -6
  447. package/dist/src/share/site-proxy.js +1 -1
  448. package/dist/src/storage/sqlite/config-repository.js +7 -4
  449. package/dist/src/storage/sqlite/connection.js +1 -1
  450. package/dist/src/storage/sqlite/connector-account-repository.d.ts +12 -0
  451. package/dist/src/storage/sqlite/connector-account-repository.js +143 -0
  452. package/dist/src/storage/sqlite/connector-learning-repository.d.ts +5 -2
  453. package/dist/src/storage/sqlite/connector-learning-repository.js +14 -7
  454. package/dist/src/storage/sqlite/connector-repository.js +12 -3
  455. package/dist/src/storage/sqlite/connector-sync-policy-repository.d.ts +4 -3
  456. package/dist/src/storage/sqlite/connector-sync-policy-repository.js +20 -10
  457. package/dist/src/storage/sqlite/dreaming-repository.d.ts +61 -0
  458. package/dist/src/storage/sqlite/dreaming-repository.js +88 -0
  459. package/dist/src/storage/sqlite/index.d.ts +6 -4
  460. package/dist/src/storage/sqlite/index.js +7 -5
  461. package/dist/src/storage/sqlite/memory-readiness-repository.d.ts +7 -0
  462. package/dist/src/storage/sqlite/memory-readiness-repository.js +30 -0
  463. package/dist/src/storage/sqlite/memory-records-repository.d.ts +31 -26
  464. package/dist/src/storage/sqlite/memory-records-repository.js +109 -138
  465. package/dist/src/storage/sqlite/migrations/090_outcome_contract_judgment.sql +2 -0
  466. package/dist/src/storage/sqlite/migrations/091_context_allocation.sql +1 -0
  467. package/dist/src/storage/sqlite/migrations/092_outcome_execution_runtime.sql +88 -0
  468. package/dist/src/storage/sqlite/migrations/093_remove_legacy_goals.sql +174 -0
  469. package/dist/src/storage/sqlite/migrations/094_outcome_judgment_and_authority.sql +3 -0
  470. package/dist/src/storage/sqlite/migrations/095_session_input_queue.sql +35 -0
  471. package/dist/src/storage/sqlite/migrations/096_drop_work_intakes.sql +6 -0
  472. package/dist/src/storage/sqlite/migrations/097_work_item_lifecycle.sql +194 -0
  473. package/dist/src/storage/sqlite/migrations/098_discussion_note_documents.sql +99 -0
  474. package/dist/src/storage/sqlite/migrations/099_task_model.sql +500 -0
  475. package/dist/src/storage/sqlite/migrations/100_project_task_taskrun.sql +763 -0
  476. package/dist/src/storage/sqlite/migrations/101_session_response_language.sql +1 -0
  477. package/dist/src/storage/sqlite/migrations/102_session_user_context_mode.sql +2 -0
  478. package/dist/src/storage/sqlite/migrations/103_finalize_structured_memory.sql +3 -0
  479. package/dist/src/storage/sqlite/migrations/104_turn_memory_feedback.sql +77 -0
  480. package/dist/src/storage/sqlite/migrations/105_dreaming_ledger.sql +34 -0
  481. package/dist/src/storage/sqlite/migrations/106_dreaming_run_reproducibility.sql +2 -0
  482. package/dist/src/storage/sqlite/migrations/107_connector_accounts.sql +146 -0
  483. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  484. package/dist/src/storage/sqlite/migrations/runner.js +37 -5
  485. package/dist/src/storage/sqlite/migrations/runner.ts +44 -3
  486. package/dist/src/storage/sqlite/migrations/types.d.ts +2 -0
  487. package/dist/src/storage/sqlite/migrations/types.ts +2 -0
  488. package/dist/src/storage/sqlite/row-mappers.d.ts +2 -2
  489. package/dist/src/storage/sqlite/row-mappers.js +2 -2
  490. package/dist/src/storage/sqlite/schema.d.ts +3 -1
  491. package/dist/src/storage/sqlite/schema.js +5 -2
  492. package/dist/src/storage/sqlite/schema.sql +76 -61
  493. package/dist/src/storage/sqlite/session-input-repository.d.ts +59 -0
  494. package/dist/src/storage/sqlite/session-input-repository.js +147 -0
  495. package/dist/src/storage/sqlite/session-repository.js +5 -6
  496. package/dist/src/{work → tasks}/attention-governor.d.ts +5 -5
  497. package/dist/src/{work → tasks}/attention-governor.js +3 -4
  498. package/dist/src/tasks/execution-context.d.ts +23 -0
  499. package/dist/src/{work → tasks}/execution-context.js +7 -20
  500. package/dist/src/{work → tasks}/home-query-service.d.ts +16 -28
  501. package/dist/src/{work → tasks}/home-query-service.js +56 -126
  502. package/dist/src/tasks/index.d.ts +20 -0
  503. package/dist/src/tasks/index.js +21 -0
  504. package/dist/src/{work → tasks}/project-monitoring-service.js +1 -1
  505. package/dist/src/{work → tasks}/project-operating-view-service.d.ts +2 -4
  506. package/dist/src/tasks/project-operating-view-service.js +77 -0
  507. package/dist/src/tasks/task-application-service.d.ts +35 -0
  508. package/dist/src/tasks/task-application-service.js +423 -0
  509. package/dist/src/tasks/task-context-assembler.d.ts +36 -0
  510. package/dist/src/tasks/task-context-assembler.js +125 -0
  511. package/dist/src/tasks/task-context-repository.d.ts +52 -0
  512. package/dist/src/tasks/task-context-repository.js +97 -0
  513. package/dist/src/tasks/task-contract-definition.d.ts +10 -0
  514. package/dist/src/{work/outcome-contract-definition.js → tasks/task-contract-definition.js} +7 -5
  515. package/dist/src/tasks/task-contract-planner.d.ts +17 -0
  516. package/dist/src/tasks/task-contract-planner.js +87 -0
  517. package/dist/src/tasks/task-dependency-service.d.ts +21 -0
  518. package/dist/src/tasks/task-dependency-service.js +81 -0
  519. package/dist/src/tasks/task-outbox-dispatcher.d.ts +6 -0
  520. package/dist/src/tasks/task-outbox-dispatcher.js +31 -0
  521. package/dist/src/tasks/task-read-model-projector.d.ts +16 -0
  522. package/dist/src/tasks/task-read-model-projector.js +93 -0
  523. package/dist/src/tasks/task-repository.d.ts +82 -0
  524. package/dist/src/tasks/task-repository.js +185 -0
  525. package/dist/src/{work/outcome-run-coordinator.d.ts → tasks/task-run-coordinator.d.ts} +6 -8
  526. package/dist/src/tasks/task-run-coordinator.js +130 -0
  527. package/dist/src/tasks/task-run-dispatcher.d.ts +11 -0
  528. package/dist/src/tasks/task-run-dispatcher.js +90 -0
  529. package/dist/src/tasks/task-run-repository.d.ts +102 -0
  530. package/dist/src/tasks/task-run-repository.js +312 -0
  531. package/dist/src/tasks/task-signal-service.d.ts +8 -0
  532. package/dist/src/tasks/task-signal-service.js +72 -0
  533. package/dist/src/tasks/task-value-metrics-service.d.ts +4 -0
  534. package/dist/src/tasks/task-value-metrics-service.js +78 -0
  535. package/dist/src/tasks/task-workflow-coordinator.d.ts +5 -0
  536. package/dist/src/tasks/task-workflow-coordinator.js +54 -0
  537. package/dist/src/tui/backends/embedded-backend.d.ts +11 -1
  538. package/dist/src/tui/backends/embedded-backend.js +29 -3
  539. package/dist/src/tui/backends/gateway-sse-backend.d.ts +6 -3
  540. package/dist/src/tui/backends/gateway-sse-backend.js +38 -127
  541. package/dist/src/tui/components/settings-selector.js +0 -20
  542. package/dist/src/tui/components/tui-bottom-bar.d.ts +2 -3
  543. package/dist/src/tui/components/tui-bottom-bar.js +4 -9
  544. package/dist/src/tui/extension-host/runtime-context.js +1 -1
  545. package/dist/src/tui/tui-backend.d.ts +13 -1
  546. package/dist/src/tui/tui-backend.js +10 -1
  547. package/dist/src/tui/tui-command-formatters.js +1 -2
  548. package/dist/src/tui/tui-commands.js +8 -19
  549. package/dist/src/tui/tui-session-actions.js +0 -2
  550. package/dist/src/tui/tui-settings.d.ts +0 -6
  551. package/dist/src/tui/tui-settings.js +0 -10
  552. package/dist/src/tui/tui-startup-resources.js +1 -1
  553. package/dist/src/tui/tui-types.d.ts +1 -4
  554. package/dist/src/tui/tui-types.js +1 -2
  555. package/dist/src/tui/tui.js +90 -73
  556. package/dist/src/tui/xopc-tui-keybindings.d.ts +25 -6
  557. package/dist/src/tui/xopc-tui-keybindings.js +0 -5
  558. package/dist/src/tunnel/frpc-extract.js +1 -1
  559. package/dist/src/user-context/config.d.ts +165 -16
  560. package/dist/src/user-context/config.js +74 -14
  561. package/dist/src/user-context/context-compiler.d.ts +4 -8
  562. package/dist/src/user-context/context-compiler.js +7 -10
  563. package/dist/src/user-context/interaction-state.js +8 -4
  564. package/dist/src/user-context/manual-understanding.d.ts +19 -0
  565. package/dist/src/user-context/manual-understanding.js +69 -0
  566. package/dist/src/user-context/memory-episode-evaluator.d.ts +32 -0
  567. package/dist/src/user-context/memory-episode-evaluator.js +35 -0
  568. package/dist/src/user-context/memory-readiness.d.ts +33 -0
  569. package/dist/src/user-context/memory-readiness.js +41 -0
  570. package/dist/src/user-context/memory-use-audit.js +3 -2
  571. package/dist/src/user-context/projection.d.ts +13 -0
  572. package/dist/src/user-context/projection.js +13 -2
  573. package/dist/src/user-context/relationship-continuity.js +1 -1
  574. package/dist/src/user-context/runtime.d.ts +0 -2
  575. package/dist/src/user-context/runtime.js +1 -10
  576. package/dist/src/user-context/source-recommendations.d.ts +5 -5
  577. package/dist/src/user-context/source-recommendations.js +9 -8
  578. package/dist/src/voice/stt/transcribe-core.js +3 -3
  579. package/dist/src/voice/stt/types.d.ts +2 -2
  580. package/dist/src/voice/tts/speak-core.js +4 -4
  581. package/dist/src/voice/tts/types.d.ts +2 -2
  582. package/dist/src/work-discovery/analyzer.js +5 -5
  583. package/dist/src/work-discovery/service.d.ts +1 -10
  584. package/dist/src/work-discovery/service.js +3 -5
  585. package/dist/src/work-discovery/types.d.ts +1 -1
  586. package/dist/src/workflows/domain/run.d.ts +3 -4
  587. package/dist/src/workflows/draft/workflow-draft-prompt.js +1 -1
  588. package/dist/src/workflows/index.js +1 -1
  589. package/dist/src/workflows/service/workflow-run-service.d.ts +2 -2
  590. package/dist/src/workflows/service/workflow-run-service.js +105 -35
  591. package/dist/src/workflows/service/workflow-run-service.types.d.ts +1 -2
  592. package/dist/src/workflows/service/workflow-session-bridge.js +4 -12
  593. package/dist/src/workflows/store/run-index-store.d.ts +1 -1
  594. package/dist/src/workflows/store/run-index-store.js +10 -8
  595. package/dist/src/workflows/store/run-store.d.ts +1 -1
  596. package/dist/src/workflows/store/run-store.js +2 -2
  597. package/package.json +5 -5
  598. package/dist/gateway/static/root/assets/agents-DgGj9bu6.js +0 -2
  599. package/dist/gateway/static/root/assets/apps-page-B5xahuT-.js +0 -1
  600. package/dist/gateway/static/root/assets/automations-page-BUYrvMmD.js +0 -6
  601. package/dist/gateway/static/root/assets/browser-settings-page-Cjw07q9h.js +0 -8
  602. package/dist/gateway/static/root/assets/browser-workflow-inputs-_gu08MA4.js +0 -1
  603. package/dist/gateway/static/root/assets/capabilities-settings-panel-D_dfVxHY.js +0 -7
  604. package/dist/gateway/static/root/assets/capability-presets-api-DhCn9rPv.js +0 -1
  605. package/dist/gateway/static/root/assets/capability-presets-settings-panel-LWWIYUT7.js +0 -1
  606. package/dist/gateway/static/root/assets/channels-settings-Cyj5OunL.js +0 -1
  607. package/dist/gateway/static/root/assets/channels-status-swr-TEFnV0IG.js +0 -1
  608. package/dist/gateway/static/root/assets/connectors-page-0TobCpBB.js +0 -2
  609. package/dist/gateway/static/root/assets/desktop-pet-CwVSLL6N.js +0 -1
  610. package/dist/gateway/static/root/assets/dreaming-scene-BHMRVEUS.js +0 -4585
  611. package/dist/gateway/static/root/assets/dreaming-settings-Da9FeWQl.js +0 -3
  612. package/dist/gateway/static/root/assets/format-cron-label-arqgGlVV.js +0 -1
  613. package/dist/gateway/static/root/assets/goals-settings-Dx9uTyWF.js +0 -1
  614. package/dist/gateway/static/root/assets/heartbeat-settings-Cnr5ORXL.js +0 -1
  615. package/dist/gateway/static/root/assets/index-B0Tdge_q.css +0 -1
  616. package/dist/gateway/static/root/assets/index-BA56bQ68.js +0 -224
  617. package/dist/gateway/static/root/assets/local-app-workbench-page-DSUNtLHg.js +0 -2
  618. package/dist/gateway/static/root/assets/logs-page-yI8kpQtO.js +0 -7
  619. package/dist/gateway/static/root/assets/messages-H_iJjnEM.js +0 -3
  620. package/dist/gateway/static/root/assets/notes-workbench-BD297EZt.js +0 -4
  621. package/dist/gateway/static/root/assets/outcome-detail-page-C5i_ZR9a.js +0 -1
  622. package/dist/gateway/static/root/assets/product-delivery-BVG-eWQO.js +0 -1
  623. package/dist/gateway/static/root/assets/project-detail-page-D1HGz7Dy.js +0 -1
  624. package/dist/gateway/static/root/assets/projects-page-CqP2TnW-.js +0 -1
  625. package/dist/gateway/static/root/assets/remote-access-hub-BXdVJLS3.js +0 -1
  626. package/dist/gateway/static/root/assets/save-bar-controls-B53UNtDM.js +0 -1
  627. package/dist/gateway/static/root/assets/schedule-field-C3dIMN5q.js +0 -1
  628. package/dist/gateway/static/root/assets/sessions-page-CPAwDdl5.js +0 -1
  629. package/dist/gateway/static/root/assets/settings-advanced-gate-C-jGsoft.js +0 -1
  630. package/dist/gateway/static/root/assets/settings-page-Di5x6Xrc.js +0 -1
  631. package/dist/gateway/static/root/assets/setup-status-panel-uxEE6gAB.js +0 -1
  632. package/dist/gateway/static/root/assets/shares-settings-2mcsMWgn.js +0 -1
  633. package/dist/gateway/static/root/assets/skill-reload-api-ocDwsrEt.js +0 -1
  634. package/dist/gateway/static/root/assets/skills-page-9_jfsFU5.js +0 -2
  635. package/dist/gateway/static/root/assets/system-settings-panel-CIJ66cUy.js +0 -1
  636. package/dist/gateway/static/root/assets/time-picker-D0zAsHOo.js +0 -1
  637. package/dist/gateway/static/root/assets/use-channel-catalog-BQz3K7xj.js +0 -1
  638. package/dist/gateway/static/root/assets/user-context-page-Bn4BLg4W.js +0 -1
  639. package/dist/gateway/static/root/assets/work-copy-Cwyan9Sn.js +0 -1
  640. package/dist/gateway/static/root/assets/work-discovery-page-iJ9RBSpu.js +0 -1
  641. package/dist/gateway/static/root/assets/work-item-detail-page-CqTH7PQX.js +0 -1
  642. package/dist/gateway/static/root/assets/work-page-H3m99ccS.js +0 -3
  643. package/dist/gateway/static/root/assets/workflows-page-BxZSKMfv.js +0 -11
  644. package/dist/packages/gateway-contract/src/outcomes.js +0 -137
  645. package/dist/packages/gateway-contract/src/work-intake.js +0 -85
  646. package/dist/src/agent/goals/checklist-judge.d.ts +0 -48
  647. package/dist/src/agent/goals/checklist-judge.js +0 -237
  648. package/dist/src/agent/goals/checklist-types.d.ts +0 -21
  649. package/dist/src/agent/goals/checklist-types.js +0 -24
  650. package/dist/src/agent/goals/evaluate-turn.d.ts +0 -29
  651. package/dist/src/agent/goals/evaluate-turn.js +0 -209
  652. package/dist/src/agent/goals/goal-locale.d.ts +0 -26
  653. package/dist/src/agent/goals/goal-locale.js +0 -61
  654. package/dist/src/agent/goals/judge.d.ts +0 -41
  655. package/dist/src/agent/goals/judge.js +0 -176
  656. package/dist/src/agent/goals/persistent-goal-apis.d.ts +0 -15
  657. package/dist/src/agent/goals/persistent-goal-apis.js +0 -1
  658. package/dist/src/agent/goals/persistent-goal-service.d.ts +0 -93
  659. package/dist/src/agent/goals/persistent-goal-service.js +0 -128
  660. package/dist/src/agent/goals/post-turn.d.ts +0 -28
  661. package/dist/src/agent/goals/post-turn.js +0 -187
  662. package/dist/src/agent/goals/state.d.ts +0 -46
  663. package/dist/src/agent/goals/state.js +0 -80
  664. package/dist/src/agent/memory/builtin-memory-store.d.ts +0 -54
  665. package/dist/src/agent/memory/builtin-memory-store.js +0 -315
  666. package/dist/src/agent/memory/dreaming/events.d.ts +0 -36
  667. package/dist/src/agent/memory/dreaming/events.js +0 -42
  668. package/dist/src/agent/memory/dreaming/last-run.d.ts +0 -80
  669. package/dist/src/agent/memory/dreaming/last-run.js +0 -96
  670. package/dist/src/agent/memory/dreaming/short-term-store.d.ts +0 -75
  671. package/dist/src/agent/memory/dreaming/short-term-store.js +0 -273
  672. package/dist/src/agent/outcomes/execution-evaluation.d.ts +0 -20
  673. package/dist/src/agent/outcomes/execution-evaluation.js +0 -48
  674. package/dist/src/agent/prompt/memory/index.d.ts +0 -23
  675. package/dist/src/agent/prompt/memory/index.js +0 -101
  676. package/dist/src/agent/tools/curated-memory-tool.d.ts +0 -3
  677. package/dist/src/agent/tools/curated-memory-tool.js +0 -174
  678. package/dist/src/agent/tools/goal-evidence-recorder.d.ts +0 -6
  679. package/dist/src/agent/tools/goal-evidence-recorder.js +0 -32
  680. package/dist/src/agent/tools/goal-tool.d.ts +0 -29
  681. package/dist/src/agent/tools/goal-tool.js +0 -136
  682. package/dist/src/chat-commands/builtins/goal.d.ts +0 -4
  683. package/dist/src/chat-commands/builtins/goal.js +0 -122
  684. package/dist/src/chat-commands/builtins/subgoal.d.ts +0 -4
  685. package/dist/src/chat-commands/builtins/subgoal.js +0 -117
  686. package/dist/src/cli/commands/goal.d.ts +0 -4
  687. package/dist/src/cli/commands/goal.js +0 -235
  688. package/dist/src/discussions/pipeline.d.ts +0 -33
  689. package/dist/src/discussions/pipeline.js +0 -205
  690. package/dist/src/discussions/worker.js +0 -74
  691. package/dist/src/gateway/hono/routes/dreaming.d.ts +0 -3
  692. package/dist/src/gateway/hono/routes/dreaming.js +0 -323
  693. package/dist/src/gateway/hono/routes/execution-receipts.d.ts +0 -3
  694. package/dist/src/gateway/hono/routes/execution-receipts.js +0 -163
  695. package/dist/src/gateway/hono/routes/goals.d.ts +0 -4
  696. package/dist/src/gateway/hono/routes/goals.js +0 -786
  697. package/dist/src/gateway/hono/routes/work.js +0 -207
  698. package/dist/src/goals/goal-notifications.d.ts +0 -31
  699. package/dist/src/goals/goal-notifications.js +0 -157
  700. package/dist/src/goals/goal-queue-store.d.ts +0 -18
  701. package/dist/src/goals/goal-queue-store.js +0 -133
  702. package/dist/src/goals/goal-queue-types.d.ts +0 -42
  703. package/dist/src/goals/goal-queue-types.js +0 -1
  704. package/dist/src/goals/goal-runner.d.ts +0 -17
  705. package/dist/src/goals/goal-runner.js +0 -153
  706. package/dist/src/goals/goal-service.d.ts +0 -87
  707. package/dist/src/goals/goal-service.js +0 -323
  708. package/dist/src/goals/goal-store.d.ts +0 -44
  709. package/dist/src/goals/goal-store.js +0 -472
  710. package/dist/src/goals/goal-workflow-judge.d.ts +0 -13
  711. package/dist/src/goals/goal-workflow-judge.js +0 -145
  712. package/dist/src/goals/index.d.ts +0 -10
  713. package/dist/src/goals/index.js +0 -7
  714. package/dist/src/goals/types.d.ts +0 -136
  715. package/dist/src/goals/types.js +0 -1
  716. package/dist/src/i18n/goals-bundle.d.ts +0 -35
  717. package/dist/src/i18n/goals-bundle.js +0 -61
  718. package/dist/src/i18n/locales/goals.en.js +0 -36
  719. package/dist/src/i18n/locales/goals.zh.js +0 -35
  720. package/dist/src/projects/goal-bind.d.ts +0 -4
  721. package/dist/src/projects/goal-bind.js +0 -38
  722. package/dist/src/session/abort-cutoff.d.ts +0 -6
  723. package/dist/src/session/abort-cutoff.js +0 -8
  724. package/dist/src/storage/sqlite/execution-receipt-repository.d.ts +0 -146
  725. package/dist/src/storage/sqlite/execution-receipt-repository.js +0 -235
  726. package/dist/src/storage/sqlite/memory-index-repository.d.ts +0 -18
  727. package/dist/src/storage/sqlite/memory-index-repository.js +0 -136
  728. package/dist/src/tui/tui-follow-up-queue.d.ts +0 -9
  729. package/dist/src/tui/tui-follow-up-queue.js +0 -16
  730. package/dist/src/work/execution-context.d.ts +0 -16
  731. package/dist/src/work/index.d.ts +0 -14
  732. package/dist/src/work/index.js +0 -15
  733. package/dist/src/work/outcome-contract-definition.d.ts +0 -8
  734. package/dist/src/work/outcome-execution-service.d.ts +0 -27
  735. package/dist/src/work/outcome-execution-service.js +0 -60
  736. package/dist/src/work/outcome-projection-service.d.ts +0 -7
  737. package/dist/src/work/outcome-projection-service.js +0 -51
  738. package/dist/src/work/outcome-receipt-service.d.ts +0 -13
  739. package/dist/src/work/outcome-receipt-service.js +0 -55
  740. package/dist/src/work/outcome-repository.d.ts +0 -50
  741. package/dist/src/work/outcome-repository.js +0 -112
  742. package/dist/src/work/outcome-run-coordinator.js +0 -117
  743. package/dist/src/work/project-operating-view-service.js +0 -46
  744. package/dist/src/work/work-intake-repository.d.ts +0 -49
  745. package/dist/src/work/work-intake-repository.js +0 -97
  746. package/dist/src/work/work-intake-service.d.ts +0 -26
  747. package/dist/src/work/work-intake-service.js +0 -171
  748. package/dist/src/work/work-value-metrics-service.d.ts +0 -4
  749. package/dist/src/work/work-value-metrics-service.js +0 -88
  750. package/dist/src/work-items/agent-context.d.ts +0 -7
  751. package/dist/src/work-items/agent-context.js +0 -73
  752. package/dist/src/work-items/index.d.ts +0 -5
  753. package/dist/src/work-items/index.js +0 -5
  754. package/dist/src/work-items/types.d.ts +0 -112
  755. package/dist/src/work-items/types.js +0 -1
  756. package/dist/src/work-items/work-item-service.d.ts +0 -36
  757. package/dist/src/work-items/work-item-service.js +0 -281
  758. package/dist/src/work-items/work-item-store.d.ts +0 -22
  759. package/dist/src/work-items/work-item-store.js +0 -313
  760. package/dist/src/work-items/work-item-workflow-judge.d.ts +0 -8
  761. package/dist/src/work-items/work-item-workflow-judge.js +0 -48
  762. /package/dist/src/{work → tasks}/project-monitoring-service.d.ts +0 -0
@@ -1,7 +1,7 @@
1
- import { resolveEffectiveAgentManifest } from "../agent-manifest/resolver.js";
1
+ import { resolveCapabilityPresetLayer, resolveEffectiveAgentManifest } from "../agent-manifest/resolver.js";
2
2
  import { init_agent_scope, listAgentEntries, normalizeAgentId, resolveAgentDir, resolveAgentProfileDir, resolveAgentWorkspaceDir, resolveDefaultAgentId, resolveUserPath, validateAgentIdForNewAgent } from "../agent/agent-scope.js";
3
- import { WORKSPACE_FILES, init_paths, resolveUserProfilePath } from "../config/paths.js";
4
3
  import { resolveEffectiveAgentProfile } from "../config/agent-profile.js";
4
+ import { WORKSPACE_FILES, init_paths, resolveUserProfilePath } from "../config/paths.js";
5
5
  import { AGENT_PROFILE_MARKDOWN_SYSTEM_FILES, REQUIRED_AGENT_PROFILE_MARKDOWN_FILE_SET } from "../agent/context/workspace.js";
6
6
  import { isPathUnderWorkspace, resolveWorkspaceSafePath } from "./workspace-editor-path.js";
7
7
  import { seedAgentProfileMarkdownFiles } from "../agent/context/workspace-seed.js";
@@ -55,17 +55,23 @@ function parseIdentityMarkdown(content) {
55
55
  async function listGatewayAgents(cfg, _options = {}) {
56
56
  const defaultId = resolveDefaultAgentId(cfg);
57
57
  const agents = [];
58
- const presetDenied = [];
59
- const presetTypedModels = [];
60
58
  for (const id of collectAgentIdsForList(cfg)) {
61
59
  const profile = resolveEffectiveAgentProfile(cfg, id);
62
60
  const entry = listAgentEntries(cfg).find((e) => normalizeAgentId(e.id) === id);
61
+ const presetLayer = resolveCapabilityPresetLayer({
62
+ presetIds: entry?.extends,
63
+ presets: cfg.agents.capabilityPresets,
64
+ defaultPresetId: cfg.agents.defaultPreset
65
+ });
66
+ const presetSkills = presetLayer.patch.skills?.mode === "allowlist" ? presetLayer.patch.skills.allow ?? [] : void 0;
67
+ const presetDenied = Object.entries(presetLayer.patch.tools?.builtin ?? {}).filter(([, policy]) => policy.mode === "deny").map(([name]) => name);
68
+ const presetTypedModels = rolesToTypedModels(presetLayer.patch.models?.roles);
63
69
  const model = profile.primaryModelRef || profile.fallbacks.length > 0 ? {
64
70
  ...profile.primaryModelRef ? { primary: profile.primaryModelRef } : {},
65
71
  ...profile.fallbacks.length > 0 ? { fallbacks: profile.fallbacks } : {}
66
72
  } : void 0;
67
- const entrySkills = entry?.skills.mode === "allowlist" ? entry.skills.allow ?? [] : void 0;
68
- const entryDisable = Object.entries(entry?.tools.builtin ?? {}).filter(([, policy]) => policy.mode === "deny").map(([name]) => name);
73
+ const entrySkills = entry?.skills?.mode === "allowlist" ? entry.skills.allow ?? [] : void 0;
74
+ const entryDisable = Object.entries(entry?.tools?.builtin ?? {}).filter(([, policy]) => policy.mode === "deny").map(([name]) => name);
69
75
  const entryTypedModels = rolesToTypedModels(entry?.models?.roles);
70
76
  const effectiveTypedModels = [...resolveEffectiveTypedModels(cfg, id).values()].sort((a, b) => a.id.localeCompare(b.id));
71
77
  let identity = {};
@@ -95,7 +101,7 @@ async function listGatewayAgents(cfg, _options = {}) {
95
101
  extends: [...entry?.extends ?? []],
96
102
  isDefault: id === defaultId,
97
103
  skills: {
98
- preset: [],
104
+ preset: presetSkills ? [...presetSkills] : [],
99
105
  ...entrySkills !== void 0 ? { entry: [...entrySkills] } : {},
100
106
  ...profile.skillsAllowlist !== void 0 ? { effectiveAllowlist: [...profile.skillsAllowlist] } : {}
101
107
  },
@@ -214,7 +220,7 @@ function prepareCreateAgent(cfg, body) {
214
220
  workspace: wsAbs,
215
221
  extends: [...inheritedPresetIds],
216
222
  ...effectiveModels ? { models: effectiveModels } : {},
217
- ...body.skills !== void 0 ? { skills: body.skills.map((s) => String(s).trim()).filter(Boolean) } : cloneSourceEntry?.skills.mode === "allowlist" && body.cloneFrom ? { skills: [...cloneSourceEntry.skills.allow ?? []] } : {},
223
+ ...body.skills !== void 0 ? { skills: body.skills.map((s) => String(s).trim()).filter(Boolean) } : cloneSourceEntry?.skills?.mode === "allowlist" && body.cloneFrom ? { skills: [...cloneSourceEntry.skills.allow ?? []] } : {},
218
224
  ...body.tools !== void 0 ? { tools: body.tools } : cloneSourceEntry?.tools && body.cloneFrom ? { tools: cloneSourceEntry.tools } : {}
219
225
  }),
220
226
  agentId,
@@ -273,15 +279,7 @@ function prepareUpdateAgent(cfg, agentIdRaw, body) {
273
279
  tone: "direct"
274
280
  },
275
281
  responsibilities: { primary: ["Help the user complete tasks"] },
276
- workspace: { root: `~/.xopc/workspace/${agentId}` },
277
- tools: { builtin: {} },
278
- skills: { mode: "all" },
279
- workflows: {},
280
- boundaries: {
281
- requiresConfirmation: [],
282
- forbidden: [],
283
- escalation: []
284
- }
282
+ workspace: { root: `~/.xopc/workspace/${agentId}` }
285
283
  }];
286
284
  idx = list.length - 1;
287
285
  }
@@ -350,7 +348,7 @@ function prepareUpdateAgent(cfg, agentIdRaw, body) {
350
348
  defaultRole
351
349
  };
352
350
  }
353
- if (body.skills !== void 0) if (body.skills === null) entry.skills = { mode: "all" };
351
+ if (body.skills !== void 0) if (body.skills === null) delete entry.skills;
354
352
  else {
355
353
  const next = body.skills.map((s) => String(s).trim()).filter(Boolean);
356
354
  if (next.length === 0) entry.skills = {
@@ -362,7 +360,7 @@ function prepareUpdateAgent(cfg, agentIdRaw, body) {
362
360
  allow: next
363
361
  };
364
362
  }
365
- if (body.tools !== void 0) if (body.tools === null) entry.tools = { builtin: {} };
363
+ if (body.tools !== void 0) if (body.tools === null) delete entry.tools;
366
364
  else entry.tools = body.tools;
367
365
  list[idx] = entry;
368
366
  let next = {
@@ -26,6 +26,16 @@ export type CapabilityPresetsListResponse = {
26
26
  }>;
27
27
  builtinToolIds: string[];
28
28
  };
29
+ export type CapabilityPresetPreviewDiff = {
30
+ path: string;
31
+ before?: unknown;
32
+ after?: unknown;
33
+ };
34
+ export type CapabilityPresetPreviewAgent = {
35
+ agentId: string;
36
+ agentName?: string;
37
+ diffs: CapabilityPresetPreviewDiff[];
38
+ };
29
39
  export type CreateCapabilityPresetBody = {
30
40
  id?: string;
31
41
  name?: string;
@@ -61,6 +71,9 @@ export declare function prepareCreateCapabilityPreset(cfg: Config, body: CreateC
61
71
  export declare function prepareUpdateCapabilityPreset(cfg: Config, presetIdRaw: string, body: UpdateCapabilityPresetBody): CapabilityPresetAdminResult<{
62
72
  nextConfig: Config;
63
73
  }>;
74
+ export declare function previewCapabilityPresetUpdate(cfg: Config, presetIdRaw: string, body: UpdateCapabilityPresetBody): CapabilityPresetAdminResult<{
75
+ agents: CapabilityPresetPreviewAgent[];
76
+ }>;
64
77
  export declare function prepareDeleteCapabilityPreset(cfg: Config, presetIdRaw: string): CapabilityPresetAdminResult<{
65
78
  nextConfig: Config;
66
79
  }>;
@@ -1,5 +1,6 @@
1
1
  import { CapabilityPresetSchema, init_schema } from "../agent-manifest/schema.js";
2
2
  import { init_preset_chain, linearizePresetIds } from "../agent-manifest/preset-chain.js";
3
+ import { resolveEffectiveAgentManifest } from "../agent-manifest/resolver.js";
3
4
  import { GATEWAY_BUILTIN_TOOL_IDS } from "./agent-builtin-tools.js";
4
5
  //#region src/gateway/capability-presets-admin.ts
5
6
  init_schema();
@@ -10,6 +11,23 @@ function presetMap(cfg) {
10
11
  function normalizePresetId(id) {
11
12
  return id.trim().toLowerCase();
12
13
  }
14
+ function flattenPolicy(value, path = "", out = /* @__PURE__ */ new Map()) {
15
+ if (Array.isArray(value) || value === null || typeof value !== "object") {
16
+ if (path) out.set(path, value);
17
+ return out;
18
+ }
19
+ for (const [key, child] of Object.entries(value)) flattenPolicy(child, path ? `${path}.${key}` : key, out);
20
+ return out;
21
+ }
22
+ function manifestDiff(before, after) {
23
+ const beforeFlat = flattenPolicy(before);
24
+ const afterFlat = flattenPolicy(after);
25
+ return [...new Set([...beforeFlat.keys(), ...afterFlat.keys()])].filter((path) => JSON.stringify(beforeFlat.get(path)) !== JSON.stringify(afterFlat.get(path))).sort((a, b) => a.localeCompare(b)).map((path) => ({
26
+ path,
27
+ ...beforeFlat.has(path) ? { before: beforeFlat.get(path) } : {},
28
+ ...afterFlat.has(path) ? { after: afterFlat.get(path) } : {}
29
+ }));
30
+ }
13
31
  function agentUsage(cfg, presetId) {
14
32
  const defaultPresetId = cfg.agents.defaultPreset || "default";
15
33
  return cfg.agents.list.filter((agent) => {
@@ -91,6 +109,20 @@ function nextConfigWithPresets(cfg, presets) {
91
109
  error: agentRefs.error,
92
110
  status: agentRefs.status
93
111
  };
112
+ for (const agent of nextConfig.agents.list) try {
113
+ resolveEffectiveAgentManifest({
114
+ agent,
115
+ presets,
116
+ defaultPresetId: nextConfig.agents.defaultPreset
117
+ });
118
+ } catch (error) {
119
+ const message = error instanceof Error ? error.message : String(error);
120
+ return {
121
+ ok: false,
122
+ error: `agent "${agent.id}" effective manifest is invalid: ${message}`,
123
+ status: 400
124
+ };
125
+ }
94
126
  return {
95
127
  ok: true,
96
128
  data: { nextConfig }
@@ -180,7 +212,6 @@ function prepareUpdateCapabilityPreset(cfg, presetIdRaw, body) {
180
212
  "models",
181
213
  "tools",
182
214
  "skills",
183
- "memory",
184
215
  "workflows",
185
216
  "boundaries",
186
217
  "runtime",
@@ -201,6 +232,32 @@ function prepareUpdateCapabilityPreset(cfg, presetIdRaw, body) {
201
232
  [presetId]: parsed.data
202
233
  });
203
234
  }
235
+ function previewCapabilityPresetUpdate(cfg, presetIdRaw, body) {
236
+ const prepared = prepareUpdateCapabilityPreset(cfg, presetIdRaw, body);
237
+ if (prepared.ok === false) return prepared;
238
+ return {
239
+ ok: true,
240
+ data: { agents: cfg.agents.list.flatMap((agent) => {
241
+ const before = resolveEffectiveAgentManifest({
242
+ agent,
243
+ presets: cfg.agents.capabilityPresets,
244
+ defaultPresetId: cfg.agents.defaultPreset
245
+ }).manifest;
246
+ const after = resolveEffectiveAgentManifest({
247
+ agent,
248
+ presets: prepared.data.nextConfig.agents.capabilityPresets,
249
+ defaultPresetId: prepared.data.nextConfig.agents.defaultPreset
250
+ }).manifest;
251
+ const diffs = manifestDiff(before, after);
252
+ if (diffs.length === 0) return [];
253
+ return [{
254
+ agentId: agent.id,
255
+ ...agent.identity.name ? { agentName: agent.identity.name } : {},
256
+ diffs
257
+ }];
258
+ }) }
259
+ };
260
+ }
204
261
  function prepareDeleteCapabilityPreset(cfg, presetIdRaw) {
205
262
  const presetId = normalizePresetId(presetIdRaw);
206
263
  const presets = presetMap(cfg);
@@ -225,4 +282,4 @@ function prepareDeleteCapabilityPreset(cfg, presetIdRaw) {
225
282
  return nextConfigWithPresets(cfg, nextPresets);
226
283
  }
227
284
  //#endregion
228
- export { listCapabilityPresets, prepareCreateCapabilityPreset, prepareDeleteCapabilityPreset, prepareUpdateCapabilityPreset };
285
+ export { listCapabilityPresets, prepareCreateCapabilityPreset, prepareDeleteCapabilityPreset, prepareUpdateCapabilityPreset, previewCapabilityPresetUpdate };
@@ -1,9 +1,13 @@
1
1
  /** Web chat: max files per user message (keep in sync with `web` MAX_CHAT_ATTACHMENTS). */
2
2
  export declare const MAX_CHAT_ATTACHMENTS = 10;
3
+ /** Inline chat text stays bounded; larger content belongs in an attachment. */
4
+ export declare const MAX_CHAT_INLINE_TEXT_BYTES: number;
3
5
  /**
4
6
  * Max raw bytes per attachment in web chat (keep in sync with `web` MAX_WEBCHAT_ATTACHMENT_FILE_BYTES).
5
7
  * JSON requests send base64 (`data`); gateway body limit must allow worst-case payload.
6
8
  */
7
9
  export declare const MAX_WEBCHAT_ATTACHMENT_FILE_BYTES: number;
8
- /** Upper bound for `POST /api/agent` JSON body when every slot is a max-sized binary attachment (base64 ~4/3). */
9
- export declare function maxWebchatAgentRequestBodyBytes(): number;
10
+ export declare function validateWebchatAttachments(attachments: unknown[] | undefined): string | null;
11
+ export declare function validateWebchatContent(content: unknown): string | null;
12
+ /** Upper bound for a session input request when every attachment is encoded as base64. */
13
+ export declare function maxSessionInputRequestBodyBytes(): number;
@@ -1,15 +1,29 @@
1
1
  //#region src/gateway/chat-limits.ts
2
2
  /** Web chat: max files per user message (keep in sync with `web` MAX_CHAT_ATTACHMENTS). */
3
3
  const MAX_CHAT_ATTACHMENTS = 10;
4
+ /** Inline chat text stays bounded; larger content belongs in an attachment. */
5
+ const MAX_CHAT_INLINE_TEXT_BYTES = 256 * 1024;
4
6
  /**
5
7
  * Max raw bytes per attachment in web chat (keep in sync with `web` MAX_WEBCHAT_ATTACHMENT_FILE_BYTES).
6
8
  * JSON requests send base64 (`data`); gateway body limit must allow worst-case payload.
7
9
  */
8
10
  const MAX_WEBCHAT_ATTACHMENT_FILE_BYTES = 32 * 1024 * 1024;
9
- /** Upper bound for `POST /api/agent` JSON body when every slot is a max-sized binary attachment (base64 ~4/3). */
10
- function maxWebchatAgentRequestBodyBytes() {
11
+ function validateWebchatAttachments(attachments) {
12
+ if (!attachments) return null;
13
+ if (attachments.length > 10) return `Too many attachments (maximum 10)`;
14
+ const maxBase64Length = 4 * Math.ceil(MAX_WEBCHAT_ATTACHMENT_FILE_BYTES / 3);
15
+ if (attachments.some((item) => item && typeof item === "object" && typeof item.data === "string" && item.data.length > maxBase64Length)) return `Attachment exceeds maximum size (${MAX_WEBCHAT_ATTACHMENT_FILE_BYTES} bytes)`;
16
+ return null;
17
+ }
18
+ function validateWebchatContent(content) {
19
+ if (typeof content !== "string") return "Message content must be a string";
20
+ if (Buffer.byteLength(content, "utf8") > 262144) return `Message content exceeds maximum size (${MAX_CHAT_INLINE_TEXT_BYTES} bytes)`;
21
+ return null;
22
+ }
23
+ /** Upper bound for a session input request when every attachment is encoded as base64. */
24
+ function maxSessionInputRequestBodyBytes() {
11
25
  const rawMax = MAX_WEBCHAT_ATTACHMENT_FILE_BYTES * 10;
12
26
  return Math.ceil(rawMax * 4 / 3) + 1024 * 1024;
13
27
  }
14
28
  //#endregion
15
- export { MAX_CHAT_ATTACHMENTS, MAX_WEBCHAT_ATTACHMENT_FILE_BYTES, maxWebchatAgentRequestBodyBytes };
29
+ export { MAX_CHAT_ATTACHMENTS, MAX_CHAT_INLINE_TEXT_BYTES, MAX_WEBCHAT_ATTACHMENT_FILE_BYTES, maxSessionInputRequestBodyBytes, validateWebchatAttachments, validateWebchatContent };
@@ -56,13 +56,13 @@ async function* coalesceThinkingDeltas(source, options = {}) {
56
56
  }
57
57
  continue;
58
58
  }
59
- const outcome = await nextBeforeDeadline(next, deadlineAt);
60
- if (outcome.kind === "timeout") {
59
+ const task = await nextBeforeDeadline(next, deadlineAt);
60
+ if (task.kind === "timeout") {
61
61
  yield pending;
62
62
  pending = void 0;
63
63
  continue;
64
64
  }
65
- const result = outcome.result;
65
+ const result = task.result;
66
66
  if (result.done) {
67
67
  yield pending;
68
68
  pending = void 0;
@@ -1,42 +1,42 @@
1
- import { DREAMING_CRON_NAME, DREAMING_CRON_TAG, DREAMING_LIGHT_CRON_NAME, DREAMING_LIGHT_SWEEP_TOKEN, DREAMING_REM_CRON_NAME, DREAMING_REM_SWEEP_TOKEN, DREAMING_SWEEP_TOKEN } from "../agent/memory/dreaming/constants.js";
2
- import { resolveDreamingConfig } from "../agent/memory/dreaming/config.js";
1
+ import { DREAMING_AUTOMATION_TAG, DREAMING_DEEP_AUTOMATION_NAME, DREAMING_LIGHT_AUTOMATION_NAME, DREAMING_LIGHT_SWEEP_TOKEN, DREAMING_REM_AUTOMATION_NAME, DREAMING_REM_SWEEP_TOKEN, DREAMING_SWEEP_TOKEN } from "../agent/memory/dreaming/constants.js";
2
+ import { compileDreamingSchedule } from "../agent/memory/dreaming/schedule.js";
3
3
  import { resolveDreamingAgentScope } from "../agent/memory/dreaming/scope.js";
4
4
  //#region src/gateway/dreaming-automation-reconciler.ts
5
5
  const DREAMING_AUTOMATIONS = [
6
6
  {
7
7
  phase: "light",
8
- name: DREAMING_LIGHT_CRON_NAME,
8
+ name: DREAMING_LIGHT_AUTOMATION_NAME,
9
9
  token: DREAMING_LIGHT_SWEEP_TOKEN
10
10
  },
11
11
  {
12
12
  phase: "deep",
13
- name: DREAMING_CRON_NAME,
13
+ name: DREAMING_DEEP_AUTOMATION_NAME,
14
14
  token: DREAMING_SWEEP_TOKEN
15
15
  },
16
16
  {
17
17
  phase: "rem",
18
- name: DREAMING_REM_CRON_NAME,
18
+ name: DREAMING_REM_AUTOMATION_NAME,
19
19
  token: DREAMING_REM_SWEEP_TOKEN
20
20
  }
21
21
  ];
22
22
  function phaseDescription(phase) {
23
- return `${phase === "light" ? "Light sweep" : phase === "deep" ? "Deep promotion" : "REM pattern discovery"} for memory dreaming. ${DREAMING_CRON_TAG}`;
23
+ return `${phase === "light" ? "Light sweep" : phase === "deep" ? "Deep promotion" : "REM pattern discovery"} for memory dreaming. ${DREAMING_AUTOMATION_TAG}`;
24
24
  }
25
25
  function buildTrigger(config, phase) {
26
+ const phaseConfig = config.phases[phase];
26
27
  return {
27
28
  kind: "schedule",
28
29
  schedule: {
29
30
  kind: "cron",
30
- expr: config.phases[phase].cron,
31
- ...config.timezone ? { tz: config.timezone } : {}
31
+ expr: compileDreamingSchedule(phaseConfig.schedule),
32
+ tz: config.timezone
32
33
  }
33
34
  };
34
35
  }
35
36
  function dreamingAutomationId(phase) {
36
37
  return `system-user-context-dreaming:${phase}`;
37
38
  }
38
- function buildAction(config, token) {
39
- const scope = resolveDreamingAgentScope(config);
39
+ function buildAction(scope, token) {
40
40
  return {
41
41
  kind: "agent",
42
42
  agentId: scope.agentId,
@@ -55,7 +55,8 @@ async function reconcileDreamingAutomations(params) {
55
55
  updated: [],
56
56
  disabled: []
57
57
  };
58
- const resolved = resolveDreamingConfig(config);
58
+ const scope = resolveDreamingAgentScope(config);
59
+ const resolved = scope.config;
59
60
  for (const spec of DREAMING_AUTOMATIONS) {
60
61
  const id = dreamingAutomationId(spec.phase);
61
62
  const current = await automationService.get(id);
@@ -72,7 +73,7 @@ async function reconcileDreamingAutomations(params) {
72
73
  description: phaseDescription(spec.phase),
73
74
  enabled,
74
75
  trigger: buildTrigger(resolved, spec.phase),
75
- action: buildAction(config, spec.token)
76
+ action: buildAction(scope, spec.token)
76
77
  };
77
78
  if (!current) {
78
79
  await automationService.create({
@@ -1,7 +1,7 @@
1
1
  import { init_paths_state, resolveStateDir } from "../config/paths-state.js";
2
2
  import { init_agent_scope, resolveAgentProfileDir } from "../agent/agent-scope.js";
3
- import { init_paths, resolveConfigPath, resolveSkillsDir } from "../config/paths.js";
4
3
  import { extractProfileAgentId } from "../config/agent-profile.js";
4
+ import { init_paths, resolveConfigPath, resolveSkillsDir } from "../config/paths.js";
5
5
  import { isBareProfileMarkdownFileName, resolveProfileMarkdownPathIfBareName } from "../agent/tools/tool-paths.js";
6
6
  import { isPathUnderWorkspace, resolveWorkspaceSafePath } from "./workspace-editor-path.js";
7
7
  import { basename, isAbsolute, resolve } from "node:path";
@@ -1,9 +1,9 @@
1
1
  import { createLogger } from "../../utils/logger/index.js";
2
2
  import { init_logger } from "../../utils/logger.js";
3
3
  import { shouldSilence, stripHeartbeatToken } from "../../heartbeat/tokens.js";
4
+ import { appendCronEventLines } from "../../heartbeat/event-prompt.js";
4
5
  import { isWithinActiveHours } from "../../heartbeat/active-hours.js";
5
6
  import { isHeartbeatContentEmpty } from "../../heartbeat/content-check.js";
6
- import { appendCronEventLines } from "../../heartbeat/event-prompt.js";
7
7
  import { createHeartbeatWake } from "../../heartbeat/wake.js";
8
8
  import { resolveHeartbeatMdPath } from "../workspace-heartbeat-path.js";
9
9
  import { readFile } from "fs/promises";
@@ -4,15 +4,13 @@ import { resolveAllowedBrowserOrigins, resolveGatewayServiceListenPort } from ".
4
4
  import { resolveGatewayEffectiveHost } from "../../config/gateway-bind.js";
5
5
  import { loadTunnelState } from "../../tunnel/tunnel-state.js";
6
6
  import { resolveReverseProxyPublicUrl } from "../public-url.js";
7
- import "../../work-items/work-item-service.js";
8
- import "../../work-items/index.js";
9
- import { maxWebchatAgentRequestBodyBytes } from "../chat-limits.js";
7
+ import { maxSessionInputRequestBodyBytes } from "../chat-limits.js";
10
8
  import { isLoopbackIpAddress, isTrustedProxyAddress } from "../client-ip.js";
11
9
  import { buildGatewayConsoleCspHeader } from "../security/csp.js";
12
10
  import { checkBrowserOrigin } from "../security/origin-check.js";
13
11
  import { auth } from "./middleware/auth.js";
14
12
  import { operatorScopes } from "./middleware/scopes.js";
15
- import { createChannelRateLimitMiddleware, createStrictRateLimitMiddleware, createXopcCloudPollRateLimitMiddleware } from "./middleware/strict-rate-limit.js";
13
+ import { createChannelRateLimitMiddleware, createChatRateLimitMiddleware, createStrictRateLimitMiddleware, createXopcCloudPollRateLimitMiddleware } from "./middleware/strict-rate-limit.js";
16
14
  import { logContextMiddleware } from "./middleware/log-context.js";
17
15
  import { logger } from "./middleware/logger.js";
18
16
  import { routeErrorMiddleware } from "./middleware/route-errors.js";
@@ -149,7 +147,7 @@ function createHonoApp(config) {
149
147
  const SKILL_UPLOAD_BODY_MAX = 10 * 1024 * 1024;
150
148
  const NOTE_MEDIA_BODY_MAX = 25 * 1024 * 1024;
151
149
  const VOICE_TRANSCRIBE_BODY_MAX = 35 * 1024 * 1024;
152
- const WEBCHAT_AGENT_BODY_MAX = maxWebchatAgentRequestBodyBytes();
150
+ const SESSION_INPUT_BODY_MAX = maxSessionInputRequestBodyBytes();
153
151
  const isNoteMediaUploadRequest = (path, method, contentType) => {
154
152
  if (method !== "POST") return false;
155
153
  if (/^\/api\/notes\/[^/]+\/media$/.test(path)) return true;
@@ -160,10 +158,6 @@ function createHonoApp(config) {
160
158
  if (/^\/api\/discussions\/[^/]+\/recording$/.test(path)) return NOTE_MEDIA_BODY_MAX;
161
159
  if (/^\/api\/discussions\/[^/]+\/segments\/\d+$/.test(path)) return 2 * 1024 * 1024;
162
160
  };
163
- const isWorkItemAttachmentUploadRequest = (path, method, contentType) => {
164
- if (method !== "POST" || contentType?.includes("multipart/form-data") !== true) return false;
165
- return /^\/api\/work-items\/[^/]+\/attachments$/.test(path) || /^\/api\/projects\/[^/]+\/work-items$/.test(path);
166
- };
167
161
  app.use("/api/skills/upload", bodyLimit({
168
162
  maxSize: SKILL_UPLOAD_BODY_MAX,
169
163
  onError: (c) => {
@@ -179,7 +173,7 @@ function createHonoApp(config) {
179
173
  }));
180
174
  app.use("/api/*", async (c, next) => {
181
175
  const contentType = c.req.header("content-type");
182
- const maxSize = c.req.path === "/api/agent" ? WEBCHAT_AGENT_BODY_MAX : c.req.path === "/api/skills/upload" ? SKILL_UPLOAD_BODY_MAX : c.req.path === "/api/voice/transcribe" || c.req.path === "/api/voice/transcriptions" ? VOICE_TRANSCRIBE_BODY_MAX : isNoteMediaUploadRequest(c.req.path, c.req.method, contentType) ? NOTE_MEDIA_BODY_MAX : discussionUploadBodyMax(c.req.path, c.req.method, contentType) ?? (isWorkItemAttachmentUploadRequest(c.req.path, c.req.method, contentType) ? 263192576 : DEFAULT_API_BODY_MAX);
176
+ const maxSize = c.req.method === "POST" && c.req.path === "/api/tasks" || c.req.method === "POST" && /^\/api\/sessions\/[^/]+\/inputs$/.test(c.req.path) || c.req.method === "PATCH" && /^\/api\/sessions\/[^/]+\/inputs\/[^/]+$/.test(c.req.path) ? SESSION_INPUT_BODY_MAX : c.req.path === "/api/skills/upload" ? SKILL_UPLOAD_BODY_MAX : c.req.path === "/api/voice/transcribe" || c.req.path === "/api/voice/transcriptions" ? VOICE_TRANSCRIBE_BODY_MAX : isNoteMediaUploadRequest(c.req.path, c.req.method, contentType) ? NOTE_MEDIA_BODY_MAX : discussionUploadBodyMax(c.req.path, c.req.method, contentType) ?? DEFAULT_API_BODY_MAX;
183
177
  const maxSizeMb = Math.ceil(maxSize / (1024 * 1024));
184
178
  return bodyLimit({
185
179
  maxSize,
@@ -213,6 +207,10 @@ function createHonoApp(config) {
213
207
  trustedProxies: service.currentConfig.gateway?.trustedProxies,
214
208
  allowRealIpFallback: service.currentConfig.gateway?.allowRealIpFallback === true
215
209
  }) });
210
+ const chatRateLimitMiddleware = createChatRateLimitMiddleware({ getTrustedProxyContext: () => ({
211
+ trustedProxies: service.currentConfig.gateway?.trustedProxies,
212
+ allowRealIpFallback: service.currentConfig.gateway?.allowRealIpFallback === true
213
+ }) });
216
214
  const channelRateLimitMiddleware = createChannelRateLimitMiddleware({ getTrustedProxyContext: () => ({
217
215
  trustedProxies: service.currentConfig.gateway?.trustedProxies,
218
216
  allowRealIpFallback: service.currentConfig.gateway?.allowRealIpFallback === true
@@ -220,6 +218,7 @@ function createHonoApp(config) {
220
218
  registerAuthenticatedRoutes(app, authenticated, {
221
219
  service,
222
220
  strictRateLimitMiddleware,
221
+ chatRateLimitMiddleware,
223
222
  xopcCloudPollRateLimitMiddleware: createXopcCloudPollRateLimitMiddleware({ getTrustedProxyContext: () => ({
224
223
  trustedProxies: service.currentConfig.gateway?.trustedProxies,
225
224
  allowRealIpFallback: service.currentConfig.gateway?.allowRealIpFallback === true
@@ -1,2 +1,2 @@
1
1
  export { createHonoApp, type HonoAppConfig } from './app.js';
2
- export { createAgentSSEHandler, createAgentResumeHandler, createSendHandler, createEventsSSEHandler, type SSEHandlerConfig } from './sse.js';
2
+ export { createAgentResumeHandler, createSendHandler, createEventsSSEHandler, type SSEHandlerConfig } from './sse.js';
@@ -1,3 +1,3 @@
1
- import { createAgentResumeHandler, createAgentSSEHandler, createEventsSSEHandler, createSendHandler } from "./sse.js";
1
+ import { createAgentResumeHandler, createEventsSSEHandler, createSendHandler } from "./sse.js";
2
2
  import { createHonoApp } from "./app.js";
3
- export { createAgentResumeHandler, createAgentSSEHandler, createEventsSSEHandler, createHonoApp, createSendHandler };
3
+ export { createAgentResumeHandler, createEventsSSEHandler, createHonoApp, createSendHandler };
@@ -41,8 +41,8 @@ export declare function buildSafeWebConfigPayload(service: GatewayService, optio
41
41
  root: string;
42
42
  };
43
43
  models: {
44
- defaultRole: string;
45
- roles: Record<string, {
44
+ defaultRole?: string;
45
+ roles?: Record<string, {
46
46
  model: string;
47
47
  fallbacks?: string[];
48
48
  description?: string;
@@ -65,7 +65,7 @@ export declare function buildSafeWebConfigPayload(service: GatewayService, optio
65
65
  };
66
66
  };
67
67
  tools: {
68
- builtin: Record<string, {
68
+ builtin?: Record<string, {
69
69
  mode: "allow" | "confirm" | "deny";
70
70
  scope?: "workspace" | "readonly" | "unrestricted";
71
71
  limits?: {
@@ -106,9 +106,9 @@ export declare function buildSafeWebConfigPayload(service: GatewayService, optio
106
106
  }[];
107
107
  };
108
108
  boundaries: {
109
- requiresConfirmation: string[];
110
- forbidden: string[];
111
- escalation: string[];
109
+ requiresConfirmation?: string[];
110
+ forbidden?: string[];
111
+ escalation?: string[];
112
112
  };
113
113
  }[];
114
114
  capabilityPresets: Record<string, {
@@ -142,7 +142,7 @@ export declare function buildSafeWebConfigPayload(service: GatewayService, optio
142
142
  };
143
143
  };
144
144
  tools?: {
145
- builtin: Record<string, {
145
+ builtin?: Record<string, {
146
146
  mode: "allow" | "confirm" | "deny";
147
147
  scope?: "workspace" | "readonly" | "unrestricted";
148
148
  limits?: {
@@ -183,9 +183,9 @@ export declare function buildSafeWebConfigPayload(service: GatewayService, optio
183
183
  }[];
184
184
  };
185
185
  boundaries?: {
186
- requiresConfirmation: string[];
187
- forbidden: string[];
188
- escalation: string[];
186
+ requiresConfirmation?: string[];
187
+ forbidden?: string[];
188
+ escalation?: string[];
189
189
  };
190
190
  runtime?: {
191
191
  maxTurns?: number;
@@ -280,29 +280,6 @@ export declare function buildSafeWebConfigPayload(service: GatewayService, optio
280
280
  dialogPolicy: unknown;
281
281
  dialogTimeoutSeconds: number;
282
282
  };
283
- goals: {
284
- maxTurns: number;
285
- checklistMode: boolean;
286
- checklistDecomposePolicy: "empty_only" | "supplement_existing";
287
- maxConsecutiveParseFailures: number;
288
- judgeTimeoutMs: number;
289
- checklistHistoryChars: number;
290
- notifications: {
291
- enabled: boolean;
292
- includeLinkedSessions: boolean;
293
- channels: string[];
294
- events: ("done" | "blocked" | "needs_input" | "queue_failed" | "queue_retry" | "queue_succeeded" | "queue_skipped")[];
295
- targets: {
296
- channel: string;
297
- chatId: string;
298
- accountId?: string;
299
- threadId?: string | number;
300
- silent?: boolean;
301
- events?: ("done" | "blocked" | "needs_input" | "queue_failed" | "queue_retry" | "queue_succeeded" | "queue_skipped")[];
302
- }[];
303
- };
304
- judgeModelRef?: string;
305
- };
306
283
  session: {
307
284
  dmScope: "main" | "per-peer" | "per-channel-peer" | "per-account-channel-peer";
308
285
  storage: {
@@ -311,6 +288,9 @@ export declare function buildSafeWebConfigPayload(service: GatewayService, optio
311
288
  };
312
289
  };
313
290
  userContext: {
291
+ preferences: {
292
+ responseLanguage: "auto" | "zh-CN" | "en";
293
+ };
314
294
  memory: {
315
295
  retention: {
316
296
  compaction: {
@@ -362,11 +342,11 @@ export declare function buildSafeWebConfigPayload(service: GatewayService, optio
362
342
  stt: unknown;
363
343
  tts: unknown;
364
344
  voice: {
365
- languageMode?: "auto" | "manual";
345
+ languageMode?: "manual" | "auto";
366
346
  language?: "en" | "zh";
367
347
  input?: {
368
348
  refinement?: {
369
- mode: "off" | "custom" | "light" | "punctuation";
349
+ mode: "off" | "light" | "custom" | "punctuation";
370
350
  model?: string;
371
351
  customInstruction?: string;
372
352
  };
@@ -1,15 +1,15 @@
1
1
  import { ContextCompactionPolicySchema, init_config } from "../../../user-context/config.js";
2
2
  import { init_agent_scope, listAgentEntries, normalizeAgentId, resolveDefaultAgentId } from "../../../agent/agent-scope.js";
3
3
  import { resolveModelsJsonPath } from "../../../config/paths.js";
4
+ import { buildChannelCatalogForConfig, buildChannelCatalogFromSnapshot, getChannelSetupStatus, init_channel_catalog_service } from "../../../channels/catalog/channel-catalog-service.js";
4
5
  import { init_models_json, loadModelsJson } from "../../../config/models-json.js";
5
6
  import { CredentialResolver, init_credentials } from "../../../auth/credentials.js";
6
- import { buildChannelCatalogForConfig, buildChannelCatalogFromSnapshot, getChannelSetupStatus, init_channel_catalog_service } from "../../../channels/catalog/channel-catalog-service.js";
7
7
  import { getProviderRegistry, init_plugin_registry } from "../../../providers/plugin-registry.js";
8
8
  import { getAllProviders, init_providers, isProviderConfigured } from "../../../providers/index.js";
9
9
  import { resolveShareConfig } from "../../../share/share-config.js";
10
10
  import { maskTunnelSecretForWeb } from "../../../tunnel/env.js";
11
11
  import { normalizeConfiguredMcpServers } from "../../../config/mcp-config-normalize.js";
12
- import { resolveGoalsConfigForWeb, resolveSessionConfigForWeb, resolveUpdateConfigForWeb } from "../../../config/web-patch.js";
12
+ import { resolveSessionConfigForWeb, resolveUpdateConfigForWeb } from "../../../config/web-patch.js";
13
13
  import { GENERIC_MASKED_SECRET, maskSecretLength } from "./mask-secret-length.js";
14
14
  import { safeToolsWebForGet } from "../../config-tools-web.js";
15
15
  import { buildSafeProvidersConfigForWeb } from "./safe-providers-config.js";
@@ -176,9 +176,11 @@ async function buildSafeWebConfigPayload(service, options = {}) {
176
176
  skillsStoreBaseUrl: config.gateway?.skillsStoreBaseUrl ?? "https://store.xopc.ai"
177
177
  },
178
178
  browser: buildSafeBrowserConfigForWeb(config.browser),
179
- goals: resolveGoalsConfigForWeb(config),
180
179
  session: resolveSessionConfigForWeb(config),
181
- userContext: { memory: { retention: { compaction: ContextCompactionPolicySchema.parse(config.userContext?.memory.retention?.compaction) } } },
180
+ userContext: {
181
+ preferences: config.userContext?.preferences ?? { responseLanguage: "auto" },
182
+ memory: { retention: { compaction: ContextCompactionPolicySchema.parse(config.userContext?.memory.retention?.compaction) } }
183
+ },
182
184
  tui: { defaultAgent: config.tui?.defaultAgent ?? "coder" },
183
185
  tunnel: {
184
186
  enabled: config.tunnel?.enabled === true,
@@ -12,6 +12,10 @@ export declare function createStrictRateLimitMiddleware(deps: StrictRateLimitDep
12
12
  error: string;
13
13
  code: string;
14
14
  }, 429, "json">>;
15
+ export declare function createChatRateLimitMiddleware(deps: StrictRateLimitDeps): import("hono").MiddlewareHandler<any, string, {}, Response & import("hono").TypedResponse<{
16
+ error: string;
17
+ code: string;
18
+ }, 429, "json">>;
15
19
  export declare function createXopcCloudPollRateLimitMiddleware(deps: StrictRateLimitDeps): import("hono").MiddlewareHandler<any, string, {}, Response & import("hono").TypedResponse<{
16
20
  error: string;
17
21
  code: string;
@@ -63,6 +63,13 @@ function createStrictRateLimitMiddleware(deps) {
63
63
  reason: "strict_rate_limit_exceeded"
64
64
  });
65
65
  }
66
+ function createChatRateLimitMiddleware(deps) {
67
+ return createClientRateLimitMiddleware(deps, {
68
+ limiter: () => buckets.chatApi(),
69
+ exceededMessage: "Chat API rate limit exceeded",
70
+ reason: "chat_rate_limit_exceeded"
71
+ });
72
+ }
66
73
  function createXopcCloudPollRateLimitMiddleware(deps) {
67
74
  return createClientRateLimitMiddleware(deps, {
68
75
  limiter: () => buckets.xopcCloudPoll(),
@@ -78,4 +85,4 @@ function createChannelRateLimitMiddleware(deps) {
78
85
  });
79
86
  }
80
87
  //#endregion
81
- export { createChannelRateLimitMiddleware, createStrictRateLimitMiddleware, createXopcCloudPollRateLimitMiddleware };
88
+ export { createChannelRateLimitMiddleware, createChatRateLimitMiddleware, createStrictRateLimitMiddleware, createXopcCloudPollRateLimitMiddleware };
@@ -4,9 +4,8 @@ import "../../../activity/index.js";
4
4
  const ACTIVITY_OBJECT_KINDS = new Set([
5
5
  "project",
6
6
  "note",
7
- "work_item",
8
7
  "session",
9
- "goal",
8
+ "task",
10
9
  "workflow_run",
11
10
  "automation"
12
11
  ]);