@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,209 +0,0 @@
1
- import { allChecklistTerminal, checklistCounts } from "./checklist-types.js";
2
- import { applyJudgeChecklistUpdates, mergeDecomposedChecklistItems, renderChecklistNumbered } from "./state.js";
3
- import { CONTINUATION_PROMPT_TEMPLATE_EN, CONTINUATION_PROMPT_WITH_CHECKLIST_TEMPLATE_EN, buildContinuationPromptFromState, checklistProgressSuffix, goalEvaluateUserCopy, resolveGoalUiLocale } from "./goal-locale.js";
4
- import { judgeGoalHermesStyle } from "./judge.js";
5
- import { decomposeGoalChecklist, evaluateGoalChecklistJudge } from "./checklist-judge.js";
6
- //#region src/agent/goals/evaluate-turn.ts
7
- /** Hermes `CONTINUATION_PROMPT_TEMPLATE` (English; parity / tests). */
8
- const CONTINUATION_PROMPT_TEMPLATE = CONTINUATION_PROMPT_TEMPLATE_EN;
9
- /** Hermes `CONTINUATION_PROMPT_WITH_CHECKLIST_TEMPLATE` (English; parity / tests). */
10
- const CONTINUATION_PROMPT_WITH_CHECKLIST_TEMPLATE = CONTINUATION_PROMPT_WITH_CHECKLIST_TEMPLATE_EN;
11
- function cloneState(s) {
12
- return {
13
- ...s,
14
- checklist: s.checklist?.map((it) => ({ ...it }))
15
- };
16
- }
17
- /**
18
- * Hermes `GoalManager.evaluate_after_turn` equivalent (minus SessionDB I/O).
19
- */
20
- async function evaluateAfterTurnHermesLike(state, lastResponse, judgeModelRef, signal, opts) {
21
- const locale = opts?.uiLocale ?? resolveGoalUiLocale(state);
22
- const copy = goalEvaluateUserCopy(locale);
23
- if (state.status !== "active") return {
24
- newState: state,
25
- shouldContinue: false,
26
- continuationPrompt: null,
27
- verdict: "inactive",
28
- reason: "no active goal",
29
- message: ""
30
- };
31
- const slice = opts?.goalsSlice;
32
- const checklistMode = slice?.checklistMode !== false;
33
- const maxParseFailures = slice?.maxConsecutiveParseFailures ?? 3;
34
- const judgeTimeoutMs = slice?.judgeTimeoutMs;
35
- const next = cloneState(state);
36
- next.turnsUsed += 1;
37
- next.lastTurnAt = Date.now();
38
- const bumpParse = () => {
39
- next.consecutiveParseFailures = (next.consecutiveParseFailures ?? 0) + 1;
40
- };
41
- const resetParse = () => {
42
- next.consecutiveParseFailures = 0;
43
- };
44
- const pauseIfParseStorm = (reason) => {
45
- const n = next.consecutiveParseFailures ?? 0;
46
- if (n < maxParseFailures) return null;
47
- next.status = "paused";
48
- next.pausedReason = `judge parse failures (${n} consecutive)`;
49
- return {
50
- newState: next,
51
- shouldContinue: false,
52
- continuationPrompt: null,
53
- verdict: "continue",
54
- reason,
55
- message: copy.pauseParse(n)
56
- };
57
- };
58
- const pauseIfBudget = (reason) => {
59
- if (next.turnsUsed < next.maxTurns) return null;
60
- next.status = "paused";
61
- next.pausedReason = `turn budget exhausted (${next.turnsUsed}/${next.maxTurns})`;
62
- return {
63
- newState: next,
64
- shouldContinue: false,
65
- continuationPrompt: null,
66
- verdict: "continue",
67
- reason,
68
- message: copy.pauseBudget(next.turnsUsed, next.maxTurns)
69
- };
70
- };
71
- if (checklistMode && !next.decomposed) {
72
- const dec = await decomposeGoalChecklist({
73
- goal: next.goal,
74
- existingChecklist: next.checklist?.length ? renderChecklistNumbered(next.checklist) : void 0,
75
- judgeModelRef,
76
- signal,
77
- judgeTimeoutMs,
78
- uiLocale: locale
79
- });
80
- next.decomposed = true;
81
- if (!dec.parseFailed && dec.items.length > 0) {
82
- next.checklist = mergeDecomposedChecklistItems(next.checklist ?? [], dec.items);
83
- const mergedCount = next.checklist.length;
84
- next.lastVerdict = "decompose";
85
- next.lastReason = copy.decomposedReason(mergedCount);
86
- resetParse();
87
- const budgetEarly = pauseIfBudget(next.lastReason);
88
- if (budgetEarly) return budgetEarly;
89
- return {
90
- newState: next,
91
- shouldContinue: true,
92
- continuationPrompt: buildContinuationPromptFromState(next, locale),
93
- verdict: "decompose",
94
- reason: next.lastReason ?? "",
95
- message: copy.checklistReady(mergedCount)
96
- };
97
- }
98
- next.lastReason = dec.errorReason ? copy.decomposeFallbackReason(dec.errorReason) : copy.noChecklistFallback();
99
- }
100
- const checklist = next.checklist ?? [];
101
- if (checklist.length > 0) {
102
- const evalResult = await evaluateGoalChecklistJudge({
103
- goal: next.goal,
104
- numberedChecklist: renderChecklistNumbered(checklist),
105
- lastResponse,
106
- historyExcerpt: opts?.historyExcerpt ?? "",
107
- goalContextExcerpt: opts?.goalContextExcerpt ?? "",
108
- judgeModelRef,
109
- signal,
110
- judgeTimeoutMs,
111
- uiLocale: locale
112
- });
113
- if (evalResult.parseFailed) bumpParse();
114
- else {
115
- resetParse();
116
- next.checklist = applyJudgeChecklistUpdates(checklist, {
117
- updates: evalResult.parsed.updates,
118
- newItems: evalResult.parsed.newItems
119
- });
120
- }
121
- next.lastVerdict = "continue";
122
- next.lastReason = evalResult.parsed.reason;
123
- const completedChecklistItemIndexes = evalResult.parsed.updates.filter((update) => update.status === "completed" || update.status === "impossible").map((update) => update.index);
124
- const continuationPrompt = evalResult.parsed.nextAction?.trim() || buildContinuationPromptFromState(next, locale);
125
- if (!evalResult.parseFailed && allChecklistTerminal(next.checklist ?? [])) {
126
- next.status = "done";
127
- next.lastVerdict = "done";
128
- return {
129
- newState: next,
130
- shouldContinue: false,
131
- continuationPrompt: null,
132
- verdict: "done",
133
- reason: evalResult.parsed.reason,
134
- message: copy.goalAchieved(evalResult.parsed.reason),
135
- confidence: evalResult.parsed.confidence,
136
- missingEvidence: evalResult.parsed.missingEvidence,
137
- userQuestion: evalResult.parsed.userQuestion,
138
- completedChecklistItemIndexes
139
- };
140
- }
141
- if (!evalResult.parseFailed && (evalResult.parsed.verdict === "blocked" || evalResult.parsed.verdict === "needs_input")) {
142
- next.status = "paused";
143
- next.pausedReason = evalResult.parsed.reason;
144
- return {
145
- newState: next,
146
- shouldContinue: false,
147
- continuationPrompt: null,
148
- verdict: evalResult.parsed.verdict,
149
- reason: evalResult.parsed.reason,
150
- message: evalResult.parsed.verdict === "needs_input" ? `Goal needs input: ${evalResult.parsed.userQuestion || evalResult.parsed.reason}` : `Goal blocked: ${evalResult.parsed.reason}`,
151
- confidence: evalResult.parsed.confidence,
152
- missingEvidence: evalResult.parsed.missingEvidence,
153
- userQuestion: evalResult.parsed.userQuestion,
154
- completedChecklistItemIndexes
155
- };
156
- }
157
- const parseStorm = pauseIfParseStorm(evalResult.parsed.reason);
158
- if (parseStorm) return parseStorm;
159
- const budget = pauseIfBudget(evalResult.parsed.reason);
160
- if (budget) return budget;
161
- const { total, completed, impossible } = checklistCounts(next.checklist ?? []);
162
- const progressSuffix = checklistProgressSuffix(completed + impossible, total, locale);
163
- return {
164
- newState: next,
165
- shouldContinue: true,
166
- continuationPrompt,
167
- verdict: "continue",
168
- reason: evalResult.parsed.reason,
169
- message: copy.continuingWithProgress(next.turnsUsed, next.maxTurns, progressSuffix, evalResult.parsed.reason),
170
- confidence: evalResult.parsed.confidence,
171
- missingEvidence: evalResult.parsed.missingEvidence,
172
- userQuestion: evalResult.parsed.userQuestion,
173
- completedChecklistItemIndexes
174
- };
175
- }
176
- const j = await judgeGoalHermesStyle(state.goal, lastResponse, judgeModelRef, signal, {
177
- judgeTimeoutMs,
178
- uiLocale: locale
179
- });
180
- next.lastVerdict = j.verdict === "skipped" ? "skipped" : j.verdict;
181
- next.lastReason = j.reason;
182
- if (j.parseFailed) bumpParse();
183
- else resetParse();
184
- if (j.verdict === "done") {
185
- next.status = "done";
186
- return {
187
- newState: next,
188
- shouldContinue: false,
189
- continuationPrompt: null,
190
- verdict: "done",
191
- reason: j.reason,
192
- message: copy.goalAchieved(j.reason)
193
- };
194
- }
195
- const parseStorm = pauseIfParseStorm(j.reason);
196
- if (parseStorm) return parseStorm;
197
- const budget = pauseIfBudget(j.reason);
198
- if (budget) return budget;
199
- return {
200
- newState: next,
201
- shouldContinue: true,
202
- continuationPrompt: buildContinuationPromptFromState(next, locale),
203
- verdict: "continue",
204
- reason: j.reason,
205
- message: copy.continuing(next.turnsUsed, next.maxTurns, j.reason)
206
- };
207
- }
208
- //#endregion
209
- export { CONTINUATION_PROMPT_TEMPLATE, CONTINUATION_PROMPT_WITH_CHECKLIST_TEMPLATE, evaluateAfterTurnHermesLike };
@@ -1,26 +0,0 @@
1
- import { type PersistentGoalState } from './state.js';
2
- import { goalsEvaluateCopy, JUDGE_REASON_EN, type JudgeReasonId } from '../../i18n/goals-bundle.js';
3
- import { normalizeServerLocale, type ServerLocale, serverLocaleOrFallback, isServerLocale } from '../../i18n/locale.js';
4
- export declare const GOAL_UI_LOCALES: readonly ["en", "zh"];
5
- export type GoalUiLocale = ServerLocale;
6
- export declare const DEFAULT_GOAL_UI_LOCALE: "en" | "zh";
7
- export declare const isGoalUiLocale: typeof isServerLocale;
8
- export declare const normalizeGoalUiLocale: typeof normalizeServerLocale;
9
- export declare const goalUiLocaleOrFallback: typeof serverLocaleOrFallback;
10
- export declare function resolveGoalUiLocale(state: PersistentGoalState | undefined | null): GoalUiLocale;
11
- export declare const CONTINUATION_PROMPT_TEMPLATE_EN: string;
12
- export declare const CONTINUATION_PROMPT_WITH_CHECKLIST_TEMPLATE_EN: string;
13
- export declare function buildContinuationPromptFromState(state: PersistentGoalState, locale: GoalUiLocale): string;
14
- export declare function judgeResponseLanguageNote(locale: GoalUiLocale): string;
15
- export { JUDGE_REASON_EN, type JudgeReasonId };
16
- export declare function judgeReasonText(id: JudgeReasonId, locale: GoalUiLocale): string;
17
- export declare function localizeJudgeReasonText(reason: string, locale: GoalUiLocale): string;
18
- export declare function judgeFreeformBuiltinMessages(locale: GoalUiLocale): {
19
- emptyGoal: string;
20
- emptyResponse: string;
21
- noModel: string;
22
- callFailed: string;
23
- };
24
- export declare function checklistProgressSuffix(done: number, total: number, locale: GoalUiLocale): string;
25
- export type GoalEvaluateUserCopyPack = ReturnType<typeof goalsEvaluateCopy>;
26
- export declare function goalEvaluateUserCopy(locale: GoalUiLocale): GoalEvaluateUserCopyPack;
@@ -1,61 +0,0 @@
1
- import { checklistCounts } from "./checklist-types.js";
2
- import { renderChecklistPlain } from "./state.js";
3
- import { formatI18n } from "../../i18n/format.js";
4
- import { SERVER_LOCALES, isServerLocale, normalizeServerLocale, serverLocaleOrFallback } from "../../i18n/locale.js";
5
- import { JUDGE_REASON_EN, goalsChecklistProgressSuffix, goalsContinuationChecklistTemplate, goalsContinuationPlainTemplate, goalsEvaluateCopy, goalsJudgeReason, goalsJudgeResponseLanguageNote } from "../../i18n/goals-bundle.js";
6
- //#region src/agent/goals/goal-locale.ts
7
- const GOAL_UI_LOCALES = SERVER_LOCALES;
8
- const DEFAULT_GOAL_UI_LOCALE = "en";
9
- const isGoalUiLocale = isServerLocale;
10
- const normalizeGoalUiLocale = normalizeServerLocale;
11
- const goalUiLocaleOrFallback = serverLocaleOrFallback;
12
- function resolveGoalUiLocale(state) {
13
- return goalUiLocaleOrFallback(state?.uiLocale);
14
- }
15
- const CONTINUATION_PROMPT_TEMPLATE_EN = goalsContinuationPlainTemplate("en");
16
- const CONTINUATION_PROMPT_WITH_CHECKLIST_TEMPLATE_EN = goalsContinuationChecklistTemplate("en");
17
- function buildContinuationPromptFromState(state, locale) {
18
- const L = goalUiLocaleOrFallback(locale);
19
- const cl = state.checklist ?? [];
20
- if (cl.length) {
21
- const plain = renderChecklistPlain(cl);
22
- const { total, completed, impossible } = checklistCounts(cl);
23
- const done = completed + impossible;
24
- return formatI18n(goalsContinuationChecklistTemplate(L), {
25
- goal: state.goal,
26
- done,
27
- total,
28
- checklist: plain
29
- });
30
- }
31
- return formatI18n(goalsContinuationPlainTemplate(L), { goal: state.goal });
32
- }
33
- function judgeResponseLanguageNote(locale) {
34
- return goalsJudgeResponseLanguageNote(goalUiLocaleOrFallback(locale));
35
- }
36
- const JUDGE_REASON_ID_BY_EN = new Map(Object.entries(JUDGE_REASON_EN).map(([id, s]) => [s, id]));
37
- function judgeReasonText(id, locale) {
38
- return goalsJudgeReason(id, goalUiLocaleOrFallback(locale));
39
- }
40
- function localizeJudgeReasonText(reason, locale) {
41
- const id = JUDGE_REASON_ID_BY_EN.get(reason);
42
- if (!id) return reason;
43
- return judgeReasonText(id, locale);
44
- }
45
- function judgeFreeformBuiltinMessages(locale) {
46
- const L = goalUiLocaleOrFallback(locale);
47
- return {
48
- emptyGoal: judgeReasonText("empty_goal", L),
49
- emptyResponse: judgeReasonText("empty_response", L),
50
- noModel: judgeReasonText("judge_model_not_configured", L),
51
- callFailed: judgeReasonText("judge_call_failed", L)
52
- };
53
- }
54
- function checklistProgressSuffix(done, total, locale) {
55
- return goalsChecklistProgressSuffix(done, total, goalUiLocaleOrFallback(locale));
56
- }
57
- function goalEvaluateUserCopy(locale) {
58
- return goalsEvaluateCopy(goalUiLocaleOrFallback(locale));
59
- }
60
- //#endregion
61
- export { CONTINUATION_PROMPT_TEMPLATE_EN, CONTINUATION_PROMPT_WITH_CHECKLIST_TEMPLATE_EN, DEFAULT_GOAL_UI_LOCALE, GOAL_UI_LOCALES, JUDGE_REASON_EN, buildContinuationPromptFromState, checklistProgressSuffix, goalEvaluateUserCopy, goalUiLocaleOrFallback, isGoalUiLocale, judgeFreeformBuiltinMessages, judgeReasonText, judgeResponseLanguageNote, localizeJudgeReasonText, normalizeGoalUiLocale, resolveGoalUiLocale };
@@ -1,41 +0,0 @@
1
- import { resolveModel } from '../../providers/index.js';
2
- import type { GoalUiLocale } from './goal-locale.js';
3
- /**
4
- * Extract visible text from a pi-ai `AssistantMessage.content` array.
5
- * Handles `TextContent` (`type: 'text'`) and falls back to `ThinkingContent`
6
- * (`type: 'thinking'`) when the text blocks are empty — reasoning models
7
- * (DeepSeek-R1, Qwen-thinking, etc.) may place the entire response inside
8
- * thinking blocks, leaving the text portion blank.
9
- */
10
- export declare function extractAssistantText(content: unknown): string;
11
- /**
12
- * Strip markdown code fences (opening AND closing) from raw model output.
13
- * Handles `` ```json ``, `` ``` ``, and trailing `` ``` `` with optional whitespace.
14
- */
15
- export declare function stripCodeFences(raw: string): string;
16
- /** Mirrors `hermes_cli/goals.py` — strict judge, JSON-only reply. */
17
- export declare const JUDGE_SYSTEM_PROMPT: string;
18
- export declare const JUDGE_USER_PROMPT_TEMPLATE: string;
19
- export declare const DEFAULT_JUDGE_TIMEOUT_MS = 60000;
20
- export declare function truncateGoalText(text: string, limit: number): string;
21
- export declare function resolveGoalJudgeApiKey(model: ReturnType<typeof resolveModel>): Promise<string | undefined>;
22
- export declare function getAssistantMessageErrorReason(message: unknown): string | null;
23
- /** Parse judge JSON — fail-open to **continue** (Hermes semantics). */
24
- export declare function parseJudgeResponseFailOpen(raw: string): {
25
- done: boolean;
26
- reason: string;
27
- parseFailed: boolean;
28
- };
29
- export type GoalJudgeVerdict = 'done' | 'continue' | 'skipped';
30
- /**
31
- * Ask the configured model whether the goal is satisfied.
32
- * Fail-open: any error → `continue` (Hermes — turn budget is the backstop).
33
- */
34
- export declare function judgeGoalHermesStyle(goal: string, lastResponse: string, judgeModelRef: string, signal?: AbortSignal, opts?: {
35
- judgeTimeoutMs?: number;
36
- uiLocale?: GoalUiLocale;
37
- }): Promise<{
38
- verdict: GoalJudgeVerdict;
39
- reason: string;
40
- parseFailed: boolean;
41
- }>;
@@ -1,176 +0,0 @@
1
- import { getApiKey, init_providers, resolveModel } from "../../providers/index.js";
2
- import { completeWithResolvedCredentials } from "../../providers/model-call.js";
3
- import { JUDGE_REASON_EN } from "../../i18n/goals-bundle.js";
4
- import { goalUiLocaleOrFallback, judgeFreeformBuiltinMessages, judgeResponseLanguageNote, localizeJudgeReasonText } from "./goal-locale.js";
5
- //#region src/agent/goals/judge.ts
6
- init_providers();
7
- const JUDGE_RESPONSE_SNIPPET_CHARS = 4e3;
8
- /**
9
- * Extract visible text from a pi-ai `AssistantMessage.content` array.
10
- * Handles `TextContent` (`type: 'text'`) and falls back to `ThinkingContent`
11
- * (`type: 'thinking'`) when the text blocks are empty — reasoning models
12
- * (DeepSeek-R1, Qwen-thinking, etc.) may place the entire response inside
13
- * thinking blocks, leaving the text portion blank.
14
- */
15
- function extractAssistantText(content) {
16
- if (!Array.isArray(content)) return "";
17
- let textParts = "";
18
- let thinkingParts = "";
19
- for (const block of content) {
20
- if (!block || typeof block !== "object") continue;
21
- const typed = block;
22
- const blockType = typed.type;
23
- if (blockType === "text" && typeof typed.text === "string") textParts += typed.text;
24
- else if (blockType === "thinking") {
25
- const thinking = typeof typed.thinking === "string" ? typed.thinking : typeof typed.text === "string" ? typed.text : "";
26
- thinkingParts += thinking;
27
- }
28
- }
29
- return textParts.trim() ? textParts : thinkingParts;
30
- }
31
- /**
32
- * Strip markdown code fences (opening AND closing) from raw model output.
33
- * Handles `` ```json ``, `` ``` ``, and trailing `` ``` `` with optional whitespace.
34
- */
35
- function stripCodeFences(raw) {
36
- let text = raw.trim();
37
- const openMatch = text.match(/^`{3,}[^\n]*\n?/);
38
- if (openMatch) text = text.slice(openMatch[0].length);
39
- const closeMatch = text.match(/\n?`{3,}\s*$/);
40
- if (closeMatch) text = text.slice(0, -closeMatch[0].length);
41
- return text.trim();
42
- }
43
- /** Mirrors `hermes_cli/goals.py` — strict judge, JSON-only reply. */
44
- const JUDGE_SYSTEM_PROMPT = "You are a strict judge evaluating whether an autonomous agent has achieved a user's stated goal. You receive the goal text and the agent's most recent response. Your only job is to decide whether the goal is fully satisfied based on that response.\n\nA goal is DONE only when:\n- The response explicitly confirms the goal was completed, OR\n- The response clearly shows the final deliverable was produced, OR\n- The response explains the goal is unachievable / blocked / needs user input (treat this as DONE with reason describing the block).\n\nOtherwise the goal is NOT done — CONTINUE.\n\nReply ONLY with a single JSON object on one line:\n{\"done\": <true|false>, \"reason\": \"<one-sentence rationale>\"}";
45
- const JUDGE_USER_PROMPT_TEMPLATE = "Goal:\n{goal}\n\nAgent's most recent response:\n{response}\n\nIs the goal satisfied?";
46
- const DEFAULT_JUDGE_TIMEOUT_MS = 6e4;
47
- function truncateGoalText(text, limit) {
48
- if (!text) return "";
49
- if (text.length <= limit) return text;
50
- return text.slice(0, limit) + "… [truncated]";
51
- }
52
- async function resolveGoalJudgeApiKey(model) {
53
- try {
54
- return await getApiKey(model.provider);
55
- } catch {
56
- return;
57
- }
58
- }
59
- function getAssistantMessageErrorReason(message) {
60
- if (!message || typeof message !== "object") return null;
61
- const record = message;
62
- const stopReason = record.stopReason;
63
- const errorMessage = typeof record.errorMessage === "string" ? record.errorMessage.trim() : "";
64
- if (stopReason === "error") return errorMessage || "Judge model call failed.";
65
- return null;
66
- }
67
- /** Parse judge JSON — fail-open to **continue** (Hermes semantics). */
68
- function parseJudgeResponseFailOpen(raw) {
69
- if (!raw?.trim()) return {
70
- done: false,
71
- reason: JUDGE_REASON_EN.judge_returned_empty,
72
- parseFailed: true
73
- };
74
- const text = stripCodeFences(raw);
75
- let data = null;
76
- try {
77
- data = JSON.parse(text);
78
- } catch {
79
- const start = text.indexOf("{");
80
- const end = text.lastIndexOf("}");
81
- if (start !== -1 && end > start) try {
82
- data = JSON.parse(text.slice(start, end + 1));
83
- } catch {
84
- data = null;
85
- }
86
- }
87
- if (!data || typeof data !== "object") return {
88
- done: false,
89
- reason: JUDGE_REASON_EN.judge_reply_not_json,
90
- parseFailed: true
91
- };
92
- const doneVal = data.done;
93
- let done;
94
- if (typeof doneVal === "string") done = [
95
- "true",
96
- "yes",
97
- "1",
98
- "done"
99
- ].includes(doneVal.trim().toLowerCase());
100
- else done = Boolean(doneVal);
101
- const reason = typeof data.reason === "string" ? data.reason.trim() : "";
102
- return {
103
- done,
104
- reason: reason || JUDGE_REASON_EN.no_reason_provided,
105
- parseFailed: false
106
- };
107
- }
108
- /**
109
- * Ask the configured model whether the goal is satisfied.
110
- * Fail-open: any error → `continue` (Hermes — turn budget is the backstop).
111
- */
112
- async function judgeGoalHermesStyle(goal, lastResponse, judgeModelRef, signal, opts) {
113
- const locale = goalUiLocaleOrFallback(opts?.uiLocale);
114
- const b = judgeFreeformBuiltinMessages(locale);
115
- if (!goal.trim()) return {
116
- verdict: "skipped",
117
- reason: b.emptyGoal,
118
- parseFailed: false
119
- };
120
- if (!lastResponse.trim()) return {
121
- verdict: "continue",
122
- reason: b.emptyResponse,
123
- parseFailed: false
124
- };
125
- let model;
126
- try {
127
- model = resolveModel(judgeModelRef);
128
- } catch {
129
- return {
130
- verdict: "continue",
131
- reason: b.noModel,
132
- parseFailed: false
133
- };
134
- }
135
- const userContent = JUDGE_USER_PROMPT_TEMPLATE.replace("{goal}", truncateGoalText(goal, 2e3)).replace("{response}", truncateGoalText(lastResponse, JUDGE_RESPONSE_SNIPPET_CHARS)) + judgeResponseLanguageNote(locale);
136
- const timeoutMs = typeof opts?.judgeTimeoutMs === "number" && Number.isFinite(opts.judgeTimeoutMs) ? Math.max(5e3, Math.min(12e4, Math.floor(opts.judgeTimeoutMs))) : DEFAULT_JUDGE_TIMEOUT_MS;
137
- const controller = new AbortController();
138
- const timer = setTimeout(() => controller.abort(), timeoutMs);
139
- const merged = signal ? AbortSignal.any([signal, controller.signal]) : controller.signal;
140
- try {
141
- const combinedUser = {
142
- role: "user",
143
- content: `${JUDGE_SYSTEM_PROMPT}\n\n${userContent}`,
144
- timestamp: Date.now()
145
- };
146
- const apiKey = await resolveGoalJudgeApiKey(model);
147
- const result = await completeWithResolvedCredentials(model, { messages: [combinedUser] }, {
148
- apiKey,
149
- maxTokens: 200,
150
- temperature: 0,
151
- signal: merged
152
- });
153
- if (getAssistantMessageErrorReason(result)) return {
154
- verdict: "continue",
155
- reason: b.callFailed,
156
- parseFailed: false
157
- };
158
- const { done, reason, parseFailed } = parseJudgeResponseFailOpen(extractAssistantText(result.content));
159
- const reasonOut = localizeJudgeReasonText(reason, locale);
160
- return {
161
- verdict: done ? "done" : "continue",
162
- reason: reasonOut,
163
- parseFailed
164
- };
165
- } catch {
166
- return {
167
- verdict: "continue",
168
- reason: b.callFailed,
169
- parseFailed: false
170
- };
171
- } finally {
172
- clearTimeout(timer);
173
- }
174
- }
175
- //#endregion
176
- export { DEFAULT_JUDGE_TIMEOUT_MS, JUDGE_SYSTEM_PROMPT, JUDGE_USER_PROMPT_TEMPLATE, extractAssistantText, getAssistantMessageErrorReason, judgeGoalHermesStyle, parseJudgeResponseFailOpen, resolveGoalJudgeApiKey, stripCodeFences, truncateGoalText };
@@ -1,15 +0,0 @@
1
- import type { AgentMessage } from '@earendil-works/pi-agent-core';
2
- import type { SessionMetadata } from '../../session/types.js';
3
- /** Session persistence + scheduling for `/goal` on any channel (Hermes-style). */
4
- export interface PersistentGoalApis {
5
- getSessionMetadata(key: string): Promise<SessionMetadata | null>;
6
- updateSessionMetadata(key: string, updates: Partial<SessionMetadata>): Promise<void>;
7
- loadMessages(key: string): Promise<AgentMessage[]>;
8
- appendAssistantReceipt(sessionKey: string, text: string): Promise<void>;
9
- scheduleContinuation(sessionKey: string, message: string): void;
10
- /**
11
- * Hermes-style guard: >1 while setting a new goal text means another inbound turn is still in-flight
12
- * for the same session (e.g. concurrent requests).
13
- */
14
- inboundConcurrentDepth(sessionKey: string): number;
15
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,93 +0,0 @@
1
- /**
2
- * PersistentGoalService — owns the "/goal" runtime: continuation scheduling,
3
- * the `PersistentGoalApis` bag that command handlers receive, and the post-turn
4
- * verdict hook called from `OutboundCoordinator`.
5
- *
6
- * Previously this logic was scattered across `AgentService`:
7
- * - `setPersistentGoalWebchatContinuationScheduler` + a private callback field
8
- * - `schedulePersistentGoalContinuation` (bus vs webchat fork)
9
- * - `getPersistentGoalApisForCommand` (~40-line API factory)
10
- * - `recordPersistentGoalStreamOutcome` / `takePersistentGoalStreamOutcome`
11
- * - the `/goal` half of `emitSessionTurnComplete` (delegated to
12
- * `handlePersistentGoalPostTurn`)
13
- *
14
- * Concentrating it here gives the rest of `AgentService` a cleaner surface
15
- * (one collaborator instead of five methods) and makes the goal runtime
16
- * unit-testable in isolation.
17
- */
18
- import type { Config } from '../../config/schema.js';
19
- import type { MessageBus } from '../../infra/bus/index.js';
20
- import type { ModelManager } from '../models/index.js';
21
- import type { SessionStore } from '../../session/store.js';
22
- import type { SessionStateBag } from '../session/index.js';
23
- import type { GoalWithDetails } from '../../goals/types.js';
24
- import type { PersistentGoalApis } from './persistent-goal-apis.js';
25
- export interface PersistentGoalRouting {
26
- sessionKey: string;
27
- channel: string;
28
- chatId: string;
29
- inboundMetadata?: Record<string, unknown>;
30
- }
31
- export interface SessionTurnCompletionForGoal {
32
- sessionKey: string;
33
- channel: string;
34
- chatId: string;
35
- assistantPlainText: string;
36
- aborted: boolean;
37
- streamError?: string;
38
- skipPersistentGoalPostTurn?: boolean;
39
- outboundMetadata?: Record<string, unknown>;
40
- }
41
- export interface PersistentGoalServiceOptions {
42
- bus: MessageBus;
43
- sessionStore: SessionStore;
44
- modelManager: ModelManager;
45
- sessionState: SessionStateBag;
46
- /** Effective config snapshot accessor. */
47
- getConfig: () => Config | undefined;
48
- /** Resolve the workspace directory for `appendAssistantReceipt` writes. */
49
- getResolvedWorkspaceForSession: (sessionKey: string) => string;
50
- /** Notify the gateway UI after a metadata change (replaces the in-bag emit). */
51
- onSessionMetadataUpdated?: (sessionKey: string) => void;
52
- /** Push an assistant token + transcript refresh into a live webchat stream. */
53
- notifyWebchatTranscriptAppend: (sessionKey: string, assistantText: string) => void;
54
- /** Gateway: durable goal status changed after post-turn judge. */
55
- onGoalStatusUpdated?: (payload: {
56
- goalId: string;
57
- sessionKey: string;
58
- previousStatus: string;
59
- status: string;
60
- goal: GoalWithDetails;
61
- }) => void;
62
- }
63
- export declare class PersistentGoalService {
64
- private readonly opts;
65
- /** Gateway only: webchat continuations bypass the bus and reuse `runGatewayAgent`. */
66
- private webchatContinuationScheduler?;
67
- constructor(opts: PersistentGoalServiceOptions);
68
- /** Register the gateway-side webchat continuation hook (set from `web-agent` wiring). */
69
- setWebchatContinuationScheduler(fn: ((sessionKey: string, message: string) => void) | undefined): void;
70
- /**
71
- * Continue a session after `/goal` decides the previous turn needs follow-up.
72
- * Webchat sessions go through the scheduler; bus-driven channels re-publish the
73
- * follow-up message as an inbound bus event so the existing inbound loop picks it up.
74
- */
75
- scheduleContinuation(sessionKey: string, message: string, routing: {
76
- channel: string;
77
- chatId: string;
78
- inboundMetadata?: Record<string, unknown>;
79
- }): void;
80
- /** Build the per-command `PersistentGoalApis` bag (transcript writers + scheduler closures). */
81
- buildApisForRouting(routing: PersistentGoalRouting): PersistentGoalApis;
82
- recordStreamOutcome(sessionKey: string, outcome: {
83
- skipPersistentGoalPostTurn: boolean;
84
- }): void;
85
- takeStreamOutcome(sessionKey: string): {
86
- skipPersistentGoalPostTurn: boolean;
87
- } | undefined;
88
- /**
89
- * Run the `/goal` post-turn verdict for a completed user turn (called from
90
- * `OutboundCoordinator.emitSessionTurnComplete`).
91
- */
92
- runPostTurn(payload: SessionTurnCompletionForGoal): Promise<void>;
93
- }