@xopcai/xopc 0.0.352 → 0.0.354

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 (587) hide show
  1. package/dist/browser-ext/manifest.json +1 -1
  2. package/dist/extensions/feishu/src/adapters/cli-login.js +3 -3
  3. package/dist/extensions/feishu/src/outbound/media-load.js +1 -1
  4. package/dist/extensions/telegram/src/inbound-processor.js +2 -2
  5. package/dist/extensions/telegram/src/outbound-sender.js +1 -1
  6. package/dist/extensions/telegram/src/plugin.js +2 -2
  7. package/dist/extensions/telegram/xopc.extension.json +1 -1
  8. package/dist/extensions/weixin/src/api/api.js +2 -2
  9. package/dist/extensions/weixin/src/auth/accounts.js +12 -12
  10. package/dist/extensions/weixin/src/messaging/debug-mode.js +5 -5
  11. package/dist/extensions/weixin/src/messaging/inbound.js +11 -11
  12. package/dist/gateway/static/root/assets/activity-YogQEteU.js +1 -0
  13. package/dist/gateway/static/root/assets/activity-store-X7CG9pzB.js +1 -0
  14. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-ChlaFmiD.js → agent-avatar-dicebear-B8PS1eLP.js} +1 -1
  15. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-CLBSL9hl.js +1 -0
  16. package/dist/gateway/static/root/assets/agent-plugin-dialog-BninweSg.js +1 -0
  17. package/dist/gateway/static/root/assets/agents-CcVLP_WP.js +66 -0
  18. package/dist/gateway/static/root/assets/{agents-admin-api-C_3ucZGI.js → agents-admin-api-Ck2x78jq.js} +1 -1
  19. package/dist/gateway/static/root/assets/app-chrome-BeB4KgOf.js +1 -0
  20. package/dist/gateway/static/root/assets/app-management-settings-panel-COdQOmdT.js +1 -0
  21. package/dist/gateway/static/root/assets/appearance-settings-CDNjc2yy.js +1 -0
  22. package/dist/gateway/static/root/assets/apps-page-C-kvpPj8.js +1 -0
  23. package/dist/gateway/static/root/assets/{archive-plugin-D4EiLLyl.js → archive-plugin-QfOaQPL_.js} +1 -1
  24. package/dist/gateway/static/root/assets/{automations-page-CMxBpT5v.js → automations-page-87DN5nXX.js} +1 -1
  25. package/dist/gateway/static/root/assets/automations-workspace-BdZ8NO8k.js +7 -0
  26. package/dist/gateway/static/root/assets/{binary-plugins-DQc_BlYP.js → binary-plugins-BF2lVwR9.js} +1 -1
  27. package/dist/gateway/static/root/assets/{block-editor-C3S6gqnS.js → block-editor-B04Kv5DU.js} +39 -39
  28. package/dist/gateway/static/root/assets/bot-DjLkhyZL.js +1 -0
  29. package/dist/gateway/static/root/assets/{browser-automation-inputs-D2SwaQ2F.js → browser-automation-inputs-FW3bYZ-z.js} +1 -1
  30. package/dist/gateway/static/root/assets/{browser-automations-page-CGG1740U.js → browser-automations-page-Ck6Zb9aU.js} +2 -2
  31. package/dist/gateway/static/root/assets/browser-settings-page-DHlyYItE.js +3 -0
  32. package/dist/gateway/static/root/assets/{capabilities-D4qdO980.js → capabilities-BCF_160Z.js} +1 -1
  33. package/dist/gateway/static/root/assets/capabilities-CF4-mrIa.js +1 -0
  34. package/dist/gateway/static/root/assets/capabilities-page-C-6RLFNh.js +2 -0
  35. package/dist/gateway/static/root/assets/capabilities-settings-panel-CST_HBkR.js +8 -0
  36. package/dist/gateway/static/root/assets/capability-header-actions-PBPJJsp6.js +1 -0
  37. package/dist/gateway/static/root/assets/channels-CM4sIvcP.js +1 -0
  38. package/dist/gateway/static/root/assets/{chat-terminal-dock-DfTUgrey.js → chat-terminal-dock-DTd7mWyE.js} +2 -2
  39. package/dist/gateway/static/root/assets/chevron-right-BweFrslA.js +1 -0
  40. package/dist/gateway/static/root/assets/circle-alert-BEjgurr2.js +1 -0
  41. package/dist/gateway/static/root/assets/circle-dashed-8qMD7gHf.js +1 -0
  42. package/dist/gateway/static/root/assets/circle-dot-BAseJTrF.js +1 -0
  43. package/dist/gateway/static/root/assets/circle-pause-CN9jYH2s.js +1 -0
  44. package/dist/gateway/static/root/assets/clock-3-DnrAnuyZ.js +1 -0
  45. package/dist/gateway/static/root/assets/cloud-C4-yfnnk.js +1 -0
  46. package/dist/gateway/static/root/assets/computer-settings-page--9rh1mvu.js +1 -0
  47. package/dist/gateway/static/root/assets/connector-service-page-v6Is0BOO.js +1 -0
  48. package/dist/gateway/static/root/assets/connectors-page-CryQzmEZ.js +2 -0
  49. package/dist/gateway/static/root/assets/copy-text-row-BHDs3cBa.js +1 -0
  50. package/dist/gateway/static/root/assets/date-picker-DTsMzjoZ.js +1 -0
  51. package/dist/gateway/static/root/assets/{dependency-picker-CV2ybJJd.js → dependency-picker-Y1QYCcLp.js} +1 -1
  52. package/dist/gateway/static/root/assets/{desktop-pet-DipFHe4X.js → desktop-pet-D9dfZrOp.js} +1 -1
  53. package/dist/gateway/static/root/assets/desktop-pet-settings-BHVOHZUL.js +1 -0
  54. package/dist/gateway/static/root/assets/device-pairing-wizard-Cy5YDZ2b.js +1 -0
  55. package/dist/gateway/static/root/assets/directory-picker-path-field-DeMo9KlE.js +1 -0
  56. package/dist/gateway/static/root/assets/dist-3h6cXXhT.js +1 -0
  57. package/dist/gateway/static/root/assets/dist-Che_jiQF.js +1 -0
  58. package/dist/gateway/static/root/assets/extension-debug-page-BrGWLJg9.js +1 -0
  59. package/dist/gateway/static/root/assets/extension-page-AWrvy1Nb.js +1 -0
  60. package/dist/gateway/static/root/assets/extension-provider-CUpbXB2k.js +1 -0
  61. package/dist/gateway/static/root/assets/extension-settings-page-C5KgmhYu.js +1 -0
  62. package/dist/gateway/static/root/assets/form-field-width-DJw_jULe.js +1 -0
  63. package/dist/gateway/static/root/assets/{gateway-config-swr-DZWFlfJr.js → gateway-config-swr-B31I6Gbq.js} +1 -1
  64. package/dist/gateway/static/root/assets/{gateway-realtime-HO9tL9xo.js → gateway-realtime-D6ffOiPe.js} +1 -1
  65. package/dist/gateway/static/root/assets/gateway-realtime-store-DQuFWNjA.js +1 -0
  66. package/dist/gateway/static/root/assets/gateway-settings-DC-lok0J.js +1 -0
  67. package/dist/gateway/static/root/assets/{gateway-startup-retry-Cg1nbxJR.js → gateway-startup-retry-DVol958v.js} +1 -1
  68. package/dist/gateway/static/root/assets/git-branch-Dh9uxTot.js +1 -0
  69. package/dist/gateway/static/root/assets/home-page-C29_VFAs.js +1 -0
  70. package/dist/gateway/static/root/assets/{image-generation-api-DSnPfr_U.js → image-generation-api-TVgJfz9r.js} +1 -1
  71. package/dist/gateway/static/root/assets/imports-page-BKVKfVMA.js +1 -0
  72. package/dist/gateway/static/root/assets/index-BJh5gU04.css +1 -0
  73. package/dist/gateway/static/root/assets/index-ByFXhQ-T.js +107 -0
  74. package/dist/gateway/static/root/assets/index.module-Cd9ENXfk.js +1 -0
  75. package/dist/gateway/static/root/assets/interaction-BdhHBbYa.js +1 -0
  76. package/dist/gateway/static/root/assets/is-masked-secret-DOkL5b_X.js +1 -0
  77. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-ixQ8_6ad.js → keyboard-shortcuts-settings-DiwE4gKU.js} +1 -1
  78. package/dist/gateway/static/root/assets/local-app-workbench-page-Dt3TC64L.js +1 -0
  79. package/dist/gateway/static/root/assets/{local-apps-page-BV3NFUJQ.js → local-apps-page-DFPhWkxU.js} +1 -1
  80. package/dist/gateway/static/root/assets/{local-session-drafts-CuyTzbfW.js → local-session-drafts-wiq_12oN.js} +1 -1
  81. package/dist/gateway/static/root/assets/{locale-store-qcYD05PF.js → locale-store-Y1aBayM_.js} +1 -1
  82. package/dist/gateway/static/root/assets/logs-page-C4faHZHj.js +2 -0
  83. package/dist/gateway/static/root/assets/management-settings-pZLdvIiw.js +1 -0
  84. package/dist/gateway/static/root/assets/markdown-view-7tzqIp_G.js +201 -0
  85. package/dist/gateway/static/root/assets/{media-plugins-cpalRgVI.js → media-plugins-cjgrKnne.js} +1 -1
  86. package/dist/gateway/static/root/assets/message-square-fVE7Ghj1.js +1 -0
  87. package/dist/gateway/static/root/assets/messages-DPw2X06D.js +3 -0
  88. package/dist/gateway/static/root/assets/mic-CuUb7zc-.js +1 -0
  89. package/dist/gateway/static/root/assets/model-display-name-DXhO9rcM.js +1 -0
  90. package/dist/gateway/static/root/assets/models-hub-cache-HGrORbzR.js +1 -0
  91. package/dist/gateway/static/root/assets/note-detail-panel-BLnT1tYJ.js +5 -0
  92. package/dist/gateway/static/root/assets/notes-api-J0yhflxC.js +1 -0
  93. package/dist/gateway/static/root/assets/notes-page-BawArJvP.js +8 -0
  94. package/dist/gateway/static/root/assets/oauth-api-CYe61zfD.js +1 -0
  95. package/dist/gateway/static/root/assets/page-context-capture-button-CiBUm2Br.js +1 -0
  96. package/dist/gateway/static/root/assets/page-tabs-D2xpUV26.js +1 -0
  97. package/dist/gateway/static/root/assets/pause-DuPxgSxk.js +1 -0
  98. package/dist/gateway/static/root/assets/personal-page-Cng583RH.js +1 -0
  99. package/dist/gateway/static/root/assets/play-kxZvpBg8.js +1 -0
  100. package/dist/gateway/static/root/assets/popover-select-DcsFzD_i.js +1 -0
  101. package/dist/gateway/static/root/assets/preview-open-alternatives-Dvey7GwU.js +1 -0
  102. package/dist/gateway/static/root/assets/{product-open-page-BJwEshPw.js → product-open-page-B8_w6c3J.js} +1 -1
  103. package/dist/gateway/static/root/assets/project-detail-page-CDZdKiTz.js +1 -0
  104. package/dist/gateway/static/root/assets/projects-page-BvahSrZi.js +1 -0
  105. package/dist/gateway/static/root/assets/{registry-api-C0j3sKT4.js → registry-api-DqDOrPQ0.js} +1 -1
  106. package/dist/gateway/static/root/assets/remote-access-hub-CU_UdkuI.js +1 -0
  107. package/dist/gateway/static/root/assets/rotate-ccw-JM1TBLpp.js +1 -0
  108. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-SbIgL9Ya.js → runtime-tools-settings-panel-BnMS50vK.js} +2 -2
  109. package/dist/gateway/static/root/assets/scenes-page-CDR1-q25.js +2 -0
  110. package/dist/gateway/static/root/assets/schema-form-B4Xa8w8S.js +1 -0
  111. package/dist/gateway/static/root/assets/secret-input-DPl3VYM8.js +1 -0
  112. package/dist/gateway/static/root/assets/send-session-input-C7Nqy0sK.js +1 -0
  113. package/dist/gateway/static/root/assets/{session-api-iR1SFNHe.js → session-api-CTN4qwiN.js} +1 -1
  114. package/dist/gateway/static/root/assets/{session-manager-3YOU74jt.js → session-manager-DsH1DZI_.js} +1 -1
  115. package/dist/gateway/static/root/assets/sessions-page-Ymyg98G-.js +1 -0
  116. package/dist/gateway/static/root/assets/settings-2-D-csvaET.js +1 -0
  117. package/dist/gateway/static/root/assets/settings-advanced-gate-wMZhxwTM.js +1 -0
  118. package/dist/gateway/static/root/assets/settings-form-draft-Dy10ldo8.js +1 -0
  119. package/dist/gateway/static/root/assets/settings-form-section-exRhP9xn.js +1 -0
  120. package/dist/gateway/static/root/assets/settings-page-CHZdpvkT.js +1 -0
  121. package/dist/gateway/static/root/assets/setup-status-panel-HESfALIF.js +1 -0
  122. package/dist/gateway/static/root/assets/share-link-dialog-COlX10Dc.js +1 -0
  123. package/dist/gateway/static/root/assets/share-preview-page-NtRLUieq.js +2 -0
  124. package/dist/gateway/static/root/assets/shares-api-DICV5EKH.js +1 -0
  125. package/dist/gateway/static/root/assets/shares-settings-CXEBo5YL.js +1 -0
  126. package/dist/gateway/static/root/assets/skill-api-DYgcO7y0.js +1 -0
  127. package/dist/gateway/static/root/assets/skill-api-utils-C7V4JVXM.js +1 -0
  128. package/dist/gateway/static/root/assets/skill-reload-api-CWH3Fmx4.js +1 -0
  129. package/dist/gateway/static/root/assets/skill-wire-pattern-BPpeIcCi.js +1 -0
  130. package/dist/gateway/static/root/assets/skills-page-Dx5v64jU.js +2 -0
  131. package/dist/gateway/static/root/assets/sparkles-DHlfQFAF.js +1 -0
  132. package/dist/gateway/static/root/assets/system-settings-panel-wXCBwYwE.js +1 -0
  133. package/dist/gateway/static/root/assets/task-detail-page-hoIyr7tp.js +1 -0
  134. package/dist/gateway/static/root/assets/tasks-Buv1mgPF.js +1 -0
  135. package/dist/gateway/static/root/assets/theme-store-BKgBPLH4.js +1 -0
  136. package/dist/gateway/static/root/assets/tunnel-api-C0t8y3Mi.js +1 -0
  137. package/dist/gateway/static/root/assets/usage-page-A2DZAidl.js +1 -0
  138. package/dist/gateway/static/root/assets/use-async-resource-GrnWNwMZ.js +1 -0
  139. package/dist/gateway/static/root/assets/use-autosave-Cn6hqqyM.js +1 -0
  140. package/dist/gateway/static/root/assets/use-composer-attachments-DL61XeSu.js +2 -0
  141. package/dist/gateway/static/root/assets/use-file-preview-expanded-Cl9mU32w.js +2 -0
  142. package/dist/gateway/static/root/assets/user-model-page-C1jGTwjK.js +2 -0
  143. package/dist/gateway/static/root/assets/voice-api-key-field-Bw05QB_V.js +1 -0
  144. package/dist/gateway/static/root/assets/{voice-config-api-CylVelIb.js → voice-config-api-BM75K3mR.js} +1 -1
  145. package/dist/gateway/static/root/assets/{work-discovery-overlay-9bULjfGk.js → work-discovery-overlay-xB0QpOFk.js} +1 -1
  146. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-VYQHBiz3.js → workflow-run-setup-panel-rM4U1FXc.js} +2 -2
  147. package/dist/gateway/static/root/assets/workflows-page-QKC34FzQ.js +6 -0
  148. package/dist/gateway/static/root/assets/workspace-api-BbBT75Kg.js +2 -0
  149. package/dist/gateway/static/root/index.html +68 -26
  150. package/dist/package.js +1 -1
  151. package/dist/packages/gateway-contract/src/tasks.js +19 -2
  152. package/dist/src/agent/agent-manager.js +27 -22
  153. package/dist/src/agent/agent-scope.js +2 -2
  154. package/dist/src/agent/background-review/prompts.js +1 -1
  155. package/dist/src/agent/background-review/run-background-review.js +4 -4
  156. package/dist/src/agent/bootstrap/bootstrap-files.d.ts +0 -4
  157. package/dist/src/agent/bootstrap/bootstrap-files.js +3 -9
  158. package/dist/src/agent/bootstrap/load-bootstrap-files.js +2 -4
  159. package/dist/src/agent/coding/repository-instructions.js +1 -1
  160. package/dist/src/agent/context/coordinator.js +2 -2
  161. package/dist/src/agent/context/execution-context.js +4 -4
  162. package/dist/src/agent/context/execution-scope.js +2 -2
  163. package/dist/src/agent/context/project-context.js +3 -3
  164. package/dist/src/agent/context/workspace-seed.d.ts +1 -7
  165. package/dist/src/agent/context/workspace-seed.js +4 -13
  166. package/dist/src/agent/context/workspace-templates/AGENTS.md +1 -1
  167. package/dist/src/agent/context/workspace.d.ts +1 -3
  168. package/dist/src/agent/context/workspace.js +3 -7
  169. package/dist/src/agent/data-acquisition/service.js +1 -1
  170. package/dist/src/agent/embedded/index.js +2 -2
  171. package/dist/src/agent/embedded/model-runtime.js +1 -1
  172. package/dist/src/agent/embedded/run-for-session.js +4 -4
  173. package/dist/src/agent/embedded/run-turn.js +15 -5
  174. package/dist/src/agent/embedded/session-tool-result-guard.js +3 -3
  175. package/dist/src/agent/embedded/tool-result-truncation.js +1 -1
  176. package/dist/src/agent/external-tools/cliProvider.js +3 -3
  177. package/dist/src/agent/external-tools/composio-provider.js +3 -3
  178. package/dist/src/agent/external-tools/endpoint-provider.js +2 -2
  179. package/dist/src/agent/external-tools/gateway-tools.js +1 -1
  180. package/dist/src/agent/external-tools/mcp-provider.js +3 -3
  181. package/dist/src/agent/image/generation/openai-images-provider.js +1 -1
  182. package/dist/src/agent/image/generation/providers/dashscope.js +1 -1
  183. package/dist/src/agent/image/generation/providers/fal.js +1 -1
  184. package/dist/src/agent/image/generation/providers/google.js +1 -1
  185. package/dist/src/agent/image/generation/runtime.js +1 -1
  186. package/dist/src/agent/image/index.js +1 -1
  187. package/dist/src/agent/image/load-image-media.js +1 -1
  188. package/dist/src/agent/image/tool-model-config.js +2 -2
  189. package/dist/src/agent/inbound/attachment-pipeline.js +1 -1
  190. package/dist/src/agent/inbound/inbound-loop.js +2 -2
  191. package/dist/src/agent/index.js +1 -1
  192. package/dist/src/agent/mcp/bundle-mcp-config.js +1 -1
  193. package/dist/src/agent/mcp/bundle-mcp-gateway.js +1 -1
  194. package/dist/src/agent/mcp/bundle-mcp-runtime.js +2 -2
  195. package/dist/src/agent/mcp/index.js +2 -2
  196. package/dist/src/agent/mcp/mcp-stdio-transport.js +1 -1
  197. package/dist/src/agent/mcp/mcp-transport.js +1 -1
  198. package/dist/src/agent/mcp/oauth/mcp-oauth-manager.js +1 -1
  199. package/dist/src/agent/mcp/plugin-http-fetch.js +1 -1
  200. package/dist/src/agent/memory/context-recovery.js +1 -1
  201. package/dist/src/agent/memory/index.js +1 -1
  202. package/dist/src/agent/messaging/no-reply.d.ts +1 -0
  203. package/dist/src/agent/messaging/no-reply.js +4 -0
  204. package/dist/src/agent/messaging/outbound-coordinator.d.ts +0 -4
  205. package/dist/src/agent/messaging/outbound-coordinator.js +2 -4
  206. package/dist/src/agent/orchestration/agent-orchestrator.js +1 -1
  207. package/dist/src/agent/prompt/sections/agent-identity.d.ts +3 -0
  208. package/dist/src/agent/prompt/sections/agent-identity.js +13 -0
  209. package/dist/src/agent/prompt/sections/messaging-runtime.d.ts +0 -5
  210. package/dist/src/agent/prompt/sections/messaging-runtime.js +2 -16
  211. package/dist/src/agent/prompt/sections/project-context.d.ts +0 -3
  212. package/dist/src/agent/prompt/sections/project-context.js +2 -9
  213. package/dist/src/agent/prompt/sections/tooling.js +1 -1
  214. package/dist/src/agent/prompt/service-prompt-builder.d.ts +2 -0
  215. package/dist/src/agent/prompt/service-prompt-builder.js +5 -10
  216. package/dist/src/agent/prompt/subagent-context.js +1 -1
  217. package/dist/src/agent/prompt/system-prompt-params.d.ts +0 -4
  218. package/dist/src/agent/prompt/system-prompt-params.js +0 -2
  219. package/dist/src/agent/prompt/system-prompt.d.ts +2 -2
  220. package/dist/src/agent/prompt/system-prompt.js +8 -9
  221. package/dist/src/agent/sandbox/exec-policy.js +1 -1
  222. package/dist/src/agent/service/direct-turn-helpers.js +4 -4
  223. package/dist/src/agent/service/process-direct-one-shot.js +1 -1
  224. package/dist/src/agent/service/process-direct-streaming.js +5 -5
  225. package/dist/src/agent/service/webchat-tts.js +2 -2
  226. package/dist/src/agent/service.js +24 -22
  227. package/dist/src/agent/session/session-config-service.js +27 -1
  228. package/dist/src/agent/session/session-hydrator.js +1 -1
  229. package/dist/src/agent/session/session-inspector.js +1 -1
  230. package/dist/src/agent/source-context/index.js +2 -2
  231. package/dist/src/agent/starter-agents.d.ts +0 -4
  232. package/dist/src/agent/starter-agents.js +57 -98
  233. package/dist/src/agent/tasks/task-judge-service.js +4 -4
  234. package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -1
  235. package/dist/src/agent/tool-manuals/xopc-use.js +7 -4
  236. package/dist/src/agent/tools/create-share-tool.js +3 -3
  237. package/dist/src/agent/tools/dataBatch.js +1 -1
  238. package/dist/src/agent/tools/delegate-tool.js +3 -3
  239. package/dist/src/agent/tools/delegation-parent-policy.js +1 -1
  240. package/dist/src/agent/tools/executor.js +1 -1
  241. package/dist/src/agent/tools/factory.d.ts +1 -1
  242. package/dist/src/agent/tools/factory.js +37 -30
  243. package/dist/src/agent/tools/fetch-text.js +1 -1
  244. package/dist/src/agent/tools/image-generate-tool.js +3 -3
  245. package/dist/src/agent/tools/index.js +6 -6
  246. package/dist/src/agent/tools/list-dir.js +1 -1
  247. package/dist/src/agent/tools/personal-preference-tool.d.ts +10 -0
  248. package/dist/src/agent/tools/personal-preference-tool.js +43 -0
  249. package/dist/src/agent/tools/personal-task-tool.d.ts +28 -0
  250. package/dist/src/agent/tools/personal-task-tool.js +165 -0
  251. package/dist/src/agent/tools/publish-artifacts.js +2 -2
  252. package/dist/src/agent/tools/read.js +2 -2
  253. package/dist/src/agent/tools/review-workspace.js +1 -1
  254. package/dist/src/agent/tools/send-media.js +2 -2
  255. package/dist/src/agent/tools/skills-tools.js +1 -1
  256. package/dist/src/agent/tools/tts-tool.js +1 -1
  257. package/dist/src/agent/tools/user-context-tool.js +1 -1
  258. package/dist/src/agent/tools/write.js +2 -2
  259. package/dist/src/agent/tools/xopc-use-tool.js +8 -7
  260. package/dist/src/agent/workflow/subagent-runner.js +1 -1
  261. package/dist/src/agent-catalog/capabilities.js +2 -2
  262. package/dist/src/agent-catalog/migrations/identity-markdown-cutover.d.ts +5 -0
  263. package/dist/src/agent-catalog/migrations/identity-markdown-cutover.js +94 -0
  264. package/dist/src/agent-catalog/repository.js +7 -1
  265. package/dist/src/agent-catalog/service.d.ts +1 -1
  266. package/dist/src/agent-catalog/service.js +4 -3
  267. package/dist/src/agent-config/index.js +2 -2
  268. package/dist/src/agent-config/schema.d.ts +167 -0
  269. package/dist/src/agent-config/schema.js +47 -6
  270. package/dist/src/ai-assist/text-assist.js +1 -1
  271. package/dist/src/auth/credentials.js +1 -1
  272. package/dist/src/auth/oauth-provider-lock.js +1 -1
  273. package/dist/src/auth/sync-provider-auth.js +1 -1
  274. package/dist/src/automations/capabilities/drafts.js +1 -1
  275. package/dist/src/automations/domain/index.js +2 -2
  276. package/dist/src/automations/index.js +4 -4
  277. package/dist/src/automations/service/automation-service.js +2 -2
  278. package/dist/src/backup/archive.js +1 -1
  279. package/dist/src/bootstrap/application-state.js +3 -1
  280. package/dist/src/browser/native-messaging-host.js +1 -1
  281. package/dist/src/capabilities/runtime/dispatcher.js +1 -1
  282. package/dist/src/capabilities/runtime/product.js +1 -1
  283. package/dist/src/channels/attachments/voice-stt-webchat.js +2 -2
  284. package/dist/src/channels/index.js +2 -2
  285. package/dist/src/channels/outbound-sender.js +1 -1
  286. package/dist/src/channels/pairing/allow-from-file.js +9 -9
  287. package/dist/src/channels/pairing/pairing-store.js +6 -6
  288. package/dist/src/chat-commands/agent-edit.js +4 -7
  289. package/dist/src/chat-commands/builtins/config.js +4 -4
  290. package/dist/src/chat-commands/builtins/review.js +1 -1
  291. package/dist/src/chat-commands/builtins/session.js +1 -1
  292. package/dist/src/chat-commands/builtins/thinking.js +13 -3
  293. package/dist/src/chat-commands/builtins/tts.js +1 -1
  294. package/dist/src/chat-commands/builtins/understanding.js +1 -1
  295. package/dist/src/chat-commands/builtins/workflow.js +2 -2
  296. package/dist/src/chat-commands/context.js +10 -4
  297. package/dist/src/chat-commands/index.js +3 -3
  298. package/dist/src/cli/commands/agent.js +7 -7
  299. package/dist/src/cli/commands/agents.js +1 -1
  300. package/dist/src/cli/commands/config.js +1 -1
  301. package/dist/src/cli/commands/connectors.js +1 -1
  302. package/dist/src/cli/commands/doctor/checks/channel-plugins.js +1 -1
  303. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  304. package/dist/src/cli/commands/doctor/checks/gateway-health.js +1 -1
  305. package/dist/src/cli/commands/doctor/checks/provider-auth.js +2 -2
  306. package/dist/src/cli/commands/doctor/checks/tool-runtimes.js +1 -1
  307. package/dist/src/cli/commands/doctor/checks/workspace-status.js +0 -1
  308. package/dist/src/cli/commands/extension-agent-plugin.js +2 -2
  309. package/dist/src/cli/commands/extension-dev.js +1 -1
  310. package/dist/src/cli/commands/extension-marketplace.js +2 -2
  311. package/dist/src/cli/commands/extension.js +4 -4
  312. package/dist/src/cli/commands/gateway/shared.js +1 -1
  313. package/dist/src/cli/commands/gateway/token.js +1 -1
  314. package/dist/src/cli/commands/image.js +1 -1
  315. package/dist/src/cli/commands/init.js +1 -34
  316. package/dist/src/cli/commands/models.js +1 -1
  317. package/dist/src/cli/commands/onboard/channels/registry.js +1 -1
  318. package/dist/src/cli/commands/onboard/model.js +2 -2
  319. package/dist/src/cli/commands/onboard.js +1 -1
  320. package/dist/src/cli/commands/project.js +2 -2
  321. package/dist/src/cli/commands/runtime.js +1 -1
  322. package/dist/src/cli/commands/skills.js +2 -2
  323. package/dist/src/cli/commands/tunnel.js +4 -4
  324. package/dist/src/cli/extension-cli-register.js +5 -5
  325. package/dist/src/cli/templates.d.ts +1 -1
  326. package/dist/src/cli/templates.js +1 -23
  327. package/dist/src/cli/utils/gateway-client.js +1 -1
  328. package/dist/src/cli/utils/init-workspace-core.js +2 -2
  329. package/dist/src/cli/utils/session.js +1 -1
  330. package/dist/src/computer/runtime.js +2 -2
  331. package/dist/src/config/index.js +8 -8
  332. package/dist/src/config/loader.js +3 -3
  333. package/dist/src/config/models-json.js +1 -1
  334. package/dist/src/config/paths.d.ts +0 -2
  335. package/dist/src/config/paths.js +1 -3
  336. package/dist/src/config/reload.d.ts +0 -1
  337. package/dist/src/config/reload.js +0 -4
  338. package/dist/src/config/rules.js +0 -5
  339. package/dist/src/config/schema.d.ts +0 -45
  340. package/dist/src/config/schema.js +3 -24
  341. package/dist/src/connectors/cli/authorization.js +1 -1
  342. package/dist/src/connectors/cli/runtime.js +1 -1
  343. package/dist/src/connectors/composio-sessions.js +1 -1
  344. package/dist/src/connectors/composio.js +1 -1
  345. package/dist/src/connectors/connected-source-understanding.js +3 -3
  346. package/dist/src/connectors/connection-recovery-service.js +5 -5
  347. package/dist/src/connectors/health.js +1 -1
  348. package/dist/src/connectors/plugin-mcp-recovery.js +1 -1
  349. package/dist/src/discussions/live-worker.js +1 -1
  350. package/dist/src/discussions/recording.js +1 -1
  351. package/dist/src/discussions/sealer.js +1 -1
  352. package/dist/src/extensions/activation-context.js +3 -3
  353. package/dist/src/extensions/agent-plugins/validation.js +1 -1
  354. package/dist/src/extensions/api.js +4 -4
  355. package/dist/src/extensions/bundled-extension-activation.js +1 -1
  356. package/dist/src/extensions/index.js +3 -3
  357. package/dist/src/extensions/install.js +1 -1
  358. package/dist/src/extensions/loader.js +2 -2
  359. package/dist/src/extensions/sdk/index.js +1 -1
  360. package/dist/src/extensions/sdk/media.js +1 -1
  361. package/dist/src/extensions/update.js +1 -1
  362. package/dist/src/gateway/agents-admin.d.ts +1 -9
  363. package/dist/src/gateway/agents-admin.js +9 -34
  364. package/dist/src/gateway/device-routes.js +2 -2
  365. package/dist/src/gateway/file-path-classifier.js +2 -2
  366. package/dist/src/gateway/global-defaults-admin.js +1 -1
  367. package/dist/src/gateway/hono/app.js +3 -3
  368. package/dist/src/gateway/hono/lib/config-payload.d.ts +1 -0
  369. package/dist/src/gateway/hono/lib/config-payload.js +4 -4
  370. package/dist/src/gateway/hono/routes/agents.js +1 -1
  371. package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
  372. package/dist/src/gateway/hono/routes/browser.js +1 -1
  373. package/dist/src/gateway/hono/routes/commands-skills.js +4 -4
  374. package/dist/src/gateway/hono/routes/config-patch/gateway.js +1 -1
  375. package/dist/src/gateway/hono/routes/config-patch/misc.js +2 -2
  376. package/dist/src/gateway/hono/routes/home.js +1 -1
  377. package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
  378. package/dist/src/gateway/hono/routes/mcp.js +2 -2
  379. package/dist/src/gateway/hono/routes/media.js +1 -1
  380. package/dist/src/gateway/hono/routes/models.js +5 -5
  381. package/dist/src/gateway/hono/routes/notes.js +3 -3
  382. package/dist/src/gateway/hono/routes/personal-agent.d.ts +3 -0
  383. package/dist/src/gateway/hono/routes/personal-agent.js +107 -0
  384. package/dist/src/gateway/hono/routes/projects.js +4 -4
  385. package/dist/src/gateway/hono/routes/session-command-handler.js +1 -1
  386. package/dist/src/gateway/hono/routes/session-input-handler.js +4 -4
  387. package/dist/src/gateway/hono/routes/sessions.js +6 -1
  388. package/dist/src/gateway/hono/routes/shares.js +3 -3
  389. package/dist/src/gateway/hono/routes/side-chats.js +1 -1
  390. package/dist/src/gateway/hono/routes/site-shares.js +1 -1
  391. package/dist/src/gateway/hono/routes/tasks.js +66 -3
  392. package/dist/src/gateway/hono/routes/user-model-refresh.js +1 -1
  393. package/dist/src/gateway/hono/routes/user-model.js +5 -5
  394. package/dist/src/gateway/hono/routes/voice.js +14 -6
  395. package/dist/src/gateway/hono/routes/workflows.js +2 -2
  396. package/dist/src/gateway/image-generation-setup.js +3 -3
  397. package/dist/src/gateway/index.js +1 -1
  398. package/dist/src/gateway/lock.js +11 -11
  399. package/dist/src/gateway/media-access.js +1 -1
  400. package/dist/src/gateway/mobile-privacy.js +2 -2
  401. package/dist/src/gateway/ports.js +6 -6
  402. package/dist/src/gateway/run-loop.js +1 -1
  403. package/dist/src/gateway/scenes/mailContext.js +1 -1
  404. package/dist/src/gateway/scenes/slackThreadSource.js +1 -1
  405. package/dist/src/gateway/server.js +1 -1
  406. package/dist/src/gateway/service/config-coordinator.js +3 -3
  407. package/dist/src/gateway/service/run-gateway-agent.js +3 -3
  408. package/dist/src/gateway/service/session-command-service.js +7 -1
  409. package/dist/src/gateway/service/sessions-api.js +12 -2
  410. package/dist/src/gateway/service.js +49 -49
  411. package/dist/src/gateway/session-context-summary.js +2 -2
  412. package/dist/src/gateway/session-reset-service.js +5 -0
  413. package/dist/src/gateway/workspace-editor-path.js +2 -2
  414. package/dist/src/gateway/xopc-cloud-capability-setup.js +1 -1
  415. package/dist/src/home-intelligence/generator.js +1 -1
  416. package/dist/src/home-intelligence/host.js +2 -2
  417. package/dist/src/infra/gateway-processes.js +2 -2
  418. package/dist/src/infra/path-env.js +3 -3
  419. package/dist/src/infra/update-global.js +10 -10
  420. package/dist/src/local-apps/service.js +2 -2
  421. package/dist/src/mcp/gateway-http-client.js +1 -1
  422. package/dist/src/media-understanding/openai-compatible-audio.js +1 -1
  423. package/dist/src/notes/agent-context.js +4 -4
  424. package/dist/src/notes/index.js +1 -1
  425. package/dist/src/notes/service.js +1 -1
  426. package/dist/src/notes/store.js +1 -1
  427. package/dist/src/personal-agent/policy.d.ts +1 -0
  428. package/dist/src/personal-agent/policy.js +13 -0
  429. package/dist/src/personal-agent/repository.d.ts +25 -0
  430. package/dist/src/personal-agent/repository.js +68 -0
  431. package/dist/src/personal-agent/service.d.ts +48 -0
  432. package/dist/src/personal-agent/service.js +222 -0
  433. package/dist/src/providers/auth-runtime/resolve-auth.js +1 -1
  434. package/dist/src/providers/index.js +2 -2
  435. package/dist/src/providers/model-catalog-persistence.js +1 -1
  436. package/dist/src/providers/model-reference-auditor.js +1 -1
  437. package/dist/src/providers/register-runtime-providers.js +1 -1
  438. package/dist/src/remote-access/exposure-manager.js +1 -1
  439. package/dist/src/scenes/taskFollowUp/agentExecutor.js +4 -4
  440. package/dist/src/scenes/taskFollowUp/resources.js +1 -1
  441. package/dist/src/scenes/taskFollowUp/service.js +4 -4
  442. package/dist/src/session/index.js +2 -2
  443. package/dist/src/session/resolve-session.js +4 -2
  444. package/dist/src/session/session-title.js +1 -1
  445. package/dist/src/session/store.js +4 -4
  446. package/dist/src/session/thinking-resolve.js +1 -1
  447. package/dist/src/share/share-store.js +1 -1
  448. package/dist/src/share/share-thumbnail.js +1 -1
  449. package/dist/src/share/share-zip.js +1 -1
  450. package/dist/src/share/site-proxy.js +1 -1
  451. package/dist/src/share/site-share-store.js +1 -1
  452. package/dist/src/storage/sqlite/connection.js +9 -9
  453. package/dist/src/storage/sqlite/migrations/229_task_criterion_reviews.sql +12 -0
  454. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  455. package/dist/src/storage/sqlite/migrations/runner.js +3 -3
  456. package/dist/src/storage/sqlite/schema.js +1 -1
  457. package/dist/src/storage/sqlite/schema.sql +13 -0
  458. package/dist/src/storage/sqlite/session-repository.js +6 -2
  459. package/dist/src/storage/sqlite/transcript-repository.js +2 -1
  460. package/dist/src/tasks/capabilities/read.js +5 -2
  461. package/dist/src/tasks/capabilities/write.js +1 -1
  462. package/dist/src/tasks/execution-context.js +1 -1
  463. package/dist/src/tasks/home-query-service.js +3 -3
  464. package/dist/src/tasks/index.js +4 -4
  465. package/dist/src/tasks/task-application-service.js +8 -3
  466. package/dist/src/tasks/task-collaboration-delivery.js +1 -1
  467. package/dist/src/tasks/task-context-assembler.js +1 -1
  468. package/dist/src/tasks/task-criterion-review-repository.d.ts +22 -0
  469. package/dist/src/tasks/task-criterion-review-repository.js +74 -0
  470. package/dist/src/tasks/task-handoff-service.js +1 -1
  471. package/dist/src/tasks/task-main-update-decision-service.js +7 -1
  472. package/dist/src/tui/backends/embedded-backend.js +12 -12
  473. package/dist/src/tui/backends/gateway-realtime-backend.js +1 -1
  474. package/dist/src/tui/extension-host/load-extensions.js +1 -1
  475. package/dist/src/tui/tui-command-formatters.js +1 -1
  476. package/dist/src/tui/tui-commands.js +6 -6
  477. package/dist/src/tui/tui-picker-overlay.js +1 -1
  478. package/dist/src/tui/tui-skills-autocomplete.js +1 -1
  479. package/dist/src/tui/tui-startup-resources.js +4 -4
  480. package/dist/src/tui/tui.js +7 -7
  481. package/dist/src/tunnel/frpc-binary.js +1 -1
  482. package/dist/src/tunnel/gateway-lifecycle.js +1 -1
  483. package/dist/src/voice/realtime/memory-context.js +3 -3
  484. package/dist/src/voice/realtime/persona-context.d.ts +2 -2
  485. package/dist/src/voice/realtime/persona-context.js +19 -33
  486. package/dist/src/voice/realtime/runtime.js +3 -3
  487. package/dist/src/voice/stt/index.js +2 -2
  488. package/dist/src/voice/stt/preflight.js +1 -1
  489. package/dist/src/voice/stt/providers/alibaba-transcription.js +1 -1
  490. package/dist/src/voice/stt/providers/xopc-cloud-transcription.js +1 -1
  491. package/dist/src/voice/stt/transcribe-core.js +1 -1
  492. package/dist/src/voice/tts/index.js +3 -3
  493. package/dist/src/voice/tts/merge-config.js +1 -1
  494. package/dist/src/voice/tts/payload.js +1 -1
  495. package/dist/src/voice/tts/providers/xopc-cloud-speech.js +1 -1
  496. package/dist/src/voice/tts/speak-core.js +1 -1
  497. package/dist/src/work-discovery/incremental-repository.js +1 -1
  498. package/dist/src/work-discovery/index.js +1 -1
  499. package/dist/src/work-discovery/service.js +5 -5
  500. package/dist/src/workflows/engine/workflow-engine.js +1 -1
  501. package/dist/src/workflows/service/workflow-run-service.js +8 -8
  502. package/dist/src/workflows/service/workflow-session-bridge.js +1 -1
  503. package/package.json +3 -3
  504. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-CgNagNMG.js +0 -1
  505. package/dist/gateway/static/root/assets/agent-plugin-dialog-CDhtsMpV.js +0 -1
  506. package/dist/gateway/static/root/assets/agents-BLP0zRru.js +0 -70
  507. package/dist/gateway/static/root/assets/app-management-settings-panel-DqC-oj5_.js +0 -1
  508. package/dist/gateway/static/root/assets/appearance-settings-Cfhepf6U.js +0 -1
  509. package/dist/gateway/static/root/assets/apps-page-C6n5r8AP.js +0 -1
  510. package/dist/gateway/static/root/assets/automations-workspace-DJ_-_kGh.js +0 -7
  511. package/dist/gateway/static/root/assets/browser-settings-page-COTo7btH.js +0 -3
  512. package/dist/gateway/static/root/assets/capabilities-page-BsC346Ym.js +0 -2
  513. package/dist/gateway/static/root/assets/capabilities-settings-panel-CRL4gfk5.js +0 -8
  514. package/dist/gateway/static/root/assets/capability-header-actions-B_60-buR.js +0 -1
  515. package/dist/gateway/static/root/assets/channels-DNxr72oD.js +0 -1
  516. package/dist/gateway/static/root/assets/computer-settings-page-Bk84TKyF.js +0 -1
  517. package/dist/gateway/static/root/assets/connector-service-page-B2pC--2X.js +0 -1
  518. package/dist/gateway/static/root/assets/connectors-page-Bu15_14O.js +0 -2
  519. package/dist/gateway/static/root/assets/date-picker-CCN30yiy.js +0 -1
  520. package/dist/gateway/static/root/assets/desktop-pet-settings-Dg3RM_vY.js +0 -1
  521. package/dist/gateway/static/root/assets/device-pairing-wizard-DUy1HymM.js +0 -1
  522. package/dist/gateway/static/root/assets/directory-picker-path-field-BTuFpGIK.js +0 -1
  523. package/dist/gateway/static/root/assets/dist-CKkafhaS.js +0 -1
  524. package/dist/gateway/static/root/assets/dist-io9jFpN72.js +0 -1
  525. package/dist/gateway/static/root/assets/extension-debug-page-xM8vfbRZ.js +0 -1
  526. package/dist/gateway/static/root/assets/extension-page-Cl8zlion.js +0 -1
  527. package/dist/gateway/static/root/assets/extension-settings-page-DODk0nOi.js +0 -1
  528. package/dist/gateway/static/root/assets/gateway-realtime-store-B01fiKrV.js +0 -1
  529. package/dist/gateway/static/root/assets/gateway-settings-BL3C7Q9w.js +0 -1
  530. package/dist/gateway/static/root/assets/home-page-CjJVq_Ff.js +0 -1
  531. package/dist/gateway/static/root/assets/imports-page-By9oc8sD.js +0 -1
  532. package/dist/gateway/static/root/assets/index-B-w6Rk9Z.css +0 -1
  533. package/dist/gateway/static/root/assets/index-S4z-eKe-.js +0 -106
  534. package/dist/gateway/static/root/assets/local-app-workbench-page-Bnz5YOks.js +0 -1
  535. package/dist/gateway/static/root/assets/logs-page-DVqwybaT.js +0 -2
  536. package/dist/gateway/static/root/assets/management-settings-CUoDWFg7.js +0 -1
  537. package/dist/gateway/static/root/assets/markdown-view-BhFHoVtG.js +0 -201
  538. package/dist/gateway/static/root/assets/messages-vL3EpIrL.js +0 -3
  539. package/dist/gateway/static/root/assets/note-detail-panel-CxbZWvj1.js +0 -5
  540. package/dist/gateway/static/root/assets/notes-page-DkEOEza6.js +0 -8
  541. package/dist/gateway/static/root/assets/page-context-capture-button-CjCYNkVb.js +0 -1
  542. package/dist/gateway/static/root/assets/page-tabs-Dnzie6QW.js +0 -1
  543. package/dist/gateway/static/root/assets/popover-select-0p9PIHRy.js +0 -1
  544. package/dist/gateway/static/root/assets/preview-open-alternatives-D1H4_Nfl.js +0 -1
  545. package/dist/gateway/static/root/assets/project-detail-page-BWC89e7l.js +0 -1
  546. package/dist/gateway/static/root/assets/projects-page-BYmHC91B.js +0 -1
  547. package/dist/gateway/static/root/assets/remote-access-hub-DuVzpZ9R.js +0 -1
  548. package/dist/gateway/static/root/assets/scenes-page-BBl_4U1U.js +0 -2
  549. package/dist/gateway/static/root/assets/schema-form-Rj-wi9sm.js +0 -1
  550. package/dist/gateway/static/root/assets/sessions-page-BnipzwJ6.js +0 -1
  551. package/dist/gateway/static/root/assets/settings-advanced-gate-C7oNKVxC.js +0 -1
  552. package/dist/gateway/static/root/assets/settings-form-section-6gOr-ype.js +0 -1
  553. package/dist/gateway/static/root/assets/settings-page-D1tVcmlR.js +0 -1
  554. package/dist/gateway/static/root/assets/setup-status-panel-CR0VBBw3.js +0 -1
  555. package/dist/gateway/static/root/assets/share-preview-page-CK0Bg_-o.js +0 -2
  556. package/dist/gateway/static/root/assets/shares-settings-B3Ghvh3c.js +0 -1
  557. package/dist/gateway/static/root/assets/skill-api-CoIsCPbI.js +0 -1
  558. package/dist/gateway/static/root/assets/skill-reload-api-DMIwfISw.js +0 -1
  559. package/dist/gateway/static/root/assets/skills-page-CDkm7yig.js +0 -2
  560. package/dist/gateway/static/root/assets/system-settings-panel-Cfv-jDmY.js +0 -1
  561. package/dist/gateway/static/root/assets/task-detail-page-eYs6qgcW.js +0 -1
  562. package/dist/gateway/static/root/assets/tasks-BH8_WMUF.js +0 -1
  563. package/dist/gateway/static/root/assets/tunnel-api-CpOQaCFN.js +0 -1
  564. package/dist/gateway/static/root/assets/usage-page-Cye-2eKA.js +0 -1
  565. package/dist/gateway/static/root/assets/use-autosave-o6YLrkpO.js +0 -1
  566. package/dist/gateway/static/root/assets/user-model-page-Bg-jeU7W.js +0 -2
  567. package/dist/gateway/static/root/assets/voice-api-key-field-FMNwQIho.js +0 -1
  568. package/dist/gateway/static/root/assets/workflows-page-KnoMMEDN.js +0 -6
  569. package/dist/src/agent/bootstrap/filter-bootstrap-files.d.ts +0 -3
  570. package/dist/src/agent/bootstrap/filter-bootstrap-files.js +0 -18
  571. package/dist/src/agent/context/workspace-templates/HEARTBEAT.md +0 -26
  572. package/dist/src/agent/context/workspace-templates/IDENTITY.md +0 -30
  573. package/dist/src/agent/service/parse-outbound-session-key.d.ts +0 -8
  574. package/dist/src/agent/service/parse-outbound-session-key.js +0 -44
  575. package/dist/src/heartbeat/active-hours.d.ts +0 -11
  576. package/dist/src/heartbeat/active-hours.js +0 -40
  577. package/dist/src/heartbeat/content-check.d.ts +0 -4
  578. package/dist/src/heartbeat/content-check.js +0 -17
  579. package/dist/src/heartbeat/event-prompt.d.ts +0 -4
  580. package/dist/src/heartbeat/event-prompt.js +0 -11
  581. package/dist/src/heartbeat/index.d.ts +0 -5
  582. package/dist/src/heartbeat/index.js +0 -6
  583. package/dist/src/heartbeat/tokens.d.ts +0 -15
  584. package/dist/src/heartbeat/tokens.js +0 -25
  585. package/dist/src/heartbeat/wake.d.ts +0 -13
  586. package/dist/src/heartbeat/wake.js +0 -46
  587. /package/dist/gateway/static/root/assets/{dist-CI_fqRk-2.js → dist-CI_fqRk-.js} +0 -0
@@ -7,7 +7,7 @@ import { init_node_sqlite, requireNodeSqlite } from "../../infra/node-sqlite.js"
7
7
  import { ensureXopcDatabaseSchema, init_schema } from "./schema.js";
8
8
  import { init_unhandled_rejections, installSqliteTransientRejectionHandler } from "../../infra/unhandled-rejections.js";
9
9
  import path from "node:path";
10
- import fsSync from "node:fs";
10
+ import fs from "node:fs";
11
11
  import childProcess from "node:child_process";
12
12
  //#region src/storage/sqlite/connection.ts
13
13
  function normalizeNonNegativeInteger(value, label) {
@@ -17,7 +17,7 @@ function normalizeNonNegativeInteger(value, label) {
17
17
  function findExistingVolumePath(targetPath) {
18
18
  let current = path.resolve(targetPath);
19
19
  while (true) try {
20
- return fsSync.statSync(current).isDirectory() ? current : path.dirname(current);
20
+ return fs.statSync(current).isDirectory() ? current : path.dirname(current);
21
21
  } catch {
22
22
  const parent = path.dirname(current);
23
23
  if (parent === current) return null;
@@ -64,7 +64,7 @@ function parseMountCommandEntries(contents) {
64
64
  }
65
65
  function readMountEntries() {
66
66
  try {
67
- return parseProcMountInfoEntries(fsSync.readFileSync(PROC_MOUNTINFO_PATH, "utf8"));
67
+ return parseProcMountInfoEntries(fs.readFileSync(PROC_MOUNTINFO_PATH, "utf8"));
68
68
  } catch {}
69
69
  try {
70
70
  return parseMountCommandEntries(String(childProcess.execFileSync("mount", [])));
@@ -91,7 +91,7 @@ function isNetworkMountEntryPath(targetPath) {
91
91
  return mountEntry ? isNetworkMountType(mountEntry.fsType) : false;
92
92
  }
93
93
  function isNetworkBackedPath(targetPath) {
94
- if (typeof fsSync.statfsSync !== "function") return isNetworkMountEntryPath(targetPath);
94
+ if (typeof fs.statfsSync !== "function") return isNetworkMountEntryPath(targetPath);
95
95
  const checkedPath = findExistingVolumePath(targetPath);
96
96
  if (!checkedPath) return false;
97
97
  try {
@@ -100,7 +100,7 @@ function isNetworkBackedPath(targetPath) {
100
100
  4283649346,
101
101
  4266872130,
102
102
  20859
103
- ].includes(fsSync.statfsSync(checkedPath).type >>> 0)) return true;
103
+ ].includes(fs.statfsSync(checkedPath).type >>> 0)) return true;
104
104
  } catch {
105
105
  return isNetworkMountEntryPath(checkedPath);
106
106
  }
@@ -145,13 +145,13 @@ function ensureDatabasePermissions(pathname) {
145
145
  if (pathname === ":memory:") return;
146
146
  const dir = pathname.slice(0, Math.max(pathname.lastIndexOf("/"), pathname.lastIndexOf("\\")));
147
147
  if (dir) {
148
- fsSync.mkdirSync(dir, { recursive: true });
149
- fsSync.chmodSync(dir, DB_DIR_MODE);
148
+ fs.mkdirSync(dir, { recursive: true });
149
+ fs.chmodSync(dir, DB_DIR_MODE);
150
150
  }
151
151
  for (const suffix of DB_SIDECAR_SUFFIXES) {
152
152
  const candidate = `${pathname}${suffix}`;
153
- if (!fsSync.existsSync(candidate)) continue;
154
- fsSync.chmodSync(candidate, DB_FILE_MODE);
153
+ if (!fs.existsSync(candidate)) continue;
154
+ fs.chmodSync(candidate, DB_FILE_MODE);
155
155
  }
156
156
  }
157
157
  function openDatabaseAtPath(pathname) {
@@ -0,0 +1,12 @@
1
+ CREATE TABLE IF NOT EXISTS task_criterion_reviews (
2
+ task_id TEXT NOT NULL,
3
+ contract_version INTEGER NOT NULL,
4
+ criterion_index INTEGER NOT NULL,
5
+ criterion_text TEXT NOT NULL,
6
+ status TEXT NOT NULL CHECK (status IN ('passed', 'failed')),
7
+ note TEXT,
8
+ reviewed_by_json TEXT NOT NULL,
9
+ reviewed_at INTEGER NOT NULL,
10
+ PRIMARY KEY (task_id, contract_version, criterion_index),
11
+ FOREIGN KEY (task_id, contract_version) REFERENCES task_contracts(task_id, version) ON DELETE CASCADE
12
+ );
@@ -3,7 +3,7 @@ import type { ApplyMigrationsOptions } from './types.js';
3
3
  /** Baseline schema version applied from schema.sql on first open. */
4
4
  export declare const XOPC_DB_BASELINE_SCHEMA_VERSION = 165;
5
5
  /** Latest schema version this release supports (increment when adding migrations). */
6
- export declare const XOPC_DB_SCHEMA_VERSION = 228;
6
+ export declare const XOPC_DB_SCHEMA_VERSION = 229;
7
7
  export declare function resolveMigrationsDir(override?: string): string;
8
8
  /**
9
9
  * Apply sequential SQL migrations from (currentVersion + 1) through targetVersion.
@@ -57,7 +57,7 @@ function applySingleMigration(db, migration, discardOldScenes = false) {
57
57
  */
58
58
  function applyPendingMigrations(db, options = {}) {
59
59
  db.function("xopc_operation_id", () => currentOperationId() ?? null);
60
- const targetVersion = options.targetVersion ?? 228;
60
+ const targetVersion = options.targetVersion ?? 229;
61
61
  let currentVersion = readSchemaVersion(db);
62
62
  if (currentVersion > targetVersion) throw new DatabaseSchemaTooNewError(currentVersion, targetVersion);
63
63
  if (!options.migrationsDir && currentVersion < 165) throw new DatabaseSchemaTooOldError(currentVersion, 165);
@@ -95,7 +95,7 @@ function applyPendingMigrations(db, options = {}) {
95
95
  }
96
96
  /** Inspect schema version without mutating the database. */
97
97
  function inspectSchemaMigrationStatus(db, options = {}) {
98
- const appVersion = options.targetVersion ?? 228;
98
+ const appVersion = options.targetVersion ?? 229;
99
99
  const dbVersion = readSchemaVersion(db);
100
100
  if (dbVersion > appVersion) return {
101
101
  dbVersion,
@@ -137,7 +137,7 @@ var init_runner = __esmMin((() => {
137
137
  init_errors();
138
138
  log = createLogger("Sqlite:Migrations");
139
139
  XOPC_DB_BASELINE_SCHEMA_VERSION = 165;
140
- XOPC_DB_SCHEMA_VERSION = 228;
140
+ XOPC_DB_SCHEMA_VERSION = 229;
141
141
  }));
142
142
  //#endregion
143
143
  init_runner();
@@ -28,7 +28,7 @@ function ensureXopcDatabaseSchema(db, options = {}) {
28
28
  currentVersion = 165;
29
29
  }
30
30
  applyPendingMigrations(db, {
31
- targetVersion: 228,
31
+ targetVersion: 229,
32
32
  databasePath: fresh ? void 0 : options.databasePath
33
33
  });
34
34
  }
@@ -1277,6 +1277,19 @@ CREATE TABLE task_contracts (
1277
1277
  FOREIGN KEY (task_id) REFERENCES tasks(task_id) ON DELETE CASCADE
1278
1278
  );
1279
1279
 
1280
+ CREATE TABLE task_criterion_reviews (
1281
+ task_id TEXT NOT NULL,
1282
+ contract_version INTEGER NOT NULL,
1283
+ criterion_index INTEGER NOT NULL,
1284
+ criterion_text TEXT NOT NULL,
1285
+ status TEXT NOT NULL CHECK (status IN ('passed', 'failed')),
1286
+ note TEXT,
1287
+ reviewed_by_json TEXT NOT NULL,
1288
+ reviewed_at INTEGER NOT NULL,
1289
+ PRIMARY KEY (task_id, contract_version, criterion_index),
1290
+ FOREIGN KEY (task_id, contract_version) REFERENCES task_contracts(task_id, version) ON DELETE CASCADE
1291
+ );
1292
+
1280
1293
  CREATE TABLE task_dependencies (
1281
1294
  task_id TEXT NOT NULL,
1282
1295
  depends_on_task_id TEXT NOT NULL,
@@ -90,8 +90,12 @@ function listSessionMetadata(query = {}) {
90
90
  JOIN task_origin_links origin ON origin.task_id = worker.task_id
91
91
  JOIN sessions parent ON parent.conversation_id = origin.conversation_id
92
92
  WHERE worker.conversation_id = s.conversation_id AND worker.role = 'execution'
93
- AND parent.hidden_from_session_list = 0
94
- AND (parent.updated_at >= ? OR parent.status = 'pinned' OR parent.conversation_id = ?)
93
+ AND (
94
+ COALESCE(CASE WHEN json_valid(parent.custom_data_json)
95
+ THEN json_extract(parent.custom_data_json, '$.keepHiddenFromSessionList') END, 0) = 1
96
+ OR (parent.hidden_from_session_list = 0
97
+ AND (parent.updated_at >= ? OR parent.status = 'pinned' OR parent.conversation_id = ?))
98
+ )
95
99
  )`);
96
100
  params.push(query.updatedAfter ?? 0, query.includeConversationId ?? "");
97
101
  }
@@ -14,7 +14,8 @@ function shouldRevealSessionForUserMessage(db, conversationId) {
14
14
  const row = db.prepare(`SELECT custom_data_json FROM sessions WHERE conversation_id = ?`).get(conversationId);
15
15
  if (!row?.custom_data_json) return true;
16
16
  try {
17
- return JSON.parse(row.custom_data_json).deferVisibilityUntilOutput !== true;
17
+ const customData = JSON.parse(row.custom_data_json);
18
+ return customData.deferVisibilityUntilOutput !== true && customData.keepHiddenFromSessionList !== true;
18
19
  } catch {
19
20
  return true;
20
21
  }
@@ -2,12 +2,13 @@ import { ProductReadContracts } from "../../../packages/gateway-contract/src/cap
2
2
  import { init_src } from "../../../packages/gateway-contract/src/index.js";
3
3
  import { TaskRepository, init_task_repository } from "../task-repository.js";
4
4
  import { TaskRunRepository, init_task_run_repository } from "../task-run-repository.js";
5
+ import { TaskConversationRepository } from "../task-conversation-repository.js";
6
+ import { TaskReadModelProjector } from "../task-read-model-projector.js";
5
7
  import { CapabilityError } from "../../capabilities/runtime/errors.js";
6
8
  import { defineReadCapability } from "../../capabilities/runtime/dispatcher.js";
7
9
  import { TaskContextRepository } from "../task-context-repository.js";
8
- import { TaskReadModelProjector } from "../task-read-model-projector.js";
9
10
  import { TaskDependencyService } from "../task-dependency-service.js";
10
- import { TaskConversationRepository } from "../task-conversation-repository.js";
11
+ import { TaskCriterionReviewRepository } from "../task-criterion-review-repository.js";
11
12
  import { TaskValueMetricsService } from "../task-value-metrics-service.js";
12
13
  //#region src/tasks/capabilities/read.ts
13
14
  init_src();
@@ -37,6 +38,7 @@ function registerTaskReadCapabilities(dispatcher) {
37
38
  const context = new TaskContextRepository();
38
39
  const conversations = new TaskConversationRepository();
39
40
  const dependencies = new TaskDependencyService();
41
+ const criterionReviews = new TaskCriterionReviewRepository();
40
42
  dispatcher.register(defineReadCapability({
41
43
  id: "xopc.task_runs.get",
42
44
  majorVersion: 1,
@@ -106,6 +108,7 @@ function registerTaskReadCapabilities(dispatcher) {
106
108
  waits: runs.listActiveWaits(id),
107
109
  runs: runs.listByTask(id),
108
110
  receipts: runs.listReceipts(id),
111
+ criterionReviews: criterionReviews.list(id, task.latestContractVersion),
109
112
  context: context.list(id),
110
113
  conversation: conversations.requireState(id),
111
114
  sessions: conversations.listSessions(id),
@@ -4,8 +4,8 @@ import { TaskRepository, init_task_repository } from "../task-repository.js";
4
4
  import { TaskRunRepository, init_task_run_repository } from "../task-run-repository.js";
5
5
  import { CapabilityError } from "../../capabilities/runtime/errors.js";
6
6
  import { defineAtomicCapability } from "../../capabilities/runtime/dispatcher.js";
7
- import { TaskApplicationService } from "../task-application-service.js";
8
7
  import { resolveProjectAgentId } from "../../projects/project-agent.js";
8
+ import { TaskApplicationService } from "../task-application-service.js";
9
9
  import { TaskSignalService } from "../task-signal-service.js";
10
10
  import { z } from "zod";
11
11
  //#region src/tasks/capabilities/write.ts
@@ -1,7 +1,7 @@
1
1
  import { isXopcDatabaseOpen } from "../storage/sqlite/connection.js";
2
2
  import { init_sqlite } from "../storage/sqlite/index.js";
3
- import { getExecutionEnvironmentForSession } from "../execution-environments/subject.js";
4
3
  import { TaskConversationRepository } from "./task-conversation-repository.js";
4
+ import { getExecutionEnvironmentForSession } from "../execution-environments/subject.js";
5
5
  //#region src/tasks/execution-context.ts
6
6
  init_sqlite();
7
7
  const ORIGINS = new Set([
@@ -2,11 +2,11 @@ import { TaskRepository, init_task_repository } from "./task-repository.js";
2
2
  import { isHomeAttentionAcknowledged } from "../storage/sqlite/home-attention-repository.js";
3
3
  import { listConnectorApprovals } from "../storage/sqlite/connector-repository.js";
4
4
  import { init_sqlite } from "../storage/sqlite/index.js";
5
- import "../automations/domain/defaults.js";
6
- import "../automations/index.js";
7
5
  import { TaskReadModelProjector } from "./task-read-model-projector.js";
8
- import { listGatewayAgents } from "../gateway/agents-admin.js";
6
+ import "../automations/domain/defaults.js";
9
7
  import { AttentionGovernor } from "./attention-governor.js";
8
+ import { listGatewayAgents } from "../gateway/agents-admin.js";
9
+ import "../automations/index.js";
10
10
  //#region src/tasks/home-query-service.ts
11
11
  init_sqlite();
12
12
  init_task_repository();
@@ -1,14 +1,13 @@
1
1
  import { enqueueTaskAttentionRequiredEvent, enqueueTaskChanged, enqueueTaskChangedEvent, init_task_change_events } from "./task-change-events.js";
2
2
  import { TaskRepository, init_task_repository } from "./task-repository.js";
3
3
  import { TaskRunRepository, init_task_run_repository } from "./task-run-repository.js";
4
- import { TaskContextRepository } from "./task-context-repository.js";
4
+ import { TaskConversationConflictError, TaskConversationRepository } from "./task-conversation-repository.js";
5
5
  import { TaskReadModelProjector } from "./task-read-model-projector.js";
6
+ import { TaskContextRepository } from "./task-context-repository.js";
6
7
  import { TaskDependencyError, TaskDependencyService } from "./task-dependency-service.js";
7
- import { TaskConversationConflictError, TaskConversationRepository } from "./task-conversation-repository.js";
8
- import { TaskApplicationService } from "./task-application-service.js";
9
- import { assembleTaskContext, buildDelegatedTaskDirective, buildTaskExecutionDirective, getTaskContextManifest, getTaskExecutionBrief } from "./task-context-assembler.js";
10
8
  import { TaskValueMetricsService } from "./task-value-metrics-service.js";
11
9
  import { TaskDeletionService } from "./task-deletion-service.js";
10
+ import { TaskApplicationService } from "./task-application-service.js";
12
11
  import { TaskSignalService } from "./task-signal-service.js";
13
12
  import { resolveExecutionContext } from "./execution-context.js";
14
13
  import { AttentionGovernor } from "./attention-governor.js";
@@ -16,6 +15,7 @@ import { HomeQueryService, buildHomeWorkbench, decisionFromTask } from "./home-q
16
15
  import { TaskWorkflowCoordinator } from "./task-workflow-coordinator.js";
17
16
  import { defineTaskContract } from "./task-contract-definition.js";
18
17
  import { ModelTaskContractPlanner, parseTaskContractResponse } from "./task-contract-planner.js";
18
+ import { assembleTaskContext, buildDelegatedTaskDirective, buildTaskExecutionDirective, getTaskContextManifest, getTaskExecutionBrief } from "./task-context-assembler.js";
19
19
  import { TaskRunCoordinator } from "./task-run-coordinator.js";
20
20
  import { ProjectOperatingViewService, summarizeProjectOperatingView } from "./project-operating-view-service.js";
21
21
  import { TaskHandoffService } from "./task-handoff-service.js";
@@ -4,11 +4,12 @@ import { init_src } from "../../packages/gateway-contract/src/index.js";
4
4
  import { enqueueTaskAttentionRequiredEvent, enqueueTaskChangedEvent, init_task_change_events } from "./task-change-events.js";
5
5
  import { TaskRepository, init_task_repository } from "./task-repository.js";
6
6
  import { TaskRunRepository, init_task_run_repository } from "./task-run-repository.js";
7
- import { TaskContextRepository } from "./task-context-repository.js";
7
+ import { TaskConversationRepository } from "./task-conversation-repository.js";
8
8
  import { TaskReadModelProjector } from "./task-read-model-projector.js";
9
+ import { TaskContextRepository } from "./task-context-repository.js";
9
10
  import { TaskDependencyService } from "./task-dependency-service.js";
11
+ import { TaskCriterionReviewRepository } from "./task-criterion-review-repository.js";
10
12
  import { TaskCollaborationRepository } from "./task-collaboration-repository.js";
11
- import { TaskConversationRepository } from "./task-conversation-repository.js";
12
13
  import { createHash, randomUUID } from "node:crypto";
13
14
  //#region src/tasks/task-application-service.ts
14
15
  init_src();
@@ -231,7 +232,11 @@ var TaskApplicationService = class {
231
232
  };
232
233
  break;
233
234
  case "close":
234
- result = this.lifecycle(task.id, task.version, "closed", input.command.resolution);
235
+ result = input.command.resolution === "done" && (!new TaskCriterionReviewRepository().allPassed(task) || this.#runs.getActiveRoot(task.id) !== void 0 || this.#runs.listActiveWaits(task.id).length > 0) ? {
236
+ ok: false,
237
+ reason: "blocked",
238
+ model
239
+ } : this.lifecycle(task.id, task.version, "closed", input.command.resolution);
235
240
  break;
236
241
  case "reopen":
237
242
  result = task.phase === "closed" ? this.lifecycle(task.id, task.version, input.command.phase) : {
@@ -3,8 +3,8 @@ import { init_logger } from "../utils/logger.js";
3
3
  import { getSqliteDatabase, init_transaction } from "../storage/sqlite/transaction.js";
4
4
  import { TaskRepository, init_task_repository } from "./task-repository.js";
5
5
  import { TaskRunRepository, init_task_run_repository } from "./task-run-repository.js";
6
- import { TaskCollaborationRepository } from "./task-collaboration-repository.js";
7
6
  import { TaskConversationRepository } from "./task-conversation-repository.js";
7
+ import { TaskCollaborationRepository } from "./task-collaboration-repository.js";
8
8
  import { TaskApplicationService } from "./task-application-service.js";
9
9
  //#region src/tasks/task-collaboration-delivery.ts
10
10
  init_task_repository();
@@ -4,9 +4,9 @@ import { init_src } from "../../packages/gateway-contract/src/index.js";
4
4
  import { TaskRepository, init_task_repository } from "./task-repository.js";
5
5
  import { TaskRunRepository, init_task_run_repository } from "./task-run-repository.js";
6
6
  import { init_sqlite } from "../storage/sqlite/index.js";
7
+ import { TaskConversationRepository } from "./task-conversation-repository.js";
7
8
  import { TaskContextRepository } from "./task-context-repository.js";
8
9
  import { TaskCollaborationRepository } from "./task-collaboration-repository.js";
9
- import { TaskConversationRepository } from "./task-conversation-repository.js";
10
10
  import { TaskOriginRepository } from "./task-origin-repository.js";
11
11
  //#region src/tasks/task-context-assembler.ts
12
12
  init_src();
@@ -0,0 +1,22 @@
1
+ import type { ActorRef, Task } from '@xopcai/gateway-contract';
2
+ export interface TaskCriterionReview {
3
+ contractVersion: number;
4
+ criterionIndex: number;
5
+ criterionText: string;
6
+ status: 'passed' | 'failed';
7
+ note?: string;
8
+ reviewedBy: ActorRef;
9
+ reviewedAt: number;
10
+ }
11
+ export declare class TaskCriterionReviewRepository {
12
+ list(taskId: string, contractVersion: number): TaskCriterionReview[];
13
+ set(input: {
14
+ task: Task;
15
+ expectedVersion: number;
16
+ criterionIndex: number;
17
+ status: 'passed' | 'failed';
18
+ note?: string;
19
+ actor: ActorRef;
20
+ }): TaskCriterionReview | undefined;
21
+ allPassed(task: Task): boolean;
22
+ }
@@ -0,0 +1,74 @@
1
+ import { getSqliteDatabase, init_transaction, runSqliteWriteTransaction } from "../storage/sqlite/transaction.js";
2
+ import { verifiedTaskCriteria } from "../../packages/gateway-contract/src/tasks.js";
3
+ import { init_src } from "../../packages/gateway-contract/src/index.js";
4
+ import { TaskRunRepository, init_task_run_repository } from "./task-run-repository.js";
5
+ //#region src/tasks/task-criterion-review-repository.ts
6
+ init_src();
7
+ init_transaction();
8
+ init_task_run_repository();
9
+ function fromRow(row) {
10
+ return {
11
+ contractVersion: row.contract_version,
12
+ criterionIndex: row.criterion_index,
13
+ criterionText: row.criterion_text,
14
+ status: row.status,
15
+ ...row.note ? { note: row.note } : {},
16
+ reviewedBy: JSON.parse(row.reviewed_by_json),
17
+ reviewedAt: row.reviewed_at
18
+ };
19
+ }
20
+ var TaskCriterionReviewRepository = class {
21
+ list(taskId, contractVersion) {
22
+ return getSqliteDatabase().prepare(`SELECT * FROM task_criterion_reviews WHERE task_id = ? AND contract_version = ?
23
+ ORDER BY criterion_index`).all(taskId, contractVersion).map(fromRow);
24
+ }
25
+ set(input) {
26
+ const criterionText = input.task.contract?.acceptanceCriteria[input.criterionIndex];
27
+ if (criterionText === void 0 || input.criterionIndex < 0) return void 0;
28
+ const reviewedAt = Date.now();
29
+ return runSqliteWriteTransaction((db) => {
30
+ if (db.prepare(`UPDATE tasks SET version = version + 1, updated_at = ?
31
+ WHERE task_id = ? AND version = ? AND latest_contract_version = ? AND phase != 'closed'`).run(reviewedAt, input.task.id, input.expectedVersion, input.task.latestContractVersion).changes !== 1) return void 0;
32
+ db.prepare(`INSERT INTO task_criterion_reviews (
33
+ task_id, contract_version, criterion_index, criterion_text, status, note,
34
+ reviewed_by_json, reviewed_at
35
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
36
+ ON CONFLICT(task_id, contract_version, criterion_index) DO UPDATE SET
37
+ criterion_text = excluded.criterion_text,
38
+ status = excluded.status,
39
+ note = excluded.note,
40
+ reviewed_by_json = excluded.reviewed_by_json,
41
+ reviewed_at = excluded.reviewed_at`).run(input.task.id, input.task.latestContractVersion, input.criterionIndex, criterionText, input.status, input.note?.trim() || null, JSON.stringify(input.actor), reviewedAt);
42
+ return {
43
+ contractVersion: input.task.latestContractVersion,
44
+ criterionIndex: input.criterionIndex,
45
+ criterionText,
46
+ status: input.status,
47
+ ...input.note?.trim() ? { note: input.note.trim() } : {},
48
+ reviewedBy: input.actor,
49
+ reviewedAt
50
+ };
51
+ });
52
+ }
53
+ allPassed(task) {
54
+ const criteria = task.contract?.acceptanceCriteria ?? [];
55
+ if (criteria.length === 0) return false;
56
+ const reviews = new Map(this.list(task.id, task.latestContractVersion).map((review) => [review.criterionIndex, review.status]));
57
+ const runs = new TaskRunRepository();
58
+ const versions = new Map(runs.listByTask(task.id).map((run) => [run.id, run.contractVersion]));
59
+ const receipts = runs.listReceipts(task.id).filter((receipt) => versions.get(receipt.runId) === task.latestContractVersion).sort((a, b) => b.finalizedAt - a.finalizedAt);
60
+ return criteria.every((criterion, index) => {
61
+ const reviewed = reviews.get(index);
62
+ if (reviewed && task.contract?.acceptancePolicy !== "verified_auto") return reviewed === "passed";
63
+ if (task.contract?.acceptancePolicy === "manual") return false;
64
+ for (const receipt of receipts) {
65
+ const check = receipt.verification.checks.find((item) => item.criterion === criterion);
66
+ if (!check || check.status === "unverified") continue;
67
+ return check.status === "passed" && verifiedTaskCriteria(receipt).has(criterion);
68
+ }
69
+ return false;
70
+ });
71
+ }
72
+ };
73
+ //#endregion
74
+ export { TaskCriterionReviewRepository };
@@ -5,8 +5,8 @@ import { TaskRunRepository, init_task_run_repository } from "./task-run-reposito
5
5
  import { normalizeAgentId } from "../agent-catalog/id.js";
6
6
  import { init_agent_scope, listAgentEntries } from "../agent/agent-scope.js";
7
7
  import { init_session_key, resolveConversationId, sanitizeSegment } from "../routing/session-key.js";
8
- import { TaskContextRepository } from "./task-context-repository.js";
9
8
  import { TaskConversationRepository } from "./task-conversation-repository.js";
9
+ import { TaskContextRepository } from "./task-context-repository.js";
10
10
  //#region src/tasks/task-handoff-service.ts
11
11
  init_agent_scope();
12
12
  init_session_key();
@@ -1,9 +1,10 @@
1
1
  import { TaskRepository, init_task_repository } from "./task-repository.js";
2
2
  import { TaskRunRepository, init_task_run_repository } from "./task-run-repository.js";
3
- import { extractAssistantText, getAssistantMessageErrorReason, stripCodeFences } from "../providers/model-response.js";
4
3
  import { init_providers, resolveModel } from "../providers/index.js";
5
4
  import { completeWithResolvedCredentials } from "../providers/model-call.js";
5
+ import { extractAssistantText, getAssistantMessageErrorReason, stripCodeFences } from "../providers/model-response.js";
6
6
  import { TaskCollaborationRepository } from "./task-collaboration-repository.js";
7
+ import { getPersonalAgentByConversation } from "../personal-agent/repository.js";
7
8
  //#region src/tasks/task-main-update-decision-service.ts
8
9
  init_providers();
9
10
  init_task_repository();
@@ -58,6 +59,11 @@ var TaskMainUpdateDecisionService = class {
58
59
  reason: "Task no longer exists",
59
60
  userPreference: "unspecified"
60
61
  };
62
+ if (getPersonalAgentByConversation(input.conversationId)?.preferences.proactivity === "decisions" && input.entry.kind === "progress") return {
63
+ notify: false,
64
+ reason: "Personal AI is set to report results and decisions only",
65
+ userPreference: "final_only"
66
+ };
61
67
  const run = this.#runs.getLatestRoot(task.id);
62
68
  const history = recentConversation(await this.deps.loadHistory(input.conversationId));
63
69
  const board = this.#entries.recent(task.id, void 0, 5).map((entry) => ({
@@ -9,30 +9,30 @@ import { appendComposerInputHistory, listComposerInputHistory } from "../../stor
9
9
  import { getSessionMetadata } from "../../storage/sqlite/session-read-repository.js";
10
10
  import { init_sqlite } from "../../storage/sqlite/index.js";
11
11
  import { normalizeAgentId } from "../../agent-catalog/id.js";
12
- import { init_agent_scope, listAgentEntries } from "../../agent/agent-scope.js";
13
- import { init_paths } from "../../config/paths.js";
14
- import { AgentCatalogService } from "../../agent-catalog/service.js";
15
12
  import { getAgentDefaultModelRef, init_schema } from "../../config/schema.js";
13
+ import { init_agent_scope, listAgentEntries } from "../../agent/agent-scope.js";
16
14
  import { init_agent_session_key, resolveAgentIdFromConversationId } from "../../routing/agent-session-key.js";
17
- import { loadConfig } from "../../config/loader.js";
18
- import { prependEnvelopeTimestamp } from "../../channels/envelope-timestamp.js";
19
15
  import { resolveEffectiveAgentProfile } from "../../config/agent-profile.js";
16
+ import { init_paths } from "../../config/paths.js";
20
17
  import { effectiveWorkspacePathForSession } from "../../session/session-workspace.js";
21
- import { buildReviewContext, resolveGitRoot } from "../../review/review-git.js";
22
- import { MessageBus, MessageBusShutdownError } from "../../infra/bus/queue.js";
23
- import "../../infra/bus/index.js";
24
- import { getWorkspacePath } from "../../config/workspace-path-helpers.js";
25
- import "../../config/index.js";
26
18
  import { ProjectService } from "../../projects/project-service.js";
27
19
  import { inferSuggestedProjectDefaultAgentId } from "../../projects/project-agent-suggestion.js";
28
20
  import "../../projects/index.js";
29
21
  import { buildSessionTimeline } from "../../session/transcript-outline.js";
30
22
  import { transcriptRowsToClientHistory } from "../../session/client-history.js";
23
+ import { createCreateShareTool, isShareToolAvailable } from "../../agent/tools/create-share-tool.js";
24
+ import { evictEmbeddedSessionRunner } from "../../agent/embedded/session-runner.js";
25
+ import { AgentCatalogService } from "../../agent-catalog/service.js";
31
26
  import { SessionIndex } from "../../session/manager.js";
32
27
  import "../../session/index.js";
33
28
  import { parseModelRef } from "../../agent/models/selection.js";
34
- import { evictEmbeddedSessionRunner } from "../../agent/embedded/session-runner.js";
35
- import { createCreateShareTool, isShareToolAvailable } from "../../agent/tools/create-share-tool.js";
29
+ import { loadConfig } from "../../config/loader.js";
30
+ import { buildReviewContext, resolveGitRoot } from "../../review/review-git.js";
31
+ import { MessageBus, MessageBusShutdownError } from "../../infra/bus/queue.js";
32
+ import "../../infra/bus/index.js";
33
+ import { prependEnvelopeTimestamp } from "../../channels/envelope-timestamp.js";
34
+ import { getWorkspacePath } from "../../config/workspace-path-helpers.js";
35
+ import "../../config/index.js";
36
36
  import { buildWorkflowChildTools } from "../../agent/workflow/workflow-child-tools.js";
37
37
  import { WorkflowRunService } from "../../workflows/service/workflow-run-service.js";
38
38
  import { WorkflowSessionBridge } from "../../workflows/service/workflow-session-bridge.js";
@@ -5,9 +5,9 @@ import { sessionInputCommandSchema } from "../../../packages/gateway-contract/sr
5
5
  import { isSessionCommandRejected } from "../../../packages/gateway-contract/src/session-command-rejection.js";
6
6
  import { init_src } from "../../../packages/gateway-contract/src/index.js";
7
7
  import { init_paths } from "../../config/paths.js";
8
- import { gatewayCredentialAuthorization } from "../../gateway/credential.js";
9
8
  import { transcriptRowsToClientHistory } from "../../session/client-history.js";
10
9
  import { parseModelRef } from "../../agent/models/selection.js";
10
+ import { gatewayCredentialAuthorization } from "../../gateway/credential.js";
11
11
  import { RealtimeClient } from "../../../packages/realtime-client/src/index.js";
12
12
  import { buildTuiTranscriptTree, transcriptTreeEntryIdToRowNumber } from "../tui-transcript-tree.js";
13
13
  import { computeTuiSessionStats } from "../tui-session-stats.js";
@@ -1,10 +1,10 @@
1
1
  import { createLogger } from "../../utils/logger/index.js";
2
2
  import { init_logger } from "../../utils/logger.js";
3
3
  import { init_paths, resolveExtensionsDir } from "../../config/paths.js";
4
+ import { ExtensionLoader } from "../../extensions/loader.js";
4
5
  import { loadConfig } from "../../config/loader.js";
5
6
  import { getWorkspacePath } from "../../config/workspace-path-helpers.js";
6
7
  import "../../config/index.js";
7
- import { ExtensionLoader } from "../../extensions/loader.js";
8
8
  //#region src/tui/extension-host/load-extensions.ts
9
9
  init_paths();
10
10
  init_logger();
@@ -3,8 +3,8 @@ import { getRuntimeLogStats } from "../utils/logger/stats.js";
3
3
  import { init_logger } from "../utils/logger.js";
4
4
  import { resolveConfigPath } from "../config/paths.js";
5
5
  import { getProviderDisplayName, getSortedProviders, init_providers, providerSupportsApiKey, providerSupportsOAuth } from "../providers/index.js";
6
- import { normalizeVerboseLevel } from "../agent/transcript/thinking-types.js";
7
6
  import { createWorkflowCatalog } from "../agent/workflow/catalog.js";
7
+ import { normalizeVerboseLevel } from "../agent/transcript/thinking-types.js";
8
8
  import "../config/index.js";
9
9
  import { countPendingChatInputs } from "./tui-chat-input-state.js";
10
10
  import { computeContextUsagePercent, formatContextUsageLabel } from "./tui-context-usage.js";
@@ -2,19 +2,19 @@ import { closeXopcDatabase, isXopcDatabaseOpen, openXopcDatabase } from "../stor
2
2
  import { TaskRepository } from "../tasks/task-repository.js";
3
3
  import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js";
4
4
  import { init_sqlite } from "../storage/sqlite/index.js";
5
- import { resolveConfigPath } from "../config/paths.js";
6
5
  import { init_agent_session_key, isValidAgentId, normalizeAgentId } from "../routing/agent-session-key.js";
6
+ import { resolveConfigPath } from "../config/paths.js";
7
7
  import { init_providers, providerSupportsOAuth } from "../providers/index.js";
8
- import { loadConfig } from "../config/loader.js";
9
- import { normalizeReasoningLevel, normalizeThinkLevel, normalizeVerboseLevel } from "../agent/transcript/thinking-types.js";
10
- import { createWorkflowCatalog } from "../agent/workflow/catalog.js";
11
- import "../config/index.js";
12
- import { provenanceTracker } from "../extensions/security.js";
13
8
  import { ProjectService } from "../projects/project-service.js";
14
9
  import { isValidProjectAgentId, normalizeProjectAgentId } from "../projects/project-agent.js";
15
10
  import { inferSuggestedProjectDefaultAgentId } from "../projects/project-agent-suggestion.js";
16
11
  import "../projects/index.js";
12
+ import { createWorkflowCatalog } from "../agent/workflow/catalog.js";
17
13
  import "../tasks/index.js";
14
+ import { normalizeReasoningLevel, normalizeThinkLevel, normalizeVerboseLevel } from "../agent/transcript/thinking-types.js";
15
+ import { provenanceTracker } from "../extensions/security.js";
16
+ import { loadConfig } from "../config/loader.js";
17
+ import "../config/index.js";
18
18
  import { theme } from "./theme.js";
19
19
  import { getTuiKeybindingsPath } from "./tui-keybindings-file.js";
20
20
  import { formatKeyIds, formatXopcTuiHotkeys } from "./format-tui-hotkeys.js";
@@ -1,5 +1,5 @@
1
- import { listThinkingLevels, normalizeThinkLevel } from "../agent/transcript/thinking-types.js";
2
1
  import { getProjectTrustOptions, hasTrustRequiringProjectResources } from "../project-trust/trust-store.js";
2
+ import { listThinkingLevels, normalizeThinkLevel } from "../agent/transcript/thinking-types.js";
3
3
  import { searchableSelectListTheme, theme } from "./theme.js";
4
4
  import { formatKeyIds } from "./format-tui-hotkeys.js";
5
5
  import { formatSessionPickerDescription } from "./tui-session-format.js";
@@ -1,9 +1,9 @@
1
1
  import { resolveStateDir } from "../config/paths-state.js";
2
2
  import { init_paths, resolveBundledSkillsDir } from "../config/paths.js";
3
+ import { loadSkills } from "../agent/skills/index.js";
3
4
  import { loadConfig } from "../config/loader.js";
4
5
  import { getWorkspacePath } from "../config/workspace-path-helpers.js";
5
6
  import "../config/index.js";
6
- import { loadSkills } from "../agent/skills/index.js";
7
7
  //#region src/tui/tui-skills-autocomplete.ts
8
8
  init_paths();
9
9
  /** `@skill` autocomplete from workspace + global + bundled skill directories. */
@@ -1,13 +1,13 @@
1
1
  import { resolveStateDir } from "../config/paths-state.js";
2
+ import { resolveEffectiveAgentProfile, resolveEffectiveAgentProfileForSession } from "../config/agent-profile.js";
2
3
  import { init_paths, resolveAgentProfileDir, resolveBundledSkillsDir } from "../config/paths.js";
4
+ import { resolveBootstrapFilesSync } from "../agent/bootstrap/bootstrap-files.js";
3
5
  import { listConnectorInstances } from "../connectors/instances.js";
4
- import { resolveEffectiveAgentProfile, resolveEffectiveAgentProfileForSession } from "../config/agent-profile.js";
6
+ import { createSkillConfigManager, isSkillEnabled } from "../agent/skills/config.js";
7
+ import { loadSkills } from "../agent/skills/index.js";
5
8
  import { createWorkflowCatalog } from "../agent/workflow/catalog.js";
6
9
  import { getWorkspacePath } from "../config/workspace-path-helpers.js";
7
10
  import "../config/index.js";
8
- import { createSkillConfigManager, isSkillEnabled } from "../agent/skills/config.js";
9
- import { loadSkills } from "../agent/skills/index.js";
10
- import { resolveBootstrapFilesSync } from "../agent/bootstrap/bootstrap-files.js";
11
11
  import { basename } from "node:path";
12
12
  //#region src/tui/tui-startup-resources.ts
13
13
  init_paths();