@xopcai/xopc 0.0.391 → 0.0.393

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 (633) hide show
  1. package/dist/browser-ext/dist/sidepanel.js +1 -1
  2. package/dist/browser-ext/manifest.json +1 -1
  3. package/dist/extensions/telegram/xopc.extension.json +1 -1
  4. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-CzS0TUv9.js → agent-avatar-dicebear-1AF2KGju.js} +1 -1
  5. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-CPJr7NRR.js +1 -0
  6. package/dist/gateway/static/root/assets/agent-plugin-dialog-cjJXJj_3.js +1 -0
  7. package/dist/gateway/static/root/assets/agents-DW3TlnIg.js +77 -0
  8. package/dist/gateway/static/root/assets/{agents-admin-api-Bb3Kvz3X.js → agents-admin-api-B5aykqg_.js} +1 -1
  9. package/dist/gateway/static/root/assets/app-link-BV_eGr7l.js +1 -0
  10. package/dist/gateway/static/root/assets/app-management-settings-panel-B_MFhXXU.js +1 -0
  11. package/dist/gateway/static/root/assets/appearance-settings-TYGidVnd.js +1 -0
  12. package/dist/gateway/static/root/assets/apps-page-DOkyvOF0.js +1 -0
  13. package/dist/gateway/static/root/assets/{archive-plugin-DFnHPNie.js → archive-plugin-BrFfEp0u.js} +1 -1
  14. package/dist/gateway/static/root/assets/{automations-page-CnBLPVNh.js → automations-page-B7OofUPF.js} +1 -1
  15. package/dist/gateway/static/root/assets/automations-workspace-DIod-bfm.js +6 -0
  16. package/dist/gateway/static/root/assets/{binary-plugins-BQC0Tzoi.js → binary-plugins-BfAWnYG8.js} +1 -1
  17. package/dist/gateway/static/root/assets/{block-editor-DSh5019z.js → block-editor-_Y-QwZ-3.js} +5 -5
  18. package/dist/gateway/static/root/assets/browser-automation-inputs-DH9QHI9m.js +1 -0
  19. package/dist/gateway/static/root/assets/browser-automations-page-B_SnD9B0.js +3 -0
  20. package/dist/gateway/static/root/assets/browser-settings-page-BPlqYpMM.js +3 -0
  21. package/dist/gateway/static/root/assets/capabilities-page-BtzZvMIK.js +2 -0
  22. package/dist/gateway/static/root/assets/capabilities-pt2M56-E.js +1 -0
  23. package/dist/gateway/static/root/assets/capabilities-settings-panel-WzoG3oBb.js +8 -0
  24. package/dist/gateway/static/root/assets/capability-header-actions-CFVx3iaZ.js +1 -0
  25. package/dist/gateway/static/root/assets/channels-BXA55GY2.js +1 -0
  26. package/dist/gateway/static/root/assets/chat-terminal-dock-D3GuiG3N.js +36 -0
  27. package/dist/gateway/static/root/assets/{chunk-KS7C4IRE--EKdQGRF.js → chunk-KS7C4IRE-B2HK1psj.js} +2 -2
  28. package/dist/gateway/static/root/assets/computer-settings-page-CIbHDlp8.js +1 -0
  29. package/dist/gateway/static/root/assets/connector-service-page-CDyCHkpK.js +1 -0
  30. package/dist/gateway/static/root/assets/connectors-page-DA2b6cJu.js +1 -0
  31. package/dist/gateway/static/root/assets/date-picker-C424c_g9.js +1 -0
  32. package/dist/gateway/static/root/assets/dependency-picker-BVJh9sYc.js +1 -0
  33. package/dist/gateway/static/root/assets/desktop-pet-Q52A8vjp.js +1 -0
  34. package/dist/gateway/static/root/assets/desktop-pet-settings-CZr1CXxu.js +1 -0
  35. package/dist/gateway/static/root/assets/desktop-pet-sprite-Bd-aOI7N.js +30 -0
  36. package/dist/gateway/static/root/assets/desktop-pet-sprite-BuB0g8zv.css +1 -0
  37. package/dist/gateway/static/root/assets/device-pairing-wizard-D_WWTsze.js +1 -0
  38. package/dist/gateway/static/root/assets/directory-picker-path-field-C6cUgrvg.js +1 -0
  39. package/dist/gateway/static/root/assets/echarts-runtime-tcHc9TOS.js +18 -0
  40. package/dist/gateway/static/root/assets/extension-debug-page-DyyfC4gA.js +1 -0
  41. package/dist/gateway/static/root/assets/extension-page-Dho9o3ZZ.js +1 -0
  42. package/dist/gateway/static/root/assets/extension-settings-page-CdnIGyCH.js +1 -0
  43. package/dist/gateway/static/root/assets/{gateway-config-swr-Dv_A5FMu.js → gateway-config-swr-BEePO3Wl.js} +1 -1
  44. package/dist/gateway/static/root/assets/{gateway-realtime-DghCGfY_.js → gateway-realtime-Dng_VOvI.js} +1 -1
  45. package/dist/gateway/static/root/assets/gateway-realtime-store-DtlBf7oH.js +1 -0
  46. package/dist/gateway/static/root/assets/gateway-settings-D0KSQRNZ.js +1 -0
  47. package/dist/gateway/static/root/assets/{gateway-startup-retry-CkTVSESs.js → gateway-startup-retry-CDCiy7Cd.js} +1 -1
  48. package/dist/gateway/static/root/assets/{highlighted-body-KQOG7T2V-DV2wNqBn.js → highlighted-body-KQOG7T2V-BNpj_mIM.js} +1 -1
  49. package/dist/gateway/static/root/assets/home-page-CH_A0W29.js +2 -0
  50. package/dist/gateway/static/root/assets/image-generation-api-DwkO2y46.js +1 -0
  51. package/dist/gateway/static/root/assets/imports-page-BrYvomnU.js +1 -0
  52. package/dist/gateway/static/root/assets/index-CKdOZoVu.js +260 -0
  53. package/dist/gateway/static/root/assets/index-Rxjt-jc3.css +1 -0
  54. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-BveDYfYk.js +1 -0
  55. package/dist/gateway/static/root/assets/local-app-workbench-page-CcIi1BhT.js +1 -0
  56. package/dist/gateway/static/root/assets/local-apps-page-B1a69mlV.js +1 -0
  57. package/dist/gateway/static/root/assets/local-session-drafts-CYEDUPH7.js +1 -0
  58. package/dist/gateway/static/root/assets/{locale-store-BpK9AiDq.js → locale-store-CE7L6MlS.js} +1 -1
  59. package/dist/gateway/static/root/assets/logs-page-Us1jv3C4.js +2 -0
  60. package/dist/gateway/static/root/assets/management-settings-C9RAM7-s.js +1 -0
  61. package/dist/gateway/static/root/assets/markdown-view-PrKvVpRh.js +324 -0
  62. package/dist/gateway/static/root/assets/{media-plugins-oSChWbcP.js → media-plugins-CR1fp6IL.js} +1 -1
  63. package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-DQdcaMiu.js +1 -0
  64. package/dist/gateway/static/root/assets/messages-CaeL_miw.js +3 -0
  65. package/dist/gateway/static/root/assets/note-detail-panel-Q4yRx9iZ.js +5 -0
  66. package/dist/gateway/static/root/assets/notes-page-C9qu16IN.js +8 -0
  67. package/dist/gateway/static/root/assets/page-context-capture-button-Cn_WK68Y.js +1 -0
  68. package/dist/gateway/static/root/assets/personal-page-DrP6hEcg.js +1 -0
  69. package/dist/gateway/static/root/assets/preview-open-alternatives-3NbiWGRG.js +1 -0
  70. package/dist/gateway/static/root/assets/product-delivery-DwmnNJvk.js +1 -0
  71. package/dist/gateway/static/root/assets/product-open-page-KKE5-V8k.js +1 -0
  72. package/dist/gateway/static/root/assets/product-preview-content-BM0oqNxi.js +1 -0
  73. package/dist/gateway/static/root/assets/project-detail-page-CPZrwf8n.js +1 -0
  74. package/dist/gateway/static/root/assets/projects-page-Besfx_07.js +1 -0
  75. package/dist/gateway/static/root/assets/{registry-api-Dsa2LvRt.js → registry-api-BO2Ck3aA.js} +1 -1
  76. package/dist/gateway/static/root/assets/remote-access-hub-CTDghL5L.js +1 -0
  77. package/dist/gateway/static/root/assets/{runtime-tools-api-C2Uw89eY.js → runtime-tools-api-B1sb8nlw.js} +1 -1
  78. package/dist/gateway/static/root/assets/runtime-tools-settings-panel-W0X_Fy7b.js +1 -0
  79. package/dist/gateway/static/root/assets/schema-form-DNM2Zdyr.js +1 -0
  80. package/dist/gateway/static/root/assets/{session-api-ga-SUOq_.js → session-api-CaAUJvu1.js} +1 -1
  81. package/dist/gateway/static/root/assets/session-manager-DoFTlgNz.js +16 -0
  82. package/dist/gateway/static/root/assets/sessions-page-Dxtablvd.js +1 -0
  83. package/dist/gateway/static/root/assets/settings-advanced-gate-C7zklouD.js +1 -0
  84. package/dist/gateway/static/root/assets/settings-form-section-DCSHPFAN.js +1 -0
  85. package/dist/gateway/static/root/assets/{settings-page-DPCgrICd.js → settings-page-B18UbbaJ.js} +1 -1
  86. package/dist/gateway/static/root/assets/setup-status-panel-JoSfluza.js +1 -0
  87. package/dist/gateway/static/root/assets/share-preview-page-BLnS3hoH.js +2 -0
  88. package/dist/gateway/static/root/assets/shares-settings-DcIuPJK3.js +1 -0
  89. package/dist/gateway/static/root/assets/skill-api-CcYGkRPL.js +1 -0
  90. package/dist/gateway/static/root/assets/skill-reload-api-PnUZjoPK.js +1 -0
  91. package/dist/gateway/static/root/assets/skills-page-D3JAw62U.js +2 -0
  92. package/dist/gateway/static/root/assets/style-BQqU-1pP.js +7 -0
  93. package/dist/gateway/static/root/assets/system-settings-panel-C974myUM.js +1 -0
  94. package/dist/gateway/static/root/assets/tab-completion-input-CxtEp0aP.js +1 -0
  95. package/dist/gateway/static/root/assets/task-detail-page-CiljFekC.js +2 -0
  96. package/dist/gateway/static/root/assets/{task-expandable-content-DAZGz5YC.js → task-expandable-content-DTEVoNrM.js} +1 -1
  97. package/dist/gateway/static/root/assets/tracing-settings-page-DEE75MUn.js +1 -0
  98. package/dist/gateway/static/root/assets/tunnel-api-DWyI3uA3.js +1 -0
  99. package/dist/gateway/static/root/assets/usage-page-DJYvbxk7.js +1 -0
  100. package/dist/gateway/static/root/assets/use-autosave-CY0YuljR.js +1 -0
  101. package/dist/gateway/static/root/assets/user-model-page-eHZJD6Fw.js +2 -0
  102. package/dist/gateway/static/root/assets/voice-api-key-field-BNG4ixJE.js +1 -0
  103. package/dist/gateway/static/root/assets/{voice-config-api-Dl39b27p.js → voice-config-api-D0Wscn9W.js} +1 -1
  104. package/dist/gateway/static/root/assets/work-discovery-overlay-CohIoAre.js +1 -0
  105. package/dist/gateway/static/root/assets/workflow-run-setup-panel-BXI8eyYh.js +3 -0
  106. package/dist/gateway/static/root/assets/workflows-page-CVti0u-l.js +6 -0
  107. package/dist/gateway/static/root/assets/xopc-cloud-account-card-C_COnY_B.js +1 -0
  108. package/dist/gateway/static/root/index.html +22 -72
  109. package/dist/gateway/static/root/notification-sw.js +0 -15
  110. package/dist/package.js +1 -1
  111. package/dist/packages/computer-control-contract/src/index.js +8 -0
  112. package/dist/packages/gateway-contract/src/app-context.js +0 -1
  113. package/dist/packages/gateway-contract/src/capabilities.js +2 -249
  114. package/dist/packages/gateway-contract/src/home.js +0 -5
  115. package/dist/packages/gateway-contract/src/index.js +0 -4
  116. package/dist/packages/gateway-contract/src/notifications.js +0 -11
  117. package/dist/packages/gateway-contract/src/product-delivery.js +0 -2
  118. package/dist/src/agent/agent-instance-gateway.d.ts +2 -0
  119. package/dist/src/agent/agent-manager.d.ts +1 -3
  120. package/dist/src/agent/agent-manager.js +8 -18
  121. package/dist/src/agent/child-agent-factory.d.ts +2 -1
  122. package/dist/src/agent/child-agent-factory.js +2 -1
  123. package/dist/src/agent/coding/projectEvidence.d.ts +9 -0
  124. package/dist/src/agent/coding/projectEvidence.js +177 -0
  125. package/dist/src/agent/coding/repository-instructions.d.ts +8 -1
  126. package/dist/src/agent/coding/repository-instructions.js +9 -4
  127. package/dist/src/agent/coding/run-verification.d.ts +17 -2
  128. package/dist/src/agent/coding/run-verification.js +82 -12
  129. package/dist/src/agent/coding/workspace-revision.js +1 -1
  130. package/dist/src/agent/embedded/codemode-extension.js +1 -1
  131. package/dist/src/agent/embedded/execution-context.d.ts +1 -0
  132. package/dist/src/agent/embedded/execution-context.js +4 -1
  133. package/dist/src/agent/embedded/external-tool-discovery.js +1 -1
  134. package/dist/src/agent/embedded/run-for-session.js +1 -0
  135. package/dist/src/agent/embedded/run-turn.js +41 -5
  136. package/dist/src/agent/embedded/session-runner.js +1 -1
  137. package/dist/src/agent/embedded/session-tool-result-guard.js +5 -0
  138. package/dist/src/agent/embedded/types.d.ts +2 -0
  139. package/dist/src/agent/embedded/xopc-tools-bridge.js +2 -1
  140. package/dist/src/agent/external-tools/extension-provider.js +1 -1
  141. package/dist/src/agent/external-tools/gateway-tools.js +1 -1
  142. package/dist/src/agent/external-tools/memory-provider.js +1 -1
  143. package/dist/src/agent/independent-execution.d.ts +2 -0
  144. package/dist/src/agent/independent-execution.js +12 -0
  145. package/dist/src/agent/mcp/connection-drafts.js +15 -10
  146. package/dist/src/agent/memory/compaction.js +1 -1
  147. package/dist/src/agent/orchestration/delegation-scope.d.ts +1 -0
  148. package/dist/src/agent/orchestration/delegation-scope.js +4 -1
  149. package/dist/src/agent/orchestration/loop-guard.js +6 -2
  150. package/dist/src/agent/prompt/sections/agent-identity.js +3 -2
  151. package/dist/src/agent/prompt/sections/behavior.d.ts +3 -2
  152. package/dist/src/agent/prompt/sections/behavior.js +35 -25
  153. package/dist/src/agent/prompt/sections/memory-skills.d.ts +1 -1
  154. package/dist/src/agent/prompt/sections/memory-skills.js +10 -11
  155. package/dist/src/agent/prompt/sections/messaging-runtime.d.ts +3 -2
  156. package/dist/src/agent/prompt/sections/messaging-runtime.js +21 -24
  157. package/dist/src/agent/prompt/sections/response-language.js +7 -5
  158. package/dist/src/agent/prompt/sections/tooling.js +11 -10
  159. package/dist/src/agent/prompt/service-prompt-builder.js +3 -1
  160. package/dist/src/agent/prompt/system-prompt-params.d.ts +2 -1
  161. package/dist/src/agent/prompt/system-prompt-params.js +2 -0
  162. package/dist/src/agent/prompt/system-prompt.d.ts +2 -1
  163. package/dist/src/agent/prompt/system-prompt.js +21 -18
  164. package/dist/src/agent/prompt/types.d.ts +2 -0
  165. package/dist/src/agent/service.js +1 -1
  166. package/dist/src/agent/service.types.d.ts +0 -2
  167. package/dist/src/agent/skills/format-skills-prompt.js +5 -2
  168. package/dist/src/agent/tool-manuals/computer.d.ts +1 -1
  169. package/dist/src/agent/tool-manuals/computer.js +9 -1
  170. package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -1
  171. package/dist/src/agent/tool-manuals/xopc-use.js +6 -48
  172. package/dist/src/agent/tools/computer-use-tool.js +17 -3
  173. package/dist/src/agent/tools/dataBatch.d.ts +1 -0
  174. package/dist/src/agent/tools/dataBatch.js +4 -1
  175. package/dist/src/agent/tools/delegate-tool.d.ts +1 -0
  176. package/dist/src/agent/tools/delegate-tool.js +1 -0
  177. package/dist/src/agent/tools/error-tracker.js +4 -2
  178. package/dist/src/agent/tools/exec-command.js +4 -3
  179. package/dist/src/agent/tools/factory.d.ts +1 -2
  180. package/dist/src/agent/tools/factory.js +20 -22
  181. package/dist/src/agent/tools/{delegation-parent-policy.d.ts → noninteractive-tool-policy.d.ts} +1 -1
  182. package/dist/src/agent/tools/{delegation-parent-policy.js → noninteractive-tool-policy.js} +4 -4
  183. package/dist/src/agent/tools/personal-task-tool.js +1 -1
  184. package/dist/src/agent/tools/publish-artifacts.js +1 -1
  185. package/dist/src/agent/tools/search/cache.d.ts +3 -1
  186. package/dist/src/agent/tools/search/cache.js +4 -1
  187. package/dist/src/agent/tools/search/providers/deepseek-protocol.d.ts +9 -0
  188. package/dist/src/agent/tools/search/providers/deepseek-protocol.js +84 -0
  189. package/dist/src/agent/tools/search/providers/deepseek.d.ts +9 -0
  190. package/dist/src/agent/tools/search/providers/deepseek.js +55 -0
  191. package/dist/src/agent/tools/search/providers/xopc-cloud.d.ts +2 -1
  192. package/dist/src/agent/tools/search/providers/xopc-cloud.js +36 -1
  193. package/dist/src/agent/tools/search/registry.d.ts +1 -0
  194. package/dist/src/agent/tools/search/registry.js +32 -6
  195. package/dist/src/agent/tools/search/request-gate.d.ts +13 -0
  196. package/dist/src/agent/tools/search/request-gate.js +41 -0
  197. package/dist/src/agent/tools/search/resolve-config.js +1 -1
  198. package/dist/src/agent/tools/search/search-info.d.ts +8 -0
  199. package/dist/src/agent/tools/search/search-info.js +34 -0
  200. package/dist/src/agent/tools/search/types.d.ts +19 -1
  201. package/dist/src/agent/tools/toolExposure.d.ts +3 -0
  202. package/dist/src/agent/tools/toolExposure.js +25 -0
  203. package/dist/src/agent/tools/web.js +8 -1
  204. package/dist/src/agent/tools/xopc-use-tool.d.ts +2 -4
  205. package/dist/src/agent/tools/xopc-use-tool.js +11 -135
  206. package/dist/src/agent/workflow/builtins/index.js +98 -0
  207. package/dist/src/agent/workflow/subagent-runner.d.ts +1 -0
  208. package/dist/src/agent/workflow/subagent-runner.js +3 -3
  209. package/dist/src/agent/workflow/types.d.ts +3 -2
  210. package/dist/src/agent/workflow/workflow-child-tools.js +13 -8
  211. package/dist/src/agent-catalog/migrations/legacy-config-cutover.js +1 -2
  212. package/dist/src/automations/domain/validation.d.ts +8 -8
  213. package/dist/src/automations/draft/automation-draft-validator.d.ts +1 -1
  214. package/dist/src/automations/events/event-catalog.js +0 -18
  215. package/dist/src/backup/archive.js +1 -2
  216. package/dist/src/capabilities/runtime/app-context.js +2 -6
  217. package/dist/src/capabilities/runtime/product.d.ts +1 -3
  218. package/dist/src/capabilities/runtime/product.js +0 -6
  219. package/dist/src/cli/command-manifest.js +1 -1
  220. package/dist/src/cli/commands/search.d.ts +2 -2
  221. package/dist/src/cli/commands/search.js +8 -6
  222. package/dist/src/computer/config.d.ts +1 -0
  223. package/dist/src/computer/config.js +1 -0
  224. package/dist/src/computer/diagnostics.d.ts +223 -0
  225. package/dist/src/computer/diagnostics.js +360 -0
  226. package/dist/src/computer/errors.d.ts +1 -1
  227. package/dist/src/computer/errors.js +8 -1
  228. package/dist/src/computer/evaluation-comparison.d.ts +125 -0
  229. package/dist/src/computer/evaluation-comparison.js +65 -0
  230. package/dist/src/computer/evaluation-harness.d.ts +2 -1
  231. package/dist/src/computer/evaluation-harness.js +59 -8
  232. package/dist/src/computer/evaluation.d.ts +102 -7
  233. package/dist/src/computer/evaluation.js +64 -15
  234. package/dist/src/computer/flows.d.ts +62 -0
  235. package/dist/src/computer/flows.js +158 -0
  236. package/dist/src/computer/model-adapter.d.ts +11 -0
  237. package/dist/src/computer/model-adapter.js +156 -11
  238. package/dist/src/computer/model-policy.d.ts +1 -1
  239. package/dist/src/computer/model-policy.js +13 -6
  240. package/dist/src/computer/release-gate.d.ts +11 -0
  241. package/dist/src/computer/runtime.d.ts +27 -2
  242. package/dist/src/computer/runtime.js +261 -44
  243. package/dist/src/computer/semantic-actions.d.ts +3 -0
  244. package/dist/src/computer/semantic-actions.js +29 -0
  245. package/dist/src/config/index.js +2 -2
  246. package/dist/src/config/models-json.d.ts +14 -8
  247. package/dist/src/config/models-json.js +2 -0
  248. package/dist/src/config/outbound-proxy.d.ts +11 -0
  249. package/dist/src/config/outbound-proxy.js +30 -0
  250. package/dist/src/config/rules.js +5 -0
  251. package/dist/src/config/schema.d.ts +25 -10
  252. package/dist/src/config/schema.js +21 -10
  253. package/dist/src/connectors/cli/authorization.d.ts +1 -1
  254. package/dist/src/connectors/cli/store.d.ts +1 -1
  255. package/dist/src/endpoint-tools/invocation-service.js +5 -0
  256. package/dist/src/gateway/config-tools-web.js +15 -4
  257. package/dist/src/gateway/gateway-workflow-host.types.d.ts +3 -0
  258. package/dist/src/gateway/hono/app.d.ts +0 -2
  259. package/dist/src/gateway/hono/app.js +1 -2
  260. package/dist/src/gateway/hono/lib/config-payload.d.ts +6 -3
  261. package/dist/src/gateway/hono/lib/config-payload.js +5 -1
  262. package/dist/src/gateway/hono/routes/capability-operations.js +0 -7
  263. package/dist/src/gateway/hono/routes/config-patch/gateway.js +7 -0
  264. package/dist/src/gateway/hono/routes/deps.d.ts +0 -2
  265. package/dist/src/gateway/hono/routes/lazy-bundles.js +0 -8
  266. package/dist/src/gateway/hono/routes/models.js +5 -2
  267. package/dist/src/gateway/hono/routes/session-input-handler.d.ts +2 -2
  268. package/dist/src/gateway/service/config-coordinator.d.ts +8 -5
  269. package/dist/src/gateway/service/session-input-coordinator.js +1 -1
  270. package/dist/src/gateway/service.d.ts +0 -3
  271. package/dist/src/gateway/service.js +10 -44
  272. package/dist/src/home-intelligence/generator.js +1 -1
  273. package/dist/src/home-intelligence/policy.js +0 -5
  274. package/dist/src/home-intelligence/repository.d.ts +1 -1
  275. package/dist/src/infra/domain-outbox-dispatcher.js +1 -1
  276. package/dist/src/infra/http-proxy-env.d.ts +3 -0
  277. package/dist/src/infra/http-proxy-env.js +22 -2
  278. package/dist/src/notifications/service.d.ts +2 -18
  279. package/dist/src/notifications/service.js +8 -39
  280. package/dist/src/notifications/store.d.ts +0 -1
  281. package/dist/src/notifications/store.js +1 -4
  282. package/dist/src/personal-agent/communication.d.ts +2 -1
  283. package/dist/src/personal-agent/communication.js +11 -2
  284. package/dist/src/personal-agent/persona.d.ts +2 -1
  285. package/dist/src/personal-agent/persona.js +3 -2
  286. package/dist/src/personal-agent/prompts.d.ts +2 -0
  287. package/dist/src/personal-agent/prompts.js +69 -7
  288. package/dist/src/personal-agent/reply-composer.js +2 -2
  289. package/dist/src/personal-agent/reply-style.d.ts +4 -2
  290. package/dist/src/personal-agent/reply-style.js +19 -3
  291. package/dist/src/personal-agent/request-service.js +14 -9
  292. package/dist/src/pets/loopi-artwork.d.ts +2 -0
  293. package/dist/src/pets/loopi-artwork.js +36 -0
  294. package/dist/src/pets/pointer.d.ts +6 -0
  295. package/dist/src/pets/pointer.js +16 -0
  296. package/dist/src/platform/contracts.d.ts +3 -3
  297. package/dist/src/project-trust/trust-store.d.ts +5 -0
  298. package/dist/src/project-trust/trust-store.js +7 -1
  299. package/dist/src/providers/index.js +3 -3
  300. package/dist/src/providers/model-registry.js +2 -0
  301. package/dist/src/providers/model-supplements.d.ts +0 -2
  302. package/dist/src/providers/model-supplements.js +2 -18
  303. package/dist/src/providers/xopc-cloud-credit-budget.d.ts +1 -0
  304. package/dist/src/providers/xopc-cloud-credit-budget.js +4 -1
  305. package/dist/src/realtime/compact-run-event.js +17 -2
  306. package/dist/src/realtime/runtime.js +1 -1
  307. package/dist/src/routing/agent-session-key.js +1 -1
  308. package/dist/src/routing/resolve-route.js +1 -1
  309. package/dist/src/routing/session-key.js +1 -1
  310. package/dist/src/session/compact-history.js +16 -6
  311. package/dist/src/storage/sqlite/connection.js +2 -2
  312. package/dist/src/storage/sqlite/conversation-repository.js +1 -1
  313. package/dist/src/storage/sqlite/migrations/conversation-backup.d.ts +0 -2
  314. package/dist/src/storage/sqlite/migrations/conversation-backup.js +8 -18
  315. package/dist/src/storage/sqlite/migrations/conversation-windows-owners.js +28 -33
  316. package/dist/src/storage/sqlite/migrations/errors.js +1 -1
  317. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  318. package/dist/src/storage/sqlite/migrations/runner.js +5 -40
  319. package/dist/src/storage/sqlite/migrations/types.d.ts +0 -2
  320. package/dist/src/storage/sqlite/schema.d.ts +1 -3
  321. package/dist/src/storage/sqlite/schema.js +4 -8
  322. package/dist/src/storage/sqlite/schema.sql +1356 -1282
  323. package/dist/src/tasks/capabilities/management.d.ts +2 -2
  324. package/dist/src/tasks/capabilities/relations.d.ts +4 -4
  325. package/dist/src/tasks/capabilities/write.d.ts +4 -4
  326. package/dist/src/tasks/task-allocation-service.js +51 -40
  327. package/dist/src/tasks/task-application-service.js +5 -1
  328. package/dist/src/tasks/task-contract-planner.js +21 -6
  329. package/dist/src/tasks/task-language.d.ts +2 -0
  330. package/dist/src/tasks/task-language.js +13 -2
  331. package/dist/src/tasks/task-research-result.d.ts +2 -2
  332. package/dist/src/tasks/task-run-coordinator.js +5 -1
  333. package/dist/src/tasks/task-run-dispatcher.js +2 -1
  334. package/dist/src/tui/tui.js +1 -1
  335. package/dist/src/usage/scenario-registry.js +0 -5
  336. package/dist/src/usage/types.d.ts +1 -1
  337. package/dist/src/work-discovery/probe.js +1 -1
  338. package/dist/src/workflows/domain/definition.d.ts +1 -0
  339. package/dist/src/workflows/service/workflow-run-service.js +2 -1
  340. package/package.json +10 -6
  341. package/skills/THIRD_PARTY_NOTICES.md +0 -6
  342. package/skills/creative/chat-charts/SKILL.md +26 -0
  343. package/skills/creative/chat-charts/references/bar-example.json +10 -0
  344. package/skills/creative/chat-charts/references/chart-spec.md +25 -0
  345. package/skills/creative/chat-charts/references/line-example.json +13 -0
  346. package/dist/gateway/static/root/assets/activity-YogQEteU.js +0 -1
  347. package/dist/gateway/static/root/assets/activity-store-DWQCDi8M.js +0 -1
  348. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-DE910MyU.js +0 -1
  349. package/dist/gateway/static/root/assets/agent-plugin-dialog-0SlvsYl7.js +0 -1
  350. package/dist/gateway/static/root/assets/agents-BZh28Qn1.js +0 -77
  351. package/dist/gateway/static/root/assets/app-chrome-BeB4KgOf.js +0 -1
  352. package/dist/gateway/static/root/assets/app-link-4gpFbdsr.js +0 -1
  353. package/dist/gateway/static/root/assets/app-management-settings-panel-9A7JN5V5.js +0 -1
  354. package/dist/gateway/static/root/assets/appearance-settings-BPdLEo6L.js +0 -1
  355. package/dist/gateway/static/root/assets/apps-page-Cz7LypV9.js +0 -1
  356. package/dist/gateway/static/root/assets/automations-workspace-BBjS-sk-.js +0 -6
  357. package/dist/gateway/static/root/assets/browser-automation-inputs-C5tIrIRL.js +0 -1
  358. package/dist/gateway/static/root/assets/browser-automations-page-CFCMNfJN.js +0 -3
  359. package/dist/gateway/static/root/assets/browser-settings-page-C__tyPwu.js +0 -3
  360. package/dist/gateway/static/root/assets/button-aIC072nz.js +0 -1
  361. package/dist/gateway/static/root/assets/capabilities-D6RJG4QY.js +0 -1
  362. package/dist/gateway/static/root/assets/capabilities-DGEmBQnF.js +0 -1
  363. package/dist/gateway/static/root/assets/capabilities-page-B5AZa7ir.js +0 -2
  364. package/dist/gateway/static/root/assets/capabilities-settings-panel-Dskz2_bh.js +0 -8
  365. package/dist/gateway/static/root/assets/capability-header-actions-xzjWZVbg.js +0 -1
  366. package/dist/gateway/static/root/assets/channels-DRse_dD3.js +0 -1
  367. package/dist/gateway/static/root/assets/chat-terminal-dock-CQF0M4kE.js +0 -36
  368. package/dist/gateway/static/root/assets/chevron-left-DqFhpbvK.js +0 -1
  369. package/dist/gateway/static/root/assets/chevron-right-BweFrslA.js +0 -1
  370. package/dist/gateway/static/root/assets/circle-alert-BEjgurr2.js +0 -1
  371. package/dist/gateway/static/root/assets/circle-dashed-8qMD7gHf.js +0 -1
  372. package/dist/gateway/static/root/assets/circle-dot-BAseJTrF.js +0 -1
  373. package/dist/gateway/static/root/assets/cloud-C4-yfnnk.js +0 -1
  374. package/dist/gateway/static/root/assets/computer-settings-page-ZfzCTS0N.js +0 -1
  375. package/dist/gateway/static/root/assets/connector-service-page-CwAeWVLK.js +0 -1
  376. package/dist/gateway/static/root/assets/connectors-page-CanakKaj.js +0 -1
  377. package/dist/gateway/static/root/assets/copy-text-row-C7egVuKr.js +0 -1
  378. package/dist/gateway/static/root/assets/date-formatters-CUZAyDEg.js +0 -1
  379. package/dist/gateway/static/root/assets/date-picker-hmJlEAQZ.js +0 -1
  380. package/dist/gateway/static/root/assets/dependency-picker-Us_Juz6I.js +0 -1
  381. package/dist/gateway/static/root/assets/desktop-pet-CvOTI4uw.js +0 -1
  382. package/dist/gateway/static/root/assets/desktop-pet-settings-DYg-Gb8t.js +0 -1
  383. package/dist/gateway/static/root/assets/desktop-pet-sprite-BP6iMVw1.js +0 -1
  384. package/dist/gateway/static/root/assets/device-pairing-wizard-B1FbZ8C1.js +0 -1
  385. package/dist/gateway/static/root/assets/directory-picker-path-field-DZN9EDvM.js +0 -1
  386. package/dist/gateway/static/root/assets/dist-C3DSFZCi.js +0 -1
  387. package/dist/gateway/static/root/assets/electron-env-Dit0bHgy.js +0 -1
  388. package/dist/gateway/static/root/assets/extension-debug-page-YIibp6Kk.js +0 -1
  389. package/dist/gateway/static/root/assets/extension-page-DkcGyb28.js +0 -1
  390. package/dist/gateway/static/root/assets/extension-provider-B1PQGTtY.js +0 -1
  391. package/dist/gateway/static/root/assets/extension-settings-page-C_rJiSKo.js +0 -1
  392. package/dist/gateway/static/root/assets/form-field-width-DJw_jULe.js +0 -1
  393. package/dist/gateway/static/root/assets/gateway-realtime-store-CMJVSnvi.js +0 -1
  394. package/dist/gateway/static/root/assets/gateway-settings-CjCWPHNJ.js +0 -1
  395. package/dist/gateway/static/root/assets/globe-DSSGFWFn.js +0 -1
  396. package/dist/gateway/static/root/assets/home-page-fAYsd7kG.js +0 -2
  397. package/dist/gateway/static/root/assets/image-generation-api-B98iXt6A.js +0 -1
  398. package/dist/gateway/static/root/assets/imports-page-DoBCBN8G.js +0 -1
  399. package/dist/gateway/static/root/assets/index-DFgXwLsv.js +0 -260
  400. package/dist/gateway/static/root/assets/index-a6ZvhclR.css +0 -1
  401. package/dist/gateway/static/root/assets/index.module-Cd9ENXfk.js +0 -1
  402. package/dist/gateway/static/root/assets/interaction-BdhHBbYa.js +0 -1
  403. package/dist/gateway/static/root/assets/is-masked-secret-DOkL5b_X.js +0 -1
  404. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-DXVu4lqV.js +0 -1
  405. package/dist/gateway/static/root/assets/loader-circle-CifKLtgG.js +0 -1
  406. package/dist/gateway/static/root/assets/local-app-workbench-page-B3fz6uRi.js +0 -1
  407. package/dist/gateway/static/root/assets/local-apps-page-BC6xhmUh.js +0 -1
  408. package/dist/gateway/static/root/assets/local-session-drafts-DFnZQu9A.js +0 -1
  409. package/dist/gateway/static/root/assets/logs-page-CSqSFDRU.js +0 -2
  410. package/dist/gateway/static/root/assets/loopi-C09I2mNj.css +0 -1
  411. package/dist/gateway/static/root/assets/loopi-Djb8XU3l.js +0 -1
  412. package/dist/gateway/static/root/assets/management-settings-gq5L0THs.js +0 -1
  413. package/dist/gateway/static/root/assets/markdown-view-IsYTotu6.js +0 -324
  414. package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-C_QKwqDN.js +0 -1
  415. package/dist/gateway/static/root/assets/message-square-plus-XP0tGdlV.js +0 -1
  416. package/dist/gateway/static/root/assets/messages-CKTo_sIF.js +0 -3
  417. package/dist/gateway/static/root/assets/mic-CuUb7zc-.js +0 -1
  418. package/dist/gateway/static/root/assets/minimize-2-DtOGrlpo.js +0 -1
  419. package/dist/gateway/static/root/assets/models-hub-cache-TjpL7hZ5.js +0 -1
  420. package/dist/gateway/static/root/assets/note-detail-panel-CdpNXre-.js +0 -5
  421. package/dist/gateway/static/root/assets/notes-api-CBb944yw.js +0 -1
  422. package/dist/gateway/static/root/assets/notes-page-EGvGw8MN.js +0 -8
  423. package/dist/gateway/static/root/assets/page-context-capture-button-CoWb7BYP.js +0 -1
  424. package/dist/gateway/static/root/assets/page-tabs-HLrKIjXH.js +0 -1
  425. package/dist/gateway/static/root/assets/pencil-DmIY3Oa-.js +0 -1
  426. package/dist/gateway/static/root/assets/personal-page-DYzbNTyN.js +0 -1
  427. package/dist/gateway/static/root/assets/popover-select-DHC7J4lG.js +0 -1
  428. package/dist/gateway/static/root/assets/preview-open-alternatives-BJU2fmPn.js +0 -1
  429. package/dist/gateway/static/root/assets/product-delivery-BAks11S4.js +0 -1
  430. package/dist/gateway/static/root/assets/product-open-page-CTyy7H7-.js +0 -1
  431. package/dist/gateway/static/root/assets/product-preview-content-D4xqTaEy.js +0 -1
  432. package/dist/gateway/static/root/assets/project-detail-page-DIVCw0QQ.js +0 -1
  433. package/dist/gateway/static/root/assets/projects-page-B4L9VnBN.js +0 -1
  434. package/dist/gateway/static/root/assets/remote-access-hub-B8PvgLVz.js +0 -1
  435. package/dist/gateway/static/root/assets/rotate-ccw-JM1TBLpp.js +0 -1
  436. package/dist/gateway/static/root/assets/rotate-cw-LIg3Am9S.js +0 -1
  437. package/dist/gateway/static/root/assets/runtime-tools-settings-panel-Bqnp3tyt.js +0 -1
  438. package/dist/gateway/static/root/assets/scenes-page-D50g4GM2.js +0 -2
  439. package/dist/gateway/static/root/assets/schema-form-h_RCNfiO.js +0 -1
  440. package/dist/gateway/static/root/assets/search-DA7gz22f.js +0 -1
  441. package/dist/gateway/static/root/assets/secret-input-BxWHx6J6.js +0 -1
  442. package/dist/gateway/static/root/assets/send-session-input-DypbVTT7.js +0 -1
  443. package/dist/gateway/static/root/assets/session-manager-C_OiKblh.js +0 -16
  444. package/dist/gateway/static/root/assets/sessions-page-BsqDIbIr.js +0 -1
  445. package/dist/gateway/static/root/assets/settings-2-D-csvaET.js +0 -1
  446. package/dist/gateway/static/root/assets/settings-advanced-gate-D3zJAW4p.js +0 -1
  447. package/dist/gateway/static/root/assets/settings-form-draft-Dy10ldo8.js +0 -1
  448. package/dist/gateway/static/root/assets/settings-form-section-num14vSv.js +0 -1
  449. package/dist/gateway/static/root/assets/settings-shell-dialog-layer-BU3UuiJr.js +0 -1
  450. package/dist/gateway/static/root/assets/setup-status-panel-jjSYJpDd.js +0 -1
  451. package/dist/gateway/static/root/assets/share-link-dialog-BGicglAS.js +0 -1
  452. package/dist/gateway/static/root/assets/share-preview-page-BORe9rLB.js +0 -2
  453. package/dist/gateway/static/root/assets/shares-api-Dbx3z6-1.js +0 -1
  454. package/dist/gateway/static/root/assets/shares-settings-C13FgfWk.js +0 -1
  455. package/dist/gateway/static/root/assets/skeleton-BI5TyibZ.js +0 -1
  456. package/dist/gateway/static/root/assets/skill-api-Cq6O1DZK.js +0 -1
  457. package/dist/gateway/static/root/assets/skill-api-utils-C7V4JVXM.js +0 -1
  458. package/dist/gateway/static/root/assets/skill-reload-api-Cq7QDjMA.js +0 -1
  459. package/dist/gateway/static/root/assets/skill-wire-pattern-BPpeIcCi.js +0 -1
  460. package/dist/gateway/static/root/assets/skills-page-BM1ShEjx.js +0 -2
  461. package/dist/gateway/static/root/assets/style-TIDOdKy0.js +0 -7
  462. package/dist/gateway/static/root/assets/system-settings-panel-BNCGFO1e.js +0 -1
  463. package/dist/gateway/static/root/assets/tab-completion-input-D64VNmiA.js +0 -1
  464. package/dist/gateway/static/root/assets/task-detail-page-4VG82wcF.js +0 -2
  465. package/dist/gateway/static/root/assets/theme-store-Db7hDESt.js +0 -1
  466. package/dist/gateway/static/root/assets/tracing-settings-page-C6p2Mu92.js +0 -1
  467. package/dist/gateway/static/root/assets/tunnel-api-Dw15EJp0.js +0 -1
  468. package/dist/gateway/static/root/assets/usage-page-DDrIqgGe.js +0 -1
  469. package/dist/gateway/static/root/assets/use-async-resource-GrnWNwMZ.js +0 -1
  470. package/dist/gateway/static/root/assets/use-autosave-DDjIdW4U.js +0 -1
  471. package/dist/gateway/static/root/assets/use-composer-attachments-DNl7O3Vb.js +0 -2
  472. package/dist/gateway/static/root/assets/use-file-preview-expanded-DMHehhwG.js +0 -2
  473. package/dist/gateway/static/root/assets/user-model-page-CaS9dOIr.js +0 -2
  474. package/dist/gateway/static/root/assets/voice-api-key-field-ByAxHE4P.js +0 -1
  475. package/dist/gateway/static/root/assets/voice-transcribe-api-CVaU83Jc.js +0 -1
  476. package/dist/gateway/static/root/assets/work-discovery-overlay-BvVvPA1T.js +0 -1
  477. package/dist/gateway/static/root/assets/workflow-run-setup-panel-BcFm9QcC.js +0 -3
  478. package/dist/gateway/static/root/assets/workflows-page-DMec_XZB.js +0 -6
  479. package/dist/gateway/static/root/assets/workspace-api-BpfKsrtP.js +0 -2
  480. package/dist/gateway/static/root/assets/xopc-cloud-account-card-CU5lzzE9.js +0 -1
  481. package/dist/packages/gateway-contract/src/project-monitoring.js +0 -36
  482. package/dist/packages/gateway-contract/src/scenes.js +0 -200
  483. package/dist/src/agent/bootstrap/project-agents-context.d.ts +0 -2
  484. package/dist/src/agent/bootstrap/project-agents-context.js +0 -30
  485. package/dist/src/gateway/hono/routes/scenes.d.ts +0 -3
  486. package/dist/src/gateway/hono/routes/scenes.js +0 -271
  487. package/dist/src/gateway/scenes/browserNotifications.d.ts +0 -4
  488. package/dist/src/gateway/scenes/browserNotifications.js +0 -54
  489. package/dist/src/gateway/scenes/host.d.ts +0 -34
  490. package/dist/src/gateway/scenes/host.js +0 -154
  491. package/dist/src/gateway/scenes/mailContext.d.ts +0 -32
  492. package/dist/src/gateway/scenes/mailContext.js +0 -235
  493. package/dist/src/gateway/scenes/slackThreadSource.d.ts +0 -41
  494. package/dist/src/gateway/scenes/slackThreadSource.js +0 -168
  495. package/dist/src/notifications/browser-endpoint.d.ts +0 -2
  496. package/dist/src/notifications/browser-endpoint.js +0 -13
  497. package/dist/src/notifications/browserSubscriptions.d.ts +0 -20
  498. package/dist/src/notifications/browserSubscriptions.js +0 -59
  499. package/dist/src/notifications/browserTransport.d.ts +0 -9
  500. package/dist/src/notifications/browserTransport.js +0 -64
  501. package/dist/src/notifications/dispatch.d.ts +0 -46
  502. package/dist/src/notifications/dispatch.js +0 -109
  503. package/dist/src/notifications/domain-delivery.d.ts +0 -21
  504. package/dist/src/notifications/domain-delivery.js +0 -1
  505. package/dist/src/notifications/quietHours.d.ts +0 -6
  506. package/dist/src/notifications/quietHours.js +0 -23
  507. package/dist/src/notifications/resultOutbox.d.ts +0 -23
  508. package/dist/src/notifications/resultOutbox.js +0 -49
  509. package/dist/src/scenes/activationAdapter.d.ts +0 -19
  510. package/dist/src/scenes/activationAdapter.js +0 -1
  511. package/dist/src/scenes/agentExecutor.d.ts +0 -9
  512. package/dist/src/scenes/agentExecutor.js +0 -61
  513. package/dist/src/scenes/capabilities/read.d.ts +0 -3
  514. package/dist/src/scenes/capabilities/read.js +0 -187
  515. package/dist/src/scenes/capabilities/write.d.ts +0 -3
  516. package/dist/src/scenes/capabilities/write.js +0 -151
  517. package/dist/src/scenes/contracts.d.ts +0 -9
  518. package/dist/src/scenes/contracts.js +0 -61
  519. package/dist/src/scenes/execution.d.ts +0 -62
  520. package/dist/src/scenes/execution.js +0 -169
  521. package/dist/src/scenes/httpServices.d.ts +0 -39
  522. package/dist/src/scenes/httpServices.js +0 -1
  523. package/dist/src/scenes/inbox.d.ts +0 -17
  524. package/dist/src/scenes/inbox.js +0 -68
  525. package/dist/src/scenes/mailContext.d.ts +0 -24
  526. package/dist/src/scenes/mailContext.js +0 -115
  527. package/dist/src/scenes/mailObservations.d.ts +0 -20
  528. package/dist/src/scenes/mailObservations.js +0 -107
  529. package/dist/src/scenes/maintenance.d.ts +0 -3
  530. package/dist/src/scenes/maintenance.js +0 -20
  531. package/dist/src/scenes/metrics.d.ts +0 -31
  532. package/dist/src/scenes/metrics.js +0 -89
  533. package/dist/src/scenes/model.d.ts +0 -3
  534. package/dist/src/scenes/model.js +0 -10
  535. package/dist/src/scenes/notificationEligibility.d.ts +0 -17
  536. package/dist/src/scenes/notificationEligibility.js +0 -72
  537. package/dist/src/scenes/notificationPublication.d.ts +0 -7
  538. package/dist/src/scenes/notificationPublication.js +0 -43
  539. package/dist/src/scenes/preferences.d.ts +0 -19
  540. package/dist/src/scenes/preferences.js +0 -86
  541. package/dist/src/scenes/readiness.d.ts +0 -7
  542. package/dist/src/scenes/readiness.js +0 -20
  543. package/dist/src/scenes/registry.d.ts +0 -11
  544. package/dist/src/scenes/registry.js +0 -28
  545. package/dist/src/scenes/repository.d.ts +0 -178
  546. package/dist/src/scenes/repository.js +0 -782
  547. package/dist/src/scenes/resultNotifications.d.ts +0 -17
  548. package/dist/src/scenes/resultNotifications.js +0 -204
  549. package/dist/src/scenes/runtime.d.ts +0 -25
  550. package/dist/src/scenes/runtime.js +0 -101
  551. package/dist/src/scenes/schedule.d.ts +0 -2
  552. package/dist/src/scenes/schedule.js +0 -33
  553. package/dist/src/scenes/service.d.ts +0 -36
  554. package/dist/src/scenes/service.js +0 -122
  555. package/dist/src/scenes/taskFollowUp/agentExecutor.d.ts +0 -36
  556. package/dist/src/scenes/taskFollowUp/agentExecutor.js +0 -149
  557. package/dist/src/scenes/taskFollowUp/branchInventory.d.ts +0 -38
  558. package/dist/src/scenes/taskFollowUp/branchInventory.js +0 -70
  559. package/dist/src/scenes/taskFollowUp/contracts.d.ts +0 -121
  560. package/dist/src/scenes/taskFollowUp/contracts.js +0 -119
  561. package/dist/src/scenes/taskFollowUp/resources.d.ts +0 -19
  562. package/dist/src/scenes/taskFollowUp/resources.js +0 -97
  563. package/dist/src/scenes/taskFollowUp/service.d.ts +0 -848
  564. package/dist/src/scenes/taskFollowUp/service.js +0 -770
  565. package/dist/src/scenes/taskFollowUp/workspaceFingerprint.d.ts +0 -2
  566. package/dist/src/scenes/taskFollowUp/workspaceFingerprint.js +0 -46
  567. package/dist/src/scenes/templates.d.ts +0 -64
  568. package/dist/src/scenes/templates.js +0 -76
  569. package/dist/src/scenes/userNotes.d.ts +0 -13
  570. package/dist/src/scenes/userNotes.js +0 -40
  571. package/dist/src/storage/sqlite/migrations/166_remove_proactive_previews.sql +0 -1
  572. package/dist/src/storage/sqlite/migrations/167_discussion_recording_chunks.sql +0 -7
  573. package/dist/src/storage/sqlite/migrations/168_discussion_evidence.sql +0 -16
  574. package/dist/src/storage/sqlite/migrations/169_discussion_action_tasks.sql +0 -8
  575. package/dist/src/storage/sqlite/migrations/170_discussion_edits.sql +0 -8
  576. package/dist/src/storage/sqlite/migrations/171_discussion_recording_jobs.sql +0 -14
  577. package/dist/src/storage/sqlite/migrations/172_project_understanding.sql +0 -3
  578. package/dist/src/storage/sqlite/migrations/173_mobile_discussion_source.sql +0 -5
  579. package/dist/src/storage/sqlite/migrations/174_capability_imports.sql +0 -11
  580. package/dist/src/storage/sqlite/migrations/175_import_selections.sql +0 -8
  581. package/dist/src/storage/sqlite/migrations/176_proactive_quality.sql +0 -5
  582. package/dist/src/storage/sqlite/migrations/177_proactive_check_controls.sql +0 -25
  583. package/dist/src/storage/sqlite/migrations/178_conversation_uuid.sql +0 -2
  584. package/dist/src/storage/sqlite/migrations/179_harmonyos_devices.sql +0 -41
  585. package/dist/src/storage/sqlite/migrations/180_execution_environment_ownership.sql +0 -7
  586. package/dist/src/storage/sqlite/migrations/181_knowledge_item_status_events.sql +0 -12
  587. package/dist/src/storage/sqlite/migrations/182_connector_account_policies.sql +0 -92
  588. package/dist/src/storage/sqlite/migrations/183_connector_backend_consistency.sql +0 -20
  589. package/dist/src/storage/sqlite/migrations/184_memory_suppressions.sql +0 -12
  590. package/dist/src/storage/sqlite/migrations/185_understanding_refresh_batches.sql +0 -6
  591. package/dist/src/storage/sqlite/migrations/186_sidebar_layout.sql +0 -16
  592. package/dist/src/storage/sqlite/migrations/187_cli_connectors.sql +0 -34
  593. package/dist/src/storage/sqlite/migrations/188_scene_storage.sql +0 -2
  594. package/dist/src/storage/sqlite/migrations/189_scene_source_health.sql +0 -8
  595. package/dist/src/storage/sqlite/migrations/190_scene_development.sql +0 -37
  596. package/dist/src/storage/sqlite/migrations/191_scene_task_follow_up.sql +0 -27
  597. package/dist/src/storage/sqlite/migrations/192_capability_operations.sql +0 -20
  598. package/dist/src/storage/sqlite/migrations/193_note_file_cleanup.sql +0 -8
  599. package/dist/src/storage/sqlite/migrations/194_capability_external_outcomes.sql +0 -11
  600. package/dist/src/storage/sqlite/migrations/195_automation_deleted_revisions.sql +0 -4
  601. package/dist/src/storage/sqlite/migrations/196_automation_run_requests.sql +0 -23
  602. package/dist/src/storage/sqlite/migrations/197_note_deletion_cleanup.sql +0 -8
  603. package/dist/src/storage/sqlite/migrations/198_project_workspace_creation.sql +0 -7
  604. package/dist/src/storage/sqlite/migrations/199_scene_resource_events.sql +0 -488
  605. package/dist/src/storage/sqlite/migrations/200_connected_work_threads.sql +0 -92
  606. package/dist/src/storage/sqlite/migrations/201_connector_extraction_audit.sql +0 -127
  607. package/dist/src/storage/sqlite/migrations/202_chat_previews.sql +0 -26
  608. package/dist/src/storage/sqlite/migrations/203_remove_retired_proactive_contracts.sql +0 -70
  609. package/dist/src/storage/sqlite/migrations/204_home_intelligence.sql +0 -78
  610. package/dist/src/storage/sqlite/migrations/205_agent_catalog.sql +0 -66
  611. package/dist/src/storage/sqlite/migrations/206_home_advice_strategy_version.sql +0 -3
  612. package/dist/src/storage/sqlite/migrations/207_user_model_policy_contract.sql +0 -121
  613. package/dist/src/storage/sqlite/migrations/208_automation_management.sql +0 -2
  614. package/dist/src/storage/sqlite/migrations/209_automation_event_hub.sql +0 -48
  615. package/dist/src/storage/sqlite/migrations/210_remove_legacy_automation_timeout.sql +0 -14
  616. package/dist/src/storage/sqlite/migrations/211_automation_result_deliveries.sql +0 -16
  617. package/dist/src/storage/sqlite/migrations/212_automation_delivery_policy.sql +0 -30
  618. package/dist/src/storage/sqlite/migrations/213_automation_reliability_contract.sql +0 -188
  619. package/dist/src/storage/sqlite/migrations/214_ai_usage_ledger.sql +0 -41
  620. package/dist/src/storage/sqlite/migrations/215_scene_execution_adapters.sql +0 -6
  621. package/dist/src/storage/sqlite/migrations/216_remove_scene_model_usage.sql +0 -1
  622. package/dist/src/storage/sqlite/migrations/217_remove_legacy_memory_tables.sql +0 -4
  623. package/dist/src/storage/sqlite/migrations/conversation-key-decoder.d.ts +0 -8
  624. package/dist/src/storage/sqlite/migrations/conversation-key-decoder.js +0 -87
  625. package/dist/src/storage/sqlite/migrations/conversation-uuid.d.ts +0 -8
  626. package/dist/src/storage/sqlite/migrations/conversation-uuid.js +0 -366
  627. package/dist/src/storage/sqlite/migrations/scene-reset.d.ts +0 -5
  628. package/dist/src/storage/sqlite/migrations/scene-reset.js +0 -40
  629. package/dist/src/storage/sqlite/scenes-schema.d.ts +0 -8
  630. package/dist/src/storage/sqlite/scenes-schema.js +0 -60
  631. package/dist/src/storage/sqlite/schemas/notifications.sql +0 -65
  632. package/dist/src/storage/sqlite/schemas/scenes.sql +0 -205
  633. package/skills/engineering/design-recurring-work/SKILL.md +0 -75
@@ -91,14 +91,6 @@ const AUTHENTICATED_LAZY_ROUTE_BUNDLES = [
91
91
  return { register: registerBrowserSessionRoutes };
92
92
  }
93
93
  },
94
- {
95
- id: "scenes",
96
- match: (path) => startsWithAny(path, ["/api/scenes"]),
97
- load: async () => {
98
- const { registerSceneRoutes } = await import("./scenes.js");
99
- return { register: registerSceneRoutes };
100
- }
101
- },
102
94
  {
103
95
  id: "runtime-tools",
104
96
  match: (path) => startsWithAny(path, ["/api/runtime-tools"]),
@@ -3,12 +3,12 @@ import { init_model_usage, withModelUsageOrigin } from "../../../providers/model
3
3
  import { resolveEffectiveAgentConfigForAgent } from "../../../config/agent-profile.js";
4
4
  import { init_resolve_config_value, testApiKeyResolution } from "../../../config/resolve-config-value.js";
5
5
  import { resolveModelsJsonPath } from "../../../config/paths.js";
6
+ import "../../../providers/constants.js";
6
7
  import { computerModelProfile, init_model_policy, isDedicatedComputerModel } from "../../../computer/model-policy.js";
7
8
  import { init_models_json, loadModelsJson, saveModelsJson, validateModelsConfig } from "../../../config/models-json.js";
8
9
  import { getModelCatalogStore, init_model_catalog_store } from "../../../providers/model-catalog-store.js";
9
10
  import { getModelRegistry } from "../../../providers/model-registry.js";
10
11
  import { CredentialResolver, init_credentials } from "../../../auth/credentials.js";
11
- import "../../../providers/constants.js";
12
12
  import { getProviderRegistry, init_plugin_registry } from "../../../providers/plugin-registry.js";
13
13
  import { PROVIDER_META, getAllModels, getAllProviders, getAvailableModels, getProviderAuthState, init_providers, isProviderConfigured, isProviderConfiguredSync } from "../../../providers/index.js";
14
14
  import { XopcCloudAccountError, XopcCloudAccountService } from "../../../providers/xopc-cloud-account-service.js";
@@ -324,7 +324,10 @@ function registerModelsRoutes(authenticated, deps) {
324
324
  name: m.name,
325
325
  ...catalogDisplayNames(m.provider, m.id),
326
326
  provider: m.provider,
327
- ...computerModelProfile(m) ? { computerUse: { profile: computerModelProfile(m) } } : {},
327
+ ...computerModelProfile(m) ? { computerUse: {
328
+ profile: computerModelProfile(m),
329
+ dedicated: isDedicatedComputerModel(m)
330
+ } } : {},
328
331
  contextWindow: m.contextWindow ?? 128e3,
329
332
  maxTokens: m.maxTokens ?? 4096,
330
333
  reasoning: m.reasoning ?? false,
@@ -105,7 +105,7 @@ export declare function submitSessionInput(c: Context, deps: AuthenticatedRouteD
105
105
  sequence: number;
106
106
  surface: "electron" | "web" | "mobile";
107
107
  resourceRefs: {
108
- kind: "project" | "note" | "task" | "scene" | "local_app";
108
+ kind: "project" | "note" | "task" | "local_app";
109
109
  id: string;
110
110
  revision: string;
111
111
  }[];
@@ -264,7 +264,7 @@ export declare function replaceLatestSessionTurn(c: Context, deps: Authenticated
264
264
  sequence: number;
265
265
  surface: "electron" | "web" | "mobile";
266
266
  resourceRefs: {
267
- kind: "project" | "note" | "task" | "scene" | "local_app";
267
+ kind: "project" | "note" | "task" | "local_app";
268
268
  id: string;
269
269
  revision: string;
270
270
  }[];
@@ -161,6 +161,11 @@ export declare class GatewayConfigCoordinator {
161
161
  };
162
162
  channels: Record<string, unknown>;
163
163
  gateway: {
164
+ outboundProxy?: {
165
+ mode: "custom" | "environment" | "direct";
166
+ url: string;
167
+ noProxy: string;
168
+ };
164
169
  bind?: "custom" | "auto" | "loopback" | "lan" | "tailnet";
165
170
  customBindHost?: string;
166
171
  port?: number;
@@ -212,9 +217,6 @@ export declare class GatewayConfigCoordinator {
212
217
  webchat?: {
213
218
  activityDetailDefault: "stream" | "on" | "off";
214
219
  };
215
- scenes?: {
216
- enabled: boolean;
217
- };
218
220
  corsOrigins?: string[];
219
221
  publicUrl?: string;
220
222
  dangerouslyAllowHostHeaderOriginFallback?: boolean;
@@ -317,6 +319,7 @@ export declare class GatewayConfigCoordinator {
317
319
  enabled: boolean;
318
320
  maxActionsPerSession: number;
319
321
  maxModelRequests: number;
322
+ maxRescuesPerSession: number;
320
323
  maxSessionDurationMs: number;
321
324
  idleGrantTtlMs: number;
322
325
  };
@@ -326,7 +329,7 @@ export declare class GatewayConfigCoordinator {
326
329
  search?: {
327
330
  maxResults: number;
328
331
  providers: {
329
- type: "brave" | "tavily" | "bing" | "searxng";
332
+ type: "brave" | "tavily" | "bing" | "searxng" | "deepseek";
330
333
  apiKey?: string;
331
334
  url?: string;
332
335
  disabled?: boolean;
@@ -439,7 +442,7 @@ export declare class GatewayConfigCoordinator {
439
442
  a2aApi?: string;
440
443
  realtime?: string;
441
444
  };
442
- capabilities: Record<"shares" | "models" | "connectors" | "tunnels" | "managedRuntime" | "runtimeFleet" | "traceUpload" | "a2a", boolean>;
445
+ capabilities: Record<"models" | "connectors" | "tunnels" | "shares" | "managedRuntime" | "runtimeFleet" | "traceUpload" | "a2a", boolean>;
443
446
  protocols: {
444
447
  xopc: {
445
448
  min: string;
@@ -15,8 +15,8 @@ import { TaskApplicationService } from "../../tasks/task-application-service.js"
15
15
  import { injectSourceContextsIntoUserMessage } from "../../agent/source-context/injector.js";
16
16
  import { deleteMediaUrisNoLongerReferenced } from "../../media/session-references.js";
17
17
  import { fitSourceContextsToBudget } from "../../agent/source-context/budget.js";
18
- import crypto from "node:crypto";
19
18
  import { isDeepStrictEqual } from "node:util";
19
+ import crypto from "node:crypto";
20
20
  //#region src/gateway/service/session-input-coordinator.ts
21
21
  init_session_input_repository();
22
22
  init_connection_wait_repository();
@@ -27,7 +27,6 @@ import { VoiceRealtimeRuntime } from '../voice/realtime/runtime.js';
27
27
  import type { GatewayServiceConfig } from './service/types.js';
28
28
  import { type GatewayReadinessSnapshot } from './startup-readiness.js';
29
29
  import { type ConnectorLearningCoordinator } from '../connectors/learning-coordinator.js';
30
- import type { SceneAccess } from '../scenes/httpServices.js';
31
30
  import type { GatewayPrincipal } from './security/gateway-principal.js';
32
31
  import { type ProductLanguage } from '../voice/language-profile.js';
33
32
  import { EndpointToolRuntime } from '../endpoint-tools/index.js';
@@ -45,7 +44,6 @@ export declare class GatewayService {
45
44
  private notesService;
46
45
  private extensionLoader;
47
46
  private extensionMetadataSnapshot;
48
- private sceneHost;
49
47
  private homeIntelligenceHost;
50
48
  private sessionIndex;
51
49
  private running;
@@ -118,7 +116,6 @@ export declare class GatewayService {
118
116
  readonly localApps: LocalAppService;
119
117
  /** Immutable, conversation-scoped UI previews that do not create projects. */
120
118
  readonly chatPreviews: ChatPreviewService;
121
- get sceneAccess(): SceneAccess | undefined;
122
119
  constructor(serviceConfig?: GatewayServiceConfig);
123
120
  /** Lazy AgentService — constructed on first use or during `start()`. */
124
121
  get agentService(): AgentService;
@@ -84,9 +84,10 @@ import { bootstrapApplicationStateSync } from "../bootstrap/application-state.js
84
84
  import { setPairingBroadcastSink } from "../channels/pairing/pairing-events.js";
85
85
  import { registerClarificationChannelRuntime } from "./clarify-runtime.js";
86
86
  import { ChannelManager } from "../channels/manager.js";
87
+ import { configureGatewayHttpProxy } from "../infra/http-proxy-env.js";
88
+ import "../config/index.js";
87
89
  import { ChatPreviewService } from "../chat-previews/service.js";
88
90
  import "../chat-previews/index.js";
89
- import "../config/index.js";
90
91
  import { ManagedComposioEventPoller } from "../connectors/composio-managed-events.js";
91
92
  import { startConnectedKnowledgeCoordinator } from "../knowledge/coordinator.js";
92
93
  import "../knowledge/index.js";
@@ -154,7 +155,6 @@ import { DurableVoiceAgentBroker } from "../voice/realtime/agentBroker.js";
154
155
  import { reconcileMemoryMaintenanceAutomations } from "./memory-maintenance-automation-reconciler.js";
155
156
  import { GatewayReadiness } from "./startup-readiness.js";
156
157
  import { createGatewayStartupTrace } from "./startup-trace.js";
157
- import { GatewaySceneHost } from "./scenes/host.js";
158
158
  import { TaskCollaborationDelivery } from "../tasks/task-collaboration-delivery.js";
159
159
  import { TaskMainUpdateExhaustedError } from "../tasks/task-main-update-retry.js";
160
160
  import { TaskMainUpdateDelivery } from "../tasks/task-main-update-delivery.js";
@@ -202,7 +202,6 @@ var GatewayService = class {
202
202
  notesService;
203
203
  extensionLoader = null;
204
204
  extensionMetadataSnapshot = null;
205
- sceneHost = null;
206
205
  homeIntelligenceHost = null;
207
206
  sessionIndex;
208
207
  running = false;
@@ -377,15 +376,6 @@ var GatewayService = class {
377
376
  localApps;
378
377
  /** Immutable, conversation-scoped UI previews that do not create projects. */
379
378
  chatPreviews;
380
- get sceneAccess() {
381
- return this.sceneHost ? {
382
- services: this.sceneHost.http,
383
- principal: {
384
- ownerId: "local-owner",
385
- workspaceId: this.workspacePath
386
- }
387
- } : void 0;
388
- }
389
379
  constructor(serviceConfig = {}) {
390
380
  this.serviceConfig = serviceConfig;
391
381
  this.bus = new MessageBus();
@@ -395,6 +385,7 @@ var GatewayService = class {
395
385
  markStaleAiUsageEventsUnknown(now - 360 * 60 * 1e3, now);
396
386
  pruneAiUsageEvents(now - AI_USAGE_RETENTION_MS);
397
387
  this.config = loadConfig(this.configPath);
388
+ configureGatewayHttpProxy(this.config.gateway.outboundProxy);
398
389
  let bootstrapConfigChanged = initializeVoiceDefaults(this.config, inferProductLanguageFromEnvironment());
399
390
  if (sanitizeTunnelConfig(this.config)) bootstrapConfigChanged = true;
400
391
  if (bootstrapConfigChanged) saveConfig(this.config, this.configPath).catch((err) => {
@@ -694,7 +685,6 @@ var GatewayService = class {
694
685
  extensionRegistry: this.extensionLoader?.getRegistry(),
695
686
  endpointTools: this.endpointTools,
696
687
  getAutomationService: () => this.automationService,
697
- getSceneAccess: () => this.sceneAccess,
698
688
  getBrowserAutomationService: () => this.browserAutomations,
699
689
  emitBrowserEvent: (type, payload) => this.emit(type, payload),
700
690
  getNotesService: () => this.notesService,
@@ -796,10 +786,6 @@ var GatewayService = class {
796
786
  });
797
787
  },
798
788
  runAgent: async (runId, conversationId, message) => {
799
- for (const adapter of this.sceneHost?.http.activationAdapters.list() ?? []) if (adapter.executeTask && await adapter.executeTask(runId, conversationId)) {
800
- this.ensureAgentService();
801
- return;
802
- }
803
789
  const clientMessageId = new TaskRunRepository().nextAgentInputClientMessageId(runId);
804
790
  const session = await this.sessionIndex.getSessionMetadata(conversationId);
805
791
  if (!session) throw new Error("Task session is unavailable");
@@ -827,12 +813,7 @@ var GatewayService = class {
827
813
  createNotificationService() {
828
814
  if (!this.notificationService) this.notificationService = new NotificationService({
829
815
  publish: (type, payload) => this.realtime.broker.publish("gateway", type, payload),
830
- allowsNotification: (notification) => {
831
- if (!allowsPersonalTaskNotification(notification)) return false;
832
- if (notification.target.kind !== "task") return true;
833
- const taskId = notification.target.taskId;
834
- return (this.sceneHost?.http.activationAdapters.list() ?? []).every((adapter) => adapter.allowsTaskNotification?.(taskId) !== false);
835
- }
816
+ allowsNotification: allowsPersonalTaskNotification
836
817
  });
837
818
  return this.notificationService;
838
819
  }
@@ -1090,8 +1071,7 @@ var GatewayService = class {
1090
1071
  appContextDispatcher() {
1091
1072
  return createProductDispatcher(() => this.notesService, {
1092
1073
  getProjects: () => this.projects,
1093
- getLocalApps: () => this.localApps,
1094
- getSceneAccess: () => this.sceneAccess
1074
+ getLocalApps: () => this.localApps
1095
1075
  });
1096
1076
  }
1097
1077
  prepareSessionAppContext(input, principal, conversationId, clientMessageId) {
@@ -1244,8 +1224,6 @@ var GatewayService = class {
1244
1224
  await this.startRuntime();
1245
1225
  } catch (err) {
1246
1226
  await this.stop().catch((cleanupError) => log.error({ err: cleanupError }, "Gateway startup cleanup failed"));
1247
- await this.sceneHost?.stop();
1248
- this.sceneHost = null;
1249
1227
  this.homeIntelligenceHost?.stop();
1250
1228
  this.homeIntelligenceHost = null;
1251
1229
  this.stopRealtimeLogBridge?.();
@@ -1311,14 +1289,6 @@ var GatewayService = class {
1311
1289
  this.stopTaskResultQueued = onTaskResultQueued(() => this.taskResultDispatch());
1312
1290
  this.taskRunDispatchTimer = setInterval(() => this.dispatchTaskRuns(), 1e3);
1313
1291
  this.taskRunDispatchTimer.unref?.();
1314
- if (this.config.gateway?.scenes?.enabled === true) this.sceneHost = new GatewaySceneHost(getSqliteDatabase(), {
1315
- principal: {
1316
- ownerId: "local-owner",
1317
- workspaceId: this.workspacePath
1318
- },
1319
- config: () => this.config,
1320
- publish: (type, notification) => this.realtime.broker.publish("gateway", type, notification)
1321
- });
1322
1292
  this.startupTrace = createGatewayStartupTrace();
1323
1293
  this.readiness.markStarting(this.startTime);
1324
1294
  const trace = this.startupTrace;
@@ -1514,7 +1484,6 @@ var GatewayService = class {
1514
1484
  import("../share/share-auto.js").then(({ runStagingSweep }) => runStagingSweep([...new Set([getDefaultAgentId(), ...listAgentEntries().map((entry) => entry.id)])].map((agentId) => resolveAgentWorkspaceDir(agentId)))).catch((err) => log.warn({ err }, "Share staging sweep failed"));
1515
1485
  if (this.serviceConfig.deferChannelConnectUntilAfterHttp !== true) this.markGatewayReady();
1516
1486
  else trace.mark("service.started-awaiting-http");
1517
- this.sceneHost?.start();
1518
1487
  this.homeIntelligenceHost.start();
1519
1488
  log.debug("Gateway service started");
1520
1489
  }
@@ -1619,8 +1588,6 @@ var GatewayService = class {
1619
1588
  this.readiness.markStarting();
1620
1589
  this.endpointTools.close();
1621
1590
  await this.sideChats.disposeAll();
1622
- await this.sceneHost?.stop();
1623
- this.sceneHost = null;
1624
1591
  this.homeIntelligenceHost?.stop();
1625
1592
  this.homeIntelligenceHost = null;
1626
1593
  this.realtime.close();
@@ -2062,16 +2029,15 @@ var GatewayService = class {
2062
2029
  const runIds = event.payload.deletedUnderstandingRunIds;
2063
2030
  if (Array.isArray(runIds) && runIds.every((id) => typeof id === "string")) this._workDiscovery?.abortDeletedProjectRuns(event.payload.projectId, runIds);
2064
2031
  }
2065
- if (event.type === "note.created" || event.type === "note.updated" || event.type === "note.deleted" || event.type === "task.changed.v2" || event.type === "task.deleted.v1" || event.type === "project.changed" || event.type === "project.created" || event.type === "project.deleted" || event.type === "scene.changed" || event.type === "scene.created" || event.type === "scene.deleted") {
2032
+ if (event.type === "note.created" || event.type === "note.updated" || event.type === "note.deleted" || event.type === "task.changed.v2" || event.type === "task.deleted.v1" || event.type === "project.changed" || event.type === "project.created" || event.type === "project.deleted") {
2066
2033
  const note = event.type.startsWith("note.");
2067
2034
  const project = event.type.startsWith("project.");
2068
- const scene = event.type.startsWith("scene.");
2069
2035
  const payload = event.payload;
2070
- if (typeof payload.sourceEventId === "string") this.realtime.broker.publish(note ? "resources:notes" : project ? "resources:projects" : scene ? "resources:scenes" : "resources:tasks", "resource.changed", {
2036
+ if (typeof payload.sourceEventId === "string") this.realtime.broker.publish(note ? "resources:notes" : project ? "resources:projects" : "resources:tasks", "resource.changed", {
2071
2037
  eventId: payload.sourceEventId,
2072
- kind: note ? "note" : project ? "project" : scene ? "scene" : "task",
2073
- id: note ? payload.noteId : project ? payload.projectId : scene ? payload.sceneId : payload.taskId,
2074
- revision: note || scene ? payload.revision : payload.version,
2038
+ kind: note ? "note" : project ? "project" : "task",
2039
+ id: note ? payload.noteId : project ? payload.projectId : payload.taskId,
2040
+ revision: note ? payload.revision : payload.version,
2075
2041
  operation: event.type === "task.deleted.v1" || event.type.endsWith(".deleted") ? "deleted" : event.type.endsWith(".created") ? "created" : "updated",
2076
2042
  ...typeof payload.operationId === "string" ? { operationId: payload.operationId } : {}
2077
2043
  });
@@ -98,7 +98,7 @@ function buildSystemPrompt(locale) {
98
98
  "Omit optional properties projectId, estimatedMinutes, and degradedActionPrompt when they do not apply; do not use null.",
99
99
  "Every recommendation must cite existing evidence IDs. Do not invent facts, dates, capabilities, or completed work.",
100
100
  "meeting_prep requires calendar evidence. commitment_follow_up requires mail or communication evidence.",
101
- "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 Scene or Automation is eligible.",
101
+ "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
102
  "Prefer outcomes over feature promotion. Mention a connector or skill only when it materially enables the outcome.",
103
103
  "When useful work remains possible without a missing capability, provide degradedActionPrompt using only supplied evidence.",
104
104
  "External writes always require user confirmation.",
@@ -140,11 +140,6 @@ var HomeAdvicePolicy = class {
140
140
  successCount
141
141
  } };
142
142
  }
143
- if (successCount === 1) return { continuation: {
144
- kind: "scene",
145
- reason: "prior_success",
146
- href: "/scenes"
147
- } };
148
143
  return {};
149
144
  }
150
145
  };
@@ -37,7 +37,7 @@ export interface HomeOpportunityFeedbackInput {
37
37
  scope?: Record<string, unknown>;
38
38
  snoozedUntil?: number;
39
39
  resolution?: {
40
- kind: 'session' | 'task' | 'scene';
40
+ kind: 'session' | 'task';
41
41
  ref: string;
42
42
  };
43
43
  }
@@ -13,7 +13,7 @@ var DomainOutboxDispatcher = class {
13
13
  automationEventPublisher.publish({
14
14
  id: row.event_id,
15
15
  type: row.event_type,
16
- source: row.subject_kind === "note" ? "notes" : row.subject_kind === "project" ? "projects" : row.subject_kind === "scene" ? "scenes" : row.subject_kind === "local_app" ? "local_apps" : "tasks",
16
+ source: row.subject_kind === "note" ? "notes" : row.subject_kind === "project" ? "projects" : row.subject_kind === "local_app" ? "local_apps" : "tasks",
17
17
  schemaVersion: 1,
18
18
  subject: {
19
19
  kind: row.subject_kind,
@@ -1,4 +1,7 @@
1
+ import type { OutboundProxyConfig } from '../config/outbound-proxy.js';
1
2
  type ProxyEnv = Record<string, string | undefined>;
2
3
  export declare function hasProxyEnv(env?: ProxyEnv): boolean;
3
4
  export declare function installGlobalProxyDispatcherFromEnv(env?: ProxyEnv): boolean;
5
+ /** Applied once at Gateway startup; saved changes require a process restart. */
6
+ export declare function configureGatewayHttpProxy(config?: OutboundProxyConfig, env?: ProxyEnv): void;
4
7
  export {};
@@ -1,4 +1,4 @@
1
- import { EnvHttpProxyAgent, setGlobalDispatcher } from "undici";
1
+ import { Agent, EnvHttpProxyAgent, setGlobalDispatcher } from "undici";
2
2
  //#region src/infra/http-proxy-env.ts
3
3
  const PROXY_ENV_KEYS = [
4
4
  "http_proxy",
@@ -17,5 +17,25 @@ function installGlobalProxyDispatcherFromEnv(env = process.env) {
17
17
  return true;
18
18
  }
19
19
  installGlobalProxyDispatcherFromEnv();
20
+ /** Applied once at Gateway startup; saved changes require a process restart. */
21
+ function configureGatewayHttpProxy(config, env = process.env) {
22
+ if (config?.mode === "direct") {
23
+ setGlobalDispatcher(new Agent());
24
+ return;
25
+ }
26
+ const httpProxy = config?.mode === "custom" ? config.url : env.http_proxy ?? env.HTTP_PROXY ?? "";
27
+ const httpsProxy = config?.mode === "custom" ? config.url : env.https_proxy ?? env.HTTPS_PROXY ?? httpProxy;
28
+ const bypass = [config?.mode === "custom" ? "" : env.no_proxy ?? env.NO_PROXY ?? "", config?.noProxy ?? ""];
29
+ setGlobalDispatcher(new EnvHttpProxyAgent({
30
+ httpProxy,
31
+ httpsProxy,
32
+ noProxy: bypass.some((value) => value.split(/[,\s]+/).includes("*")) ? "*" : [
33
+ "localhost",
34
+ "127.0.0.1",
35
+ "::1",
36
+ ...bypass
37
+ ].filter(Boolean).join(",")
38
+ }));
39
+ }
20
40
  //#endregion
21
- export { hasProxyEnv, installGlobalProxyDispatcherFromEnv };
41
+ export { configureGatewayHttpProxy, hasProxyEnv, installGlobalProxyDispatcherFromEnv };
@@ -1,5 +1,4 @@
1
1
  import { type NotificationPlan } from './planner.js';
2
- import type { NotificationDomainDelivery } from './domain-delivery.js';
3
2
  import { sendHarmonyPush } from './harmony-push.js';
4
3
  export declare class NotificationService {
5
4
  private readonly options;
@@ -10,7 +9,6 @@ export declare class NotificationService {
10
9
  constructor(options: {
11
10
  publish: (type: string, payload: unknown) => void;
12
11
  fetch?: typeof fetch;
13
- domainDelivery?: NotificationDomainDelivery;
14
12
  allowsNotification?: (notification: NotificationPlan['notification']) => boolean;
15
13
  sendHarmony?: typeof sendHarmonyPush;
16
14
  });
@@ -21,7 +19,7 @@ export declare class NotificationService {
21
19
  persistGatewayEvent(type: string, payload: unknown): {
22
20
  schemaVersion: 1;
23
21
  id: string;
24
- type: "work_discovery.completed" | "work_discovery.failed" | "scene.result" | "scene.digest" | "chat.needs_input" | "chat.completed" | "chat.failed" | "task.needs_input" | "task.blocked" | "task.failed" | "task.completed" | "automation.completed" | "automation.failed" | "home.opportunity";
22
+ type: "work_discovery.completed" | "work_discovery.failed" | "chat.needs_input" | "chat.completed" | "chat.failed" | "task.needs_input" | "task.blocked" | "task.failed" | "task.completed" | "automation.completed" | "automation.failed" | "home.opportunity";
25
23
  priority: "normal" | "high";
26
24
  title: {
27
25
  en: string;
@@ -30,13 +28,6 @@ export declare class NotificationService {
30
28
  payload: Record<string, unknown>;
31
29
  createdAt: number;
32
30
  target?: {
33
- kind: "scene_result";
34
- activationId: string;
35
- presentationId: string;
36
- } | {
37
- kind: "scene_digest";
38
- digestId: string;
39
- } | {
40
31
  kind: "chat";
41
32
  conversationId: string;
42
33
  personal?: boolean;
@@ -62,7 +53,7 @@ export declare class NotificationService {
62
53
  persistPlan(plan: NotificationPlan): {
63
54
  schemaVersion: 1;
64
55
  id: string;
65
- type: "work_discovery.completed" | "work_discovery.failed" | "scene.result" | "scene.digest" | "chat.needs_input" | "chat.completed" | "chat.failed" | "task.needs_input" | "task.blocked" | "task.failed" | "task.completed" | "automation.completed" | "automation.failed" | "home.opportunity";
56
+ type: "work_discovery.completed" | "work_discovery.failed" | "chat.needs_input" | "chat.completed" | "chat.failed" | "task.needs_input" | "task.blocked" | "task.failed" | "task.completed" | "automation.completed" | "automation.failed" | "home.opportunity";
66
57
  priority: "normal" | "high";
67
58
  title: {
68
59
  en: string;
@@ -71,13 +62,6 @@ export declare class NotificationService {
71
62
  payload: Record<string, unknown>;
72
63
  createdAt: number;
73
64
  target?: {
74
- kind: "scene_result";
75
- activationId: string;
76
- presentationId: string;
77
- } | {
78
- kind: "scene_digest";
79
- digestId: string;
80
- } | {
81
65
  kind: "chat";
82
66
  conversationId: string;
83
67
  personal?: boolean;
@@ -1,17 +1,15 @@
1
1
  import { createLogger } from "../utils/logger/index.js";
2
2
  import { init_logger } from "../utils/logger.js";
3
- import { init_transaction, runSqliteWriteTransaction } from "../storage/sqlite/transaction.js";
4
3
  import { localizeNotification } from "../../packages/gateway-contract/src/notifications.js";
5
4
  import { init_src } from "../../packages/gateway-contract/src/index.js";
6
5
  import { getOrCreateGatewayIdentity, init_gateway_identity_repository } from "../storage/sqlite/gateway-identity-repository.js";
7
6
  import { getNotificationDevice, listDeliverableNotificationDevices } from "./device-store.js";
8
7
  import { notificationPlanFromGatewayEvent } from "./planner.js";
9
- import { cancelNotificationDelivery, createNotificationEvent, deferNotificationDelivery, expireUndeliverableNotificationDeliveries, listDueNotificationDeliveries, markNotificationDeliveryAccepted, markNotificationDeliveryDead, pruneNotificationEvents, rescheduleNotificationDelivery } from "./store.js";
8
+ import { cancelNotificationDelivery, createNotificationEvent, expireUndeliverableNotificationDeliveries, listDueNotificationDeliveries, markNotificationDeliveryAccepted, markNotificationDeliveryDead, pruneNotificationEvents, rescheduleNotificationDelivery } from "./store.js";
10
9
  import { sendHarmonyPush } from "./harmony-push.js";
11
10
  import { flushClarificationNotifications, isClarificationNotificationActionable } from "./clarification.js";
12
11
  //#region src/notifications/service.ts
13
12
  init_src();
14
- init_transaction();
15
13
  init_logger();
16
14
  init_gateway_identity_repository();
17
15
  const log = createLogger("Notifications");
@@ -81,23 +79,16 @@ var NotificationService = class {
81
79
  }
82
80
  /** Throws on persistence failure so durable producers can retry the handoff. */
83
81
  persistGatewayEvent(type, payload) {
84
- const plan = notificationPlanFromGatewayEvent(type, payload) ?? this.options.domainDelivery?.planEvent(type, payload);
82
+ const plan = notificationPlanFromGatewayEvent(type, payload);
85
83
  if (!plan) return null;
86
84
  return this.persistPlan(plan);
87
85
  }
88
86
  persistPlan(plan) {
89
87
  if (this.options.allowsNotification?.(plan.notification) === false) return null;
90
- const domain = this.options.domainDelivery?.owns(plan.notification.type) ? this.options.domainDelivery : void 0;
91
- if (!domain && !Object.hasOwn(STANDARD_PREFERENCES, plan.notification.type)) throw new Error("Notification domain delivery is not installed");
92
- const devices = listDeliverableNotificationDevices().filter((device) => domain ? domain.allowsDevice(device.preferences) : preferenceAllows(plan.notification.type, device.preferences));
93
- const result = runSqliteWriteTransaction(() => {
94
- const selection = domain?.prepare(plan, devices);
95
- const created = createNotificationEvent({
96
- ...selection?.plan ?? plan,
97
- deviceIds: selection?.deviceIds ?? devices.map((device) => device.id)
98
- });
99
- if (created.created) selection?.enqueue(created.notification);
100
- return created;
88
+ const devices = listDeliverableNotificationDevices().filter((device) => preferenceAllows(plan.notification.type, device.preferences));
89
+ const result = createNotificationEvent({
90
+ ...plan,
91
+ deviceIds: devices.map((device) => device.id)
101
92
  });
102
93
  return result.created ? result.notification : null;
103
94
  }
@@ -115,9 +106,7 @@ var NotificationService = class {
115
106
  this.lastMaintenanceAt = now;
116
107
  }
117
108
  for (const notification of flushClarificationNotifications((plan) => this.persistPlan(plan))) this.options.publish("notification.created", notification);
118
- for (const notification of this.options.domainDelivery?.flush((plan) => this.persistPlan(plan)) ?? []) this.options.publish("notification.created", notification);
119
109
  await this.deliverPending();
120
- await this.options.domainDelivery?.drain();
121
110
  } catch (err) {
122
111
  log.warn({ err }, "Notification delivery pass failed");
123
112
  } finally {
@@ -145,28 +134,8 @@ var NotificationService = class {
145
134
  cancelNotificationDelivery(delivery.event.id, delivery.deviceId);
146
135
  return;
147
136
  }
148
- const domain = this.options.domainDelivery?.owns(delivery.event.type) ? this.options.domainDelivery : void 0;
149
- if (!domain && !Object.hasOwn(STANDARD_PREFERENCES, delivery.event.type)) {
150
- markNotificationDeliveryDead(delivery.event.id, delivery.deviceId, "Notification domain delivery is not installed");
151
- return;
152
- }
153
- if (domain) {
154
- const policy = domain.recheckMobile(delivery.event);
155
- if (policy === "cancel") {
156
- markNotificationDeliveryDead(delivery.event.id, delivery.deviceId, "Notification policy changed");
157
- return;
158
- }
159
- if (policy instanceof Date) {
160
- deferNotificationDelivery(delivery.event.id, delivery.deviceId, policy.getTime());
161
- return;
162
- }
163
- }
164
137
  const fetchImpl = this.options.fetch ?? fetch;
165
138
  const localized = localizeNotification(delivery.event, delivery.locale);
166
- const preview = domain?.mobilePreview(delivery.event, delivery.locale) ?? {
167
- title: localized.localizedTitle,
168
- body: localized.localizedBody
169
- };
170
139
  try {
171
140
  if (delivery.platform !== "harmonyos") {
172
141
  markNotificationDeliveryDead(delivery.event.id, delivery.deviceId, "Native push provider is not configured");
@@ -177,8 +146,8 @@ var NotificationService = class {
177
146
  eventId: delivery.event.id,
178
147
  gatewayId: getOrCreateGatewayIdentity().id,
179
148
  target: delivery.event.target,
180
- title: preview.title,
181
- body: preview.body,
149
+ title: localized.localizedTitle,
150
+ body: localized.localizedBody,
182
151
  ...delivery.event.type === "chat.needs_input" && typeof delivery.event.payload.expiresAt === "number" ? { expiresAt: delivery.event.payload.expiresAt } : {}
183
152
  }, fetchImpl);
184
153
  markNotificationDeliveryAccepted(delivery.event.id, delivery.deviceId, ticket, Number.MAX_SAFE_INTEGER);
@@ -55,6 +55,5 @@ export declare function notificationDeliveryMetrics(): {
55
55
  };
56
56
  export declare function expireUndeliverableNotificationDeliveries(now?: number): number;
57
57
  export declare function pruneNotificationEvents(before: number): number;
58
- export declare function deferNotificationDelivery(eventId: string, deviceId: string, nextAttemptAt: number): void;
59
58
  export declare function getNotificationEvent(id: string): ProductNotification | null;
60
59
  export declare function cancelNotificationDelivery(eventId: string, deviceId: string): void;
@@ -184,9 +184,6 @@ function pruneNotificationEvents(before) {
184
184
  AND d.status IN ('pending', 'accepted')
185
185
  )`).run(before).changes));
186
186
  }
187
- function deferNotificationDelivery(eventId, deviceId, nextAttemptAt) {
188
- getSqliteDatabase().prepare("UPDATE notification_deliveries SET next_attempt_at = ?, last_error = 'Notification quiet hours' WHERE event_id = ? AND device_id = ? AND status = 'pending'").run(nextAttemptAt, eventId, deviceId);
189
- }
190
187
  function getNotificationEvent(id) {
191
188
  const row = getSqliteDatabase().prepare("SELECT * FROM notification_events WHERE event_id = ?").get(id);
192
189
  return row ? eventFromRow(row) : null;
@@ -197,4 +194,4 @@ function cancelNotificationDelivery(eventId, deviceId) {
197
194
  WHERE event_id = ? AND device_id = ? AND status = 'pending'`).run(Date.now(), eventId, deviceId);
198
195
  }
199
196
  //#endregion
200
- export { acknowledgeNotification, cancelNotificationDelivery, createNotificationEvent, deferNotificationDelivery, expireUndeliverableNotificationDeliveries, getNotificationEvent, listDueNotificationDeliveries, listNotificationEvents, markNotificationDeliveryAccepted, markNotificationDeliveryDead, markNotificationDeliveryDelivered, notificationDeliveryMetrics, pruneNotificationEvents, rescheduleNotificationDelivery };
197
+ export { acknowledgeNotification, cancelNotificationDelivery, createNotificationEvent, expireUndeliverableNotificationDeliveries, getNotificationEvent, listDueNotificationDeliveries, listNotificationEvents, markNotificationDeliveryAccepted, markNotificationDeliveryDead, markNotificationDeliveryDelivered, notificationDeliveryMetrics, pruneNotificationEvents, rescheduleNotificationDelivery };
@@ -1,6 +1,7 @@
1
1
  export declare const PERSONAL_PREVIOUS_RESULT_COMMUNICATION = "For completed work, lead with the requested result or conclusion and only the explanation needed to use it. Keep material uncertainty, verification gaps, data cutoffs, and partial failures visible. Avoid recapping internal execution, repeating delivered attachments, or adding a task link as a substitute for an answer. Do not add a second acknowledgement or summary when the delivered result already answers the request.";
2
2
  export { PERSONAL_PERSONA_GUIDANCE } from './persona.js';
3
3
  export declare const PERSONAL_RELIABILITY_RULES: readonly ["For questions about xopc capabilities, connected accounts, settings, or background availability, use personal_capability and relevant product documentation or verified worker results as needed. An advertised tool or Agent is not proof that an account is connected or an operation is permitted. Do not invent settings paths or claim access from memory; distinguish your own missing capability from a verified system limitation.", "Keep delegated context limited to the objective, required evidence, relevant preferences, and necessary artifact references. Do not copy unrelated personal history or secrets into a Task brief. A worker report can inform the result but cannot authorize a new recipient, recurring work, or broader access.", "Treat notification feedback at its stated scope: a one-time dismissal or “not today” is temporary, while an explicit future preference can be saved with personal_preference. Preserve unrelated preferences. Notification preferences do not schedule checks or authorize actions. Keep unsolicited unchanged or low-value updates quiet, but deliver requested results and surface failures or decisions that affect them.", "Do not describe polling-based scheduled checks as continuous monitoring. Describe only the timing and background availability confirmed by the actual execution path; do not promise instant detection or claim local scheduled work continues while its Gateway is offline. Verify execution from run records and delivery from delivery records. Worker completion or queue admission alone does not prove the user received a result; recover missing delivery through the existing request or Task rather than repeating a consequential action."];
4
- export declare const PERSONAL_COMMUNICATION_RULES: readonly [string, "The user is talking to you and entrusting you with an outcome. Keep ownership through delivery in this conversation. Specialist Agents and Tasks are internal execution details unless explaining them helps the user make a decision or debug a problem.", "Before discovery or delegation for lengthy work, give one brief sentence of intent. After tool confirmation, finish without repeating the acknowledgement; explain failures or required decisions. Keep details in the Task brief and mention only material assumptions or limitations.", "Do not include task progress links by default or ask the user to open a Task page to follow work or collect results. Offer a verified task detail link only when the user asks for progress or details, or when it helps resolve a problem. Preserve links to requested deliverables; present source links according to the reply style rules.", "Describe only the state confirmed by tool results. Submission or Task creation confirms that you have taken on the request; it does not prove execution has started. Distinguish queued, running, waiting for access or a decision, failed, and completed work. Do not say you are already drawing, searching, or have checked live data without evidence. Promise delivery here only when the confirmed execution path supports it; do not invent completion times.", "Keep routine progress private unless the user requests it. Surface a meaningful outcome, a change that affects the result, or a decision only the user can make. Resolve worker questions from the conversation first. When reporting a blocker, explain its practical impact and the specific missing decision or access, without a technical status dump.", "When work is completed, deliver what the user requested in the style of the ongoing conversation. Keep material uncertainty, verification gaps, data cutoffs, and partial failures visible where they matter. Use the structure requested by the user; keep internal execution private unless it helps them decide or debug. Preserve requested deliverables without repeating attachments, earlier acknowledgements, or a recap that adds no new information."];
4
+ export declare const PRE_COMPACT_PERSONAL_COMMUNICATION_RULES: readonly [string, "The user is talking to you and entrusting you with an outcome. Keep ownership through delivery in this conversation. Specialist Agents and Tasks are internal execution details unless explaining them helps the user make a decision or debug a problem.", "Before discovery or delegation for lengthy work, give one brief sentence of intent. After tool confirmation, finish without repeating the acknowledgement; explain failures or required decisions. Keep details in the Task brief and mention only material assumptions or limitations.", "Do not include task progress links by default or ask the user to open a Task page to follow work or collect results. Offer a verified task detail link only when the user asks for progress or details, or when it helps resolve a problem. Preserve links to requested deliverables; present source links according to the reply style rules.", "Describe only the state confirmed by tool results. Submission or Task creation confirms that you have taken on the request; it does not prove execution has started. Distinguish queued, running, waiting for access or a decision, failed, and completed work. Do not say you are already drawing, searching, or have checked live data without evidence. Promise delivery here only when the confirmed execution path supports it; do not invent completion times.", "Keep routine progress private unless the user requests it. Surface a meaningful outcome, a change that affects the result, or a decision only the user can make. Resolve worker questions from the conversation first. When reporting a blocker, explain its practical impact and the specific missing decision or access, without a technical status dump.", "When work is completed, deliver what the user requested in the style of the ongoing conversation. Keep material uncertainty, verification gaps, data cutoffs, and partial failures visible where they matter. Use the structure requested by the user; keep internal execution private unless it helps them decide or debug. Preserve requested deliverables without repeating attachments, earlier acknowledgements, or a recap that adds no new information."];
5
+ export declare const PERSONAL_COMMUNICATION_RULES: readonly [string, "Own delivery in this conversation. Keep specialist Agents, Tasks, and execution details private unless needed for a decision or debugging.", "Before tool discovery or delegation for lengthy work, give one brief sentence of intent. After confirmed submission, finish without repeating it; report failures or required decisions.", "Do not include task progress links by default. Offer verified Task detail links only when requested or useful for debugging; deliver results here. Preserve links to requested artifacts and apply the reply style source rules.", "Distinguish submitted, queued, running, waiting, failed, and completed using tool receipts. Submission is receipt; it does not prove execution has started. Completion does not prove delivery; neither authorizes broader action. Never invent completion times.", "Keep routine progress private. Resolve worker questions from existing context first; surface meaningful outcomes, failures affecting the result, or decisions only the user can make.", "Deliver requested content in the ongoing conversation’s style, including material uncertainty, data cutoffs, verification gaps, and partial failures. Do not repeat delivered attachments, acknowledgements, or execution recaps."];
5
6
  export declare const PERSONAL_WORKER_RESULT_GUIDANCE: string;
6
7
  export declare const PERSONAL_PREVIOUS_DELEGATION_COMMUNICATION = "After successful delegation, acknowledge what you have taken on in one or two natural sentences, then finish the turn. Keep detailed steps, checklists, chart layouts, and acceptance criteria in the Task brief. Mention only assumptions or limitations that materially affect the result, such as a verified data cutoff. Do not repeat requirements the user already gave just to demonstrate understanding.";
@@ -7,7 +7,7 @@ const PERSONAL_RELIABILITY_RULES = [
7
7
  "Treat notification feedback at its stated scope: a one-time dismissal or “not today” is temporary, while an explicit future preference can be saved with personal_preference. Preserve unrelated preferences. Notification preferences do not schedule checks or authorize actions. Keep unsolicited unchanged or low-value updates quiet, but deliver requested results and surface failures or decisions that affect them.",
8
8
  "Do not describe polling-based scheduled checks as continuous monitoring. Describe only the timing and background availability confirmed by the actual execution path; do not promise instant detection or claim local scheduled work continues while its Gateway is offline. Verify execution from run records and delivery from delivery records. Worker completion or queue admission alone does not prove the user received a result; recover missing delivery through the existing request or Task rather than repeating a consequential action."
9
9
  ];
10
- const PERSONAL_COMMUNICATION_RULES = [
10
+ const PRE_COMPACT_PERSONAL_COMMUNICATION_RULES = [
11
11
  PERSONAL_PERSONA_GUIDANCE,
12
12
  "The user is talking to you and entrusting you with an outcome. Keep ownership through delivery in this conversation. Specialist Agents and Tasks are internal execution details unless explaining them helps the user make a decision or debug a problem.",
13
13
  "Before discovery or delegation for lengthy work, give one brief sentence of intent. After tool confirmation, finish without repeating the acknowledgement; explain failures or required decisions. Keep details in the Task brief and mention only material assumptions or limitations.",
@@ -16,6 +16,15 @@ const PERSONAL_COMMUNICATION_RULES = [
16
16
  "Keep routine progress private unless the user requests it. Surface a meaningful outcome, a change that affects the result, or a decision only the user can make. Resolve worker questions from the conversation first. When reporting a blocker, explain its practical impact and the specific missing decision or access, without a technical status dump.",
17
17
  "When work is completed, deliver what the user requested in the style of the ongoing conversation. Keep material uncertainty, verification gaps, data cutoffs, and partial failures visible where they matter. Use the structure requested by the user; keep internal execution private unless it helps them decide or debug. Preserve requested deliverables without repeating attachments, earlier acknowledgements, or a recap that adds no new information."
18
18
  ];
19
+ const PERSONAL_COMMUNICATION_RULES = [
20
+ PERSONAL_PERSONA_GUIDANCE,
21
+ "Own delivery in this conversation. Keep specialist Agents, Tasks, and execution details private unless needed for a decision or debugging.",
22
+ "Before tool discovery or delegation for lengthy work, give one brief sentence of intent. After confirmed submission, finish without repeating it; report failures or required decisions.",
23
+ "Do not include task progress links by default. Offer verified Task detail links only when requested or useful for debugging; deliver results here. Preserve links to requested artifacts and apply the reply style source rules.",
24
+ "Distinguish submitted, queued, running, waiting, failed, and completed using tool receipts. Submission is receipt; it does not prove execution has started. Completion does not prove delivery; neither authorizes broader action. Never invent completion times.",
25
+ "Keep routine progress private. Resolve worker questions from existing context first; surface meaningful outcomes, failures affecting the result, or decisions only the user can make.",
26
+ "Deliver requested content in the ongoing conversation’s style, including material uncertainty, data cutoffs, verification gaps, and partial failures. Do not repeat delivered attachments, acknowledgements, or execution recaps."
27
+ ];
19
28
  const PERSONAL_WORKER_RESULT_GUIDANCE = [
20
29
  "## Result for the originating conversation",
21
30
  "For ordinary Tasks when publish_task_result is available, use it before completion to review the actual result. Connected Requests use their own structured result tool instead. When files were published, finalArtifactIds must select the exact final artifact IDs from publication receipts, including [] for a text-only result. Exclude intermediate, obsolete and failed files; publication history is not the final delivery manifest.",
@@ -24,4 +33,4 @@ const PERSONAL_WORKER_RESULT_GUIDANCE = [
24
33
  ].join("\n");
25
34
  const PERSONAL_PREVIOUS_DELEGATION_COMMUNICATION = "After successful delegation, acknowledge what you have taken on in one or two natural sentences, then finish the turn. Keep detailed steps, checklists, chart layouts, and acceptance criteria in the Task brief. Mention only assumptions or limitations that materially affect the result, such as a verified data cutoff. Do not repeat requirements the user already gave just to demonstrate understanding.";
26
35
  //#endregion
27
- export { PERSONAL_COMMUNICATION_RULES, PERSONAL_PERSONA_GUIDANCE, PERSONAL_PREVIOUS_DELEGATION_COMMUNICATION, PERSONAL_PREVIOUS_RESULT_COMMUNICATION, PERSONAL_RELIABILITY_RULES, PERSONAL_WORKER_RESULT_GUIDANCE };
36
+ export { PERSONAL_COMMUNICATION_RULES, PERSONAL_PERSONA_GUIDANCE, PERSONAL_PREVIOUS_DELEGATION_COMMUNICATION, PERSONAL_PREVIOUS_RESULT_COMMUNICATION, PERSONAL_RELIABILITY_RULES, PERSONAL_WORKER_RESULT_GUIDANCE, PRE_COMPACT_PERSONAL_COMMUNICATION_RULES };