@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
@@ -149,14 +149,14 @@ function normalizeGitHub(result, actionId) {
149
149
  }];
150
150
  });
151
151
  }
152
- function normalizeWorkItems(result, toolkit) {
152
+ function normalizeExternalTasks(result, toolkit) {
153
153
  return rows(payload(result), "issues", "items", "results").flatMap((item) => {
154
154
  const externalId = text(item, "id", "identifier", "key");
155
155
  if (!externalId) return [];
156
156
  const occurredAt = time(item.createdAt ?? item.created_at);
157
157
  return [{
158
158
  externalId,
159
- itemType: "work_item",
159
+ itemType: "external_task",
160
160
  occurredAt,
161
161
  sourceUpdatedAt: time(item.updatedAt ?? item.updated_at) ?? occurredAt,
162
162
  value: compact({
@@ -168,8 +168,8 @@ function normalizeWorkItems(result, toolkit) {
168
168
  state: item.state ?? item.status
169
169
  }),
170
170
  metadata: {
171
- observationKind: "work_item",
172
- logicalEventKey: `${toolkit}:work-item:${externalId}`
171
+ observationKind: "external_task",
172
+ logicalEventKey: `${toolkit}:task:${externalId}`
173
173
  },
174
174
  synthesisStatus: "pending"
175
175
  }];
@@ -179,7 +179,7 @@ function normalizeConnectedSourceResult(input) {
179
179
  if (input.toolkit === "gmail") return normalizeGmail(input.result);
180
180
  if (input.toolkit === "googlecalendar") return normalizeCalendar(input.result);
181
181
  if (input.toolkit === "github") return normalizeGitHub(input.result, input.actionId);
182
- if (input.toolkit === "linear" || input.toolkit === "jira") return normalizeWorkItems(input.result, input.toolkit);
182
+ if (input.toolkit === "linear" || input.toolkit === "jira") return normalizeExternalTasks(input.result, input.toolkit);
183
183
  return [];
184
184
  }
185
185
  //#endregion
@@ -1,2 +1,4 @@
1
1
  import type { ConnectorConnection } from './types.js';
2
2
  export declare function normalizeConnectorIdentity(toolkit: string, result: unknown): ConnectorConnection['identity'];
3
+ export declare function connectorIdentityKey(toolkit: string, identity: Record<string, unknown>): string | undefined;
4
+ export declare function mergeConnectorIdentity(toolkit: string, current: Record<string, unknown>, incoming: Record<string, unknown>): Record<string, unknown>;
@@ -23,7 +23,70 @@ function normalizeConnectorIdentity(toolkit, result) {
23
23
  profileUrl: text(row, ["html_url"])
24
24
  };
25
25
  if (toolkit === "gmail") return { email: text(row, ["emailAddress", "email"]) };
26
+ if (toolkit === "slack") return {
27
+ enterpriseId: text(row, ["enterprise_id", "enterpriseId"]),
28
+ workspaceId: text(row, ["team_id", "teamId"]),
29
+ workspace: text(row, [
30
+ "team",
31
+ "team_name",
32
+ "workspace"
33
+ ]),
34
+ userId: text(row, ["user_id", "userId"]),
35
+ username: text(row, [
36
+ "user",
37
+ "username",
38
+ "user_name"
39
+ ]),
40
+ botUserId: text(row, [
41
+ "bot_id",
42
+ "botId",
43
+ "bot_user_id"
44
+ ])
45
+ };
26
46
  throw new Error(`Identity normalization is not defined for ${toolkit}.`);
27
47
  }
48
+ function connectorIdentityKey(toolkit, identity) {
49
+ const normalizedToolkit = toolkit.trim().toLowerCase();
50
+ if (normalizedToolkit === "slack") {
51
+ const workspaceId = text(identity, [
52
+ "workspaceId",
53
+ "teamId",
54
+ "team_id"
55
+ ]);
56
+ const subjectId = text(identity, [
57
+ "userId",
58
+ "user_id",
59
+ "botUserId",
60
+ "bot_user_id"
61
+ ]);
62
+ if (!workspaceId || !subjectId) return void 0;
63
+ return `slack:${text(identity, ["enterpriseId", "enterprise_id"]) ?? "-"}:${workspaceId}:${subjectId}`;
64
+ }
65
+ if (normalizedToolkit === "gmail") {
66
+ const email = text(identity, ["email"]);
67
+ return email ? `gmail:${email.toLowerCase()}` : void 0;
68
+ }
69
+ if (normalizedToolkit === "github") {
70
+ const username = text(identity, ["username"]);
71
+ return username ? `github:${username.toLowerCase()}` : void 0;
72
+ }
73
+ }
74
+ function mergeConnectorIdentity(toolkit, current, incoming) {
75
+ const normalizedToolkit = toolkit.trim().toLowerCase();
76
+ if (![
77
+ "gmail",
78
+ "github",
79
+ "slack"
80
+ ].includes(normalizedToolkit)) return {
81
+ ...current,
82
+ ...incoming
83
+ };
84
+ const normalized = Object.fromEntries(Object.entries(normalizeConnectorIdentity(normalizedToolkit, incoming)).filter(([, value]) => value !== void 0 && value !== null && value !== ""));
85
+ return {
86
+ ...current,
87
+ ...incoming,
88
+ ...normalized
89
+ };
90
+ }
28
91
  //#endregion
29
- export { normalizeConnectorIdentity };
92
+ export { connectorIdentityKey, mergeConnectorIdentity, normalizeConnectorIdentity };
@@ -3,15 +3,16 @@ import { init_logger } from "../utils/logger.js";
3
3
  import { claimNextConnectorLearningJob, enqueueConnectorLearningJob, listConnectorLearningJobs, recoverStaleConnectorLearningJobs, setConnectorLearningPaused, updateConnectorLearningJob } from "../storage/sqlite/connector-learning-repository.js";
4
4
  import { pruneBoundedKnowledgeSourceItems } from "../storage/sqlite/knowledge-repository.js";
5
5
  import { getConnectorInstallation, listConnectorConnections, upsertConnectorConnection } from "../storage/sqlite/connector-repository.js";
6
- import { getConnectorSyncPolicy } from "../storage/sqlite/connector-sync-policy-repository.js";
6
+ import { getConnectorAccount, reconcileConnectorAccount } from "../storage/sqlite/connector-account-repository.js";
7
+ import { getConnectorSyncPolicyForConnection } from "../storage/sqlite/connector-sync-policy-repository.js";
7
8
  import "../storage/sqlite/index.js";
9
+ import { connectorIdentityKey, normalizeConnectorIdentity } from "./connector-identity.js";
8
10
  import { ComposioSessionsAdapter } from "./composio-sessions.js";
11
+ import { buildConnectorLearningArguments, getConnectorLearningPlan } from "./learning-recipes.js";
9
12
  import { getConnectorDefinition } from "./catalog.js";
10
13
  import { ConnectedUnderstandingPipeline } from "../knowledge/connected-understanding-pipeline.js";
11
14
  import "../knowledge/index.js";
12
15
  import { ingestComposioConnectedSource } from "./connected-source-ingestion.js";
13
- import { normalizeConnectorIdentity } from "./connector-identity.js";
14
- import { buildConnectorLearningArguments, getConnectorLearningPlan } from "./learning-recipes.js";
15
16
  //#region src/connectors/learning-coordinator.ts
16
17
  init_logger();
17
18
  const log = createLogger("ConnectorLearning");
@@ -31,29 +32,32 @@ function startConnectorLearningCoordinator(options) {
31
32
  let stopped = false;
32
33
  const composioAdapter = options.composioAdapter ?? new ComposioSessionsAdapter();
33
34
  const publish = (job) => options.emit?.("connector.learning.updated", job);
35
+ const activeAccountConnections = () => listConnectorConnections().filter((connection) => connection.status === "active" && connection.accountId).filter((connection) => getConnectorAccount(connection.accountId)?.currentConnectionId === connection.id);
34
36
  function enqueueConnection(connectionId, request = {}) {
35
37
  if (!learningEnabled(options.getConfig())) return null;
36
38
  const connection = listConnectorConnections().find((item) => item.id === connectionId && item.status === "active");
37
39
  if (!connection) return null;
38
- const syncPolicy = getConnectorSyncPolicy(connection.id);
40
+ if (!connection.accountId) throw new Error(`Connector account is missing for connection ${connection.id}.`);
41
+ const syncPolicy = getConnectorSyncPolicyForConnection(connection.id);
39
42
  if (request.reason !== "manual" && syncPolicy?.scanEnabled === false) return null;
40
43
  const definition = getConnectorDefinition(connection.connectorId);
41
44
  if (definition?.runtime.type !== "composio" || definition.runtime.role !== "toolkit") return null;
42
45
  if (!getConnectorLearningPlan(definition.runtime.toolkit)) return null;
43
- const sourceInstanceId = `composio:${connection.connectorId}:${connection.id}`;
46
+ const sourceInstanceId = `composio:${connection.connectorId}:${connection.accountId}`;
44
47
  const existing = listConnectorLearningJobs({
45
- connectionId: connection.id,
48
+ accountId: connection.accountId,
46
49
  limit: 1
47
50
  });
48
51
  const mode = request.mode ?? (existing.length === 0 ? "bootstrap" : "incremental");
49
52
  const bucket = Math.floor(Date.now() / 6e4);
50
53
  const job = enqueueConnectorLearningJob({
51
54
  connectorId: connection.connectorId,
55
+ accountId: connection.accountId,
52
56
  connectionId: connection.id,
53
57
  sourceInstanceId,
54
58
  agentId: options.resolveAgentId(),
55
59
  mode,
56
- idempotencyKey: request.idempotencyKey ?? (mode === "bootstrap" ? `bootstrap:${connection.id}:v1` : `incremental:${connection.id}:${request.reason ?? "manual"}:${bucket}`),
60
+ idempotencyKey: request.idempotencyKey ?? (mode === "bootstrap" ? `bootstrap:${connection.accountId}:v1` : `incremental:${connection.accountId}:${request.reason ?? "manual"}:${bucket}`),
57
61
  nextRunAt: request.nextRunAt
58
62
  });
59
63
  publish(job);
@@ -62,7 +66,7 @@ function startConnectorLearningCoordinator(options) {
62
66
  }
63
67
  function enqueueToolkit(toolkit) {
64
68
  const normalized = toolkit.trim().toLowerCase();
65
- return listConnectorConnections().filter((connection) => connection.status === "active").filter((connection) => {
69
+ return activeAccountConnections().filter((connection) => {
66
70
  const definition = getConnectorDefinition(connection.connectorId);
67
71
  return definition?.runtime.type === "composio" && definition.runtime.role === "toolkit" && definition.runtime.toolkit === normalized;
68
72
  }).map((connection) => enqueueConnection(connection.id, { reason: "event" })).filter((job) => Boolean(job));
@@ -107,6 +111,19 @@ function startConnectorLearningCoordinator(options) {
107
111
  ...connection,
108
112
  identity: normalizeConnectorIdentity(plan.toolkit, execution.result)
109
113
  });
114
+ const identityKey = connectorIdentityKey(plan.toolkit, connection.identity);
115
+ if (identityKey) {
116
+ const account = reconcileConnectorAccount({
117
+ connectionId: connection.id,
118
+ identityKey,
119
+ identity: connection.identity
120
+ });
121
+ connection = listConnectorConnections().find((candidate) => candidate.id === connection.id);
122
+ job = updateConnectorLearningJob(job.id, {
123
+ accountId: account.id,
124
+ sourceInstanceId: `composio:${connection.connectorId}:${account.id}`
125
+ });
126
+ }
110
127
  }
111
128
  let itemsSeen = 0;
112
129
  let itemsIndexed = 0;
@@ -126,7 +143,7 @@ function startConnectorLearningCoordinator(options) {
126
143
  itemsIndexed += synced.itemsIndexed;
127
144
  }
128
145
  if (listConnectorLearningJobs({
129
- connectionId: job.connectionId,
146
+ accountId: job.accountId,
130
147
  limit: 100
131
148
  }).find((candidate) => candidate.id === job.id)?.status === "paused") return;
132
149
  publish(updateConnectorLearningJob(job.id, {
@@ -144,15 +161,15 @@ function startConnectorLearningCoordinator(options) {
144
161
  finished: true
145
162
  }));
146
163
  pruneBoundedKnowledgeSourceItems(job.sourceInstanceId, Date.now() - plan.bootstrapWindowDays * 24 * 60 * 6e4);
147
- const syncPolicy = getConnectorSyncPolicy(job.connectionId);
164
+ const syncPolicy = getConnectorSyncPolicyForConnection(job.connectionId);
148
165
  if (syncPolicy?.scanEnabled === false) return;
149
166
  const intervalMinutes = syncPolicy?.intervalMinutes ?? plan.intervalMinutes;
150
167
  const nextRunAt = Date.now() + intervalMinutes * 6e4;
151
- enqueueConnection(job.connectionId, {
168
+ enqueueConnection(getConnectorAccount(job.accountId)?.currentConnectionId ?? job.connectionId, {
152
169
  mode: "incremental",
153
170
  reason: "schedule",
154
171
  nextRunAt,
155
- idempotencyKey: `scheduled:${job.connectionId}:${nextRunAt}`
172
+ idempotencyKey: `scheduled:${job.accountId}:${nextRunAt}`
156
173
  });
157
174
  }
158
175
  async function runNow() {
@@ -186,8 +203,8 @@ function startConnectorLearningCoordinator(options) {
186
203
  }
187
204
  recoverStaleConnectorLearningJobs(Date.now());
188
205
  if (learningEnabled(options.getConfig())) {
189
- for (const connection of listConnectorConnections().filter((item) => item.status === "active")) if (listConnectorLearningJobs({
190
- connectionId: connection.id,
206
+ for (const connection of activeAccountConnections()) if (listConnectorLearningJobs({
207
+ accountId: connection.accountId,
191
208
  limit: 1
192
209
  }).length === 0) enqueueConnection(connection.id, { reason: "schedule" });
193
210
  }
@@ -201,7 +218,9 @@ function startConnectorLearningCoordinator(options) {
201
218
  enqueueConnection,
202
219
  enqueueToolkit,
203
220
  setPaused(connectionId, paused) {
204
- const changed = setConnectorLearningPaused(connectionId, paused);
221
+ const accountId = listConnectorConnections().find((connection) => connection.id === connectionId)?.accountId;
222
+ if (!accountId) return 0;
223
+ const changed = setConnectorLearningPaused(accountId, paused);
205
224
  if (!paused && changed > 0) queueMicrotask(() => void runNow());
206
225
  return changed;
207
226
  },
@@ -1,3 +1,4 @@
1
+ import type { ConnectorDefinition } from './types.js';
1
2
  export type ConnectorIdentityProbe = {
2
3
  actionId: string;
3
4
  };
@@ -19,4 +20,5 @@ export declare function buildConnectorLearningArguments(plan: ConnectorLearningP
19
20
  windowStart?: string;
20
21
  }, identity: Record<string, unknown>): Record<string, unknown>;
21
22
  export declare function getConnectorLearningPlan(toolkit: string): ConnectorLearningPlan | undefined;
23
+ export declare function connectorUnderstandingCapability(toolkit: string): ConnectorDefinition['understanding'] | undefined;
22
24
  export declare function listConnectorLearningPlans(): ConnectorLearningPlan[];
@@ -73,6 +73,7 @@ const PLANS = {
73
73
  },
74
74
  slack: {
75
75
  toolkit: "slack",
76
+ identityProbe: { actionId: "SLACK_TEST_AUTH" },
76
77
  streams: [{
77
78
  scope: "channels",
78
79
  actionId: "SLACK_LIST_CHANNELS",
@@ -114,8 +115,17 @@ const PLANS = {
114
115
  function getConnectorLearningPlan(toolkit) {
115
116
  return PLANS[toolkit.trim().toLowerCase()];
116
117
  }
118
+ function connectorUnderstandingCapability(toolkit) {
119
+ const plan = getConnectorLearningPlan(toolkit);
120
+ if (!plan) return void 0;
121
+ return {
122
+ mode: plan.streams.some((stream) => stream.kind === "activity") ? "activity" : "inventory",
123
+ bootstrapWindowDays: plan.bootstrapWindowDays,
124
+ readOnly: true
125
+ };
126
+ }
117
127
  function listConnectorLearningPlans() {
118
128
  return Object.values(PLANS);
119
129
  }
120
130
  //#endregion
121
- export { buildConnectorLearningArguments, getConnectorLearningPlan, listConnectorLearningPlans };
131
+ export { buildConnectorLearningArguments, connectorUnderstandingCapability, getConnectorLearningPlan, listConnectorLearningPlans };
@@ -2,7 +2,8 @@ import { createLogger } from "../utils/logger/index.js";
2
2
  import { init_logger } from "../utils/logger.js";
3
3
  import { getKnowledgeConsumerWatermark, getKnowledgeSourceItem, listKnowledgeSourceChanges, setKnowledgeConsumerWatermark } from "../storage/sqlite/knowledge-repository.js";
4
4
  import { listConnectorConnections } from "../storage/sqlite/connector-repository.js";
5
- import { getConnectorSyncPolicy } from "../storage/sqlite/connector-sync-policy-repository.js";
5
+ import { getConnectorAccount } from "../storage/sqlite/connector-account-repository.js";
6
+ import { getConnectorSyncPolicyForConnection } from "../storage/sqlite/connector-sync-policy-repository.js";
6
7
  //#region src/connectors/source-change-publisher.ts
7
8
  init_logger();
8
9
  const log = createLogger("Connector:SourceChanges");
@@ -46,9 +47,9 @@ var ConnectedSourceChangePublisher = class {
46
47
  sources: 0
47
48
  };
48
49
  try {
49
- const connections = listConnectorConnections({ principalId: "local-owner" }).filter((connection) => connection.status === "active");
50
+ const connections = listConnectorConnections({ principalId: "local-owner" }).filter((connection) => connection.status === "active" && connection.accountId && getConnectorAccount(connection.accountId)?.currentConnectionId === connection.id);
50
51
  for (const connection of connections) {
51
- const sourceInstanceId = `composio:${connection.connectorId}:${connection.id}`;
52
+ const sourceInstanceId = `composio:${connection.connectorId}:${connection.accountId}`;
52
53
  try {
53
54
  const result = this.publishSource(sourceInstanceId, connection.id);
54
55
  total.published += result.published;
@@ -69,7 +70,7 @@ var ConnectedSourceChangePublisher = class {
69
70
  }
70
71
  }
71
72
  publishSource(sourceInstanceId, connectionId) {
72
- const policy = getConnectorSyncPolicy(connectionId);
73
+ const policy = getConnectorSyncPolicyForConnection(connectionId);
73
74
  let watermark = getKnowledgeConsumerWatermark(CONSUMER_ID, sourceInstanceId);
74
75
  const changes = listKnowledgeSourceChanges({
75
76
  sourceInstanceId,
@@ -90,6 +90,11 @@ export type ConnectorDefinition = {
90
90
  source: 'builtin' | 'extension' | 'custom' | 'registry' | 'store';
91
91
  capabilities: ConnectorCapability[];
92
92
  benefits?: ConnectorBenefit[];
93
+ understanding?: {
94
+ mode: 'activity' | 'inventory';
95
+ bootstrapWindowDays: number;
96
+ readOnly: true;
97
+ };
93
98
  tags?: string[];
94
99
  branding?: ConnectorBranding;
95
100
  verificationLevel?: ConnectorVerificationLevel;
@@ -121,6 +126,7 @@ export type ConnectorInstallationPolicy = {
121
126
  export type ConnectorConnectionStatus = 'pending' | 'active' | 'expired' | 'failed' | 'revoked' | 'disabled' | 'unknown';
122
127
  export type ConnectorConnection = {
123
128
  id: string;
129
+ accountId?: string;
124
130
  installationId?: string;
125
131
  connectorId: string;
126
132
  provider: string;
@@ -137,6 +143,16 @@ export type ConnectorConnection = {
137
143
  createdAt: string;
138
144
  updatedAt: string;
139
145
  };
146
+ export type ConnectorAccount = {
147
+ id: string;
148
+ connectorId: string;
149
+ principalId: string;
150
+ identityKey?: string;
151
+ identity: Record<string, unknown>;
152
+ currentConnectionId?: string;
153
+ createdAt: string;
154
+ updatedAt: string;
155
+ };
140
156
  export type ConnectorActionMetadata = {
141
157
  connectorId: string;
142
158
  actionId: string;
@@ -232,7 +232,7 @@ const launchdService = {
232
232
  serviceTarget
233
233
  ])).exitCode === 0) {
234
234
  log.info("LaunchAgent restarted via kickstart");
235
- return { outcome: "restarted" };
235
+ return { task: "restarted" };
236
236
  }
237
237
  const plistPath = resolveLaunchAgentPlistPath(args.env);
238
238
  const domain = resolveGuiDomain();
@@ -246,7 +246,7 @@ const launchdService = {
246
246
  ]);
247
247
  if (bootstrapResult.exitCode === 0 || bootstrapResult.exitCode === 37) {
248
248
  log.info("LaunchAgent restarted via bootout+bootstrap");
249
- return { outcome: "restarted" };
249
+ return { task: "restarted" };
250
250
  }
251
251
  throw new Error(`Failed to restart LaunchAgent: ${bootstrapResult.stderr.trim() || "unknown error"}`);
252
252
  },
@@ -331,7 +331,7 @@ const schtasksService = {
331
331
  taskName
332
332
  ]);
333
333
  log.info("Scheduled task restarted");
334
- return { outcome: "restarted" };
334
+ return { task: "restarted" };
335
335
  },
336
336
  async isLoaded(args) {
337
337
  return (await schtasks([
@@ -61,19 +61,19 @@ async function startGatewayService(params) {
61
61
  const serviceEnv = env || process.env;
62
62
  const initialState = await gatherServiceState(service, serviceEnv);
63
63
  if (!initialState.installed) return {
64
- outcome: "missing-install",
64
+ task: "missing-install",
65
65
  state: initialState
66
66
  };
67
67
  const issues = detectStartRepairIssues(initialState.command);
68
68
  if (issues.length > 0) return {
69
- outcome: "repair-required",
69
+ task: "repair-required",
70
70
  state: initialState,
71
71
  issues
72
72
  };
73
73
  const restartResult = await service.restart({ env: serviceEnv });
74
74
  const state = await gatherServiceState(service, serviceEnv);
75
75
  return {
76
- outcome: restartResult.outcome === "restarted" ? "started" : "scheduled",
76
+ task: restartResult.task === "restarted" ? "started" : "scheduled",
77
77
  state
78
78
  };
79
79
  }
@@ -210,7 +210,7 @@ const systemdService = {
210
210
  async restart(args) {
211
211
  await systemctlExec(["restart", resolveServiceName(args.env)]);
212
212
  log.info("Systemd service restarted");
213
- return { outcome: "restarted" };
213
+ return { task: "restarted" };
214
214
  },
215
215
  async isLoaded(args) {
216
216
  return (await systemctl(["is-enabled", resolveServiceName(args.env)])).exitCode === 0;
@@ -41,18 +41,18 @@ export interface GatewayServiceState {
41
41
  command: GatewayServiceCommandConfig | null;
42
42
  runtime?: GatewayServiceRuntime;
43
43
  }
44
- export type GatewayServiceRestartOutcome = 'restarted' | 'scheduled';
44
+ export type GatewayServiceRestartTask = 'restarted' | 'scheduled';
45
45
  export interface GatewayServiceRestartResult {
46
- outcome: GatewayServiceRestartOutcome;
46
+ task: GatewayServiceRestartTask;
47
47
  }
48
48
  export type StartRepairIssueCode = 'version-mismatch' | 'temporary-program' | 'missing-program';
49
49
  export interface GatewayServiceStartRepairIssue {
50
50
  code: StartRepairIssueCode;
51
51
  message: string;
52
52
  }
53
- export type GatewayServiceStartOutcome = 'started' | 'scheduled' | 'missing-install' | 'repair-required';
53
+ export type GatewayServiceStartTask = 'started' | 'scheduled' | 'missing-install' | 'repair-required';
54
54
  export interface GatewayServiceStartResult {
55
- outcome: GatewayServiceStartOutcome;
55
+ task: GatewayServiceStartTask;
56
56
  state: GatewayServiceState;
57
57
  issues?: GatewayServiceStartRepairIssue[];
58
58
  }
@@ -97,7 +97,7 @@ export interface GatewayService {
97
97
  uninstall: (args: GatewayServiceControlArgs) => Promise<void>;
98
98
  /** Stop service */
99
99
  stop: (args: GatewayServiceControlArgs) => Promise<void>;
100
- /** Restart service (returns outcome for restart health checks) */
100
+ /** Restart service (returns task for restart health checks) */
101
101
  restart: (args: GatewayServiceControlArgs) => Promise<GatewayServiceRestartResult>;
102
102
  /** Check if service is loaded/installed */
103
103
  isLoaded: (args: GatewayServiceEnvArgs) => Promise<boolean>;
@@ -1,13 +1,13 @@
1
1
  import { z } from 'zod';
2
2
  import type { Config } from '../config/schema.js';
3
- import type { DiscussionAnalysis } from './types.js';
3
+ import type { DiscussionOrganization } from './types.js';
4
4
  declare const LiveEnrichmentSchema: z.ZodObject<{
5
5
  title: z.ZodString;
6
- projectCandidateId: z.ZodOptional<z.ZodString>;
7
- projectConfidence: z.ZodOptional<z.ZodNumber>;
8
- projectAlternativeConfidence: z.ZodOptional<z.ZodNumber>;
6
+ projectCandidateId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
7
+ projectConfidence: z.ZodPreprocess<z.ZodOptional<z.ZodNumber>>;
8
+ projectAlternativeConfidence: z.ZodPreprocess<z.ZodOptional<z.ZodNumber>>;
9
9
  }, z.core.$strip>;
10
- export declare function normalizeDiscussionAnalysis(value: unknown): DiscussionAnalysis;
10
+ export declare function normalizeDiscussionOrganization(value: unknown): DiscussionOrganization;
11
11
  export declare function analyzeDiscussion(input: {
12
12
  config: Config;
13
13
  transcript: string;
@@ -18,7 +18,7 @@ export declare function analyzeDiscussion(input: {
18
18
  }>;
19
19
  signal?: AbortSignal;
20
20
  }): Promise<{
21
- analysis: DiscussionAnalysis;
21
+ organization: DiscussionOrganization;
22
22
  modelRef: string;
23
23
  }>;
24
24
  export declare function enrichLiveDiscussion(input: {
@@ -7,28 +7,30 @@ import { z } from "zod";
7
7
  init_schema();
8
8
  init_providers();
9
9
  const MAX_TRANSCRIPT_CHARS = 12e4;
10
- const AnalysisSchema = z.object({
10
+ const optionalString = (maxLength) => z.preprocess((value) => value === null ? void 0 : value, z.string().trim().min(1).max(maxLength).optional());
11
+ const optionalConfidence = z.preprocess((value) => value === null ? void 0 : value, z.number().min(0).max(1).optional());
12
+ const OrganizationSchema = z.object({
11
13
  title: z.string().trim().min(1).max(200),
12
14
  summary: z.string().trim().min(1).max(4e3),
13
15
  keyPoints: z.array(z.string().trim().min(1).max(1e3)).max(12).default([]),
14
16
  decisions: z.array(z.string().trim().min(1).max(1e3)).max(12).default([]),
15
17
  actionItems: z.array(z.object({
16
- id: z.string().trim().min(1).max(100).optional(),
18
+ id: optionalString(100),
17
19
  title: z.string().trim().min(1).max(500),
18
- owner: z.string().trim().min(1).max(200).optional(),
19
- dueDate: z.string().trim().min(1).max(100).optional()
20
+ owner: optionalString(200),
21
+ dueDate: optionalString(100)
20
22
  })).max(20).default([]),
21
23
  risks: z.array(z.string().trim().min(1).max(1e3)).max(12).default([]),
22
24
  openQuestions: z.array(z.string().trim().min(1).max(1e3)).max(12).default([]),
23
- projectCandidateId: z.string().trim().min(1).max(200).optional(),
24
- projectConfidence: z.number().min(0).max(1).optional(),
25
- projectAlternativeConfidence: z.number().min(0).max(1).optional()
25
+ projectCandidateId: optionalString(200),
26
+ projectConfidence: optionalConfidence,
27
+ projectAlternativeConfidence: optionalConfidence
26
28
  });
27
29
  const LiveEnrichmentSchema = z.object({
28
30
  title: z.string().trim().min(1).max(200),
29
- projectCandidateId: z.string().trim().min(1).max(200).optional(),
30
- projectConfidence: z.number().min(0).max(1).optional(),
31
- projectAlternativeConfidence: z.number().min(0).max(1).optional()
31
+ projectCandidateId: optionalString(200),
32
+ projectConfidence: optionalConfidence,
33
+ projectAlternativeConfidence: optionalConfidence
32
34
  });
33
35
  function extractText(content) {
34
36
  if (typeof content === "string") return content;
@@ -46,39 +48,47 @@ function parseJsonObject(raw) {
46
48
  } catch {
47
49
  const start = stripped.indexOf("{");
48
50
  const end = stripped.lastIndexOf("}");
49
- if (start < 0 || end <= start) throw new Error("Discussion analysis did not return valid JSON");
51
+ if (start < 0 || end <= start) throw new Error("Discussion organizer did not return valid JSON");
50
52
  return JSON.parse(stripped.slice(start, end + 1));
51
53
  }
52
54
  }
53
55
  function actionId(title, index) {
54
56
  return createHash("sha256").update(`${index}:${title}`).digest("hex").slice(0, 16);
55
57
  }
56
- function normalizeDiscussionAnalysis(value) {
57
- const parsed = AnalysisSchema.safeParse(value);
58
- if (!parsed.success) throw new Error(`Invalid discussion analysis: ${parsed.error.issues[0]?.message ?? "schema mismatch"}`);
58
+ function normalizeDiscussionOrganization(value) {
59
+ const parsed = OrganizationSchema.safeParse(value);
60
+ if (!parsed.success) {
61
+ const issue = parsed.error.issues[0];
62
+ const path = issue?.path.length ? `${issue.path.join(".")}: ` : "";
63
+ throw new Error(`Invalid discussion organization: ${path}${issue?.message ?? "schema mismatch"}`);
64
+ }
65
+ const { actionItems, projectCandidateId, projectConfidence, projectAlternativeConfidence, ...organization } = parsed.data;
59
66
  return {
60
- ...parsed.data,
61
- actionItems: parsed.data.actionItems.map((item, index) => ({
67
+ ...organization,
68
+ actionItems: actionItems.map((item, index) => ({
62
69
  id: item.id ?? actionId(item.title, index),
63
70
  title: item.title,
64
71
  ...item.owner ? { owner: item.owner } : {},
65
72
  ...item.dueDate ? { dueDate: item.dueDate } : {}
66
- }))
73
+ })),
74
+ ...projectCandidateId ? { projectCandidateId } : {},
75
+ ...projectConfidence !== void 0 ? { projectConfidence } : {},
76
+ ...projectAlternativeConfidence !== void 0 ? { projectAlternativeConfidence } : {}
67
77
  };
68
78
  }
69
79
  async function analyzeDiscussion(input) {
70
80
  const modelRef = getAgentDefaultModelRef(input.config);
71
- if (!modelRef) throw new Error("No default model configured for discussion analysis");
81
+ if (!modelRef) throw new Error("No default model configured for discussion organization");
72
82
  const transcript = input.transcript.trim().slice(0, MAX_TRANSCRIPT_CHARS);
73
83
  if (!transcript) throw new Error("Discussion transcript is empty");
74
84
  const message = {
75
85
  role: "user",
76
86
  content: [
77
- "Analyze the supplied workplace discussion transcript.",
87
+ "Organize the supplied workplace discussion transcript.",
78
88
  "Use only facts explicitly present in the transcript. Do not invent owners, dates, decisions, or commitments.",
79
89
  "Return exactly one JSON object with: title, summary, keyPoints, decisions, actionItems, risks, openQuestions, and optional projectCandidateId, projectConfidence, and projectAlternativeConfidence.",
80
90
  "title is a short concrete note title derived from the discussion.",
81
- "actionItems contains title and optional owner and dueDate. Omit owner or dueDate when not explicit.",
91
+ "actionItems contains title and optional owner and dueDate. Omit optional fields rather than returning null when not explicit.",
82
92
  "Keep unresolved possibilities in openQuestions, not decisions.",
83
93
  input.projects?.length ? `Choose projectCandidateId only from this catalog when the discussion clearly belongs to it; otherwise omit it. projectConfidence is the top probability and projectAlternativeConfidence is the runner-up probability: ${JSON.stringify(input.projects.slice(0, 100))}` : "Omit projectCandidateId and projectConfidence.",
84
94
  `Use ${input.languageHint === "en" ? "English" : input.languageHint === "zh" ? "Simplified Chinese" : "the main language of the transcript"} for every user-facing string.`,
@@ -89,7 +99,7 @@ async function analyzeDiscussion(input) {
89
99
  };
90
100
  return {
91
101
  modelRef,
92
- analysis: normalizeDiscussionAnalysis(parseJsonObject(extractText((await completeWithResolvedCredentials(resolveModel(modelRef), { messages: [message] }, {
102
+ organization: normalizeDiscussionOrganization(parseJsonObject(extractText((await completeWithResolvedCredentials(resolveModel(modelRef), { messages: [message] }, {
93
103
  maxTokens: 3e3,
94
104
  temperature: .1,
95
105
  signal: input.signal
@@ -124,4 +134,4 @@ async function enrichLiveDiscussion(input) {
124
134
  };
125
135
  }
126
136
  //#endregion
127
- export { analyzeDiscussion, enrichLiveDiscussion, normalizeDiscussionAnalysis };
137
+ export { analyzeDiscussion, enrichLiveDiscussion, normalizeDiscussionOrganization };
@@ -1,7 +1,8 @@
1
1
  export { DISCUSSION_AUDIO_MAX_BYTES, DISCUSSION_MAX_DURATION_MS, DiscussionService, DiscussionServiceError, } from './service.js';
2
2
  export { analyzeDiscussion } from './analyzer.js';
3
- export { DiscussionPipeline, mergeDiscussionAnalysisIntoMarkdown } from './pipeline.js';
3
+ export { DiscussionOrganizer } from './organizer.js';
4
4
  export { DiscussionLiveWorker } from './live-worker.js';
5
- export { DiscussionWorker } from './worker.js';
5
+ export { DiscussionOrganizerWorker } from './organizer-worker.js';
6
+ export { DiscussionSealer } from './sealer.js';
6
7
  export { DISCUSSION_STATUSES } from './types.js';
7
8
  export type * from './types.js';
@@ -1,7 +1,8 @@
1
1
  import { analyzeDiscussion } from "./analyzer.js";
2
+ import { DISCUSSION_STATUSES } from "./types.js";
2
3
  import { DISCUSSION_AUDIO_MAX_BYTES, DISCUSSION_MAX_DURATION_MS, DiscussionService, DiscussionServiceError } from "./service.js";
3
- import { DiscussionPipeline, mergeDiscussionAnalysisIntoMarkdown } from "./pipeline.js";
4
+ import { DiscussionOrganizer } from "./organizer.js";
4
5
  import { DiscussionLiveWorker } from "./live-worker.js";
5
- import { DiscussionWorker } from "./worker.js";
6
- import { DISCUSSION_STATUSES } from "./types.js";
7
- export { DISCUSSION_AUDIO_MAX_BYTES, DISCUSSION_MAX_DURATION_MS, DISCUSSION_STATUSES, DiscussionLiveWorker, DiscussionPipeline, DiscussionService, DiscussionServiceError, DiscussionWorker, analyzeDiscussion, mergeDiscussionAnalysisIntoMarkdown };
6
+ import { DiscussionOrganizerWorker } from "./organizer-worker.js";
7
+ import { DiscussionSealer } from "./sealer.js";
8
+ export { DISCUSSION_AUDIO_MAX_BYTES, DISCUSSION_MAX_DURATION_MS, DISCUSSION_STATUSES, DiscussionLiveWorker, DiscussionOrganizer, DiscussionOrganizerWorker, DiscussionSealer, DiscussionService, DiscussionServiceError, analyzeDiscussion };