@xopcai/xopc 0.0.321 → 0.0.324

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 (709) hide show
  1. package/dist/browser-ext/dist/assets/{auth-DKo-NMUY.js → auth-DocRzRlS.js} +95 -21
  2. package/dist/browser-ext/dist/background.js +1 -1
  3. package/dist/browser-ext/dist/sidepanel.html +1 -1
  4. package/dist/browser-ext/dist/sidepanel.js +18 -2
  5. package/dist/browser-ext/manifest.json +1 -1
  6. package/dist/extensions/telegram/xopc.extension.json +1 -1
  7. package/dist/extensions/weixin/src/plugin.js +1 -9
  8. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-C69p1Gbr.js → agent-avatar-dicebear-B-Gczr_A.js} +1 -1
  9. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-CxcIHW_Z.js +1 -0
  10. package/dist/gateway/static/root/assets/agent-plugin-dialog-CNuqJcHQ.js +1 -0
  11. package/dist/gateway/static/root/assets/{agents-CWR3p3t3.js → agents-CPpmkx7O.js} +1 -1
  12. package/dist/gateway/static/root/assets/{app-link-nL8iPwEr.js → app-link-C6gA5Nck.js} +1 -1
  13. package/dist/gateway/static/root/assets/{app-management-settings-panel-D98bt40S.js → app-management-settings-panel-BwWdVRlb.js} +1 -1
  14. package/dist/gateway/static/root/assets/{appearance-settings-ChMUELAZ.js → appearance-settings-EoXNDO1j.js} +1 -1
  15. package/dist/gateway/static/root/assets/apps-page-6xEgLDv8.js +1 -0
  16. package/dist/gateway/static/root/assets/{archive-plugin-BIIiu6uP.js → archive-plugin-B_T0uMvL.js} +1 -1
  17. package/dist/gateway/static/root/assets/{attachment-load-CDJpcsCp.js → attachment-load-D9DDwxd2.js} +1 -1
  18. package/dist/gateway/static/root/assets/{automations-page-Cb5a_WOk.js → automations-page-jI9vNr2r.js} +1 -1
  19. package/dist/gateway/static/root/assets/automations-workspace-rztQnZDk.js +7 -0
  20. package/dist/gateway/static/root/assets/{binary-plugins-zp55zQPu.js → binary-plugins-Dzsxh9OL.js} +1 -1
  21. package/dist/gateway/static/root/assets/{block-editor-B0CTIZb-.js → block-editor-CWUUgWWk.js} +3 -3
  22. package/dist/gateway/static/root/assets/{browser-automation-inputs-Bx3W4J4H.js → browser-automation-inputs-DSWXq9lI.js} +1 -1
  23. package/dist/gateway/static/root/assets/{browser-automations-page-D5Lr9b8a.js → browser-automations-page-D96o3bDY.js} +2 -2
  24. package/dist/gateway/static/root/assets/browser-settings-page-DUQzQ3ic.js +3 -0
  25. package/dist/gateway/static/root/assets/capabilities-sAZT4brT.js +1 -0
  26. package/dist/gateway/static/root/assets/capabilities-settings-panel-CKWtXof8.js +8 -0
  27. package/dist/gateway/static/root/assets/channels-settings-C8ducWB7.js +1 -0
  28. package/dist/gateway/static/root/assets/{chat-terminal-dock-1I1PdIq0.js → chat-terminal-dock-WXZrEB3K.js} +2 -2
  29. package/dist/gateway/static/root/assets/{computer-settings-page-BT-EfoI6.js → computer-settings-page-uy9YDwxJ.js} +1 -1
  30. package/dist/gateway/static/root/assets/{connector-service-page-mhQ-19tj.js → connector-service-page-BpF0SjB9.js} +1 -1
  31. package/dist/gateway/static/root/assets/connectors-page-eZTfIMWI.js +2 -0
  32. package/dist/gateway/static/root/assets/date-picker-Do1dl0La.js +1 -0
  33. package/dist/gateway/static/root/assets/{dependency-picker-DLDLJx3D.js → dependency-picker-BhS8s080.js} +1 -1
  34. package/dist/gateway/static/root/assets/{desktop-pet-kSFeHyrt.js → desktop-pet-DPVPqFlh.js} +1 -1
  35. package/dist/gateway/static/root/assets/{desktop-pet-settings-BjY7DqD7.js → desktop-pet-settings-Dv3vG9HZ.js} +1 -1
  36. package/dist/gateway/static/root/assets/device-pairing-wizard-DdvO1O6W.js +1 -0
  37. package/dist/gateway/static/root/assets/dist-3h6cXXhT.js +1 -0
  38. package/dist/gateway/static/root/assets/{extension-debug-page-DbWJDT4X.js → extension-debug-page-cuG5Lnwf.js} +1 -1
  39. package/dist/gateway/static/root/assets/{extension-page-lAC_2xWA.js → extension-page-BCTAXdyE.js} +1 -1
  40. package/dist/gateway/static/root/assets/{extension-settings-page-jFy1NJg9.js → extension-settings-page-kadW_icu.js} +1 -1
  41. package/dist/gateway/static/root/assets/{gateway-config-swr-B7WpH3VW.js → gateway-config-swr-CoQVulMd.js} +1 -1
  42. package/dist/gateway/static/root/assets/gateway-settings-CLZyN-u9.js +1 -0
  43. package/dist/gateway/static/root/assets/{gateway-startup-retry-C8F_z865.js → gateway-startup-retry-B5GJ-CQV.js} +1 -1
  44. package/dist/gateway/static/root/assets/home-page-BSqg-JE9.js +1 -0
  45. package/dist/gateway/static/root/assets/{image-generation-api-Dc7d0_7q.js → image-generation-api-DvWDkbk1.js} +1 -1
  46. package/dist/gateway/static/root/assets/{imports-page-_fMvJvzM.js → imports-page-_pddpuej.js} +1 -1
  47. package/dist/gateway/static/root/assets/index-BKL5tg2f.css +1 -0
  48. package/dist/gateway/static/root/assets/index-CJuypaNt.js +121 -0
  49. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-CHnZYx1U.js → keyboard-shortcuts-settings-C1fKIjz4.js} +1 -1
  50. package/dist/gateway/static/root/assets/local-app-workbench-page-DXFnYiA0.js +1 -0
  51. package/dist/gateway/static/root/assets/local-apps-Bpja8nC6.js +1 -0
  52. package/dist/gateway/static/root/assets/local-apps-page-CkXKS5xe.js +1 -0
  53. package/dist/gateway/static/root/assets/{locale-store-D9krC43K.js → locale-store-BPZR8x9b.js} +1 -1
  54. package/dist/gateway/static/root/assets/logs-page-C33z-ife.js +2 -0
  55. package/dist/gateway/static/root/assets/management-settings-8eDZb0uS.js +1 -0
  56. package/dist/gateway/static/root/assets/{markdown-view-CurpvCbB.js → markdown-view-Dft8ASFD.js} +1 -1
  57. package/dist/gateway/static/root/assets/{media-plugins-CYldyH6K.js → media-plugins-Cjj-fidX.js} +1 -1
  58. package/dist/gateway/static/root/assets/messages-kFWhF6_t.js +3 -0
  59. package/dist/gateway/static/root/assets/note-detail-panel-C95RtLuL.js +5 -0
  60. package/dist/gateway/static/root/assets/notes-page-kFxknjMR.js +8 -0
  61. package/dist/gateway/static/root/assets/{page-context-capture-button-DZOiI84c.js → page-context-capture-button-OUL3fEYh.js} +1 -1
  62. package/dist/gateway/static/root/assets/{page-tabs-C-XCf9cR.js → page-tabs-CVbY7_N5.js} +1 -1
  63. package/dist/gateway/static/root/assets/popover-select-DcsFzD_i.js +1 -0
  64. package/dist/gateway/static/root/assets/{preview-open-alternatives-CvgeoEU8.js → preview-open-alternatives-CKiIby0r.js} +1 -1
  65. package/dist/gateway/static/root/assets/product-delivery-bv3z8Xkh.js +1 -0
  66. package/dist/gateway/static/root/assets/product-open-page-DlpCi5zT.js +1 -0
  67. package/dist/gateway/static/root/assets/project-detail-page-LPAxUszX.js +1 -0
  68. package/dist/gateway/static/root/assets/projects-page-Cbyb4hyy.js +1 -0
  69. package/dist/gateway/static/root/assets/{registry-api-cK-g8BDq.js → registry-api-DWWO6ajd.js} +1 -1
  70. package/dist/gateway/static/root/assets/remote-access-hub-BtDFZc6g.js +1 -0
  71. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-DlUodTo-.js → runtime-tools-settings-panel-BT_ANpaT.js} +2 -2
  72. package/dist/gateway/static/root/assets/scenes-page-CJlc-mg1.js +2 -0
  73. package/dist/gateway/static/root/assets/{schema-form-BfboLCeN.js → schema-form-BcqsqSsV.js} +1 -1
  74. package/dist/gateway/static/root/assets/sessions-page-CUo6-iV2.js +1 -0
  75. package/dist/gateway/static/root/assets/settings-advanced-gate-XeSxPjP7.js +1 -0
  76. package/dist/gateway/static/root/assets/{settings-form-section-BytEfCGo.js → settings-form-section-Dol9j_pF.js} +1 -1
  77. package/dist/gateway/static/root/assets/{settings-page-Da2ql9KX.js → settings-page-B65vii9U.js} +1 -1
  78. package/dist/gateway/static/root/assets/{settings-page-layout-CBfB_7yz.js → settings-page-layout-eqTUTW2L.js} +1 -1
  79. package/dist/gateway/static/root/assets/setup-status-panel-BCt__prc.js +1 -0
  80. package/dist/gateway/static/root/assets/{share-preview-page-B8J0Saj5.js → share-preview-page-BS8o58NJ.js} +1 -1
  81. package/dist/gateway/static/root/assets/shares-settings-BsjSqEnw.js +1 -0
  82. package/dist/gateway/static/root/assets/skill-reload-api-evN7gs0S.js +1 -0
  83. package/dist/gateway/static/root/assets/skills-page-BifYwEhe.js +2 -0
  84. package/dist/gateway/static/root/assets/{skills-page.utils-B53tyGx5.js → skills-page.utils-DOk-iOvN.js} +1 -1
  85. package/dist/gateway/static/root/assets/{system-settings-panel-0HAvlVtR.js → system-settings-panel-CcSvoHfY.js} +1 -1
  86. package/dist/gateway/static/root/assets/task-detail-page-pCRG7Jb3.js +1 -0
  87. package/dist/gateway/static/root/assets/{tunnel-api-DJsxU6q_.js → tunnel-api-DDGMf44u.js} +1 -1
  88. package/dist/gateway/static/root/assets/{use-autosave-eIELzAOD.js → use-autosave-DiIkxIq7.js} +1 -1
  89. package/dist/gateway/static/root/assets/user-model-page-CvYeM0Ml.js +2 -0
  90. package/dist/gateway/static/root/assets/{voice-api-key-field-BJ59ZCAn.js → voice-api-key-field-DJV-qERt.js} +1 -1
  91. package/dist/gateway/static/root/assets/{voice-config-api-DBXZJWLS.js → voice-config-api-BaxITrwZ.js} +1 -1
  92. package/dist/gateway/static/root/assets/{work-discovery-overlay-BpSxdIgB.js → work-discovery-overlay-DcHhy54L.js} +1 -1
  93. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-Bhlv3VUX.js → workflow-run-setup-panel-DbVtLh0R.js} +2 -2
  94. package/dist/gateway/static/root/assets/workflows-page-CT8ouKcB.js +6 -0
  95. package/dist/gateway/static/root/index.html +14 -12
  96. package/dist/package.js +1 -1
  97. package/dist/packages/gateway-contract/src/capabilities.js +4 -110
  98. package/dist/packages/gateway-contract/src/chat-previews.js +73 -0
  99. package/dist/packages/gateway-contract/src/home.js +284 -55
  100. package/dist/packages/gateway-contract/src/index.js +6 -2
  101. package/dist/packages/gateway-contract/src/local-apps.js +215 -0
  102. package/dist/packages/gateway-contract/src/notifications.js +3 -10
  103. package/dist/packages/gateway-contract/src/product-delivery.js +62 -17
  104. package/dist/packages/gateway-contract/src/user-turn-document.js +60 -0
  105. package/dist/src/activity/emitter.js +2 -1
  106. package/dist/src/activity/service.js +2 -1
  107. package/dist/src/agent/agent-manager.d.ts +4 -2
  108. package/dist/src/agent/agent-manager.js +37 -44
  109. package/dist/src/agent/agent-scope.d.ts +19 -48
  110. package/dist/src/agent/agent-scope.js +47 -169
  111. package/dist/src/agent/background-review/run-background-review.js +5 -4
  112. package/dist/src/agent/bootstrap/filter-bootstrap-files.js +1 -1
  113. package/dist/src/agent/commands/command-registry.js +7 -3
  114. package/dist/src/agent/context/coordinator.js +1 -1
  115. package/dist/src/agent/context/execution-context.js +2 -1
  116. package/dist/src/agent/context/execution-scope.js +2 -1
  117. package/dist/src/agent/context/workspace-seed.d.ts +1 -2
  118. package/dist/src/agent/context/workspace-seed.js +3 -3
  119. package/dist/src/agent/context/workspace-state.js +1 -1
  120. package/dist/src/agent/embedded/run-for-session.js +2 -2
  121. package/dist/src/agent/embedded/run-turn.js +2 -1
  122. package/dist/src/agent/embedded/sqlite-hydrating-session-manager.js +2 -1
  123. package/dist/src/agent/embedded/transcript-runtime.d.ts +3 -0
  124. package/dist/src/agent/embedded/transcript-runtime.js +6 -0
  125. package/dist/src/agent/external-tools/cliProvider.js +6 -2
  126. package/dist/src/agent/external-tools/composio-provider.js +11 -4
  127. package/dist/src/agent/external-tools/endpoint-provider.js +2 -2
  128. package/dist/src/agent/external-tools/gateway-tools.js +17 -10
  129. package/dist/src/agent/external-tools/index.js +2 -3
  130. package/dist/src/agent/external-tools/mcp-provider.d.ts +3 -1
  131. package/dist/src/agent/external-tools/mcp-provider.js +93 -8
  132. package/dist/src/agent/external-tools/service.d.ts +2 -1
  133. package/dist/src/agent/external-tools/service.js +8 -3
  134. package/dist/src/agent/external-tools/types.d.ts +9 -0
  135. package/dist/src/agent/image/tool-model-config.js +4 -5
  136. package/dist/src/agent/inbound/attachment-pipeline.js +1 -1
  137. package/dist/src/agent/ipc/bus.js +1 -1
  138. package/dist/src/agent/ipc/socket.js +3 -3
  139. package/dist/src/agent/mcp/bundle-mcp-config.js +37 -5
  140. package/dist/src/agent/mcp/bundle-mcp-gateway.d.ts +1 -0
  141. package/dist/src/agent/mcp/bundle-mcp-gateway.js +1 -0
  142. package/dist/src/agent/mcp/bundle-mcp-names.js +2 -1
  143. package/dist/src/agent/mcp/bundle-mcp-runtime.js +33 -1
  144. package/dist/src/agent/mcp/bundle-mcp-types.d.ts +4 -0
  145. package/dist/src/agent/mcp/index.js +1 -1
  146. package/dist/src/agent/mcp/mcp-stdio-transport.d.ts +1 -0
  147. package/dist/src/agent/mcp/mcp-stdio-transport.js +10 -0
  148. package/dist/src/agent/mcp/mcp-transport.js +12 -8
  149. package/dist/src/agent/mcp/oauth/index.js +1 -1
  150. package/dist/src/agent/mcp/oauth/mcp-oauth-manager.d.ts +6 -1
  151. package/dist/src/agent/mcp/oauth/mcp-oauth-manager.js +70 -14
  152. package/dist/src/agent/mcp/oauth/mcp-oauth-provider.js +1 -1
  153. package/dist/src/agent/mcp/oauth/mcp-oauth-session.d.ts +2 -0
  154. package/dist/src/agent/mcp/oauth/mcp-oauth-session.js +12 -0
  155. package/dist/src/agent/mcp/oauth/mcp-oauth-store.d.ts +3 -0
  156. package/dist/src/agent/mcp/oauth/mcp-oauth-store.js +13 -1
  157. package/dist/src/agent/mcp/plugin-http-fetch.d.ts +2 -0
  158. package/dist/src/agent/mcp/plugin-http-fetch.js +56 -0
  159. package/dist/src/agent/media-generation/runtime-shared.d.ts +1 -1
  160. package/dist/src/agent/media-generation/runtime-shared.js +1 -1
  161. package/dist/src/agent/memory/plugin-discovery.js +1 -2
  162. package/dist/src/agent/models/manager.d.ts +1 -1
  163. package/dist/src/agent/models/manager.js +2 -2
  164. package/dist/src/agent/orchestration/run-agent-turn-with-timeout.js +1 -1
  165. package/dist/src/agent/prompt/response-language.js +2 -1
  166. package/dist/src/agent/prompt/service-prompt-builder.js +6 -3
  167. package/dist/src/agent/prompt/system-prompt.js +2 -1
  168. package/dist/src/agent/reply/post-compaction-context.js +2 -2
  169. package/dist/src/agent/service/build-direct-message-content.js +1 -1
  170. package/dist/src/agent/service/direct-turn-helpers.js +2 -1
  171. package/dist/src/agent/service/parse-outbound-session-key.js +2 -1
  172. package/dist/src/agent/service/process-direct-streaming.js +30 -14
  173. package/dist/src/agent/service/webchat-tts.js +2 -1
  174. package/dist/src/agent/service.d.ts +1 -1
  175. package/dist/src/agent/service.js +13 -11
  176. package/dist/src/agent/service.types.d.ts +4 -0
  177. package/dist/src/agent/session/session-inspector.js +4 -5
  178. package/dist/src/agent/skills/hub-pull.js +1 -1
  179. package/dist/src/agent/skills/index.js +8 -1
  180. package/dist/src/agent/skills/marketplace/adapters/store/store-api-client.d.ts +5 -0
  181. package/dist/src/agent/skills/skill-manager.d.ts +2 -0
  182. package/dist/src/agent/skills/skill-manager.js +8 -0
  183. package/dist/src/agent/skills/skill-sources.js +17 -0
  184. package/dist/src/agent/skills/types.d.ts +3 -1
  185. package/dist/src/agent/source-context/injector.js +10 -5
  186. package/dist/src/agent/source-context/types.d.ts +3 -0
  187. package/dist/src/agent/source-context/types.js +8 -2
  188. package/dist/src/agent/starter-agents.d.ts +4 -5
  189. package/dist/src/agent/starter-agents.js +21 -20
  190. package/dist/src/agent/tasks/task-judge-service.js +2 -2
  191. package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -1
  192. package/dist/src/agent/tool-manuals/xopc-use.js +42 -2
  193. package/dist/src/agent/tools/automation-tool.js +1 -1
  194. package/dist/src/agent/tools/delegation-parent-policy.js +2 -3
  195. package/dist/src/agent/tools/factory.d.ts +3 -0
  196. package/dist/src/agent/tools/factory.js +12 -10
  197. package/dist/src/agent/tools/image-generate-tool.js +1 -1
  198. package/dist/src/agent/tools/workflow-tool.js +3 -4
  199. package/dist/src/agent/tools/write.js +1 -1
  200. package/dist/src/agent/tools/xopc-use-tool.d.ts +5 -2
  201. package/dist/src/agent/tools/xopc-use-tool.js +171 -15
  202. package/dist/src/agent/workflow/workflow-child-tools.js +1 -2
  203. package/dist/src/agent/workspace-runtime/registry.d.ts +1 -1
  204. package/dist/src/agent/workspace-runtime/registry.js +2 -2
  205. package/dist/src/agent-catalog/capabilities.d.ts +3 -0
  206. package/dist/src/agent-catalog/capabilities.js +238 -0
  207. package/dist/src/agent-catalog/id.d.ts +15 -0
  208. package/dist/src/agent-catalog/id.js +101 -0
  209. package/dist/src/agent-catalog/index.d.ts +6 -0
  210. package/dist/src/agent-catalog/index.js +10 -0
  211. package/dist/src/agent-catalog/migrations/legacy-config-cutover.d.ts +11 -0
  212. package/dist/src/agent-catalog/migrations/legacy-config-cutover.js +195 -0
  213. package/dist/src/agent-catalog/repository.d.ts +39 -0
  214. package/dist/src/agent-catalog/repository.js +319 -0
  215. package/dist/src/agent-catalog/service.d.ts +33 -0
  216. package/dist/src/agent-catalog/service.js +202 -0
  217. package/dist/src/agent-catalog/test-support.d.ts +14 -0
  218. package/dist/src/agent-catalog/test-support.js +34 -0
  219. package/dist/src/agent-catalog/types.d.ts +26 -0
  220. package/dist/src/agent-catalog/types.js +1 -0
  221. package/dist/src/agent-config/index.js +2 -2
  222. package/dist/src/agent-config/schema.d.ts +1 -172
  223. package/dist/src/agent-config/schema.js +2 -41
  224. package/dist/src/auth/credentials.js +3 -3
  225. package/dist/src/auth/oauth/xopc-cloud.js +1 -1
  226. package/dist/src/auth/sync-provider-auth.d.ts +1 -1
  227. package/dist/src/auth/sync-provider-auth.js +5 -9
  228. package/dist/src/automations/capabilities/drafts.js +8 -7
  229. package/dist/src/automations/service/action-executor.js +2 -1
  230. package/dist/src/bootstrap/application-state.d.ts +10 -0
  231. package/dist/src/bootstrap/application-state.js +26 -0
  232. package/dist/src/browser/automations/repository.js +2 -1
  233. package/dist/src/browser/automations/schema.d.ts +1 -1
  234. package/dist/src/browser/automations/service.d.ts +1 -1
  235. package/dist/src/browser/native-messaging-host.js +5 -4
  236. package/dist/src/browser/providers/extension.js +4 -2
  237. package/dist/src/browser/providers/realtime-extension.js +2 -1
  238. package/dist/src/capabilities/readiness/from-config.js +7 -4
  239. package/dist/src/capabilities/runtime/dispatcher.d.ts +1 -0
  240. package/dist/src/capabilities/runtime/dispatcher.js +10 -4
  241. package/dist/src/capabilities/runtime/product.js +2 -0
  242. package/dist/src/channels/catalog/channel-catalog-service.js +7 -13
  243. package/dist/src/chat-commands/agent-edit.js +4 -3
  244. package/dist/src/chat-commands/builtins/config.js +6 -8
  245. package/dist/src/chat-commands/builtins/review.js +1 -1
  246. package/dist/src/chat-commands/builtins/workflow.js +1 -1
  247. package/dist/src/chat-commands/config-paths.js +1 -1
  248. package/dist/src/chat-commands/context.js +2 -3
  249. package/dist/src/chat-previews/index.d.ts +2 -0
  250. package/dist/src/chat-previews/index.js +3 -0
  251. package/dist/src/chat-previews/service.d.ts +27 -0
  252. package/dist/src/chat-previews/service.js +106 -0
  253. package/dist/src/chat-previews/store.d.ts +28 -0
  254. package/dist/src/chat-previews/store.js +78 -0
  255. package/dist/src/cli/command-manifest.js +1 -1
  256. package/dist/src/cli/commands/agent.js +4 -4
  257. package/dist/src/cli/commands/agents.d.ts +1 -1
  258. package/dist/src/cli/commands/agents.js +36 -48
  259. package/dist/src/cli/commands/auth.js +1 -0
  260. package/dist/src/cli/commands/browser-cli-helpers.js +1 -2
  261. package/dist/src/cli/commands/channels.js +2 -4
  262. package/dist/src/cli/commands/config.js +4 -5
  263. package/dist/src/cli/commands/connectors.js +1 -2
  264. package/dist/src/cli/commands/doctor/checks/channel-config.js +2 -4
  265. package/dist/src/cli/commands/doctor/checks/channel-pairing-pending.js +1 -2
  266. package/dist/src/cli/commands/doctor/checks/channel-plugins.js +1 -2
  267. package/dist/src/cli/commands/doctor/checks/config-health.js +1 -2
  268. package/dist/src/cli/commands/doctor/checks/database-schema.js +4 -4
  269. package/dist/src/cli/commands/doctor/checks/gateway-health.js +1 -2
  270. package/dist/src/cli/commands/doctor/checks/gateway-service.js +1 -2
  271. package/dist/src/cli/commands/doctor/checks/provider-auth.js +13 -11
  272. package/dist/src/cli/commands/doctor/checks/security-audit.js +1 -2
  273. package/dist/src/cli/commands/doctor/checks/session-integrity.js +3 -3
  274. package/dist/src/cli/commands/doctor/checks/tool-runtimes.js +1 -2
  275. package/dist/src/cli/commands/doctor/checks/workspace-status.js +5 -7
  276. package/dist/src/cli/commands/extension-agent-plugin.d.ts +8 -0
  277. package/dist/src/cli/commands/extension-agent-plugin.js +81 -0
  278. package/dist/src/cli/commands/extension-dev.js +2 -4
  279. package/dist/src/cli/commands/extension-marketplace.js +45 -6
  280. package/dist/src/cli/commands/extension-pack.js +1 -2
  281. package/dist/src/cli/commands/extension.js +36 -5
  282. package/dist/src/cli/commands/gateway/run-foreground.js +3 -3
  283. package/dist/src/cli/commands/gateway/shared.js +1 -1
  284. package/dist/src/cli/commands/history.js +2 -1
  285. package/dist/src/cli/commands/image.js +2 -2
  286. package/dist/src/cli/commands/init.js +11 -30
  287. package/dist/src/cli/commands/mcp.js +1 -2
  288. package/dist/src/cli/commands/models.js +13 -11
  289. package/dist/src/cli/commands/onboard/channels/registry.js +1 -2
  290. package/dist/src/cli/commands/onboard/gateway.js +1 -2
  291. package/dist/src/cli/commands/onboard/model.d.ts +1 -1
  292. package/dist/src/cli/commands/onboard/model.js +17 -25
  293. package/dist/src/cli/commands/onboard.js +4 -2
  294. package/dist/src/cli/commands/platform.js +1 -0
  295. package/dist/src/cli/commands/project.js +3 -3
  296. package/dist/src/cli/commands/providers.js +1 -0
  297. package/dist/src/cli/commands/runtime.js +1 -2
  298. package/dist/src/cli/commands/search.js +1 -2
  299. package/dist/src/cli/commands/skills.js +1 -2
  300. package/dist/src/cli/commands/tui-runner.js +3 -2
  301. package/dist/src/cli/commands/tui.js +6 -8
  302. package/dist/src/cli/commands/tunnel.js +1 -1
  303. package/dist/src/cli/commands/voice.js +1 -2
  304. package/dist/src/cli/extension-cli-register.js +1 -1
  305. package/dist/src/cli/index.js +4 -2
  306. package/dist/src/cli/utils/gateway-client.js +1 -1
  307. package/dist/src/cli/utils/init-workspace-core.js +15 -16
  308. package/dist/src/cli/utils/session.js +1 -2
  309. package/dist/src/computer/model-config.d.ts +3 -3
  310. package/dist/src/computer/model-config.js +10 -20
  311. package/dist/src/computer/runtime.js +1 -1
  312. package/dist/src/config/agent-model-intents.js +2 -2
  313. package/dist/src/config/agent-profile.d.ts +5 -6
  314. package/dist/src/config/agent-profile.js +19 -19
  315. package/dist/src/config/config-surface.d.ts +0 -3
  316. package/dist/src/config/default-model.js +2 -6
  317. package/dist/src/config/index.js +7 -8
  318. package/dist/src/config/loader.js +12 -18
  319. package/dist/src/config/models-json.d.ts +6 -6
  320. package/dist/src/config/paths.d.ts +18 -19
  321. package/dist/src/config/paths.js +35 -35
  322. package/dist/src/config/reload.d.ts +0 -1
  323. package/dist/src/config/reload.js +1 -6
  324. package/dist/src/config/rules.js +0 -15
  325. package/dist/src/config/schema.d.ts +3 -406
  326. package/dist/src/config/schema.js +24 -86
  327. package/dist/src/config/validate-channel-configs.js +8 -14
  328. package/dist/src/config/workspace-dirs.d.ts +3 -4
  329. package/dist/src/config/workspace-dirs.js +9 -8
  330. package/dist/src/config/workspace-path-helpers.d.ts +1 -1
  331. package/dist/src/config/workspace-path-helpers.js +2 -2
  332. package/dist/src/connectors/account-selection.js +1 -1
  333. package/dist/src/connectors/cli/lifecycle.js +2 -1
  334. package/dist/src/connectors/composio-managed-events.js +2 -1
  335. package/dist/src/connectors/connected-source-ingestion.js +2 -1
  336. package/dist/src/connectors/connected-source-understanding.js +4 -2
  337. package/dist/src/connectors/connection-candidates.d.ts +4 -1
  338. package/dist/src/connectors/connection-candidates.js +8 -2
  339. package/dist/src/connectors/connection-capabilities.d.ts +2 -2
  340. package/dist/src/connectors/connection-capabilities.js +3 -1
  341. package/dist/src/connectors/connection-recovery-service.d.ts +6 -1
  342. package/dist/src/connectors/connection-recovery-service.js +138 -26
  343. package/dist/src/connectors/content-enrichment.js +2 -1
  344. package/dist/src/connectors/learning-coordinator.js +2 -1
  345. package/dist/src/connectors/plugin-mcp-recovery.d.ts +28 -0
  346. package/dist/src/connectors/plugin-mcp-recovery.js +90 -0
  347. package/dist/src/connectors/runtime-adapter-registry.js +2 -1
  348. package/dist/src/connectors/workflow-preflight.d.ts +8 -1
  349. package/dist/src/connectors/workflow-preflight.js +11 -3
  350. package/dist/src/discussions/analyzer.js +2 -2
  351. package/dist/src/endpoint-tools/runtime.js +2 -1
  352. package/dist/src/execution-environments/subject.js +2 -1
  353. package/dist/src/extensions/activation-context.js +3 -16
  354. package/dist/src/extensions/agent-plugins/auth.d.ts +39 -0
  355. package/dist/src/extensions/agent-plugins/auth.js +156 -0
  356. package/dist/src/extensions/agent-plugins/connection.d.ts +8 -0
  357. package/dist/src/extensions/agent-plugins/connection.js +41 -0
  358. package/dist/src/extensions/agent-plugins/health.d.ts +4 -0
  359. package/dist/src/extensions/agent-plugins/health.js +48 -0
  360. package/dist/src/extensions/agent-plugins/inventory.d.ts +53 -0
  361. package/dist/src/extensions/agent-plugins/inventory.js +34 -0
  362. package/dist/src/extensions/agent-plugins/mcp-adapter.d.ts +3 -0
  363. package/dist/src/extensions/agent-plugins/mcp-adapter.js +47 -0
  364. package/dist/src/extensions/agent-plugins/sources.d.ts +5 -0
  365. package/dist/src/extensions/agent-plugins/sources.js +72 -0
  366. package/dist/src/extensions/agent-plugins/store.d.ts +61 -0
  367. package/dist/src/extensions/agent-plugins/store.js +305 -0
  368. package/dist/src/extensions/agent-plugins/validation.d.ts +59 -0
  369. package/dist/src/extensions/agent-plugins/validation.js +211 -0
  370. package/dist/src/extensions/discover-extensions.js +9 -15
  371. package/dist/src/extensions/extension-metadata-snapshot.d.ts +1 -1
  372. package/dist/src/extensions/extension-metadata-snapshot.js +9 -16
  373. package/dist/src/extensions/index.js +4 -10
  374. package/dist/src/extensions/install.js +1 -1
  375. package/dist/src/extensions/loader.js +7 -14
  376. package/dist/src/extensions/manifest-registry.js +93 -98
  377. package/dist/src/extensions/marketplace.js +5 -2
  378. package/dist/src/extensions/normalize-manifest.js +12 -17
  379. package/dist/src/extensions/update.js +2 -3
  380. package/dist/src/files/file-service.js +7 -8
  381. package/dist/src/gateway/agents-admin.d.ts +23 -27
  382. package/dist/src/gateway/agents-admin.js +109 -130
  383. package/dist/src/gateway/chat-stream/mapper.js +10 -3
  384. package/dist/src/gateway/file-path-classifier.js +3 -3
  385. package/dist/src/gateway/file-space-service.js +2 -1
  386. package/dist/src/gateway/global-defaults-admin.d.ts +6 -4
  387. package/dist/src/gateway/global-defaults-admin.js +21 -20
  388. package/dist/src/gateway/hono/app.js +2 -1
  389. package/dist/src/gateway/hono/lib/config-payload.js +12 -9
  390. package/dist/src/gateway/hono/middleware/auth.js +2 -1
  391. package/dist/src/gateway/hono/middleware/scopes.js +2 -1
  392. package/dist/src/gateway/hono/routes/agent-plugins.d.ts +3 -0
  393. package/dist/src/gateway/hono/routes/agent-plugins.js +166 -0
  394. package/dist/src/gateway/hono/routes/agent-stream.js +14 -0
  395. package/dist/src/gateway/hono/routes/agents.js +22 -49
  396. package/dist/src/gateway/hono/routes/auth-registry-extensions.js +4 -2
  397. package/dist/src/gateway/hono/routes/browser.js +4 -2
  398. package/dist/src/gateway/hono/routes/channels.js +1 -2
  399. package/dist/src/gateway/hono/routes/chat-previews.d.ts +3 -0
  400. package/dist/src/gateway/hono/routes/chat-previews.js +41 -0
  401. package/dist/src/gateway/hono/routes/cli-connectors.js +2 -1
  402. package/dist/src/gateway/hono/routes/commands-skills.js +3 -1
  403. package/dist/src/gateway/hono/routes/composer-history.js +2 -1
  404. package/dist/src/gateway/hono/routes/config-patch/index.d.ts +1 -3
  405. package/dist/src/gateway/hono/routes/config-patch/index.js +1 -2
  406. package/dist/src/gateway/hono/routes/config-patch/misc.js +18 -11
  407. package/dist/src/gateway/hono/routes/config.js +0 -2
  408. package/dist/src/gateway/hono/routes/connection-waits.js +4 -2
  409. package/dist/src/gateway/hono/routes/connectors.js +8 -4
  410. package/dist/src/gateway/hono/routes/context-sources.js +4 -3
  411. package/dist/src/gateway/hono/routes/device-pairing-approval.js +2 -1
  412. package/dist/src/gateway/hono/routes/device-push.js +3 -2
  413. package/dist/src/gateway/hono/routes/devices.js +6 -3
  414. package/dist/src/gateway/hono/routes/discussions.js +2 -1
  415. package/dist/src/gateway/hono/routes/endpoint-tools.js +2 -1
  416. package/dist/src/gateway/hono/routes/global-defaults.js +8 -16
  417. package/dist/src/gateway/hono/routes/home.js +93 -4
  418. package/dist/src/gateway/hono/routes/index.js +2 -0
  419. package/dist/src/gateway/hono/routes/interaction-state.js +2 -1
  420. package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
  421. package/dist/src/gateway/hono/routes/local-apps.js +71 -39
  422. package/dist/src/gateway/hono/routes/mcp.js +48 -21
  423. package/dist/src/gateway/hono/routes/models.js +8 -7
  424. package/dist/src/gateway/hono/routes/notes.js +4 -5
  425. package/dist/src/gateway/hono/routes/projects.js +6 -6
  426. package/dist/src/gateway/hono/routes/public-gateway.js +2 -1
  427. package/dist/src/gateway/hono/routes/session-input-handler.d.ts +4 -0
  428. package/dist/src/gateway/hono/routes/session-input-handler.js +23 -1
  429. package/dist/src/gateway/hono/routes/sessions.js +4 -2
  430. package/dist/src/gateway/hono/routes/shares.js +4 -3
  431. package/dist/src/gateway/hono/routes/side-chats.js +11 -0
  432. package/dist/src/gateway/hono/routes/site-shares.js +2 -2
  433. package/dist/src/gateway/hono/routes/status.js +2 -3
  434. package/dist/src/gateway/hono/routes/tasks.js +1 -2
  435. package/dist/src/gateway/hono/routes/user-model-refresh.js +2 -1
  436. package/dist/src/gateway/hono/routes/user-model.js +3 -2
  437. package/dist/src/gateway/hono/routes/work-discovery.js +1 -1
  438. package/dist/src/gateway/hono/routes/workflows.js +2 -2
  439. package/dist/src/gateway/image-generation-setup.d.ts +19 -10
  440. package/dist/src/gateway/image-generation-setup.js +59 -23
  441. package/dist/src/gateway/index.js +1 -4
  442. package/dist/src/gateway/lock.js +13 -18
  443. package/dist/src/gateway/memory-maintenance-automation-reconciler.js +4 -3
  444. package/dist/src/gateway/run-loop.js +2 -3
  445. package/dist/src/gateway/security/gateway-scopes.js +6 -2
  446. package/dist/src/gateway/security/index.js +4 -1
  447. package/dist/src/gateway/service/agent-runner.js +11 -3
  448. package/dist/src/gateway/service/app-context-access.js +2 -1
  449. package/dist/src/gateway/service/config-coordinator.d.ts +0 -1
  450. package/dist/src/gateway/service/config-coordinator.js +4 -22
  451. package/dist/src/gateway/service/marketplace-service.d.ts +1 -0
  452. package/dist/src/gateway/service/marketplace-service.js +18 -2
  453. package/dist/src/gateway/service/run-gateway-agent.js +4 -2
  454. package/dist/src/gateway/service/session-input-coordinator.js +7 -5
  455. package/dist/src/gateway/service.d.ts +10 -1
  456. package/dist/src/gateway/service.js +123 -33
  457. package/dist/src/gateway/session-context-summary.js +4 -2
  458. package/dist/src/gateway/side-chat/index.d.ts +3 -1
  459. package/dist/src/gateway/side-chat/index.js +2 -1
  460. package/dist/src/gateway/side-chat/manager.d.ts +16 -0
  461. package/dist/src/gateway/side-chat/manager.js +40 -6
  462. package/dist/src/gateway/side-chat/promotion-service.d.ts +19 -0
  463. package/dist/src/gateway/side-chat/promotion-service.js +111 -0
  464. package/dist/src/gateway/side-chat/run-service.js +1 -0
  465. package/dist/src/gateway/side-chat/types.d.ts +1 -1
  466. package/dist/src/gateway/xopc-cloud-capability-setup.d.ts +2 -0
  467. package/dist/src/gateway/xopc-cloud-capability-setup.js +15 -10
  468. package/dist/src/home-intelligence/application-service.d.ts +31 -0
  469. package/dist/src/home-intelligence/application-service.js +134 -0
  470. package/dist/src/home-intelligence/capability-preflight.d.ts +32 -0
  471. package/dist/src/home-intelligence/capability-preflight.js +118 -0
  472. package/dist/src/home-intelligence/evaluation.d.ts +34 -0
  473. package/dist/src/home-intelligence/evaluation.js +49 -0
  474. package/dist/src/home-intelligence/generator.d.ts +125 -0
  475. package/dist/src/home-intelligence/generator.js +227 -0
  476. package/dist/src/home-intelligence/host.d.ts +53 -0
  477. package/dist/src/home-intelligence/host.js +257 -0
  478. package/dist/src/home-intelligence/notification.d.ts +8 -0
  479. package/dist/src/home-intelligence/notification.js +20 -0
  480. package/dist/src/home-intelligence/policy.d.ts +16 -0
  481. package/dist/src/home-intelligence/policy.js +152 -0
  482. package/dist/src/home-intelligence/repository.d.ts +81 -0
  483. package/dist/src/home-intelligence/repository.js +495 -0
  484. package/dist/src/home-intelligence/snapshot.d.ts +43 -0
  485. package/dist/src/home-intelligence/snapshot.js +133 -0
  486. package/dist/src/home-intelligence/strategy.d.ts +14 -0
  487. package/dist/src/home-intelligence/strategy.js +10 -0
  488. package/dist/src/home-intelligence/types.d.ts +13 -0
  489. package/dist/src/home-intelligence/types.js +1 -0
  490. package/dist/src/infra/update-restart.js +4 -2
  491. package/dist/src/knowledge/connected-knowledge-pipeline.js +2 -1
  492. package/dist/src/knowledge/ingestion-service.js +2 -1
  493. package/dist/src/knowledge-memory/repository.js +2 -1
  494. package/dist/src/local-apps/artifact-files.d.ts +3 -0
  495. package/dist/src/local-apps/artifact-files.js +45 -0
  496. package/dist/src/local-apps/capabilities/write.js +1 -1
  497. package/dist/src/local-apps/fix-guidance.d.ts +3 -0
  498. package/dist/src/local-apps/fix-guidance.js +75 -0
  499. package/dist/src/local-apps/index.d.ts +2 -1
  500. package/dist/src/local-apps/scaffold.d.ts +5 -0
  501. package/dist/src/local-apps/scaffold.js +18 -5
  502. package/dist/src/local-apps/service.d.ts +18 -3
  503. package/dist/src/local-apps/service.js +107 -65
  504. package/dist/src/local-apps/snapshot-store.d.ts +8 -0
  505. package/dist/src/local-apps/snapshot-store.js +68 -0
  506. package/dist/src/local-apps/store.js +2 -1
  507. package/dist/src/local-apps/types.d.ts +4 -87
  508. package/dist/src/mcp/channel-bridge.js +1 -2
  509. package/dist/src/mcp/channel-server.js +1 -2
  510. package/dist/src/mcp/gateway-http-client.js +1 -2
  511. package/dist/src/media/session-references.js +2 -1
  512. package/dist/src/memory-maintenance/service.js +2 -1
  513. package/dist/src/migrations/memory-config.js +1 -2
  514. package/dist/src/notes/agent-context.js +2 -1
  515. package/dist/src/notes/attachment-ref.js +8 -4
  516. package/dist/src/notes/note-attachment-sync.js +2 -1
  517. package/dist/src/notes/note-index-meta.js +14 -7
  518. package/dist/src/notes/note-markdown.js +13 -7
  519. package/dist/src/notes/service.js +6 -3
  520. package/dist/src/notes/store.js +4 -2
  521. package/dist/src/notifications/device-store.js +1 -1
  522. package/dist/src/notifications/planner.js +24 -0
  523. package/dist/src/notifications/service.d.ts +7 -14
  524. package/dist/src/notifications/service.js +13 -3
  525. package/dist/src/notifications/store.js +1 -1
  526. package/dist/src/notifications/types.d.ts +1 -1
  527. package/dist/src/notifications/types.js +1 -1
  528. package/dist/src/projects/capabilities/write.js +2 -1
  529. package/dist/src/projects/project-agent-suggestion.js +1 -1
  530. package/dist/src/projects/project-agent.js +4 -4
  531. package/dist/src/projects/project-service.js +2 -1
  532. package/dist/src/projects/workspace.js +3 -2
  533. package/dist/src/providers/index.js +3 -3
  534. package/dist/src/providers/model-reference-auditor.d.ts +1 -2
  535. package/dist/src/providers/model-reference-auditor.js +8 -5
  536. package/dist/src/realtime/runtime.js +2 -1
  537. package/dist/src/routing/binding-schema.d.ts +41 -0
  538. package/dist/src/routing/binding-schema.js +26 -0
  539. package/dist/src/routing/bindings.d.ts +4 -2
  540. package/dist/src/routing/bindings.js +4 -4
  541. package/dist/src/routing/index.d.ts +1 -1
  542. package/dist/src/routing/resolve-route.d.ts +7 -24
  543. package/dist/src/routing/resolve-route.js +17 -18
  544. package/dist/src/routing/resolve-tui-session-key.d.ts +1 -4
  545. package/dist/src/routing/resolve-tui-session-key.js +10 -9
  546. package/dist/src/scenes/execution.d.ts +1 -1
  547. package/dist/src/scenes/model.js +1 -1
  548. package/dist/src/scenes/taskFollowUp/contracts.d.ts +1 -1
  549. package/dist/src/scenes/taskFollowUp/service.js +6 -4
  550. package/dist/src/scenes/templates.d.ts +2 -2
  551. package/dist/src/session/client-history.d.ts +3 -1
  552. package/dist/src/session/client-history.js +10 -3
  553. package/dist/src/session/config-store.js +2 -1
  554. package/dist/src/session/index.d.ts +1 -1
  555. package/dist/src/session/init-session-turn.js +2 -1
  556. package/dist/src/session/manager.d.ts +4 -0
  557. package/dist/src/session/manager.js +6 -0
  558. package/dist/src/session/resolve-session.js +2 -1
  559. package/dist/src/session/session-context-for-llm.d.ts +12 -1
  560. package/dist/src/session/session-context-for-llm.js +16 -2
  561. package/dist/src/session/session-workspace.js +1 -1
  562. package/dist/src/session/store.d.ts +14 -0
  563. package/dist/src/session/store.js +20 -2
  564. package/dist/src/session/stored-rows-to-file-entries.js +10 -1
  565. package/dist/src/session/transcript-outline.js +10 -3
  566. package/dist/src/storage/sqlite/activity-repository.js +6 -2
  567. package/dist/src/storage/sqlite/browser-tab-binding-repository.js +6 -2
  568. package/dist/src/storage/sqlite/clarification-wait-repository.js +13 -8
  569. package/dist/src/storage/sqlite/collaboration-rule-repository.d.ts +1 -1
  570. package/dist/src/storage/sqlite/collaboration-rule-repository.js +8 -3
  571. package/dist/src/storage/sqlite/composer-input-history-repository.js +8 -3
  572. package/dist/src/storage/sqlite/config-repository.js +9 -5
  573. package/dist/src/storage/sqlite/connection-wait-repository.js +9 -3
  574. package/dist/src/storage/sqlite/connector-learning-repository.js +6 -2
  575. package/dist/src/storage/sqlite/connector-sync-policy-repository.js +6 -2
  576. package/dist/src/storage/sqlite/context-evidence-repository.js +8 -3
  577. package/dist/src/storage/sqlite/context-extraction-repository.js +8 -3
  578. package/dist/src/storage/sqlite/device-access-repository.js +15 -9
  579. package/dist/src/storage/sqlite/device-pairing-approval.js +6 -2
  580. package/dist/src/storage/sqlite/device-pairing-repository.js +10 -5
  581. package/dist/src/storage/sqlite/endpoint-principal-repository.js +6 -2
  582. package/dist/src/storage/sqlite/endpoint-session-binding-repository.js +6 -2
  583. package/dist/src/storage/sqlite/endpoint-tool-invocation-repository.js +6 -2
  584. package/dist/src/storage/sqlite/gateway-identity-repository.js +6 -2
  585. package/dist/src/storage/sqlite/home-attention-repository.js +6 -2
  586. package/dist/src/storage/sqlite/index.d.ts +0 -1
  587. package/dist/src/storage/sqlite/index.js +72 -42
  588. package/dist/src/storage/sqlite/interaction-state-repository.js +10 -4
  589. package/dist/src/storage/sqlite/knowledge-repository.js +6 -2
  590. package/dist/src/storage/sqlite/migrations/202_chat_previews.sql +26 -0
  591. package/dist/src/storage/sqlite/migrations/203_remove_retired_proactive_contracts.sql +70 -0
  592. package/dist/src/storage/sqlite/migrations/204_home_intelligence.sql +78 -0
  593. package/dist/src/storage/sqlite/migrations/205_agent_catalog.sql +66 -0
  594. package/dist/src/storage/sqlite/migrations/206_home_advice_strategy_version.sql +3 -0
  595. package/dist/src/storage/sqlite/migrations/conversation-backup.d.ts +2 -0
  596. package/dist/src/storage/sqlite/migrations/conversation-backup.js +8 -4
  597. package/dist/src/storage/sqlite/migrations/conversation-windows-owners.d.ts +7 -1
  598. package/dist/src/storage/sqlite/migrations/conversation-windows-owners.js +2 -2
  599. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  600. package/dist/src/storage/sqlite/migrations/runner.js +4 -4
  601. package/dist/src/storage/sqlite/note-agent-context-repository.js +6 -2
  602. package/dist/src/storage/sqlite/notes-repository.js +9 -4
  603. package/dist/src/storage/sqlite/row-mappers.js +6 -1
  604. package/dist/src/storage/sqlite/schema.js +1 -1
  605. package/dist/src/storage/sqlite/session-task-plan-repository.js +14 -9
  606. package/dist/src/storage/sqlite/session-turn-replace-repository.js +9 -5
  607. package/dist/src/storage/sqlite/sidebar-layout-repository.js +14 -9
  608. package/dist/src/storage/sqlite/transcript-repository.js +10 -6
  609. package/dist/src/storage/sqlite/user-people-repository.js +8 -3
  610. package/dist/src/storage/sqlite/user-trust-repository.js +8 -3
  611. package/dist/src/tasks/attention-governor.d.ts +0 -1
  612. package/dist/src/tasks/attention-governor.js +1 -7
  613. package/dist/src/tasks/capabilities/read.js +2 -2
  614. package/dist/src/tasks/capabilities/write.d.ts +1 -1
  615. package/dist/src/tasks/execution-context.d.ts +2 -2
  616. package/dist/src/tasks/execution-context.js +6 -5
  617. package/dist/src/tasks/home-query-service.d.ts +3 -2
  618. package/dist/src/tasks/home-query-service.js +23 -44
  619. package/dist/src/tasks/task-context-assembler.js +2 -1
  620. package/dist/src/tasks/task-context-repository.d.ts +1 -1
  621. package/dist/src/tasks/task-contract-planner.d.ts +0 -3
  622. package/dist/src/tasks/task-contract-planner.js +1 -4
  623. package/dist/src/tasks/task-handoff-service.d.ts +0 -2
  624. package/dist/src/tasks/task-handoff-service.js +3 -3
  625. package/dist/src/tasks/task-value-metrics-service.js +2 -1
  626. package/dist/src/tui/backends/embedded-backend.js +12 -14
  627. package/dist/src/tui/extension-host/load-extensions.js +1 -1
  628. package/dist/src/tui/tui-commands.js +5 -3
  629. package/dist/src/tui/tui-skills-autocomplete.js +1 -1
  630. package/dist/src/tui/tui-startup-resources.js +3 -3
  631. package/dist/src/tui/tui.js +5 -5
  632. package/dist/src/tunnel/registration-proof.js +2 -1
  633. package/dist/src/user-context/access-policy.js +2 -1
  634. package/dist/src/user-context/domain.d.ts +1 -1
  635. package/dist/src/user-context/domain.js +18 -13
  636. package/dist/src/user-context/extraction/registry.js +2 -1
  637. package/dist/src/user-context/interaction-state.js +4 -1
  638. package/dist/src/user-context/relationship-continuity.js +2 -1
  639. package/dist/src/user-context/trust-policy.js +13 -8
  640. package/dist/src/user-model/bootstrap.js +2 -1
  641. package/dist/src/user-model/capture/executor.js +4 -2
  642. package/dist/src/user-model/capture/semantic.d.ts +1 -1
  643. package/dist/src/user-model/capture/semantic.js +1 -1
  644. package/dist/src/user-model/domain.js +7 -2
  645. package/dist/src/user-model/goals.js +2 -1
  646. package/dist/src/user-model/index.js +4 -1
  647. package/dist/src/user-model/repository.js +2 -1
  648. package/dist/src/utils/helpers.js +1 -4
  649. package/dist/src/utils/index.js +2 -2
  650. package/dist/src/utils/logger/index.d.ts +1 -1
  651. package/dist/src/utils/logger/index.js +2 -2
  652. package/dist/src/utils/logger/redact.d.ts +2 -0
  653. package/dist/src/utils/logger/redact.js +11 -3
  654. package/dist/src/utils/logger.js +2 -2
  655. package/dist/src/voice/realtime/memory-context.js +2 -1
  656. package/dist/src/voice/realtime/persona-context.js +6 -6
  657. package/dist/src/voice/tts/audio.js +1 -1
  658. package/dist/src/work-discovery/analyzer.js +3 -3
  659. package/dist/src/work-discovery/investigator.js +1 -1
  660. package/dist/src/work-discovery/service.js +12 -11
  661. package/dist/src/workflows/draft/workflow-draft-service.js +1 -1
  662. package/dist/src/workflows/service/workflow-run-service.js +4 -5
  663. package/dist/src/workflows/store/paths.js +1 -1
  664. package/package.json +2 -2
  665. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-DWLXHWXg.js +0 -1
  666. package/dist/gateway/static/root/assets/api-Df2D6d3C.js +0 -1
  667. package/dist/gateway/static/root/assets/apps-page-BzytHIn1.js +0 -1
  668. package/dist/gateway/static/root/assets/automations-workspace-CtSV8tp-.js +0 -7
  669. package/dist/gateway/static/root/assets/browser-settings-page-DrvNA-G2.js +0 -3
  670. package/dist/gateway/static/root/assets/capabilities-D0S3DuAD.js +0 -1
  671. package/dist/gateway/static/root/assets/capabilities-settings-panel-c0k2virA.js +0 -8
  672. package/dist/gateway/static/root/assets/channels-settings-Bkl9fDHc.js +0 -1
  673. package/dist/gateway/static/root/assets/connectors-page-Dw_h-5Qh.js +0 -2
  674. package/dist/gateway/static/root/assets/date-picker-BqcldZoN.js +0 -1
  675. package/dist/gateway/static/root/assets/device-pairing-wizard-C5f4FRpE.js +0 -1
  676. package/dist/gateway/static/root/assets/gateway-settings-D7XbH6Hk.js +0 -1
  677. package/dist/gateway/static/root/assets/home-page-CFJypY6Y.js +0 -1
  678. package/dist/gateway/static/root/assets/index-B4Vwh0H-.css +0 -1
  679. package/dist/gateway/static/root/assets/index-BNubE2Zi.js +0 -89
  680. package/dist/gateway/static/root/assets/local-app-workbench-page-BLKCFXvr.js +0 -2
  681. package/dist/gateway/static/root/assets/local-apps-page-BNFmOkxs.js +0 -1
  682. package/dist/gateway/static/root/assets/logs-page-COxOJsgX.js +0 -2
  683. package/dist/gateway/static/root/assets/management-settings-BX5NtnQ2.js +0 -1
  684. package/dist/gateway/static/root/assets/messages-B1sTgIrE.js +0 -3
  685. package/dist/gateway/static/root/assets/note-detail-panel-DZ0IWx1R.js +0 -5
  686. package/dist/gateway/static/root/assets/notes-page-B9F1uue_.js +0 -8
  687. package/dist/gateway/static/root/assets/popover-select-B-GDnZO9.js +0 -1
  688. package/dist/gateway/static/root/assets/product-delivery-chCjIpvu.js +0 -1
  689. package/dist/gateway/static/root/assets/product-open-page-DEYWx__w.js +0 -1
  690. package/dist/gateway/static/root/assets/project-detail-page-9qMDEKVd.js +0 -1
  691. package/dist/gateway/static/root/assets/projects-page-D4UTOpEm.js +0 -1
  692. package/dist/gateway/static/root/assets/remote-access-hub-CPmOucUB.js +0 -1
  693. package/dist/gateway/static/root/assets/scenes-page-DO8vGorm.js +0 -2
  694. package/dist/gateway/static/root/assets/sessions-page-zu5P0dk5.js +0 -1
  695. package/dist/gateway/static/root/assets/settings-advanced-gate-ClEw-i1l.js +0 -1
  696. package/dist/gateway/static/root/assets/setup-status-panel-DElF2sgq.js +0 -1
  697. package/dist/gateway/static/root/assets/shares-settings-MLolJfoV.js +0 -1
  698. package/dist/gateway/static/root/assets/skill-reload-api-DTPsW9TY.js +0 -1
  699. package/dist/gateway/static/root/assets/skills-page-CNQHhsiv.js +0 -2
  700. package/dist/gateway/static/root/assets/task-detail-page-Dc30oS9J.js +0 -1
  701. package/dist/gateway/static/root/assets/user-model-page-Bq6ab5WJ.js +0 -2
  702. package/dist/gateway/static/root/assets/workflows-page-Ci-4HAYm.js +0 -6
  703. package/dist/packages/gateway-contract/src/proactive.js +0 -136
  704. package/dist/src/commands/agents.config.d.ts +0 -31
  705. package/dist/src/commands/agents.config.js +0 -129
  706. package/dist/src/gateway/hono/routes/config-patch/agents.d.ts +0 -2
  707. package/dist/src/gateway/hono/routes/config-patch/agents.js +0 -6
  708. package/dist/src/storage/sqlite/relationship-settings-repository.d.ts +0 -17
  709. package/dist/src/storage/sqlite/relationship-settings-repository.js +0 -65
@@ -1,135 +1,51 @@
1
1
  import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
2
2
  import { init_paths_state, resolveStateDir } from "../config/paths-state.js";
3
+ import { DEFAULT_AGENT_ID, STRICT_AGENT_ID_RE, deriveAgentIdFromDisplayName, init_id, normalizeAgentId, validateAgentIdForNewAgent } from "../agent-catalog/id.js";
4
+ import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
3
5
  import { expandWorkspacePathString, init_workspace_path } from "../config/workspace-path.js";
4
6
  import { init_workspace_defaults, resolveDefaultAgentWorkspaceDir } from "../config/workspace-defaults.js";
5
7
  import { basename, isAbsolute, join, relative, resolve } from "node:path";
6
8
  import fs from "node:fs";
7
9
  //#region src/agent/agent-scope.ts
8
- /**
9
- * Agent path and list resolution (config is the single source of truth).
10
- */
11
- function normalizeLowercaseStringOrEmpty(s) {
12
- return s.trim().toLowerCase();
13
- }
14
- /** Path-safe agent id. */
15
- function normalizeAgentId(value) {
16
- const trimmed = (value ?? "").trim();
17
- if (!trimmed) return DEFAULT_AGENT_ID;
18
- const normalized = normalizeLowercaseStringOrEmpty(trimmed);
19
- if (VALID_ID_RE.test(trimmed)) return normalized;
20
- return normalized.replace(INVALID_CHARS_RE, "-").replace(LEADING_DASH_RE, "").replace(TRAILING_DASH_RE, "").slice(0, 64) || "main";
21
- }
22
- function hashAgentDisplayName(value) {
23
- let hash = 2166136261;
24
- for (let index = 0; index < value.length; index += 1) {
25
- hash ^= value.charCodeAt(index);
26
- hash = Math.imul(hash, 16777619);
27
- }
28
- return (hash >>> 0).toString(36).padStart(7, "0");
29
- }
30
- /** Derive a folder-safe id, including for display names with no ASCII characters. */
31
- function deriveAgentIdFromDisplayName(displayName) {
32
- const normalizedName = displayName.trim().normalize("NFKC").toLowerCase();
33
- const asciiId = normalizeAgentId(normalizedName);
34
- if (asciiId !== "main" || normalizedName === "main") return asciiId;
35
- return normalizedName ? `agent-${hashAgentDisplayName(normalizedName)}` : DEFAULT_AGENT_ID;
36
- }
37
- /**
38
- * Validate agent id for new agents (folder-safe path segment).
39
- * When `explicitId` is set, it must already match {@link STRICT_AGENT_ID_RE} (case-insensitive input, stored lowercase).
40
- * When omitted, id is derived from `displayNameForDerivation`, with a stable hashed fallback
41
- * for names that contain no ASCII id characters.
42
- */
43
- function validateAgentIdForNewAgent(explicitId, displayNameForDerivation) {
44
- const explicit = explicitId?.trim();
45
- if (explicit) {
46
- const id = explicit.toLowerCase();
47
- if (!STRICT_AGENT_ID_RE.test(id)) return {
48
- ok: false,
49
- error: "Invalid agent id: use 1–64 characters; letters, digits, underscores, and hyphens only; start with a letter or digit."
50
- };
51
- if (id === "main") return {
52
- ok: false,
53
- error: `"${DEFAULT_AGENT_ID}" is reserved`
54
- };
55
- if (WINDOWS_RESERVED_AGENT_IDS.has(id)) return {
56
- ok: false,
57
- error: `Agent id "${id}" is reserved (Windows device name).`
58
- };
59
- return {
60
- ok: true,
61
- agentId: id
62
- };
63
- }
64
- const agentId = deriveAgentIdFromDisplayName(displayNameForDerivation);
65
- if (agentId === "main") return {
66
- ok: false,
67
- error: "Display name cannot produce a valid agent folder id. Set an explicit Agent id (letters, digits, underscores, hyphens only)."
68
- };
69
- if (WINDOWS_RESERVED_AGENT_IDS.has(agentId)) return {
70
- ok: false,
71
- error: `That display name resolves to "${agentId}", which is reserved. Use a different display name or set an explicit Agent id.`
72
- };
73
- if (!STRICT_AGENT_ID_RE.test(agentId)) return {
74
- ok: false,
75
- error: "Could not derive a folder-safe agent id from the display name. Set an explicit Agent id (letters, digits, underscores, hyphens only)."
76
- };
77
- return {
78
- ok: true,
79
- agentId
80
- };
81
- }
10
+ /** Agent path and list resolution backed by the SQLite Agent catalog. */
82
11
  /** Expand `~` and resolve to an absolute path. */
83
12
  function resolveUserPath(raw) {
84
13
  return resolve(expandWorkspacePathString(raw.trim()));
85
14
  }
86
- function listAgentEntries(cfg) {
87
- const list = cfg.agents?.list;
88
- if (!Array.isArray(list)) return [];
89
- return list.filter((e) => Boolean(e && typeof e === "object"));
15
+ function listAgentEntries() {
16
+ return catalog.snapshot().agents;
90
17
  }
91
- function resolveDefaultAgentId(cfg) {
92
- const explicit = cfg.agents?.default?.trim();
93
- if (explicit) return normalizeAgentId(explicit);
94
- const agents = listAgentEntries(cfg);
95
- if (agents.length === 0) return DEFAULT_AGENT_ID;
96
- const chosen = agents.find((entry) => entry.default === true)?.id?.trim() ?? agents[0]?.id?.trim();
97
- return chosen ? normalizeAgentId(chosen) : DEFAULT_AGENT_ID;
18
+ function resolveDefaultAgentId() {
19
+ return catalog.getSettings().defaultAgentId;
98
20
  }
99
- function resolveAgentEntry(cfg, agentId) {
21
+ function resolveAgentEntry(agentId) {
100
22
  const id = normalizeAgentId(agentId);
101
- return listAgentEntries(cfg).find((e) => normalizeAgentId(e.id) === id);
23
+ return listAgentEntries().find((entry) => entry.id === id);
102
24
  }
103
- /**
104
- * Markdown workspace root for an agent.
105
- */
106
- function resolveAgentWorkspaceDir(cfg, agentId) {
25
+ /** Markdown workspace root for an Agent. */
26
+ function resolveAgentWorkspaceDir(agentId) {
107
27
  const id = normalizeAgentId(agentId);
108
- const workspace = resolveAgentEntry(cfg, id)?.workspace;
109
- const configured = (typeof workspace === "string" ? workspace : workspace?.root)?.trim();
28
+ const configured = resolveAgentEntry(id)?.workspace?.trim();
110
29
  if (configured) return resolveUserPath(configured);
111
- if (id === resolveDefaultAgentId(cfg)) return resolveDefaultAgentWorkspaceDir(process.env);
30
+ if (id === resolveDefaultAgentId()) return resolveDefaultAgentWorkspaceDir(process.env);
112
31
  return join(resolveStateDir(process.env), `workspace-${id}`);
113
32
  }
114
- /**
115
- * Internal agent state dir: credentials, `agent.json`, pid, inbox (`…/agent/`).
116
- */
117
- function resolveAgentDir(cfg, agentId) {
118
- const id = normalizeAgentId(agentId);
119
- return join(resolveStateDir(process.env), "agents", id, "agent");
33
+ /** Internal Agent state dir: credentials, `agent.json`, pid, inbox (`…/agent/`). */
34
+ function resolveAgentDir(agentId) {
35
+ return join(resolveStateDir(process.env), "agents", normalizeAgentId(agentId), "agent");
120
36
  }
121
37
  /** Parent of `sessions/` and `agent/`: `<stateDir>/agents/<id>/`. */
122
- function resolveAgentHomeDir(cfg, agentId) {
38
+ function resolveAgentHomeDir(agentId) {
123
39
  return join(resolveStateDir(process.env), "agents", normalizeAgentId(agentId));
124
40
  }
125
41
  /** Profile Markdown + gateway avatar files: `<stateDir>/agents/<id>/profile/`. */
126
- function resolveAgentProfileDir(cfg, agentId) {
127
- return join(resolveAgentHomeDir(cfg, agentId), "profile");
42
+ function resolveAgentProfileDir(agentId) {
43
+ return join(resolveAgentHomeDir(agentId), "profile");
128
44
  }
129
45
  /** Resolved path for a single profile Markdown basename (e.g. `SOUL.md`). */
130
- function resolveAgentProfileMarkdownPath(cfg, agentId, filename) {
46
+ function resolveAgentProfileMarkdownPath(agentId, filename) {
131
47
  const base = basename(filename.trim().replace(/\\/g, "/"));
132
- return join(resolveAgentProfileDir(cfg, agentId), base);
48
+ return join(resolveAgentProfileDir(agentId), base);
133
49
  }
134
50
  function normalizePathForComparison(input) {
135
51
  const resolved = resolve(resolveUserPath(input));
@@ -137,94 +53,56 @@ function normalizePathForComparison(input) {
137
53
  try {
138
54
  normalized = fs.realpathSync.native(resolved);
139
55
  } catch {}
140
- if (process.platform === "win32") return normalized.toLowerCase();
141
- return normalized;
56
+ return process.platform === "win32" ? normalized.toLowerCase() : normalized;
142
57
  }
143
58
  function isPathWithinRoot(candidatePath, rootPath) {
144
59
  const rel = relative(rootPath, candidatePath);
145
60
  return rel === "" || !rel.startsWith("..") && !isAbsolute(rel);
146
61
  }
147
62
  /** Agent ids whose workspace root contains `workspacePath` (longest match first). */
148
- function resolveAgentIdsByWorkspacePath(cfg, workspacePath) {
63
+ function resolveAgentIdsByWorkspacePath(workspacePath) {
149
64
  const normalizedWorkspacePath = normalizePathForComparison(workspacePath);
150
- const entries = listAgentEntries(cfg);
65
+ const entries = listAgentEntries();
151
66
  const matches = [];
152
- for (let index = 0; index < entries.length; index += 1) {
153
- const entry = entries[index];
154
- const id = normalizeAgentId(entry.id);
155
- const workspaceDir = normalizePathForComparison(resolveAgentWorkspaceDir(cfg, id));
156
- if (!isPathWithinRoot(normalizedWorkspacePath, workspaceDir)) continue;
157
- matches.push({
158
- id,
67
+ entries.forEach((entry, order) => {
68
+ const workspaceDir = normalizePathForComparison(resolveAgentWorkspaceDir(entry.id));
69
+ if (isPathWithinRoot(normalizedWorkspacePath, workspaceDir)) matches.push({
70
+ id: entry.id,
159
71
  workspaceDir,
160
- order: index
72
+ order
161
73
  });
162
- }
163
- const defaultId = resolveDefaultAgentId(cfg);
164
- if (!entries.some((e) => normalizeAgentId(e.id) === defaultId)) {
165
- const workspaceDir = normalizePathForComparison(resolveAgentWorkspaceDir(cfg, defaultId));
74
+ });
75
+ const defaultId = resolveDefaultAgentId();
76
+ if (!entries.some((entry) => entry.id === defaultId)) {
77
+ const workspaceDir = normalizePathForComparison(resolveAgentWorkspaceDir(defaultId));
166
78
  if (isPathWithinRoot(normalizedWorkspacePath, workspaceDir)) matches.push({
167
79
  id: defaultId,
168
80
  workspaceDir,
169
81
  order: entries.length
170
82
  });
171
83
  }
172
- matches.sort((left, right) => {
173
- const workspaceLengthDelta = right.workspaceDir.length - left.workspaceDir.length;
174
- if (workspaceLengthDelta !== 0) return workspaceLengthDelta;
175
- return left.order - right.order;
176
- });
84
+ matches.sort((left, right) => right.workspaceDir.length - left.workspaceDir.length || left.order - right.order);
177
85
  return matches.map((entry) => entry.id);
178
86
  }
179
- /** Best-matching agent id for cwd, or `undefined` when no workspace contains the path. */
180
- function resolveAgentIdByWorkspacePath(cfg, workspacePath) {
181
- return resolveAgentIdsByWorkspacePath(cfg, workspacePath)[0];
87
+ /** Best-matching Agent id for cwd, or `undefined` when no workspace contains the path. */
88
+ function resolveAgentIdByWorkspacePath(workspacePath) {
89
+ return resolveAgentIdsByWorkspacePath(workspacePath)[0];
182
90
  }
183
- /**
184
- * Find the agent id whose resolved markdown workspace matches `resolvedWorkspacePath`.
185
- * Falls back to {@link resolveDefaultAgentId} when no list entry matches.
186
- */
187
- function resolveAgentIdForWorkspacePath(cfg, resolvedWorkspacePath) {
188
- return resolveAgentIdByWorkspacePath(cfg, resolvedWorkspacePath) ?? resolveDefaultAgentId(cfg);
91
+ /** Resolve an Agent from a workspace, falling back to the catalog default. */
92
+ function resolveAgentIdForWorkspacePath(resolvedWorkspacePath) {
93
+ return resolveAgentIdByWorkspacePath(resolvedWorkspacePath) ?? resolveDefaultAgentId();
189
94
  }
190
- function getDefaultWorkspacePath(cfg) {
191
- return resolveAgentWorkspaceDir(cfg, resolveDefaultAgentId(cfg));
95
+ function getDefaultWorkspacePath() {
96
+ return resolveAgentWorkspaceDir(resolveDefaultAgentId());
192
97
  }
193
- var DEFAULT_AGENT_ID, VALID_ID_RE, INVALID_CHARS_RE, LEADING_DASH_RE, TRAILING_DASH_RE, STRICT_AGENT_ID_RE, WINDOWS_RESERVED_AGENT_IDS;
98
+ var catalog;
194
99
  var init_agent_scope = __esmMin((() => {
100
+ init_id();
101
+ init_repository();
195
102
  init_paths_state();
196
- init_workspace_path();
197
103
  init_workspace_defaults();
198
- DEFAULT_AGENT_ID = "main";
199
- VALID_ID_RE = /^[a-z0-9][a-z0-9_-]{0,63}$/i;
200
- INVALID_CHARS_RE = /[^a-z0-9_-]+/g;
201
- LEADING_DASH_RE = /^-+/;
202
- TRAILING_DASH_RE = /-+$/;
203
- STRICT_AGENT_ID_RE = /^[a-z0-9][a-z0-9_-]{0,63}$/;
204
- WINDOWS_RESERVED_AGENT_IDS = new Set([
205
- "con",
206
- "prn",
207
- "aux",
208
- "nul",
209
- "com1",
210
- "com2",
211
- "com3",
212
- "com4",
213
- "com5",
214
- "com6",
215
- "com7",
216
- "com8",
217
- "com9",
218
- "lpt1",
219
- "lpt2",
220
- "lpt3",
221
- "lpt4",
222
- "lpt5",
223
- "lpt6",
224
- "lpt7",
225
- "lpt8",
226
- "lpt9"
227
- ]);
104
+ init_workspace_path();
105
+ catalog = new AgentCatalogRepository();
228
106
  }));
229
107
  //#endregion
230
108
  init_agent_scope();
@@ -3,12 +3,12 @@ import { init_logger } from "../../utils/logger.js";
3
3
  import { finishContextExtractionRun } from "../../storage/sqlite/context-extraction-repository.js";
4
4
  import { getSessionMetadata } from "../../storage/sqlite/session-read-repository.js";
5
5
  import { loadCompactionSourceSnapshot } from "../../storage/sqlite/transcript-repository.js";
6
- import "../../storage/sqlite/index.js";
6
+ import { init_sqlite } from "../../storage/sqlite/index.js";
7
+ import { extractTextContent } from "../context/workspace.js";
7
8
  import { extractProfileAgentId } from "../../config/agent-profile.js";
8
9
  import { init_sync_provider_auth, resolveProviderApiKeySync } from "../../auth/sync-provider-auth.js";
9
10
  import { getApiKeySync, init_providers, resolveModel } from "../../providers/index.js";
10
11
  import { createExtensionAwareStreamFn } from "../../providers/extension-stream-bridge.js";
11
- import { extractTextContent } from "../context/workspace.js";
12
12
  import { listUserAssertions } from "../../user-model/repository.js";
13
13
  import { readAgentMessageContent } from "../memory/agent-message-access.js";
14
14
  import { isAssistantTurnAborted, isAssistantTurnFailed } from "../orchestration/llm-turn-retry.js";
@@ -23,6 +23,7 @@ import { Agent } from "@earendil-works/pi-agent-core";
23
23
  //#region src/agent/background-review/run-background-review.ts
24
24
  init_sync_provider_auth();
25
25
  init_providers();
26
+ init_sqlite();
26
27
  init_logger();
27
28
  const log = createLogger("UserModelInterpreter");
28
29
  function isReviewMessage(value) {
@@ -96,7 +97,7 @@ function resolveInterpreterRuntime(params) {
96
97
  const processingPolicy = config?.userContext.userModel.processingPolicy ?? "remote_allowed";
97
98
  let model;
98
99
  if (config) {
99
- const agentId = extractProfileAgentId(params.conversationId, config);
100
+ const agentId = extractProfileAgentId(params.conversationId);
100
101
  const ref = resolveModelIntentRef(config, agentId, "understanding");
101
102
  if (ref) try {
102
103
  model = resolveModel(ref);
@@ -188,7 +189,7 @@ async function executeReview(params) {
188
189
  }
189
190
  try {
190
191
  const config = params.getConfig();
191
- const agentId = config ? extractProfileAgentId(params.conversationId, config) : "main";
192
+ const agentId = config ? extractProfileAgentId(params.conversationId) : "main";
192
193
  const write = config?.userContext.userModel.writePolicy ?? "deny";
193
194
  const result = executeUserModelInterpretation({
194
195
  interpretation,
@@ -1,6 +1,6 @@
1
+ import { DEFAULT_AGENTS_FILENAME, DEFAULT_IDENTITY_FILENAME, DEFAULT_SOUL_FILENAME, DEFAULT_TOOLS_FILENAME } from "../context/workspace.js";
1
2
  import { isCronConversationId, isSubagentConversationId } from "../../routing/agent-session-key.js";
2
3
  import { init_session_key } from "../../routing/session-key.js";
3
- import { DEFAULT_AGENTS_FILENAME, DEFAULT_IDENTITY_FILENAME, DEFAULT_SOUL_FILENAME, DEFAULT_TOOLS_FILENAME } from "../context/workspace.js";
4
4
  //#region src/agent/bootstrap/filter-bootstrap-files.ts
5
5
  init_session_key();
6
6
  const MINIMAL_BOOTSTRAP_ALLOWLIST = new Set([
@@ -1,4 +1,6 @@
1
1
  import { resolveStateDir } from "../../config/paths-state.js";
2
+ import { redactSensitiveOutput } from "../../utils/logger/redact.js";
3
+ import { init_logger } from "../../utils/logger.js";
2
4
  import { init_global_singleton, resolveGlobalSingleton } from "../../utils/global-singleton.js";
3
5
  import { init_paths } from "../../config/paths.js";
4
6
  import { spawnProcess } from "../../process/run-process.js";
@@ -11,6 +13,7 @@ import { createHash, randomUUID } from "node:crypto";
11
13
  //#region src/agent/commands/command-registry.ts
12
14
  init_paths();
13
15
  init_global_singleton();
16
+ init_logger();
14
17
  const DEFAULT_COMMAND_TIMEOUT_MS = 30 * 6e4;
15
18
  const MAX_COMMAND_TIMEOUT_MS = 240 * 6e4;
16
19
  const MAX_LOG_BYTES = 8 * 1024 * 1024;
@@ -56,7 +59,7 @@ var CommandRegistry = class {
56
59
  isolation: input.isolation?.mode ?? "host",
57
60
  ...launch.containerName ? { containerName: launch.containerName } : {},
58
61
  id,
59
- command: input.command,
62
+ command: redactSensitiveOutput(input.command),
60
63
  cwd: input.cwd,
61
64
  status: "running",
62
65
  exitCode: null,
@@ -82,8 +85,9 @@ var CommandRegistry = class {
82
85
  let closed = false;
83
86
  let containerCleanup;
84
87
  const append = (stream, chunk) => {
85
- const value = String(chunk);
86
- result.totalOutputBytes += Buffer.byteLength(value);
88
+ const raw = String(chunk);
89
+ const value = redactSensitiveOutput(raw);
90
+ result.totalOutputBytes += Buffer.byteLength(raw);
87
91
  result.captureTruncated ||= result[stream].length + value.length > limit || result.aggregatedOutput.length + value.length > limit;
88
92
  result[stream] = (result[stream] + value).slice(-limit);
89
93
  result.aggregatedOutput = (result.aggregatedOutput + value).slice(-limit);
@@ -30,7 +30,7 @@ var ExecutionContextCoordinator = class {
30
30
  if (!config || !config.userContext.contextPlanning.enabled || !access.userModel && !access.knowledge) return empty();
31
31
  await this.options.ensureMemoryReady(conversationId);
32
32
  const task = assembleTaskContext(conversationId, extractAgentUserPlainText(userMessage));
33
- const agentId = extractProfileAgentId(conversationId, config);
33
+ const agentId = extractProfileAgentId(conversationId);
34
34
  const workspaceId = this.options.getWorkspaceIdForSession(conversationId);
35
35
  const projectId = this.options.getProjectIdForSession(conversationId);
36
36
  const maxKnowledge = Math.min(config.userContext.contextPlanning.maxKnowledge, task.allocation.maxResults);
@@ -1,5 +1,5 @@
1
1
  import { getSqliteDatabase, init_transaction } from "../../storage/sqlite/transaction.js";
2
- import { listCollaborationRules } from "../../storage/sqlite/collaboration-rule-repository.js";
2
+ import { init_collaboration_rule_repository, listCollaborationRules } from "../../storage/sqlite/collaboration-rule-repository.js";
3
3
  import { searchKnowledgeItems } from "../../knowledge-memory/repository.js";
4
4
  import "../../knowledge-memory/index.js";
5
5
  import { retrievalLexicalSimilarity } from "../../retrieval/textFeatures.js";
@@ -11,6 +11,7 @@ import { buildUserContextBlock } from "../memory/context-fence.js";
11
11
  import { randomUUID } from "node:crypto";
12
12
  //#region src/agent/context/execution-context.ts
13
13
  init_transaction();
14
+ init_collaboration_rule_repository();
14
15
  function scopeVisible(scope, context) {
15
16
  if (scope.type === "global") return true;
16
17
  return scope.id === {
@@ -1,12 +1,13 @@
1
1
  import { isXopcDatabaseOpen } from "../../storage/sqlite/connection.js";
2
2
  import { TaskRepository, init_task_repository } from "../../tasks/task-repository.js";
3
3
  import { getSessionMetadata } from "../../storage/sqlite/session-read-repository.js";
4
- import "../../storage/sqlite/index.js";
4
+ import { init_sqlite } from "../../storage/sqlite/index.js";
5
5
  import { sanitizeForPromptLiteral } from "../prompt/sanitize-for-prompt.js";
6
6
  import { TaskConversationRepository } from "../../tasks/task-conversation-repository.js";
7
7
  import { TaskReadModelProjector } from "../../tasks/task-read-model-projector.js";
8
8
  import { buildActiveProjectContextForPrompt } from "./project-context.js";
9
9
  //#region src/agent/context/execution-scope.ts
10
+ init_sqlite();
10
11
  init_task_repository();
11
12
  const MAX_OBJECTIVE_TEXT = 1200;
12
13
  const MAX_CRITERIA = 12;
@@ -2,7 +2,6 @@
2
2
  * Seed profile Markdown files into `agents/<agentId>/profile/` (and optionally `git init` the Markdown workspace).
3
3
  * Resolution order per file: `XOPC_TEMPLATE_PATH` or repo `docs/reference/templates`, then bundled `./workspace-templates/`.
4
4
  */
5
- import type { Config } from '../../config/schema.js';
6
5
  /** Marker in bundled/reference `IDENTITY.md` templates; replaced on agent creation when a display name is known. */
7
6
  export declare const IDENTITY_NAME_PLACEHOLDER = "_(pick something you like)_";
8
7
  export type SeedWorkspaceProfileMarkdownOptions = {
@@ -18,4 +17,4 @@ export declare function seedAgentProfileMarkdownFiles(profileDir: string, markdo
18
17
  /**
19
18
  * Ensure default (`main`) agent has reference profile Markdown templates (missing files only).
20
19
  */
21
- export declare function seedMainAgentProfileMarkdown(cfg: Config): void;
20
+ export declare function seedMainAgentProfileMarkdown(): void;
@@ -105,9 +105,9 @@ function ensureGitRepo(markdownWorkspaceDir, isBrandNew) {
105
105
  /**
106
106
  * Ensure default (`main`) agent has reference profile Markdown templates (missing files only).
107
107
  */
108
- function seedMainAgentProfileMarkdown(cfg) {
109
- const agentId = resolveDefaultAgentId(cfg);
110
- seedAgentProfileMarkdownFiles(resolveAgentProfileDir(cfg, agentId), resolveAgentWorkspaceDir(cfg, agentId), { displayName: agentId });
108
+ function seedMainAgentProfileMarkdown() {
109
+ const agentId = resolveDefaultAgentId();
110
+ seedAgentProfileMarkdownFiles(resolveAgentProfileDir(agentId), resolveAgentWorkspaceDir(agentId), { displayName: agentId });
111
111
  }
112
112
  //#endregion
113
113
  export { IDENTITY_NAME_PLACEHOLDER, seedAgentProfileMarkdownFiles, seedMainAgentProfileMarkdown };
@@ -44,7 +44,7 @@ function resolveWorkspaceStatePathForMarkdownWorkspace(markdownWorkspaceDir) {
44
44
  }
45
45
  /** Resolve workspace state path from config + agent id. */
46
46
  function resolveAgentWorkspaceStatePath(config, agentId) {
47
- return resolveWorkspaceStatePath(config, agentId);
47
+ return resolveWorkspaceStatePath(agentId);
48
48
  }
49
49
  /** Record profile Markdown seed time (idempotent). */
50
50
  function markProfileMarkdownSeeded(statePath) {
@@ -109,7 +109,7 @@ async function runEmbeddedTurnForSession(params) {
109
109
  const systemPrompt = appendDynamicPromptSection([agent.state.systemPrompt ?? "", params.presentation === "voice" ? voicePresentationPrompt : ""].filter(Boolean).join("\n\n"), params.dynamicSystemContext ?? "");
110
110
  const thinkingLevel = params.thinkingOverride ?? agent.state.thinkingLevel;
111
111
  const workspaceDir = agentManager.getResolvedWorkspaceForSession(conversationId);
112
- const promptCachePolicy = resolvePromptCachePolicy(config ? resolveEffectiveAgentProfileForSession(config, conversationId).config.runtime.promptCache : void 0);
112
+ const promptCachePolicy = resolvePromptCachePolicy(config ? resolveEffectiveAgentProfileForSession(conversationId).config.runtime.promptCache : void 0);
113
113
  let userMessageForTurn = userMessage;
114
114
  if (params.applyStartupContext !== false) {
115
115
  userMessageForTurn = await applyStartupContextToUserMessage({
@@ -191,7 +191,7 @@ async function runEmbeddedTurnForSession(params) {
191
191
  try {
192
192
  const turnResult = await runWithEmbeddedExecutionSession(conversationId, () => runXopcEmbeddedTurn({
193
193
  conversationId,
194
- verifyChanges: config ? resolveEffectiveAgentProfileForSession(config, conversationId).agentId === "coder" : false,
194
+ verifyChanges: config ? resolveEffectiveAgentProfileForSession(conversationId).agentId === "coder" : false,
195
195
  runId,
196
196
  userMessage: userMessageForTurn,
197
197
  images: params.llmImages,
@@ -1,6 +1,6 @@
1
1
  import { createLogger } from "../../utils/logger/index.js";
2
2
  import { init_logger } from "../../utils/logger.js";
3
- import { getClarification, getClarificationResumeInput, isClarificationSuspended } from "../../storage/sqlite/clarification-wait-repository.js";
3
+ import { getClarification, getClarificationResumeInput, init_clarification_wait_repository, isClarificationSuspended } from "../../storage/sqlite/clarification-wait-repository.js";
4
4
  import { getConnectionResumeInput, init_connection_wait_repository, isConnectionSuspended } from "../../storage/sqlite/connection-wait-repository.js";
5
5
  import { runWithEmbeddedExecutionSession } from "./execution-context.js";
6
6
  import { isComputerControlActive, isComputerLeaseTool, stopComputerControl } from "../../computer/control-guard.js";
@@ -27,6 +27,7 @@ import { withDelegationScope } from "../orchestration/delegation-scope.js";
27
27
  import { createAssistantMessageEventStream, getCurrentSystemPrompt, getCurrentTools, isRecoverableLength } from "@earendil-works/pi-ai";
28
28
  //#region src/agent/embedded/run-turn.ts
29
29
  init_connection_wait_repository();
30
+ init_clarification_wait_repository();
30
31
  init_logger();
31
32
  const log = createLogger("EmbeddedRun");
32
33
  const LOG_PREVIEW_MAX_CHARS = 300;
@@ -1,11 +1,12 @@
1
1
  import { requireXopcDatabase } from "../../storage/sqlite/connection.js";
2
2
  import { ensureSessionRecord } from "../../storage/sqlite/session-repository.js";
3
3
  import { loadTranscriptRowsForSession } from "../../storage/sqlite/transcript-repository.js";
4
- import "../../storage/sqlite/index.js";
4
+ import { init_sqlite } from "../../storage/sqlite/index.js";
5
5
  import { storedRowsToFileEntries } from "../../session/stored-rows-to-file-entries.js";
6
6
  import { repairAssistantUsageInSessionManager } from "./session-manager-init.js";
7
7
  import { SessionManager } from "@earendil-works/pi-coding-agent";
8
8
  //#region src/agent/embedded/sqlite-hydrating-session-manager.ts
9
+ init_sqlite();
9
10
  /**
10
11
  * Open an in-memory pi SessionManager hydrated from the SQLite transcript.
11
12
  * File persistence is disabled; writes flow through the tool-result guard into SQLite.
@@ -3,6 +3,7 @@ import { SessionManager } from '@earendil-works/pi-coding-agent';
3
3
  import type { Api, Model } from '@earendil-works/pi-ai';
4
4
  import { type CompactionExecutionOptions, type CompactionResult } from '../memory/compaction.js';
5
5
  import type { SessionStore } from '../../session/store.js';
6
+ import type { TranscriptSourceEntry } from '../../storage/sqlite/transcript-repository.js';
6
7
  export interface EmbeddedTranscriptRuntime {
7
8
  readonly runtimeId: string;
8
9
  readonly transcriptId: string;
@@ -32,6 +33,8 @@ export declare class InMemoryTranscriptRuntime implements EmbeddedTranscriptRunt
32
33
  loadMessages(): Promise<AgentMessage[]>;
33
34
  captureBaseline(): void;
34
35
  loadConversationMessages(): AgentMessage[];
36
+ loadBaselineMessages(): AgentMessage[];
37
+ loadConversationRows(): TranscriptSourceEntry['row'][];
35
38
  private sourceEntries;
36
39
  compact(_messages: AgentMessage[], model: Model<Api>, instructions?: string, force?: boolean, options?: CompactionExecutionOptions): Promise<CompactionResult>;
37
40
  }
@@ -49,6 +49,12 @@ var InMemoryTranscriptRuntime = class {
49
49
  loadConversationMessages() {
50
50
  return this.sessionManager.getBranch().slice(this.baselineEntryCount).flatMap((entry) => entry.type === "message" ? [entry.message] : []);
51
51
  }
52
+ loadBaselineMessages() {
53
+ return buildSessionContextForLlm(this.sourceEntries().slice(0, this.baselineEntryCount).map((entry) => entry.row));
54
+ }
55
+ loadConversationRows() {
56
+ return structuredClone(this.sourceEntries().slice(this.baselineEntryCount).map((entry) => entry.row));
57
+ }
52
58
  sourceEntries() {
53
59
  return this.sessionManager.getBranch().flatMap((entry, index) => {
54
60
  const compaction = this.compactionRows.get(entry.id);
@@ -4,7 +4,7 @@ import { getSessionInputState, init_session_input_repository } from "../../stora
4
4
  import { getConnectorAccount, init_connector_account_repository } from "../../storage/sqlite/connector-account-repository.js";
5
5
  import { appendConnectorExecutionAudit, consumeConnectorApproval, createConnectorApproval, getConnectorApproval, getConnectorConnection, getConnectorInstallation, init_connector_repository } from "../../storage/sqlite/connector-repository.js";
6
6
  import { connectorObjectiveScope, init_connection_wait_repository, publishConnectionWait, requireSessionConnection } from "../../storage/sqlite/connection-wait-repository.js";
7
- import "../../storage/sqlite/index.js";
7
+ import { init_sqlite } from "../../storage/sqlite/index.js";
8
8
  import { CapabilityError } from "../../capabilities/runtime/errors.js";
9
9
  import { ExternalEffectNotAppliedError, executeExternalOperation } from "../../capabilities/runtime/external-operations.js";
10
10
  import "../../capabilities/runtime/dispatcher.js";
@@ -23,6 +23,7 @@ import { join } from "node:path";
23
23
  import { randomUUID } from "node:crypto";
24
24
  import { writeFile } from "node:fs/promises";
25
25
  //#region src/agent/external-tools/cliProvider.ts
26
+ init_sqlite();
26
27
  init_connector_account_repository();
27
28
  init_connector_repository();
28
29
  init_connection_wait_repository();
@@ -202,7 +203,10 @@ var CliToolProvider = class {
202
203
  summary: `Confirm ${action.id}`,
203
204
  needs: [{
204
205
  key: `${item.instance.connectorId}:${connection.accountId}`,
205
- connectorId: item.instance.connectorId,
206
+ target: {
207
+ type: "connector",
208
+ connectorId: item.instance.connectorId
209
+ },
206
210
  accountId: connection.accountId,
207
211
  connectionId: connection.id,
208
212
  label: item.instance.displayName,
@@ -4,7 +4,7 @@ import { getSessionInputState, init_session_input_repository } from "../../stora
4
4
  import { getConnectorAccount } from "../../storage/sqlite/connector-account-repository.js";
5
5
  import { consumeConnectorApproval, createConnectorApproval, getConnectorApproval, getConnectorConnection, getConnectorInstallation, listConnectorActionMetadata, listConnectorConnections, listConnectorInstallations, upsertConnectorActionMetadata, upsertConnectorInstallation } from "../../storage/sqlite/connector-repository.js";
6
6
  import { bindObjectiveAccount, connectionBinding, connectionBindings, connectorObjectiveScope, init_connection_wait_repository, publishConnectionWait, requireSessionConnection } from "../../storage/sqlite/connection-wait-repository.js";
7
- import "../../storage/sqlite/index.js";
7
+ import { init_sqlite } from "../../storage/sqlite/index.js";
8
8
  import { CapabilityError } from "../../capabilities/runtime/errors.js";
9
9
  import { ExternalEffectNotAppliedError, executeExternalOperation } from "../../capabilities/runtime/external-operations.js";
10
10
  import { connectorArgumentsHash, connectorArgumentsPreview } from "../../connectors/approval.js";
@@ -22,6 +22,7 @@ import { ExternalToolSearchError } from "./search-error.js";
22
22
  //#region src/agent/external-tools/composio-provider.ts
23
23
  init_session_input_repository();
24
24
  init_connection_wait_repository();
25
+ init_sqlite();
25
26
  init_logger();
26
27
  const CONNECTION_ARGUMENT = "xopcAccountId";
27
28
  const log = createLogger("ComposioToolProvider");
@@ -260,7 +261,7 @@ var ComposioToolProvider = class {
260
261
  }).filter((connection) => connection.status === "active" && fresh.some((item) => item.id === connection.id) && canAccessConnectorAccount(connection, resolved.installation, available.agentId)));
261
262
  const boundConnection = available.context ? connectionBinding(available.context.conversationId, resolved.installation.connectorId) : void 0;
262
263
  const requestedAccount = typeof executionArgs[CONNECTION_ARGUMENT] === "string" ? executionArgs[CONNECTION_ARGUMENT] : boundConnection ? getConnectorConnection(boundConnection)?.accountId : void 0;
263
- const bindings = available.context ? connectionBindings(available.context.conversationId).filter((need) => need.connectorId === resolved.installation.connectorId) : [];
264
+ const bindings = available.context ? connectionBindings(available.context.conversationId).filter((need) => need.target.type === "connector" && need.target.connectorId === resolved.installation.connectorId) : [];
264
265
  if (bindings.length > 1 && !requestedAccount) return textResult({
265
266
  status: "account_selection_required",
266
267
  accounts: bindings,
@@ -277,7 +278,10 @@ var ComposioToolProvider = class {
277
278
  summary: `Continue ${action.actionId} using ${toolkit}`,
278
279
  needs: [{
279
280
  key: `${resolved.installation.connectorId}:default`,
280
- connectorId: resolved.installation.connectorId,
281
+ target: {
282
+ type: "connector",
283
+ connectorId: resolved.installation.connectorId
284
+ },
281
285
  accountId: requestedAccount,
282
286
  label: getConnectorDefinition(resolved.installation.connectorId)?.displayName ?? toolkit,
283
287
  capabilities: [action.actionId]
@@ -388,7 +392,10 @@ var ComposioToolProvider = class {
388
392
  summary: `Confirm ${action.actionId}`,
389
393
  needs: [{
390
394
  key: `${resolved.installation.connectorId}:${connection.accountId}`,
391
- connectorId: resolved.installation.connectorId,
395
+ target: {
396
+ type: "connector",
397
+ connectorId: resolved.installation.connectorId
398
+ },
392
399
  accountId: connection.accountId,
393
400
  connectionId: connection.id,
394
401
  label: toolkit,
@@ -1,7 +1,7 @@
1
- import { COMPUTER_CONTROL_TOOL, init_src } from "../../../packages/computer-control-contract/src/index.js";
2
- import { BROWSER_CONTROL_ENDPOINT_TOOL_NAME } from "../../../packages/browser-control-contract/src/index.js";
3
1
  import { executeExternalOperation } from "../../capabilities/runtime/external-operations.js";
4
2
  import { canonicalCapabilityJson } from "../../capabilities/runtime/dispatcher.js";
3
+ import { COMPUTER_CONTROL_TOOL, init_src } from "../../../packages/computer-control-contract/src/index.js";
4
+ import { BROWSER_CONTROL_ENDPOINT_TOOL_NAME } from "../../../packages/browser-control-contract/src/index.js";
5
5
  import { externalToolRef, parseExternalToolRef } from "./refs.js";
6
6
  import { createHash } from "node:crypto";
7
7
  //#region src/agent/external-tools/endpoint-provider.ts