@xopcai/xopc 0.0.426 → 0.0.428

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 (463) hide show
  1. package/dist/browser-ext/manifest.json +1 -1
  2. package/dist/extensions/telegram/src/adapters/security-adapter.js +1 -1
  3. package/dist/extensions/telegram/src/pairing-config-resolver.js +1 -1
  4. package/dist/extensions/telegram/src/plugin.js +2 -2
  5. package/dist/extensions/telegram/xopc.extension.json +1 -1
  6. package/dist/extensions/weixin/src/api/api.js +1 -1
  7. package/dist/extensions/weixin/src/auth/accounts.js +2 -2
  8. package/dist/extensions/weixin/src/auth/pairing.js +1 -1
  9. package/dist/extensions/weixin/src/cdn/upload.js +1 -1
  10. package/dist/extensions/weixin/src/cli/gateway-qr-login.js +1 -1
  11. package/dist/extensions/weixin/src/cli/qr-login.js +1 -1
  12. package/dist/extensions/weixin/src/messaging/debug-mode.js +1 -1
  13. package/dist/extensions/weixin/src/messaging/inbound.js +2 -2
  14. package/dist/extensions/weixin/src/messaging/process-message.js +3 -3
  15. package/dist/extensions/weixin/src/messaging/send.js +12 -3
  16. package/dist/extensions/weixin/src/monitor/monitor.js +1 -1
  17. package/dist/extensions/weixin/src/outbound-send.js +12 -3
  18. package/dist/extensions/weixin/src/pairing-config-resolver.js +1 -1
  19. package/dist/extensions/weixin/src/plugin.js +1 -1
  20. package/dist/gateway/static/root/assets/{activity-store-D_DXNHba.js → activity-store-WqnVruhY.js} +1 -1
  21. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-CjaQxFQt.js → agent-avatar-dicebear-CSiO9c2F.js} +1 -1
  22. package/dist/gateway/static/root/assets/{agent-avatar-display-6Z4m31Fz.js → agent-avatar-display-D-yds6wG.js} +2 -2
  23. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-_UT9C7bg.js +1 -0
  24. package/dist/gateway/static/root/assets/agent-plugin-dialog-DVzYXsAy.js +1 -0
  25. package/dist/gateway/static/root/assets/{agents-admin-api-u5c3GREg.js → agents-admin-api-Bgv4lJ9Y.js} +1 -1
  26. package/dist/gateway/static/root/assets/agents-yTsbcxRi.js +77 -0
  27. package/dist/gateway/static/root/assets/{api-C3Tp9MkF.js → api-C-9J9ghT.js} +1 -1
  28. package/dist/gateway/static/root/assets/{api-CRT9ZyH0.js → api-Dv6Cn-Rs.js} +1 -1
  29. package/dist/gateway/static/root/assets/app-link-DRy3-k7j.js +1 -0
  30. package/dist/gateway/static/root/assets/{app-management-settings-panel-C8yc3yHG.js → app-management-settings-panel-BXJrrjH5.js} +1 -1
  31. package/dist/gateway/static/root/assets/{appearance-settings-BELgtR3O.js → appearance-settings-oYjAVulT.js} +1 -1
  32. package/dist/gateway/static/root/assets/apps-page-D95yzj-f.js +1 -0
  33. package/dist/gateway/static/root/assets/{archive-plugin-BCQnOkV8.js → archive-plugin-DBPu3xCJ.js} +1 -1
  34. package/dist/gateway/static/root/assets/attachment-load-DrVGNxJm.js +1 -0
  35. package/dist/gateway/static/root/assets/automation-api-DAou8Kji.js +1 -0
  36. package/dist/gateway/static/root/assets/{automation-result-state-CMfVTv_i.js → automation-result-state-CA7LV098.js} +1 -1
  37. package/dist/gateway/static/root/assets/automation-task-card-w6cKxfaP.js +3 -0
  38. package/dist/gateway/static/root/assets/{automations-page-CdIPdwF0.js → automations-page-D4LyOLzY.js} +1 -1
  39. package/dist/gateway/static/root/assets/automations-workspace-BGyvZZj5.js +9 -0
  40. package/dist/gateway/static/root/assets/{binary-plugins-CIB5cbvQ.js → binary-plugins-D25P9ZxQ.js} +1 -1
  41. package/dist/gateway/static/root/assets/{block-editor-BQtTLe6Q.js → block-editor-BI105p1U.js} +2 -2
  42. package/dist/gateway/static/root/assets/{browser-automation-inputs-DeraGZ1y.js → browser-automation-inputs-DhDRvWQE.js} +1 -1
  43. package/dist/gateway/static/root/assets/{browser-automations-page-SpPzRNqU.js → browser-automations-page-CCPi1Bvy.js} +2 -2
  44. package/dist/gateway/static/root/assets/{browser-control-api-CbbPvhHR.js → browser-control-api-BN4F-bM1.js} +1 -1
  45. package/dist/gateway/static/root/assets/browser-settings-page-BZXUZpjp.js +3 -0
  46. package/dist/gateway/static/root/assets/{button-CnRSIP6m.js → button-Cc4hUNTt.js} +1 -1
  47. package/dist/gateway/static/root/assets/{capabilities-DLMuj21P.js → capabilities-LC-yEQYo.js} +1 -1
  48. package/dist/gateway/static/root/assets/capabilities-page-DHJLl4RD.js +2 -0
  49. package/dist/gateway/static/root/assets/capabilities-settings-panel-FJ3Vo7Wa.js +8 -0
  50. package/dist/gateway/static/root/assets/capabilities-u2z_KFRt.js +1 -0
  51. package/dist/gateway/static/root/assets/{capability-header-actions-CTUCuBlW.js → capability-header-actions-BxMYfQ8y.js} +1 -1
  52. package/dist/gateway/static/root/assets/channels-9Uaa-IN0.js +1 -0
  53. package/dist/gateway/static/root/assets/{chat-agents-api-D8YS5amE.js → chat-agents-api-Cffxfzi1.js} +1 -1
  54. package/dist/gateway/static/root/assets/{chat-chart-block-DCzUECct.js → chat-chart-block-Bbk0b3TV.js} +1 -1
  55. package/dist/gateway/static/root/assets/chat-page--dKUIg5W.js +72 -0
  56. package/dist/gateway/static/root/assets/{chat-terminal-dock-Dl-OTkJI.js → chat-terminal-dock-CQMuG-Bz.js} +2 -2
  57. package/dist/gateway/static/root/assets/{command-palette-api-Dijix7V6.js → command-palette-api-BRxfFgGA.js} +1 -1
  58. package/dist/gateway/static/root/assets/composer-payload-handoff-_9L2A5AZ.js +1 -0
  59. package/dist/gateway/static/root/assets/{computer-settings-page-B-lGMimW.js → computer-settings-page-Bm70SIjD.js} +1 -1
  60. package/dist/gateway/static/root/assets/confirm-dialog-D7dQJytv.js +1 -0
  61. package/dist/gateway/static/root/assets/connected-providers-grid-B7ktDgqt.js +1 -0
  62. package/dist/gateway/static/root/assets/{connector-service-page-C8InhrMt.js → connector-service-page-BVMEg8n-.js} +1 -1
  63. package/dist/gateway/static/root/assets/{connectors-api-DEJU8mgn.js → connectors-api-B07yoCzk.js} +1 -1
  64. package/dist/gateway/static/root/assets/connectors-page-hPKaJUWY.js +1 -0
  65. package/dist/gateway/static/root/assets/{copy-text-row-CYIv7RfP.js → copy-text-row-CpiRzq4G.js} +1 -1
  66. package/dist/gateway/static/root/assets/{date-picker-kqic8j73.js → date-picker-BvEnSGZK.js} +1 -1
  67. package/dist/gateway/static/root/assets/dependency-picker-XjPB8FJS.js +1 -0
  68. package/dist/gateway/static/root/assets/{desktop-pet-DFNehTtd.js → desktop-pet-C1z9YDEg.js} +1 -1
  69. package/dist/gateway/static/root/assets/{desktop-pet-settings-BDS7_tQ_.js → desktop-pet-settings-CbbVb8GY.js} +1 -1
  70. package/dist/gateway/static/root/assets/{dev-view-store-CeZZLOc6.js → dev-view-store-38EmUIEC.js} +1 -1
  71. package/dist/gateway/static/root/assets/device-pairing-wizard-Wb1EKiXA.js +1 -0
  72. package/dist/gateway/static/root/assets/{directory-picker-path-field-Di0h3ws4.js → directory-picker-path-field-BvKDrKc4.js} +1 -1
  73. package/dist/gateway/static/root/assets/{discussion-annotation-sync-ClKEyXmN.js → discussion-annotation-sync-BfVzIwe2.js} +1 -1
  74. package/dist/gateway/static/root/assets/dist-BGTk37IG.js +1 -0
  75. package/dist/gateway/static/root/assets/dist-BuHnPloF.js +1 -0
  76. package/dist/gateway/static/root/assets/dist-GJ8-1PAx.js +1 -0
  77. package/dist/gateway/static/root/assets/dist-ZrL34Ps4.js +1 -0
  78. package/dist/gateway/static/root/assets/{extension-debug-page-DwB5KMGk.js → extension-debug-page-CB9Lu3Sq.js} +1 -1
  79. package/dist/gateway/static/root/assets/{extension-iframe-host-Cqg1K70e.js → extension-iframe-host-BzjrVAUR.js} +1 -1
  80. package/dist/gateway/static/root/assets/{extension-marketplace-api-DRBszrCR.js → extension-marketplace-api-DigziAgd.js} +1 -1
  81. package/dist/gateway/static/root/assets/{extension-page-DyrQtG82.js → extension-page-DUa9MeaZ.js} +1 -1
  82. package/dist/gateway/static/root/assets/{extension-provider-C_uKqJxP.js → extension-provider-301x0rh-.js} +1 -1
  83. package/dist/gateway/static/root/assets/{extension-settings-page-BAMQHzkX.js → extension-settings-page-CP9ciZUI.js} +1 -1
  84. package/dist/gateway/static/root/assets/{file-preview-surface-DfkXvFnc.js → file-preview-surface-BaMGmCbw.js} +1 -1
  85. package/dist/gateway/static/root/assets/{gateway-config-swr-BOCt_zOo.js → gateway-config-swr-BD4Bf8uu.js} +1 -1
  86. package/dist/gateway/static/root/assets/{gateway-realtime-BL_Cf0OQ.js → gateway-realtime-CSd9VB7Z.js} +1 -1
  87. package/dist/gateway/static/root/assets/gateway-realtime-store-Bxkv62qs.js +1 -0
  88. package/dist/gateway/static/root/assets/{gateway-restart-CHf8qY7H.js → gateway-restart-CIUCTKYR.js} +1 -1
  89. package/dist/gateway/static/root/assets/{gateway-settings-uAboiElC.js → gateway-settings-CCqF1uZv.js} +1 -1
  90. package/dist/gateway/static/root/assets/{gateway-startup-retry-CvkJYurV.js → gateway-startup-retry-BsU5k8oi.js} +1 -1
  91. package/dist/gateway/static/root/assets/{global-defaults-api-BWMbKu72.js → global-defaults-api-asOZQeM8.js} +1 -1
  92. package/dist/gateway/static/root/assets/home-page-Bb_RC1O9.js +2 -0
  93. package/dist/gateway/static/root/assets/{image-generation-api-CQxZSTWA.js → image-generation-api-BbEnKsK1.js} +1 -1
  94. package/dist/gateway/static/root/assets/{imports-page-C90644id.js → imports-page-CVnoGUyp.js} +1 -1
  95. package/dist/gateway/static/root/assets/index-ClPeYgQk.js +11 -0
  96. package/dist/gateway/static/root/assets/index-Cz-VjTNd.css +1 -0
  97. package/dist/gateway/static/root/assets/install-connector-dialog-DXVOHMhS.js +1 -0
  98. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-CbeubKe1.js → keyboard-shortcuts-settings-BCl90SrD.js} +1 -1
  99. package/dist/gateway/static/root/assets/link-2-D_ZKYUW7.js +1 -0
  100. package/dist/gateway/static/root/assets/local-app-workbench-page-CcJc9xLJ.js +1 -0
  101. package/dist/gateway/static/root/assets/{local-apps-page-C6zFgwkr.js → local-apps-page-CdAKoWfg.js} +1 -1
  102. package/dist/gateway/static/root/assets/{local-session-drafts-BJ1B1dQ7.js → local-session-drafts-nRGeybku.js} +1 -1
  103. package/dist/gateway/static/root/assets/{locale-store-Br7IfbXK.js → locale-store-B7y-RVe8.js} +1 -1
  104. package/dist/gateway/static/root/assets/{logs-page-CpVCvAWE.js → logs-page-McbSQwJI.js} +2 -2
  105. package/dist/gateway/static/root/assets/management-settings-BIR0BwNV.js +1 -0
  106. package/dist/gateway/static/root/assets/{markdown-view-DrVAMlwc.js → markdown-view-DFHa8rUg.js} +2 -2
  107. package/dist/gateway/static/root/assets/mcp-conversation-setup-page-Dwx4TuIr.js +1 -0
  108. package/dist/gateway/static/root/assets/{media-plugins-Ba6vUE4J.js → media-plugins-BzzLV7wW.js} +1 -1
  109. package/dist/gateway/static/root/assets/messages-DYDkJvXj.js +3 -0
  110. package/dist/gateway/static/root/assets/model-selector-DJSVr3LM.js +1 -0
  111. package/dist/gateway/static/root/assets/{models-hub-cache-Bd-fYUrV.js → models-hub-cache-BUapaPTN.js} +1 -1
  112. package/dist/gateway/static/root/assets/new-chat-navigation-B6NPQ4h4.js +1 -0
  113. package/dist/gateway/static/root/assets/note-detail-panel-CJ-dPovd.js +5 -0
  114. package/dist/gateway/static/root/assets/note-image-lightbox-ClPkeHe5.js +1 -0
  115. package/dist/gateway/static/root/assets/{notes-api-CUlhTRv0.js → notes-api-ulup1oFS.js} +1 -1
  116. package/dist/gateway/static/root/assets/{notes-page-eoKX85K5.js → notes-page-BaFNplIr.js} +1 -1
  117. package/dist/gateway/static/root/assets/{oauth-api-DMMdeaNd.js → oauth-api-DINa08-z.js} +1 -1
  118. package/dist/gateway/static/root/assets/{oauth-provider-connect-C8BXow79.js → oauth-provider-connect-C0PVEHC2.js} +1 -1
  119. package/dist/gateway/static/root/assets/{page-context-capture-button-CBFK41OS.js → page-context-capture-button-CGfR0dsc.js} +1 -1
  120. package/dist/gateway/static/root/assets/{page-context-draft-LF33STHC.js → page-context-draft-DhRNxc0v.js} +1 -1
  121. package/dist/gateway/static/root/assets/page-header-store-CoKMiYoi.js +1 -0
  122. package/dist/gateway/static/root/assets/{personal-avatar-D6CzIIfo.js → personal-avatar-DiVFO2Aw.js} +1 -1
  123. package/dist/gateway/static/root/assets/personal-page-CiKdXLeR.js +1 -0
  124. package/dist/gateway/static/root/assets/{personal-settings-panel-DnYapLo7.js → personal-settings-panel-Ds4ntiqu.js} +1 -1
  125. package/dist/gateway/static/root/assets/{phone-dependencies-card-DBiKtzwz.js → phone-dependencies-card-B3R6L5Qu.js} +1 -1
  126. package/dist/gateway/static/root/assets/phone-model-connection-ucX3Tvl8.js +1 -0
  127. package/dist/gateway/static/root/assets/{phone-model-picker-BmSxEr7M.js → phone-model-picker-CU37sziM.js} +1 -1
  128. package/dist/gateway/static/root/assets/phone-settings-page-BSdB2pnW.js +1 -0
  129. package/dist/gateway/static/root/assets/{phone-workspace-store-SN7hfddU.js → phone-workspace-store-Cmes9gQ4.js} +1 -1
  130. package/dist/gateway/static/root/assets/plugin-details-dialog-DblFhnuC.js +1 -0
  131. package/dist/gateway/static/root/assets/{popover-select-DD8fmrxH.js → popover-select-CEMWIrtY.js} +1 -1
  132. package/dist/gateway/static/root/assets/{preference-select-fields-Cu_ZC9Up.js → preference-select-fields-D2-QfMN5.js} +1 -1
  133. package/dist/gateway/static/root/assets/{product-automation-feedback-Tn2dUJWM.js → product-automation-feedback-BzY3z8zu.js} +2 -2
  134. package/dist/gateway/static/root/assets/{product-open-page-Nf-Oqf1h.js → product-open-page-BKw6H0Mn.js} +1 -1
  135. package/dist/gateway/static/root/assets/{product-preview-content-D6NwUm3A.js → product-preview-content-CNaJb6Bj.js} +1 -1
  136. package/dist/gateway/static/root/assets/{product-preview-modal-BfNcGgXA.js → product-preview-modal-DgwrrpqJ.js} +2 -2
  137. package/dist/gateway/static/root/assets/project-detail-page-FReFYUv0.js +7 -0
  138. package/dist/gateway/static/root/assets/{project-understanding-B1BK7Ixi.js → project-understanding-CrSkrJnM.js} +1 -1
  139. package/dist/gateway/static/root/assets/projects-page-Cp91_KzA.js +1 -0
  140. package/dist/gateway/static/root/assets/{providers-api-DOnNfkwQ.js → providers-api-CBSC3jdu.js} +1 -1
  141. package/dist/gateway/static/root/assets/{recording-upload-RAhaLUcQ.js → recording-upload-DBHAGKZj.js} +1 -1
  142. package/dist/gateway/static/root/assets/{refresh-button-bU_0NarN.js → refresh-button-DiWdGAaX.js} +1 -1
  143. package/dist/gateway/static/root/assets/{registry-api-DFDvOTg4.js → registry-api-QZEjziDq.js} +1 -1
  144. package/dist/gateway/static/root/assets/{remote-access-hub-DWsOWetc.js → remote-access-hub-BdXxFQfH.js} +1 -1
  145. package/dist/gateway/static/root/assets/{resource-unavailable-TQcRCpAg.js → resource-unavailable-BTNhcOHF.js} +1 -1
  146. package/dist/gateway/static/root/assets/route-preload-DS4fVFbc.js +2 -0
  147. package/dist/gateway/static/root/assets/{runtime-tools-api-9o3Wfji1.js → runtime-tools-api-BDTUD8Rj.js} +1 -1
  148. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-BGiXeHF5.js → runtime-tools-settings-panel-CYEzIrDf.js} +1 -1
  149. package/dist/gateway/static/root/assets/{schema-form-BKeP5G7b.js → schema-form-C-jw6Hid.js} +1 -1
  150. package/dist/gateway/static/root/assets/{secret-input-BQvFXqzz.js → secret-input-Dryrns2s.js} +1 -1
  151. package/dist/gateway/static/root/assets/{service-recommendation-list-BEnNx0u7.js → service-recommendation-list-CfeYH6lK.js} +1 -1
  152. package/dist/gateway/static/root/assets/{session-api-Bs3r_d2_.js → session-api-DVXLCZX2.js} +1 -1
  153. package/dist/gateway/static/root/assets/session-manager-DjRWxXJG.js +23 -0
  154. package/dist/gateway/static/root/assets/sessions-page-C8gwrFHR.js +1 -0
  155. package/dist/gateway/static/root/assets/settings-advanced-gate-BMHe9uwy.js +1 -0
  156. package/dist/gateway/static/root/assets/{settings-advanced-section-CURRjsLK.js → settings-advanced-section-BmrbHgQa.js} +1 -1
  157. package/dist/gateway/static/root/assets/{settings-mode-store-CiRpsdTJ.js → settings-mode-store-Bk_hzwPK.js} +1 -1
  158. package/dist/gateway/static/root/assets/{settings-page-GtsbT6as.js → settings-page-DCQnHCNN.js} +1 -1
  159. package/dist/gateway/static/root/assets/{settings-page-header-DBL0_u0Z.js → settings-page-header-BLKI3_9N.js} +1 -1
  160. package/dist/gateway/static/root/assets/{settings-page-layout-IAvpbz4A.js → settings-page-layout-BqBVrkC9.js} +1 -1
  161. package/dist/gateway/static/root/assets/setup-interaction-page-B9ACeAvO.js +1 -0
  162. package/dist/gateway/static/root/assets/setup-status-panel-DEefuWo3.js +1 -0
  163. package/dist/gateway/static/root/assets/share-link-dialog-C2LyeNzj.js +1 -0
  164. package/dist/gateway/static/root/assets/{share-preview-page-L9KYu8M7.js → share-preview-page-BFwEr7Ws.js} +1 -1
  165. package/dist/gateway/static/root/assets/{shares-api-D8Q-m46d.js → shares-api-CTFkLQxq.js} +1 -1
  166. package/dist/gateway/static/root/assets/shares-settings-CpK3yhtc.js +1 -0
  167. package/dist/gateway/static/root/assets/{skill-api-uKU4sRiv.js → skill-api-DpicfA6o.js} +1 -1
  168. package/dist/gateway/static/root/assets/{skill-list-api-BzKzG-xG.js → skill-list-api-B8fegRLZ.js} +1 -1
  169. package/dist/gateway/static/root/assets/{skill-reload-api-DkUXekcd.js → skill-reload-api-VmC8ySUy.js} +1 -1
  170. package/dist/gateway/static/root/assets/skills-page-BIWXS6Ki.js +2 -0
  171. package/dist/gateway/static/root/assets/{system-settings-panel-CsvcFoaJ.js → system-settings-panel-BmoA92oX.js} +1 -1
  172. package/dist/gateway/static/root/assets/task-detail-page-L5RIelv0.js +3 -0
  173. package/dist/gateway/static/root/assets/{task-result-evidence-B8xUiwW3.js → task-result-evidence-BV-6hBVU.js} +1 -1
  174. package/dist/gateway/static/root/assets/{terminal-panel-store-DJVC7HqA.js → terminal-panel-store-BGdKE9hU.js} +1 -1
  175. package/dist/gateway/static/root/assets/{theme-store-Dlnmgryi.js → theme-store-Dvv79Wb2.js} +1 -1
  176. package/dist/gateway/static/root/assets/tracing-settings-page-B4uA4Pnz.js +1 -0
  177. package/dist/gateway/static/root/assets/{tunnel-api-BB7u79ID.js → tunnel-api-BurZtvqx.js} +1 -1
  178. package/dist/gateway/static/root/assets/{understanding-activity-store-C4bblRnQ.js → understanding-activity-store-C1cLL8zq.js} +1 -1
  179. package/dist/gateway/static/root/assets/{understanding-refresh-store-BvCj9-Ue.js → understanding-refresh-store-C3Lr_pjY.js} +1 -1
  180. package/dist/gateway/static/root/assets/{usage-page-Cv4Je5XJ.js → usage-page-C91ZzLm9.js} +1 -1
  181. package/dist/gateway/static/root/assets/{use-autosave-YHxQ-UZg.js → use-autosave-zkzRuUtx.js} +1 -1
  182. package/dist/gateway/static/root/assets/use-composer-attachments-CoiQAgjo.js +2 -0
  183. package/dist/gateway/static/root/assets/use-file-preview-expanded-DFzy6iVy.js +2 -0
  184. package/dist/gateway/static/root/assets/{use-personal-profile-D2Un8G1L.js → use-personal-profile-BB10h9ED.js} +1 -1
  185. package/dist/gateway/static/root/assets/{use-workspace-tree-BQEiJzK7.js → use-workspace-tree-sF5DcONt.js} +1 -1
  186. package/dist/gateway/static/root/assets/user-model-page-WFnD5utO.js +2 -0
  187. package/dist/gateway/static/root/assets/{voice-api-key-field-DCM69u8Y.js → voice-api-key-field-Bqa4PeZx.js} +1 -1
  188. package/dist/gateway/static/root/assets/{voice-config-api-CrULrSKC.js → voice-config-api-LNO2xXHk.js} +1 -1
  189. package/dist/gateway/static/root/assets/{voice-input-shortcut-events-DFMNIyy4.js → voice-input-shortcut-events-AzfhxBX7.js} +1 -1
  190. package/dist/gateway/static/root/assets/voice-transcribe-api-Cb8i6dLb.js +1 -0
  191. package/dist/gateway/static/root/assets/{work-discovery-overlay-CVe9UmFl.js → work-discovery-overlay-CdQUiV-a.js} +1 -1
  192. package/dist/gateway/static/root/assets/{work-discovery-page-CtqkRMN5.js → work-discovery-page-HcUloXxf.js} +1 -1
  193. package/dist/gateway/static/root/assets/working-directory-picker-modal-Dv1HUipe.js +1 -0
  194. package/dist/gateway/static/root/assets/{workspace-api-tbifz2zY.js → workspace-api-Am2ee4R6.js} +2 -2
  195. package/dist/gateway/static/root/assets/workspace-editor-agent-store-CqHcVFhS.js +1 -0
  196. package/dist/gateway/static/root/assets/{workspace-file-preview-dialog-BubQwQwU.js → workspace-file-preview-dialog-z5Q00v92.js} +1 -1
  197. package/dist/gateway/static/root/assets/{workspace-open-location-menu-DZk3MBSa.js → workspace-open-location-menu-4ONYaGy0.js} +1 -1
  198. package/dist/gateway/static/root/assets/xopc-cloud-account-card-DimGN59n.js +1 -0
  199. package/dist/gateway/static/root/index.html +99 -97
  200. package/dist/package.js +1 -1
  201. package/dist/packages/gateway-contract/src/automations.js +8 -0
  202. package/dist/packages/gateway-contract/src/capabilities.js +7 -3
  203. package/dist/packages/gateway-contract/src/home.js +12 -2
  204. package/dist/src/agent/agent-manager.d.ts +1 -0
  205. package/dist/src/agent/agent-manager.js +1 -0
  206. package/dist/src/agent/background-review/prompts.js +11 -6
  207. package/dist/src/agent/background-review/run-background-review.js +12 -3
  208. package/dist/src/agent/child-agent-factory.js +1 -1
  209. package/dist/src/agent/context/execution-context.js +3 -1
  210. package/dist/src/agent/data-acquisition/service.js +1 -1
  211. package/dist/src/agent/embedded/configuration-capability-correction.d.ts +3 -0
  212. package/dist/src/agent/embedded/configuration-capability-correction.js +14 -0
  213. package/dist/src/agent/embedded/run-for-session.js +20 -5
  214. package/dist/src/agent/embedded/run-turn.js +25 -2
  215. package/dist/src/agent/embedded/session-runner.js +10 -3
  216. package/dist/src/agent/image/generation/openai-images-provider.js +1 -1
  217. package/dist/src/agent/image/load-image-media.js +1 -1
  218. package/dist/src/agent/inbound/inbound-loop.js +4 -1
  219. package/dist/src/agent/independent-execution.js +1 -1
  220. package/dist/src/agent/mcp/config.js +1 -1
  221. package/dist/src/agent/mcp/connection-drafts.d.ts +5 -2
  222. package/dist/src/agent/mcp/connection-drafts.js +6 -4
  223. package/dist/src/agent/mcp/connection-setup.d.ts +15 -1
  224. package/dist/src/agent/mcp/connection-setup.js +223 -78
  225. package/dist/src/agent/mcp/continuation-guard.d.ts +3 -0
  226. package/dist/src/agent/mcp/continuation-guard.js +54 -0
  227. package/dist/src/agent/mcp/continuation-input.d.ts +4 -0
  228. package/dist/src/agent/mcp/continuation-input.js +13 -0
  229. package/dist/src/agent/mcp/conversation-setup.d.ts +282 -0
  230. package/dist/src/agent/mcp/conversation-setup.js +856 -0
  231. package/dist/src/agent/mcp/discovery.d.ts +102 -0
  232. package/dist/src/agent/mcp/discovery.js +219 -0
  233. package/dist/src/agent/mcp/native-mcp.d.ts +1 -0
  234. package/dist/src/agent/mcp/native-mcp.js +8 -1
  235. package/dist/src/agent/mcp/setup-plan.d.ts +76 -0
  236. package/dist/src/agent/mcp/setup-plan.js +93 -0
  237. package/dist/src/agent/mcp/tool-catalog.d.ts +7 -0
  238. package/dist/src/agent/mcp/tool-catalog.js +26 -3
  239. package/dist/src/agent/mcp/transport.d.ts +20 -0
  240. package/dist/src/agent/mcp/transport.js +188 -0
  241. package/dist/src/agent/mcp/weixin-setup-scope.d.ts +12 -0
  242. package/dist/src/agent/mcp/weixin-setup-scope.js +43 -0
  243. package/dist/src/agent/orchestration/delegation-scope.d.ts +2 -1
  244. package/dist/src/agent/prompt/conversational-configuration-guide.js +2 -1
  245. package/dist/src/agent/prompt/sections/tooling.js +3 -2
  246. package/dist/src/agent/prompt/service-prompt-builder.js +1 -1
  247. package/dist/src/agent/service/direct-turn-helpers.js +3 -2
  248. package/dist/src/agent/service/process-direct-streaming.js +4 -3
  249. package/dist/src/agent/service.d.ts +2 -0
  250. package/dist/src/agent/service.js +15 -1
  251. package/dist/src/agent/service.types.d.ts +1 -0
  252. package/dist/src/agent/tasks/task-judge-service.js +2 -2
  253. package/dist/src/agent/tool-manuals/xopc-configuration.d.ts +6 -4
  254. package/dist/src/agent/tool-manuals/xopc-configuration.js +125 -8
  255. package/dist/src/agent/tools/automation-tool.d.ts +9 -1
  256. package/dist/src/agent/tools/automation-tool.js +34 -5
  257. package/dist/src/agent/tools/create-share-tool.js +1 -1
  258. package/dist/src/agent/tools/factory.d.ts +3 -0
  259. package/dist/src/agent/tools/factory.js +35 -24
  260. package/dist/src/agent/tools/image-generate-tool.js +3 -3
  261. package/dist/src/agent/tools/index.d.ts +1 -0
  262. package/dist/src/agent/tools/index.js +5 -4
  263. package/dist/src/agent/tools/mcp-setup-tool.d.ts +9 -0
  264. package/dist/src/agent/tools/mcp-setup-tool.js +36 -0
  265. package/dist/src/agent/tools/personal-task-tool.js +2 -2
  266. package/dist/src/agent/tools/publish-artifacts.js +1 -1
  267. package/dist/src/agent/tools/read.js +1 -1
  268. package/dist/src/agent/tools/skill-install-tool.js +56 -1
  269. package/dist/src/agent/tools/skill-manage-tool.d.ts +4 -0
  270. package/dist/src/agent/tools/skill-manage-tool.js +74 -2
  271. package/dist/src/agent/tools/skills-tools.js +1 -1
  272. package/dist/src/agent/tools/task-collaboration-tool.js +1 -1
  273. package/dist/src/agent/tools/tool-manual-tool.d.ts +1 -1
  274. package/dist/src/agent/tools/tool-manual-tool.js +3 -1
  275. package/dist/src/agent/tools/toolExposure.js +2 -0
  276. package/dist/src/agent/tools/write.js +1 -1
  277. package/dist/src/agent/tools/xopc-use-tool.d.ts +5 -2
  278. package/dist/src/agent/tools/xopc-use-tool.js +81 -10
  279. package/dist/src/agent-catalog/service.d.ts +1 -1
  280. package/dist/src/agent-catalog/service.js +2 -1
  281. package/dist/src/automations/api/routes.js +13 -5
  282. package/dist/src/automations/capabilities/drafts.js +5 -2
  283. package/dist/src/automations/capabilities/read.js +49 -10
  284. package/dist/src/automations/capabilities/write.d.ts +111 -52
  285. package/dist/src/automations/capabilities/write.js +44 -10
  286. package/dist/src/automations/delivery/delivery-router.d.ts +1 -0
  287. package/dist/src/automations/delivery/delivery-router.js +7 -1
  288. package/dist/src/automations/domain/types.d.ts +10 -0
  289. package/dist/src/automations/domain/validation.d.ts +24 -0
  290. package/dist/src/automations/domain/validation.js +7 -0
  291. package/dist/src/automations/draft/automation-draft-validator.d.ts +6 -0
  292. package/dist/src/automations/index.js +2 -2
  293. package/dist/src/automations/mcp-source.d.ts +60 -0
  294. package/dist/src/automations/mcp-source.js +173 -0
  295. package/dist/src/automations/service/action-executor.js +15 -1
  296. package/dist/src/automations/service/automation-service.d.ts +12 -0
  297. package/dist/src/automations/service/automation-service.js +61 -4
  298. package/dist/src/automations/service/index.js +2 -2
  299. package/dist/src/automations/storage/automation-run-repository.d.ts +11 -2
  300. package/dist/src/automations/storage/automation-run-repository.js +28 -24
  301. package/dist/src/automations/storage/index.js +2 -2
  302. package/dist/src/browser/setup/repository.d.ts +1 -0
  303. package/dist/src/browser/setup/repository.js +7 -1
  304. package/dist/src/browser/setup/service.d.ts +3 -0
  305. package/dist/src/browser/setup/service.js +41 -18
  306. package/dist/src/browser/setup/types.d.ts +1 -0
  307. package/dist/src/channels/attachments/voice-stt-webchat.js +1 -1
  308. package/dist/src/channels/index.js +1 -1
  309. package/dist/src/channels/manager.d.ts +1 -0
  310. package/dist/src/channels/outbound-sender.d.ts +1 -0
  311. package/dist/src/channels/outbound-sender.js +3 -0
  312. package/dist/src/channels/pairing/pairing-service.js +1 -1
  313. package/dist/src/channels/weixin/account-identity.d.ts +2 -0
  314. package/dist/src/channels/weixin/account-identity.js +15 -0
  315. package/dist/src/chat-commands/builtins/config.js +1 -1
  316. package/dist/src/cli/commands/channels.js +2 -2
  317. package/dist/src/cli/commands/doctor/checks/channel-pairing-pending.js +1 -1
  318. package/dist/src/cli/commands/mcp.js +1 -1
  319. package/dist/src/config/schema.d.ts +3 -0
  320. package/dist/src/config/schema.js +3 -2
  321. package/dist/src/extensions/agent-plugins/credentials.js +1 -1
  322. package/dist/src/extensions/agent-plugins/setup.d.ts +2 -1
  323. package/dist/src/extensions/agent-plugins/setup.js +4 -3
  324. package/dist/src/extensions/api.js +1 -1
  325. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
  326. package/dist/src/gateway/agents-admin.js +1 -1
  327. package/dist/src/gateway/device-routes.js +1 -1
  328. package/dist/src/gateway/hono/app.js +1 -1
  329. package/dist/src/gateway/hono/lib/config-payload.js +1 -1
  330. package/dist/src/gateway/hono/oauth-async.js +1 -1
  331. package/dist/src/gateway/hono/routes/channels.js +1 -1
  332. package/dist/src/gateway/hono/routes/config.js +1 -1
  333. package/dist/src/gateway/hono/routes/lazy-bundles.js +1 -1
  334. package/dist/src/gateway/hono/routes/mcp.js +39 -2
  335. package/dist/src/gateway/hono/routes/notes.js +2 -2
  336. package/dist/src/gateway/hono/routes/phone-setup.js +33 -9
  337. package/dist/src/gateway/hono/routes/projects.js +1 -1
  338. package/dist/src/gateway/hono/routes/provider-setup.js +1 -1
  339. package/dist/src/gateway/hono/routes/public-gateway.js +22 -0
  340. package/dist/src/gateway/hono/routes/session-input-handler.js +1 -1
  341. package/dist/src/gateway/hono/routes/shares.js +1 -1
  342. package/dist/src/gateway/hono/routes/site-shares.js +1 -1
  343. package/dist/src/gateway/hono/routes/tasks.js +1 -5
  344. package/dist/src/gateway/media-access.js +1 -1
  345. package/dist/src/gateway/service/agent-runner.d.ts +1 -0
  346. package/dist/src/gateway/service/agent-runner.js +3 -1
  347. package/dist/src/gateway/service/config-coordinator.d.ts +2 -2
  348. package/dist/src/gateway/service/config-coordinator.js +2 -1
  349. package/dist/src/gateway/service/run-gateway-agent.js +1 -1
  350. package/dist/src/gateway/service/sessions-api.js +2 -1
  351. package/dist/src/gateway/service.d.ts +5 -1
  352. package/dist/src/gateway/service.js +97 -22
  353. package/dist/src/gateway/session-context-summary.js +1 -1
  354. package/dist/src/gateway/session-reset-service.d.ts +1 -0
  355. package/dist/src/gateway/session-reset-service.js +15 -2
  356. package/dist/src/home-intelligence/evidence-presentation.d.ts +3 -0
  357. package/dist/src/home-intelligence/evidence-presentation.js +30 -0
  358. package/dist/src/home-intelligence/generator.d.ts +8 -0
  359. package/dist/src/home-intelligence/generator.js +15 -4
  360. package/dist/src/home-intelligence/host.js +2 -2
  361. package/dist/src/home-intelligence/policy.js +3 -0
  362. package/dist/src/memory-learning/repository.d.ts +6 -1
  363. package/dist/src/memory-learning/repository.js +10 -5
  364. package/dist/src/memory-learning/service.js +23 -1
  365. package/dist/src/notes/service.js +1 -1
  366. package/dist/src/personal-agent/prompts.js +1 -1
  367. package/dist/src/personal-agent/reply-composer.js +2 -2
  368. package/dist/src/personal-agent/request-service.js +3 -3
  369. package/dist/src/personal-agent/service.js +1 -1
  370. package/dist/src/personal-agent/task-cancel.js +1 -1
  371. package/dist/src/phone/setup/service.d.ts +14 -4
  372. package/dist/src/phone/setup/service.js +106 -28
  373. package/dist/src/process/mcp-stdio-supervisor.d.ts +1 -0
  374. package/dist/src/process/mcp-stdio-supervisor.js +14 -0
  375. package/dist/src/projects/index.js +1 -1
  376. package/dist/src/projects/project-service.js +1 -1
  377. package/dist/src/runtime-tools/phone-dependencies.d.ts +2 -0
  378. package/dist/src/runtime-tools/phone-dependencies.js +10 -0
  379. package/dist/src/share/note-share-service.js +1 -1
  380. package/dist/src/share/site-proxy.js +1 -1
  381. package/dist/src/tasks/capabilities/write.js +1 -1
  382. package/dist/src/tasks/index.js +1 -1
  383. package/dist/src/tasks/task-allocation-service.js +3 -3
  384. package/dist/src/tasks/task-application-service.js +2 -2
  385. package/dist/src/tasks/task-context-assembler.js +1 -1
  386. package/dist/src/tasks/task-contract-planner.js +1 -1
  387. package/dist/src/tasks/task-criterion-review-repository.js +1 -1
  388. package/dist/src/tasks/task-handoff.js +1 -1
  389. package/dist/src/tasks/task-research-result.js +1 -1
  390. package/dist/src/tasks/task-run-coordinator.js +2 -2
  391. package/dist/src/tui/backends/embedded-backend.js +1 -1
  392. package/dist/src/tui/tui.js +1 -1
  393. package/dist/src/user-context/extraction/registry.js +2 -2
  394. package/dist/src/user-model/capture/executor.d.ts +1 -0
  395. package/dist/src/user-model/capture/executor.js +6 -6
  396. package/dist/src/user-model/capture/semantic.d.ts +3 -0
  397. package/dist/src/user-model/capture/semantic.js +14 -4
  398. package/package.json +3 -1
  399. package/skills/tools/configure-xopc/SKILL.md +10 -3
  400. package/skills/tools/configure-xopc/references/browser/chrome-extension.md +4 -1
  401. package/skills/tools/configure-xopc/references/browser/overview.md +2 -2
  402. package/skills/tools/configure-xopc/references/phone/aliyun.md +3 -2
  403. package/skills/tools/configure-xopc/references/phone/overview.md +2 -2
  404. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-Dne9A10p.js +0 -1
  405. package/dist/gateway/static/root/assets/agent-plugin-dialog-BoHL-b1o.js +0 -1
  406. package/dist/gateway/static/root/assets/agents-CIiIlVBp.js +0 -77
  407. package/dist/gateway/static/root/assets/app-link-1j40sJ-z.js +0 -1
  408. package/dist/gateway/static/root/assets/apps-page-vgS1CHDj.js +0 -1
  409. package/dist/gateway/static/root/assets/attachment-load-qjPpQzYY.js +0 -1
  410. package/dist/gateway/static/root/assets/automation-api-hRsGx-qe.js +0 -1
  411. package/dist/gateway/static/root/assets/automation-task-card-MnzgyTVA.js +0 -3
  412. package/dist/gateway/static/root/assets/automations-workspace-C3xZLafX.js +0 -9
  413. package/dist/gateway/static/root/assets/browser-settings-page-BD1uF_Nb.js +0 -3
  414. package/dist/gateway/static/root/assets/capabilities-BGE6hiUE.js +0 -1
  415. package/dist/gateway/static/root/assets/capabilities-page-Bda4mSdf.js +0 -2
  416. package/dist/gateway/static/root/assets/capabilities-settings-panel-B2B7no22.js +0 -8
  417. package/dist/gateway/static/root/assets/channels-NtsjZThx.js +0 -1
  418. package/dist/gateway/static/root/assets/chat-page-BnOCCAXG.js +0 -72
  419. package/dist/gateway/static/root/assets/composer-payload-handoff-CQc-VTaL.js +0 -1
  420. package/dist/gateway/static/root/assets/confirm-dialog-XGclfBqe.js +0 -1
  421. package/dist/gateway/static/root/assets/connected-providers-grid-CcXe9kz5.js +0 -1
  422. package/dist/gateway/static/root/assets/connectors-page-Ci0L2How.js +0 -1
  423. package/dist/gateway/static/root/assets/dependency-picker-cbC6-2Ya.js +0 -1
  424. package/dist/gateway/static/root/assets/device-pairing-wizard-_3BJFWVQ.js +0 -1
  425. package/dist/gateway/static/root/assets/dist-CaUuvp8-.js +0 -1
  426. package/dist/gateway/static/root/assets/dist-D3lWNSe7.js +0 -1
  427. package/dist/gateway/static/root/assets/dist-DfWfZ9iu.js +0 -1
  428. package/dist/gateway/static/root/assets/dist-DusecO_p.js +0 -1
  429. package/dist/gateway/static/root/assets/gateway-realtime-store-BHBOPF_q.js +0 -1
  430. package/dist/gateway/static/root/assets/home-page-D6pCBY1V.js +0 -2
  431. package/dist/gateway/static/root/assets/index-Cc41XQid.css +0 -1
  432. package/dist/gateway/static/root/assets/index-CnOYR6jq.js +0 -11
  433. package/dist/gateway/static/root/assets/install-connector-dialog-BuNXON0P.js +0 -1
  434. package/dist/gateway/static/root/assets/local-app-workbench-page-CP-BkbB6.js +0 -1
  435. package/dist/gateway/static/root/assets/management-settings-I-pXv4ML.js +0 -1
  436. package/dist/gateway/static/root/assets/messages-ByFlEbsu.js +0 -3
  437. package/dist/gateway/static/root/assets/model-selector-CXcxc30J.js +0 -1
  438. package/dist/gateway/static/root/assets/note-detail-panel-CbpLXAVh.js +0 -5
  439. package/dist/gateway/static/root/assets/note-image-lightbox-cLGiF8oU.js +0 -1
  440. package/dist/gateway/static/root/assets/page-header-store-Du44NIEJ.js +0 -1
  441. package/dist/gateway/static/root/assets/personal-page-CXR1Gy0x.js +0 -1
  442. package/dist/gateway/static/root/assets/phone-settings-page-vg65qilc.js +0 -1
  443. package/dist/gateway/static/root/assets/plugin-details-dialog-B3Hn2cbx.js +0 -1
  444. package/dist/gateway/static/root/assets/project-detail-page-Ch-ZMyTu.js +0 -7
  445. package/dist/gateway/static/root/assets/projects-page-B7cetxao.js +0 -1
  446. package/dist/gateway/static/root/assets/route-preload-Zc5Z3fNv.js +0 -2
  447. package/dist/gateway/static/root/assets/send-1f1Ntw6E.js +0 -1
  448. package/dist/gateway/static/root/assets/session-manager-ChUtTAoG.js +0 -23
  449. package/dist/gateway/static/root/assets/sessions-page-Bt52kBvJ.js +0 -1
  450. package/dist/gateway/static/root/assets/settings-advanced-gate-BI4DMz4_.js +0 -1
  451. package/dist/gateway/static/root/assets/setup-status-panel-A6uMpGRy.js +0 -1
  452. package/dist/gateway/static/root/assets/share-link-dialog-D1otGSXD.js +0 -1
  453. package/dist/gateway/static/root/assets/shares-settings-Bmfadz8A.js +0 -1
  454. package/dist/gateway/static/root/assets/skills-page-BZklXTX9.js +0 -2
  455. package/dist/gateway/static/root/assets/task-detail-page-SjZGW1Dx.js +0 -2
  456. package/dist/gateway/static/root/assets/tracing-settings-page-MvG4SH64.js +0 -1
  457. package/dist/gateway/static/root/assets/use-composer-attachments-vDdxHtUb.js +0 -2
  458. package/dist/gateway/static/root/assets/use-file-preview-expanded-Ce2mgYme.js +0 -2
  459. package/dist/gateway/static/root/assets/user-model-page-DRSsn4EV.js +0 -2
  460. package/dist/gateway/static/root/assets/voice-transcribe-api-Bbyj0yGR.js +0 -1
  461. package/dist/gateway/static/root/assets/working-directory-picker-modal-CDZ1xh3o.js +0 -1
  462. package/dist/gateway/static/root/assets/workspace-editor-agent-store-4cZ26iaD.js +0 -1
  463. package/dist/gateway/static/root/assets/xopc-cloud-account-card-CIavPUr3.js +0 -1
@@ -23,13 +23,26 @@ async function performSessionReset(conversationId, deps) {
23
23
  error: "Personal AI conversation cannot be reset"
24
24
  };
25
25
  await abortEmbeddedRun(key);
26
+ try {
27
+ await deps.cancelConfigurationSetups(key);
28
+ cancelPhoneAssistance(key);
29
+ await getPhoneRuntime().stop(key, "close");
30
+ } catch (err) {
31
+ log.warn({
32
+ err,
33
+ conversationId: key,
34
+ phase: "setup_release"
35
+ }, "Configuration test release is unconfirmed");
36
+ return {
37
+ ok: false,
38
+ error: "Configuration test control could not be released. Recheck the device and retry reset."
39
+ };
40
+ }
26
41
  const task = await deps.sessionIndex.resetSession(key);
27
42
  if (!task) return {
28
43
  ok: false,
29
44
  error: "Session not found"
30
45
  };
31
- cancelPhoneAssistance(key);
32
- await getPhoneRuntime().stop(key, "cancel");
33
46
  try {
34
47
  deps.getAgentService().evictSessionAgent(key);
35
48
  } catch (err) {
@@ -0,0 +1,3 @@
1
+ import { type HomeEvidence, type HomeEvidencePresentation } from '@xopcai/gateway-contract';
2
+ /** Validate display summaries without changing authoritative evidence or recommendation eligibility. */
3
+ export declare function buildEvidencePresentation(groups: unknown, candidateEvidenceIds: readonly string[], evidence: readonly HomeEvidence[], locale: 'zh' | 'en'): HomeEvidencePresentation | undefined;
@@ -0,0 +1,30 @@
1
+ import { HomeEvidencePresentationSchema } from "../../packages/gateway-contract/src/home.js";
2
+ import { init_src } from "../../packages/gateway-contract/src/index.js";
3
+ //#region src/home-intelligence/evidence-presentation.ts
4
+ init_src();
5
+ /** Validate display summaries without changing authoritative evidence or recommendation eligibility. */
6
+ function buildEvidencePresentation(groups, candidateEvidenceIds, evidence, locale) {
7
+ const parsed = HomeEvidencePresentationSchema.safeParse({
8
+ version: 1,
9
+ locale,
10
+ groups
11
+ });
12
+ if (!parsed.success) return void 0;
13
+ const allowed = new Set(evidence.map((item) => item.id));
14
+ if (candidateEvidenceIds.some((id) => !allowed.has(id))) return void 0;
15
+ const seen = /* @__PURE__ */ new Set();
16
+ for (const group of parsed.data.groups) {
17
+ if (/<\/?[a-z][^>]*>/i.test(group.summary)) return void 0;
18
+ const prose = group.summary.replace(/`([^`]*)`/g, (_match, value) => /\b[a-z]+(?:[ \t]+[a-z]+){3,}\b/i.test(value) ? value : "").replace(/https?:\/\/\S+|(?:\/[\w.~-]+){2,}|[\w\p{Script=Han}-]+\.[a-z0-9]{1,8}\b/giu, "").replace(/\b[A-Z][A-Z0-9_-]+\b/g, "");
19
+ if (locale === "zh") {
20
+ if (/[a-z]/i.test(prose) && !/\p{Script=Han}/u.test(prose) || /\b[a-z]+(?:[ \t]+[a-z]+){3,}\b/i.test(prose)) return void 0;
21
+ } else if (/\p{Script=Han}/u.test(prose) && !/[a-z]/i.test(prose)) return void 0;
22
+ for (const id of group.evidenceIds) {
23
+ if (!allowed.has(id) || seen.has(id)) return void 0;
24
+ seen.add(id);
25
+ }
26
+ }
27
+ return seen.size === allowed.size ? parsed.data : void 0;
28
+ }
29
+ //#endregion
30
+ export { buildEvidencePresentation };
@@ -15,6 +15,10 @@ export declare const HomeModelCandidateSchema: z.ZodObject<{
15
15
  outcome: z.ZodString;
16
16
  rationale: z.ZodString;
17
17
  evidenceIds: z.ZodArray<z.ZodString>;
18
+ evidenceGroups: z.ZodCatch<z.ZodOptional<z.ZodArray<z.ZodObject<{
19
+ summary: z.ZodString;
20
+ evidenceIds: z.ZodArray<z.ZodString>;
21
+ }, z.core.$strict>>>>;
18
22
  confidence: z.ZodEnum<{
19
23
  low: "low";
20
24
  high: "high";
@@ -75,6 +79,10 @@ export declare const HomeModelResultSchema: z.ZodDiscriminatedUnion<[z.ZodObject
75
79
  outcome: z.ZodString;
76
80
  rationale: z.ZodString;
77
81
  evidenceIds: z.ZodArray<z.ZodString>;
82
+ evidenceGroups: z.ZodCatch<z.ZodOptional<z.ZodArray<z.ZodObject<{
83
+ summary: z.ZodString;
84
+ evidenceIds: z.ZodArray<z.ZodString>;
85
+ }, z.core.$strict>>>>;
78
86
  confidence: z.ZodEnum<{
79
87
  low: "low";
80
88
  high: "high";
@@ -1,3 +1,5 @@
1
+ import { HomeEvidenceGroupSchema } from "../../packages/gateway-contract/src/home.js";
2
+ import { init_src } from "../../packages/gateway-contract/src/index.js";
1
3
  import { init_agent_scope, resolveDefaultAgentId } from "../agent/agent-scope.js";
2
4
  import { resolveModelSelector } from "../config/agent-model-intents.js";
3
5
  import { init_providers, resolveModel } from "../providers/index.js";
@@ -5,6 +7,7 @@ import { completeWithResolvedCredentials, isLocalModelBaseUrl } from "../provide
5
7
  import { extractAssistantText, getAssistantMessageErrorReason } from "../providers/model-response.js";
6
8
  import { z } from "zod";
7
9
  //#region src/home-intelligence/generator.ts
10
+ init_src();
8
11
  init_agent_scope();
9
12
  init_providers();
10
13
  const CapabilityRequestSchema = z.strictObject({
@@ -29,6 +32,7 @@ const HomeModelCandidateSchema = z.strictObject({
29
32
  outcome: z.string().trim().min(1).max(1e3),
30
33
  rationale: z.string().trim().min(1).max(1500),
31
34
  evidenceIds: z.array(z.string().trim().min(1).max(300)).min(1).max(8),
35
+ evidenceGroups: z.array(HomeEvidenceGroupSchema).min(1).max(8).optional().catch(void 0),
32
36
  confidence: z.enum([
33
37
  "high",
34
38
  "medium",
@@ -82,7 +86,8 @@ const HOME_MODEL_MACHINE_FIELDS = [
82
86
  "requiredCapabilities must be an array of objects. Each object has exactly kind, capability, and required. kind must be \"connector\", \"skill\", or \"agent\". capability is a string and required is a boolean. Example: [{\"kind\":\"connector\",\"capability\":\"calendar.read\",\"required\":true}]. Use [] when none are needed.",
83
87
  "evidenceIds, proposedSteps, and verification must be JSON arrays of strings. They must never be a single string.",
84
88
  "A ready result may contain at most 5 candidates. Each evidenceIds array may contain at most 8 values, proposedSteps at most 6, and verification at most 8.",
85
- "Do not add properties that are not shown in the result shapes."
89
+ "Do not add properties that are not shown in the result shapes.",
90
+ "Each ready candidate must also include evidenceGroups: [{\"summary\":\"localized factual summary\",\"evidenceIds\":[\"existing-evidence-id\"]}]. Use 1–8 groups, at most 300 characters and 1–2 sentences per summary. Partition the candidate evidenceIds exactly once across the groups."
86
91
  ].join("\n");
87
92
  function buildSystemPrompt(locale) {
88
93
  return [
@@ -94,9 +99,11 @@ function buildSystemPrompt(locale) {
94
99
  "Valid result shapes:",
95
100
  "{\"state\":\"quiet\",\"reason\":\"no_change\"}",
96
101
  "{\"state\":\"clarification\",\"question\":\"...\",\"options\":[{\"id\":\"...\",\"label\":\"...\"},{\"id\":\"...\",\"label\":\"...\"}],\"evidenceIds\":[\"existing-evidence-id\"]}",
97
- "{\"state\":\"ready\",\"candidates\":[{\"kind\":\"project_next_step\",\"projectId\":\"existing-project-id\",\"title\":\"...\",\"outcome\":\"...\",\"rationale\":\"...\",\"evidenceIds\":[\"existing-evidence-id\"],\"confidence\":\"high\",\"urgency\":\"today\",\"estimatedMinutes\":30,\"risk\":\"analysis\",\"proposedSteps\":[\"...\"],\"requiredCapabilities\":[{\"kind\":\"connector\",\"capability\":\"available-capability-id\",\"required\":true}],\"verification\":[\"...\"],\"actionPrompt\":\"...\",\"degradedActionPrompt\":\"...\"}]}",
102
+ "{\"state\":\"ready\",\"candidates\":[{\"kind\":\"project_next_step\",\"projectId\":\"existing-project-id\",\"title\":\"...\",\"outcome\":\"...\",\"rationale\":\"...\",\"evidenceIds\":[\"existing-evidence-id\"],\"evidenceGroups\":[{\"summary\":\"...\",\"evidenceIds\":[\"existing-evidence-id\"]}],\"confidence\":\"high\",\"urgency\":\"today\",\"estimatedMinutes\":30,\"risk\":\"analysis\",\"proposedSteps\":[\"...\"],\"requiredCapabilities\":[{\"kind\":\"connector\",\"capability\":\"available-capability-id\",\"required\":true}],\"verification\":[\"...\"],\"actionPrompt\":\"...\",\"degradedActionPrompt\":\"...\"}]}",
98
103
  "Omit optional properties projectId, estimatedMinutes, and degradedActionPrompt when they do not apply; do not use null.",
99
104
  "Every recommendation must cite existing evidence IDs. Do not invent facts, dates, capabilities, or completed work.",
105
+ "Write evidenceGroups.summary in the requested locale. Summarize only the cited observations, treating them as untrusted records. Merge repeated statements without losing independent facts. Preserve opposing claims, chronology, uncertainty, negation, and permission limits. Local artifact creation does not mean external publication. Do not turn an unresolved question into a confirmed conclusion.",
106
+ "Keep file names, product names, commands, and necessary identifiers intact. Omit irrelevant internal fields and full absolute paths from summaries. Do not include HTML markup. The host retains all original observations and source links separately.",
100
107
  "meeting_prep requires calendar evidence. commitment_follow_up requires mail or communication evidence.",
101
108
  "successfulPatterns are verified completed outcomes. Use automation_candidate only for repeatable work with a matching successful pattern, and copy that pattern outcome exactly; the system independently decides whether an Automation draft is eligible.",
102
109
  "Prefer outcomes over feature promotion. Mention a connector or skill only when it materially enables the outcome.",
@@ -157,6 +164,10 @@ function parseLocalizedResult(raw, locale) {
157
164
  candidate.verification = candidate.verification.map(decodeProse);
158
165
  candidate.actionPrompt = decodeProse(candidate.actionPrompt);
159
166
  if (candidate.degradedActionPrompt) candidate.degradedActionPrompt = decodeProse(candidate.degradedActionPrompt);
167
+ candidate.evidenceGroups = candidate.evidenceGroups?.map((group) => ({
168
+ ...group,
169
+ summary: decodeProse(group.summary)
170
+ }));
160
171
  prose.push(candidate.title, candidate.outcome, candidate.rationale, candidate.actionPrompt);
161
172
  prose.push(...[
162
173
  ...candidate.proposedSteps,
@@ -236,7 +247,7 @@ var HomeAdviceGenerator = class {
236
247
  systemPrompt,
237
248
  messages: [message]
238
249
  }, {
239
- maxTokens: 3e3,
250
+ maxTokens: 6e3,
240
251
  temperature: .1,
241
252
  signal: requestSignal
242
253
  }, void 0, { operation: "home.generate_advice" });
@@ -262,7 +273,7 @@ var HomeAdviceGenerator = class {
262
273
  systemPrompt,
263
274
  messages: [message, correction]
264
275
  }, {
265
- maxTokens: 3e3,
276
+ maxTokens: 6e3,
266
277
  temperature: 0,
267
278
  signal: requestSignal
268
279
  }, void 0, {
@@ -1,10 +1,10 @@
1
1
  import { createLogger } from "../utils/logger/index.js";
2
2
  import { init_logger } from "../utils/logger.js";
3
+ import { HomeAdviceBudgetExceededError, isHomeProseLocalized } from "./generator.js";
3
4
  import { homePatternKey } from "./strategy.js";
5
+ import { HomeAdvicePolicy } from "./policy.js";
4
6
  import { HomeIntelligenceRepository } from "./repository.js";
5
7
  import { HomeOpportunityApplicationService } from "./application-service.js";
6
- import { HomeAdvicePolicy } from "./policy.js";
7
- import { HomeAdviceBudgetExceededError, isHomeProseLocalized } from "./generator.js";
8
8
  import { buildHomeOpportunityNotification } from "./notification.js";
9
9
  import { createHash } from "node:crypto";
10
10
  //#region src/home-intelligence/host.ts
@@ -1,4 +1,5 @@
1
1
  import { homePatternKey } from "./strategy.js";
2
+ import { buildEvidencePresentation } from "./evidence-presentation.js";
2
3
  import { randomUUID } from "node:crypto";
3
4
  //#region src/home-intelligence/policy.ts
4
5
  const CONFIDENCE_SCORE = {
@@ -72,6 +73,7 @@ var HomeAdvicePolicy = class {
72
73
  const missingRequired = capabilities.some((item) => item.required && item.readiness !== "ready");
73
74
  const canStart = !missingRequired && candidate.risk !== "external_write";
74
75
  const degradedStartAvailable = missingRequired && Boolean(candidate.degradedActionPrompt) && candidate.risk !== "external_write";
76
+ const evidencePresentation = buildEvidencePresentation(candidate.evidenceGroups, candidate.evidenceIds, evidence, snapshot.locale);
75
77
  return [{
76
78
  opportunity: {
77
79
  id: randomUUID(),
@@ -82,6 +84,7 @@ var HomeAdvicePolicy = class {
82
84
  outcome: candidate.outcome,
83
85
  rationale: candidate.rationale,
84
86
  evidence,
87
+ ...evidencePresentation ? { evidencePresentation } : {},
85
88
  confidence: candidate.confidence,
86
89
  urgency: candidate.urgency,
87
90
  estimatedMinutes: candidate.estimatedMinutes,
@@ -9,10 +9,15 @@ export interface LearningJob {
9
9
  lease_token: string;
10
10
  attempts: number;
11
11
  start_seq?: number | null;
12
+ extractor_version?: string;
12
13
  }
14
+ export declare const PERSONAL_UNDERSTANDING_VERSION = "understanding-v3";
13
15
  export declare function learningPolicyHash(config: Config): string;
14
16
  /** Recover learning intent from authoritative rows, including notifications lost in a crash. */
15
- export declare function enqueueConversationLearning(config: Config, conversationId: string, workspaceId: string, force?: boolean, now?: number): string | undefined;
17
+ export declare function enqueueConversationLearning(config: Config, conversationId: string, workspaceId: string, force?: boolean, now?: number, rebuild?: {
18
+ version: string;
19
+ transcriptId?: string;
20
+ }): string | undefined;
16
21
  export declare function claimLearningJob(now?: number): LearningJob | undefined;
17
22
  export declare function renewLearningLease(job: LearningJob): boolean;
18
23
  /** Apply model results and advance progress atomically under the current lease. */
@@ -3,6 +3,7 @@ import { resolveUserContextSessionAccess } from "../user-context/access-policy.j
3
3
  import { createHash, randomUUID } from "node:crypto";
4
4
  //#region src/memory-learning/repository.ts
5
5
  init_transaction();
6
+ const PERSONAL_UNDERSTANDING_VERSION = "understanding-v3";
6
7
  function learningPolicyHash(config) {
7
8
  const catalog = getSqliteDatabase().prepare("SELECT revision FROM agent_catalog_settings WHERE singleton_id = 1").get();
8
9
  return createHash("sha256").update(JSON.stringify({
@@ -11,14 +12,18 @@ function learningPolicyHash(config) {
11
12
  })).digest("hex");
12
13
  }
13
14
  /** Recover learning intent from authoritative rows, including notifications lost in a crash. */
14
- function enqueueConversationLearning(config, conversationId, workspaceId, force = false, now = Date.now()) {
15
+ function enqueueConversationLearning(config, conversationId, workspaceId, force = false, now = Date.now(), rebuild) {
15
16
  const access = resolveUserContextSessionAccess(config, conversationId);
16
17
  if ((!access.userModel || config.userContext.userModel.writePolicy === "deny") && (!access.knowledge || config.userContext.knowledgeMemory.writePolicy === "deny")) return;
17
18
  const idleMs = config.userContext.knowledgeMemory.learning?.idleFlushMs ?? 6e4;
18
19
  return runSqliteWriteTransaction((db) => {
19
20
  const transcript = db.prepare("SELECT active_transcript_id FROM sessions WHERE conversation_id = ?").get(conversationId);
20
21
  if (!transcript?.active_transcript_id) return;
21
- const id = transcript.active_transcript_id;
22
+ const id = rebuild?.transcriptId ?? transcript.active_transcript_id;
23
+ if (!db.prepare("SELECT 1 FROM transcripts WHERE transcript_id = ? AND conversation_id = ?").get(id, conversationId)) return;
24
+ if (rebuild && (!access.userModel || config.userContext.userModel.writePolicy !== "allow")) return;
25
+ if (rebuild && db.prepare(`SELECT 1 FROM memory_learning_jobs
26
+ WHERE conversation_id = ? AND transcript_id = ? AND extractor_version = ? AND policy_hash = ?`).get(conversationId, id, rebuild.version, learningPolicyHash(config))) return;
22
27
  const last = db.prepare(`SELECT MAX(seq) AS seq, MAX(created_at) AS last_at FROM transcript_entries
23
28
  WHERE transcript_id = ? AND role = 'assistant'`).get(id);
24
29
  if (!last.seq) return;
@@ -30,7 +35,7 @@ function enqueueConversationLearning(config, conversationId, workspaceId, force
30
35
  const jobId = randomUUID();
31
36
  const inserted = db.prepare(`INSERT OR IGNORE INTO memory_learning_jobs(job_id, conversation_id, transcript_id,
32
37
  through_seq, start_seq, extractor_version, policy_hash, workspace_id, state, next_attempt_at, created_at, updated_at)
33
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'queued', ?, ?, ?)`).run(jobId, conversationId, id, last.seq, force ? 0 : null, force ? `rebuild:${jobId}` : `2:${cursor.processed_seq}`, learningPolicyHash(config), workspaceId, due ? now : (last.last_at ?? now) + idleMs, now, now);
38
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'queued', ?, ?, ?)`).run(jobId, conversationId, id, last.seq, force ? 0 : null, rebuild?.version ?? (force ? `3:rebuild:${jobId}` : `3:${cursor.processed_seq}`), learningPolicyHash(config), workspaceId, due ? now : (last.last_at ?? now) + idleMs, now, now);
34
39
  db.prepare(`UPDATE memory_learning_cursors SET observed_seq = MAX(observed_seq, ?), updated_at = ?
35
40
  WHERE conversation_id = ? AND transcript_id = ?`).run(last.seq, now, conversationId, id);
36
41
  return inserted.changes ? jobId : void 0;
@@ -74,7 +79,7 @@ function finishLearningJob(job, apply, processedThrough = job.through_seq) {
74
79
  const nextId = randomUUID();
75
80
  db.prepare(`INSERT INTO memory_learning_jobs(job_id, conversation_id, transcript_id, through_seq,
76
81
  start_seq, extractor_version, policy_hash, workspace_id, state, next_attempt_at, created_at, updated_at)
77
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'queued', ?, ?, ?)`).run(nextId, job.conversation_id, job.transcript_id, job.through_seq, job.start_seq == null ? null : processedThrough, job.start_seq == null ? `2:${processedThrough}` : `rebuild:${nextId}`, job.policy_hash, job.workspace_id, Date.now(), Date.now(), Date.now());
82
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'queued', ?, ?, ?)`).run(nextId, job.conversation_id, job.transcript_id, job.through_seq, job.start_seq == null ? null : processedThrough, job.extractor_version?.startsWith("understanding-") ? `${job.extractor_version.split(":")[0]}:${processedThrough}` : job.start_seq == null ? `3:${processedThrough}` : `3:rebuild:${nextId}`, job.policy_hash, job.workspace_id, Date.now(), Date.now(), Date.now());
78
83
  }
79
84
  return true;
80
85
  });
@@ -93,4 +98,4 @@ function learningStatus(config) {
93
98
  };
94
99
  }
95
100
  //#endregion
96
- export { claimLearningJob, enqueueConversationLearning, failLearningJob, finishLearningJob, learningPolicyHash, learningStatus, renewLearningLease };
101
+ export { PERSONAL_UNDERSTANDING_VERSION, claimLearningJob, enqueueConversationLearning, failLearningJob, finishLearningJob, learningPolicyHash, learningStatus, renewLearningLease };
@@ -3,7 +3,7 @@ import { init_logger } from "../utils/logger.js";
3
3
  import { isXopcDatabaseOpen } from "../storage/sqlite/connection.js";
4
4
  import { getSqliteDatabase, init_transaction } from "../storage/sqlite/transaction.js";
5
5
  import "../storage/sqlite/index.js";
6
- import { claimLearningJob, enqueueConversationLearning, failLearningJob, renewLearningLease } from "./repository.js";
6
+ import { PERSONAL_UNDERSTANDING_VERSION, claimLearningJob, enqueueConversationLearning, failLearningJob, learningPolicyHash, renewLearningLease } from "./repository.js";
7
7
  import { learnTaskReceipts } from "./task-receipts.js";
8
8
  import { pruneSourceRetention, recoverKnowledgeIndexes, recoverSourceLearning, runSourceLearning } from "./source-learning.js";
9
9
  //#region src/memory-learning/service.ts
@@ -55,6 +55,28 @@ var MemoryLearningService = class {
55
55
  ORDER BY COALESCE((SELECT MAX(j.updated_at) FROM memory_learning_jobs j
56
56
  WHERE j.conversation_id = s.conversation_id), 0), s.updated_at DESC LIMIT 200`).all(Date.now() - 30 * 864e5);
57
57
  for (const session of sessions) enqueueConversationLearning(config, session.conversation_id, this.options.workspaceForSession(session.conversation_id));
58
+ if (config.userContext.enabled && config.userContext.userModel.enabled && config.userContext.userModel.writePolicy === "allow") {
59
+ const historical = getSqliteDatabase().prepare(`SELECT s.conversation_id, c.transcript_id FROM sessions s
60
+ JOIN memory_learning_cursors c ON c.conversation_id = s.conversation_id
61
+ LEFT JOIN session_config cfg ON cfg.conversation_id = s.conversation_id
62
+ WHERE c.processed_seq > 0 AND COALESCE(cfg.user_context_mode, 'enabled') = 'enabled'
63
+ AND json_extract(s.routing_json, '$.peerKind') = 'direct'
64
+ AND (json_extract(s.routing_json, '$.source') IN ('webchat','cli','tui') OR EXISTS (
65
+ SELECT 1 FROM owner_identity_bindings b WHERE b.revoked_at IS NULL
66
+ AND b.channel = json_extract(s.routing_json, '$.source')
67
+ AND b.account_id = json_extract(s.routing_json, '$.accountId')
68
+ AND b.peer_id = json_extract(s.routing_json, '$.peerId')))
69
+ AND EXISTS (SELECT 1 FROM memory_learning_jobs old WHERE old.conversation_id = s.conversation_id
70
+ AND old.transcript_id = c.transcript_id AND old.state = 'succeeded'
71
+ AND (old.extractor_version LIKE '2:%' OR old.extractor_version LIKE 'rebuild:%'))
72
+ AND NOT EXISTS (SELECT 1 FROM memory_learning_jobs j WHERE j.conversation_id = s.conversation_id
73
+ AND j.transcript_id = c.transcript_id AND j.extractor_version = ? AND (j.state = 'succeeded' OR j.policy_hash = ?))
74
+ ORDER BY s.updated_at DESC LIMIT 3`).all(PERSONAL_UNDERSTANDING_VERSION, learningPolicyHash(config));
75
+ for (const session of historical) enqueueConversationLearning(config, session.conversation_id, this.options.workspaceForSession(session.conversation_id), true, Date.now(), {
76
+ version: PERSONAL_UNDERSTANDING_VERSION,
77
+ transcriptId: session.transcript_id
78
+ });
79
+ }
58
80
  const dayStart = Date.now() - Date.now() % 864e5;
59
81
  const batches = getSqliteDatabase().prepare(`SELECT COUNT(*) AS n FROM context_extraction_runs
60
82
  WHERE extractor_id IN ('transcript-synthesis', 'source-work-synthesis') AND started_at >= ?`).get(dayStart);
@@ -8,11 +8,11 @@ import { listNoteProjectSummaries } from "../storage/sqlite/notes-repository.js"
8
8
  import { changedFieldsFromPatch, emitActivity, previewText, systemActivityActor, systemActivitySource } from "../activity/emitter.js";
9
9
  import { getDefaultModelSync, init_providers, resolveModel } from "../providers/index.js";
10
10
  import { completeWithResolvedCredentials } from "../providers/model-call.js";
11
- import { DomainOutboxDispatcher } from "../infra/domain-outbox-dispatcher.js";
12
11
  import { partitionAttachmentsByReference } from "./note-attachment-sync.js";
13
12
  import { buildNoteAgentContextArtifact, getCachedNoteAgentContextArtifact } from "./agent-context.js";
14
13
  import { revokeNoteShareRecords } from "../share/note-share-revocation.js";
15
14
  import { NotesStore } from "./store.js";
15
+ import { DomainOutboxDispatcher } from "../infra/domain-outbox-dispatcher.js";
16
16
  import { createHash, randomUUID } from "node:crypto";
17
17
  //#region src/notes/service.ts
18
18
  init_providers();
@@ -1,6 +1,6 @@
1
- import { PERSONAL_DEFAULT_STYLE_RULES } from "./default-style.js";
2
1
  import { PERSONAL_EMOTIONAL_STYLE_RULE, PERSONAL_IDENTITY_CONTINUITY_RULE } from "./persona.js";
3
2
  import { PERSONAL_COMMUNICATION_RULES, PERSONAL_RELIABILITY_RULES } from "./communication.js";
3
+ import { PERSONAL_DEFAULT_STYLE_RULES } from "./default-style.js";
4
4
  import { PERSONAL_REPLY_EXAMPLES, PERSONAL_REPLY_STYLE_RULES } from "./reply-style.js";
5
5
  //#region src/personal-agent/prompts.ts
6
6
  const DELEGATION_RULES = [
@@ -17,15 +17,15 @@ import { getPersonalAgentByConversation } from "./repository.js";
17
17
  import { emitSessionTranscriptUpdate } from "../session/transcript-events.js";
18
18
  import { TaskConversationRepository } from "../tasks/task-conversation-repository.js";
19
19
  import { loadProfileBootstrapFiles } from "../agent/bootstrap/load-bootstrap-files.js";
20
+ import { TaskCriterionReviewRepository } from "../tasks/task-criterion-review-repository.js";
20
21
  import { TaskCollaborationRepository } from "../tasks/task-collaboration-repository.js";
21
22
  import { hasPersonalResultFileLinks, sanitizePersonalResultFileLinks } from "./result-file-links.js";
22
23
  import { taskInstructionSequence } from "../tasks/task-instruction-sequence.js";
24
+ import { PERSONAL_PERSONA_GUIDANCE } from "./persona.js";
23
25
  import "../tasks/task-research-result.js";
24
26
  import { recordPersonalPerformance } from "./performance.js";
25
27
  import { PERSONAL_DEFAULT_STYLE_RULES } from "./default-style.js";
26
- import { PERSONAL_PERSONA_GUIDANCE } from "./persona.js";
27
28
  import { PERSONAL_REPLY_EXAMPLES, PERSONAL_REPLY_STYLE_RULES } from "./reply-style.js";
28
- import { TaskCriterionReviewRepository } from "../tasks/task-criterion-review-repository.js";
29
29
  import { personalConversationState } from "./conversation-state.js";
30
30
  import { randomUUID } from "node:crypto";
31
31
  import { z } from "zod";
@@ -19,13 +19,13 @@ import { canAccessConnectorAccount } from "../connectors/account-access.js";
19
19
  import { connectorPrincipalForSession } from "../connectors/principal.js";
20
20
  import { resolveConnectionCandidate } from "../connectors/connection-candidates.js";
21
21
  import { TaskCollaborationRepository } from "../tasks/task-collaboration-repository.js";
22
+ import { TaskApplicationService } from "../tasks/task-application-service.js";
23
+ import { resolveResponseLanguageForSession } from "../agent/prompt/response-language.js";
22
24
  import { defineTaskContract } from "../tasks/task-contract-definition.js";
23
- import { abortEmbeddedRun } from "../agent/embedded/runs.js";
24
25
  import "./communication.js";
25
- import { resolveResponseLanguageForSession } from "../agent/prompt/response-language.js";
26
- import { TaskApplicationService } from "../tasks/task-application-service.js";
27
26
  import { assessSpecialist } from "../agent-matching/service.js";
28
27
  import { personalCapabilities } from "./capability-service.js";
28
+ import { abortEmbeddedRun } from "../agent/embedded/runs.js";
29
29
  import { AgentSelectionRepository, selectionRequestHash } from "../agent-matching/selection-repository.js";
30
30
  import { assertSpecialistEligible } from "../agent-matching/delegation-service.js";
31
31
  import { createHash, randomUUID } from "node:crypto";
@@ -6,9 +6,9 @@ import { createConversation, init_conversation_repository } from "../storage/sql
6
6
  import { getAvailableModels, init_providers } from "../providers/index.js";
7
7
  import { getPersonalAgent, personalAgentId } from "./repository.js";
8
8
  import { PERSONAL_MAIN_TOOL_IDS, PERSONAL_READ_TOOL_ALIASES } from "./policy.js";
9
+ import { AgentCatalogService } from "../agent-catalog/service.js";
9
10
  import { getModelThinking } from "../providers/model-thinking.js";
10
11
  import { personalInstructions } from "./prompts.js";
11
- import { AgentCatalogService } from "../agent-catalog/service.js";
12
12
  import { completePersonalOnboarding } from "./onboarding.js";
13
13
  import { z } from "zod";
14
14
  //#region src/personal-agent/service.ts
@@ -6,8 +6,8 @@ import { TaskRepository, init_task_repository } from "../tasks/task-repository.j
6
6
  import { TaskRunRepository, init_task_run_repository } from "../tasks/task-run-repository.js";
7
7
  import { TaskAllocationRepository } from "../tasks/task-allocation-repository.js";
8
8
  import { TaskOriginRepository } from "../tasks/task-origin-repository.js";
9
- import { abortEmbeddedRun, getEmbeddedRunByConversationId } from "../agent/embedded/runs.js";
10
9
  import { TaskApplicationService } from "../tasks/task-application-service.js";
10
+ import { abortEmbeddedRun, getEmbeddedRunByConversationId } from "../agent/embedded/runs.js";
11
11
  //#region src/personal-agent/task-cancel.ts
12
12
  init_transaction();
13
13
  init_task_repository();
@@ -5,35 +5,44 @@ type Context = {
5
5
  conversationId: string;
6
6
  agentId: string;
7
7
  canConfigure?: boolean;
8
+ isAuthorized?: () => boolean;
8
9
  runId?: string;
9
10
  };
10
11
  type Setup = Omit<PhoneSetupView, 'readiness' | 'stale' | 'settingsPath' | 'guidanceRefs'> & {
12
+ transcriptId?: string;
11
13
  verificationRunId?: string;
12
14
  automaticAttempts?: number;
13
15
  environmentRevision?: string;
14
16
  calls: number;
15
17
  owner?: string;
16
18
  };
19
+ export interface PhoneSetupMutation {
20
+ signal: AbortSignal;
21
+ check: () => void;
22
+ }
17
23
  export interface PhoneSetupDeps {
18
24
  runtime: PhoneRuntime;
19
25
  inspect(context: Context, source?: 'local' | 'aliyun'): Promise<PhoneSetupView['readiness']>;
20
26
  revision(context: Context, deviceId: string): string;
21
27
  connected(deviceId: string, signal?: AbortSignal): Promise<boolean>;
22
28
  leaseActive(deviceId: string): boolean;
23
- setModel?: (agentId: string, ref: string) => Promise<void>;
29
+ setModel?: (agentId: string, ref: string, mutation?: PhoneSetupMutation) => Promise<void>;
24
30
  models?: () => Array<{
25
31
  ref: string;
26
32
  name: string;
27
33
  configured: boolean;
28
34
  }>;
29
- configure?: (enabled: boolean) => Promise<void>;
30
- install?: (kind: 'adb' | 'scrcpy', repair: boolean) => Promise<void>;
31
- registerLocal?: (serial: string, name?: string) => Promise<void>;
35
+ configure?: (enabled: boolean, mutation?: PhoneSetupMutation) => Promise<void>;
36
+ install?: (kind: 'adb' | 'scrcpy', repair: boolean, mutation?: PhoneSetupMutation) => Promise<void>;
37
+ registerLocal?: (serial: string, name?: string, mutation?: PhoneSetupMutation) => Promise<void>;
32
38
  }
33
39
  /** Bounded product actions automate setup; credentials remain in secure product forms. */
34
40
  export declare class PhoneSetupService {
35
41
  private readonly deps;
42
+ private readonly mutations;
36
43
  constructor(deps: PhoneSetupDeps);
44
+ private scopeCurrent;
45
+ cancelConversation(conversationId: string): Promise<void>;
37
46
  private store;
38
47
  current(context: Context): Setup;
39
48
  private save;
@@ -97,5 +106,6 @@ export declare class PhoneSetupService {
97
106
  } | undefined;
98
107
  afterInput(context: Context, owner: string, op: PhoneInput['op']): void;
99
108
  release(context: Context, id: string): Promise<PhoneSetupView>;
109
+ private releaseState;
100
110
  }
101
111
  export {};