@xopcai/xopc 0.0.149 → 0.0.151

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 (2914) hide show
  1. package/README.md +10 -0
  2. package/README.zh-CN.md +10 -0
  3. package/dist/browser-ext/manifest.json +1 -1
  4. package/dist/extensions/dashscope/src/image-generation-provider.js +0 -2
  5. package/dist/extensions/demo-memory/src/index.js +0 -2
  6. package/dist/extensions/fal/src/image-generation-provider.js +0 -2
  7. package/dist/extensions/feishu/src/actions/message-action-handler.js +0 -2
  8. package/dist/extensions/feishu/src/adapters/cli-login.js +0 -2
  9. package/dist/extensions/feishu/src/adapters/gateway-setup.js +0 -2
  10. package/dist/extensions/feishu/src/adapters/onboard-cli.js +0 -2
  11. package/dist/extensions/feishu/src/auth/app-registration.js +0 -2
  12. package/dist/extensions/feishu/src/auth/pairing.js +0 -2
  13. package/dist/extensions/feishu/src/auth/paths.js +0 -2
  14. package/dist/extensions/feishu/src/directory/directory-adapter.js +0 -2
  15. package/dist/extensions/feishu/src/format.js +0 -2
  16. package/dist/extensions/feishu/src/index.js +0 -2
  17. package/dist/extensions/feishu/src/outbound/actions.js +0 -2
  18. package/dist/extensions/feishu/src/outbound/media-load.js +0 -2
  19. package/dist/extensions/feishu/src/outbound/outbound-adapter.js +0 -2
  20. package/dist/extensions/feishu/src/pairing/feishu-pairing-prompt.js +0 -2
  21. package/dist/extensions/feishu/src/pairing-config-resolver.js +0 -2
  22. package/dist/extensions/feishu/src/plugin.js +0 -2
  23. package/dist/extensions/feishu/src/schema/config-schema.js +0 -2
  24. package/dist/extensions/feishu/src/state/accounts.js +0 -2
  25. package/dist/extensions/feishu/src/state/message-bindings.js +0 -2
  26. package/dist/extensions/feishu/src/state/thread-bindings.js +0 -2
  27. package/dist/extensions/feishu/src/status/doctor.js +0 -2
  28. package/dist/extensions/feishu/src/status/status-adapter.js +0 -2
  29. package/dist/extensions/feishu/src/streaming/streaming-adapter.js +0 -2
  30. package/dist/extensions/feishu/src/subagent-hooks.js +0 -2
  31. package/dist/extensions/feishu/src/tools/docx/docx-batch-insert.js +0 -2
  32. package/dist/extensions/feishu/src/tools/docx/docx-color-text.d.ts +6 -3386
  33. package/dist/extensions/feishu/src/tools/docx/docx-color-text.js +0 -2
  34. package/dist/extensions/feishu/src/tools/docx/docx-table-ops.d.ts +16 -16927
  35. package/dist/extensions/feishu/src/tools/docx/docx-table-ops.js +0 -2
  36. package/dist/extensions/feishu/src/tools/tools.js +0 -2
  37. package/dist/extensions/feishu/src/transport/client/client.js +2 -4
  38. package/dist/extensions/feishu/src/transport/client/lark-sdk-logger.js +0 -2
  39. package/dist/extensions/feishu/src/transport/client/lark-sdk.d.ts +3 -0
  40. package/dist/extensions/feishu/src/transport/client/lark-sdk.js +14 -0
  41. package/dist/extensions/feishu/src/transport/reliability/dedupe.js +0 -2
  42. package/dist/extensions/feishu/src/transport/reliability/inbound-pipeline.js +0 -2
  43. package/dist/extensions/feishu/src/transport/socket-mode/monitor.js +0 -2
  44. package/dist/extensions/feishu/src/transport/socket-mode/retry.js +0 -2
  45. package/dist/extensions/feishu/src/transport/text/mentions.js +0 -2
  46. package/dist/extensions/feishu/src/transport/webhook/monitor.js +3 -5
  47. package/dist/extensions/feishu/src/ui/config-surface.js +0 -2
  48. package/dist/extensions/feishu/src/workflow-progress.js +0 -2
  49. package/dist/extensions/google/src/image-generation-provider.js +0 -2
  50. package/dist/extensions/minimax/src/image-generation-provider.js +0 -2
  51. package/dist/extensions/openai/src/image-generation-provider.js +0 -2
  52. package/dist/extensions/telegram/src/access-control.js +0 -2
  53. package/dist/extensions/telegram/src/account-manager.js +0 -2
  54. package/dist/extensions/telegram/src/actions/message-actions.js +0 -2
  55. package/dist/extensions/telegram/src/adapters/command-adapter.js +0 -2
  56. package/dist/extensions/telegram/src/adapters/config-adapter.js +0 -2
  57. package/dist/extensions/telegram/src/adapters/debounce-keys.js +0 -2
  58. package/dist/extensions/telegram/src/adapters/gateway-adapter.js +0 -2
  59. package/dist/extensions/telegram/src/adapters/gateway-setup.js +0 -2
  60. package/dist/extensions/telegram/src/adapters/inbound-access.js +0 -2
  61. package/dist/extensions/telegram/src/adapters/index.js +0 -2
  62. package/dist/extensions/telegram/src/adapters/onboard-cli.js +0 -2
  63. package/dist/extensions/telegram/src/adapters/outbound-adapter.js +0 -2
  64. package/dist/extensions/telegram/src/adapters/security-adapter.js +0 -2
  65. package/dist/extensions/telegram/src/adapters/setup-wizard.js +0 -2
  66. package/dist/extensions/telegram/src/adapters/status-adapter.js +0 -2
  67. package/dist/extensions/telegram/src/adapters/streaming-adapter.js +0 -2
  68. package/dist/extensions/telegram/src/api-root.js +0 -2
  69. package/dist/extensions/telegram/src/approval-delivery.js +0 -2
  70. package/dist/extensions/telegram/src/approval-store.js +0 -2
  71. package/dist/extensions/telegram/src/caption.js +0 -2
  72. package/dist/extensions/telegram/src/command-handler.js +0 -2
  73. package/dist/extensions/telegram/src/config-schema.js +0 -2
  74. package/dist/extensions/telegram/src/conversation-id.js +0 -2
  75. package/dist/extensions/telegram/src/dedupe.js +0 -2
  76. package/dist/extensions/telegram/src/delivery-chat-id.js +0 -2
  77. package/dist/extensions/telegram/src/doctor.js +0 -2
  78. package/dist/extensions/telegram/src/draft-stream-lifecycle.js +0 -2
  79. package/dist/extensions/telegram/src/draft-stream-loop.js +0 -2
  80. package/dist/extensions/telegram/src/draft-stream.js +0 -2
  81. package/dist/extensions/telegram/src/errors.js +0 -2
  82. package/dist/extensions/telegram/src/exec-approval-handler.js +0 -2
  83. package/dist/extensions/telegram/src/exec-approvals.js +0 -2
  84. package/dist/extensions/telegram/src/focus-handler.js +0 -2
  85. package/dist/extensions/telegram/src/format.js +0 -2
  86. package/dist/extensions/telegram/src/group-config-resolver.js +0 -2
  87. package/dist/extensions/telegram/src/inbound-coalescer.js +0 -2
  88. package/dist/extensions/telegram/src/inbound-processor.js +0 -2
  89. package/dist/extensions/telegram/src/index.js +0 -2
  90. package/dist/extensions/telegram/src/inline-keyboards.js +0 -2
  91. package/dist/extensions/telegram/src/network-errors.js +0 -2
  92. package/dist/extensions/telegram/src/outbound-sender.js +0 -2
  93. package/dist/extensions/telegram/src/pairing-config-resolver.js +0 -2
  94. package/dist/extensions/telegram/src/plugin-defaults.js +0 -2
  95. package/dist/extensions/telegram/src/plugin.js +0 -2
  96. package/dist/extensions/telegram/src/polling-session.js +0 -2
  97. package/dist/extensions/telegram/src/proxy-fetch.js +0 -2
  98. package/dist/extensions/telegram/src/reactions.js +0 -2
  99. package/dist/extensions/telegram/src/reply-params.js +0 -2
  100. package/dist/extensions/telegram/src/routing-integration.js +0 -2
  101. package/dist/extensions/telegram/src/send-options.js +0 -2
  102. package/dist/extensions/telegram/src/sent-cache.js +0 -2
  103. package/dist/extensions/telegram/src/startup-errors.js +0 -2
  104. package/dist/extensions/telegram/src/telegram-actions.js +0 -2
  105. package/dist/extensions/telegram/src/telegram-draft-errors.js +0 -2
  106. package/dist/extensions/telegram/src/thread-bindings.js +0 -2
  107. package/dist/extensions/telegram/src/timeout-abort.js +0 -2
  108. package/dist/extensions/telegram/src/token-resolver.js +0 -2
  109. package/dist/extensions/telegram/src/update-offset-store.js +0 -2
  110. package/dist/extensions/telegram/src/workflow-progress.js +0 -2
  111. package/dist/extensions/telegram/xopc.extension.json +1 -1
  112. package/dist/extensions/weixin/src/adapters/onboard-cli.js +0 -2
  113. package/dist/extensions/weixin/src/api/api.js +0 -2
  114. package/dist/extensions/weixin/src/api/config-cache.js +0 -2
  115. package/dist/extensions/weixin/src/api/session-guard.js +0 -2
  116. package/dist/extensions/weixin/src/api/types.js +0 -2
  117. package/dist/extensions/weixin/src/auth/accounts.js +0 -2
  118. package/dist/extensions/weixin/src/auth/login-qr.js +0 -2
  119. package/dist/extensions/weixin/src/auth/pairing.js +0 -2
  120. package/dist/extensions/weixin/src/auth/weixin-account-id.js +0 -2
  121. package/dist/extensions/weixin/src/cdn/aes-ecb.js +0 -2
  122. package/dist/extensions/weixin/src/cdn/cdn-upload.js +0 -2
  123. package/dist/extensions/weixin/src/cdn/cdn-url.js +0 -2
  124. package/dist/extensions/weixin/src/cdn/pic-decrypt.js +0 -2
  125. package/dist/extensions/weixin/src/cdn/upload.js +0 -2
  126. package/dist/extensions/weixin/src/cli/gateway-qr-login.js +0 -2
  127. package/dist/extensions/weixin/src/cli/qr-login.js +0 -2
  128. package/dist/extensions/weixin/src/config-schema.js +0 -2
  129. package/dist/extensions/weixin/src/config-surface.js +0 -2
  130. package/dist/extensions/weixin/src/delivery-to.js +0 -2
  131. package/dist/extensions/weixin/src/index.js +0 -2
  132. package/dist/extensions/weixin/src/media/data-url.js +0 -2
  133. package/dist/extensions/weixin/src/media/media-download.js +0 -2
  134. package/dist/extensions/weixin/src/media/mime.js +0 -2
  135. package/dist/extensions/weixin/src/media/silk-transcode.js +0 -2
  136. package/dist/extensions/weixin/src/messaging/context-token-init.js +0 -2
  137. package/dist/extensions/weixin/src/messaging/debug-mode.js +0 -2
  138. package/dist/extensions/weixin/src/messaging/error-notice.js +0 -2
  139. package/dist/extensions/weixin/src/messaging/inbound.js +0 -2
  140. package/dist/extensions/weixin/src/messaging/markdown-filter.js +0 -2
  141. package/dist/extensions/weixin/src/messaging/process-message.js +0 -2
  142. package/dist/extensions/weixin/src/messaging/send-media.js +0 -2
  143. package/dist/extensions/weixin/src/messaging/send.js +0 -2
  144. package/dist/extensions/weixin/src/messaging/slash-commands.js +0 -2
  145. package/dist/extensions/weixin/src/messaging/typing-ticket-store.js +0 -2
  146. package/dist/extensions/weixin/src/monitor/monitor.js +0 -2
  147. package/dist/extensions/weixin/src/outbound-send.js +0 -2
  148. package/dist/extensions/weixin/src/pairing-config-resolver.js +0 -2
  149. package/dist/extensions/weixin/src/plugin.js +0 -2
  150. package/dist/extensions/weixin/src/routing-integration.js +0 -2
  151. package/dist/extensions/weixin/src/storage/state-dir.js +0 -2
  152. package/dist/extensions/weixin/src/storage/sync-buf.js +0 -2
  153. package/dist/extensions/weixin/src/util/logger.js +0 -2
  154. package/dist/extensions/weixin/src/util/random.js +0 -2
  155. package/dist/extensions/weixin/src/util/redact.js +0 -2
  156. package/dist/extensions/weixin/src/workflow-progress.js +0 -2
  157. package/dist/gateway/static/root/assets/{activity-store-B4s0ipx2.js → activity-store-uu1xu9Pl.js} +1 -1
  158. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-BSccACje.js → agent-avatar-dicebear-BuO-OVfD.js} +1 -1
  159. package/dist/gateway/static/root/assets/agents-Bpv3h31T.js +2 -0
  160. package/dist/gateway/static/root/assets/{api-BMdUsNCV.js → api-CwL38LEV.js} +1 -1
  161. package/dist/gateway/static/root/assets/{app-management-settings-panel-DrLGhYkI.js → app-management-settings-panel-B6OU3Eol.js} +1 -1
  162. package/dist/gateway/static/root/assets/appearance-settings-BaP4GFvN.js +1 -0
  163. package/dist/gateway/static/root/assets/apps-page-DZKNIMRg.js +1 -0
  164. package/dist/gateway/static/root/assets/{archive-plugin-BQ17IK9x.js → archive-plugin-CJX3zIh_.js} +1 -1
  165. package/dist/gateway/static/root/assets/{attachment-load-HXvgWHXu.js → attachment-load-CI1ejk_l.js} +1 -1
  166. package/dist/gateway/static/root/assets/{automation-suggestion-card-CjIWpsch.js → automation-suggestion-card-CjmhICbv.js} +1 -1
  167. package/dist/gateway/static/root/assets/automations-page-BtZl3B8m.js +6 -0
  168. package/dist/gateway/static/root/assets/{binary-plugins-DifWJzNZ.js → binary-plugins-CZ8nOXqK.js} +1 -1
  169. package/dist/gateway/static/root/assets/{block-editor-DtRzIkPU.js → block-editor-BoSfyS_j.js} +46 -46
  170. package/dist/gateway/static/root/assets/browser-settings-page-CL1UiPcb.js +8 -0
  171. package/dist/gateway/static/root/assets/{capability-presets-api-DazKjWW1.js → capability-presets-api-XzDKxPZ8.js} +1 -1
  172. package/dist/gateway/static/root/assets/{capability-presets-settings-panel-Cvrw4fD1.js → capability-presets-settings-panel-Dc_uHYgl.js} +2 -2
  173. package/dist/gateway/static/root/assets/{channel-recipient-api-Bea6if_6.js → channel-recipient-api-DYLBAhFF.js} +1 -1
  174. package/dist/gateway/static/root/assets/channels-settings-mALvXpJj.js +1 -0
  175. package/dist/gateway/static/root/assets/channels-status-swr-CZuEsO5b.js +1 -0
  176. package/dist/gateway/static/root/assets/{connector-logo-BjbYbJjQ.js → connector-logo-BSjlInHT.js} +1 -1
  177. package/dist/gateway/static/root/assets/connectors-page-Cm_E3mmI.js +2 -0
  178. package/dist/gateway/static/root/assets/desktop-pet-DcJc91-C.js +1 -0
  179. package/dist/gateway/static/root/assets/desktop-pet-settings-CdeqTa3Q.js +1 -0
  180. package/dist/gateway/static/root/assets/{directory-picker-path-field-C8zZNUzC.js → directory-picker-path-field-Cp3fpm0k.js} +1 -1
  181. package/dist/gateway/static/root/assets/{dreaming-settings-gJSw7Adk.js → dreaming-settings-Bwj1O3zr.js} +3 -3
  182. package/dist/gateway/static/root/assets/{extension-debug-page-DFE5ADJ0.js → extension-debug-page-D_1xpKbZ.js} +1 -1
  183. package/dist/gateway/static/root/assets/{extension-page-CfR-aW8G.js → extension-page-CqZNCj96.js} +1 -1
  184. package/dist/gateway/static/root/assets/{extension-settings-page-CFIEbs2L.js → extension-settings-page-5MWbtQaQ.js} +1 -1
  185. package/dist/gateway/static/root/assets/{gateway-config-api-B6M_ra8U.js → gateway-config-api-Co_IaS34.js} +1 -1
  186. package/dist/gateway/static/root/assets/gateway-settings-kmeWm2Pt.js +1 -0
  187. package/dist/gateway/static/root/assets/{gateway-startup-retry-DNA3OOzV.js → gateway-startup-retry-BM_xvzl0.js} +1 -1
  188. package/dist/gateway/static/root/assets/goal-create-dialog-FoO-R4_U.js +1 -0
  189. package/dist/gateway/static/root/assets/goal-detail-page-CkJq7N5g.js +4 -0
  190. package/dist/gateway/static/root/assets/{goals-config-api-D88opgcs.js → goals-config-api-DrtsYjXz.js} +1 -1
  191. package/dist/gateway/static/root/assets/goals-page-DRAN-R64.js +2 -0
  192. package/dist/gateway/static/root/assets/{goals-settings-D07UL8Jo.js → goals-settings-wq9TKhIZ.js} +1 -1
  193. package/dist/gateway/static/root/assets/{heartbeat-settings-YCSNOcXC.js → heartbeat-settings-B5zDoHbo.js} +1 -1
  194. package/dist/gateway/static/root/assets/index-DIlxvrlG.css +1 -0
  195. package/dist/gateway/static/root/assets/index-apLU0Hun.js +196 -0
  196. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-3tC9iD21.js +1 -0
  197. package/dist/gateway/static/root/assets/local-app-workbench-page-CT-vDTLK.js +2 -0
  198. package/dist/gateway/static/root/assets/{local-apps-page-CKvtLzsF.js → local-apps-page-B9ruF9GV.js} +1 -1
  199. package/dist/gateway/static/root/assets/locale-store-GfSwnwIZ.js +1 -0
  200. package/dist/gateway/static/root/assets/logs-page-Ca1X8X2P.js +7 -0
  201. package/dist/gateway/static/root/assets/{markdown-split-BVSFG99p.js → markdown-split-CzuhSQAB.js} +1 -1
  202. package/dist/gateway/static/root/assets/{media-plugins-DdOjIVk3.js → media-plugins-a3R4y-EL.js} +1 -1
  203. package/dist/gateway/static/root/assets/messages-B0B40tpO.js +5 -0
  204. package/dist/gateway/static/root/assets/models-hub-panel-CbTlz9Of.js +2 -0
  205. package/dist/gateway/static/root/assets/{notes-page-ZbLR3awn.js → notes-page-BCxDy2dV.js} +1 -1
  206. package/dist/gateway/static/root/assets/notes-workbench-z6sBX9B2.js +4 -0
  207. package/dist/gateway/static/root/assets/{page-tabs-DMlQERNg.js → page-tabs-CJfk6M78.js} +1 -1
  208. package/dist/gateway/static/root/assets/{preview-open-alternatives-CbiJRPxK.js → preview-open-alternatives-MFopTSgF.js} +1 -1
  209. package/dist/gateway/static/root/assets/project-detail-page-DU29deIr.js +1 -0
  210. package/dist/gateway/static/root/assets/projects-page-Ck3DLTlZ.js +1 -0
  211. package/dist/gateway/static/root/assets/remote-access-hub-gLsLyAyi.js +1 -0
  212. package/dist/gateway/static/root/assets/{save-bar-controls-BZTj3hxl.js → save-bar-controls-D0uhU3Z8.js} +1 -1
  213. package/dist/gateway/static/root/assets/{schedule-field-CxYDObjT.js → schedule-field-NGOH-7wV.js} +1 -1
  214. package/dist/gateway/static/root/assets/{schema-form-CBbXgpKQ.js → schema-form-BJz5LoqG.js} +1 -1
  215. package/dist/gateway/static/root/assets/schemas-DgQq6Z5S.js +64 -0
  216. package/dist/gateway/static/root/assets/sessions-page-TmNoWpa_.js +1 -0
  217. package/dist/gateway/static/root/assets/settings-advanced-gate-CtPhh2m9.js +1 -0
  218. package/dist/gateway/static/root/assets/{settings-collapsible-section-BySKZ8rp.js → settings-collapsible-section-oDnUHnX_.js} +1 -1
  219. package/dist/gateway/static/root/assets/{settings-form-section-CjINay6t.js → settings-form-section-DND90dDt.js} +1 -1
  220. package/dist/gateway/static/root/assets/settings-loading-skeleton-CEJtaoQp.js +1 -0
  221. package/dist/gateway/static/root/assets/{settings-page-BNrVwuL7.js → settings-page-B1LJlRi9.js} +1 -1
  222. package/dist/gateway/static/root/assets/{settings-page-layout-HdlQOOqp.js → settings-page-layout-CsrLuDsW.js} +1 -1
  223. package/dist/gateway/static/root/assets/setup-status-panel-BPCJPHHY.js +1 -0
  224. package/dist/gateway/static/root/assets/{share-preview-page-DC-eQONB.js → share-preview-page-C1PwLh-p.js} +1 -1
  225. package/dist/gateway/static/root/assets/shares-settings-DCuqr7js.js +1 -0
  226. package/dist/gateway/static/root/assets/skill-reload-api-kn1Vypcy.js +1 -0
  227. package/dist/gateway/static/root/assets/skills-page-k6VIqTkK.js +2 -0
  228. package/dist/gateway/static/root/assets/{system-settings-panel-CVa90q2f.js → system-settings-panel-BEsrEkSx.js} +1 -1
  229. package/dist/gateway/static/root/assets/{theme-store-D1cOpgsy.js → theme-store-Bi6hMBDb.js} +1 -1
  230. package/dist/gateway/static/root/assets/{typed-models-lib-DIKF9vpz.js → typed-models-lib-dOypdlMf.js} +1 -1
  231. package/dist/gateway/static/root/assets/{use-channel-catalog-DnvpI0Ys.js → use-channel-catalog-f8A-PVuq.js} +1 -1
  232. package/dist/gateway/static/root/assets/user-context-page-B9Y_Ciav.js +1 -0
  233. package/dist/gateway/static/root/assets/{user-profile-fields-editor-y8gTmkPX.js → user-profile-fields-editor-DGC38Lx7.js} +1 -1
  234. package/dist/gateway/static/root/assets/{user-profile-settings-panel-C3pvqe28.js → user-profile-settings-panel-DFkZ-tan.js} +1 -1
  235. package/dist/gateway/static/root/assets/{utils-BK2vwu_3.js → utils-CEIYZihF.js} +1 -1
  236. package/dist/gateway/static/root/assets/voice-api-key-field-DK6gaQsA.js +1 -0
  237. package/dist/gateway/static/root/assets/work-discovery-page-DSJb9Kq7.js +1 -0
  238. package/dist/gateway/static/root/assets/work-item-detail-page-DVavwV3D.js +1 -0
  239. package/dist/gateway/static/root/assets/work-page-foJDp0nz.js +1 -0
  240. package/dist/gateway/static/root/assets/workflow-run-setup-panel-BYqZpFCC.js +3 -0
  241. package/dist/gateway/static/root/assets/workflows-page-DgO0WAzs.js +11 -0
  242. package/dist/gateway/static/root/favicon.svg +1 -187
  243. package/dist/gateway/static/root/index.html +8 -7
  244. package/dist/gateway/static/root/logo-dark.svg +1 -185
  245. package/dist/gateway/static/root/logo.svg +1 -185
  246. package/dist/package.js +1 -3
  247. package/dist/src/activity/context.js +0 -2
  248. package/dist/src/activity/emitter.js +0 -2
  249. package/dist/src/activity/service.js +0 -2
  250. package/dist/src/agent/agent-manager.d.ts +1 -0
  251. package/dist/src/agent/agent-manager.js +1 -2
  252. package/dist/src/agent/agent-scope.js +0 -2
  253. package/dist/src/agent/background-review/coordinator.js +0 -2
  254. package/dist/src/agent/background-review/prompts.js +0 -2
  255. package/dist/src/agent/background-review/run-background-review.js +0 -2
  256. package/dist/src/agent/background-review/settings.js +0 -2
  257. package/dist/src/agent/bootstrap/bootstrap-cache.js +0 -2
  258. package/dist/src/agent/bootstrap/bootstrap-context.js +0 -2
  259. package/dist/src/agent/bootstrap/bootstrap-files.js +0 -2
  260. package/dist/src/agent/bootstrap/filter-bootstrap-files.js +0 -2
  261. package/dist/src/agent/bootstrap/load-bootstrap-files.js +0 -2
  262. package/dist/src/agent/bootstrap/project-agents-context.js +0 -2
  263. package/dist/src/agent/capabilities/definitions.js +0 -2
  264. package/dist/src/agent/capabilities/registry.js +0 -2
  265. package/dist/src/agent/child-agent-factory.js +0 -2
  266. package/dist/src/agent/client-error-format.js +0 -2
  267. package/dist/src/agent/code-intelligence/binary.js +0 -2
  268. package/dist/src/agent/code-intelligence/runtime.js +0 -2
  269. package/dist/src/agent/code-intelligence/tools.js +0 -2
  270. package/dist/src/agent/coding/turn-diff-tracker.js +0 -2
  271. package/dist/src/agent/context/expand-at-file-mentions.js +0 -2
  272. package/dist/src/agent/context/project-context.js +0 -2
  273. package/dist/src/agent/context/workspace-seed.js +0 -2
  274. package/dist/src/agent/context/workspace-state.js +0 -2
  275. package/dist/src/agent/context/workspace.js +0 -2
  276. package/dist/src/agent/embedded/run-for-session.js +0 -2
  277. package/dist/src/agent/embedded/run-turn.js +0 -2
  278. package/dist/src/agent/embedded/runs.js +0 -2
  279. package/dist/src/agent/embedded/session-manager-init.js +0 -2
  280. package/dist/src/agent/embedded/session-runner.js +0 -2
  281. package/dist/src/agent/embedded/session-tool-result-guard.js +0 -2
  282. package/dist/src/agent/embedded/sqlite-hydrating-session-manager.js +0 -2
  283. package/dist/src/agent/embedded/subscribe-session.js +0 -2
  284. package/dist/src/agent/embedded/system-prompt-override.js +0 -2
  285. package/dist/src/agent/embedded/tool-result-context-guard.js +0 -2
  286. package/dist/src/agent/embedded/tool-result-truncation.js +0 -2
  287. package/dist/src/agent/embedded/xopc-auth-storage.js +0 -2
  288. package/dist/src/agent/embedded/xopc-stream-bridge.js +0 -2
  289. package/dist/src/agent/embedded/xopc-tools-bridge.js +0 -2
  290. package/dist/src/agent/failover-error.js +0 -2
  291. package/dist/src/agent/fallback/candidates.js +0 -2
  292. package/dist/src/agent/fallback/reason.js +0 -2
  293. package/dist/src/agent/feedback/feedback-coordinator.js +0 -2
  294. package/dist/src/agent/goals/checklist-judge.js +0 -2
  295. package/dist/src/agent/goals/checklist-types.js +0 -2
  296. package/dist/src/agent/goals/evaluate-turn.js +0 -2
  297. package/dist/src/agent/goals/goal-locale.js +0 -2
  298. package/dist/src/agent/goals/judge.js +0 -2
  299. package/dist/src/agent/goals/persistent-goal-service.js +0 -2
  300. package/dist/src/agent/goals/post-turn.js +0 -2
  301. package/dist/src/agent/goals/state.js +0 -2
  302. package/dist/src/agent/image/generation/bundled-registry.js +0 -2
  303. package/dist/src/agent/image/generation/bundled.js +0 -2
  304. package/dist/src/agent/image/generation/image-assets.js +0 -2
  305. package/dist/src/agent/image/generation/model-ref.js +0 -2
  306. package/dist/src/agent/image/generation/normalization.js +0 -2
  307. package/dist/src/agent/image/generation/openai-compatible-image-provider.js +0 -2
  308. package/dist/src/agent/image/generation/provider-registry.js +0 -2
  309. package/dist/src/agent/image/generation/runtime.js +0 -2
  310. package/dist/src/agent/image/image-helpers.js +0 -2
  311. package/dist/src/agent/image/image-model-fallback.js +0 -2
  312. package/dist/src/agent/image/inbound-image-handling.js +0 -2
  313. package/dist/src/agent/image/load-image-media.js +0 -2
  314. package/dist/src/agent/image/tool-model-config.js +0 -2
  315. package/dist/src/agent/image/understanding/pi-ai-provider.js +0 -2
  316. package/dist/src/agent/image/understanding/provider-registry.js +0 -2
  317. package/dist/src/agent/image/understanding/runtime.js +0 -2
  318. package/dist/src/agent/image/vision-detection.js +0 -2
  319. package/dist/src/agent/inbound/attachment-pipeline.js +0 -2
  320. package/dist/src/agent/inbound/inbound-loop.js +0 -2
  321. package/dist/src/agent/inbound/turn-dispatcher.js +0 -2
  322. package/dist/src/agent/ipc/bus.js +0 -2
  323. package/dist/src/agent/ipc/inbox.js +0 -2
  324. package/dist/src/agent/ipc/socket.js +0 -2
  325. package/dist/src/agent/ipc/types.js +0 -2
  326. package/dist/src/agent/lifecycle/handlers/compaction.js +0 -2
  327. package/dist/src/agent/lifecycle/hook-handler.js +0 -2
  328. package/dist/src/agent/lifecycle/manager.js +0 -2
  329. package/dist/src/agent/lifecycle/progress.js +0 -2
  330. package/dist/src/agent/lifecycle/timeout-wrapper.js +0 -2
  331. package/dist/src/agent/lifecycle/typing.js +0 -2
  332. package/dist/src/agent/mcp/bundle-mcp-config.js +0 -2
  333. package/dist/src/agent/mcp/bundle-mcp-materialize.js +0 -2
  334. package/dist/src/agent/mcp/bundle-mcp-names.js +0 -2
  335. package/dist/src/agent/mcp/bundle-mcp-policy.js +0 -2
  336. package/dist/src/agent/mcp/bundle-mcp-runtime.js +0 -2
  337. package/dist/src/agent/mcp/embedded-mcp.js +0 -2
  338. package/dist/src/agent/mcp/mcp-config-shared.js +0 -2
  339. package/dist/src/agent/mcp/mcp-http.js +0 -2
  340. package/dist/src/agent/mcp/mcp-stdio-transport.js +0 -2
  341. package/dist/src/agent/mcp/mcp-stdio.js +0 -2
  342. package/dist/src/agent/mcp/mcp-tool-meta.js +0 -2
  343. package/dist/src/agent/mcp/mcp-transport-config.js +0 -2
  344. package/dist/src/agent/mcp/mcp-transport.js +0 -2
  345. package/dist/src/agent/mcp/resolve-embedded-mcp-tools.js +0 -2
  346. package/dist/src/agent/media-generation/model-ref.js +0 -2
  347. package/dist/src/agent/media-generation/normalization.types.js +0 -2
  348. package/dist/src/agent/media-generation/runtime-shared.js +0 -2
  349. package/dist/src/agent/memory/agent-message-access.js +0 -2
  350. package/dist/src/agent/memory/builtin-memory-store.js +0 -2
  351. package/dist/src/agent/memory/builtin-provider.js +0 -2
  352. package/dist/src/agent/memory/compaction.js +0 -2
  353. package/dist/src/agent/memory/context/planner.js +0 -2
  354. package/dist/src/agent/memory/context-fence.js +0 -2
  355. package/dist/src/agent/memory/create-memory-manager.js +0 -2
  356. package/dist/src/agent/memory/dreaming/config.js +0 -2
  357. package/dist/src/agent/memory/dreaming/constants.js +0 -2
  358. package/dist/src/agent/memory/dreaming/deep-promotion.js +0 -2
  359. package/dist/src/agent/memory/dreaming/events.js +0 -2
  360. package/dist/src/agent/memory/dreaming/last-run.js +0 -2
  361. package/dist/src/agent/memory/dreaming/light-sweep.js +0 -2
  362. package/dist/src/agent/memory/dreaming/preview.js +0 -2
  363. package/dist/src/agent/memory/dreaming/promotion-lifecycle.js +0 -2
  364. package/dist/src/agent/memory/dreaming/rem-patterns.js +0 -2
  365. package/dist/src/agent/memory/dreaming/scope.js +0 -2
  366. package/dist/src/agent/memory/dreaming/short-term-store.js +0 -2
  367. package/dist/src/agent/memory/dreaming/utils.js +0 -2
  368. package/dist/src/agent/memory/lifecycle.js +0 -2
  369. package/dist/src/agent/memory/manager.js +0 -2
  370. package/dist/src/agent/memory/memory-config.js +0 -2
  371. package/dist/src/agent/memory/message-sanitizer.js +0 -2
  372. package/dist/src/agent/memory/plugin-discovery.js +0 -2
  373. package/dist/src/agent/memory/sensitivity.js +0 -2
  374. package/dist/src/agent/memory/source-origin.js +0 -2
  375. package/dist/src/agent/memory/stub-memory-provider.js +0 -2
  376. package/dist/src/agent/memory/summary-generator.js +0 -2
  377. package/dist/src/agent/memory/understanding/correction.js +0 -2
  378. package/dist/src/agent/memory/understanding/quality.js +0 -2
  379. package/dist/src/agent/memory/understanding/service.js +0 -2
  380. package/dist/src/agent/memory/user-context-coordinator.js +0 -2
  381. package/dist/src/agent/memory/user-message-text.js +0 -2
  382. package/dist/src/agent/memory/window.js +0 -2
  383. package/dist/src/agent/messaging/command-handler.js +0 -2
  384. package/dist/src/agent/messaging/message-router.js +0 -2
  385. package/dist/src/agent/messaging/outbound-coordinator.js +0 -2
  386. package/dist/src/agent/messaging/stream-manager.js +0 -2
  387. package/dist/src/agent/middleware/context.js +0 -2
  388. package/dist/src/agent/middleware/self-verify.js +0 -2
  389. package/dist/src/agent/models/manager.js +0 -2
  390. package/dist/src/agent/models/request-limiter.js +0 -2
  391. package/dist/src/agent/models/selection.js +0 -2
  392. package/dist/src/agent/orchestration/agent-event-handler.js +0 -2
  393. package/dist/src/agent/orchestration/agent-orchestrator.js +0 -2
  394. package/dist/src/agent/orchestration/llm-turn-retry.js +0 -2
  395. package/dist/src/agent/orchestration/loop-guard.js +0 -2
  396. package/dist/src/agent/orchestration/run-agent-turn-with-timeout.js +0 -2
  397. package/dist/src/agent/prompt/cache-boundary.js +0 -2
  398. package/dist/src/agent/prompt/memory/index.js +0 -2
  399. package/dist/src/agent/prompt/safety.js +0 -2
  400. package/dist/src/agent/prompt/sanitize-for-prompt.js +0 -2
  401. package/dist/src/agent/prompt/sections/behavior.js +0 -2
  402. package/dist/src/agent/prompt/sections/memory-skills.js +0 -2
  403. package/dist/src/agent/prompt/sections/messaging-runtime.js +0 -2
  404. package/dist/src/agent/prompt/sections/project-context.js +0 -2
  405. package/dist/src/agent/prompt/sections/tooling.js +0 -2
  406. package/dist/src/agent/prompt/sections/workspace-runtime.js +0 -2
  407. package/dist/src/agent/prompt/service-prompt-builder.js +0 -2
  408. package/dist/src/agent/prompt/subagent-context.js +0 -2
  409. package/dist/src/agent/prompt/system-prompt-params.js +0 -2
  410. package/dist/src/agent/prompt/system-prompt.js +0 -2
  411. package/dist/src/agent/prompt/system-reminder.js +0 -2
  412. package/dist/src/agent/reply/apply-turn-user-enrichment.js +0 -2
  413. package/dist/src/agent/reply/post-compaction-context.js +0 -2
  414. package/dist/src/agent/reply/startup-context.js +0 -2
  415. package/dist/src/agent/reply/workspace-boundary-read.js +0 -2
  416. package/dist/src/agent/sandbox/command-validator.js +0 -2
  417. package/dist/src/agent/sandbox/exec-policy.js +0 -2
  418. package/dist/src/agent/sandbox/path-policy.js +0 -2
  419. package/dist/src/agent/sandbox/sanitize-env-vars.js +0 -2
  420. package/dist/src/agent/sandbox/types.js +0 -2
  421. package/dist/src/agent/service/async-queue.js +0 -2
  422. package/dist/src/agent/service/btw-query.js +0 -2
  423. package/dist/src/agent/service/build-direct-message-content.js +0 -2
  424. package/dist/src/agent/service/direct-turn-helpers.js +0 -2
  425. package/dist/src/agent/service/parse-outbound-session-key.js +0 -2
  426. package/dist/src/agent/service/process-direct-one-shot.js +0 -2
  427. package/dist/src/agent/service/process-direct-streaming.js +0 -2
  428. package/dist/src/agent/service/session-context-report.js +0 -2
  429. package/dist/src/agent/service/webchat-tts.js +0 -2
  430. package/dist/src/agent/service-inbound-utils.js +0 -2
  431. package/dist/src/agent/service.js +1 -2
  432. package/dist/src/agent/service.types.d.ts +2 -0
  433. package/dist/src/agent/session/session-config-service.js +0 -2
  434. package/dist/src/agent/session/session-context.js +0 -2
  435. package/dist/src/agent/session/session-hydrator.js +0 -2
  436. package/dist/src/agent/session/session-inspector.js +0 -2
  437. package/dist/src/agent/session/session-lifecycle.js +0 -2
  438. package/dist/src/agent/session/session-state-bag.js +0 -2
  439. package/dist/src/agent/session/tracker.js +0 -2
  440. package/dist/src/agent/skills/config.js +0 -2
  441. package/dist/src/agent/skills/filesystem-watcher.js +0 -2
  442. package/dist/src/agent/skills/format-skills-prompt.js +0 -2
  443. package/dist/src/agent/skills/hub-hash.js +0 -2
  444. package/dist/src/agent/skills/hub-lock.js +0 -2
  445. package/dist/src/agent/skills/hub-pull.js +0 -2
  446. package/dist/src/agent/skills/index.js +0 -2
  447. package/dist/src/agent/skills/install-target.js +0 -2
  448. package/dist/src/agent/skills/installer.js +0 -2
  449. package/dist/src/agent/skills/managed-store.js +0 -2
  450. package/dist/src/agent/skills/marketplace/adapters/clawhub/adapter.js +0 -2
  451. package/dist/src/agent/skills/marketplace/adapters/skillhub/adapter.js +0 -2
  452. package/dist/src/agent/skills/marketplace/adapters/store/adapter.js +0 -2
  453. package/dist/src/agent/skills/marketplace/adapters/store/store-api-client.js +0 -2
  454. package/dist/src/agent/skills/marketplace/marketplace-category-order.js +0 -2
  455. package/dist/src/agent/skills/marketplace/registry.js +0 -2
  456. package/dist/src/agent/skills/marketplace/resolve-adapter.js +0 -2
  457. package/dist/src/agent/skills/parse-skill-metadata.js +0 -2
  458. package/dist/src/agent/skills/required-env-vars.js +0 -2
  459. package/dist/src/agent/skills/scanner.js +0 -2
  460. package/dist/src/agent/skills/skill-manage-ops.js +0 -2
  461. package/dist/src/agent/skills/skill-manager.js +0 -2
  462. package/dist/src/agent/skills/skill-markdown-preview-from-raw.js +0 -2
  463. package/dist/src/agent/skills/skill-tool-gating.js +0 -2
  464. package/dist/src/agent/skills/skill-view-path.js +0 -2
  465. package/dist/src/agent/skills/skills-marketplace.js +0 -2
  466. package/dist/src/agent/skills/test-framework.js +0 -2
  467. package/dist/src/agent/skills/watcher.js +0 -2
  468. package/dist/src/agent/skills/workspace-skills-dir.js +0 -2
  469. package/dist/src/agent/source-context/injector.js +0 -2
  470. package/dist/src/agent/source-context/types.js +0 -2
  471. package/dist/src/agent/starter-agents.js +0 -2
  472. package/dist/src/agent/streaming/reasoning-visibility-sse.js +0 -2
  473. package/dist/src/agent/tool-manuals/browser.js +0 -2
  474. package/dist/src/agent/tool-manuals/index.js +0 -2
  475. package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -1
  476. package/dist/src/agent/tool-manuals/xopc-use.js +41 -4
  477. package/dist/src/agent/tools/apply-patch.js +0 -2
  478. package/dist/src/agent/tools/automation-tool.js +45 -8
  479. package/dist/src/agent/tools/browser/tool/browser-use-tool.js +0 -2
  480. package/dist/src/agent/tools/browser/tool/schemas.js +0 -2
  481. package/dist/src/agent/tools/chain-tracker.js +0 -2
  482. package/dist/src/agent/tools/clarify-tool.js +0 -2
  483. package/dist/src/agent/tools/cli-clarify.js +0 -2
  484. package/dist/src/agent/tools/communication.js +0 -2
  485. package/dist/src/agent/tools/composio-tool.js +0 -2
  486. package/dist/src/agent/tools/concurrency.js +0 -2
  487. package/dist/src/agent/tools/create-share-tool.js +0 -2
  488. package/dist/src/agent/tools/curated-memory-tool.js +0 -2
  489. package/dist/src/agent/tools/delegate-tool.js +0 -2
  490. package/dist/src/agent/tools/desktop-pet-tool.d.ts +12 -0
  491. package/dist/src/agent/tools/desktop-pet-tool.js +28 -2
  492. package/dist/src/agent/tools/dreaming-tool.js +0 -2
  493. package/dist/src/agent/tools/edit-diff.js +0 -2
  494. package/dist/src/agent/tools/error-pattern-matcher.js +0 -2
  495. package/dist/src/agent/tools/error-tracker.js +0 -2
  496. package/dist/src/agent/tools/exec-command.js +0 -2
  497. package/dist/src/agent/tools/execute-code-tool.js +0 -2
  498. package/dist/src/agent/tools/executor.js +0 -2
  499. package/dist/src/agent/tools/factory.d.ts +2 -0
  500. package/dist/src/agent/tools/factory.js +3 -4
  501. package/dist/src/agent/tools/find.js +0 -2
  502. package/dist/src/agent/tools/goal-evidence-recorder.js +0 -2
  503. package/dist/src/agent/tools/goal-tool.d.ts +7 -1
  504. package/dist/src/agent/tools/goal-tool.js +34 -7
  505. package/dist/src/agent/tools/grep.js +0 -2
  506. package/dist/src/agent/tools/image-generate-tool.js +0 -2
  507. package/dist/src/agent/tools/image-tool.js +0 -2
  508. package/dist/src/agent/tools/list-dir.js +0 -2
  509. package/dist/src/agent/tools/media-read-tool.js +0 -2
  510. package/dist/src/agent/tools/memory-tool.js +0 -2
  511. package/dist/src/agent/tools/metadata.js +0 -2
  512. package/dist/src/agent/tools/read.js +0 -2
  513. package/dist/src/agent/tools/search/http.js +0 -2
  514. package/dist/src/agent/tools/search/providers/bing-api.js +0 -2
  515. package/dist/src/agent/tools/search/providers/bing-html.js +0 -2
  516. package/dist/src/agent/tools/search/providers/brave.js +0 -2
  517. package/dist/src/agent/tools/search/providers/duckduckgo-html.js +0 -2
  518. package/dist/src/agent/tools/search/providers/searxng.js +0 -2
  519. package/dist/src/agent/tools/search/providers/tavily.js +0 -2
  520. package/dist/src/agent/tools/search/region.js +0 -2
  521. package/dist/src/agent/tools/search/registry.js +0 -2
  522. package/dist/src/agent/tools/search/resolve-config.js +0 -2
  523. package/dist/src/agent/tools/send-media.js +0 -2
  524. package/dist/src/agent/tools/session-search-tool.js +0 -2
  525. package/dist/src/agent/tools/session-status-tool.js +0 -2
  526. package/dist/src/agent/tools/skill-install-tool.js +0 -2
  527. package/dist/src/agent/tools/skill-manage-tool.js +0 -2
  528. package/dist/src/agent/tools/skills-tools.js +0 -2
  529. package/dist/src/agent/tools/structured-output.js +0 -2
  530. package/dist/src/agent/tools/todo-tool.js +0 -2
  531. package/dist/src/agent/tools/tool-manual-tool.js +0 -2
  532. package/dist/src/agent/tools/tool-paths.js +0 -2
  533. package/dist/src/agent/tools/truncate.js +0 -2
  534. package/dist/src/agent/tools/tts-tool.js +0 -2
  535. package/dist/src/agent/tools/update-plan-tool.js +0 -2
  536. package/dist/src/agent/tools/url-safety.js +0 -2
  537. package/dist/src/agent/tools/usage-analyzer.js +0 -2
  538. package/dist/src/agent/tools/web-extract.js +0 -2
  539. package/dist/src/agent/tools/web.js +4 -4
  540. package/dist/src/agent/tools/workflow-tool.js +32 -4
  541. package/dist/src/agent/tools/write.js +23 -5
  542. package/dist/src/agent/tools/xopc-use-tool.d.ts +6 -2
  543. package/dist/src/agent/tools/xopc-use-tool.js +216 -8
  544. package/dist/src/agent/transcript/google-api.js +0 -2
  545. package/dist/src/agent/transcript/model-selection.js +0 -2
  546. package/dist/src/agent/transcript/provider-capabilities.js +0 -2
  547. package/dist/src/agent/transcript/session-transcript-repair.js +0 -2
  548. package/dist/src/agent/transcript/strip-tool-messages.js +0 -2
  549. package/dist/src/agent/transcript/thinking-types.js +0 -2
  550. package/dist/src/agent/transcript/thinking.js +0 -2
  551. package/dist/src/agent/transcript/tool-call-id.js +0 -2
  552. package/dist/src/agent/transcript/transcript-hygiene.js +0 -2
  553. package/dist/src/agent/transcript/transcript-policy.js +0 -2
  554. package/dist/src/agent/workflow/agent-progress.js +0 -2
  555. package/dist/src/agent/workflow/builtins/index.js +0 -2
  556. package/dist/src/agent/workflow/catalog.js +0 -2
  557. package/dist/src/agent/workflow/progress-broker.js +0 -2
  558. package/dist/src/agent/workflow/snapshot-empty.js +0 -2
  559. package/dist/src/agent/workflow/snapshot.js +0 -2
  560. package/dist/src/agent/workflow/step-labels.js +0 -2
  561. package/dist/src/agent/workflow/structured-output-tool.js +0 -2
  562. package/dist/src/agent/workflow/subagent-runner.js +0 -2
  563. package/dist/src/agent/workflow/workflow-child-tools.js +0 -2
  564. package/dist/src/agent/workspace-runtime/registry.js +0 -2
  565. package/dist/src/agent-manifest/index.js +0 -2
  566. package/dist/src/agent-manifest/preset-chain.js +0 -2
  567. package/dist/src/agent-manifest/prompt.js +0 -2
  568. package/dist/src/agent-manifest/resolver.js +0 -2
  569. package/dist/src/agent-manifest/schema.js +0 -2
  570. package/dist/src/agent-manifest/validator.js +0 -2
  571. package/dist/src/agent-runtime/boundary-guard.js +0 -2
  572. package/dist/src/agent-runtime/memory-runtime.js +0 -2
  573. package/dist/src/agent-runtime/model-router.js +0 -2
  574. package/dist/src/agent-runtime/run-trace.js +0 -2
  575. package/dist/src/agent-runtime/runtime-profile.js +0 -2
  576. package/dist/src/agent-runtime/tool-registry.js +0 -2
  577. package/dist/src/agent-runtime/workflow-runtime.js +0 -2
  578. package/dist/src/ai-assist/text-assist.js +0 -2
  579. package/dist/src/auth/credentials.js +0 -2
  580. package/dist/src/auth/index.js +0 -2
  581. package/dist/src/auth/oauth/anthropic.js +0 -2
  582. package/dist/src/auth/oauth/github-copilot.js +0 -2
  583. package/dist/src/auth/oauth/google-oauth/google-antigravity.js +0 -2
  584. package/dist/src/auth/oauth/google-oauth/google-gemini-cli.js +0 -2
  585. package/dist/src/auth/oauth/google-oauth/oauth-page.js +0 -2
  586. package/dist/src/auth/oauth/google-oauth/pkce.js +0 -2
  587. package/dist/src/auth/oauth/kimi-coding.js +0 -2
  588. package/dist/src/auth/oauth/minimax-cn.js +0 -2
  589. package/dist/src/auth/oauth/minimax.js +0 -2
  590. package/dist/src/auth/oauth/openai-codex.js +0 -2
  591. package/dist/src/auth/oauth/pkce.js +0 -2
  592. package/dist/src/auth/profiles/oauth.js +0 -2
  593. package/dist/src/auth/profiles/order.js +0 -2
  594. package/dist/src/auth/profiles/profiles.js +0 -2
  595. package/dist/src/auth/profiles/store.js +0 -2
  596. package/dist/src/auth/sync-provider-auth.js +0 -2
  597. package/dist/src/automations/api/routes.js +0 -2
  598. package/dist/src/automations/domain/schedule.js +0 -2
  599. package/dist/src/automations/domain/validation.js +0 -2
  600. package/dist/src/automations/draft/automation-draft-prompt.js +0 -2
  601. package/dist/src/automations/draft/automation-draft-service.js +0 -2
  602. package/dist/src/automations/draft/automation-draft-validator.js +0 -2
  603. package/dist/src/automations/product-events.js +0 -2
  604. package/dist/src/automations/service/action-executor.js +0 -2
  605. package/dist/src/automations/service/automation-service.js +0 -2
  606. package/dist/src/automations/storage/automation-repository.js +0 -2
  607. package/dist/src/automations/storage/automation-run-repository.js +0 -2
  608. package/dist/src/browser/actions/extension-registry-bridge.js +0 -2
  609. package/dist/src/browser/actions/registry.js +0 -2
  610. package/dist/src/browser/backend-from-config.js +0 -2
  611. package/dist/src/browser/browser-command-timeout.js +0 -2
  612. package/dist/src/browser/cache-dir-policy.js +0 -2
  613. package/dist/src/browser/cdp-local-launcher.js +0 -2
  614. package/dist/src/browser/cdp-supervisor.js +0 -2
  615. package/dist/src/browser/free-port.js +0 -2
  616. package/dist/src/browser/humanize.js +0 -2
  617. package/dist/src/browser/install-lock.js +0 -2
  618. package/dist/src/browser/manager.js +0 -2
  619. package/dist/src/browser/pipeline/output.js +0 -2
  620. package/dist/src/browser/pipeline/runner.js +0 -2
  621. package/dist/src/browser/pipeline/schema.js +0 -2
  622. package/dist/src/browser/pipeline/source.js +0 -2
  623. package/dist/src/browser/pipeline/template.js +0 -2
  624. package/dist/src/browser/providers/browser-ext-install.js +0 -2
  625. package/dist/src/browser/providers/browser-use.js +0 -2
  626. package/dist/src/browser/providers/browserbase.js +0 -2
  627. package/dist/src/browser/providers/cloakbrowser.js +0 -2
  628. package/dist/src/browser/providers/extension-ws-acquire.js +0 -2
  629. package/dist/src/browser/providers/extension.js +0 -2
  630. package/dist/src/browser/providers/playwright-doctor.js +13 -4
  631. package/dist/src/browser/providers/playwright-install.js +0 -2
  632. package/dist/src/browser/readiness.js +0 -2
  633. package/dist/src/browser/schemas.js +0 -2
  634. package/dist/src/browser/session-lifecycle.js +0 -2
  635. package/dist/src/browser/snapshot-helpers.js +0 -2
  636. package/dist/src/browser/stealth.js +0 -2
  637. package/dist/src/browser/url-policy.js +0 -2
  638. package/dist/src/capabilities/store-connector.js +0 -2
  639. package/dist/src/channels/attachments/attachment-classifiers.js +0 -2
  640. package/dist/src/channels/attachments/inbound-persist.js +0 -2
  641. package/dist/src/channels/attachments/inbound-types.js +0 -2
  642. package/dist/src/channels/attachments/outbound-tts-persist.js +0 -2
  643. package/dist/src/channels/attachments/voice-stt-webchat.js +0 -2
  644. package/dist/src/channels/catalog/channel-catalog-service.js +0 -2
  645. package/dist/src/channels/config-helpers.js +0 -2
  646. package/dist/src/channels/envelope-timestamp.js +0 -2
  647. package/dist/src/channels/exec-approval-runtime.js +0 -2
  648. package/dist/src/channels/health-monitor.js +0 -2
  649. package/dist/src/channels/heartbeat-scheduler.js +0 -2
  650. package/dist/src/channels/internal-outbound.js +0 -2
  651. package/dist/src/channels/lifecycle-supervisor.js +0 -2
  652. package/dist/src/channels/manager.js +0 -2
  653. package/dist/src/channels/media.js +0 -2
  654. package/dist/src/channels/outbound/deliver.js +0 -2
  655. package/dist/src/channels/outbound/normalize.js +0 -2
  656. package/dist/src/channels/outbound/persist-store.js +0 -2
  657. package/dist/src/channels/outbound/queue.js +0 -2
  658. package/dist/src/channels/outbound-sender.js +0 -2
  659. package/dist/src/channels/pairing/allow-from-file.js +0 -2
  660. package/dist/src/channels/pairing/approve-cli.js +0 -2
  661. package/dist/src/channels/pairing/pairing-challenge.js +0 -2
  662. package/dist/src/channels/pairing/pairing-constants.js +0 -2
  663. package/dist/src/channels/pairing/pairing-events.js +0 -2
  664. package/dist/src/channels/pairing/pairing-messages.js +0 -2
  665. package/dist/src/channels/pairing/pairing-service.js +0 -2
  666. package/dist/src/channels/pairing/pairing-store-adapter.js +0 -2
  667. package/dist/src/channels/pairing/pairing-store.js +0 -2
  668. package/dist/src/channels/pairing/paths.js +0 -2
  669. package/dist/src/channels/pairing/preseed-allow-from.js +0 -2
  670. package/dist/src/channels/pipeline.js +0 -2
  671. package/dist/src/channels/plugin-registry.js +0 -2
  672. package/dist/src/channels/plugins/registry.js +0 -2
  673. package/dist/src/channels/restart-policy.js +0 -2
  674. package/dist/src/channels/security-helpers.js +0 -2
  675. package/dist/src/channels/security.js +0 -2
  676. package/dist/src/channels/setup-wizard-discovery.js +0 -2
  677. package/dist/src/chat-commands/agent-edit.js +0 -2
  678. package/dist/src/chat-commands/builtins/config.js +0 -2
  679. package/dist/src/chat-commands/builtins/context.js +0 -2
  680. package/dist/src/chat-commands/builtins/goal.js +0 -2
  681. package/dist/src/chat-commands/builtins/model.js +0 -2
  682. package/dist/src/chat-commands/builtins/review.js +0 -2
  683. package/dist/src/chat-commands/builtins/session.js +0 -2
  684. package/dist/src/chat-commands/builtins/skill.js +0 -2
  685. package/dist/src/chat-commands/builtins/subgoal.js +0 -2
  686. package/dist/src/chat-commands/builtins/system.js +0 -2
  687. package/dist/src/chat-commands/builtins/thinking.js +0 -2
  688. package/dist/src/chat-commands/builtins/tts.js +0 -2
  689. package/dist/src/chat-commands/builtins/workflow.js +0 -2
  690. package/dist/src/chat-commands/command-parse.js +0 -2
  691. package/dist/src/chat-commands/config-paths.js +0 -2
  692. package/dist/src/chat-commands/config-value.js +0 -2
  693. package/dist/src/chat-commands/context.js +0 -2
  694. package/dist/src/chat-commands/format-output.js +0 -2
  695. package/dist/src/chat-commands/index.js +0 -2
  696. package/dist/src/chat-commands/processor.js +0 -2
  697. package/dist/src/chat-commands/registry.js +0 -2
  698. package/dist/src/chat-commands/session-key.js +0 -2
  699. package/dist/src/cli/argv-invocation.js +0 -2
  700. package/dist/src/cli/argv.js +0 -2
  701. package/dist/src/cli/bin.js +0 -2
  702. package/dist/src/cli/cli-log-level-preset.js +0 -2
  703. package/dist/src/cli/command-catalog.js +0 -2
  704. package/dist/src/cli/command-loaders.js +0 -2
  705. package/dist/src/cli/command-manifest.js +0 -2
  706. package/dist/src/cli/command-path-matches.js +0 -2
  707. package/dist/src/cli/command-path-policy.js +0 -2
  708. package/dist/src/cli/command-startup-policy.js +0 -2
  709. package/dist/src/cli/commands/agent/interactive.js +0 -2
  710. package/dist/src/cli/commands/agent/sessions.js +0 -2
  711. package/dist/src/cli/commands/agent/stream-renderer.js +0 -2
  712. package/dist/src/cli/commands/agent.js +0 -2
  713. package/dist/src/cli/commands/agents.js +0 -2
  714. package/dist/src/cli/commands/auth.js +0 -2
  715. package/dist/src/cli/commands/browser-cli-helpers.js +0 -2
  716. package/dist/src/cli/commands/browser.js +0 -2
  717. package/dist/src/cli/commands/channels.js +0 -2
  718. package/dist/src/cli/commands/config.js +0 -2
  719. package/dist/src/cli/commands/connectors.js +0 -2
  720. package/dist/src/cli/commands/doctor/checks/channel-config.js +0 -2
  721. package/dist/src/cli/commands/doctor/checks/channel-pairing-pending.js +0 -2
  722. package/dist/src/cli/commands/doctor/checks/channel-plugins.js +0 -2
  723. package/dist/src/cli/commands/doctor/checks/config-health.js +0 -2
  724. package/dist/src/cli/commands/doctor/checks/database-schema.js +0 -2
  725. package/dist/src/cli/commands/doctor/checks/gateway-health.js +0 -2
  726. package/dist/src/cli/commands/doctor/checks/gateway-service.js +0 -2
  727. package/dist/src/cli/commands/doctor/checks/migrations.js +0 -2
  728. package/dist/src/cli/commands/doctor/checks/node-version.js +0 -2
  729. package/dist/src/cli/commands/doctor/checks/provider-auth.js +0 -2
  730. package/dist/src/cli/commands/doctor/checks/security-audit.js +0 -2
  731. package/dist/src/cli/commands/doctor/checks/session-integrity.js +0 -2
  732. package/dist/src/cli/commands/doctor/checks/state-integrity.js +0 -2
  733. package/dist/src/cli/commands/doctor/checks/version-check.js +0 -2
  734. package/dist/src/cli/commands/doctor/checks/workspace-status.js +0 -2
  735. package/dist/src/cli/commands/doctor/flow.js +0 -2
  736. package/dist/src/cli/commands/doctor/format.js +0 -2
  737. package/dist/src/cli/commands/doctor/index.js +0 -2
  738. package/dist/src/cli/commands/extension-create.js +0 -2
  739. package/dist/src/cli/commands/extension-dev.js +0 -2
  740. package/dist/src/cli/commands/extension-marketplace.js +0 -2
  741. package/dist/src/cli/commands/extension-pack.js +0 -2
  742. package/dist/src/cli/commands/extension.js +0 -2
  743. package/dist/src/cli/commands/gateway/call.js +0 -2
  744. package/dist/src/cli/commands/gateway/health.js +0 -2
  745. package/dist/src/cli/commands/gateway/lifecycle-core.js +0 -2
  746. package/dist/src/cli/commands/gateway/lifecycle.js +0 -2
  747. package/dist/src/cli/commands/gateway/logs.js +0 -2
  748. package/dist/src/cli/commands/gateway/probe.js +0 -2
  749. package/dist/src/cli/commands/gateway/restart-health.js +0 -2
  750. package/dist/src/cli/commands/gateway/restart.js +0 -2
  751. package/dist/src/cli/commands/gateway/run-foreground.js +0 -2
  752. package/dist/src/cli/commands/gateway/service.js +0 -2
  753. package/dist/src/cli/commands/gateway/shared.js +0 -2
  754. package/dist/src/cli/commands/gateway/status.js +0 -2
  755. package/dist/src/cli/commands/gateway/stop.js +0 -2
  756. package/dist/src/cli/commands/gateway/subcommands.js +0 -2
  757. package/dist/src/cli/commands/gateway/token.js +0 -2
  758. package/dist/src/cli/commands/gateway-ssh-tunnel.js +0 -2
  759. package/dist/src/cli/commands/gateway.js +0 -2
  760. package/dist/src/cli/commands/goal.js +0 -2
  761. package/dist/src/cli/commands/image.js +0 -2
  762. package/dist/src/cli/commands/init.js +0 -2
  763. package/dist/src/cli/commands/logs.js +0 -2
  764. package/dist/src/cli/commands/models.js +0 -2
  765. package/dist/src/cli/commands/onboard/channels/index.js +0 -2
  766. package/dist/src/cli/commands/onboard/channels/onboard-to-configurator.js +0 -2
  767. package/dist/src/cli/commands/onboard/channels/registry.js +0 -2
  768. package/dist/src/cli/commands/onboard/channels/wizard-to-configurator.js +0 -2
  769. package/dist/src/cli/commands/onboard/gateway.js +0 -2
  770. package/dist/src/cli/commands/onboard/model.js +0 -2
  771. package/dist/src/cli/commands/onboard.js +0 -2
  772. package/dist/src/cli/commands/profile.js +0 -2
  773. package/dist/src/cli/commands/project.js +0 -2
  774. package/dist/src/cli/commands/providers.js +0 -2
  775. package/dist/src/cli/commands/resume.js +0 -2
  776. package/dist/src/cli/commands/search.js +0 -2
  777. package/dist/src/cli/commands/session/actions.js +0 -2
  778. package/dist/src/cli/commands/session/utils.js +0 -2
  779. package/dist/src/cli/commands/session.js +0 -2
  780. package/dist/src/cli/commands/setup-shared/output.js +0 -2
  781. package/dist/src/cli/commands/setup-shared/prompts.js +0 -2
  782. package/dist/src/cli/commands/setup-shared/runner.js +0 -2
  783. package/dist/src/cli/commands/setup-shared/types.js +0 -2
  784. package/dist/src/cli/commands/setup.js +0 -2
  785. package/dist/src/cli/commands/skills-test.js +0 -2
  786. package/dist/src/cli/commands/skills.js +0 -2
  787. package/dist/src/cli/commands/tailscale.js +0 -2
  788. package/dist/src/cli/commands/tui-runner.js +0 -2
  789. package/dist/src/cli/commands/tui.js +0 -2
  790. package/dist/src/cli/commands/tunnel.js +0 -2
  791. package/dist/src/cli/commands/update.js +0 -2
  792. package/dist/src/cli/commands/voice.js +0 -2
  793. package/dist/src/cli/context.js +0 -2
  794. package/dist/src/cli/extension-cli-register.js +0 -2
  795. package/dist/src/cli/gateway-run-argv.js +0 -2
  796. package/dist/src/cli/gateway-run-fast-path.js +0 -2
  797. package/dist/src/cli/index.js +0 -2
  798. package/dist/src/cli/registry.js +0 -2
  799. package/dist/src/cli/templates.js +0 -2
  800. package/dist/src/cli/utils/colors.js +0 -2
  801. package/dist/src/cli/utils/gateway-client-options.js +0 -2
  802. package/dist/src/cli/utils/gateway-client.js +0 -2
  803. package/dist/src/cli/utils/init-workspace-core.js +0 -2
  804. package/dist/src/cli/utils/init-workspace.js +0 -2
  805. package/dist/src/cli/utils/oauth-login.js +0 -2
  806. package/dist/src/cli/utils/oauth-providers.js +0 -2
  807. package/dist/src/cli/utils/session.js +0 -2
  808. package/dist/src/commands/agents.config.js +0 -2
  809. package/dist/src/config/agent-profile.js +0 -2
  810. package/dist/src/config/agent-typed-models.js +0 -2
  811. package/dist/src/config/commands.flags.js +0 -2
  812. package/dist/src/config/default-model.js +0 -2
  813. package/dist/src/config/diff.js +0 -2
  814. package/dist/src/config/gateway-bind.js +0 -2
  815. package/dist/src/config/index.js +0 -2
  816. package/dist/src/config/loader.js +0 -2
  817. package/dist/src/config/mcp-config-normalize.js +0 -2
  818. package/dist/src/config/model-input.js +0 -2
  819. package/dist/src/config/models-json.js +0 -2
  820. package/dist/src/config/paths-state.js +0 -2
  821. package/dist/src/config/paths.js +0 -2
  822. package/dist/src/config/profile.js +0 -2
  823. package/dist/src/config/public-url.js +0 -2
  824. package/dist/src/config/reload.js +0 -2
  825. package/dist/src/config/resolve-config-value.js +0 -2
  826. package/dist/src/config/rules.js +0 -2
  827. package/dist/src/config/runtime-overrides.js +0 -2
  828. package/dist/src/config/schema.js +0 -2
  829. package/dist/src/config/validate-channel-configs.js +0 -2
  830. package/dist/src/config/voice.js +0 -2
  831. package/dist/src/config/web-patch.js +0 -2
  832. package/dist/src/config/workspace-defaults.js +0 -2
  833. package/dist/src/config/workspace-dirs.js +0 -2
  834. package/dist/src/config/workspace-path-helpers.js +0 -2
  835. package/dist/src/config/workspace-path.js +0 -2
  836. package/dist/src/connectors/approval.js +0 -2
  837. package/dist/src/connectors/auth-provider-registry.js +0 -2
  838. package/dist/src/connectors/builtin-catalog.js +0 -2
  839. package/dist/src/connectors/catalog.js +0 -2
  840. package/dist/src/connectors/composio-catalog.js +0 -2
  841. package/dist/src/connectors/composio-logo.js +0 -2
  842. package/dist/src/connectors/composio-sessions.js +9 -5
  843. package/dist/src/connectors/composio-triggers.js +0 -2
  844. package/dist/src/connectors/composio.js +0 -2
  845. package/dist/src/connectors/connector-memory-sync.js +0 -2
  846. package/dist/src/connectors/health.js +0 -2
  847. package/dist/src/connectors/install.js +0 -2
  848. package/dist/src/connectors/instances.js +0 -2
  849. package/dist/src/connectors/integration-strategy.js +0 -2
  850. package/dist/src/connectors/lifecycle.js +0 -2
  851. package/dist/src/connectors/materialize.js +0 -2
  852. package/dist/src/connectors/policy.js +0 -2
  853. package/dist/src/connectors/providers.js +0 -2
  854. package/dist/src/connectors/registries/modelscope.js +0 -2
  855. package/dist/src/connectors/registries/official-mcp.js +0 -2
  856. package/dist/src/connectors/registries/search.js +0 -2
  857. package/dist/src/connectors/registries/smithery.js +0 -2
  858. package/dist/src/connectors/runtime-adapter-registry.js +0 -2
  859. package/dist/src/connectors/secret-store.js +0 -2
  860. package/dist/src/connectors/setup-secrets.js +0 -2
  861. package/dist/src/connectors/supervisor.js +0 -2
  862. package/dist/src/connectors/usage.js +0 -2
  863. package/dist/src/connectors/workflow-preflight.js +0 -2
  864. package/dist/src/daemon/constants.js +0 -2
  865. package/dist/src/daemon/install-plan.js +0 -2
  866. package/dist/src/daemon/launchd.js +0 -2
  867. package/dist/src/daemon/schtasks.js +0 -2
  868. package/dist/src/daemon/service-audit.js +0 -2
  869. package/dist/src/daemon/service.js +0 -2
  870. package/dist/src/daemon/systemd.js +0 -2
  871. package/dist/src/document-understanding/extract.js +0 -2
  872. package/dist/src/errors/index.js +0 -2
  873. package/dist/src/extensions/activation-context.js +0 -2
  874. package/dist/src/extensions/activation-planner.js +0 -2
  875. package/dist/src/extensions/api.js +0 -2
  876. package/dist/src/extensions/bundle-mcp.js +0 -2
  877. package/dist/src/extensions/bundled-extension-activation.js +0 -2
  878. package/dist/src/extensions/diagnostics.js +0 -2
  879. package/dist/src/extensions/discover-extensions.js +0 -2
  880. package/dist/src/extensions/engine-check.js +0 -2
  881. package/dist/src/extensions/extension-metadata-snapshot.js +0 -2
  882. package/dist/src/extensions/extension-registry-impl.js +0 -2
  883. package/dist/src/extensions/health.js +0 -2
  884. package/dist/src/extensions/hooks.js +0 -2
  885. package/dist/src/extensions/index.js +0 -2
  886. package/dist/src/extensions/install-transaction.js +0 -2
  887. package/dist/src/extensions/install.js +0 -2
  888. package/dist/src/extensions/loader.js +0 -2
  889. package/dist/src/extensions/lockfile.js +0 -2
  890. package/dist/src/extensions/manifest-registry.js +0 -2
  891. package/dist/src/extensions/marketplace.js +0 -2
  892. package/dist/src/extensions/media-provider-contracts.js +0 -2
  893. package/dist/src/extensions/normalize-manifest.js +0 -2
  894. package/dist/src/extensions/onboard-helpers.js +0 -2
  895. package/dist/src/extensions/package-contract.js +0 -2
  896. package/dist/src/extensions/sdk/channel-entry.js +0 -2
  897. package/dist/src/extensions/sdk/channel-helpers.js +0 -2
  898. package/dist/src/extensions/sdk/index.js +0 -2
  899. package/dist/src/extensions/sdk/lazy.js +0 -2
  900. package/dist/src/extensions/sdk/testing.js +0 -2
  901. package/dist/src/extensions/security.js +0 -2
  902. package/dist/src/extensions/slots.js +0 -2
  903. package/dist/src/extensions/speech-provider-contracts.js +0 -2
  904. package/dist/src/extensions/store-zip-limits.js +0 -2
  905. package/dist/src/extensions/typed-event-bus.js +0 -2
  906. package/dist/src/extensions/types/hooks.js +0 -2
  907. package/dist/src/extensions/types/providers.js +0 -2
  908. package/dist/src/extensions/update.js +0 -2
  909. package/dist/src/extensions/when-context.js +0 -2
  910. package/dist/src/extensions/when-expression.js +0 -2
  911. package/dist/src/gateway/agent-builtin-tools.js +0 -2
  912. package/dist/src/gateway/agent-run-relay.js +0 -2
  913. package/dist/src/gateway/agents-admin.js +0 -2
  914. package/dist/src/gateway/auth.js +0 -2
  915. package/dist/src/gateway/capability-presets-admin.js +0 -2
  916. package/dist/src/gateway/chat-limits.js +0 -2
  917. package/dist/src/gateway/chat-stream/mapper.js +28 -14
  918. package/dist/src/gateway/chat-stream/pet-feedback.d.ts +13 -0
  919. package/dist/src/gateway/chat-stream/pet-feedback.js +45 -0
  920. package/dist/src/gateway/chat-stream/protocol.d.ts +26 -0
  921. package/dist/src/gateway/clarify-bridge.js +3 -3
  922. package/dist/src/gateway/clarify-runtime.js +0 -2
  923. package/dist/src/gateway/client-ip.js +0 -2
  924. package/dist/src/gateway/config-tools-web.js +0 -2
  925. package/dist/src/gateway/credential.js +0 -2
  926. package/dist/src/gateway/discovery/mdns.js +0 -2
  927. package/dist/src/gateway/dreaming-automation-reconciler.js +0 -2
  928. package/dist/src/gateway/ensure-network-cors.js +0 -2
  929. package/dist/src/gateway/file-path-classifier.js +0 -2
  930. package/dist/src/gateway/file-reference-registry.js +0 -2
  931. package/dist/src/gateway/global-defaults-admin.js +0 -2
  932. package/dist/src/gateway/heartbeat/service.js +0 -2
  933. package/dist/src/gateway/hono/app.js +0 -2
  934. package/dist/src/gateway/hono/lib/agent-model.js +0 -2
  935. package/dist/src/gateway/hono/lib/config-payload.js +0 -2
  936. package/dist/src/gateway/hono/lib/extension-assets.js +0 -2
  937. package/dist/src/gateway/hono/lib/extension-store.js +0 -2
  938. package/dist/src/gateway/hono/lib/mask-secret-length.js +0 -2
  939. package/dist/src/gateway/hono/lib/route-logger.js +0 -2
  940. package/dist/src/gateway/hono/lib/safe-providers-config.js +0 -2
  941. package/dist/src/gateway/hono/lib/safe-voice-config.js +0 -2
  942. package/dist/src/gateway/hono/lib/startup-unavailable.js +0 -2
  943. package/dist/src/gateway/hono/lib/static-ui.js +0 -2
  944. package/dist/src/gateway/hono/middleware/auth.js +0 -2
  945. package/dist/src/gateway/hono/middleware/log-context.js +0 -2
  946. package/dist/src/gateway/hono/middleware/logger.js +0 -2
  947. package/dist/src/gateway/hono/middleware/route-errors.js +0 -2
  948. package/dist/src/gateway/hono/middleware/scopes.js +0 -2
  949. package/dist/src/gateway/hono/middleware/strict-rate-limit.js +0 -2
  950. package/dist/src/gateway/hono/oauth-async.js +0 -2
  951. package/dist/src/gateway/hono/oauth.js +0 -2
  952. package/dist/src/gateway/hono/routes/activity.js +0 -2
  953. package/dist/src/gateway/hono/routes/agent-stream.js +0 -2
  954. package/dist/src/gateway/hono/routes/agents.js +0 -2
  955. package/dist/src/gateway/hono/routes/ai-assist.js +0 -2
  956. package/dist/src/gateway/hono/routes/auth-registry-extensions.js +0 -2
  957. package/dist/src/gateway/hono/routes/browser-install.js +0 -2
  958. package/dist/src/gateway/hono/routes/browser.js +0 -2
  959. package/dist/src/gateway/hono/routes/capabilities.js +0 -2
  960. package/dist/src/gateway/hono/routes/capability-presets.js +0 -2
  961. package/dist/src/gateway/hono/routes/channels.js +0 -2
  962. package/dist/src/gateway/hono/routes/commands-skills.js +0 -2
  963. package/dist/src/gateway/hono/routes/config-patch/agents.js +0 -2
  964. package/dist/src/gateway/hono/routes/config-patch/channels.js +0 -2
  965. package/dist/src/gateway/hono/routes/config-patch/gateway.js +0 -2
  966. package/dist/src/gateway/hono/routes/config-patch/misc.js +0 -2
  967. package/dist/src/gateway/hono/routes/config-patch/result.js +0 -2
  968. package/dist/src/gateway/hono/routes/config.js +0 -2
  969. package/dist/src/gateway/hono/routes/connectors.js +0 -2
  970. package/dist/src/gateway/hono/routes/doctor.js +0 -2
  971. package/dist/src/gateway/hono/routes/dreaming.js +0 -2
  972. package/dist/src/gateway/hono/routes/exposure.js +0 -2
  973. package/dist/src/gateway/hono/routes/extension-gateway.js +0 -2
  974. package/dist/src/gateway/hono/routes/global-defaults.js +0 -2
  975. package/dist/src/gateway/hono/routes/goals.js +0 -2
  976. package/dist/src/gateway/hono/routes/home.js +0 -2
  977. package/dist/src/gateway/hono/routes/host-fs.js +0 -2
  978. package/dist/src/gateway/hono/routes/index.js +0 -2
  979. package/dist/src/gateway/hono/routes/lazy-bundles.js +0 -2
  980. package/dist/src/gateway/hono/routes/lazy-fallback.js +0 -2
  981. package/dist/src/gateway/hono/routes/local-apps.js +0 -2
  982. package/dist/src/gateway/hono/routes/logs.js +0 -2
  983. package/dist/src/gateway/hono/routes/mcp.js +0 -2
  984. package/dist/src/gateway/hono/routes/media.js +0 -2
  985. package/dist/src/gateway/hono/routes/memory.js +0 -2
  986. package/dist/src/gateway/hono/routes/migrations.js +0 -2
  987. package/dist/src/gateway/hono/routes/mobile.js +0 -2
  988. package/dist/src/gateway/hono/routes/models.js +0 -2
  989. package/dist/src/gateway/hono/routes/notes.js +3 -3
  990. package/dist/src/gateway/hono/routes/projects.js +0 -2
  991. package/dist/src/gateway/hono/routes/public-gateway.js +0 -2
  992. package/dist/src/gateway/hono/routes/search.js +0 -2
  993. package/dist/src/gateway/hono/routes/sessions.js +0 -2
  994. package/dist/src/gateway/hono/routes/shares.js +0 -2
  995. package/dist/src/gateway/hono/routes/site-shares.js +0 -2
  996. package/dist/src/gateway/hono/routes/status.js +0 -2
  997. package/dist/src/gateway/hono/routes/tui.js +0 -2
  998. package/dist/src/gateway/hono/routes/tunnel.js +0 -2
  999. package/dist/src/gateway/hono/routes/update.js +0 -2
  1000. package/dist/src/gateway/hono/routes/voice.js +0 -2
  1001. package/dist/src/gateway/hono/routes/work-discovery.js +0 -2
  1002. package/dist/src/gateway/hono/routes/workflows.js +0 -2
  1003. package/dist/src/gateway/hono/routes/workspace.js +0 -2
  1004. package/dist/src/gateway/hono/routes/you.js +0 -2
  1005. package/dist/src/gateway/hono/sse-json.js +0 -2
  1006. package/dist/src/gateway/hono/sse.js +0 -2
  1007. package/dist/src/gateway/host.js +0 -2
  1008. package/dist/src/gateway/image-capabilities.js +0 -2
  1009. package/dist/src/gateway/listen.js +0 -2
  1010. package/dist/src/gateway/lock.js +0 -2
  1011. package/dist/src/gateway/ports.js +0 -2
  1012. package/dist/src/gateway/protocol.js +0 -2
  1013. package/dist/src/gateway/public-url.js +0 -2
  1014. package/dist/src/gateway/rate-limit/auth-policy.js +0 -2
  1015. package/dist/src/gateway/rate-limit/buckets.js +0 -2
  1016. package/dist/src/gateway/rate-limit/env-flags.js +0 -2
  1017. package/dist/src/gateway/resolve-channel-connect-defer.js +0 -2
  1018. package/dist/src/gateway/resolve-webchat-session-key.js +0 -2
  1019. package/dist/src/gateway/respawn.js +0 -2
  1020. package/dist/src/gateway/run-loop.js +0 -2
  1021. package/dist/src/gateway/runtime-config.js +0 -2
  1022. package/dist/src/gateway/security/audit.js +0 -2
  1023. package/dist/src/gateway/security/csp.js +0 -2
  1024. package/dist/src/gateway/security/dangerous-tools.js +0 -2
  1025. package/dist/src/gateway/security/external-content.js +0 -2
  1026. package/dist/src/gateway/security/known-weak-secrets.js +0 -2
  1027. package/dist/src/gateway/security/loopback.js +0 -2
  1028. package/dist/src/gateway/security/operator-scopes.js +0 -2
  1029. package/dist/src/gateway/security/origin-check.js +0 -2
  1030. package/dist/src/gateway/security/preauth-connection-budget.js +0 -2
  1031. package/dist/src/gateway/security/secret-equal.js +0 -2
  1032. package/dist/src/gateway/server-tailscale.js +0 -2
  1033. package/dist/src/gateway/server.js +0 -2
  1034. package/dist/src/gateway/service/agent-runner.js +0 -2
  1035. package/dist/src/gateway/service/config-coordinator.js +0 -2
  1036. package/dist/src/gateway/service/marketplace-service.js +0 -2
  1037. package/dist/src/gateway/service/run-gateway-agent.js +0 -2
  1038. package/dist/src/gateway/service/session-chat-ids.js +0 -2
  1039. package/dist/src/gateway/service/sessions-api.js +0 -2
  1040. package/dist/src/gateway/service/sse-hub.js +0 -2
  1041. package/dist/src/gateway/service.js +1 -2
  1042. package/dist/src/gateway/session-reset-service.js +0 -2
  1043. package/dist/src/gateway/startup-readiness.js +0 -2
  1044. package/dist/src/gateway/startup-trace.js +0 -2
  1045. package/dist/src/gateway/tailscale-auth.js +0 -2
  1046. package/dist/src/gateway/tailscale-lifecycle.js +0 -2
  1047. package/dist/src/gateway/tls-server.js +0 -2
  1048. package/dist/src/gateway/trusted-proxy.js +0 -2
  1049. package/dist/src/gateway/user-turn-input.js +0 -2
  1050. package/dist/src/gateway/workspace-editor-path.js +0 -2
  1051. package/dist/src/gateway/workspace-file-search.js +0 -2
  1052. package/dist/src/gateway/workspace-fs-file-list.js +0 -2
  1053. package/dist/src/gateway/workspace-heartbeat-path.js +0 -2
  1054. package/dist/src/gateway/workspace-ripgrep.js +0 -2
  1055. package/dist/src/gateway/ws-security.js +0 -2
  1056. package/dist/src/generated/bundled-image-generation-providers.js +0 -2
  1057. package/dist/src/goals/goal-contract-draft.js +0 -2
  1058. package/dist/src/goals/goal-evidence-review.js +0 -2
  1059. package/dist/src/goals/goal-notifications.js +0 -2
  1060. package/dist/src/goals/goal-queue-store.js +0 -2
  1061. package/dist/src/goals/goal-runner.js +0 -2
  1062. package/dist/src/goals/goal-service.js +0 -2
  1063. package/dist/src/goals/goal-store.js +0 -2
  1064. package/dist/src/goals/goal-workflow-judge.js +0 -2
  1065. package/dist/src/heartbeat/active-hours.js +0 -2
  1066. package/dist/src/heartbeat/content-check.js +0 -2
  1067. package/dist/src/heartbeat/event-prompt.js +0 -2
  1068. package/dist/src/heartbeat/tokens.js +0 -2
  1069. package/dist/src/heartbeat/wake.js +0 -2
  1070. package/dist/src/i18n/format.js +0 -2
  1071. package/dist/src/i18n/goals-bundle.js +0 -2
  1072. package/dist/src/i18n/locale.js +0 -2
  1073. package/dist/src/i18n/locales/goals.en.js +0 -2
  1074. package/dist/src/i18n/locales/goals.zh.js +0 -2
  1075. package/dist/src/i18n/locales/share-tool.en.js +0 -2
  1076. package/dist/src/i18n/locales/share-tool.zh.js +0 -2
  1077. package/dist/src/i18n/share-tool-bundle.js +0 -2
  1078. package/dist/src/index.js +0 -2
  1079. package/dist/src/infra/brew.js +0 -2
  1080. package/dist/src/infra/bus/queue.js +0 -2
  1081. package/dist/src/infra/debounce.js +0 -2
  1082. package/dist/src/infra/exec.js +0 -2
  1083. package/dist/src/infra/gateway-process-argv.js +0 -2
  1084. package/dist/src/infra/gateway-processes.js +0 -2
  1085. package/dist/src/infra/host-env-security-policy.js +0 -2
  1086. package/dist/src/infra/host-env-security.js +0 -2
  1087. package/dist/src/infra/http-proxy-env.js +0 -2
  1088. package/dist/src/infra/is-main.js +0 -2
  1089. package/dist/src/infra/json-utf8-bytes.js +0 -2
  1090. package/dist/src/infra/node-sqlite.js +0 -2
  1091. package/dist/src/infra/package-json.js +0 -2
  1092. package/dist/src/infra/package-update-steps.js +0 -2
  1093. package/dist/src/infra/path-env.js +0 -2
  1094. package/dist/src/infra/path-prepend.js +0 -2
  1095. package/dist/src/infra/ports.js +0 -2
  1096. package/dist/src/infra/rate-limit/failure-limiter.js +0 -2
  1097. package/dist/src/infra/rate-limit/keyed-store.js +0 -2
  1098. package/dist/src/infra/rate-limit/rate-limiter.js +0 -2
  1099. package/dist/src/infra/restart.js +0 -2
  1100. package/dist/src/infra/retry.js +0 -2
  1101. package/dist/src/infra/run-command.js +0 -2
  1102. package/dist/src/infra/sqlite-errors.js +0 -2
  1103. package/dist/src/infra/ssh-tunnel.js +0 -2
  1104. package/dist/src/infra/stable-node-path.js +0 -2
  1105. package/dist/src/infra/tailscale.js +0 -2
  1106. package/dist/src/infra/undici-fetch.js +0 -2
  1107. package/dist/src/infra/unhandled-rejections.js +0 -2
  1108. package/dist/src/infra/update-channels.js +0 -2
  1109. package/dist/src/infra/update-check.js +0 -2
  1110. package/dist/src/infra/update-global.js +0 -2
  1111. package/dist/src/infra/update-lock.js +0 -2
  1112. package/dist/src/infra/update-log.js +0 -2
  1113. package/dist/src/infra/update-restart.js +0 -2
  1114. package/dist/src/infra/update-runner.js +0 -2
  1115. package/dist/src/infra/update-startup.js +0 -2
  1116. package/dist/src/infra/warning-filter.js +0 -2
  1117. package/dist/src/infra/write-file-atomic.js +0 -2
  1118. package/dist/src/knowledge/connected-knowledge-pipeline.js +0 -2
  1119. package/dist/src/knowledge/coordinator.js +0 -2
  1120. package/dist/src/knowledge/ingestion-service.js +0 -2
  1121. package/dist/src/local-apps/acceptance.js +0 -2
  1122. package/dist/src/local-apps/preview-runtime-bridge.js +0 -2
  1123. package/dist/src/local-apps/runtime-entry.js +0 -2
  1124. package/dist/src/local-apps/scaffold.js +0 -2
  1125. package/dist/src/local-apps/service.js +0 -2
  1126. package/dist/src/local-apps/store.js +0 -2
  1127. package/dist/src/markdown/chunk.js +0 -2
  1128. package/dist/src/markdown/code-spans.js +0 -2
  1129. package/dist/src/markdown/fences.js +0 -2
  1130. package/dist/src/markdown/frontmatter.js +0 -2
  1131. package/dist/src/markdown/ir.js +0 -2
  1132. package/dist/src/markdown/render.js +0 -2
  1133. package/dist/src/markdown/tables.js +0 -2
  1134. package/dist/src/mcp/channel-bridge.js +0 -2
  1135. package/dist/src/mcp/channel-server.js +0 -2
  1136. package/dist/src/mcp/channel-shared.js +0 -2
  1137. package/dist/src/mcp/channel-tools.js +0 -2
  1138. package/dist/src/mcp/gateway-http-client.js +0 -2
  1139. package/dist/src/media/media-reference.js +0 -2
  1140. package/dist/src/media/paths.js +0 -2
  1141. package/dist/src/media/session-references.js +0 -2
  1142. package/dist/src/media/store.js +0 -2
  1143. package/dist/src/media/uri.js +0 -2
  1144. package/dist/src/media-shared/http/api-key-rotation.js +0 -2
  1145. package/dist/src/media-shared/http/deadline.js +0 -2
  1146. package/dist/src/media-shared/http/private-network.js +0 -2
  1147. package/dist/src/media-shared/http/provider-http-errors.js +0 -2
  1148. package/dist/src/media-shared/http/provider-http.js +0 -2
  1149. package/dist/src/media-shared/http/resolve-provider-http-request-config.js +0 -2
  1150. package/dist/src/media-shared/http/ssrf-guard.js +0 -2
  1151. package/dist/src/media-shared/http/test-helpers/mock-server.js +0 -2
  1152. package/dist/src/media-understanding/audio-transcription-runner.js +0 -2
  1153. package/dist/src/media-understanding/openai-compatible-audio.js +0 -2
  1154. package/dist/src/media-understanding/registry.js +0 -2
  1155. package/dist/src/media-understanding/resolve-entries.js +0 -2
  1156. package/dist/src/media-understanding/runner.js +0 -2
  1157. package/dist/src/migrations/config/default-capability-preset.js +0 -2
  1158. package/dist/src/migrations/registry.js +0 -2
  1159. package/dist/src/migrations/runner.js +0 -2
  1160. package/dist/src/mobile/notification-service.js +0 -2
  1161. package/dist/src/mobile/notification-store.js +0 -2
  1162. package/dist/src/mobile/notification-types.js +0 -2
  1163. package/dist/src/notes/agent-context.js +0 -2
  1164. package/dist/src/notes/attachment-ref.js +0 -2
  1165. package/dist/src/notes/note-attachment-sync.js +0 -2
  1166. package/dist/src/notes/note-index-meta.js +0 -2
  1167. package/dist/src/notes/note-markdown.js +0 -2
  1168. package/dist/src/notes/paths.js +0 -2
  1169. package/dist/src/notes/service.d.ts +3 -1
  1170. package/dist/src/notes/service.js +19 -5
  1171. package/dist/src/notes/store.js +0 -2
  1172. package/dist/src/package-version.js +0 -2
  1173. package/dist/src/pets/factory.d.ts +13 -0
  1174. package/dist/src/pets/factory.js +23 -2
  1175. package/dist/src/pets/manifest.js +0 -2
  1176. package/dist/src/pets/validator.js +0 -2
  1177. package/dist/src/process/kill-tree.js +0 -2
  1178. package/dist/src/project-trust/trust-store.js +0 -2
  1179. package/dist/src/projects/automation-bind.js +0 -2
  1180. package/dist/src/projects/goal-bind.js +0 -2
  1181. package/dist/src/projects/memory-bind.js +0 -2
  1182. package/dist/src/projects/project-agent-suggestion.js +0 -2
  1183. package/dist/src/projects/project-agent.js +0 -2
  1184. package/dist/src/projects/project-kind.js +0 -2
  1185. package/dist/src/projects/project-loop.js +0 -2
  1186. package/dist/src/projects/project-service.js +0 -2
  1187. package/dist/src/projects/project-store.js +0 -2
  1188. package/dist/src/projects/session-bind.js +0 -2
  1189. package/dist/src/projects/workflow-bind.js +0 -2
  1190. package/dist/src/projects/workspace-project.js +0 -2
  1191. package/dist/src/projects/workspace.js +0 -2
  1192. package/dist/src/providers/auth-runtime/auth-profile-store.js +0 -2
  1193. package/dist/src/providers/auth-runtime/is-configured.js +0 -2
  1194. package/dist/src/providers/auth-runtime/oauth.js +0 -2
  1195. package/dist/src/providers/auth-runtime/resolve-api-key.js +0 -2
  1196. package/dist/src/providers/auth-runtime/resolve-auth.js +0 -2
  1197. package/dist/src/providers/constants.js +0 -2
  1198. package/dist/src/providers/domestic-presets.js +0 -2
  1199. package/dist/src/providers/env-keys.js +0 -2
  1200. package/dist/src/providers/extension-stream-bridge.js +0 -2
  1201. package/dist/src/providers/index.js +0 -2
  1202. package/dist/src/providers/model-call.js +0 -2
  1203. package/dist/src/providers/model-discovery.js +0 -2
  1204. package/dist/src/providers/model-registry.js +0 -2
  1205. package/dist/src/providers/model-supplements.js +0 -2
  1206. package/dist/src/providers/plugin-registry.js +0 -2
  1207. package/dist/src/providers/presentation.js +0 -2
  1208. package/dist/src/remote-access/exposure-guards.js +0 -2
  1209. package/dist/src/remote-access/exposure-manager.js +0 -2
  1210. package/dist/src/review/review-git.js +0 -2
  1211. package/dist/src/review/review-types.js +0 -2
  1212. package/dist/src/routing/account-id.js +0 -2
  1213. package/dist/src/routing/agent-session-key.js +0 -2
  1214. package/dist/src/routing/bindings.js +0 -2
  1215. package/dist/src/routing/index.js +0 -2
  1216. package/dist/src/routing/resolve-route.js +0 -2
  1217. package/dist/src/routing/resolve-tui-session-key.js +0 -2
  1218. package/dist/src/routing/session-key-utils.js +0 -2
  1219. package/dist/src/routing/session-key.js +0 -2
  1220. package/dist/src/session/abort-cutoff.js +0 -2
  1221. package/dist/src/session/chat-export.js +0 -2
  1222. package/dist/src/session/client-history.js +0 -2
  1223. package/dist/src/session/compaction-checkpoints.js +0 -2
  1224. package/dist/src/session/config-store.js +0 -2
  1225. package/dist/src/session/init-session-turn.js +0 -2
  1226. package/dist/src/session/lifecycle-timestamps.js +0 -2
  1227. package/dist/src/session/load-jsonl-entries.js +0 -2
  1228. package/dist/src/session/manager.js +0 -2
  1229. package/dist/src/session/patch-metadata.js +0 -2
  1230. package/dist/src/session/reset-policy.js +0 -2
  1231. package/dist/src/session/reset-triggers.js +0 -2
  1232. package/dist/src/session/reset-type.js +0 -2
  1233. package/dist/src/session/resolve-session.js +0 -2
  1234. package/dist/src/session/session-context-for-llm.js +0 -2
  1235. package/dist/src/session/session-id.js +0 -2
  1236. package/dist/src/session/session-title.js +0 -2
  1237. package/dist/src/session/session-workspace.js +0 -2
  1238. package/dist/src/session/store.js +0 -2
  1239. package/dist/src/session/stored-rows-to-file-entries.js +0 -2
  1240. package/dist/src/session/thinking-resolve.js +0 -2
  1241. package/dist/src/session/transcript-events.js +0 -2
  1242. package/dist/src/session/transcript-format.js +0 -2
  1243. package/dist/src/session/transcript-outline.js +0 -2
  1244. package/dist/src/session/transcript-stats.js +0 -2
  1245. package/dist/src/session/types.js +0 -2
  1246. package/dist/src/session/user-round-delete.js +0 -2
  1247. package/dist/src/share/share-audit.js +0 -2
  1248. package/dist/src/share/share-auto.js +0 -2
  1249. package/dist/src/share/share-config.js +0 -2
  1250. package/dist/src/share/share-landing.js +0 -2
  1251. package/dist/src/share/share-rate-limit.js +0 -2
  1252. package/dist/src/share/share-store.js +0 -2
  1253. package/dist/src/share/share-thumbnail.js +0 -2
  1254. package/dist/src/share/share-types.js +0 -2
  1255. package/dist/src/share/share-url.js +0 -2
  1256. package/dist/src/share/share-zip.js +0 -2
  1257. package/dist/src/share/site-proxy.js +0 -2
  1258. package/dist/src/share/site-share-config.js +0 -2
  1259. package/dist/src/share/site-share-router.js +0 -2
  1260. package/dist/src/share/site-share-store.js +0 -2
  1261. package/dist/src/share/site-share-types.js +0 -2
  1262. package/dist/src/share/site-static-serve.js +0 -2
  1263. package/dist/src/storage/sqlite/activity-repository.js +0 -2
  1264. package/dist/src/storage/sqlite/config-repository.js +0 -2
  1265. package/dist/src/storage/sqlite/connection.js +0 -2
  1266. package/dist/src/storage/sqlite/connector-repository.js +0 -2
  1267. package/dist/src/storage/sqlite/fts.js +0 -2
  1268. package/dist/src/storage/sqlite/knowledge-repository.js +0 -2
  1269. package/dist/src/storage/sqlite/memory-index-repository.js +0 -2
  1270. package/dist/src/storage/sqlite/memory-records-repository.js +0 -2
  1271. package/dist/src/storage/sqlite/memory-reference-consent-repository.js +0 -2
  1272. package/dist/src/storage/sqlite/migrations/discover.js +0 -2
  1273. package/dist/src/storage/sqlite/migrations/errors.js +0 -2
  1274. package/dist/src/storage/sqlite/migrations/runner.js +0 -2
  1275. package/dist/src/storage/sqlite/note-agent-context-repository.js +0 -2
  1276. package/dist/src/storage/sqlite/notes-repository.js +0 -2
  1277. package/dist/src/storage/sqlite/paths.js +0 -2
  1278. package/dist/src/storage/sqlite/row-mappers.js +0 -2
  1279. package/dist/src/storage/sqlite/schema-version.js +0 -2
  1280. package/dist/src/storage/sqlite/schema.js +0 -2
  1281. package/dist/src/storage/sqlite/session-metadata.js +0 -2
  1282. package/dist/src/storage/sqlite/session-repository.js +0 -2
  1283. package/dist/src/storage/sqlite/transaction.js +0 -2
  1284. package/dist/src/storage/sqlite/transcript-repository.js +0 -2
  1285. package/dist/src/storage/sqlite/user-profile-setup-repository.js +0 -2
  1286. package/dist/src/storage/sqlite/user-trust-repository.js +0 -2
  1287. package/dist/src/tui/backends/embedded-backend.js +0 -2
  1288. package/dist/src/tui/backends/gateway-sse-backend.js +0 -2
  1289. package/dist/src/tui/chat-history.js +0 -2
  1290. package/dist/src/tui/clipboard-image.js +0 -2
  1291. package/dist/src/tui/clipboard-text.js +0 -2
  1292. package/dist/src/tui/components/assistant-message.js +0 -2
  1293. package/dist/src/tui/components/bash-execution.js +0 -2
  1294. package/dist/src/tui/components/bash-summary.js +0 -2
  1295. package/dist/src/tui/components/branch-message-summary.js +0 -2
  1296. package/dist/src/tui/components/branch-summary.js +0 -2
  1297. package/dist/src/tui/components/chat-log.js +0 -2
  1298. package/dist/src/tui/components/compaction-summary.js +0 -2
  1299. package/dist/src/tui/components/custom-editor.js +0 -2
  1300. package/dist/src/tui/components/custom-message.js +0 -2
  1301. package/dist/src/tui/components/dynamic-border.js +0 -2
  1302. package/dist/src/tui/components/extension-dialog.js +0 -2
  1303. package/dist/src/tui/components/fuzzy-filter.js +0 -2
  1304. package/dist/src/tui/components/scoped-models-selector.js +0 -2
  1305. package/dist/src/tui/components/searchable-select-list.js +0 -2
  1306. package/dist/src/tui/components/session-selector.js +0 -2
  1307. package/dist/src/tui/components/settings-selector.js +0 -2
  1308. package/dist/src/tui/components/thinking-selector.js +0 -2
  1309. package/dist/src/tui/components/tool-execution.js +0 -2
  1310. package/dist/src/tui/components/tui-bottom-bar.js +0 -2
  1311. package/dist/src/tui/components/tui-header.js +0 -2
  1312. package/dist/src/tui/components/user-message.js +0 -2
  1313. package/dist/src/tui/components/visual-truncate.js +0 -2
  1314. package/dist/src/tui/extension-host/autocomplete.js +0 -2
  1315. package/dist/src/tui/extension-host/host.js +0 -2
  1316. package/dist/src/tui/extension-host/load-extensions.js +0 -2
  1317. package/dist/src/tui/extension-host/runtime-context.js +0 -2
  1318. package/dist/src/tui/extension-host/runtime.js +0 -2
  1319. package/dist/src/tui/extension-host/surface.js +0 -2
  1320. package/dist/src/tui/extension-host/tool-renderers.js +0 -2
  1321. package/dist/src/tui/format-tui-hotkeys.js +0 -2
  1322. package/dist/src/tui/sse-consumer.js +0 -2
  1323. package/dist/src/tui/theme/dark.js +0 -2
  1324. package/dist/src/tui/theme/light.js +0 -2
  1325. package/dist/src/tui/theme-manager.js +0 -2
  1326. package/dist/src/tui/theme.js +0 -2
  1327. package/dist/src/tui/tool-summary.js +0 -2
  1328. package/dist/src/tui/tui-agent-events.js +0 -2
  1329. package/dist/src/tui/tui-command-formatters.js +0 -2
  1330. package/dist/src/tui/tui-commands.js +0 -2
  1331. package/dist/src/tui/tui-context-usage.js +0 -2
  1332. package/dist/src/tui/tui-extension-user-message.js +0 -2
  1333. package/dist/src/tui/tui-fd-path.js +0 -2
  1334. package/dist/src/tui/tui-file-autocomplete.js +0 -2
  1335. package/dist/src/tui/tui-follow-up-queue.js +0 -2
  1336. package/dist/src/tui/tui-git-branch.js +0 -2
  1337. package/dist/src/tui/tui-keybindings-file.js +0 -2
  1338. package/dist/src/tui/tui-lifecycle.js +0 -2
  1339. package/dist/src/tui/tui-local-shell.js +0 -2
  1340. package/dist/src/tui/tui-model-picker.js +0 -2
  1341. package/dist/src/tui/tui-oauth-login.js +0 -2
  1342. package/dist/src/tui/tui-overlays.js +0 -2
  1343. package/dist/src/tui/tui-picker-overlay.js +0 -2
  1344. package/dist/src/tui/tui-run-state.js +0 -2
  1345. package/dist/src/tui/tui-run-status-format.js +0 -2
  1346. package/dist/src/tui/tui-runtime-hints.js +0 -2
  1347. package/dist/src/tui/tui-scoped-models.js +0 -2
  1348. package/dist/src/tui/tui-session-actions.js +0 -2
  1349. package/dist/src/tui/tui-session-format.js +0 -2
  1350. package/dist/src/tui/tui-session-snapshot.js +0 -2
  1351. package/dist/src/tui/tui-session-stats.js +0 -2
  1352. package/dist/src/tui/tui-settings.js +0 -2
  1353. package/dist/src/tui/tui-skills-autocomplete.js +0 -2
  1354. package/dist/src/tui/tui-startup-resources.js +0 -2
  1355. package/dist/src/tui/tui-startup-text.js +0 -2
  1356. package/dist/src/tui/tui-stdio-filter.js +0 -2
  1357. package/dist/src/tui/tui-submit.js +0 -2
  1358. package/dist/src/tui/tui-suspend.js +0 -2
  1359. package/dist/src/tui/tui-timeline-picker.js +0 -2
  1360. package/dist/src/tui/tui-timeline.js +0 -2
  1361. package/dist/src/tui/tui-tool-diff.js +0 -2
  1362. package/dist/src/tui/tui-tool-result.js +0 -2
  1363. package/dist/src/tui/tui-transcript-tree-picker.js +0 -2
  1364. package/dist/src/tui/tui-transcript-tree.js +0 -2
  1365. package/dist/src/tui/tui-types.js +0 -2
  1366. package/dist/src/tui/tui-workflow-slash.js +0 -2
  1367. package/dist/src/tui/tui.js +0 -2
  1368. package/dist/src/tui/xopc-tui-keybindings.js +0 -2
  1369. package/dist/src/tunnel/broker-client.js +0 -2
  1370. package/dist/src/tunnel/consent.js +0 -2
  1371. package/dist/src/tunnel/enable-lan-pairing.js +0 -2
  1372. package/dist/src/tunnel/env.js +0 -2
  1373. package/dist/src/tunnel/frp-subdomain-host.js +0 -2
  1374. package/dist/src/tunnel/frpc-binary.js +0 -2
  1375. package/dist/src/tunnel/frpc-config.js +0 -2
  1376. package/dist/src/tunnel/frpc-extract.js +0 -2
  1377. package/dist/src/tunnel/frpc-process.js +0 -2
  1378. package/dist/src/tunnel/gateway-lifecycle.js +0 -2
  1379. package/dist/src/tunnel/pair-context.js +0 -2
  1380. package/dist/src/tunnel/pair-url.js +0 -2
  1381. package/dist/src/tunnel/pairing-rate-limit.js +0 -2
  1382. package/dist/src/tunnel/pairing.js +0 -2
  1383. package/dist/src/tunnel/tunnel-audit.js +0 -2
  1384. package/dist/src/tunnel/tunnel-config.js +0 -2
  1385. package/dist/src/tunnel/tunnel-persist.js +0 -2
  1386. package/dist/src/tunnel/tunnel-qr.js +0 -2
  1387. package/dist/src/tunnel/tunnel-rate-limit.js +0 -2
  1388. package/dist/src/tunnel/tunnel-service.js +0 -2
  1389. package/dist/src/tunnel/tunnel-state.js +0 -2
  1390. package/dist/src/tunnel/well-known.js +0 -2
  1391. package/dist/src/user-context/config.js +0 -2
  1392. package/dist/src/user-context/import.js +0 -2
  1393. package/dist/src/user-context/owner.js +0 -2
  1394. package/dist/src/user-context/profile.js +0 -2
  1395. package/dist/src/user-context/projection.js +0 -2
  1396. package/dist/src/user-context/runtime.js +0 -2
  1397. package/dist/src/user-context/source-recommendations.js +0 -2
  1398. package/dist/src/user-context/trust-policy.js +0 -2
  1399. package/dist/src/utils/global-singleton.js +0 -2
  1400. package/dist/src/utils/helpers.js +0 -2
  1401. package/dist/src/utils/index.js +0 -2
  1402. package/dist/src/utils/is-record.js +0 -2
  1403. package/dist/src/utils/logger/audit.js +0 -2
  1404. package/dist/src/utils/logger/config.js +0 -2
  1405. package/dist/src/utils/logger/context.js +0 -2
  1406. package/dist/src/utils/logger/exporters.js +0 -2
  1407. package/dist/src/utils/logger/index.js +0 -2
  1408. package/dist/src/utils/logger/log-store.js +0 -2
  1409. package/dist/src/utils/logger/log-stream.js +0 -2
  1410. package/dist/src/utils/logger/pino-record.js +0 -2
  1411. package/dist/src/utils/logger/redact.js +0 -2
  1412. package/dist/src/utils/logger/rotation.js +0 -2
  1413. package/dist/src/utils/logger/shutdown.js +0 -2
  1414. package/dist/src/utils/logger/stats.js +0 -2
  1415. package/dist/src/utils/logger/streams.js +0 -2
  1416. package/dist/src/utils/logger/types.js +0 -2
  1417. package/dist/src/utils/logger.js +0 -2
  1418. package/dist/src/utils/redact-sensitive-url.js +0 -2
  1419. package/dist/src/utils/sanitize-log.js +0 -2
  1420. package/dist/src/utils/string-coerce.js +0 -2
  1421. package/dist/src/voice/language-profile.js +0 -2
  1422. package/dist/src/voice/local/model-files.js +0 -2
  1423. package/dist/src/voice/local/model-manager.js +0 -2
  1424. package/dist/src/voice/local/models.js +0 -2
  1425. package/dist/src/voice/local/runtime-client.js +0 -2
  1426. package/dist/src/voice/local/runtime-dispatcher.js +0 -2
  1427. package/dist/src/voice/local/runtime-worker.js +12 -4
  1428. package/dist/src/voice/local/wav.js +0 -2
  1429. package/dist/src/voice/metadata/builtin.js +0 -2
  1430. package/dist/src/voice/metadata/registry.js +0 -2
  1431. package/dist/src/voice/stt/availability.js +0 -2
  1432. package/dist/src/voice/stt/config-slice.js +0 -2
  1433. package/dist/src/voice/stt/factory.js +0 -2
  1434. package/dist/src/voice/stt/index.js +0 -2
  1435. package/dist/src/voice/stt/list-providers.js +0 -2
  1436. package/dist/src/voice/stt/mention.js +0 -2
  1437. package/dist/src/voice/stt/preflight.js +0 -2
  1438. package/dist/src/voice/stt/providers/alibaba-transcription.js +0 -2
  1439. package/dist/src/voice/stt/providers/local-transcription.js +0 -2
  1440. package/dist/src/voice/stt/providers/openai-transcription.js +0 -2
  1441. package/dist/src/voice/stt/transcribe-core.js +0 -2
  1442. package/dist/src/voice/stt/types.js +0 -2
  1443. package/dist/src/voice/tts/audio.js +0 -2
  1444. package/dist/src/voice/tts/config-slice.js +0 -2
  1445. package/dist/src/voice/tts/directives.js +0 -2
  1446. package/dist/src/voice/tts/factory.js +0 -2
  1447. package/dist/src/voice/tts/list-providers.js +0 -2
  1448. package/dist/src/voice/tts/merge-config.js +0 -2
  1449. package/dist/src/voice/tts/openai-compatible-speech.js +0 -2
  1450. package/dist/src/voice/tts/payload.js +0 -2
  1451. package/dist/src/voice/tts/preprocess.js +0 -2
  1452. package/dist/src/voice/tts/providers/alibaba-speech.js +0 -2
  1453. package/dist/src/voice/tts/providers/edge-speech.js +0 -2
  1454. package/dist/src/voice/tts/providers/minimax-speech.js +0 -2
  1455. package/dist/src/voice/tts/providers/openai-speech.js +0 -2
  1456. package/dist/src/voice/tts/sentence-boundary.js +0 -2
  1457. package/dist/src/voice/tts/service.js +0 -2
  1458. package/dist/src/voice/tts/speak-core.js +0 -2
  1459. package/dist/src/voice/tts/speech-registry.js +0 -2
  1460. package/dist/src/voice/tts/status-tracker.js +0 -2
  1461. package/dist/src/voice/tts/summarize.js +0 -2
  1462. package/dist/src/voice/tts/types.js +0 -2
  1463. package/dist/src/work-discovery/analyzer.js +0 -2
  1464. package/dist/src/work-discovery/probe.js +0 -2
  1465. package/dist/src/work-discovery/repository.js +0 -2
  1466. package/dist/src/work-discovery/service.js +0 -2
  1467. package/dist/src/work-items/agent-context.js +0 -2
  1468. package/dist/src/work-items/work-item-service.js +0 -2
  1469. package/dist/src/work-items/work-item-store.js +0 -2
  1470. package/dist/src/work-items/work-item-workflow-judge.js +0 -2
  1471. package/dist/src/workflows/authoring/workflow-draft-store.js +0 -2
  1472. package/dist/src/workflows/domain/definition-utils.js +0 -2
  1473. package/dist/src/workflows/domain/run.js +0 -2
  1474. package/dist/src/workflows/domain/schema-validation.js +0 -2
  1475. package/dist/src/workflows/domain/validation.js +0 -2
  1476. package/dist/src/workflows/draft/workflow-draft-prompt.js +0 -2
  1477. package/dist/src/workflows/draft/workflow-draft-service.js +0 -2
  1478. package/dist/src/workflows/draft/workflow-draft-validator.js +0 -2
  1479. package/dist/src/workflows/engine/projector.js +0 -2
  1480. package/dist/src/workflows/engine/workflow-engine.js +0 -2
  1481. package/dist/src/workflows/registry/catalog-workflow-definition-registry.js +0 -2
  1482. package/dist/src/workflows/runtime/graph-workflow-runtime.js +0 -2
  1483. package/dist/src/workflows/service/run-view-to-snapshot.js +0 -2
  1484. package/dist/src/workflows/service/workflow-run-service.js +1 -3
  1485. package/dist/src/workflows/service/workflow-session-bridge.js +0 -2
  1486. package/dist/src/workflows/service/workflow-session-key.js +0 -2
  1487. package/dist/src/workflows/store/event-store.js +0 -2
  1488. package/dist/src/workflows/store/paths.js +0 -2
  1489. package/dist/src/workflows/store/run-index-store.js +0 -2
  1490. package/dist/src/workflows/store/run-store.js +0 -2
  1491. package/package.json +43 -12
  1492. package/skills/creative/hatch-pet/SKILL.md +1 -0
  1493. package/dist/extensions/dashscope/src/image-generation-provider.js.map +0 -1
  1494. package/dist/extensions/demo-memory/src/index.js.map +0 -1
  1495. package/dist/extensions/fal/src/image-generation-provider.js.map +0 -1
  1496. package/dist/extensions/feishu/src/actions/message-action-handler.js.map +0 -1
  1497. package/dist/extensions/feishu/src/adapters/cli-login.js.map +0 -1
  1498. package/dist/extensions/feishu/src/adapters/gateway-setup.js.map +0 -1
  1499. package/dist/extensions/feishu/src/adapters/onboard-cli.js.map +0 -1
  1500. package/dist/extensions/feishu/src/auth/app-registration.js.map +0 -1
  1501. package/dist/extensions/feishu/src/auth/pairing.js.map +0 -1
  1502. package/dist/extensions/feishu/src/auth/paths.js.map +0 -1
  1503. package/dist/extensions/feishu/src/directory/directory-adapter.js.map +0 -1
  1504. package/dist/extensions/feishu/src/format.js.map +0 -1
  1505. package/dist/extensions/feishu/src/index.js.map +0 -1
  1506. package/dist/extensions/feishu/src/outbound/actions.js.map +0 -1
  1507. package/dist/extensions/feishu/src/outbound/media-load.js.map +0 -1
  1508. package/dist/extensions/feishu/src/outbound/outbound-adapter.js.map +0 -1
  1509. package/dist/extensions/feishu/src/pairing/feishu-pairing-prompt.js.map +0 -1
  1510. package/dist/extensions/feishu/src/pairing-config-resolver.js.map +0 -1
  1511. package/dist/extensions/feishu/src/plugin.js.map +0 -1
  1512. package/dist/extensions/feishu/src/schema/config-schema.js.map +0 -1
  1513. package/dist/extensions/feishu/src/state/accounts.js.map +0 -1
  1514. package/dist/extensions/feishu/src/state/message-bindings.js.map +0 -1
  1515. package/dist/extensions/feishu/src/state/thread-bindings.js.map +0 -1
  1516. package/dist/extensions/feishu/src/status/doctor.js.map +0 -1
  1517. package/dist/extensions/feishu/src/status/status-adapter.js.map +0 -1
  1518. package/dist/extensions/feishu/src/streaming/streaming-adapter.js.map +0 -1
  1519. package/dist/extensions/feishu/src/subagent-hooks.js.map +0 -1
  1520. package/dist/extensions/feishu/src/tools/docx/docx-batch-insert.js.map +0 -1
  1521. package/dist/extensions/feishu/src/tools/docx/docx-color-text.js.map +0 -1
  1522. package/dist/extensions/feishu/src/tools/docx/docx-table-ops.js.map +0 -1
  1523. package/dist/extensions/feishu/src/tools/tools.js.map +0 -1
  1524. package/dist/extensions/feishu/src/transport/client/client.js.map +0 -1
  1525. package/dist/extensions/feishu/src/transport/client/lark-sdk-logger.js.map +0 -1
  1526. package/dist/extensions/feishu/src/transport/reliability/dedupe.js.map +0 -1
  1527. package/dist/extensions/feishu/src/transport/reliability/inbound-pipeline.js.map +0 -1
  1528. package/dist/extensions/feishu/src/transport/socket-mode/monitor.js.map +0 -1
  1529. package/dist/extensions/feishu/src/transport/socket-mode/retry.js.map +0 -1
  1530. package/dist/extensions/feishu/src/transport/text/mentions.js.map +0 -1
  1531. package/dist/extensions/feishu/src/transport/webhook/monitor.js.map +0 -1
  1532. package/dist/extensions/feishu/src/ui/config-surface.js.map +0 -1
  1533. package/dist/extensions/feishu/src/workflow-progress.js.map +0 -1
  1534. package/dist/extensions/google/src/image-generation-provider.js.map +0 -1
  1535. package/dist/extensions/minimax/src/image-generation-provider.js.map +0 -1
  1536. package/dist/extensions/openai/src/image-generation-provider.js.map +0 -1
  1537. package/dist/extensions/telegram/src/access-control.js.map +0 -1
  1538. package/dist/extensions/telegram/src/account-manager.js.map +0 -1
  1539. package/dist/extensions/telegram/src/actions/message-actions.js.map +0 -1
  1540. package/dist/extensions/telegram/src/adapters/command-adapter.js.map +0 -1
  1541. package/dist/extensions/telegram/src/adapters/config-adapter.js.map +0 -1
  1542. package/dist/extensions/telegram/src/adapters/debounce-keys.js.map +0 -1
  1543. package/dist/extensions/telegram/src/adapters/gateway-adapter.js.map +0 -1
  1544. package/dist/extensions/telegram/src/adapters/gateway-setup.js.map +0 -1
  1545. package/dist/extensions/telegram/src/adapters/inbound-access.js.map +0 -1
  1546. package/dist/extensions/telegram/src/adapters/index.js.map +0 -1
  1547. package/dist/extensions/telegram/src/adapters/onboard-cli.js.map +0 -1
  1548. package/dist/extensions/telegram/src/adapters/outbound-adapter.js.map +0 -1
  1549. package/dist/extensions/telegram/src/adapters/security-adapter.js.map +0 -1
  1550. package/dist/extensions/telegram/src/adapters/setup-wizard.js.map +0 -1
  1551. package/dist/extensions/telegram/src/adapters/status-adapter.js.map +0 -1
  1552. package/dist/extensions/telegram/src/adapters/streaming-adapter.js.map +0 -1
  1553. package/dist/extensions/telegram/src/api-root.js.map +0 -1
  1554. package/dist/extensions/telegram/src/approval-delivery.js.map +0 -1
  1555. package/dist/extensions/telegram/src/approval-store.js.map +0 -1
  1556. package/dist/extensions/telegram/src/caption.js.map +0 -1
  1557. package/dist/extensions/telegram/src/command-handler.js.map +0 -1
  1558. package/dist/extensions/telegram/src/config-schema.js.map +0 -1
  1559. package/dist/extensions/telegram/src/conversation-id.js.map +0 -1
  1560. package/dist/extensions/telegram/src/dedupe.js.map +0 -1
  1561. package/dist/extensions/telegram/src/delivery-chat-id.js.map +0 -1
  1562. package/dist/extensions/telegram/src/doctor.js.map +0 -1
  1563. package/dist/extensions/telegram/src/draft-stream-lifecycle.js.map +0 -1
  1564. package/dist/extensions/telegram/src/draft-stream-loop.js.map +0 -1
  1565. package/dist/extensions/telegram/src/draft-stream.js.map +0 -1
  1566. package/dist/extensions/telegram/src/errors.js.map +0 -1
  1567. package/dist/extensions/telegram/src/exec-approval-handler.js.map +0 -1
  1568. package/dist/extensions/telegram/src/exec-approvals.js.map +0 -1
  1569. package/dist/extensions/telegram/src/focus-handler.js.map +0 -1
  1570. package/dist/extensions/telegram/src/format.js.map +0 -1
  1571. package/dist/extensions/telegram/src/group-config-resolver.js.map +0 -1
  1572. package/dist/extensions/telegram/src/inbound-coalescer.js.map +0 -1
  1573. package/dist/extensions/telegram/src/inbound-processor.js.map +0 -1
  1574. package/dist/extensions/telegram/src/index.js.map +0 -1
  1575. package/dist/extensions/telegram/src/inline-keyboards.js.map +0 -1
  1576. package/dist/extensions/telegram/src/network-errors.js.map +0 -1
  1577. package/dist/extensions/telegram/src/outbound-sender.js.map +0 -1
  1578. package/dist/extensions/telegram/src/pairing-config-resolver.js.map +0 -1
  1579. package/dist/extensions/telegram/src/plugin-defaults.js.map +0 -1
  1580. package/dist/extensions/telegram/src/plugin.js.map +0 -1
  1581. package/dist/extensions/telegram/src/polling-session.js.map +0 -1
  1582. package/dist/extensions/telegram/src/proxy-fetch.js.map +0 -1
  1583. package/dist/extensions/telegram/src/reactions.js.map +0 -1
  1584. package/dist/extensions/telegram/src/reply-params.js.map +0 -1
  1585. package/dist/extensions/telegram/src/routing-integration.js.map +0 -1
  1586. package/dist/extensions/telegram/src/send-options.js.map +0 -1
  1587. package/dist/extensions/telegram/src/sent-cache.js.map +0 -1
  1588. package/dist/extensions/telegram/src/startup-errors.js.map +0 -1
  1589. package/dist/extensions/telegram/src/telegram-actions.js.map +0 -1
  1590. package/dist/extensions/telegram/src/telegram-draft-errors.js.map +0 -1
  1591. package/dist/extensions/telegram/src/thread-bindings.js.map +0 -1
  1592. package/dist/extensions/telegram/src/timeout-abort.js.map +0 -1
  1593. package/dist/extensions/telegram/src/token-resolver.js.map +0 -1
  1594. package/dist/extensions/telegram/src/update-offset-store.js.map +0 -1
  1595. package/dist/extensions/telegram/src/workflow-progress.js.map +0 -1
  1596. package/dist/extensions/weixin/src/adapters/onboard-cli.js.map +0 -1
  1597. package/dist/extensions/weixin/src/api/api.js.map +0 -1
  1598. package/dist/extensions/weixin/src/api/config-cache.js.map +0 -1
  1599. package/dist/extensions/weixin/src/api/session-guard.js.map +0 -1
  1600. package/dist/extensions/weixin/src/api/types.js.map +0 -1
  1601. package/dist/extensions/weixin/src/auth/accounts.js.map +0 -1
  1602. package/dist/extensions/weixin/src/auth/login-qr.js.map +0 -1
  1603. package/dist/extensions/weixin/src/auth/pairing.js.map +0 -1
  1604. package/dist/extensions/weixin/src/auth/weixin-account-id.js.map +0 -1
  1605. package/dist/extensions/weixin/src/cdn/aes-ecb.js.map +0 -1
  1606. package/dist/extensions/weixin/src/cdn/cdn-upload.js.map +0 -1
  1607. package/dist/extensions/weixin/src/cdn/cdn-url.js.map +0 -1
  1608. package/dist/extensions/weixin/src/cdn/pic-decrypt.js.map +0 -1
  1609. package/dist/extensions/weixin/src/cdn/upload.js.map +0 -1
  1610. package/dist/extensions/weixin/src/cli/gateway-qr-login.js.map +0 -1
  1611. package/dist/extensions/weixin/src/cli/qr-login.js.map +0 -1
  1612. package/dist/extensions/weixin/src/config-schema.js.map +0 -1
  1613. package/dist/extensions/weixin/src/config-surface.js.map +0 -1
  1614. package/dist/extensions/weixin/src/delivery-to.js.map +0 -1
  1615. package/dist/extensions/weixin/src/index.js.map +0 -1
  1616. package/dist/extensions/weixin/src/media/data-url.js.map +0 -1
  1617. package/dist/extensions/weixin/src/media/media-download.js.map +0 -1
  1618. package/dist/extensions/weixin/src/media/mime.js.map +0 -1
  1619. package/dist/extensions/weixin/src/media/silk-transcode.js.map +0 -1
  1620. package/dist/extensions/weixin/src/messaging/context-token-init.js.map +0 -1
  1621. package/dist/extensions/weixin/src/messaging/debug-mode.js.map +0 -1
  1622. package/dist/extensions/weixin/src/messaging/error-notice.js.map +0 -1
  1623. package/dist/extensions/weixin/src/messaging/inbound.js.map +0 -1
  1624. package/dist/extensions/weixin/src/messaging/markdown-filter.js.map +0 -1
  1625. package/dist/extensions/weixin/src/messaging/process-message.js.map +0 -1
  1626. package/dist/extensions/weixin/src/messaging/send-media.js.map +0 -1
  1627. package/dist/extensions/weixin/src/messaging/send.js.map +0 -1
  1628. package/dist/extensions/weixin/src/messaging/slash-commands.js.map +0 -1
  1629. package/dist/extensions/weixin/src/messaging/typing-ticket-store.js.map +0 -1
  1630. package/dist/extensions/weixin/src/monitor/monitor.js.map +0 -1
  1631. package/dist/extensions/weixin/src/outbound-send.js.map +0 -1
  1632. package/dist/extensions/weixin/src/pairing-config-resolver.js.map +0 -1
  1633. package/dist/extensions/weixin/src/plugin.js.map +0 -1
  1634. package/dist/extensions/weixin/src/routing-integration.js.map +0 -1
  1635. package/dist/extensions/weixin/src/storage/state-dir.js.map +0 -1
  1636. package/dist/extensions/weixin/src/storage/sync-buf.js.map +0 -1
  1637. package/dist/extensions/weixin/src/util/logger.js.map +0 -1
  1638. package/dist/extensions/weixin/src/util/random.js.map +0 -1
  1639. package/dist/extensions/weixin/src/util/redact.js.map +0 -1
  1640. package/dist/extensions/weixin/src/workflow-progress.js.map +0 -1
  1641. package/dist/gateway/static/root/assets/agents-DZDOcgz5.js +0 -2
  1642. package/dist/gateway/static/root/assets/appearance-settings-BNasnY9D.js +0 -1
  1643. package/dist/gateway/static/root/assets/apps-page-Cmr-Hvm9.js +0 -1
  1644. package/dist/gateway/static/root/assets/automations-page-TWgUAI8t.js +0 -6
  1645. package/dist/gateway/static/root/assets/browser-settings-page-DBsFItW_.js +0 -8
  1646. package/dist/gateway/static/root/assets/channels-settings-BBkzrBYy.js +0 -1
  1647. package/dist/gateway/static/root/assets/channels-status-swr-CuU6ez3y.js +0 -1
  1648. package/dist/gateway/static/root/assets/connectors-page-DLsZCAw7.js +0 -2
  1649. package/dist/gateway/static/root/assets/desktop-pet-C6V-PHwi.js +0 -1
  1650. package/dist/gateway/static/root/assets/desktop-pet-settings-5Fcz47XQ.js +0 -1
  1651. package/dist/gateway/static/root/assets/gateway-settings-BrxzyVW2.js +0 -1
  1652. package/dist/gateway/static/root/assets/goal-create-dialog-DRVRLc5Z.js +0 -1
  1653. package/dist/gateway/static/root/assets/goal-detail-page-8F7NElzP.js +0 -4
  1654. package/dist/gateway/static/root/assets/goals-page-BaoLiV8G.js +0 -2
  1655. package/dist/gateway/static/root/assets/index-CH7XN6KY.js +0 -259
  1656. package/dist/gateway/static/root/assets/index-Dfnl9tp_.css +0 -1
  1657. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-BHnh5OoY.js +0 -1
  1658. package/dist/gateway/static/root/assets/local-app-workbench-page-Boe8n4zH.js +0 -2
  1659. package/dist/gateway/static/root/assets/locale-store-BneNAR8R.js +0 -1
  1660. package/dist/gateway/static/root/assets/logs-page-Cb4Uptct.js +0 -7
  1661. package/dist/gateway/static/root/assets/messages-t1yPaVCt.js +0 -5
  1662. package/dist/gateway/static/root/assets/models-hub-panel-CNiUKZUV.js +0 -2
  1663. package/dist/gateway/static/root/assets/notes-workbench-C9__VkD6.js +0 -4
  1664. package/dist/gateway/static/root/assets/project-detail-page-CZhuB5kO.js +0 -1
  1665. package/dist/gateway/static/root/assets/projects-page-BOq4WVdR.js +0 -1
  1666. package/dist/gateway/static/root/assets/remote-access-hub-BxGq0ebQ.js +0 -1
  1667. package/dist/gateway/static/root/assets/sessions-page-B6gSU_Au.js +0 -1
  1668. package/dist/gateway/static/root/assets/settings-advanced-gate-DwuBL834.js +0 -1
  1669. package/dist/gateway/static/root/assets/settings-loading-skeleton-vitElc-n.js +0 -1
  1670. package/dist/gateway/static/root/assets/setup-status-panel-BJeA4mmk.js +0 -1
  1671. package/dist/gateway/static/root/assets/shares-settings-DB2KYA2_.js +0 -1
  1672. package/dist/gateway/static/root/assets/skill-reload-api-DQtZiejw.js +0 -1
  1673. package/dist/gateway/static/root/assets/skills-page-Pm0fNe_p.js +0 -2
  1674. package/dist/gateway/static/root/assets/user-context-page-DnLqQyRG.js +0 -1
  1675. package/dist/gateway/static/root/assets/voice-api-key-field-BiFIIWC4.js +0 -1
  1676. package/dist/gateway/static/root/assets/work-discovery-page-D2-_bC0J.js +0 -1
  1677. package/dist/gateway/static/root/assets/work-item-detail-page-B0FPG4eJ.js +0 -1
  1678. package/dist/gateway/static/root/assets/work-page-BDeVxts_.js +0 -1
  1679. package/dist/gateway/static/root/assets/workflow-run-setup-panel-BPzS67fU.js +0 -3
  1680. package/dist/gateway/static/root/assets/workflows-page-xPhmrRLs.js +0 -11
  1681. package/dist/gateway/static/root/favicon-icon.svg +0 -187
  1682. package/dist/package.js.map +0 -1
  1683. package/dist/src/activity/context.js.map +0 -1
  1684. package/dist/src/activity/emitter.js.map +0 -1
  1685. package/dist/src/activity/service.js.map +0 -1
  1686. package/dist/src/agent/agent-manager.js.map +0 -1
  1687. package/dist/src/agent/agent-scope.js.map +0 -1
  1688. package/dist/src/agent/background-review/coordinator.js.map +0 -1
  1689. package/dist/src/agent/background-review/prompts.js.map +0 -1
  1690. package/dist/src/agent/background-review/run-background-review.js.map +0 -1
  1691. package/dist/src/agent/background-review/settings.js.map +0 -1
  1692. package/dist/src/agent/bootstrap/bootstrap-cache.js.map +0 -1
  1693. package/dist/src/agent/bootstrap/bootstrap-context.js.map +0 -1
  1694. package/dist/src/agent/bootstrap/bootstrap-files.js.map +0 -1
  1695. package/dist/src/agent/bootstrap/filter-bootstrap-files.js.map +0 -1
  1696. package/dist/src/agent/bootstrap/load-bootstrap-files.js.map +0 -1
  1697. package/dist/src/agent/bootstrap/project-agents-context.js.map +0 -1
  1698. package/dist/src/agent/capabilities/definitions.js.map +0 -1
  1699. package/dist/src/agent/capabilities/registry.js.map +0 -1
  1700. package/dist/src/agent/child-agent-factory.js.map +0 -1
  1701. package/dist/src/agent/client-error-format.js.map +0 -1
  1702. package/dist/src/agent/code-intelligence/binary.js.map +0 -1
  1703. package/dist/src/agent/code-intelligence/runtime.js.map +0 -1
  1704. package/dist/src/agent/code-intelligence/tools.js.map +0 -1
  1705. package/dist/src/agent/coding/turn-diff-tracker.js.map +0 -1
  1706. package/dist/src/agent/context/expand-at-file-mentions.js.map +0 -1
  1707. package/dist/src/agent/context/project-context.js.map +0 -1
  1708. package/dist/src/agent/context/workspace-seed.js.map +0 -1
  1709. package/dist/src/agent/context/workspace-state.js.map +0 -1
  1710. package/dist/src/agent/context/workspace.js.map +0 -1
  1711. package/dist/src/agent/embedded/run-for-session.js.map +0 -1
  1712. package/dist/src/agent/embedded/run-turn.js.map +0 -1
  1713. package/dist/src/agent/embedded/runs.js.map +0 -1
  1714. package/dist/src/agent/embedded/session-manager-init.js.map +0 -1
  1715. package/dist/src/agent/embedded/session-runner.js.map +0 -1
  1716. package/dist/src/agent/embedded/session-tool-result-guard.js.map +0 -1
  1717. package/dist/src/agent/embedded/sqlite-hydrating-session-manager.js.map +0 -1
  1718. package/dist/src/agent/embedded/subscribe-session.js.map +0 -1
  1719. package/dist/src/agent/embedded/system-prompt-override.js.map +0 -1
  1720. package/dist/src/agent/embedded/tool-result-context-guard.js.map +0 -1
  1721. package/dist/src/agent/embedded/tool-result-truncation.js.map +0 -1
  1722. package/dist/src/agent/embedded/xopc-auth-storage.js.map +0 -1
  1723. package/dist/src/agent/embedded/xopc-stream-bridge.js.map +0 -1
  1724. package/dist/src/agent/embedded/xopc-tools-bridge.js.map +0 -1
  1725. package/dist/src/agent/failover-error.js.map +0 -1
  1726. package/dist/src/agent/fallback/candidates.js.map +0 -1
  1727. package/dist/src/agent/fallback/reason.js.map +0 -1
  1728. package/dist/src/agent/feedback/feedback-coordinator.js.map +0 -1
  1729. package/dist/src/agent/goals/checklist-judge.js.map +0 -1
  1730. package/dist/src/agent/goals/checklist-types.js.map +0 -1
  1731. package/dist/src/agent/goals/evaluate-turn.js.map +0 -1
  1732. package/dist/src/agent/goals/goal-locale.js.map +0 -1
  1733. package/dist/src/agent/goals/judge.js.map +0 -1
  1734. package/dist/src/agent/goals/persistent-goal-service.js.map +0 -1
  1735. package/dist/src/agent/goals/post-turn.js.map +0 -1
  1736. package/dist/src/agent/goals/state.js.map +0 -1
  1737. package/dist/src/agent/image/generation/bundled-registry.js.map +0 -1
  1738. package/dist/src/agent/image/generation/bundled.js.map +0 -1
  1739. package/dist/src/agent/image/generation/image-assets.js.map +0 -1
  1740. package/dist/src/agent/image/generation/model-ref.js.map +0 -1
  1741. package/dist/src/agent/image/generation/normalization.js.map +0 -1
  1742. package/dist/src/agent/image/generation/openai-compatible-image-provider.js.map +0 -1
  1743. package/dist/src/agent/image/generation/provider-registry.js.map +0 -1
  1744. package/dist/src/agent/image/generation/runtime.js.map +0 -1
  1745. package/dist/src/agent/image/image-helpers.js.map +0 -1
  1746. package/dist/src/agent/image/image-model-fallback.js.map +0 -1
  1747. package/dist/src/agent/image/inbound-image-handling.js.map +0 -1
  1748. package/dist/src/agent/image/load-image-media.js.map +0 -1
  1749. package/dist/src/agent/image/tool-model-config.js.map +0 -1
  1750. package/dist/src/agent/image/understanding/pi-ai-provider.js.map +0 -1
  1751. package/dist/src/agent/image/understanding/provider-registry.js.map +0 -1
  1752. package/dist/src/agent/image/understanding/runtime.js.map +0 -1
  1753. package/dist/src/agent/image/vision-detection.js.map +0 -1
  1754. package/dist/src/agent/inbound/attachment-pipeline.js.map +0 -1
  1755. package/dist/src/agent/inbound/inbound-loop.js.map +0 -1
  1756. package/dist/src/agent/inbound/turn-dispatcher.js.map +0 -1
  1757. package/dist/src/agent/ipc/bus.js.map +0 -1
  1758. package/dist/src/agent/ipc/inbox.js.map +0 -1
  1759. package/dist/src/agent/ipc/socket.js.map +0 -1
  1760. package/dist/src/agent/ipc/types.js.map +0 -1
  1761. package/dist/src/agent/lifecycle/handlers/compaction.js.map +0 -1
  1762. package/dist/src/agent/lifecycle/hook-handler.js.map +0 -1
  1763. package/dist/src/agent/lifecycle/manager.js.map +0 -1
  1764. package/dist/src/agent/lifecycle/progress.js.map +0 -1
  1765. package/dist/src/agent/lifecycle/timeout-wrapper.js.map +0 -1
  1766. package/dist/src/agent/lifecycle/typing.js.map +0 -1
  1767. package/dist/src/agent/mcp/bundle-mcp-config.js.map +0 -1
  1768. package/dist/src/agent/mcp/bundle-mcp-materialize.js.map +0 -1
  1769. package/dist/src/agent/mcp/bundle-mcp-names.js.map +0 -1
  1770. package/dist/src/agent/mcp/bundle-mcp-policy.js.map +0 -1
  1771. package/dist/src/agent/mcp/bundle-mcp-runtime.js.map +0 -1
  1772. package/dist/src/agent/mcp/embedded-mcp.js.map +0 -1
  1773. package/dist/src/agent/mcp/mcp-config-shared.js.map +0 -1
  1774. package/dist/src/agent/mcp/mcp-http.js.map +0 -1
  1775. package/dist/src/agent/mcp/mcp-stdio-transport.js.map +0 -1
  1776. package/dist/src/agent/mcp/mcp-stdio.js.map +0 -1
  1777. package/dist/src/agent/mcp/mcp-tool-meta.js.map +0 -1
  1778. package/dist/src/agent/mcp/mcp-transport-config.js.map +0 -1
  1779. package/dist/src/agent/mcp/mcp-transport.js.map +0 -1
  1780. package/dist/src/agent/mcp/resolve-embedded-mcp-tools.js.map +0 -1
  1781. package/dist/src/agent/media-generation/model-ref.js.map +0 -1
  1782. package/dist/src/agent/media-generation/normalization.types.js.map +0 -1
  1783. package/dist/src/agent/media-generation/runtime-shared.js.map +0 -1
  1784. package/dist/src/agent/memory/agent-message-access.js.map +0 -1
  1785. package/dist/src/agent/memory/builtin-memory-store.js.map +0 -1
  1786. package/dist/src/agent/memory/builtin-provider.js.map +0 -1
  1787. package/dist/src/agent/memory/compaction.js.map +0 -1
  1788. package/dist/src/agent/memory/context/planner.js.map +0 -1
  1789. package/dist/src/agent/memory/context-fence.js.map +0 -1
  1790. package/dist/src/agent/memory/create-memory-manager.js.map +0 -1
  1791. package/dist/src/agent/memory/dreaming/config.js.map +0 -1
  1792. package/dist/src/agent/memory/dreaming/constants.js.map +0 -1
  1793. package/dist/src/agent/memory/dreaming/deep-promotion.js.map +0 -1
  1794. package/dist/src/agent/memory/dreaming/events.js.map +0 -1
  1795. package/dist/src/agent/memory/dreaming/last-run.js.map +0 -1
  1796. package/dist/src/agent/memory/dreaming/light-sweep.js.map +0 -1
  1797. package/dist/src/agent/memory/dreaming/preview.js.map +0 -1
  1798. package/dist/src/agent/memory/dreaming/promotion-lifecycle.js.map +0 -1
  1799. package/dist/src/agent/memory/dreaming/rem-patterns.js.map +0 -1
  1800. package/dist/src/agent/memory/dreaming/scope.js.map +0 -1
  1801. package/dist/src/agent/memory/dreaming/short-term-store.js.map +0 -1
  1802. package/dist/src/agent/memory/dreaming/utils.js.map +0 -1
  1803. package/dist/src/agent/memory/lifecycle.js.map +0 -1
  1804. package/dist/src/agent/memory/manager.js.map +0 -1
  1805. package/dist/src/agent/memory/memory-config.js.map +0 -1
  1806. package/dist/src/agent/memory/message-sanitizer.js.map +0 -1
  1807. package/dist/src/agent/memory/plugin-discovery.js.map +0 -1
  1808. package/dist/src/agent/memory/sensitivity.js.map +0 -1
  1809. package/dist/src/agent/memory/source-origin.js.map +0 -1
  1810. package/dist/src/agent/memory/stub-memory-provider.js.map +0 -1
  1811. package/dist/src/agent/memory/summary-generator.js.map +0 -1
  1812. package/dist/src/agent/memory/understanding/correction.js.map +0 -1
  1813. package/dist/src/agent/memory/understanding/quality.js.map +0 -1
  1814. package/dist/src/agent/memory/understanding/service.js.map +0 -1
  1815. package/dist/src/agent/memory/user-context-coordinator.js.map +0 -1
  1816. package/dist/src/agent/memory/user-message-text.js.map +0 -1
  1817. package/dist/src/agent/memory/window.js.map +0 -1
  1818. package/dist/src/agent/messaging/command-handler.js.map +0 -1
  1819. package/dist/src/agent/messaging/message-router.js.map +0 -1
  1820. package/dist/src/agent/messaging/outbound-coordinator.js.map +0 -1
  1821. package/dist/src/agent/messaging/stream-manager.js.map +0 -1
  1822. package/dist/src/agent/middleware/context.js.map +0 -1
  1823. package/dist/src/agent/middleware/self-verify.js.map +0 -1
  1824. package/dist/src/agent/models/manager.js.map +0 -1
  1825. package/dist/src/agent/models/request-limiter.js.map +0 -1
  1826. package/dist/src/agent/models/selection.js.map +0 -1
  1827. package/dist/src/agent/orchestration/agent-event-handler.js.map +0 -1
  1828. package/dist/src/agent/orchestration/agent-orchestrator.js.map +0 -1
  1829. package/dist/src/agent/orchestration/llm-turn-retry.js.map +0 -1
  1830. package/dist/src/agent/orchestration/loop-guard.js.map +0 -1
  1831. package/dist/src/agent/orchestration/run-agent-turn-with-timeout.js.map +0 -1
  1832. package/dist/src/agent/prompt/cache-boundary.js.map +0 -1
  1833. package/dist/src/agent/prompt/memory/index.js.map +0 -1
  1834. package/dist/src/agent/prompt/safety.js.map +0 -1
  1835. package/dist/src/agent/prompt/sanitize-for-prompt.js.map +0 -1
  1836. package/dist/src/agent/prompt/sections/behavior.js.map +0 -1
  1837. package/dist/src/agent/prompt/sections/memory-skills.js.map +0 -1
  1838. package/dist/src/agent/prompt/sections/messaging-runtime.js.map +0 -1
  1839. package/dist/src/agent/prompt/sections/project-context.js.map +0 -1
  1840. package/dist/src/agent/prompt/sections/tooling.js.map +0 -1
  1841. package/dist/src/agent/prompt/sections/workspace-runtime.js.map +0 -1
  1842. package/dist/src/agent/prompt/service-prompt-builder.js.map +0 -1
  1843. package/dist/src/agent/prompt/subagent-context.js.map +0 -1
  1844. package/dist/src/agent/prompt/system-prompt-params.js.map +0 -1
  1845. package/dist/src/agent/prompt/system-prompt.js.map +0 -1
  1846. package/dist/src/agent/prompt/system-reminder.js.map +0 -1
  1847. package/dist/src/agent/reply/apply-turn-user-enrichment.js.map +0 -1
  1848. package/dist/src/agent/reply/post-compaction-context.js.map +0 -1
  1849. package/dist/src/agent/reply/startup-context.js.map +0 -1
  1850. package/dist/src/agent/reply/workspace-boundary-read.js.map +0 -1
  1851. package/dist/src/agent/sandbox/command-validator.js.map +0 -1
  1852. package/dist/src/agent/sandbox/exec-policy.js.map +0 -1
  1853. package/dist/src/agent/sandbox/path-policy.js.map +0 -1
  1854. package/dist/src/agent/sandbox/sanitize-env-vars.js.map +0 -1
  1855. package/dist/src/agent/sandbox/types.js.map +0 -1
  1856. package/dist/src/agent/service/async-queue.js.map +0 -1
  1857. package/dist/src/agent/service/btw-query.js.map +0 -1
  1858. package/dist/src/agent/service/build-direct-message-content.js.map +0 -1
  1859. package/dist/src/agent/service/direct-turn-helpers.js.map +0 -1
  1860. package/dist/src/agent/service/parse-outbound-session-key.js.map +0 -1
  1861. package/dist/src/agent/service/process-direct-one-shot.js.map +0 -1
  1862. package/dist/src/agent/service/process-direct-streaming.js.map +0 -1
  1863. package/dist/src/agent/service/session-context-report.js.map +0 -1
  1864. package/dist/src/agent/service/webchat-tts.js.map +0 -1
  1865. package/dist/src/agent/service-inbound-utils.js.map +0 -1
  1866. package/dist/src/agent/service.js.map +0 -1
  1867. package/dist/src/agent/session/session-config-service.js.map +0 -1
  1868. package/dist/src/agent/session/session-context.js.map +0 -1
  1869. package/dist/src/agent/session/session-hydrator.js.map +0 -1
  1870. package/dist/src/agent/session/session-inspector.js.map +0 -1
  1871. package/dist/src/agent/session/session-lifecycle.js.map +0 -1
  1872. package/dist/src/agent/session/session-state-bag.js.map +0 -1
  1873. package/dist/src/agent/session/tracker.js.map +0 -1
  1874. package/dist/src/agent/skills/config.js.map +0 -1
  1875. package/dist/src/agent/skills/filesystem-watcher.js.map +0 -1
  1876. package/dist/src/agent/skills/format-skills-prompt.js.map +0 -1
  1877. package/dist/src/agent/skills/hub-hash.js.map +0 -1
  1878. package/dist/src/agent/skills/hub-lock.js.map +0 -1
  1879. package/dist/src/agent/skills/hub-pull.js.map +0 -1
  1880. package/dist/src/agent/skills/index.js.map +0 -1
  1881. package/dist/src/agent/skills/install-target.js.map +0 -1
  1882. package/dist/src/agent/skills/installer.js.map +0 -1
  1883. package/dist/src/agent/skills/managed-store.js.map +0 -1
  1884. package/dist/src/agent/skills/marketplace/adapters/clawhub/adapter.js.map +0 -1
  1885. package/dist/src/agent/skills/marketplace/adapters/skillhub/adapter.js.map +0 -1
  1886. package/dist/src/agent/skills/marketplace/adapters/store/adapter.js.map +0 -1
  1887. package/dist/src/agent/skills/marketplace/adapters/store/store-api-client.js.map +0 -1
  1888. package/dist/src/agent/skills/marketplace/marketplace-category-order.js.map +0 -1
  1889. package/dist/src/agent/skills/marketplace/registry.js.map +0 -1
  1890. package/dist/src/agent/skills/marketplace/resolve-adapter.js.map +0 -1
  1891. package/dist/src/agent/skills/parse-skill-metadata.js.map +0 -1
  1892. package/dist/src/agent/skills/required-env-vars.js.map +0 -1
  1893. package/dist/src/agent/skills/scanner.js.map +0 -1
  1894. package/dist/src/agent/skills/skill-manage-ops.js.map +0 -1
  1895. package/dist/src/agent/skills/skill-manager.js.map +0 -1
  1896. package/dist/src/agent/skills/skill-markdown-preview-from-raw.js.map +0 -1
  1897. package/dist/src/agent/skills/skill-tool-gating.js.map +0 -1
  1898. package/dist/src/agent/skills/skill-view-path.js.map +0 -1
  1899. package/dist/src/agent/skills/skills-marketplace.js.map +0 -1
  1900. package/dist/src/agent/skills/test-framework.js.map +0 -1
  1901. package/dist/src/agent/skills/watcher.js.map +0 -1
  1902. package/dist/src/agent/skills/workspace-skills-dir.js.map +0 -1
  1903. package/dist/src/agent/source-context/injector.js.map +0 -1
  1904. package/dist/src/agent/source-context/types.js.map +0 -1
  1905. package/dist/src/agent/starter-agents.js.map +0 -1
  1906. package/dist/src/agent/streaming/reasoning-visibility-sse.js.map +0 -1
  1907. package/dist/src/agent/tool-manuals/browser.js.map +0 -1
  1908. package/dist/src/agent/tool-manuals/index.js.map +0 -1
  1909. package/dist/src/agent/tool-manuals/xopc-use.js.map +0 -1
  1910. package/dist/src/agent/tools/apply-patch.js.map +0 -1
  1911. package/dist/src/agent/tools/automation-tool.js.map +0 -1
  1912. package/dist/src/agent/tools/browser/tool/browser-use-tool.js.map +0 -1
  1913. package/dist/src/agent/tools/browser/tool/schemas.js.map +0 -1
  1914. package/dist/src/agent/tools/chain-tracker.js.map +0 -1
  1915. package/dist/src/agent/tools/clarify-tool.js.map +0 -1
  1916. package/dist/src/agent/tools/cli-clarify.js.map +0 -1
  1917. package/dist/src/agent/tools/communication.js.map +0 -1
  1918. package/dist/src/agent/tools/composio-tool.js.map +0 -1
  1919. package/dist/src/agent/tools/concurrency.js.map +0 -1
  1920. package/dist/src/agent/tools/create-share-tool.js.map +0 -1
  1921. package/dist/src/agent/tools/curated-memory-tool.js.map +0 -1
  1922. package/dist/src/agent/tools/delegate-tool.js.map +0 -1
  1923. package/dist/src/agent/tools/desktop-pet-tool.js.map +0 -1
  1924. package/dist/src/agent/tools/dreaming-tool.js.map +0 -1
  1925. package/dist/src/agent/tools/edit-diff.js.map +0 -1
  1926. package/dist/src/agent/tools/error-pattern-matcher.js.map +0 -1
  1927. package/dist/src/agent/tools/error-tracker.js.map +0 -1
  1928. package/dist/src/agent/tools/exec-command.js.map +0 -1
  1929. package/dist/src/agent/tools/execute-code-tool.js.map +0 -1
  1930. package/dist/src/agent/tools/executor.js.map +0 -1
  1931. package/dist/src/agent/tools/factory.js.map +0 -1
  1932. package/dist/src/agent/tools/find.js.map +0 -1
  1933. package/dist/src/agent/tools/goal-evidence-recorder.js.map +0 -1
  1934. package/dist/src/agent/tools/goal-tool.js.map +0 -1
  1935. package/dist/src/agent/tools/grep.js.map +0 -1
  1936. package/dist/src/agent/tools/image-generate-tool.js.map +0 -1
  1937. package/dist/src/agent/tools/image-tool.js.map +0 -1
  1938. package/dist/src/agent/tools/list-dir.js.map +0 -1
  1939. package/dist/src/agent/tools/media-read-tool.js.map +0 -1
  1940. package/dist/src/agent/tools/memory-tool.js.map +0 -1
  1941. package/dist/src/agent/tools/metadata.js.map +0 -1
  1942. package/dist/src/agent/tools/read.js.map +0 -1
  1943. package/dist/src/agent/tools/search/http.js.map +0 -1
  1944. package/dist/src/agent/tools/search/providers/bing-api.js.map +0 -1
  1945. package/dist/src/agent/tools/search/providers/bing-html.js.map +0 -1
  1946. package/dist/src/agent/tools/search/providers/brave.js.map +0 -1
  1947. package/dist/src/agent/tools/search/providers/duckduckgo-html.js.map +0 -1
  1948. package/dist/src/agent/tools/search/providers/searxng.js.map +0 -1
  1949. package/dist/src/agent/tools/search/providers/tavily.js.map +0 -1
  1950. package/dist/src/agent/tools/search/region.js.map +0 -1
  1951. package/dist/src/agent/tools/search/registry.js.map +0 -1
  1952. package/dist/src/agent/tools/search/resolve-config.js.map +0 -1
  1953. package/dist/src/agent/tools/send-media.js.map +0 -1
  1954. package/dist/src/agent/tools/session-search-tool.js.map +0 -1
  1955. package/dist/src/agent/tools/session-status-tool.js.map +0 -1
  1956. package/dist/src/agent/tools/skill-install-tool.js.map +0 -1
  1957. package/dist/src/agent/tools/skill-manage-tool.js.map +0 -1
  1958. package/dist/src/agent/tools/skills-tools.js.map +0 -1
  1959. package/dist/src/agent/tools/structured-output.js.map +0 -1
  1960. package/dist/src/agent/tools/todo-tool.js.map +0 -1
  1961. package/dist/src/agent/tools/tool-manual-tool.js.map +0 -1
  1962. package/dist/src/agent/tools/tool-paths.js.map +0 -1
  1963. package/dist/src/agent/tools/truncate.js.map +0 -1
  1964. package/dist/src/agent/tools/tts-tool.js.map +0 -1
  1965. package/dist/src/agent/tools/update-plan-tool.js.map +0 -1
  1966. package/dist/src/agent/tools/url-safety.js.map +0 -1
  1967. package/dist/src/agent/tools/usage-analyzer.js.map +0 -1
  1968. package/dist/src/agent/tools/web-extract.js.map +0 -1
  1969. package/dist/src/agent/tools/web.js.map +0 -1
  1970. package/dist/src/agent/tools/workflow-tool.js.map +0 -1
  1971. package/dist/src/agent/tools/write.js.map +0 -1
  1972. package/dist/src/agent/tools/xopc-use-tool.js.map +0 -1
  1973. package/dist/src/agent/transcript/google-api.js.map +0 -1
  1974. package/dist/src/agent/transcript/model-selection.js.map +0 -1
  1975. package/dist/src/agent/transcript/provider-capabilities.js.map +0 -1
  1976. package/dist/src/agent/transcript/session-transcript-repair.js.map +0 -1
  1977. package/dist/src/agent/transcript/strip-tool-messages.js.map +0 -1
  1978. package/dist/src/agent/transcript/thinking-types.js.map +0 -1
  1979. package/dist/src/agent/transcript/thinking.js.map +0 -1
  1980. package/dist/src/agent/transcript/tool-call-id.js.map +0 -1
  1981. package/dist/src/agent/transcript/transcript-hygiene.js.map +0 -1
  1982. package/dist/src/agent/transcript/transcript-policy.js.map +0 -1
  1983. package/dist/src/agent/workflow/agent-progress.js.map +0 -1
  1984. package/dist/src/agent/workflow/builtins/index.js.map +0 -1
  1985. package/dist/src/agent/workflow/catalog.js.map +0 -1
  1986. package/dist/src/agent/workflow/progress-broker.js.map +0 -1
  1987. package/dist/src/agent/workflow/snapshot-empty.js.map +0 -1
  1988. package/dist/src/agent/workflow/snapshot.js.map +0 -1
  1989. package/dist/src/agent/workflow/step-labels.js.map +0 -1
  1990. package/dist/src/agent/workflow/structured-output-tool.js.map +0 -1
  1991. package/dist/src/agent/workflow/subagent-runner.js.map +0 -1
  1992. package/dist/src/agent/workflow/workflow-child-tools.js.map +0 -1
  1993. package/dist/src/agent/workspace-runtime/registry.js.map +0 -1
  1994. package/dist/src/agent-manifest/index.js.map +0 -1
  1995. package/dist/src/agent-manifest/preset-chain.js.map +0 -1
  1996. package/dist/src/agent-manifest/prompt.js.map +0 -1
  1997. package/dist/src/agent-manifest/resolver.js.map +0 -1
  1998. package/dist/src/agent-manifest/schema.js.map +0 -1
  1999. package/dist/src/agent-manifest/validator.js.map +0 -1
  2000. package/dist/src/agent-runtime/boundary-guard.js.map +0 -1
  2001. package/dist/src/agent-runtime/memory-runtime.js.map +0 -1
  2002. package/dist/src/agent-runtime/model-router.js.map +0 -1
  2003. package/dist/src/agent-runtime/run-trace.js.map +0 -1
  2004. package/dist/src/agent-runtime/runtime-profile.js.map +0 -1
  2005. package/dist/src/agent-runtime/tool-registry.js.map +0 -1
  2006. package/dist/src/agent-runtime/workflow-runtime.js.map +0 -1
  2007. package/dist/src/ai-assist/text-assist.js.map +0 -1
  2008. package/dist/src/auth/credentials.js.map +0 -1
  2009. package/dist/src/auth/index.js.map +0 -1
  2010. package/dist/src/auth/oauth/anthropic.js.map +0 -1
  2011. package/dist/src/auth/oauth/github-copilot.js.map +0 -1
  2012. package/dist/src/auth/oauth/google-oauth/google-antigravity.js.map +0 -1
  2013. package/dist/src/auth/oauth/google-oauth/google-gemini-cli.js.map +0 -1
  2014. package/dist/src/auth/oauth/google-oauth/oauth-page.js.map +0 -1
  2015. package/dist/src/auth/oauth/google-oauth/pkce.js.map +0 -1
  2016. package/dist/src/auth/oauth/kimi-coding.js.map +0 -1
  2017. package/dist/src/auth/oauth/minimax-cn.js.map +0 -1
  2018. package/dist/src/auth/oauth/minimax.js.map +0 -1
  2019. package/dist/src/auth/oauth/openai-codex.js.map +0 -1
  2020. package/dist/src/auth/oauth/pkce.js.map +0 -1
  2021. package/dist/src/auth/profiles/oauth.js.map +0 -1
  2022. package/dist/src/auth/profiles/order.js.map +0 -1
  2023. package/dist/src/auth/profiles/profiles.js.map +0 -1
  2024. package/dist/src/auth/profiles/store.js.map +0 -1
  2025. package/dist/src/auth/sync-provider-auth.js.map +0 -1
  2026. package/dist/src/automations/api/routes.js.map +0 -1
  2027. package/dist/src/automations/domain/schedule.js.map +0 -1
  2028. package/dist/src/automations/domain/validation.js.map +0 -1
  2029. package/dist/src/automations/draft/automation-draft-prompt.js.map +0 -1
  2030. package/dist/src/automations/draft/automation-draft-service.js.map +0 -1
  2031. package/dist/src/automations/draft/automation-draft-validator.js.map +0 -1
  2032. package/dist/src/automations/product-events.js.map +0 -1
  2033. package/dist/src/automations/service/action-executor.js.map +0 -1
  2034. package/dist/src/automations/service/automation-service.js.map +0 -1
  2035. package/dist/src/automations/storage/automation-repository.js.map +0 -1
  2036. package/dist/src/automations/storage/automation-run-repository.js.map +0 -1
  2037. package/dist/src/browser/actions/extension-registry-bridge.js.map +0 -1
  2038. package/dist/src/browser/actions/registry.js.map +0 -1
  2039. package/dist/src/browser/backend-from-config.js.map +0 -1
  2040. package/dist/src/browser/browser-command-timeout.js.map +0 -1
  2041. package/dist/src/browser/cache-dir-policy.js.map +0 -1
  2042. package/dist/src/browser/cdp-local-launcher.js.map +0 -1
  2043. package/dist/src/browser/cdp-supervisor.js.map +0 -1
  2044. package/dist/src/browser/free-port.js.map +0 -1
  2045. package/dist/src/browser/humanize.js.map +0 -1
  2046. package/dist/src/browser/install-lock.js.map +0 -1
  2047. package/dist/src/browser/manager.js.map +0 -1
  2048. package/dist/src/browser/pipeline/output.js.map +0 -1
  2049. package/dist/src/browser/pipeline/runner.js.map +0 -1
  2050. package/dist/src/browser/pipeline/schema.js.map +0 -1
  2051. package/dist/src/browser/pipeline/source.js.map +0 -1
  2052. package/dist/src/browser/pipeline/template.js.map +0 -1
  2053. package/dist/src/browser/providers/browser-ext-install.js.map +0 -1
  2054. package/dist/src/browser/providers/browser-use.js.map +0 -1
  2055. package/dist/src/browser/providers/browserbase.js.map +0 -1
  2056. package/dist/src/browser/providers/cloakbrowser.js.map +0 -1
  2057. package/dist/src/browser/providers/extension-ws-acquire.js.map +0 -1
  2058. package/dist/src/browser/providers/extension.js.map +0 -1
  2059. package/dist/src/browser/providers/playwright-doctor.js.map +0 -1
  2060. package/dist/src/browser/providers/playwright-install.js.map +0 -1
  2061. package/dist/src/browser/readiness.js.map +0 -1
  2062. package/dist/src/browser/schemas.js.map +0 -1
  2063. package/dist/src/browser/session-lifecycle.js.map +0 -1
  2064. package/dist/src/browser/snapshot-helpers.js.map +0 -1
  2065. package/dist/src/browser/stealth.js.map +0 -1
  2066. package/dist/src/browser/url-policy.js.map +0 -1
  2067. package/dist/src/capabilities/store-connector.js.map +0 -1
  2068. package/dist/src/channels/attachments/attachment-classifiers.js.map +0 -1
  2069. package/dist/src/channels/attachments/inbound-persist.js.map +0 -1
  2070. package/dist/src/channels/attachments/inbound-types.js.map +0 -1
  2071. package/dist/src/channels/attachments/outbound-tts-persist.js.map +0 -1
  2072. package/dist/src/channels/attachments/voice-stt-webchat.js.map +0 -1
  2073. package/dist/src/channels/catalog/channel-catalog-service.js.map +0 -1
  2074. package/dist/src/channels/config-helpers.js.map +0 -1
  2075. package/dist/src/channels/envelope-timestamp.js.map +0 -1
  2076. package/dist/src/channels/exec-approval-runtime.js.map +0 -1
  2077. package/dist/src/channels/health-monitor.js.map +0 -1
  2078. package/dist/src/channels/heartbeat-scheduler.js.map +0 -1
  2079. package/dist/src/channels/internal-outbound.js.map +0 -1
  2080. package/dist/src/channels/lifecycle-supervisor.js.map +0 -1
  2081. package/dist/src/channels/manager.js.map +0 -1
  2082. package/dist/src/channels/media.js.map +0 -1
  2083. package/dist/src/channels/outbound/deliver.js.map +0 -1
  2084. package/dist/src/channels/outbound/normalize.js.map +0 -1
  2085. package/dist/src/channels/outbound/persist-store.js.map +0 -1
  2086. package/dist/src/channels/outbound/queue.js.map +0 -1
  2087. package/dist/src/channels/outbound-sender.js.map +0 -1
  2088. package/dist/src/channels/pairing/allow-from-file.js.map +0 -1
  2089. package/dist/src/channels/pairing/approve-cli.js.map +0 -1
  2090. package/dist/src/channels/pairing/pairing-challenge.js.map +0 -1
  2091. package/dist/src/channels/pairing/pairing-constants.js.map +0 -1
  2092. package/dist/src/channels/pairing/pairing-events.js.map +0 -1
  2093. package/dist/src/channels/pairing/pairing-messages.js.map +0 -1
  2094. package/dist/src/channels/pairing/pairing-service.js.map +0 -1
  2095. package/dist/src/channels/pairing/pairing-store-adapter.js.map +0 -1
  2096. package/dist/src/channels/pairing/pairing-store.js.map +0 -1
  2097. package/dist/src/channels/pairing/paths.js.map +0 -1
  2098. package/dist/src/channels/pairing/preseed-allow-from.js.map +0 -1
  2099. package/dist/src/channels/pipeline.js.map +0 -1
  2100. package/dist/src/channels/plugin-registry.js.map +0 -1
  2101. package/dist/src/channels/plugins/registry.js.map +0 -1
  2102. package/dist/src/channels/restart-policy.js.map +0 -1
  2103. package/dist/src/channels/security-helpers.js.map +0 -1
  2104. package/dist/src/channels/security.js.map +0 -1
  2105. package/dist/src/channels/setup-wizard-discovery.js.map +0 -1
  2106. package/dist/src/chat-commands/agent-edit.js.map +0 -1
  2107. package/dist/src/chat-commands/builtins/config.js.map +0 -1
  2108. package/dist/src/chat-commands/builtins/context.js.map +0 -1
  2109. package/dist/src/chat-commands/builtins/goal.js.map +0 -1
  2110. package/dist/src/chat-commands/builtins/model.js.map +0 -1
  2111. package/dist/src/chat-commands/builtins/review.js.map +0 -1
  2112. package/dist/src/chat-commands/builtins/session.js.map +0 -1
  2113. package/dist/src/chat-commands/builtins/skill.js.map +0 -1
  2114. package/dist/src/chat-commands/builtins/subgoal.js.map +0 -1
  2115. package/dist/src/chat-commands/builtins/system.js.map +0 -1
  2116. package/dist/src/chat-commands/builtins/thinking.js.map +0 -1
  2117. package/dist/src/chat-commands/builtins/tts.js.map +0 -1
  2118. package/dist/src/chat-commands/builtins/workflow.js.map +0 -1
  2119. package/dist/src/chat-commands/command-parse.js.map +0 -1
  2120. package/dist/src/chat-commands/config-paths.js.map +0 -1
  2121. package/dist/src/chat-commands/config-value.js.map +0 -1
  2122. package/dist/src/chat-commands/context.js.map +0 -1
  2123. package/dist/src/chat-commands/format-output.js.map +0 -1
  2124. package/dist/src/chat-commands/index.js.map +0 -1
  2125. package/dist/src/chat-commands/processor.js.map +0 -1
  2126. package/dist/src/chat-commands/registry.js.map +0 -1
  2127. package/dist/src/chat-commands/session-key.js.map +0 -1
  2128. package/dist/src/cli/argv-invocation.js.map +0 -1
  2129. package/dist/src/cli/argv.js.map +0 -1
  2130. package/dist/src/cli/bin.js.map +0 -1
  2131. package/dist/src/cli/cli-log-level-preset.js.map +0 -1
  2132. package/dist/src/cli/command-catalog.js.map +0 -1
  2133. package/dist/src/cli/command-loaders.js.map +0 -1
  2134. package/dist/src/cli/command-manifest.js.map +0 -1
  2135. package/dist/src/cli/command-path-matches.js.map +0 -1
  2136. package/dist/src/cli/command-path-policy.js.map +0 -1
  2137. package/dist/src/cli/command-startup-policy.js.map +0 -1
  2138. package/dist/src/cli/commands/agent/interactive.js.map +0 -1
  2139. package/dist/src/cli/commands/agent/sessions.js.map +0 -1
  2140. package/dist/src/cli/commands/agent/stream-renderer.js.map +0 -1
  2141. package/dist/src/cli/commands/agent.js.map +0 -1
  2142. package/dist/src/cli/commands/agents.js.map +0 -1
  2143. package/dist/src/cli/commands/auth.js.map +0 -1
  2144. package/dist/src/cli/commands/browser-cli-helpers.js.map +0 -1
  2145. package/dist/src/cli/commands/browser.js.map +0 -1
  2146. package/dist/src/cli/commands/channels.js.map +0 -1
  2147. package/dist/src/cli/commands/config.js.map +0 -1
  2148. package/dist/src/cli/commands/connectors.js.map +0 -1
  2149. package/dist/src/cli/commands/doctor/checks/channel-config.js.map +0 -1
  2150. package/dist/src/cli/commands/doctor/checks/channel-pairing-pending.js.map +0 -1
  2151. package/dist/src/cli/commands/doctor/checks/channel-plugins.js.map +0 -1
  2152. package/dist/src/cli/commands/doctor/checks/config-health.js.map +0 -1
  2153. package/dist/src/cli/commands/doctor/checks/database-schema.js.map +0 -1
  2154. package/dist/src/cli/commands/doctor/checks/gateway-health.js.map +0 -1
  2155. package/dist/src/cli/commands/doctor/checks/gateway-service.js.map +0 -1
  2156. package/dist/src/cli/commands/doctor/checks/migrations.js.map +0 -1
  2157. package/dist/src/cli/commands/doctor/checks/node-version.js.map +0 -1
  2158. package/dist/src/cli/commands/doctor/checks/provider-auth.js.map +0 -1
  2159. package/dist/src/cli/commands/doctor/checks/security-audit.js.map +0 -1
  2160. package/dist/src/cli/commands/doctor/checks/session-integrity.js.map +0 -1
  2161. package/dist/src/cli/commands/doctor/checks/state-integrity.js.map +0 -1
  2162. package/dist/src/cli/commands/doctor/checks/version-check.js.map +0 -1
  2163. package/dist/src/cli/commands/doctor/checks/workspace-status.js.map +0 -1
  2164. package/dist/src/cli/commands/doctor/flow.js.map +0 -1
  2165. package/dist/src/cli/commands/doctor/format.js.map +0 -1
  2166. package/dist/src/cli/commands/doctor/index.js.map +0 -1
  2167. package/dist/src/cli/commands/extension-create.js.map +0 -1
  2168. package/dist/src/cli/commands/extension-dev.js.map +0 -1
  2169. package/dist/src/cli/commands/extension-marketplace.js.map +0 -1
  2170. package/dist/src/cli/commands/extension-pack.js.map +0 -1
  2171. package/dist/src/cli/commands/extension.js.map +0 -1
  2172. package/dist/src/cli/commands/gateway/call.js.map +0 -1
  2173. package/dist/src/cli/commands/gateway/health.js.map +0 -1
  2174. package/dist/src/cli/commands/gateway/lifecycle-core.js.map +0 -1
  2175. package/dist/src/cli/commands/gateway/lifecycle.js.map +0 -1
  2176. package/dist/src/cli/commands/gateway/logs.js.map +0 -1
  2177. package/dist/src/cli/commands/gateway/probe.js.map +0 -1
  2178. package/dist/src/cli/commands/gateway/restart-health.js.map +0 -1
  2179. package/dist/src/cli/commands/gateway/restart.js.map +0 -1
  2180. package/dist/src/cli/commands/gateway/run-foreground.js.map +0 -1
  2181. package/dist/src/cli/commands/gateway/service.js.map +0 -1
  2182. package/dist/src/cli/commands/gateway/shared.js.map +0 -1
  2183. package/dist/src/cli/commands/gateway/status.js.map +0 -1
  2184. package/dist/src/cli/commands/gateway/stop.js.map +0 -1
  2185. package/dist/src/cli/commands/gateway/subcommands.js.map +0 -1
  2186. package/dist/src/cli/commands/gateway/token.js.map +0 -1
  2187. package/dist/src/cli/commands/gateway-ssh-tunnel.js.map +0 -1
  2188. package/dist/src/cli/commands/gateway.js.map +0 -1
  2189. package/dist/src/cli/commands/goal.js.map +0 -1
  2190. package/dist/src/cli/commands/image.js.map +0 -1
  2191. package/dist/src/cli/commands/init.js.map +0 -1
  2192. package/dist/src/cli/commands/logs.js.map +0 -1
  2193. package/dist/src/cli/commands/models.js.map +0 -1
  2194. package/dist/src/cli/commands/onboard/channels/index.js.map +0 -1
  2195. package/dist/src/cli/commands/onboard/channels/onboard-to-configurator.js.map +0 -1
  2196. package/dist/src/cli/commands/onboard/channels/registry.js.map +0 -1
  2197. package/dist/src/cli/commands/onboard/channels/wizard-to-configurator.js.map +0 -1
  2198. package/dist/src/cli/commands/onboard/gateway.js.map +0 -1
  2199. package/dist/src/cli/commands/onboard/model.js.map +0 -1
  2200. package/dist/src/cli/commands/onboard.js.map +0 -1
  2201. package/dist/src/cli/commands/profile.js.map +0 -1
  2202. package/dist/src/cli/commands/project.js.map +0 -1
  2203. package/dist/src/cli/commands/providers.js.map +0 -1
  2204. package/dist/src/cli/commands/resume.js.map +0 -1
  2205. package/dist/src/cli/commands/search.js.map +0 -1
  2206. package/dist/src/cli/commands/session/actions.js.map +0 -1
  2207. package/dist/src/cli/commands/session/utils.js.map +0 -1
  2208. package/dist/src/cli/commands/session.js.map +0 -1
  2209. package/dist/src/cli/commands/setup-shared/output.js.map +0 -1
  2210. package/dist/src/cli/commands/setup-shared/prompts.js.map +0 -1
  2211. package/dist/src/cli/commands/setup-shared/runner.js.map +0 -1
  2212. package/dist/src/cli/commands/setup-shared/types.js.map +0 -1
  2213. package/dist/src/cli/commands/setup.js.map +0 -1
  2214. package/dist/src/cli/commands/skills-test.js.map +0 -1
  2215. package/dist/src/cli/commands/skills.js.map +0 -1
  2216. package/dist/src/cli/commands/tailscale.js.map +0 -1
  2217. package/dist/src/cli/commands/tui-runner.js.map +0 -1
  2218. package/dist/src/cli/commands/tui.js.map +0 -1
  2219. package/dist/src/cli/commands/tunnel.js.map +0 -1
  2220. package/dist/src/cli/commands/update.js.map +0 -1
  2221. package/dist/src/cli/commands/voice.js.map +0 -1
  2222. package/dist/src/cli/context.js.map +0 -1
  2223. package/dist/src/cli/extension-cli-register.js.map +0 -1
  2224. package/dist/src/cli/gateway-run-argv.js.map +0 -1
  2225. package/dist/src/cli/gateway-run-fast-path.js.map +0 -1
  2226. package/dist/src/cli/index.js.map +0 -1
  2227. package/dist/src/cli/registry.js.map +0 -1
  2228. package/dist/src/cli/templates.js.map +0 -1
  2229. package/dist/src/cli/utils/colors.js.map +0 -1
  2230. package/dist/src/cli/utils/gateway-client-options.js.map +0 -1
  2231. package/dist/src/cli/utils/gateway-client.js.map +0 -1
  2232. package/dist/src/cli/utils/init-workspace-core.js.map +0 -1
  2233. package/dist/src/cli/utils/init-workspace.js.map +0 -1
  2234. package/dist/src/cli/utils/oauth-login.js.map +0 -1
  2235. package/dist/src/cli/utils/oauth-providers.js.map +0 -1
  2236. package/dist/src/cli/utils/session.js.map +0 -1
  2237. package/dist/src/commands/agents.config.js.map +0 -1
  2238. package/dist/src/config/agent-profile.js.map +0 -1
  2239. package/dist/src/config/agent-typed-models.js.map +0 -1
  2240. package/dist/src/config/commands.flags.js.map +0 -1
  2241. package/dist/src/config/default-model.js.map +0 -1
  2242. package/dist/src/config/diff.js.map +0 -1
  2243. package/dist/src/config/gateway-bind.js.map +0 -1
  2244. package/dist/src/config/index.js.map +0 -1
  2245. package/dist/src/config/loader.js.map +0 -1
  2246. package/dist/src/config/mcp-config-normalize.js.map +0 -1
  2247. package/dist/src/config/model-input.js.map +0 -1
  2248. package/dist/src/config/models-json.js.map +0 -1
  2249. package/dist/src/config/paths-state.js.map +0 -1
  2250. package/dist/src/config/paths.js.map +0 -1
  2251. package/dist/src/config/profile.js.map +0 -1
  2252. package/dist/src/config/public-url.js.map +0 -1
  2253. package/dist/src/config/reload.js.map +0 -1
  2254. package/dist/src/config/resolve-config-value.js.map +0 -1
  2255. package/dist/src/config/rules.js.map +0 -1
  2256. package/dist/src/config/runtime-overrides.js.map +0 -1
  2257. package/dist/src/config/schema.js.map +0 -1
  2258. package/dist/src/config/validate-channel-configs.js.map +0 -1
  2259. package/dist/src/config/voice.js.map +0 -1
  2260. package/dist/src/config/web-patch.js.map +0 -1
  2261. package/dist/src/config/workspace-defaults.js.map +0 -1
  2262. package/dist/src/config/workspace-dirs.js.map +0 -1
  2263. package/dist/src/config/workspace-path-helpers.js.map +0 -1
  2264. package/dist/src/config/workspace-path.js.map +0 -1
  2265. package/dist/src/connectors/approval.js.map +0 -1
  2266. package/dist/src/connectors/auth-provider-registry.js.map +0 -1
  2267. package/dist/src/connectors/builtin-catalog.js.map +0 -1
  2268. package/dist/src/connectors/catalog.js.map +0 -1
  2269. package/dist/src/connectors/composio-catalog.js.map +0 -1
  2270. package/dist/src/connectors/composio-logo.js.map +0 -1
  2271. package/dist/src/connectors/composio-sessions.js.map +0 -1
  2272. package/dist/src/connectors/composio-triggers.js.map +0 -1
  2273. package/dist/src/connectors/composio.js.map +0 -1
  2274. package/dist/src/connectors/connector-memory-sync.js.map +0 -1
  2275. package/dist/src/connectors/health.js.map +0 -1
  2276. package/dist/src/connectors/install.js.map +0 -1
  2277. package/dist/src/connectors/instances.js.map +0 -1
  2278. package/dist/src/connectors/integration-strategy.js.map +0 -1
  2279. package/dist/src/connectors/lifecycle.js.map +0 -1
  2280. package/dist/src/connectors/materialize.js.map +0 -1
  2281. package/dist/src/connectors/policy.js.map +0 -1
  2282. package/dist/src/connectors/providers.js.map +0 -1
  2283. package/dist/src/connectors/registries/modelscope.js.map +0 -1
  2284. package/dist/src/connectors/registries/official-mcp.js.map +0 -1
  2285. package/dist/src/connectors/registries/search.js.map +0 -1
  2286. package/dist/src/connectors/registries/smithery.js.map +0 -1
  2287. package/dist/src/connectors/runtime-adapter-registry.js.map +0 -1
  2288. package/dist/src/connectors/secret-store.js.map +0 -1
  2289. package/dist/src/connectors/setup-secrets.js.map +0 -1
  2290. package/dist/src/connectors/supervisor.js.map +0 -1
  2291. package/dist/src/connectors/usage.js.map +0 -1
  2292. package/dist/src/connectors/workflow-preflight.js.map +0 -1
  2293. package/dist/src/daemon/constants.js.map +0 -1
  2294. package/dist/src/daemon/install-plan.js.map +0 -1
  2295. package/dist/src/daemon/launchd.js.map +0 -1
  2296. package/dist/src/daemon/schtasks.js.map +0 -1
  2297. package/dist/src/daemon/service-audit.js.map +0 -1
  2298. package/dist/src/daemon/service.js.map +0 -1
  2299. package/dist/src/daemon/systemd.js.map +0 -1
  2300. package/dist/src/document-understanding/extract.js.map +0 -1
  2301. package/dist/src/errors/index.js.map +0 -1
  2302. package/dist/src/extensions/activation-context.js.map +0 -1
  2303. package/dist/src/extensions/activation-planner.js.map +0 -1
  2304. package/dist/src/extensions/api.js.map +0 -1
  2305. package/dist/src/extensions/bundle-mcp.js.map +0 -1
  2306. package/dist/src/extensions/bundled-extension-activation.js.map +0 -1
  2307. package/dist/src/extensions/diagnostics.js.map +0 -1
  2308. package/dist/src/extensions/discover-extensions.js.map +0 -1
  2309. package/dist/src/extensions/engine-check.js.map +0 -1
  2310. package/dist/src/extensions/extension-metadata-snapshot.js.map +0 -1
  2311. package/dist/src/extensions/extension-registry-impl.js.map +0 -1
  2312. package/dist/src/extensions/health.js.map +0 -1
  2313. package/dist/src/extensions/hooks.js.map +0 -1
  2314. package/dist/src/extensions/index.js.map +0 -1
  2315. package/dist/src/extensions/install-transaction.js.map +0 -1
  2316. package/dist/src/extensions/install.js.map +0 -1
  2317. package/dist/src/extensions/loader.js.map +0 -1
  2318. package/dist/src/extensions/lockfile.js.map +0 -1
  2319. package/dist/src/extensions/manifest-registry.js.map +0 -1
  2320. package/dist/src/extensions/marketplace.js.map +0 -1
  2321. package/dist/src/extensions/media-provider-contracts.js.map +0 -1
  2322. package/dist/src/extensions/normalize-manifest.js.map +0 -1
  2323. package/dist/src/extensions/onboard-helpers.js.map +0 -1
  2324. package/dist/src/extensions/package-contract.js.map +0 -1
  2325. package/dist/src/extensions/sdk/channel-entry.js.map +0 -1
  2326. package/dist/src/extensions/sdk/channel-helpers.js.map +0 -1
  2327. package/dist/src/extensions/sdk/index.js.map +0 -1
  2328. package/dist/src/extensions/sdk/lazy.js.map +0 -1
  2329. package/dist/src/extensions/sdk/testing.js.map +0 -1
  2330. package/dist/src/extensions/security.js.map +0 -1
  2331. package/dist/src/extensions/slots.js.map +0 -1
  2332. package/dist/src/extensions/speech-provider-contracts.js.map +0 -1
  2333. package/dist/src/extensions/store-zip-limits.js.map +0 -1
  2334. package/dist/src/extensions/typed-event-bus.js.map +0 -1
  2335. package/dist/src/extensions/types/hooks.js.map +0 -1
  2336. package/dist/src/extensions/types/providers.js.map +0 -1
  2337. package/dist/src/extensions/update.js.map +0 -1
  2338. package/dist/src/extensions/when-context.js.map +0 -1
  2339. package/dist/src/extensions/when-expression.js.map +0 -1
  2340. package/dist/src/gateway/agent-builtin-tools.js.map +0 -1
  2341. package/dist/src/gateway/agent-run-relay.js.map +0 -1
  2342. package/dist/src/gateway/agents-admin.js.map +0 -1
  2343. package/dist/src/gateway/auth.js.map +0 -1
  2344. package/dist/src/gateway/capability-presets-admin.js.map +0 -1
  2345. package/dist/src/gateway/chat-limits.js.map +0 -1
  2346. package/dist/src/gateway/chat-stream/mapper.js.map +0 -1
  2347. package/dist/src/gateway/clarify-bridge.js.map +0 -1
  2348. package/dist/src/gateway/clarify-runtime.js.map +0 -1
  2349. package/dist/src/gateway/client-ip.js.map +0 -1
  2350. package/dist/src/gateway/config-tools-web.js.map +0 -1
  2351. package/dist/src/gateway/credential.js.map +0 -1
  2352. package/dist/src/gateway/discovery/mdns.js.map +0 -1
  2353. package/dist/src/gateway/dreaming-automation-reconciler.js.map +0 -1
  2354. package/dist/src/gateway/ensure-network-cors.js.map +0 -1
  2355. package/dist/src/gateway/file-path-classifier.js.map +0 -1
  2356. package/dist/src/gateway/file-reference-registry.js.map +0 -1
  2357. package/dist/src/gateway/global-defaults-admin.js.map +0 -1
  2358. package/dist/src/gateway/heartbeat/service.js.map +0 -1
  2359. package/dist/src/gateway/hono/app.js.map +0 -1
  2360. package/dist/src/gateway/hono/lib/agent-model.js.map +0 -1
  2361. package/dist/src/gateway/hono/lib/config-payload.js.map +0 -1
  2362. package/dist/src/gateway/hono/lib/extension-assets.js.map +0 -1
  2363. package/dist/src/gateway/hono/lib/extension-store.js.map +0 -1
  2364. package/dist/src/gateway/hono/lib/mask-secret-length.js.map +0 -1
  2365. package/dist/src/gateway/hono/lib/route-logger.js.map +0 -1
  2366. package/dist/src/gateway/hono/lib/safe-providers-config.js.map +0 -1
  2367. package/dist/src/gateway/hono/lib/safe-voice-config.js.map +0 -1
  2368. package/dist/src/gateway/hono/lib/startup-unavailable.js.map +0 -1
  2369. package/dist/src/gateway/hono/lib/static-ui.js.map +0 -1
  2370. package/dist/src/gateway/hono/middleware/auth.js.map +0 -1
  2371. package/dist/src/gateway/hono/middleware/log-context.js.map +0 -1
  2372. package/dist/src/gateway/hono/middleware/logger.js.map +0 -1
  2373. package/dist/src/gateway/hono/middleware/route-errors.js.map +0 -1
  2374. package/dist/src/gateway/hono/middleware/scopes.js.map +0 -1
  2375. package/dist/src/gateway/hono/middleware/strict-rate-limit.js.map +0 -1
  2376. package/dist/src/gateway/hono/oauth-async.js.map +0 -1
  2377. package/dist/src/gateway/hono/oauth.js.map +0 -1
  2378. package/dist/src/gateway/hono/routes/activity.js.map +0 -1
  2379. package/dist/src/gateway/hono/routes/agent-stream.js.map +0 -1
  2380. package/dist/src/gateway/hono/routes/agents.js.map +0 -1
  2381. package/dist/src/gateway/hono/routes/ai-assist.js.map +0 -1
  2382. package/dist/src/gateway/hono/routes/auth-registry-extensions.js.map +0 -1
  2383. package/dist/src/gateway/hono/routes/browser-install.js.map +0 -1
  2384. package/dist/src/gateway/hono/routes/browser.js.map +0 -1
  2385. package/dist/src/gateway/hono/routes/capabilities.js.map +0 -1
  2386. package/dist/src/gateway/hono/routes/capability-presets.js.map +0 -1
  2387. package/dist/src/gateway/hono/routes/channels.js.map +0 -1
  2388. package/dist/src/gateway/hono/routes/commands-skills.js.map +0 -1
  2389. package/dist/src/gateway/hono/routes/config-patch/agents.js.map +0 -1
  2390. package/dist/src/gateway/hono/routes/config-patch/channels.js.map +0 -1
  2391. package/dist/src/gateway/hono/routes/config-patch/gateway.js.map +0 -1
  2392. package/dist/src/gateway/hono/routes/config-patch/misc.js.map +0 -1
  2393. package/dist/src/gateway/hono/routes/config-patch/result.js.map +0 -1
  2394. package/dist/src/gateway/hono/routes/config.js.map +0 -1
  2395. package/dist/src/gateway/hono/routes/connectors.js.map +0 -1
  2396. package/dist/src/gateway/hono/routes/doctor.js.map +0 -1
  2397. package/dist/src/gateway/hono/routes/dreaming.js.map +0 -1
  2398. package/dist/src/gateway/hono/routes/exposure.js.map +0 -1
  2399. package/dist/src/gateway/hono/routes/extension-gateway.js.map +0 -1
  2400. package/dist/src/gateway/hono/routes/global-defaults.js.map +0 -1
  2401. package/dist/src/gateway/hono/routes/goals.js.map +0 -1
  2402. package/dist/src/gateway/hono/routes/home.js.map +0 -1
  2403. package/dist/src/gateway/hono/routes/host-fs.js.map +0 -1
  2404. package/dist/src/gateway/hono/routes/index.js.map +0 -1
  2405. package/dist/src/gateway/hono/routes/lazy-bundles.js.map +0 -1
  2406. package/dist/src/gateway/hono/routes/lazy-fallback.js.map +0 -1
  2407. package/dist/src/gateway/hono/routes/local-apps.js.map +0 -1
  2408. package/dist/src/gateway/hono/routes/logs.js.map +0 -1
  2409. package/dist/src/gateway/hono/routes/mcp.js.map +0 -1
  2410. package/dist/src/gateway/hono/routes/media.js.map +0 -1
  2411. package/dist/src/gateway/hono/routes/memory.js.map +0 -1
  2412. package/dist/src/gateway/hono/routes/migrations.js.map +0 -1
  2413. package/dist/src/gateway/hono/routes/mobile.js.map +0 -1
  2414. package/dist/src/gateway/hono/routes/models.js.map +0 -1
  2415. package/dist/src/gateway/hono/routes/notes.js.map +0 -1
  2416. package/dist/src/gateway/hono/routes/projects.js.map +0 -1
  2417. package/dist/src/gateway/hono/routes/public-gateway.js.map +0 -1
  2418. package/dist/src/gateway/hono/routes/search.js.map +0 -1
  2419. package/dist/src/gateway/hono/routes/sessions.js.map +0 -1
  2420. package/dist/src/gateway/hono/routes/shares.js.map +0 -1
  2421. package/dist/src/gateway/hono/routes/site-shares.js.map +0 -1
  2422. package/dist/src/gateway/hono/routes/status.js.map +0 -1
  2423. package/dist/src/gateway/hono/routes/tui.js.map +0 -1
  2424. package/dist/src/gateway/hono/routes/tunnel.js.map +0 -1
  2425. package/dist/src/gateway/hono/routes/update.js.map +0 -1
  2426. package/dist/src/gateway/hono/routes/voice.js.map +0 -1
  2427. package/dist/src/gateway/hono/routes/work-discovery.js.map +0 -1
  2428. package/dist/src/gateway/hono/routes/workflows.js.map +0 -1
  2429. package/dist/src/gateway/hono/routes/workspace.js.map +0 -1
  2430. package/dist/src/gateway/hono/routes/you.js.map +0 -1
  2431. package/dist/src/gateway/hono/sse-json.js.map +0 -1
  2432. package/dist/src/gateway/hono/sse.js.map +0 -1
  2433. package/dist/src/gateway/host.js.map +0 -1
  2434. package/dist/src/gateway/image-capabilities.js.map +0 -1
  2435. package/dist/src/gateway/listen.js.map +0 -1
  2436. package/dist/src/gateway/lock.js.map +0 -1
  2437. package/dist/src/gateway/ports.js.map +0 -1
  2438. package/dist/src/gateway/protocol.js.map +0 -1
  2439. package/dist/src/gateway/public-url.js.map +0 -1
  2440. package/dist/src/gateway/rate-limit/auth-policy.js.map +0 -1
  2441. package/dist/src/gateway/rate-limit/buckets.js.map +0 -1
  2442. package/dist/src/gateway/rate-limit/env-flags.js.map +0 -1
  2443. package/dist/src/gateway/resolve-channel-connect-defer.js.map +0 -1
  2444. package/dist/src/gateway/resolve-webchat-session-key.js.map +0 -1
  2445. package/dist/src/gateway/respawn.js.map +0 -1
  2446. package/dist/src/gateway/run-loop.js.map +0 -1
  2447. package/dist/src/gateway/runtime-config.js.map +0 -1
  2448. package/dist/src/gateway/security/audit.js.map +0 -1
  2449. package/dist/src/gateway/security/csp.js.map +0 -1
  2450. package/dist/src/gateway/security/dangerous-tools.js.map +0 -1
  2451. package/dist/src/gateway/security/external-content.js.map +0 -1
  2452. package/dist/src/gateway/security/known-weak-secrets.js.map +0 -1
  2453. package/dist/src/gateway/security/loopback.js.map +0 -1
  2454. package/dist/src/gateway/security/operator-scopes.js.map +0 -1
  2455. package/dist/src/gateway/security/origin-check.js.map +0 -1
  2456. package/dist/src/gateway/security/preauth-connection-budget.js.map +0 -1
  2457. package/dist/src/gateway/security/secret-equal.js.map +0 -1
  2458. package/dist/src/gateway/server-tailscale.js.map +0 -1
  2459. package/dist/src/gateway/server.js.map +0 -1
  2460. package/dist/src/gateway/service/agent-runner.js.map +0 -1
  2461. package/dist/src/gateway/service/config-coordinator.js.map +0 -1
  2462. package/dist/src/gateway/service/marketplace-service.js.map +0 -1
  2463. package/dist/src/gateway/service/run-gateway-agent.js.map +0 -1
  2464. package/dist/src/gateway/service/session-chat-ids.js.map +0 -1
  2465. package/dist/src/gateway/service/sessions-api.js.map +0 -1
  2466. package/dist/src/gateway/service/sse-hub.js.map +0 -1
  2467. package/dist/src/gateway/service.js.map +0 -1
  2468. package/dist/src/gateway/session-reset-service.js.map +0 -1
  2469. package/dist/src/gateway/startup-readiness.js.map +0 -1
  2470. package/dist/src/gateway/startup-trace.js.map +0 -1
  2471. package/dist/src/gateway/tailscale-auth.js.map +0 -1
  2472. package/dist/src/gateway/tailscale-lifecycle.js.map +0 -1
  2473. package/dist/src/gateway/tls-server.js.map +0 -1
  2474. package/dist/src/gateway/trusted-proxy.js.map +0 -1
  2475. package/dist/src/gateway/user-turn-input.js.map +0 -1
  2476. package/dist/src/gateway/workspace-editor-path.js.map +0 -1
  2477. package/dist/src/gateway/workspace-file-search.js.map +0 -1
  2478. package/dist/src/gateway/workspace-fs-file-list.js.map +0 -1
  2479. package/dist/src/gateway/workspace-heartbeat-path.js.map +0 -1
  2480. package/dist/src/gateway/workspace-ripgrep.js.map +0 -1
  2481. package/dist/src/gateway/ws-security.js.map +0 -1
  2482. package/dist/src/generated/bundled-image-generation-providers.js.map +0 -1
  2483. package/dist/src/goals/goal-contract-draft.js.map +0 -1
  2484. package/dist/src/goals/goal-evidence-review.js.map +0 -1
  2485. package/dist/src/goals/goal-notifications.js.map +0 -1
  2486. package/dist/src/goals/goal-queue-store.js.map +0 -1
  2487. package/dist/src/goals/goal-runner.js.map +0 -1
  2488. package/dist/src/goals/goal-service.js.map +0 -1
  2489. package/dist/src/goals/goal-store.js.map +0 -1
  2490. package/dist/src/goals/goal-workflow-judge.js.map +0 -1
  2491. package/dist/src/heartbeat/active-hours.js.map +0 -1
  2492. package/dist/src/heartbeat/content-check.js.map +0 -1
  2493. package/dist/src/heartbeat/event-prompt.js.map +0 -1
  2494. package/dist/src/heartbeat/tokens.js.map +0 -1
  2495. package/dist/src/heartbeat/wake.js.map +0 -1
  2496. package/dist/src/i18n/format.js.map +0 -1
  2497. package/dist/src/i18n/goals-bundle.js.map +0 -1
  2498. package/dist/src/i18n/locale.js.map +0 -1
  2499. package/dist/src/i18n/locales/goals.en.js.map +0 -1
  2500. package/dist/src/i18n/locales/goals.zh.js.map +0 -1
  2501. package/dist/src/i18n/locales/share-tool.en.js.map +0 -1
  2502. package/dist/src/i18n/locales/share-tool.zh.js.map +0 -1
  2503. package/dist/src/i18n/share-tool-bundle.js.map +0 -1
  2504. package/dist/src/index.js.map +0 -1
  2505. package/dist/src/infra/brew.js.map +0 -1
  2506. package/dist/src/infra/bus/queue.js.map +0 -1
  2507. package/dist/src/infra/debounce.js.map +0 -1
  2508. package/dist/src/infra/exec.js.map +0 -1
  2509. package/dist/src/infra/gateway-process-argv.js.map +0 -1
  2510. package/dist/src/infra/gateway-processes.js.map +0 -1
  2511. package/dist/src/infra/host-env-security-policy.js.map +0 -1
  2512. package/dist/src/infra/host-env-security.js.map +0 -1
  2513. package/dist/src/infra/http-proxy-env.js.map +0 -1
  2514. package/dist/src/infra/is-main.js.map +0 -1
  2515. package/dist/src/infra/json-utf8-bytes.js.map +0 -1
  2516. package/dist/src/infra/node-sqlite.js.map +0 -1
  2517. package/dist/src/infra/package-json.js.map +0 -1
  2518. package/dist/src/infra/package-update-steps.js.map +0 -1
  2519. package/dist/src/infra/path-env.js.map +0 -1
  2520. package/dist/src/infra/path-prepend.js.map +0 -1
  2521. package/dist/src/infra/ports.js.map +0 -1
  2522. package/dist/src/infra/rate-limit/failure-limiter.js.map +0 -1
  2523. package/dist/src/infra/rate-limit/keyed-store.js.map +0 -1
  2524. package/dist/src/infra/rate-limit/rate-limiter.js.map +0 -1
  2525. package/dist/src/infra/restart.js.map +0 -1
  2526. package/dist/src/infra/retry.js.map +0 -1
  2527. package/dist/src/infra/run-command.js.map +0 -1
  2528. package/dist/src/infra/sqlite-errors.js.map +0 -1
  2529. package/dist/src/infra/ssh-tunnel.js.map +0 -1
  2530. package/dist/src/infra/stable-node-path.js.map +0 -1
  2531. package/dist/src/infra/tailscale.js.map +0 -1
  2532. package/dist/src/infra/undici-fetch.js.map +0 -1
  2533. package/dist/src/infra/unhandled-rejections.js.map +0 -1
  2534. package/dist/src/infra/update-channels.js.map +0 -1
  2535. package/dist/src/infra/update-check.js.map +0 -1
  2536. package/dist/src/infra/update-global.js.map +0 -1
  2537. package/dist/src/infra/update-lock.js.map +0 -1
  2538. package/dist/src/infra/update-log.js.map +0 -1
  2539. package/dist/src/infra/update-restart.js.map +0 -1
  2540. package/dist/src/infra/update-runner.js.map +0 -1
  2541. package/dist/src/infra/update-startup.js.map +0 -1
  2542. package/dist/src/infra/warning-filter.js.map +0 -1
  2543. package/dist/src/infra/write-file-atomic.js.map +0 -1
  2544. package/dist/src/knowledge/connected-knowledge-pipeline.js.map +0 -1
  2545. package/dist/src/knowledge/coordinator.js.map +0 -1
  2546. package/dist/src/knowledge/ingestion-service.js.map +0 -1
  2547. package/dist/src/local-apps/acceptance.js.map +0 -1
  2548. package/dist/src/local-apps/preview-runtime-bridge.js.map +0 -1
  2549. package/dist/src/local-apps/runtime-entry.js.map +0 -1
  2550. package/dist/src/local-apps/scaffold.js.map +0 -1
  2551. package/dist/src/local-apps/service.js.map +0 -1
  2552. package/dist/src/local-apps/store.js.map +0 -1
  2553. package/dist/src/markdown/chunk.js.map +0 -1
  2554. package/dist/src/markdown/code-spans.js.map +0 -1
  2555. package/dist/src/markdown/fences.js.map +0 -1
  2556. package/dist/src/markdown/frontmatter.js.map +0 -1
  2557. package/dist/src/markdown/ir.js.map +0 -1
  2558. package/dist/src/markdown/render.js.map +0 -1
  2559. package/dist/src/markdown/tables.js.map +0 -1
  2560. package/dist/src/mcp/channel-bridge.js.map +0 -1
  2561. package/dist/src/mcp/channel-server.js.map +0 -1
  2562. package/dist/src/mcp/channel-shared.js.map +0 -1
  2563. package/dist/src/mcp/channel-tools.js.map +0 -1
  2564. package/dist/src/mcp/gateway-http-client.js.map +0 -1
  2565. package/dist/src/media/media-reference.js.map +0 -1
  2566. package/dist/src/media/paths.js.map +0 -1
  2567. package/dist/src/media/session-references.js.map +0 -1
  2568. package/dist/src/media/store.js.map +0 -1
  2569. package/dist/src/media/uri.js.map +0 -1
  2570. package/dist/src/media-shared/http/api-key-rotation.js.map +0 -1
  2571. package/dist/src/media-shared/http/deadline.js.map +0 -1
  2572. package/dist/src/media-shared/http/private-network.js.map +0 -1
  2573. package/dist/src/media-shared/http/provider-http-errors.js.map +0 -1
  2574. package/dist/src/media-shared/http/provider-http.js.map +0 -1
  2575. package/dist/src/media-shared/http/resolve-provider-http-request-config.js.map +0 -1
  2576. package/dist/src/media-shared/http/ssrf-guard.js.map +0 -1
  2577. package/dist/src/media-shared/http/test-helpers/mock-server.js.map +0 -1
  2578. package/dist/src/media-understanding/audio-transcription-runner.js.map +0 -1
  2579. package/dist/src/media-understanding/openai-compatible-audio.js.map +0 -1
  2580. package/dist/src/media-understanding/registry.js.map +0 -1
  2581. package/dist/src/media-understanding/resolve-entries.js.map +0 -1
  2582. package/dist/src/media-understanding/runner.js.map +0 -1
  2583. package/dist/src/migrations/config/default-capability-preset.js.map +0 -1
  2584. package/dist/src/migrations/registry.js.map +0 -1
  2585. package/dist/src/migrations/runner.js.map +0 -1
  2586. package/dist/src/mobile/notification-service.js.map +0 -1
  2587. package/dist/src/mobile/notification-store.js.map +0 -1
  2588. package/dist/src/mobile/notification-types.js.map +0 -1
  2589. package/dist/src/notes/agent-context.js.map +0 -1
  2590. package/dist/src/notes/attachment-ref.js.map +0 -1
  2591. package/dist/src/notes/note-attachment-sync.js.map +0 -1
  2592. package/dist/src/notes/note-index-meta.js.map +0 -1
  2593. package/dist/src/notes/note-markdown.js.map +0 -1
  2594. package/dist/src/notes/paths.js.map +0 -1
  2595. package/dist/src/notes/service.js.map +0 -1
  2596. package/dist/src/notes/store.js.map +0 -1
  2597. package/dist/src/package-version.js.map +0 -1
  2598. package/dist/src/pets/factory.js.map +0 -1
  2599. package/dist/src/pets/manifest.js.map +0 -1
  2600. package/dist/src/pets/validator.js.map +0 -1
  2601. package/dist/src/process/kill-tree.js.map +0 -1
  2602. package/dist/src/project-trust/trust-store.js.map +0 -1
  2603. package/dist/src/projects/automation-bind.js.map +0 -1
  2604. package/dist/src/projects/goal-bind.js.map +0 -1
  2605. package/dist/src/projects/memory-bind.js.map +0 -1
  2606. package/dist/src/projects/project-agent-suggestion.js.map +0 -1
  2607. package/dist/src/projects/project-agent.js.map +0 -1
  2608. package/dist/src/projects/project-kind.js.map +0 -1
  2609. package/dist/src/projects/project-loop.js.map +0 -1
  2610. package/dist/src/projects/project-service.js.map +0 -1
  2611. package/dist/src/projects/project-store.js.map +0 -1
  2612. package/dist/src/projects/session-bind.js.map +0 -1
  2613. package/dist/src/projects/workflow-bind.js.map +0 -1
  2614. package/dist/src/projects/workspace-project.js.map +0 -1
  2615. package/dist/src/projects/workspace.js.map +0 -1
  2616. package/dist/src/providers/auth-runtime/auth-profile-store.js.map +0 -1
  2617. package/dist/src/providers/auth-runtime/is-configured.js.map +0 -1
  2618. package/dist/src/providers/auth-runtime/oauth.js.map +0 -1
  2619. package/dist/src/providers/auth-runtime/resolve-api-key.js.map +0 -1
  2620. package/dist/src/providers/auth-runtime/resolve-auth.js.map +0 -1
  2621. package/dist/src/providers/constants.js.map +0 -1
  2622. package/dist/src/providers/domestic-presets.js.map +0 -1
  2623. package/dist/src/providers/env-keys.js.map +0 -1
  2624. package/dist/src/providers/extension-stream-bridge.js.map +0 -1
  2625. package/dist/src/providers/index.js.map +0 -1
  2626. package/dist/src/providers/model-call.js.map +0 -1
  2627. package/dist/src/providers/model-discovery.js.map +0 -1
  2628. package/dist/src/providers/model-registry.js.map +0 -1
  2629. package/dist/src/providers/model-supplements.js.map +0 -1
  2630. package/dist/src/providers/plugin-registry.js.map +0 -1
  2631. package/dist/src/providers/presentation.js.map +0 -1
  2632. package/dist/src/remote-access/exposure-guards.js.map +0 -1
  2633. package/dist/src/remote-access/exposure-manager.js.map +0 -1
  2634. package/dist/src/review/review-git.js.map +0 -1
  2635. package/dist/src/review/review-types.js.map +0 -1
  2636. package/dist/src/routing/account-id.js.map +0 -1
  2637. package/dist/src/routing/agent-session-key.js.map +0 -1
  2638. package/dist/src/routing/bindings.js.map +0 -1
  2639. package/dist/src/routing/index.js.map +0 -1
  2640. package/dist/src/routing/resolve-route.js.map +0 -1
  2641. package/dist/src/routing/resolve-tui-session-key.js.map +0 -1
  2642. package/dist/src/routing/session-key-utils.js.map +0 -1
  2643. package/dist/src/routing/session-key.js.map +0 -1
  2644. package/dist/src/session/abort-cutoff.js.map +0 -1
  2645. package/dist/src/session/chat-export.js.map +0 -1
  2646. package/dist/src/session/client-history.js.map +0 -1
  2647. package/dist/src/session/compaction-checkpoints.js.map +0 -1
  2648. package/dist/src/session/config-store.js.map +0 -1
  2649. package/dist/src/session/init-session-turn.js.map +0 -1
  2650. package/dist/src/session/lifecycle-timestamps.js.map +0 -1
  2651. package/dist/src/session/load-jsonl-entries.js.map +0 -1
  2652. package/dist/src/session/manager.js.map +0 -1
  2653. package/dist/src/session/patch-metadata.js.map +0 -1
  2654. package/dist/src/session/reset-policy.js.map +0 -1
  2655. package/dist/src/session/reset-triggers.js.map +0 -1
  2656. package/dist/src/session/reset-type.js.map +0 -1
  2657. package/dist/src/session/resolve-session.js.map +0 -1
  2658. package/dist/src/session/session-context-for-llm.js.map +0 -1
  2659. package/dist/src/session/session-id.js.map +0 -1
  2660. package/dist/src/session/session-title.js.map +0 -1
  2661. package/dist/src/session/session-workspace.js.map +0 -1
  2662. package/dist/src/session/store.js.map +0 -1
  2663. package/dist/src/session/stored-rows-to-file-entries.js.map +0 -1
  2664. package/dist/src/session/thinking-resolve.js.map +0 -1
  2665. package/dist/src/session/transcript-events.js.map +0 -1
  2666. package/dist/src/session/transcript-format.js.map +0 -1
  2667. package/dist/src/session/transcript-outline.js.map +0 -1
  2668. package/dist/src/session/transcript-stats.js.map +0 -1
  2669. package/dist/src/session/types.js.map +0 -1
  2670. package/dist/src/session/user-round-delete.js.map +0 -1
  2671. package/dist/src/share/share-audit.js.map +0 -1
  2672. package/dist/src/share/share-auto.js.map +0 -1
  2673. package/dist/src/share/share-config.js.map +0 -1
  2674. package/dist/src/share/share-landing.js.map +0 -1
  2675. package/dist/src/share/share-rate-limit.js.map +0 -1
  2676. package/dist/src/share/share-store.js.map +0 -1
  2677. package/dist/src/share/share-thumbnail.js.map +0 -1
  2678. package/dist/src/share/share-types.js.map +0 -1
  2679. package/dist/src/share/share-url.js.map +0 -1
  2680. package/dist/src/share/share-zip.js.map +0 -1
  2681. package/dist/src/share/site-proxy.js.map +0 -1
  2682. package/dist/src/share/site-share-config.js.map +0 -1
  2683. package/dist/src/share/site-share-router.js.map +0 -1
  2684. package/dist/src/share/site-share-store.js.map +0 -1
  2685. package/dist/src/share/site-share-types.js.map +0 -1
  2686. package/dist/src/share/site-static-serve.js.map +0 -1
  2687. package/dist/src/storage/sqlite/activity-repository.js.map +0 -1
  2688. package/dist/src/storage/sqlite/config-repository.js.map +0 -1
  2689. package/dist/src/storage/sqlite/connection.js.map +0 -1
  2690. package/dist/src/storage/sqlite/connector-repository.js.map +0 -1
  2691. package/dist/src/storage/sqlite/fts.js.map +0 -1
  2692. package/dist/src/storage/sqlite/knowledge-repository.js.map +0 -1
  2693. package/dist/src/storage/sqlite/memory-index-repository.js.map +0 -1
  2694. package/dist/src/storage/sqlite/memory-records-repository.js.map +0 -1
  2695. package/dist/src/storage/sqlite/memory-reference-consent-repository.js.map +0 -1
  2696. package/dist/src/storage/sqlite/migrations/discover.js.map +0 -1
  2697. package/dist/src/storage/sqlite/migrations/errors.js.map +0 -1
  2698. package/dist/src/storage/sqlite/migrations/runner.js.map +0 -1
  2699. package/dist/src/storage/sqlite/note-agent-context-repository.js.map +0 -1
  2700. package/dist/src/storage/sqlite/notes-repository.js.map +0 -1
  2701. package/dist/src/storage/sqlite/paths.js.map +0 -1
  2702. package/dist/src/storage/sqlite/row-mappers.js.map +0 -1
  2703. package/dist/src/storage/sqlite/schema-version.js.map +0 -1
  2704. package/dist/src/storage/sqlite/schema.js.map +0 -1
  2705. package/dist/src/storage/sqlite/session-metadata.js.map +0 -1
  2706. package/dist/src/storage/sqlite/session-repository.js.map +0 -1
  2707. package/dist/src/storage/sqlite/transaction.js.map +0 -1
  2708. package/dist/src/storage/sqlite/transcript-repository.js.map +0 -1
  2709. package/dist/src/storage/sqlite/user-profile-setup-repository.js.map +0 -1
  2710. package/dist/src/storage/sqlite/user-trust-repository.js.map +0 -1
  2711. package/dist/src/tui/backends/embedded-backend.js.map +0 -1
  2712. package/dist/src/tui/backends/gateway-sse-backend.js.map +0 -1
  2713. package/dist/src/tui/chat-history.js.map +0 -1
  2714. package/dist/src/tui/clipboard-image.js.map +0 -1
  2715. package/dist/src/tui/clipboard-text.js.map +0 -1
  2716. package/dist/src/tui/components/assistant-message.js.map +0 -1
  2717. package/dist/src/tui/components/bash-execution.js.map +0 -1
  2718. package/dist/src/tui/components/bash-summary.js.map +0 -1
  2719. package/dist/src/tui/components/branch-message-summary.js.map +0 -1
  2720. package/dist/src/tui/components/branch-summary.js.map +0 -1
  2721. package/dist/src/tui/components/chat-log.js.map +0 -1
  2722. package/dist/src/tui/components/compaction-summary.js.map +0 -1
  2723. package/dist/src/tui/components/custom-editor.js.map +0 -1
  2724. package/dist/src/tui/components/custom-message.js.map +0 -1
  2725. package/dist/src/tui/components/dynamic-border.js.map +0 -1
  2726. package/dist/src/tui/components/extension-dialog.js.map +0 -1
  2727. package/dist/src/tui/components/fuzzy-filter.js.map +0 -1
  2728. package/dist/src/tui/components/scoped-models-selector.js.map +0 -1
  2729. package/dist/src/tui/components/searchable-select-list.js.map +0 -1
  2730. package/dist/src/tui/components/session-selector.js.map +0 -1
  2731. package/dist/src/tui/components/settings-selector.js.map +0 -1
  2732. package/dist/src/tui/components/thinking-selector.js.map +0 -1
  2733. package/dist/src/tui/components/tool-execution.js.map +0 -1
  2734. package/dist/src/tui/components/tui-bottom-bar.js.map +0 -1
  2735. package/dist/src/tui/components/tui-header.js.map +0 -1
  2736. package/dist/src/tui/components/user-message.js.map +0 -1
  2737. package/dist/src/tui/components/visual-truncate.js.map +0 -1
  2738. package/dist/src/tui/extension-host/autocomplete.js.map +0 -1
  2739. package/dist/src/tui/extension-host/host.js.map +0 -1
  2740. package/dist/src/tui/extension-host/load-extensions.js.map +0 -1
  2741. package/dist/src/tui/extension-host/runtime-context.js.map +0 -1
  2742. package/dist/src/tui/extension-host/runtime.js.map +0 -1
  2743. package/dist/src/tui/extension-host/surface.js.map +0 -1
  2744. package/dist/src/tui/extension-host/tool-renderers.js.map +0 -1
  2745. package/dist/src/tui/format-tui-hotkeys.js.map +0 -1
  2746. package/dist/src/tui/sse-consumer.js.map +0 -1
  2747. package/dist/src/tui/theme/dark.js.map +0 -1
  2748. package/dist/src/tui/theme/light.js.map +0 -1
  2749. package/dist/src/tui/theme-manager.js.map +0 -1
  2750. package/dist/src/tui/theme.js.map +0 -1
  2751. package/dist/src/tui/tool-summary.js.map +0 -1
  2752. package/dist/src/tui/tui-agent-events.js.map +0 -1
  2753. package/dist/src/tui/tui-command-formatters.js.map +0 -1
  2754. package/dist/src/tui/tui-commands.js.map +0 -1
  2755. package/dist/src/tui/tui-context-usage.js.map +0 -1
  2756. package/dist/src/tui/tui-extension-user-message.js.map +0 -1
  2757. package/dist/src/tui/tui-fd-path.js.map +0 -1
  2758. package/dist/src/tui/tui-file-autocomplete.js.map +0 -1
  2759. package/dist/src/tui/tui-follow-up-queue.js.map +0 -1
  2760. package/dist/src/tui/tui-git-branch.js.map +0 -1
  2761. package/dist/src/tui/tui-keybindings-file.js.map +0 -1
  2762. package/dist/src/tui/tui-lifecycle.js.map +0 -1
  2763. package/dist/src/tui/tui-local-shell.js.map +0 -1
  2764. package/dist/src/tui/tui-model-picker.js.map +0 -1
  2765. package/dist/src/tui/tui-oauth-login.js.map +0 -1
  2766. package/dist/src/tui/tui-overlays.js.map +0 -1
  2767. package/dist/src/tui/tui-picker-overlay.js.map +0 -1
  2768. package/dist/src/tui/tui-run-state.js.map +0 -1
  2769. package/dist/src/tui/tui-run-status-format.js.map +0 -1
  2770. package/dist/src/tui/tui-runtime-hints.js.map +0 -1
  2771. package/dist/src/tui/tui-scoped-models.js.map +0 -1
  2772. package/dist/src/tui/tui-session-actions.js.map +0 -1
  2773. package/dist/src/tui/tui-session-format.js.map +0 -1
  2774. package/dist/src/tui/tui-session-snapshot.js.map +0 -1
  2775. package/dist/src/tui/tui-session-stats.js.map +0 -1
  2776. package/dist/src/tui/tui-settings.js.map +0 -1
  2777. package/dist/src/tui/tui-skills-autocomplete.js.map +0 -1
  2778. package/dist/src/tui/tui-startup-resources.js.map +0 -1
  2779. package/dist/src/tui/tui-startup-text.js.map +0 -1
  2780. package/dist/src/tui/tui-stdio-filter.js.map +0 -1
  2781. package/dist/src/tui/tui-submit.js.map +0 -1
  2782. package/dist/src/tui/tui-suspend.js.map +0 -1
  2783. package/dist/src/tui/tui-timeline-picker.js.map +0 -1
  2784. package/dist/src/tui/tui-timeline.js.map +0 -1
  2785. package/dist/src/tui/tui-tool-diff.js.map +0 -1
  2786. package/dist/src/tui/tui-tool-result.js.map +0 -1
  2787. package/dist/src/tui/tui-transcript-tree-picker.js.map +0 -1
  2788. package/dist/src/tui/tui-transcript-tree.js.map +0 -1
  2789. package/dist/src/tui/tui-types.js.map +0 -1
  2790. package/dist/src/tui/tui-workflow-slash.js.map +0 -1
  2791. package/dist/src/tui/tui.js.map +0 -1
  2792. package/dist/src/tui/xopc-tui-keybindings.js.map +0 -1
  2793. package/dist/src/tunnel/broker-client.js.map +0 -1
  2794. package/dist/src/tunnel/consent.js.map +0 -1
  2795. package/dist/src/tunnel/enable-lan-pairing.js.map +0 -1
  2796. package/dist/src/tunnel/env.js.map +0 -1
  2797. package/dist/src/tunnel/frp-subdomain-host.js.map +0 -1
  2798. package/dist/src/tunnel/frpc-binary.js.map +0 -1
  2799. package/dist/src/tunnel/frpc-config.js.map +0 -1
  2800. package/dist/src/tunnel/frpc-extract.js.map +0 -1
  2801. package/dist/src/tunnel/frpc-process.js.map +0 -1
  2802. package/dist/src/tunnel/gateway-lifecycle.js.map +0 -1
  2803. package/dist/src/tunnel/pair-context.js.map +0 -1
  2804. package/dist/src/tunnel/pair-url.js.map +0 -1
  2805. package/dist/src/tunnel/pairing-rate-limit.js.map +0 -1
  2806. package/dist/src/tunnel/pairing.js.map +0 -1
  2807. package/dist/src/tunnel/tunnel-audit.js.map +0 -1
  2808. package/dist/src/tunnel/tunnel-config.js.map +0 -1
  2809. package/dist/src/tunnel/tunnel-persist.js.map +0 -1
  2810. package/dist/src/tunnel/tunnel-qr.js.map +0 -1
  2811. package/dist/src/tunnel/tunnel-rate-limit.js.map +0 -1
  2812. package/dist/src/tunnel/tunnel-service.js.map +0 -1
  2813. package/dist/src/tunnel/tunnel-state.js.map +0 -1
  2814. package/dist/src/tunnel/well-known.js.map +0 -1
  2815. package/dist/src/user-context/config.js.map +0 -1
  2816. package/dist/src/user-context/import.js.map +0 -1
  2817. package/dist/src/user-context/owner.js.map +0 -1
  2818. package/dist/src/user-context/profile.js.map +0 -1
  2819. package/dist/src/user-context/projection.js.map +0 -1
  2820. package/dist/src/user-context/runtime.js.map +0 -1
  2821. package/dist/src/user-context/source-recommendations.js.map +0 -1
  2822. package/dist/src/user-context/trust-policy.js.map +0 -1
  2823. package/dist/src/utils/global-singleton.js.map +0 -1
  2824. package/dist/src/utils/helpers.js.map +0 -1
  2825. package/dist/src/utils/index.js.map +0 -1
  2826. package/dist/src/utils/is-record.js.map +0 -1
  2827. package/dist/src/utils/logger/audit.js.map +0 -1
  2828. package/dist/src/utils/logger/config.js.map +0 -1
  2829. package/dist/src/utils/logger/context.js.map +0 -1
  2830. package/dist/src/utils/logger/exporters.js.map +0 -1
  2831. package/dist/src/utils/logger/index.js.map +0 -1
  2832. package/dist/src/utils/logger/log-store.js.map +0 -1
  2833. package/dist/src/utils/logger/log-stream.js.map +0 -1
  2834. package/dist/src/utils/logger/pino-record.js.map +0 -1
  2835. package/dist/src/utils/logger/redact.js.map +0 -1
  2836. package/dist/src/utils/logger/rotation.js.map +0 -1
  2837. package/dist/src/utils/logger/shutdown.js.map +0 -1
  2838. package/dist/src/utils/logger/stats.js.map +0 -1
  2839. package/dist/src/utils/logger/streams.js.map +0 -1
  2840. package/dist/src/utils/logger/types.js.map +0 -1
  2841. package/dist/src/utils/logger.js.map +0 -1
  2842. package/dist/src/utils/redact-sensitive-url.js.map +0 -1
  2843. package/dist/src/utils/sanitize-log.js.map +0 -1
  2844. package/dist/src/utils/string-coerce.js.map +0 -1
  2845. package/dist/src/voice/language-profile.js.map +0 -1
  2846. package/dist/src/voice/local/model-files.js.map +0 -1
  2847. package/dist/src/voice/local/model-manager.js.map +0 -1
  2848. package/dist/src/voice/local/models.js.map +0 -1
  2849. package/dist/src/voice/local/runtime-client.js.map +0 -1
  2850. package/dist/src/voice/local/runtime-dispatcher.js.map +0 -1
  2851. package/dist/src/voice/local/runtime-worker.js.map +0 -1
  2852. package/dist/src/voice/local/wav.js.map +0 -1
  2853. package/dist/src/voice/metadata/builtin.js.map +0 -1
  2854. package/dist/src/voice/metadata/registry.js.map +0 -1
  2855. package/dist/src/voice/stt/availability.js.map +0 -1
  2856. package/dist/src/voice/stt/config-slice.js.map +0 -1
  2857. package/dist/src/voice/stt/factory.js.map +0 -1
  2858. package/dist/src/voice/stt/index.js.map +0 -1
  2859. package/dist/src/voice/stt/list-providers.js.map +0 -1
  2860. package/dist/src/voice/stt/mention.js.map +0 -1
  2861. package/dist/src/voice/stt/preflight.js.map +0 -1
  2862. package/dist/src/voice/stt/providers/alibaba-transcription.js.map +0 -1
  2863. package/dist/src/voice/stt/providers/local-transcription.js.map +0 -1
  2864. package/dist/src/voice/stt/providers/openai-transcription.js.map +0 -1
  2865. package/dist/src/voice/stt/transcribe-core.js.map +0 -1
  2866. package/dist/src/voice/stt/types.js.map +0 -1
  2867. package/dist/src/voice/tts/audio.js.map +0 -1
  2868. package/dist/src/voice/tts/config-slice.js.map +0 -1
  2869. package/dist/src/voice/tts/directives.js.map +0 -1
  2870. package/dist/src/voice/tts/factory.js.map +0 -1
  2871. package/dist/src/voice/tts/list-providers.js.map +0 -1
  2872. package/dist/src/voice/tts/merge-config.js.map +0 -1
  2873. package/dist/src/voice/tts/openai-compatible-speech.js.map +0 -1
  2874. package/dist/src/voice/tts/payload.js.map +0 -1
  2875. package/dist/src/voice/tts/preprocess.js.map +0 -1
  2876. package/dist/src/voice/tts/providers/alibaba-speech.js.map +0 -1
  2877. package/dist/src/voice/tts/providers/edge-speech.js.map +0 -1
  2878. package/dist/src/voice/tts/providers/minimax-speech.js.map +0 -1
  2879. package/dist/src/voice/tts/providers/openai-speech.js.map +0 -1
  2880. package/dist/src/voice/tts/sentence-boundary.js.map +0 -1
  2881. package/dist/src/voice/tts/service.js.map +0 -1
  2882. package/dist/src/voice/tts/speak-core.js.map +0 -1
  2883. package/dist/src/voice/tts/speech-registry.js.map +0 -1
  2884. package/dist/src/voice/tts/status-tracker.js.map +0 -1
  2885. package/dist/src/voice/tts/summarize.js.map +0 -1
  2886. package/dist/src/voice/tts/types.js.map +0 -1
  2887. package/dist/src/work-discovery/analyzer.js.map +0 -1
  2888. package/dist/src/work-discovery/probe.js.map +0 -1
  2889. package/dist/src/work-discovery/repository.js.map +0 -1
  2890. package/dist/src/work-discovery/service.js.map +0 -1
  2891. package/dist/src/work-items/agent-context.js.map +0 -1
  2892. package/dist/src/work-items/work-item-service.js.map +0 -1
  2893. package/dist/src/work-items/work-item-store.js.map +0 -1
  2894. package/dist/src/work-items/work-item-workflow-judge.js.map +0 -1
  2895. package/dist/src/workflows/authoring/workflow-draft-store.js.map +0 -1
  2896. package/dist/src/workflows/domain/definition-utils.js.map +0 -1
  2897. package/dist/src/workflows/domain/run.js.map +0 -1
  2898. package/dist/src/workflows/domain/schema-validation.js.map +0 -1
  2899. package/dist/src/workflows/domain/validation.js.map +0 -1
  2900. package/dist/src/workflows/draft/workflow-draft-prompt.js.map +0 -1
  2901. package/dist/src/workflows/draft/workflow-draft-service.js.map +0 -1
  2902. package/dist/src/workflows/draft/workflow-draft-validator.js.map +0 -1
  2903. package/dist/src/workflows/engine/projector.js.map +0 -1
  2904. package/dist/src/workflows/engine/workflow-engine.js.map +0 -1
  2905. package/dist/src/workflows/registry/catalog-workflow-definition-registry.js.map +0 -1
  2906. package/dist/src/workflows/runtime/graph-workflow-runtime.js.map +0 -1
  2907. package/dist/src/workflows/service/run-view-to-snapshot.js.map +0 -1
  2908. package/dist/src/workflows/service/workflow-run-service.js.map +0 -1
  2909. package/dist/src/workflows/service/workflow-session-bridge.js.map +0 -1
  2910. package/dist/src/workflows/service/workflow-session-key.js.map +0 -1
  2911. package/dist/src/workflows/store/event-store.js.map +0 -1
  2912. package/dist/src/workflows/store/paths.js.map +0 -1
  2913. package/dist/src/workflows/store/run-index-store.js.map +0 -1
  2914. package/dist/src/workflows/store/run-store.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"package.js","names":[],"sources":["../package.json"],"sourcesContent":[""],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../src/activity/context.ts"],"sourcesContent":["import { AsyncLocalStorage } from 'node:async_hooks';\n\nimport { getAsyncLogContext } from '../utils/logger/context.js';\nimport type { ActivityPrincipal, ActivitySource } from './types.js';\n\nexport interface ActivityContext {\n actor?: ActivityPrincipal;\n initiator?: ActivityPrincipal;\n source?: ActivitySource;\n}\n\nconst activityContextStorage = new AsyncLocalStorage<ActivityContext>();\n\nexport function runWithActivityContext<T>(context: ActivityContext, fn: () => T): T {\n const parent = activityContextStorage.getStore();\n return activityContextStorage.run({ ...parent, ...context }, fn);\n}\n\nexport function getActivityContext(): ActivityContext | undefined {\n return activityContextStorage.getStore();\n}\n\nexport function currentActivityActor(fallback: ActivityPrincipal = { kind: 'system' }): ActivityPrincipal {\n return getActivityContext()?.actor ?? fallback;\n}\n\nexport function currentActivityInitiator(): ActivityPrincipal | undefined {\n return getActivityContext()?.initiator;\n}\n\nexport function currentActivitySource(fallback: ActivitySource = { kind: 'system' }): ActivitySource {\n const source = getActivityContext()?.source ?? fallback;\n const requestId = source.requestId ?? stringValue(getAsyncLogContext()?.requestId);\n return requestId ? { ...source, requestId } : source;\n}\n\nfunction stringValue(value: unknown): string | undefined {\n return typeof value === 'string' && value.trim() ? value.trim() : undefined;\n}\n"],"mappings":";;;cAEgE;AAShE,MAAM,yBAAyB,IAAI,mBAAoC;AAEvE,SAAgB,uBAA0B,SAA0B,IAAgB;CAClF,MAAM,SAAS,uBAAuB,UAAU;AAChD,QAAO,uBAAuB,IAAI;EAAE,GAAG;EAAQ,GAAG;EAAS,EAAE,GAAG;;AAGlE,SAAgB,qBAAkD;AAChE,QAAO,uBAAuB,UAAU;;AAG1C,SAAgB,qBAAqB,WAA8B,EAAE,MAAM,UAAU,EAAqB;AACxG,QAAO,oBAAoB,EAAE,SAAS;;AAGxC,SAAgB,2BAA0D;AACxE,QAAO,oBAAoB,EAAE;;AAG/B,SAAgB,sBAAsB,WAA2B,EAAE,MAAM,UAAU,EAAkB;CACnG,MAAM,SAAS,oBAAoB,EAAE,UAAU;CAC/C,MAAM,YAAY,OAAO,aAAa,YAAY,oBAAoB,EAAE,UAAU;AAClF,QAAO,YAAY;EAAE,GAAG;EAAQ;EAAW,GAAG;;AAGhD,SAAS,YAAY,OAAoC;AACvD,QAAO,OAAO,UAAU,YAAY,MAAM,MAAM,GAAG,MAAM,MAAM,GAAG,KAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"emitter.js","names":[],"sources":["../../../src/activity/emitter.ts"],"sourcesContent":["import { isXopcDatabaseOpen } from '../storage/sqlite/index.js';\nimport { createLogger } from '../utils/logger.js';\nimport { currentActivityActor, currentActivityInitiator, currentActivitySource } from './context.js';\nimport { ActivityService } from './service.js';\nimport type { ActivityPrincipal, ActivitySource, RecordActivityInput } from './types.js';\n\nconst log = createLogger('ActivityEmitter');\n\nconst activityService = new ActivityService();\n\nexport function systemActivityActor(): ActivityPrincipal {\n return currentActivityActor({ kind: 'system' });\n}\n\nexport function systemActivitySource(): ActivitySource {\n return currentActivitySource({ kind: 'system' });\n}\n\nexport function previewText(value: string | undefined, maxLength = 180): string | undefined {\n const normalized = value?.trim().replace(/\\s+/g, ' ');\n if (!normalized) return undefined;\n return normalized.length > maxLength ? `${normalized.slice(0, maxLength)}...` : normalized;\n}\n\nexport function changedFieldsFromPatch(\n patch: Record<string, unknown>,\n ignoredKeys: readonly string[] = [],\n): string[] {\n const ignored = new Set(ignoredKeys);\n return Object.keys(patch).filter((key) => !ignored.has(key) && patch[key] !== undefined).sort();\n}\n\nexport function emitActivity(input: RecordActivityInput): void {\n if (!isXopcDatabaseOpen()) {\n log.debug({ type: input.type, object: input.primaryObject }, 'Skipped activity event because SQLite is not open');\n return;\n }\n activityService.record({\n ...input,\n initiator: input.initiator ?? currentActivityInitiator(),\n source: currentActivitySource(input.source),\n });\n}\n"],"mappings":";;;;;;;aACkD;AAKlD,MAAM,MAAM,aAAa,kBAAkB;AAE3C,MAAM,kBAAkB,IAAI,iBAAiB;AAE7C,SAAgB,sBAAyC;AACvD,QAAO,qBAAqB,EAAE,MAAM,UAAU,CAAC;;AAGjD,SAAgB,uBAAuC;AACrD,QAAO,sBAAsB,EAAE,MAAM,UAAU,CAAC;;AAGlD,SAAgB,YAAY,OAA2B,YAAY,KAAyB;CAC1F,MAAM,aAAa,OAAO,MAAM,CAAC,QAAQ,QAAQ,IAAI;AACrD,KAAI,CAAC,WAAY,QAAO,KAAA;AACxB,QAAO,WAAW,SAAS,YAAY,GAAG,WAAW,MAAM,GAAG,UAAU,CAAC,OAAO;;AAGlF,SAAgB,uBACd,OACA,cAAiC,EAAE,EACzB;CACV,MAAM,UAAU,IAAI,IAAI,YAAY;AACpC,QAAO,OAAO,KAAK,MAAM,CAAC,QAAQ,QAAQ,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,SAAS,KAAA,EAAU,CAAC,MAAM;;AAGjG,SAAgB,aAAa,OAAkC;AAC7D,KAAI,CAAC,oBAAoB,EAAE;AACzB,MAAI,MAAM;GAAE,MAAM,MAAM;GAAM,QAAQ,MAAM;GAAe,EAAE,oDAAoD;AACjH;;AAEF,iBAAgB,OAAO;EACrB,GAAG;EACH,WAAW,MAAM,aAAa,0BAA0B;EACxD,QAAQ,sBAAsB,MAAM,OAAO;EAC5C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.js","names":[],"sources":["../../../src/activity/service.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\n\nimport {\n createObjectLinkRecord,\n getActivityEventRecord,\n listActivityRecords,\n listObjectActivityRecords,\n listObjectLinkRecords,\n listProjectActivityRecords,\n recordActivityEvent,\n} from '../storage/sqlite/index.js';\nimport type {\n ActivityEventWithRelations,\n ActivityListResult,\n ActivityObjectRef,\n CreateObjectLinkInput,\n ListActivityOptions,\n ListObjectActivityOptions,\n ListProjectActivityOptions,\n ObjectLink,\n RecordActivityInput,\n} from './types.js';\n\nfunction normalizeLimit(limit: number | undefined): number {\n return Math.max(1, Math.min(100, Math.floor(limit ?? 50)));\n}\n\nfunction normalizeOffset(offset: number | undefined): number {\n return Math.max(0, Math.floor(offset ?? 0));\n}\n\nexport class ActivityService {\n record(input: RecordActivityInput): ActivityEventWithRelations {\n return recordActivityEvent({\n ...input,\n id: input.id ?? randomUUID(),\n nowMs: input.nowMs ?? Date.now(),\n });\n }\n\n get(id: string): ActivityEventWithRelations | null {\n return getActivityEventRecord(id);\n }\n\n list(options: ListActivityOptions = {}): ActivityListResult {\n return listActivityRecords({\n ...options,\n limit: normalizeLimit(options.limit),\n offset: normalizeOffset(options.offset),\n });\n }\n\n listForObject(options: ListObjectActivityOptions): ActivityListResult {\n return listObjectActivityRecords({\n ...options,\n limit: normalizeLimit(options.limit),\n offset: normalizeOffset(options.offset),\n });\n }\n\n listForProject(options: ListProjectActivityOptions): ActivityListResult {\n return listProjectActivityRecords({\n ...options,\n limit: normalizeLimit(options.limit),\n offset: normalizeOffset(options.offset),\n });\n }\n}\n\nexport class ObjectLinkService {\n create(input: CreateObjectLinkInput): ObjectLink {\n return createObjectLinkRecord({\n ...input,\n id: input.id ?? randomUUID(),\n nowMs: input.nowMs ?? Date.now(),\n });\n }\n\n listForObject(object: ActivityObjectRef): ObjectLink[] {\n return listObjectLinkRecords(object);\n }\n}\n"],"mappings":";;;;AAuBA,SAAS,eAAe,OAAmC;AACzD,QAAO,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,MAAM,SAAS,GAAG,CAAC,CAAC;;AAG5D,SAAS,gBAAgB,QAAoC;AAC3D,QAAO,KAAK,IAAI,GAAG,KAAK,MAAM,UAAU,EAAE,CAAC;;AAG7C,IAAa,kBAAb,MAA6B;CAC3B,OAAO,OAAwD;AAC7D,SAAO,oBAAoB;GACzB,GAAG;GACH,IAAI,MAAM,MAAM,YAAY;GAC5B,OAAO,MAAM,SAAS,KAAK,KAAK;GACjC,CAAC;;CAGJ,IAAI,IAA+C;AACjD,SAAO,uBAAuB,GAAG;;CAGnC,KAAK,UAA+B,EAAE,EAAsB;AAC1D,SAAO,oBAAoB;GACzB,GAAG;GACH,OAAO,eAAe,QAAQ,MAAM;GACpC,QAAQ,gBAAgB,QAAQ,OAAO;GACxC,CAAC;;CAGJ,cAAc,SAAwD;AACpE,SAAO,0BAA0B;GAC/B,GAAG;GACH,OAAO,eAAe,QAAQ,MAAM;GACpC,QAAQ,gBAAgB,QAAQ,OAAO;GACxC,CAAC;;CAGJ,eAAe,SAAyD;AACtE,SAAO,2BAA2B;GAChC,GAAG;GACH,OAAO,eAAe,QAAQ,MAAM;GACpC,QAAQ,gBAAgB,QAAQ,OAAO;GACxC,CAAC;;;AAIN,IAAa,oBAAb,MAA+B;CAC7B,OAAO,OAA0C;AAC/C,SAAO,uBAAuB;GAC5B,GAAG;GACH,IAAI,MAAM,MAAM,YAAY;GAC5B,OAAO,MAAM,SAAS,KAAK,KAAK;GACjC,CAAC;;CAGJ,cAAc,QAAyC;AACrD,SAAO,sBAAsB,OAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-manager.js","names":[],"sources":["../../../src/agent/agent-manager.ts"],"sourcesContent":["/**\n * Agent Manager - Manages Agent instances per session\n *\n * Each session gets its own Agent instance for true isolation\n * and concurrent processing across sessions.\n */\n\nimport {\n Agent,\n type AgentTool,\n type AgentMessage,\n type AgentEvent,\n type ThinkingLevel,\n} from '@earendil-works/pi-agent-core';\nimport type { Model, Api } from '@earendil-works/pi-ai';\nimport type { AgentInstanceGateway } from './agent-instance-gateway.js';\nimport { type Config, getAgentDefaultModelRef } from '../config/schema.js';\nimport { applyConfigOverrides } from '../config/runtime-overrides.js';\nimport { resolveAgentProfileDir } from './agent-scope.js';\nimport {\n type EffectiveAgentProfile,\n resolveEffectiveAgentProfile,\n resolveEffectiveAgentProfileForSession,\n} from '../config/agent-profile.js';\nimport { expandWorkspacePathString } from '../config/workspace-path.js';\nimport type { ModelManager } from './models/manager.js';\nimport { createLogger } from '../utils/logger.js';\nimport { resolveProviderApiKeySync } from '../auth/sync-provider-auth.js';\nimport { resolveModel, getDefaultModelSync, getApiKeySync } from '../providers/index.js';\nimport { createExtensionAwareStreamFn } from '../providers/extension-stream-bridge.js';\nimport { CredentialResolver } from '../auth/credentials.js';\nimport { resolveBundledSkillsDir, resolveStateDir, resolveUserProfilePath } from '../config/paths.js';\nimport { extractTextContent } from './context/workspace.js';\nimport { buildActiveProjectContextForPrompt } from './context/project-context.js';\nimport { clearBootstrapSnapshot, resolveBootstrapContextSync } from './bootstrap/bootstrap-files.js';\nimport { loadProjectAgentsContextFile } from './bootstrap/project-agents-context.js';\nimport type { EmbeddedContextFile } from './bootstrap/types.js';\nimport { AgentToolsFactory } from './tools/factory.js';\nimport type {\n SkillInstallToolOptions,\n SkillInstallToolResult,\n} from './tools/skill-install-tool.js';\nimport {\n createAgentCapabilitySessionState,\n resolveAgentCapabilityCatalog,\n type AgentCapabilityCatalogEntry,\n type AgentCapabilitySessionState,\n} from './capabilities/index.js';\nimport { parseMcpToolName } from './mcp/bundle-mcp-policy.js';\nimport {\n disposeAllSessionMcpRuntimes,\n retireSessionMcpRuntimeForSessionKey,\n} from './mcp/bundle-mcp-tools.js';\nimport { evictAllEmbeddedSessionRunners, evictEmbeddedSessionRunner } from './embedded/session-runner.js';\nimport type { GatewayClarifyRequestFn } from './tools/clarify-tool.js';\nimport type { ExtensionRegistryImpl as ExtensionRegistry } from '../extensions/index.js';\nimport type { MessageBus } from '../infra/bus/index.js';\nimport type { AutomationService } from '../automations/index.js';\nimport type { SessionStore } from '../session/store.js';\nimport type { NotesService } from '../notes/index.js';\nimport type { ProjectService } from '../projects/index.js';\nimport type { WorkItemService } from '../work-items/index.js';\nimport { isValidSkillEnvVarName } from './skills/required-env-vars.js';\nimport type { SessionContext } from './session/session-context.js';\nimport type {\n Skill,\n SkillDiagnostic,\n SkillMarkdownPreviewPayload,\n SkillRuntimeStatus,\n} from './skills/types.js';\nimport { createSkillConfigManager, isSkillEnabled, resolveSkillConfig } from './skills/config.js';\nimport { isUnderManagedSkillsDir } from './skills/managed-store.js';\nimport { loadSkillsLock, type SkillHubLockEntry, type SkillsLockFile } from './skills/hub-lock.js';\nimport { basename, resolve, sep } from 'node:path';\n\nimport {\n isMemorySubsystemEnabled,\n shouldRegisterCuratedMemoryTool,\n} from './memory/memory-config.js';\nimport type { MemoryManager } from './memory/manager.js';\nimport { resolveDreamingRoot } from './memory/dreaming/scope.js';\nimport { UserContextCoordinator } from './memory/user-context-coordinator.js';\nimport type { UserContextPlan } from './memory/context/types.js';\nimport { WorkspaceRuntimeRegistry, type WorkspaceRuntime } from './workspace-runtime/registry.js';\nimport { BackgroundReviewCoordinator } from './background-review/coordinator.js';\nimport { maybeRequestChannelExecApproval } from '../channels/exec-approval-runtime.js';\nimport { SkillFilesystemWatcher } from './skills/filesystem-watcher.js';\nimport { resolveWorkspaceSkillsDir, resolveWorkspaceSkillsLockPath } from './skills/workspace-skills-dir.js';\nimport { ProjectTrustStore, hasTrustRequiringProjectResources } from '../project-trust/trust-store.js';\n\nconst log = createLogger('AgentManager');\n\nexport interface SkillCatalogEntry {\n directoryId: string;\n name: string;\n description: string;\n category?: string;\n source: Skill['source'];\n path: string;\n managed: boolean;\n /** User toggle in ~/.xopc/skills.json (`entries[name].enabled`). Default true. */\n enabled: boolean;\n /** When true, skill is never injected into `<available_skills>` (SKILL.md frontmatter). */\n disableModelInvocation: boolean;\n /** Hub install provenance when under ~/.xopc/skills and listed in skills-lock.json. */\n hub?: SkillHubLockEntry;\n}\n\nexport interface SkillCatalogRuntimeMeta {\n version: string;\n loadedAt: number;\n diagnostics: SkillDiagnostic[];\n status: SkillRuntimeStatus;\n}\n\nexport interface SkillCatalogSnapshot extends SkillCatalogRuntimeMeta {\n catalog: SkillCatalogEntry[];\n}\n\nexport type AgentSkillUnavailableReason = 'agent-denied' | 'disabled' | 'requirements-unmet' | 'model-invocation-disabled';\n\nexport interface AgentSkillAvailabilityEntry extends SkillCatalogEntry {\n availableForCurrentAgent: boolean;\n unavailableReason: AgentSkillUnavailableReason | null;\n}\n\nexport interface AgentSkillAvailabilityPayload {\n agentId: string;\n version: string;\n loadedAt: number;\n diagnostics: SkillDiagnostic[];\n status: SkillRuntimeStatus;\n defaultsAllowlist?: string[];\n agentAllowlist?: string[];\n effectiveAllowlist?: string[];\n skills: AgentSkillAvailabilityEntry[];\n}\n\nexport interface AgentManagerConfig {\n workspace: string;\n model?: string;\n config?: Config;\n extensionRegistry?: ExtensionRegistry;\n hookRunner?: import('../extensions/index.js').ExtensionHookRunner;\n bus: MessageBus;\n getCurrentContext: () => SessionContext | null;\n /** Session persistence (enables `session_search` when set). */\n getSessionStore?: () => SessionStore;\n /** Clears per-session profile default on teardown. */\n getModelManager?: () => ModelManager;\n // Thinking configuration\n thinkingLevel?: ThinkingLevel;\n reasoningLevel?: 'off' | 'on' | 'stream';\n verboseLevel?: 'off' | 'on' | 'full';\n gatewayClarify?: { requestClarification: GatewayClarifyRequestFn };\n /** Gateway: exposes AutomationService for the `automation` tool. */\n getAutomationService?: () => AutomationService | undefined;\n /** Gateway: exposes first-class xopc product objects for the `xopc_use` tool. */\n getNotesService?: () => NotesService | undefined;\n getProjectService?: () => ProjectService | undefined;\n getWorkItemService?: () => WorkItemService | undefined;\n /** Gateway: starts persisted workflow runs (dedicated chat session per run). */\n getWorkflowRunService?: () => import('../workflows/service/workflow-run-service.types.js').WorkflowRunServiceLike | undefined;\n /** Runtime notification for UI/CLI shells that cache skill catalogs. */\n onSkillsUpdated?: (payload: { reason: 'disk' | 'config' }) => void;\n /** Install a managed skill from an explicit source and refresh runtime state. */\n installSkillFromSource?: (opts: SkillInstallToolOptions) => Promise<SkillInstallToolResult>;\n /** Dynamic workspace verification context injected into the system prompt when edits are pending. */\n getSelfVerifyPromptContext?: (sessionKey: string, agentId?: string) => string;\n /**\n * Runtime trust override. Persistent \"do not trust\" entries still take precedence.\n */\n isWorkspaceTrusted?: (workspaceDir: string) => boolean | null | undefined;\n}\n\nexport interface AgentInstance {\n agent: Agent;\n sessionKey: string;\n createdAt: number;\n lastUsedAt: number;\n effectiveProfile: EffectiveAgentProfile;\n resolvedWorkspacePath: string;\n /** Tool names registered on this agent (for skill indexing / tool gating). */\n registeredToolNames: string[];\n /** Capability packs activated by explicit skills or UI entry points in this session. */\n activeCapabilities: Map<string, AgentCapabilitySessionState>;\n activeProjectContext?: string;\n activeSelfVerifyContext?: string;\n /** Declared env var names from skill_view; exec_command reads values from process.env at spawn time. */\n skillEnvPassthroughKeys: Set<string>;\n}\n\nexport interface PreparedSkillTurn {\n text: string;\n activatedCapabilityNames: string[];\n}\n\n\nexport class AgentManager implements AgentInstanceGateway {\n private agents = new Map<string, AgentInstance>();\n private config: AgentManagerConfig;\n private toolsFactory: AgentToolsFactory;\n\n private mergedConfig(): Config | undefined {\n const base = this.config.config;\n return base ? applyConfigOverrides(base) : undefined;\n }\n\n private activeCapabilityNames(inst: AgentInstance | undefined): string[] {\n return inst ? [...inst.activeCapabilities.keys()] : [];\n }\n\n private buildActiveCapabilityContext(\n instance: AgentInstance,\n capabilityNames: readonly string[],\n registeredToolNames: readonly string[],\n ): string | undefined {\n const availableCatalog = this.resolveCapabilityCatalogForInstance(instance, registeredToolNames)\n .filter((definition) => definition.availableTools.length > 0);\n const definitionsById = new Map(availableCatalog.map((definition) => [definition.id, definition]));\n const definitions = [...new Set(capabilityNames)]\n .map((name) => definitionsById.get(name))\n .filter((definition): definition is AgentCapabilityCatalogEntry => Boolean(definition));\n if (definitions.length === 0) return undefined;\n const rows = definitions.map((definition) => {\n const tools = definition.availableTools.join(', ');\n const hint = definition.promptHint?.trim() ? `\\n Guidance: ${definition.promptHint.trim()}` : '';\n return `- ${definition.id} (${definition.label}): ${definition.description}\\n Tools: ${tools}${hint}`;\n });\n return [\n '# Active Capability Packs',\n '',\n 'These capability packs are active for the current task. Use their tools only when they directly help satisfy the user request.',\n '',\n ...rows,\n ].join('\\n');\n }\n\n private resolveCapabilityCatalogForInstance(\n instance: AgentInstance | undefined,\n registeredToolNames: readonly string[] = instance?.registeredToolNames ?? [],\n ): AgentCapabilityCatalogEntry[] {\n return resolveAgentCapabilityCatalog({\n registeredToolNames,\n lazyToolNames: this.toolsFactory.getLazyCapabilityToolNames(),\n deniedToolNames: instance ? [...instance.effectiveProfile.tools.denied] : [],\n });\n }\n /** Default agent workspace (effective profile for `getDefaultAgentId`). */\n private baseWorkspacePath: string;\n /** Per-session absolute markdown workspace when `SessionAgentConfig.workingDirectoryOverride` is set. */\n private sessionWorkspaceOverrides = new Map<string, string>();\n private defaultModel: string;\n private credentialCache = new Map<string, string>();\n private credentialResolver: CredentialResolver;\n private workspaceRuntimes: WorkspaceRuntimeRegistry;\n private userContext: UserContextCoordinator;\n private backgroundReview: BackgroundReviewCoordinator;\n private skillFilesystemWatcher: SkillFilesystemWatcher;\n private skillDiskRefreshInProgress = false;\n private skillDiskRefreshPending = false;\n private lastExplicitSkillDiskRefreshAt = 0;\n private skillsUpdatedTimer: NodeJS.Timeout | undefined;\n private pendingSkillsUpdatedReason: 'disk' | 'config' | undefined;\n private projectTrustStore = new ProjectTrustStore();\n\n constructor(config: AgentManagerConfig) {\n this.config = config;\n this.baseWorkspacePath = this.computeBaseWorkspacePath();\n this.skillFilesystemWatcher = new SkillFilesystemWatcher({\n onChange: (event) => {\n log.info({ changedPath: event.changedPath }, 'Skill filesystem changed; refreshing skills');\n this.refreshSkillsAfterDiskChange('watch');\n },\n });\n this.skillFilesystemWatcher.refreshPrimaryWorkspace(this.baseWorkspacePath);\n this.workspaceRuntimes = new WorkspaceRuntimeRegistry({\n getConfig: () => this.config.config!,\n bundledSkillsDir: resolveBundledSkillsDir(),\n onRuntimeCreated: (resolvedPath) => {\n this.skillFilesystemWatcher.watchWorkspace(resolvedPath);\n },\n });\n this.userContext = new UserContextCoordinator({\n getConfig: () => this.config.config,\n isEnabledForSession: () => Boolean(\n this.config.config?.userContext.enabled\n && this.config.config.userContext.memory.mode !== 'off',\n ),\n getAgentIdForSession: (sk) => this.agents.get(sk)?.effectiveProfile.agentId ?? 'main',\n getMemoryManagerForSession: (sk) => this.getMemoryManagerForSession(sk),\n getLastAssistantContent: (sk) => this.getLastAssistantContent(sk),\n });\n this.backgroundReview = new BackgroundReviewCoordinator({\n getConfig: () => this.mergedConfig(),\n });\n this.toolsFactory = new AgentToolsFactory(this.buildToolsFactoryDeps());\n\n this.defaultModel = config.model || getDefaultModelSync(config.config);\n\n this.credentialResolver = new CredentialResolver();\n this.warmCredentialCache().catch((err) => {\n const em = err instanceof Error ? err.message : String(err);\n log.warn({ err, errorMessage: em }, `Credential cache pre-warm failed: ${em}`);\n });\n }\n\n private computeBaseWorkspacePath(): string {\n const cfg = this.config.config;\n if (!cfg) {\n return expandWorkspacePathString(this.config.workspace);\n }\n return resolveEffectiveAgentProfileForSession(cfg, null).resolvedWorkspacePath;\n }\n\n /**\n * Workspace root for inbound attachments / side effects for this session's agent id.\n * Uses in-memory session workspace overrides when the session has a persisted `workingDirectoryOverride`.\n */\n getResolvedWorkspaceForSession(sessionKey: string): string {\n const cfg = this.config.config!;\n const fromMap = this.sessionWorkspaceOverrides.get(sessionKey);\n if (fromMap !== undefined) {\n return fromMap;\n }\n return resolveEffectiveAgentProfileForSession(cfg, sessionKey).resolvedWorkspacePath;\n }\n\n private getWorkspaceRuntimeForSession(sessionKey: string | undefined): WorkspaceRuntime {\n const profile = resolveEffectiveAgentProfileForSession(this.config.config!, sessionKey);\n const resolvedPath = sessionKey\n ? this.getResolvedWorkspaceForSession(sessionKey)\n : this.baseWorkspacePath;\n return this.workspaceRuntimes.getOrCreate(resolvedPath, profile.agentId);\n }\n\n private getCurrentWorkspaceRuntime(): WorkspaceRuntime {\n return this.getWorkspaceRuntimeForSession(this.config.getCurrentContext?.()?.sessionKey);\n }\n\n /**\n * Sync in-memory workspace override from session config (after load or PATCH).\n * Pass `null` to clear when the session has no `workingDirectoryOverride` on disk.\n */\n setSessionWorkspaceOverride(sessionKey: string, absolutePath: string | null): void {\n if (absolutePath === null || absolutePath === '') {\n this.sessionWorkspaceOverrides.delete(sessionKey);\n } else {\n this.sessionWorkspaceOverrides.set(sessionKey, absolutePath);\n }\n }\n\n /** Merged `thinkingDefault` for this session's agent id (defaults + `agents.list`). */\n getThinkingDefaultForSession(\n sessionKey: string,\n ): import('./transcript/thinking-types.js').ThinkLevel | undefined {\n const cfg = this.mergedConfig();\n if (!cfg) {\n return undefined;\n }\n return resolveEffectiveAgentProfileForSession(cfg, sessionKey).thinkingDefault;\n }\n\n private pickDefaultModelRef(): string {\n const cfg = this.mergedConfig();\n const ref = getAgentDefaultModelRef(cfg);\n return ref?.trim() || getDefaultModelSync(cfg);\n }\n\n private resolveModelStringToModel(modelRef: string): Model<Api> {\n try {\n return resolveModel(modelRef);\n } catch {\n const fallback = getDefaultModelSync(this.mergedConfig());\n log.warn({ modelRef, fallback }, 'Model not found, using default');\n return resolveModel(fallback);\n }\n }\n\n /**\n * Keep defaults in sync when config is hot-reloaded or saved from the UI.\n *\n * The previous implementation rebuilt the entire `AgentToolsFactory` (80+ lines\n * of dependency wiring) on every reload. The factory's deps are now built from\n * a single helper ({@link buildToolsFactoryDeps}) and read `this.*` through\n * closures, so existing instances automatically see the new config without\n * reconstruction. The browser is still shut down because its cached settings\n * (headless mode, backend choice) come from the config snapshot at connect time.\n */\n updateAgentDefaults(config: Config): void {\n this.config.config = config;\n const ref = getAgentDefaultModelRef(config);\n this.config.model = ref;\n this.defaultModel = ref || getDefaultModelSync(config);\n this.baseWorkspacePath = this.computeBaseWorkspacePath();\n this.skillFilesystemWatcher.refreshPrimaryWorkspace(this.baseWorkspacePath);\n void this.toolsFactory.shutdownBrowser();\n void this.workspaceRuntimes.clearAll();\n }\n\n /**\n * Construct the dep bag passed to `AgentToolsFactory`. Closures reference\n * `this.*` so they remain valid across hot reloads (no rebuild needed).\n */\n private buildToolsFactoryDeps(): ConstructorParameters<typeof AgentToolsFactory>[0] {\n return {\n workspace: this.baseWorkspacePath,\n extensionRegistry: this.config.extensionRegistry,\n getCurrentContext: this.config.getCurrentContext,\n hookRunner: this.config.hookRunner,\n bus: this.config.bus,\n getConfig: () => this.mergedConfig(),\n getPrimaryModel: () => this.resolveModelStringToModel(this.pickDefaultModelRef()),\n getMemoryManager: () => this.getCurrentWorkspaceRuntime().memoryManager,\n getSessionStore: this.config.getSessionStore,\n gatewayClarify: this.config.gatewayClarify,\n getAutomationService: this.config.getAutomationService,\n getNotesService: this.config.getNotesService,\n getProjectService: this.config.getProjectService,\n getWorkItemService: this.config.getWorkItemService,\n getWorkflowRunService: this.config.getWorkflowRunService,\n getSkillIndexingContext: () => {\n const ctx = this.config.getCurrentContext?.();\n if (!ctx?.sessionKey) return undefined;\n const inst = this.agents.get(ctx.sessionKey);\n if (!inst) return undefined;\n return {\n registeredToolNames: inst.registeredToolNames,\n skillAllowlist: inst.effectiveProfile.skillsAllowlist,\n };\n },\n onSkillsFilesystemMutate: () => {\n this.refreshSkillsAfterDiskChange('explicit');\n },\n getSkillPassthroughEnvVarNames: () => {\n const ctx = this.config.getCurrentContext?.();\n if (!ctx?.sessionKey) return [];\n return [...(this.agents.get(ctx.sessionKey)?.skillEnvPassthroughKeys ?? [])];\n },\n registerSkillEnvPassthrough: (names: string[]) => {\n const ctx = this.config.getCurrentContext?.();\n if (!ctx?.sessionKey) return;\n const inst = this.agents.get(ctx.sessionKey);\n if (!inst) return;\n for (const n of names) {\n if (isValidSkillEnvVarName(n)) {\n inst.skillEnvPassthroughKeys.add(n.trim());\n }\n }\n },\n installSkillFromSource: this.config.installSkillFromSource,\n getCodeIntelligenceRuntime: (workspace) =>\n this.workspaceRuntimes.getOrCreate(\n workspace,\n resolveEffectiveAgentProfileForSession(\n this.config.config!,\n this.config.getCurrentContext?.()?.sessionKey,\n ).agentId,\n ).codeIntelligence,\n };\n }\n\n getMemoryManager(): MemoryManager {\n return this.getCurrentWorkspaceRuntime().memoryManager;\n }\n\n getMemoryManagerForSession(sessionKey: string): MemoryManager {\n return this.getWorkspaceRuntimeForSession(sessionKey).memoryManager;\n }\n\n markCodeIntelligenceDirty(sessionKey: string, paths: readonly string[]): void {\n if (paths.length === 0) return;\n const instance = this.agents.get(sessionKey);\n const config = this.config.config?.codeIntelligence;\n if (\n !instance ||\n !config?.enabled ||\n !config.agentIds.includes(instance.effectiveProfile.agentId)\n ) return;\n this.getWorkspaceRuntimeForSession(sessionKey).codeIntelligence.markDirty(paths);\n }\n\n /** Build the bounded, policy-filtered context used for this model turn. */\n prepareUserTurnContext(\n userMessage: AgentMessage,\n sessionKey: string,\n ): Promise<UserContextPlan> {\n return this.userContext.prepare(userMessage, sessionKey);\n }\n\n /**\n * After a completed turn: sync external providers and queue next-turn prefetch.\n * Delegates to {@link UserContextCoordinator}.\n */\n afterAgentTurn(sessionKey: string, userPlainText: string): Promise<import('./memory/understanding/types.js').UnderstandingReviewResult | undefined> {\n return this.userContext.afterTurn(sessionKey, userPlainText);\n }\n\n /**\n * Call once per user turn before the main embedded agent turn.\n * Delegates to {@link BackgroundReviewCoordinator}.\n */\n beginBackgroundReviewUserTurn(sessionKey: string): void {\n const inst = this.agents.get(sessionKey);\n if (!inst) return;\n this.backgroundReview.beginUserTurn(sessionKey);\n }\n\n /**\n * After a successful main turn (after memory sync via `afterAgentTurn`), may run a quiet follow-up for memory/skills.\n * Delegates to {@link BackgroundReviewCoordinator}.\n */\n scheduleBackgroundReviewAfterUserTurn(sessionKey: string): void {\n const inst = this.agents.get(sessionKey);\n if (!inst) return;\n this.backgroundReview.scheduleAfterUserTurn({\n sessionKey,\n agent: inst.agent,\n lastAssistantText: this.getLastAssistantContent(sessionKey),\n workspaceRuntime: this.getWorkspaceRuntimeForSession(sessionKey),\n });\n }\n\n /**\n * Expand `/skill:name` user text into the full skill block for the current turn (WebChat, channels).\n */\n expandSkillUserText(text: string): string {\n const ctx = this.config.getCurrentContext?.();\n const sessionKey = ctx?.sessionKey;\n const inst = sessionKey ? this.agents.get(sessionKey) : undefined;\n return this.getWorkspaceRuntimeForSession(sessionKey).skillManager.expandCommand(text, {\n skillAllowlist: inst?.effectiveProfile.skillsAllowlist,\n registeredToolNames: inst?.registeredToolNames,\n });\n }\n\n prepareSkillTurn(sessionKey: string, text: string): PreparedSkillTurn {\n this.getOrCreateAgent(sessionKey);\n const inst = this.agents.get(sessionKey);\n if (!text.includes('/skill:')) {\n return {\n text,\n activatedCapabilityNames: this.activeCapabilityNames(inst),\n };\n }\n const rt = this.getWorkspaceRuntimeForSession(sessionKey);\n const options = {\n skillAllowlist: inst?.effectiveProfile.skillsAllowlist,\n registeredToolNames: inst?.registeredToolNames,\n };\n const expanded = text.trimStart().startsWith('/skill:')\n ? rt.skillManager.expandCommand(text, options)\n : text;\n const selectedCapabilities = rt.skillManager.getActivatedCapabilitiesForText(text, options);\n const turnOnlyCapabilities: string[] = [];\n const now = Date.now();\n for (const capabilityName of selectedCapabilities) {\n const state = createAgentCapabilitySessionState(capabilityName, 'skill', now);\n if (!state) continue;\n if (state.ttl === 'turn') {\n turnOnlyCapabilities.push(state.id);\n continue;\n }\n inst?.activeCapabilities.set(state.id, state);\n }\n return {\n text: expanded,\n activatedCapabilityNames: [\n ...new Set([\n ...this.activeCapabilityNames(inst),\n ...turnOnlyCapabilities,\n ]),\n ],\n };\n }\n\n async withSkillCapabilities<T>(\n sessionKey: string,\n capabilityNames: readonly string[],\n run: () => Promise<T>,\n ): Promise<T> {\n const requested = [...new Set(capabilityNames.map((name) => name.trim()).filter(Boolean))];\n if (requested.length === 0) return run();\n\n this.getOrCreateAgent(sessionKey);\n const inst = this.agents.get(sessionKey);\n if (!inst) return run();\n\n const activatedTools = this.toolsFactory.createCapabilityTools(requested, {\n disabledTools: inst.effectiveProfile.tools.denied,\n });\n const existingNames = new Set(inst.registeredToolNames);\n const newTools = activatedTools.filter((tool) => !existingNames.has(tool.name));\n\n const originalTools = inst.agent.state.tools as AgentTool<any, any>[];\n const originalRegisteredToolNames = inst.registeredToolNames;\n const originalSystemPrompt = inst.agent.state.systemPrompt;\n const nextRegisteredToolNames = [...originalRegisteredToolNames, ...newTools.map((tool) => tool.name)];\n\n inst.agent.state.tools = newTools.length > 0 ? [...originalTools, ...newTools] : originalTools;\n inst.registeredToolNames = nextRegisteredToolNames;\n inst.agent.state.systemPrompt = this.buildSystemPromptForInstance(\n inst,\n nextRegisteredToolNames,\n requested,\n );\n try {\n return await run();\n } finally {\n inst.agent.state.tools = originalTools;\n inst.registeredToolNames = originalRegisteredToolNames;\n inst.agent.state.systemPrompt = originalSystemPrompt;\n }\n }\n\n private buildSystemPromptForInstance(\n instance: AgentInstance,\n registeredToolNames: string[] = instance.registeredToolNames,\n activeCapabilityNames: readonly string[] = this.activeCapabilityNames(instance),\n ): string {\n const cfg = this.config.config!;\n const resolvedWorkspacePath = this.getResolvedWorkspaceForSession(instance.sessionKey);\n const rt = this.workspaceRuntimes.getOrCreate(\n resolvedWorkspacePath,\n instance.effectiveProfile.agentId,\n );\n const contextFiles = this.resolveContextFilesForSession(instance.sessionKey, instance.effectiveProfile);\n const modelRef = instance.effectiveProfile.primaryModelRef?.trim() || this.defaultModel;\n const thinkingLevel =\n (instance.agent.state.thinkingLevel as ThinkingLevel | undefined) ??\n (instance.effectiveProfile.thinkingDefault as ThinkingLevel | undefined) ??\n this.config.thinkingLevel ??\n 'medium';\n return rt.systemPromptBuilder.build(contextFiles, {\n externalMemoryInstructions: rt.memoryManager.buildExternalSystemPrompt(),\n workspaceOverride: resolvedWorkspacePath,\n profileMarkdownPathRoot: resolveAgentProfileDir(cfg, instance.effectiveProfile.agentId),\n systemPromptOverride: instance.effectiveProfile.systemPromptOverride,\n skillAllowlist: instance.effectiveProfile.skillsAllowlist,\n registeredToolNames,\n sessionKey: instance.sessionKey,\n modelRef,\n agentId: instance.effectiveProfile.agentId,\n thinkingLevel,\n activeProjectContext: this.composeDynamicProjectContext(\n instance.activeProjectContext,\n instance.activeSelfVerifyContext,\n this.buildActiveCapabilityContext(instance, activeCapabilityNames, registeredToolNames),\n ),\n });\n }\n\n /** Structured SKILL.md preview for the gateway console. */\n getSkillMarkdownSource(skillName: string): SkillMarkdownPreviewPayload | null {\n const skill = this.getCurrentWorkspaceRuntime().skillManager.findSkill(skillName);\n if (!skill) return null;\n\n return {\n name: skill.name,\n description: skill.description,\n bodyMarkdown: skill.content,\n disableModelInvocation: skill.disableModelInvocation,\n metadata: skill.metadata,\n toolConditions: skill.toolConditions,\n requiredEnvVarNames: skill.requiredEnvVarNames,\n };\n }\n\n private isProjectWorkspaceTrusted(workspaceDir: string): boolean {\n if (!hasTrustRequiringProjectResources(workspaceDir)) {\n return false;\n }\n\n const persisted = this.projectTrustStore.get(workspaceDir);\n if (persisted === false) {\n return false;\n }\n if (persisted === true) {\n return true;\n }\n\n try {\n return this.config.isWorkspaceTrusted?.(workspaceDir) === true;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n log.warn({ err, workspaceDir, errorMessage }, `Workspace trust override failed: ${errorMessage}`);\n return false;\n }\n }\n\n private resolveContextFilesForSession(\n sessionKey: string,\n profile: EffectiveAgentProfile,\n excludeHeartbeat?: boolean,\n ): EmbeddedContextFile[] {\n const cfg = this.config.config!;\n const profileDir = resolveAgentProfileDir(cfg, profile.agentId);\n const heartbeatEnabled = cfg.gateway?.heartbeat?.includeSystemPromptSection ?? false;\n const contextInjection = 'always';\n const { contextFiles } = resolveBootstrapContextSync({\n profileDir,\n userProfilePath: resolveUserProfilePath(),\n config: cfg,\n sessionKey,\n excludeHeartbeat: excludeHeartbeat ?? !heartbeatEnabled,\n contextInjection,\n });\n const shouldAppendProjectContext =\n contextInjection === 'always' ||\n (contextInjection === 'continuation-skip' && contextFiles.length > 0);\n const workspaceDir = this.getResolvedWorkspaceForSession(sessionKey);\n if (\n shouldAppendProjectContext &&\n this.isProjectWorkspaceTrusted(workspaceDir)\n ) {\n const projectAgentsFile = loadProjectAgentsContextFile(workspaceDir);\n if (projectAgentsFile) {\n contextFiles.push(projectAgentsFile);\n }\n }\n return contextFiles;\n }\n\n private skillCatalogEntryFromSkill(\n s: Skill,\n skillsConfig = createSkillConfigManager(resolveStateDir()).load(),\n lock = loadSkillsLock(),\n workspaceLock?: SkillsLockFile,\n workspaceDir?: string,\n ): SkillCatalogEntry {\n const base = resolve(s.baseDir);\n const workspaceRoot = workspaceDir ? resolveWorkspaceSkillsDir(workspaceDir) : '';\n const workspaceManaged = workspaceRoot ? s.source === 'workspace' && base.startsWith(resolve(workspaceRoot) + sep) : false;\n const globalManaged = isUnderManagedSkillsDir(s.baseDir);\n const managed = globalManaged || workspaceManaged;\n const directoryId = base.split(sep).filter(Boolean).pop() || s.name;\n const enabled = !(skillsConfig.entries?.[s.name]?.enabled === false);\n const hubKey = managed ? basename(base) : '';\n const sourceLock = workspaceManaged ? workspaceLock : lock;\n const hub = managed && hubKey ? sourceLock?.entries[hubKey] : undefined;\n\n return {\n directoryId,\n name: s.name,\n description: s.description,\n category: s.category,\n source: s.source,\n path: s.baseDir,\n managed,\n enabled,\n disableModelInvocation: s.disableModelInvocation,\n ...(hub ? { hub } : {}),\n };\n }\n\n getSkillCatalog(): SkillCatalogEntry[] {\n return this.getSkillCatalogSnapshot().catalog;\n }\n\n getSkillCatalogSnapshot(): SkillCatalogSnapshot {\n const skillsConfig = createSkillConfigManager(resolveStateDir()).load();\n const lock = loadSkillsLock();\n const sessionKey = this.config.getCurrentContext?.()?.sessionKey;\n const workspaceDir = sessionKey ? this.getResolvedWorkspaceForSession(sessionKey) : this.baseWorkspacePath;\n const workspaceLock = loadSkillsLock(resolveWorkspaceSkillsLockPath(workspaceDir));\n const rt = this.getCurrentWorkspaceRuntime();\n return {\n catalog: rt.skillManager\n .getSkills()\n .map((s) => this.skillCatalogEntryFromSkill(s, skillsConfig, lock, workspaceLock, workspaceDir)),\n version: rt.skillManager.getVersion(),\n loadedAt: rt.skillManager.getLoadedAt(),\n diagnostics: rt.skillManager.getDiagnostics(),\n status: rt.skillManager.getStatus(),\n };\n }\n\n getAgentSkillAvailability(agentId: string): AgentSkillAvailabilityPayload {\n const cfg = this.config.config!;\n const entry = Array.isArray(cfg.agents?.list)\n ? cfg.agents.list.find((a) => a && a.enabled !== false && a.id.toLowerCase() === agentId.toLowerCase())\n : undefined;\n const profile = resolveEffectiveAgentProfile(cfg, agentId);\n const rt = this.workspaceRuntimes.getOrCreate(profile.resolvedWorkspacePath, profile.agentId);\n const skillsConfig = createSkillConfigManager(resolveStateDir()).load();\n const lock = loadSkillsLock();\n const workspaceLock = loadSkillsLock(resolveWorkspaceSkillsLockPath(profile.resolvedWorkspacePath));\n const allow = profile.skillsAllowlist === undefined ? undefined : new Set(profile.skillsAllowlist.map((s) => s.toLowerCase()));\n\n const skills = rt.skillManager.getSkills().map((s) => {\n let unavailableReason: AgentSkillUnavailableReason | null = null;\n const skillConfig = resolveSkillConfig(s, skillsConfig);\n if (skillConfig.enabled === false) {\n unavailableReason = 'disabled';\n } else if (s.disableModelInvocation) {\n unavailableReason = 'model-invocation-disabled';\n } else if (!isSkillEnabled(s, skillsConfig)) {\n unavailableReason = 'requirements-unmet';\n } else if (allow !== undefined && !allow.has(s.name.toLowerCase())) {\n unavailableReason = 'agent-denied';\n }\n\n return {\n ...this.skillCatalogEntryFromSkill(\n s,\n skillsConfig,\n lock,\n workspaceLock,\n profile.resolvedWorkspacePath,\n ),\n availableForCurrentAgent: unavailableReason === null,\n unavailableReason,\n };\n });\n\n return {\n agentId: profile.agentId,\n version: rt.skillManager.getVersion(),\n loadedAt: rt.skillManager.getLoadedAt(),\n diagnostics: rt.skillManager.getDiagnostics(),\n status: rt.skillManager.getStatus(),\n ...(entry?.skills.mode === 'allowlist' ? { agentAllowlist: [...(entry.skills.allow ?? [])] } : {}),\n ...(profile.skillsAllowlist !== undefined ? { effectiveAllowlist: [...profile.skillsAllowlist] } : {}),\n skills,\n };\n }\n\n /**\n * After ~/.xopc/skills.json changes (enable/disable), refresh `<available_skills>` on active agents.\n */\n refreshSkillsAfterSkillConfigChange(): void {\n const cfg = this.config.config!;\n for (const rt of this.workspaceRuntimes.values()) {\n rt.skillManager.refreshPromptFromConfig();\n }\n for (const instance of this.agents.values()) {\n const resolvedWorkspacePath = this.getResolvedWorkspaceForSession(instance.sessionKey);\n const rt = this.workspaceRuntimes.getOrCreate(\n resolvedWorkspacePath,\n instance.effectiveProfile.agentId,\n );\n const contextFiles = this.resolveContextFilesForSession(\n instance.sessionKey,\n instance.effectiveProfile,\n );\n instance.activeProjectContext = buildActiveProjectContextForPrompt(instance.sessionKey);\n instance.activeSelfVerifyContext = this.getSelfVerifyPromptContext(\n instance.sessionKey,\n instance.effectiveProfile.agentId,\n );\n const newPrompt = rt.systemPromptBuilder.build(contextFiles, {\n externalMemoryInstructions: rt.memoryManager.buildExternalSystemPrompt(),\n workspaceOverride: resolvedWorkspacePath,\n profileMarkdownPathRoot: resolveAgentProfileDir(cfg, instance.effectiveProfile.agentId),\n systemPromptOverride: instance.effectiveProfile.systemPromptOverride,\n skillAllowlist: instance.effectiveProfile.skillsAllowlist,\n registeredToolNames: instance.registeredToolNames,\n sessionKey: instance.sessionKey,\n modelRef: instance.effectiveProfile.primaryModelRef?.trim() || this.defaultModel,\n agentId: instance.effectiveProfile.agentId,\n thinkingLevel:\n (instance.effectiveProfile.thinkingDefault as ThinkingLevel | undefined) ??\n this.config.thinkingLevel ??\n 'medium',\n activeProjectContext: this.composeDynamicProjectContext(\n instance.activeProjectContext,\n instance.activeSelfVerifyContext,\n ),\n });\n instance.agent.state.systemPrompt = newPrompt;\n }\n log.info({ agents: this.agents.size }, 'Skill toggles applied; system prompt updated');\n this.scheduleSkillsUpdated('config');\n }\n\n refreshActionTrustPolicy(): void {\n for (const instance of this.agents.values()) {\n instance.agent.state.systemPrompt = this.buildSystemPromptForInstance(instance);\n }\n log.info({ agents: this.agents.size }, 'Action trust policy applied to active agents');\n }\n\n refreshUserProfileContext(): void {\n for (const instance of this.agents.values()) {\n instance.agent.state.systemPrompt = this.buildSystemPromptForInstance(instance);\n }\n log.info({ agents: this.agents.size }, 'User profile applied to active agents');\n }\n\n /**\n * Reload skills from disk and refresh system prompt on all active Agent instances.\n */\n refreshSkillsAfterDiskChange(source: 'explicit' | 'watch' = 'explicit'): void {\n const now = Date.now();\n if (source === 'watch' && now - this.lastExplicitSkillDiskRefreshAt < 2500) {\n log.debug({ changedWithinMs: now - this.lastExplicitSkillDiskRefreshAt }, 'Ignoring skill watcher echo after explicit refresh');\n return;\n }\n if (source === 'explicit') {\n this.lastExplicitSkillDiskRefreshAt = now;\n }\n\n if (this.skillDiskRefreshInProgress) {\n this.skillDiskRefreshPending = true;\n return;\n }\n\n this.skillDiskRefreshInProgress = true;\n let refreshed = false;\n try {\n do {\n this.skillDiskRefreshPending = false;\n this.applySkillsAfterDiskChange();\n refreshed = true;\n } while (this.skillDiskRefreshPending);\n } finally {\n this.skillDiskRefreshInProgress = false;\n }\n\n if (refreshed) {\n this.scheduleSkillsUpdated('disk');\n }\n }\n\n private scheduleSkillsUpdated(reason: 'disk' | 'config'): void {\n this.pendingSkillsUpdatedReason = reason === 'disk' ? 'disk' : this.pendingSkillsUpdatedReason ?? 'config';\n if (this.skillsUpdatedTimer) clearTimeout(this.skillsUpdatedTimer);\n this.skillsUpdatedTimer = setTimeout(() => {\n const nextReason = this.pendingSkillsUpdatedReason ?? reason;\n this.pendingSkillsUpdatedReason = undefined;\n this.skillsUpdatedTimer = undefined;\n this.config.onSkillsUpdated?.({ reason: nextReason });\n }, 250);\n }\n\n private applySkillsAfterDiskChange(): void {\n const cfg = this.config.config!;\n // Reload every workspace SkillManager first. When there are no active agent sessions\n // (e.g. gateway UI only), the loop below runs zero times — without this, `getSkillCatalog()`\n // and delete flows still see stale in-memory skills after ~/.xopc/skills changes.\n for (const rt of this.workspaceRuntimes.values()) {\n rt.skillManager.reload();\n }\n\n for (const instance of this.agents.values()) {\n const resolvedWorkspacePath = this.getResolvedWorkspaceForSession(instance.sessionKey);\n const rt = this.workspaceRuntimes.getOrCreate(\n resolvedWorkspacePath,\n instance.effectiveProfile.agentId,\n );\n const contextFiles = this.resolveContextFilesForSession(\n instance.sessionKey,\n instance.effectiveProfile,\n );\n instance.activeProjectContext = buildActiveProjectContextForPrompt(instance.sessionKey);\n instance.activeSelfVerifyContext = this.getSelfVerifyPromptContext(\n instance.sessionKey,\n instance.effectiveProfile.agentId,\n );\n const newPrompt = rt.systemPromptBuilder.rebuild(contextFiles, {\n externalMemoryInstructions: rt.memoryManager.buildExternalSystemPrompt(),\n workspaceOverride: resolvedWorkspacePath,\n profileMarkdownPathRoot: resolveAgentProfileDir(cfg, instance.effectiveProfile.agentId),\n systemPromptOverride: instance.effectiveProfile.systemPromptOverride,\n skillAllowlist: instance.effectiveProfile.skillsAllowlist,\n registeredToolNames: instance.registeredToolNames,\n sessionKey: instance.sessionKey,\n modelRef: instance.effectiveProfile.primaryModelRef?.trim() || this.defaultModel,\n agentId: instance.effectiveProfile.agentId,\n thinkingLevel:\n (instance.effectiveProfile.thinkingDefault as ThinkingLevel | undefined) ??\n this.config.thinkingLevel ??\n 'medium',\n activeProjectContext: this.composeDynamicProjectContext(\n instance.activeProjectContext,\n instance.activeSelfVerifyContext,\n ),\n });\n instance.agent.state.systemPrompt = newPrompt;\n }\n log.info({ agents: this.agents.size }, 'Skills refreshed; system prompt updated');\n }\n\n /**\n * Get or create an Agent instance for a session\n */\n getOrCreateAgent(sessionKey: string): Agent {\n const cfg = this.config.config!;\n const targetPath = this.getResolvedWorkspaceForSession(sessionKey);\n const existing = this.agents.get(sessionKey);\n if (existing) {\n if (existing.resolvedWorkspacePath !== targetPath) {\n this.removeAgent(sessionKey);\n } else {\n this.refreshActiveProjectContextIfChanged(existing);\n existing.lastUsedAt = Date.now();\n log.debug({ sessionKey }, 'Reusing existing agent instance');\n return existing.agent;\n }\n }\n\n const profile = resolveEffectiveAgentProfileForSession(cfg, sessionKey);\n const resolvedPath = targetPath;\n const rt = this.workspaceRuntimes.getOrCreate(resolvedPath, profile.agentId);\n\n if (isMemorySubsystemEnabled(cfg)) {\n void rt.memoryManager\n .initializeAll(sessionKey, { workspace: resolvedPath, agentId: profile.agentId })\n .catch((err) => log.warn({ err, sessionKey }, 'memory initializeAll failed'));\n }\n\n if (isMemorySubsystemEnabled(cfg) && shouldRegisterCuratedMemoryTool(cfg)) {\n rt.builtinMemoryStore.loadFromDiskSync();\n }\n\n const activeProjectContext = buildActiveProjectContextForPrompt(sessionKey);\n const activeSelfVerifyContext = this.getSelfVerifyPromptContext(sessionKey, profile.agentId);\n const { agent, registeredToolNames } = this.createAgentForProfile(\n sessionKey,\n profile,\n resolvedPath,\n rt,\n activeProjectContext,\n activeSelfVerifyContext,\n );\n\n this.agents.set(sessionKey, {\n agent,\n sessionKey,\n createdAt: Date.now(),\n lastUsedAt: Date.now(),\n effectiveProfile: profile,\n resolvedWorkspacePath: resolvedPath,\n registeredToolNames,\n activeCapabilities: new Map<string, AgentCapabilitySessionState>(),\n activeProjectContext,\n activeSelfVerifyContext,\n skillEnvPassthroughKeys: new Set<string>(),\n });\n\n const modelRef = profile.primaryModelRef?.trim() || this.defaultModel;\n this.config.getModelManager?.().setSessionProfileDefault(sessionKey, modelRef, profile.fallbacks);\n\n log.debug({ sessionKey, totalAgents: this.agents.size, agentId: profile.agentId }, 'Created new agent instance');\n return agent;\n }\n\n /**\n * Get existing agent for a session (if any)\n */\n getAgent(sessionKey: string): Agent | undefined {\n return this.agents.get(sessionKey)?.agent;\n }\n\n /**\n * Check if an agent exists for a session\n */\n hasAgent(sessionKey: string): boolean {\n return this.agents.has(sessionKey);\n }\n\n /**\n * Remove an agent instance\n */\n removeAgent(sessionKey: string): boolean {\n const instance = this.agents.get(sessionKey);\n if (instance) {\n this.backgroundReview.forgetSession(sessionKey);\n void this.toolsFactory.closeBrowserPageForSession(sessionKey);\n void retireSessionMcpRuntimeForSessionKey({ sessionKey, reason: 'agent-evict' });\n instance.agent.abort();\n evictEmbeddedSessionRunner(sessionKey, 'agent_removed');\n this.agents.delete(sessionKey);\n this.userContext.forgetSession(sessionKey);\n clearBootstrapSnapshot(sessionKey);\n this.config.getModelManager?.().clearSessionProfileDefault(sessionKey);\n log.info({ sessionKey, totalAgents: this.agents.size }, 'Removed agent instance');\n return true;\n }\n return false;\n }\n\n /**\n * Get all active session keys\n */\n getActiveSessions(): string[] {\n return Array.from(this.agents.keys());\n }\n\n /**\n * Get agent count\n */\n getAgentCount(): number {\n return this.agents.size;\n }\n\n /**\n * Merge per-turn channel system prompt (e.g. Telegram group/topic override) into the agent.\n */\n applyTurnChannelSystemPrompt(sessionKey: string, channelSystemPrompt: string): void {\n const trimmed = channelSystemPrompt.trim();\n if (!trimmed) return;\n\n const instance = this.agents.get(sessionKey);\n if (!instance) return;\n\n const cfg = this.config.config!;\n const resolvedWorkspacePath = this.getResolvedWorkspaceForSession(sessionKey);\n const rt = this.workspaceRuntimes.getOrCreate(\n resolvedWorkspacePath,\n instance.effectiveProfile.agentId,\n );\n const contextFiles = this.resolveContextFilesForSession(sessionKey, instance.effectiveProfile);\n const modelRef = instance.effectiveProfile.primaryModelRef?.trim() || this.defaultModel;\n const thinkingLevel =\n (instance.effectiveProfile.thinkingDefault as ThinkingLevel | undefined) ??\n this.config.thinkingLevel ??\n 'medium';\n\n const activeProjectContext = buildActiveProjectContextForPrompt(sessionKey);\n const activeSelfVerifyContext = this.getSelfVerifyPromptContext(\n sessionKey,\n instance.effectiveProfile.agentId,\n );\n instance.agent.state.systemPrompt = rt.systemPromptBuilder.build(contextFiles, {\n externalMemoryInstructions: rt.memoryManager.buildExternalSystemPrompt(),\n workspaceOverride: resolvedWorkspacePath,\n profileMarkdownPathRoot: resolveAgentProfileDir(cfg, instance.effectiveProfile.agentId),\n systemPromptOverride: instance.effectiveProfile.systemPromptOverride,\n skillAllowlist: instance.effectiveProfile.skillsAllowlist,\n registeredToolNames: instance.registeredToolNames,\n sessionKey,\n modelRef,\n agentId: instance.effectiveProfile.agentId,\n thinkingLevel,\n extraSystemPrompt: trimmed,\n activeProjectContext: this.composeDynamicProjectContext(\n activeProjectContext,\n activeSelfVerifyContext,\n ),\n });\n instance.activeProjectContext = activeProjectContext;\n instance.activeSelfVerifyContext = activeSelfVerifyContext;\n }\n\n /**\n * Set thinking level for a session's agent\n */\n setThinkingLevel(sessionKey: string, level: ThinkingLevel): void {\n const instance = this.agents.get(sessionKey);\n if (instance) {\n instance.agent.state.thinkingLevel = level;\n log.debug({ sessionKey, thinkingLevel: level }, 'Set thinking level for agent');\n }\n }\n\n /**\n * Dispose all agents\n */\n dispose(): void {\n if (this.skillsUpdatedTimer) clearTimeout(this.skillsUpdatedTimer);\n this.skillFilesystemWatcher.dispose();\n void this.toolsFactory.shutdownBrowser();\n void disposeAllSessionMcpRuntimes().catch(() => {});\n evictAllEmbeddedSessionRunners('agent_manager_dispose');\n this.backgroundReview.clear();\n for (const instance of this.agents.values()) {\n instance.agent.abort();\n }\n this.agents.clear();\n this.userContext.clear();\n this.sessionWorkspaceOverrides.clear();\n void this.workspaceRuntimes.clearAll();\n log.debug('All agent instances disposed');\n }\n\n async warmCredentialCache(): Promise<void> {\n const profiles = await this.credentialResolver.listProfiles();\n for (const profile of profiles) {\n const secret = profile.key?.trim()\n ? profile.key.trim()\n : profile.envVar\n ? process.env[profile.envVar]?.trim()\n : undefined;\n if (secret) {\n this.credentialCache.set(profile.provider.toLowerCase(), secret);\n }\n }\n log.debug({ count: this.credentialCache.size }, 'Credential cache warmed');\n }\n\n async refreshCredentials(): Promise<void> {\n this.credentialCache.clear();\n await this.warmCredentialCache();\n }\n\n private resolveApiKeyWithCache(provider: string): string | undefined {\n const key = provider.toLowerCase();\n const cached = this.credentialCache.get(key);\n if (cached) return cached;\n\n const fromDisk = resolveProviderApiKeySync(provider);\n if (fromDisk) {\n this.credentialCache.set(key, fromDisk);\n return fromDisk;\n }\n\n const fromRegistryOrEnv = getApiKeySync(provider);\n if (fromRegistryOrEnv) {\n this.credentialCache.set(key, fromRegistryOrEnv);\n return fromRegistryOrEnv;\n }\n return undefined;\n }\n\n private getSelfVerifyPromptContext(sessionKey: string, agentId?: string): string {\n return this.config.getSelfVerifyPromptContext?.(sessionKey, agentId).trim() ?? '';\n }\n\n private composeDynamicProjectContext(...sections: Array<string | undefined>): string | undefined {\n return sections.map((section) => section?.trim())\n .filter((section): section is string => Boolean(section))\n .join('\\n\\n') || undefined;\n }\n\n getCapabilityCatalogForSession(sessionKey?: string): AgentCapabilityCatalogEntry[] {\n const inst = sessionKey?.trim() ? this.agents.get(sessionKey.trim()) : undefined;\n return this.resolveCapabilityCatalogForInstance(inst);\n }\n\n private createAgentForProfile(\n sessionKey: string,\n profile: EffectiveAgentProfile,\n resolvedWorkspacePath: string,\n rt: WorkspaceRuntime,\n activeProjectContext?: string,\n activeSelfVerifyContext?: string,\n ): { agent: Agent; registeredToolNames: string[] } {\n const modelRef = profile.primaryModelRef?.trim() || this.defaultModel;\n const model = this.resolveModelStringToModel(modelRef);\n\n const contextFiles = this.resolveContextFilesForSession(sessionKey, profile);\n const dreamingRoot = resolveDreamingRoot();\n const tools = this.toolsFactory.createAllTools({\n workspace: resolvedWorkspacePath,\n profileMarkdownRoot: resolveAgentProfileDir(this.config.config!, profile.agentId),\n agentId: profile.agentId,\n dreamingRoot,\n disabledTools: profile.tools.denied,\n getPrimaryModel: () => this.resolveModelStringToModel(modelRef),\n getMemoryManager: () => rt.memoryManager,\n getSkillManager: () => rt.skillManager,\n });\n if (\n this.config.config?.codeIntelligence?.enabled &&\n this.config.config.codeIntelligence.agentIds.includes(profile.agentId)\n ) {\n void rt.codeIntelligence.prime().catch(() => {});\n }\n const registeredToolNames = tools.map((t) => t.name);\n\n const thinkingLevel =\n (profile.thinkingDefault as ThinkingLevel | undefined) ?? this.config.thinkingLevel ?? 'medium';\n\n const agent = new Agent({\n initialState: {\n systemPrompt: rt.systemPromptBuilder.build(contextFiles, {\n externalMemoryInstructions: rt.memoryManager.buildExternalSystemPrompt(),\n workspaceOverride: resolvedWorkspacePath,\n profileMarkdownPathRoot: resolveAgentProfileDir(this.config.config!, profile.agentId),\n systemPromptOverride: profile.systemPromptOverride,\n skillAllowlist: profile.skillsAllowlist,\n registeredToolNames,\n sessionKey,\n modelRef,\n agentId: profile.agentId,\n thinkingLevel,\n activeProjectContext: this.composeDynamicProjectContext(\n activeProjectContext,\n activeSelfVerifyContext,\n ),\n }),\n model,\n thinkingLevel,\n tools,\n messages: [],\n },\n toolExecution: 'parallel',\n streamFn: createExtensionAwareStreamFn(),\n getApiKey: (provider: string) => this.resolveApiKeyWithCache(provider),\n beforeToolCall: async ({ toolCall, args }) => {\n const toolName = toolCall.name;\n\n if (toolName === 'exec_command') {\n const ctx = this.config.getCurrentContext();\n const cfg = this.mergedConfig();\n if (ctx && cfg) {\n const command =\n typeof (args as { cmd?: unknown })?.cmd === 'string'\n ? (args as { cmd: string }).cmd\n : JSON.stringify(args ?? {});\n const accountId =\n typeof ctx.metadata?.accountId === 'string' ? ctx.metadata.accountId : undefined;\n const approval = await maybeRequestChannelExecApproval({\n cfg,\n payload: {\n sessionKey: ctx.sessionKey,\n channel: ctx.channel,\n chatId: ctx.chatId,\n accountId,\n toolName,\n summary: command.slice(0, 500),\n details: { command: command.slice(0, 2000) },\n },\n });\n if (approval.required && !approval.approved) {\n return {\n block: true,\n reason: approval.reason ?? 'Exec approval denied or timed out.',\n };\n }\n }\n }\n\n if (!this.config.hookRunner) {\n return undefined;\n }\n const parsed = parseMcpToolName(toolName);\n const hookResult = await this.config.hookRunner.runBeforeToolCall(\n toolName,\n (args ?? {}) as Record<string, unknown>,\n {\n sessionKey,\n isMcpTool: parsed !== null,\n mcpServerId: parsed?.serverId,\n },\n );\n if (!hookResult.allowed) {\n return { block: true, reason: hookResult.reason ?? 'Tool call blocked by policy hook.' };\n }\n return undefined;\n },\n });\n return { agent, registeredToolNames };\n }\n\n private refreshActiveProjectContextIfChanged(instance: AgentInstance): void {\n const nextProjectContext = buildActiveProjectContextForPrompt(instance.sessionKey);\n const nextSelfVerifyContext = this.getSelfVerifyPromptContext(\n instance.sessionKey,\n instance.effectiveProfile.agentId,\n );\n if (\n nextProjectContext === instance.activeProjectContext &&\n nextSelfVerifyContext === (instance.activeSelfVerifyContext ?? '')\n ) {\n return;\n }\n const cfg = this.config.config!;\n const resolvedWorkspacePath = this.getResolvedWorkspaceForSession(instance.sessionKey);\n const rt = this.workspaceRuntimes.getOrCreate(\n resolvedWorkspacePath,\n instance.effectiveProfile.agentId,\n );\n const contextFiles = this.resolveContextFilesForSession(instance.sessionKey, instance.effectiveProfile);\n const modelRef = instance.effectiveProfile.primaryModelRef?.trim() || this.defaultModel;\n const thinkingLevel =\n (instance.agent.state.thinkingLevel as ThinkingLevel | undefined) ??\n (instance.effectiveProfile.thinkingDefault as ThinkingLevel | undefined) ??\n this.config.thinkingLevel ??\n 'medium';\n instance.agent.state.systemPrompt = rt.systemPromptBuilder.build(contextFiles, {\n externalMemoryInstructions: rt.memoryManager.buildExternalSystemPrompt(),\n workspaceOverride: resolvedWorkspacePath,\n profileMarkdownPathRoot: resolveAgentProfileDir(cfg, instance.effectiveProfile.agentId),\n systemPromptOverride: instance.effectiveProfile.systemPromptOverride,\n skillAllowlist: instance.effectiveProfile.skillsAllowlist,\n registeredToolNames: instance.registeredToolNames,\n sessionKey: instance.sessionKey,\n modelRef,\n agentId: instance.effectiveProfile.agentId,\n thinkingLevel,\n activeProjectContext: this.composeDynamicProjectContext(\n nextProjectContext,\n nextSelfVerifyContext,\n ),\n });\n instance.activeProjectContext = nextProjectContext;\n instance.activeSelfVerifyContext = nextSelfVerifyContext;\n log.debug({ sessionKey: instance.sessionKey }, 'Dynamic agent context changed; system prompt refreshed');\n }\n\n /**\n * Set model for a specific session\n */\n setModelForSession(sessionKey: string, modelId: string): boolean {\n const instance = this.agents.get(sessionKey);\n if (!instance) {\n log.warn(\n { sessionKey, modelId, activeSessionCount: this.agents.size },\n `setModelForSession: no agent instance for session (create session / run turn first); modelId=${modelId}`,\n );\n return false;\n }\n\n try {\n const model = resolveModel(modelId);\n instance.agent.state.model = model;\n\n const cfg = this.config.config!;\n const resolvedWorkspacePath = this.getResolvedWorkspaceForSession(sessionKey);\n const rt = this.workspaceRuntimes.getOrCreate(\n resolvedWorkspacePath,\n instance.effectiveProfile.agentId,\n );\n const contextFiles = this.resolveContextFilesForSession(\n sessionKey,\n instance.effectiveProfile,\n );\n const thinkingLevel =\n (instance.agent.state.thinkingLevel as ThinkingLevel | undefined) ??\n (instance.effectiveProfile.thinkingDefault as ThinkingLevel | undefined) ??\n this.config.thinkingLevel ??\n 'medium';\n\n const activeProjectContext = buildActiveProjectContextForPrompt(sessionKey);\n const activeSelfVerifyContext = this.getSelfVerifyPromptContext(\n sessionKey,\n instance.effectiveProfile.agentId,\n );\n instance.agent.state.systemPrompt = rt.systemPromptBuilder.build(contextFiles, {\n externalMemoryInstructions: rt.memoryManager.buildExternalSystemPrompt(),\n workspaceOverride: resolvedWorkspacePath,\n profileMarkdownPathRoot: resolveAgentProfileDir(cfg, instance.effectiveProfile.agentId),\n systemPromptOverride: instance.effectiveProfile.systemPromptOverride,\n skillAllowlist: instance.effectiveProfile.skillsAllowlist,\n registeredToolNames: instance.registeredToolNames,\n sessionKey,\n modelRef: modelId,\n agentId: instance.effectiveProfile.agentId,\n thinkingLevel,\n activeProjectContext: this.composeDynamicProjectContext(\n activeProjectContext,\n activeSelfVerifyContext,\n ),\n });\n instance.activeProjectContext = activeProjectContext;\n instance.activeSelfVerifyContext = activeSelfVerifyContext;\n\n log.info({ sessionKey, modelId }, 'Model set for session');\n return true;\n } catch (err) {\n log.error({ err, sessionKey, modelId }, 'Failed to set model for session');\n return false;\n }\n }\n\n /**\n * Get last assistant content from a session's agent\n */\n getLastAssistantContent(sessionKey: string): string | null {\n const instance = this.agents.get(sessionKey);\n if (!instance) {\n return null;\n }\n\n const messages = instance.agent.state.messages;\n for (let i = messages.length - 1; i >= 0; i--) {\n const msg = messages[i];\n if (msg.role === 'assistant') {\n const content = msg.content;\n if (Array.isArray(content)) {\n return extractTextContent(content as Array<{ type: string; text?: string }>);\n }\n return String(content);\n }\n }\n return null;\n }\n\n /**\n * Replace messages for a session's agent\n */\n replaceMessages(sessionKey: string, messages: AgentMessage[]): boolean {\n const instance = this.agents.get(sessionKey);\n if (!instance) {\n return false;\n }\n\n instance.agent.state.messages = messages;\n return true;\n }\n\n /**\n * Get messages for a session's agent\n */\n getMessages(sessionKey: string): AgentMessage[] | null {\n const instance = this.agents.get(sessionKey);\n if (!instance) {\n return null;\n }\n\n return instance.agent.state.messages;\n }\n\n /**\n * Subscribe to agent events for a session\n */\n subscribeToSession(sessionKey: string, callback: (event: AgentEvent) => void): (() => void) | null {\n const instance = this.agents.get(sessionKey);\n if (!instance) {\n return null;\n }\n\n return instance.agent.subscribe(callback);\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-scope.js","names":[],"sources":["../../../src/agent/agent-scope.ts"],"sourcesContent":["/**\n * Agent path and list resolution (config is the single source of truth).\n */\n\nimport fs from 'node:fs';\nimport { basename, join, relative, resolve, isAbsolute } from 'node:path';\n\nimport type { Config } from '../config/schema.js';\nimport { resolveStateDir } from '../config/paths-state.js';\nimport { expandWorkspacePathString } from '../config/workspace-path.js';\nimport { resolveDefaultAgentWorkspaceDir } from '../config/workspace-defaults.js';\n\nexport const DEFAULT_AGENT_ID = 'main';\n\nconst VALID_ID_RE = /^[a-z0-9][a-z0-9_-]{0,63}$/i;\nconst INVALID_CHARS_RE = /[^a-z0-9_-]+/g;\nconst LEADING_DASH_RE = /^-+/;\nconst TRAILING_DASH_RE = /-+$/;\n\n/** Normalized id segment safe for directory names under `agents/<id>/`. */\nexport const STRICT_AGENT_ID_RE = /^[a-z0-9][a-z0-9_-]{0,63}$/;\n\nconst WINDOWS_RESERVED_AGENT_IDS = new Set<string>([\n 'con',\n 'prn',\n 'aux',\n 'nul',\n 'com1',\n 'com2',\n 'com3',\n 'com4',\n 'com5',\n 'com6',\n 'com7',\n 'com8',\n 'com9',\n 'lpt1',\n 'lpt2',\n 'lpt3',\n 'lpt4',\n 'lpt5',\n 'lpt6',\n 'lpt7',\n 'lpt8',\n 'lpt9',\n]);\n\nfunction normalizeLowercaseStringOrEmpty(s: string): string {\n return s.trim().toLowerCase();\n}\n\n/** Path-safe agent id. */\nexport function normalizeAgentId(value: string | undefined | null): string {\n const trimmed = (value ?? '').trim();\n if (!trimmed) {\n return DEFAULT_AGENT_ID;\n }\n const normalized = normalizeLowercaseStringOrEmpty(trimmed);\n if (VALID_ID_RE.test(trimmed)) {\n return normalized;\n }\n return (\n normalized\n .replace(INVALID_CHARS_RE, '-')\n .replace(LEADING_DASH_RE, '')\n .replace(TRAILING_DASH_RE, '')\n .slice(0, 64) || DEFAULT_AGENT_ID\n );\n}\n\n/**\n * Validate agent id for new agents (folder-safe path segment).\n * When `explicitId` is set, it must already match {@link STRICT_AGENT_ID_RE} (case-insensitive input, stored lowercase).\n * When omitted, id is derived from `displayNameForDerivation` via {@link normalizeAgentId}.\n */\nexport function validateAgentIdForNewAgent(\n explicitId: string | undefined | null,\n displayNameForDerivation: string,\n): { ok: true; agentId: string } | { ok: false; error: string } {\n const explicit = explicitId?.trim();\n if (explicit) {\n const id = explicit.toLowerCase();\n if (!STRICT_AGENT_ID_RE.test(id)) {\n return {\n ok: false,\n error:\n 'Invalid agent id: use 1–64 characters; letters, digits, underscores, and hyphens only; start with a letter or digit.',\n };\n }\n if (id === DEFAULT_AGENT_ID) {\n return { ok: false, error: `\"${DEFAULT_AGENT_ID}\" is reserved` };\n }\n if (WINDOWS_RESERVED_AGENT_IDS.has(id)) {\n return { ok: false, error: `Agent id \"${id}\" is reserved (Windows device name).` };\n }\n return { ok: true, agentId: id };\n }\n\n const agentId = normalizeAgentId(displayNameForDerivation.trim());\n if (agentId === DEFAULT_AGENT_ID) {\n return {\n ok: false,\n error:\n 'Display name cannot produce a valid agent folder id. Set an explicit Agent id (letters, digits, underscores, hyphens only).',\n };\n }\n if (WINDOWS_RESERVED_AGENT_IDS.has(agentId)) {\n return {\n ok: false,\n error: `That display name resolves to \"${agentId}\", which is reserved. Use a different display name or set an explicit Agent id.`,\n };\n }\n if (!STRICT_AGENT_ID_RE.test(agentId)) {\n return {\n ok: false,\n error:\n 'Could not derive a folder-safe agent id from the display name. Set an explicit Agent id (letters, digits, underscores, hyphens only).',\n };\n }\n return { ok: true, agentId };\n}\n\n/** Expand `~` and resolve to an absolute path. */\nexport function resolveUserPath(raw: string): string {\n const expanded = expandWorkspacePathString(raw.trim());\n return resolve(expanded);\n}\n\ntype AgentEntry = NonNullable<NonNullable<Config['agents']>['list']>[number];\n\nexport function listAgentEntries(cfg: Config): AgentEntry[] {\n const list = cfg.agents?.list;\n if (!Array.isArray(list)) {\n return [];\n }\n return list.filter((e): e is AgentEntry => Boolean(e && typeof e === 'object'));\n}\n\nexport function resolveDefaultAgentId(cfg: Config): string {\n const explicit = cfg.agents?.default?.trim();\n if (explicit) {\n return normalizeAgentId(explicit);\n }\n const agents = listAgentEntries(cfg);\n if (agents.length === 0) {\n return DEFAULT_AGENT_ID;\n }\n const chosen =\n agents.find((entry) => (entry as { default?: boolean }).default === true)?.id?.trim() ??\n agents[0]?.id?.trim();\n return chosen ? normalizeAgentId(chosen) : DEFAULT_AGENT_ID;\n}\n\nfunction resolveAgentEntry(cfg: Config, agentId: string): AgentEntry | undefined {\n const id = normalizeAgentId(agentId);\n return listAgentEntries(cfg).find((e) => normalizeAgentId(e.id) === id);\n}\n\n/**\n * Markdown workspace root for an agent.\n */\nexport function resolveAgentWorkspaceDir(cfg: Config, agentId: string): string {\n const id = normalizeAgentId(agentId);\n const workspace = resolveAgentEntry(cfg, id)?.workspace as { root?: string } | string | undefined;\n const configured = (typeof workspace === 'string' ? workspace : workspace?.root)?.trim();\n if (configured) {\n return resolveUserPath(configured);\n }\n const defaultAgentId = resolveDefaultAgentId(cfg);\n if (id === defaultAgentId) {\n return resolveDefaultAgentWorkspaceDir(process.env);\n }\n const stateDir = resolveStateDir(process.env);\n return join(stateDir, `workspace-${id}`);\n}\n\n/**\n * Internal agent state dir: credentials, `agent.json`, pid, inbox (`…/agent/`).\n */\nexport function resolveAgentDir(cfg: Config, agentId: string): string {\n const id = normalizeAgentId(agentId);\n const root = resolveStateDir(process.env);\n return join(root, 'agents', id, 'agent');\n}\n\n/** Parent of `sessions/` and `agent/`: `<stateDir>/agents/<id>/`. */\nexport function resolveAgentHomeDir(cfg: Config, agentId: string): string {\n return join(resolveStateDir(process.env), 'agents', normalizeAgentId(agentId));\n}\n\n/** Profile Markdown + gateway avatar files: `<stateDir>/agents/<id>/profile/`. */\nexport function resolveAgentProfileDir(cfg: Config, agentId: string): string {\n return join(resolveAgentHomeDir(cfg, agentId), 'profile');\n}\n\n/** Resolved path for a single profile Markdown basename (e.g. `SOUL.md`). */\nexport function resolveAgentProfileMarkdownPath(cfg: Config, agentId: string, filename: string): string {\n const base = basename(filename.trim().replace(/\\\\/g, '/'));\n return join(resolveAgentProfileDir(cfg, agentId), base);\n}\n\nfunction normalizePathForComparison(input: string): string {\n const resolved = resolve(resolveUserPath(input));\n let normalized = resolved;\n try {\n normalized = fs.realpathSync.native(resolved);\n } catch {\n // Keep lexical path for non-existent directories.\n }\n if (process.platform === 'win32') {\n return normalized.toLowerCase();\n }\n return normalized;\n}\n\nfunction isPathWithinRoot(candidatePath: string, rootPath: string): boolean {\n const rel = relative(rootPath, candidatePath);\n return rel === '' || (!rel.startsWith('..') && !isAbsolute(rel));\n}\n\n/** Agent ids whose workspace root contains `workspacePath` (longest match first). */\nexport function resolveAgentIdsByWorkspacePath(cfg: Config, workspacePath: string): string[] {\n const normalizedWorkspacePath = normalizePathForComparison(workspacePath);\n const entries = listAgentEntries(cfg);\n const matches: Array<{ id: string; workspaceDir: string; order: number }> = [];\n\n for (let index = 0; index < entries.length; index += 1) {\n const entry = entries[index]!;\n const id = normalizeAgentId(entry.id);\n const workspaceDir = normalizePathForComparison(resolveAgentWorkspaceDir(cfg, id));\n if (!isPathWithinRoot(normalizedWorkspacePath, workspaceDir)) {\n continue;\n }\n matches.push({ id, workspaceDir, order: index });\n }\n\n const defaultId = resolveDefaultAgentId(cfg);\n if (!entries.some((e) => normalizeAgentId(e.id) === defaultId)) {\n const workspaceDir = normalizePathForComparison(resolveAgentWorkspaceDir(cfg, defaultId));\n if (isPathWithinRoot(normalizedWorkspacePath, workspaceDir)) {\n matches.push({ id: defaultId, workspaceDir, order: entries.length });\n }\n }\n\n matches.sort((left, right) => {\n const workspaceLengthDelta = right.workspaceDir.length - left.workspaceDir.length;\n if (workspaceLengthDelta !== 0) {\n return workspaceLengthDelta;\n }\n return left.order - right.order;\n });\n\n return matches.map((entry) => entry.id);\n}\n\n/** Best-matching agent id for cwd, or `undefined` when no workspace contains the path. */\nexport function resolveAgentIdByWorkspacePath(\n cfg: Config,\n workspacePath: string,\n): string | undefined {\n return resolveAgentIdsByWorkspacePath(cfg, workspacePath)[0];\n}\n\n/**\n * Find the agent id whose resolved markdown workspace matches `resolvedWorkspacePath`.\n * Falls back to {@link resolveDefaultAgentId} when no list entry matches.\n */\nexport function resolveAgentIdForWorkspacePath(cfg: Config, resolvedWorkspacePath: string): string {\n return (\n resolveAgentIdByWorkspacePath(cfg, resolvedWorkspacePath) ??\n resolveDefaultAgentId(cfg)\n );\n}\n\nexport function getDefaultWorkspacePath(cfg: Config): string {\n return resolveAgentWorkspaceDir(cfg, resolveDefaultAgentId(cfg));\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"coordinator.js","names":[],"sources":["../../../../src/agent/background-review/coordinator.ts"],"sourcesContent":["/**\n * BackgroundReviewCoordinator — owns the per-session counters that decide when\n * to nudge the model into running a quiet user-understanding review\n * after a normal user turn finishes.\n *\n * The nudge state and review scheduling are kept out of the per-session agent\n * instance so:\n * - `AgentInstance` no longer carries an inline counter object.\n * - Future changes to the review cadence only touch this file.\n */\n\nimport type { Agent } from '@earendil-works/pi-agent-core';\n\nimport type { Config } from '../../config/schema.js';\nimport { summarizeUserUnderstandingQuality } from '../../storage/sqlite/index.js';\nimport { createLogger } from '../../utils/logger.js';\nimport { resolveAdaptiveUnderstandingCadence } from '../memory/understanding/quality.js';\nimport {\n isAssistantTurnAborted,\n isAssistantTurnFailed,\n} from '../orchestration/llm-turn-retry.js';\nimport type { WorkspaceRuntime } from '../workspace-runtime/registry.js';\nimport {\n resolveBackgroundReviewSettings,\n type BackgroundReviewSettings,\n} from './settings.js';\nimport { runBackgroundReviewTurn } from './run-background-review.js';\n\nconst log = createLogger('BackgroundReviewCoordinator');\n\ninterface NudgeState {\n turnsSinceReview: number;\n pendingReview: boolean;\n adaptiveIntervalTurns?: number;\n adaptiveIntervalExpiresAt?: number;\n}\n\nexport interface BackgroundReviewCoordinatorOptions {\n /** Effective config snapshot used to look up review-cadence settings. */\n getConfig: () => Config | undefined;\n}\n\nexport interface ScheduleReviewContext {\n sessionKey: string;\n agent: Agent;\n /** Last assistant text — review is skipped when empty. */\n lastAssistantText: string | null;\n workspaceRuntime: WorkspaceRuntime;\n}\n\nexport class BackgroundReviewCoordinator {\n private readonly opts: BackgroundReviewCoordinatorOptions;\n private readonly states = new Map<string, NudgeState>();\n\n constructor(opts: BackgroundReviewCoordinatorOptions) {\n this.opts = opts;\n }\n\n /**\n * Called before the main `agent.prompt` for a user turn — bumps the memory\n * counter and arms a review when the cadence interval is hit.\n */\n beginUserTurn(sessionKey: string): void {\n const cfg = resolveBackgroundReviewSettings(this.opts.getConfig(), sessionKey);\n if (!cfg.enabled) return;\n\n const state = this.ensureState(sessionKey);\n const intervalTurns = this.resolveReviewInterval(cfg, state);\n state.turnsSinceReview += 1;\n if (state.turnsSinceReview >= intervalTurns) {\n state.pendingReview = true;\n state.turnsSinceReview = 0;\n }\n }\n\n /**\n * Fire-and-forget review after the main user turn. Decides whether to run a\n * understanding sweep based on the counter state + last assistant text,\n * and delegates the actual review to {@link runBackgroundReviewTurn}.\n */\n scheduleAfterUserTurn(ctx: ScheduleReviewContext): void {\n void this.runReviewIfNeeded(ctx).catch((err) => {\n log.warn({ err, sessionKey: ctx.sessionKey }, 'Background review failed');\n });\n }\n\n /** Tear down state for a session (called by `AgentManager.removeAgent`). */\n forgetSession(sessionKey: string): void {\n this.states.delete(sessionKey);\n }\n\n /** Clear every counter (`AgentManager.dispose` / hot reload). */\n clear(): void {\n this.states.clear();\n }\n\n private ensureState(sessionKey: string): NudgeState {\n const existing = this.states.get(sessionKey);\n if (existing) return existing;\n const state: NudgeState = {\n turnsSinceReview: 0,\n pendingReview: false,\n };\n this.states.set(sessionKey, state);\n return state;\n }\n\n private resolveReviewInterval(settings: BackgroundReviewSettings, state: NudgeState): number {\n if (!settings.adaptiveCadence || !settings.agentId) return settings.reviewIntervalTurns;\n const now = Date.now();\n if (\n state.adaptiveIntervalTurns != null\n && (state.adaptiveIntervalExpiresAt ?? 0) > now\n ) {\n return state.adaptiveIntervalTurns;\n }\n try {\n const metrics = summarizeUserUnderstandingQuality({ windowDays: 30, nowMs: now });\n const decision = resolveAdaptiveUnderstandingCadence(settings.reviewIntervalTurns, metrics);\n state.adaptiveIntervalTurns = decision.effectiveIntervalTurns;\n state.adaptiveIntervalExpiresAt = now + 5 * 60_000;\n if (decision.slowed) {\n log.debug({\n agentId: settings.agentId,\n baseIntervalTurns: decision.baseIntervalTurns,\n effectiveIntervalTurns: decision.effectiveIntervalTurns,\n reasons: decision.reasons,\n }, 'User-understanding review cadence slowed by quality signals');\n }\n return decision.effectiveIntervalTurns;\n } catch {\n return settings.reviewIntervalTurns;\n }\n }\n\n private async runReviewIfNeeded(ctx: ScheduleReviewContext): Promise<void> {\n const state = this.states.get(ctx.sessionKey);\n if (!state) return;\n const settings = resolveBackgroundReviewSettings(this.opts.getConfig(), ctx.sessionKey);\n if (!settings.enabled) return;\n if (isAssistantTurnAborted(ctx.agent) || isAssistantTurnFailed(ctx.agent)) return;\n if (!ctx.lastAssistantText?.trim()) return;\n\n const shouldReview = state.pendingReview;\n state.pendingReview = false;\n if (!shouldReview) return;\n\n await runBackgroundReviewTurn({\n sessionKey: ctx.sessionKey,\n mainAgent: ctx.agent,\n settings,\n memoryManager: ctx.workspaceRuntime.memoryManager,\n getConfig: () => this.opts.getConfig(),\n });\n }\n}\n"],"mappings":";;;;;;;;;aAeqD;AAarD,MAAM,MAAM,aAAa,8BAA8B;AAsBvD,IAAa,8BAAb,MAAyC;CACvC;CACA,yBAA0B,IAAI,KAAyB;CAEvD,YAAY,MAA0C;AACpD,OAAK,OAAO;;;;;;CAOd,cAAc,YAA0B;EACtC,MAAM,MAAM,gCAAgC,KAAK,KAAK,WAAW,EAAE,WAAW;AAC9E,MAAI,CAAC,IAAI,QAAS;EAElB,MAAM,QAAQ,KAAK,YAAY,WAAW;EAC1C,MAAM,gBAAgB,KAAK,sBAAsB,KAAK,MAAM;AAC5D,QAAM,oBAAoB;AAC1B,MAAI,MAAM,oBAAoB,eAAe;AAC3C,SAAM,gBAAgB;AACtB,SAAM,mBAAmB;;;;;;;;CAS7B,sBAAsB,KAAkC;AACjD,OAAK,kBAAkB,IAAI,CAAC,OAAO,QAAQ;AAC9C,OAAI,KAAK;IAAE;IAAK,YAAY,IAAI;IAAY,EAAE,2BAA2B;IACzE;;;CAIJ,cAAc,YAA0B;AACtC,OAAK,OAAO,OAAO,WAAW;;;CAIhC,QAAc;AACZ,OAAK,OAAO,OAAO;;CAGrB,YAAoB,YAAgC;EAClD,MAAM,WAAW,KAAK,OAAO,IAAI,WAAW;AAC5C,MAAI,SAAU,QAAO;EACrB,MAAM,QAAoB;GACxB,kBAAkB;GAClB,eAAe;GAChB;AACD,OAAK,OAAO,IAAI,YAAY,MAAM;AAClC,SAAO;;CAGT,sBAA8B,UAAoC,OAA2B;AAC3F,MAAI,CAAC,SAAS,mBAAmB,CAAC,SAAS,QAAS,QAAO,SAAS;EACpE,MAAM,MAAM,KAAK,KAAK;AACtB,MACE,MAAM,yBAAyB,SAC3B,MAAM,6BAA6B,KAAK,IAE5C,QAAO,MAAM;AAEf,MAAI;GACF,MAAM,UAAU,kCAAkC;IAAE,YAAY;IAAI,OAAO;IAAK,CAAC;GACjF,MAAM,WAAW,oCAAoC,SAAS,qBAAqB,QAAQ;AAC3F,SAAM,wBAAwB,SAAS;AACvC,SAAM,4BAA4B,MAAM,IAAI;AAC5C,OAAI,SAAS,OACX,KAAI,MAAM;IACR,SAAS,SAAS;IAClB,mBAAmB,SAAS;IAC5B,wBAAwB,SAAS;IACjC,SAAS,SAAS;IACnB,EAAE,8DAA8D;AAEnE,UAAO,SAAS;UACV;AACN,UAAO,SAAS;;;CAIpB,MAAc,kBAAkB,KAA2C;EACzE,MAAM,QAAQ,KAAK,OAAO,IAAI,IAAI,WAAW;AAC7C,MAAI,CAAC,MAAO;EACZ,MAAM,WAAW,gCAAgC,KAAK,KAAK,WAAW,EAAE,IAAI,WAAW;AACvF,MAAI,CAAC,SAAS,QAAS;AACvB,MAAI,uBAAuB,IAAI,MAAM,IAAI,sBAAsB,IAAI,MAAM,CAAE;AAC3E,MAAI,CAAC,IAAI,mBAAmB,MAAM,CAAE;EAEpC,MAAM,eAAe,MAAM;AAC3B,QAAM,gBAAgB;AACtB,MAAI,CAAC,aAAc;AAEnB,QAAM,wBAAwB;GAC5B,YAAY,IAAI;GAChB,WAAW,IAAI;GACf;GACA,eAAe,IAAI,iBAAiB;GACpC,iBAAiB,KAAK,KAAK,WAAW;GACvC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompts.js","names":[],"sources":["../../../../src/agent/background-review/prompts.ts"],"sourcesContent":["export const MEMORY_REVIEW_USER_PROMPT = `Review the conversation above and identify durable user-understanding candidates.\n\nFocus on:\n1. Has the user revealed things about themselves — persona, desires, preferences, or personal details worth remembering?\n2. Has the user expressed expectations about how you should behave, their work style, emotional-support preferences, boundaries, or how they want you to communicate?\n3. Has the user explicitly corrected a prior assumption? Prefer the correction and do not preserve the contradicted interpretation.\n\nReturn JSON only, with this shape:\n{\"candidates\":[{\"kind\":\"preference\",\"content\":\"...\",\"confidence\":0.8,\"importance\":0.7,\"durability\":\"durable\",\"sensitivity\":\"normal\",\"disclosurePolicy\":\"referenceable\",\"tags\":[\"background-review\"]}]}\n\nAllowed kinds: preference, boundary, relationship, project_context, commitment, routine, personal_logistics, open_question, milestone, current_state, task_lesson, tool_preference, long_term_goal, derived_insight.\nOnly include facts supported by the conversation and likely to matter in a future session. A temporary mood or one-off reaction is current context, not durable identity; omit it unless the user describes a recurring pattern that will matter later. Never include passwords, tokens, credentials, or speculative diagnoses. Use {\"candidates\":[]} when nothing qualifies.`;\n\nexport const UNDERSTANDING_REVIEW_SYSTEM_PROMPT = `You are the user-understanding synthesis stage for the same session. You do not chat with the user and cannot write storage directly. Extract only evidence-backed, durable candidates and return strict JSON matching the requested schema.`;\n"],"mappings":";AAAA,MAAa,4BAA4B;;;;;;;;;;;;AAazC,MAAa,qCAAqC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-background-review.js","names":[],"sources":["../../../../src/agent/background-review/run-background-review.ts"],"sourcesContent":["import { Agent, type AgentMessage, type ThinkingLevel } from '@earendil-works/pi-agent-core';\nimport type { Api, Model } from '@earendil-works/pi-ai';\n\nimport type { Config } from '../../config/schema.js';\nimport { resolveProviderApiKeySync } from '../../auth/sync-provider-auth.js';\nimport { getApiKeySync } from '../../providers/index.js';\nimport { createExtensionAwareStreamFn } from '../../providers/extension-stream-bridge.js';\nimport { createLogger } from '../../utils/logger.js';\n\nimport { extractTextContent } from '../context/workspace.js';\nimport type { MemoryManager } from '../memory/manager.js';\nimport type { UnderstandingCandidate } from '../memory/understanding/types.js';\nimport {\n runAgentTurnWithTimeout,\n resolveAgentTurnTimeoutMs,\n} from '../orchestration/run-agent-turn-with-timeout.js';\nimport {\n isAssistantTurnAborted,\n isAssistantTurnFailed,\n} from '../orchestration/llm-turn-retry.js';\n\nimport type { BackgroundReviewSettings } from './settings.js';\nimport {\n MEMORY_REVIEW_USER_PROMPT,\n UNDERSTANDING_REVIEW_SYSTEM_PROMPT,\n} from './prompts.js';\n\nconst log = createLogger('BackgroundReview');\n\nfunction cloneMessageTail(messages: AgentMessage[], max: number): AgentMessage[] {\n const tail = messages.length <= max ? messages : messages.slice(-max);\n return JSON.parse(JSON.stringify(tail)) as AgentMessage[];\n}\n\nexport interface RunBackgroundReviewParams {\n sessionKey: string;\n mainAgent: Agent;\n settings: BackgroundReviewSettings;\n memoryManager: MemoryManager;\n getConfig: () => Config | undefined;\n}\n\nconst ALLOWED_UNDERSTANDING_KINDS = new Set<UnderstandingCandidate['kind']>([\n 'preference', 'boundary', 'relationship', 'project_context', 'commitment', 'routine',\n 'personal_logistics', 'open_question', 'milestone', 'current_state', 'task_lesson',\n 'tool_preference', 'long_term_goal', 'derived_insight',\n]);\nconst ALLOWED_SENSITIVITIES = new Set<UnderstandingCandidate['sensitivity']>([\n 'normal', 'personal', 'secret', 'regulated',\n]);\n\nfunction lastAssistantText(agent: Agent): string {\n for (let i = agent.state.messages.length - 1; i >= 0; i--) {\n const message = agent.state.messages[i];\n if (message.role !== 'assistant') continue;\n return Array.isArray(message.content)\n ? extractTextContent(message.content as Array<{ type: string; text?: string }>)\n : String(message.content);\n }\n return '';\n}\n\nfunction parseUnderstandingCandidates(raw: string): UnderstandingCandidate[] {\n const fenced = /```(?:json)?\\s*([\\s\\S]*?)```/i.exec(raw)?.[1];\n const start = raw.indexOf('{');\n const end = raw.lastIndexOf('}');\n const candidateJson = fenced ?? (start >= 0 && end > start ? raw.slice(start, end + 1) : raw);\n try {\n const parsed = JSON.parse(candidateJson) as { candidates?: unknown };\n if (!Array.isArray(parsed.candidates)) return [];\n const output: UnderstandingCandidate[] = [];\n for (const value of parsed.candidates.slice(0, 8)) {\n if (!value || typeof value !== 'object') continue;\n const item = value as Record<string, unknown>;\n if (!ALLOWED_UNDERSTANDING_KINDS.has(item.kind as UnderstandingCandidate['kind'])) continue;\n if (typeof item.content !== 'string' || item.content.trim().length < 4) continue;\n const confidence = typeof item.confidence === 'number' ? item.confidence : 0.65;\n const importance = typeof item.importance === 'number' ? item.importance : 0.5;\n const durability = item.durability === 'ephemeral' || item.durability === 'recurring'\n ? item.durability\n : 'durable';\n const sensitivity = ALLOWED_SENSITIVITIES.has(item.sensitivity as UnderstandingCandidate['sensitivity'])\n ? item.sensitivity as UnderstandingCandidate['sensitivity']\n : 'personal';\n const disclosurePolicy = item.disclosurePolicy === 'silent' || item.disclosurePolicy === 'ask_before_reference'\n ? item.disclosurePolicy\n : 'referenceable';\n output.push({\n kind: item.kind as UnderstandingCandidate['kind'],\n content: item.content.trim(),\n confidence: Math.max(0, Math.min(1, confidence)),\n importance: Math.max(0, Math.min(1, importance)),\n explicitness: 'inferred',\n durability,\n sensitivity,\n disclosurePolicy,\n tags: Array.isArray(item.tags)\n ? item.tags.filter((tag): tag is string => typeof tag === 'string').slice(0, 8)\n : ['background-review'],\n });\n }\n return output;\n } catch {\n return [];\n }\n}\n\nasync function runUnderstandingReview(params: RunBackgroundReviewParams): Promise<void> {\n const { sessionKey, mainAgent, settings, memoryManager, getConfig } = params;\n const reviewAgent = new Agent({\n initialState: {\n systemPrompt: UNDERSTANDING_REVIEW_SYSTEM_PROMPT,\n model: mainAgent.state.model as Model<Api>,\n thinkingLevel: 'off' as ThinkingLevel,\n tools: [],\n messages: [],\n },\n streamFn: createExtensionAwareStreamFn(),\n getApiKey: (provider: string) => resolveProviderApiKeySync(provider) ?? getApiKeySync(provider) ?? '',\n });\n reviewAgent.state.messages = cloneMessageTail(mainAgent.state.messages, settings.maxHistoryMessages);\n const timeoutMs = Math.min(settings.maxDurationMs, resolveAgentTurnTimeoutMs(getConfig()));\n try {\n await runAgentTurnWithTimeout(reviewAgent, async () => {\n await reviewAgent.prompt({ role: 'user', content: MEMORY_REVIEW_USER_PROMPT, timestamp: Date.now() });\n await reviewAgent.waitForIdle();\n }, timeoutMs);\n } catch (err) {\n log.warn({ err, sessionKey }, 'User-understanding review failed or timed out');\n reviewAgent.abort();\n await reviewAgent.waitForIdle().catch(() => {});\n return;\n }\n if (isAssistantTurnAborted(reviewAgent) || isAssistantTurnFailed(reviewAgent)) return;\n const candidates = parseUnderstandingCandidates(lastAssistantText(reviewAgent));\n await memoryManager.applyUnderstandingCandidates(candidates, {\n agentId: settings.agentId,\n sessionKey,\n sourceText: 'Background review of the current session transcript',\n reviewSource: 'background',\n });\n log.debug({ sessionKey, candidateCount: candidates.length }, 'User-understanding review completed');\n}\n\nexport async function runBackgroundReviewTurn(params: RunBackgroundReviewParams): Promise<void> {\n await runUnderstandingReview(params);\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings.js","names":[],"sources":["../../../../src/agent/background-review/settings.ts"],"sourcesContent":["import type { Config } from '../../config/schema.js';\n\nexport interface BackgroundReviewSettings {\n enabled: boolean;\n agentId?: string;\n adaptiveCadence: boolean;\n reviewIntervalTurns: number;\n maxHistoryMessages: number;\n maxDurationMs: number;\n}\n\nconst DEFAULT_SETTINGS: BackgroundReviewSettings = {\n enabled: false,\n adaptiveCadence: true,\n reviewIntervalTurns: 10,\n maxHistoryMessages: 80,\n maxDurationMs: 120_000,\n};\n\nexport function resolveBackgroundReviewSettings(\n config: Config | undefined,\n _sessionKey?: string,\n): BackgroundReviewSettings {\n if (!config) return DEFAULT_SETTINGS;\n\n const { memory, understanding } = config.userContext;\n const writeCapable = memory.mode === 'confirmWrite' || memory.mode === 'auto';\n return {\n enabled: config.userContext.enabled && writeCapable && understanding.enabled,\n adaptiveCadence: understanding.adaptiveCadence,\n reviewIntervalTurns: understanding.reviewIntervalTurns,\n maxHistoryMessages: understanding.maxHistoryMessages,\n maxDurationMs: understanding.maxDurationMs,\n };\n}\n"],"mappings":";AAWA,MAAM,mBAA6C;CACjD,SAAS;CACT,iBAAiB;CACjB,qBAAqB;CACrB,oBAAoB;CACpB,eAAe;CAChB;AAED,SAAgB,gCACd,QACA,aAC0B;AAC1B,KAAI,CAAC,OAAQ,QAAO;CAEpB,MAAM,EAAE,QAAQ,kBAAkB,OAAO;CACzC,MAAM,eAAe,OAAO,SAAS,kBAAkB,OAAO,SAAS;AACvE,QAAO;EACL,SAAS,OAAO,YAAY,WAAW,gBAAgB,cAAc;EACrE,iBAAiB,cAAc;EAC/B,qBAAqB,cAAc;EACnC,oBAAoB,cAAc;EAClC,eAAe,cAAc;EAC9B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"bootstrap-cache.js","names":[],"sources":["../../../../src/agent/bootstrap/bootstrap-cache.ts"],"sourcesContent":["import { loadProfileBootstrapFiles, loadUserProfileBootstrapFile } from './load-bootstrap-files.js';\nimport type { WorkspaceBootstrapFile } from './types.js';\n\ntype BootstrapSnapshot = {\n profileDir: string;\n userProfilePath?: string;\n files: WorkspaceBootstrapFile[];\n};\n\nconst cache = new Map<string, BootstrapSnapshot>();\nconst bootstrapContextInjected = new Set<string>();\n\nfunction bootstrapFilesEqual(\n previous: WorkspaceBootstrapFile[],\n next: WorkspaceBootstrapFile[],\n): boolean {\n if (previous.length !== next.length) {\n return false;\n }\n return previous.every((file, index) => {\n const updated = next[index];\n return (\n updated !== undefined &&\n file.name === updated.name &&\n file.path === updated.path &&\n file.content === updated.content &&\n file.missing === updated.missing\n );\n });\n}\n\nexport function wasBootstrapContextInjected(sessionKey: string): boolean {\n return bootstrapContextInjected.has(sessionKey);\n}\n\nexport function markBootstrapContextInjected(sessionKey: string): void {\n bootstrapContextInjected.add(sessionKey);\n}\n\nexport async function getOrLoadBootstrapFiles(params: {\n profileDir: string;\n userProfilePath?: string;\n sessionKey: string;\n}): Promise<WorkspaceBootstrapFile[]> {\n const existing = cache.get(params.sessionKey);\n const files = [\n ...loadUserProfileBootstrapFile(params.userProfilePath),\n ...loadProfileBootstrapFiles(params.profileDir),\n ];\n if (\n existing &&\n existing.profileDir === params.profileDir &&\n existing.userProfilePath === params.userProfilePath &&\n bootstrapFilesEqual(existing.files, files)\n ) {\n return existing.files;\n }\n cache.set(params.sessionKey, {\n profileDir: params.profileDir,\n userProfilePath: params.userProfilePath,\n files,\n });\n return files;\n}\n\nexport function clearBootstrapSnapshot(sessionKey: string): void {\n cache.delete(sessionKey);\n bootstrapContextInjected.delete(sessionKey);\n}\n\nexport function clearAllBootstrapSnapshots(): void {\n cache.clear();\n bootstrapContextInjected.clear();\n}\n"],"mappings":";;AASA,MAAM,wBAAQ,IAAI,KAAgC;AAClD,MAAM,2CAA2B,IAAI,KAAa;AAElD,SAAS,oBACP,UACA,MACS;AACT,KAAI,SAAS,WAAW,KAAK,OAC3B,QAAO;AAET,QAAO,SAAS,OAAO,MAAM,UAAU;EACrC,MAAM,UAAU,KAAK;AACrB,SACE,YAAY,KAAA,KACZ,KAAK,SAAS,QAAQ,QACtB,KAAK,SAAS,QAAQ,QACtB,KAAK,YAAY,QAAQ,WACzB,KAAK,YAAY,QAAQ;GAE3B;;AAGJ,SAAgB,4BAA4B,YAA6B;AACvE,QAAO,yBAAyB,IAAI,WAAW;;AAGjD,SAAgB,6BAA6B,YAA0B;AACrE,0BAAyB,IAAI,WAAW;;AAG1C,eAAsB,wBAAwB,QAIR;CACpC,MAAM,WAAW,MAAM,IAAI,OAAO,WAAW;CAC7C,MAAM,QAAQ,CACZ,GAAG,6BAA6B,OAAO,gBAAgB,EACvD,GAAG,0BAA0B,OAAO,WAAW,CAChD;AACD,KACE,YACA,SAAS,eAAe,OAAO,cAC/B,SAAS,oBAAoB,OAAO,mBACpC,oBAAoB,SAAS,OAAO,MAAM,CAE1C,QAAO,SAAS;AAElB,OAAM,IAAI,OAAO,YAAY;EAC3B,YAAY,OAAO;EACnB,iBAAiB,OAAO;EACxB;EACD,CAAC;AACF,QAAO;;AAGT,SAAgB,uBAAuB,YAA0B;AAC/D,OAAM,OAAO,WAAW;AACxB,0BAAyB,OAAO,WAAW;;AAG7C,SAAgB,6BAAmC;AACjD,OAAM,OAAO;AACb,0BAAyB,OAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"bootstrap-context.js","names":[],"sources":["../../../../src/agent/bootstrap/bootstrap-context.ts"],"sourcesContent":["import type { Config } from '../../config/schema.js';\nimport type { EmbeddedContextFile, WorkspaceBootstrapFile } from './types.js';\n\nexport const DEFAULT_BOOTSTRAP_MAX_CHARS = 12_000;\nexport const DEFAULT_BOOTSTRAP_TOTAL_MAX_CHARS = 60_000;\nconst MIN_BOOTSTRAP_FILE_BUDGET_CHARS = 64;\nconst BOOTSTRAP_HEAD_RATIO = 0.75;\nconst BOOTSTRAP_TAIL_RATIO = 0.25;\n\nexport function resolveBootstrapMaxChars(_config?: Config): number {\n return DEFAULT_BOOTSTRAP_MAX_CHARS;\n}\n\nexport function resolveBootstrapTotalMaxChars(_config?: Config): number {\n return DEFAULT_BOOTSTRAP_TOTAL_MAX_CHARS;\n}\n\nfunction clampToBudget(content: string, budget: number): string {\n if (budget <= 0) {\n return '';\n }\n if (content.length <= budget) {\n return content;\n }\n if (budget <= 3) {\n return content.slice(0, budget);\n }\n return `${content.slice(0, budget - 1)}…`;\n}\n\nfunction trimBootstrapContent(\n content: string,\n fileName: string,\n maxChars: number,\n): { content: string; truncated: boolean; originalLength: number; maxChars: number } {\n const trimmed = content.trimEnd();\n if (trimmed.length <= maxChars) {\n return { content: trimmed, truncated: false, originalLength: trimmed.length, maxChars };\n }\n\n const markerTemplate = (head: number, tail: number) =>\n `\\n\\n[...truncated ${fileName}: kept ${head}+${tail} of ${trimmed.length} chars...]\\n\\n`;\n let headChars = Math.floor(maxChars * BOOTSTRAP_HEAD_RATIO);\n let tailChars = Math.floor(maxChars * BOOTSTRAP_TAIL_RATIO);\n let marker = markerTemplate(headChars, tailChars);\n let renderedLength = headChars + tailChars + marker.length;\n\n while (renderedLength > maxChars && (headChars > 0 || tailChars > 0)) {\n if (tailChars >= headChars && tailChars > 0) {\n tailChars -= 1;\n } else if (headChars > 0) {\n headChars -= 1;\n } else {\n break;\n }\n marker = markerTemplate(headChars, tailChars);\n renderedLength = headChars + tailChars + marker.length;\n }\n\n const head = trimmed.slice(0, headChars);\n const tail = tailChars > 0 ? trimmed.slice(-tailChars) : '';\n const bounded = `${head}${marker}${tail}`;\n return {\n content: bounded.length > maxChars ? bounded.slice(0, maxChars) : bounded,\n truncated: true,\n originalLength: trimmed.length,\n maxChars,\n };\n}\n\nexport function buildBootstrapContextFiles(\n files: WorkspaceBootstrapFile[],\n opts?: { warn?: (message: string) => void; maxChars?: number; totalMaxChars?: number },\n): EmbeddedContextFile[] {\n const maxChars = opts?.maxChars ?? DEFAULT_BOOTSTRAP_MAX_CHARS;\n const totalMaxChars = Math.max(\n 1,\n Math.floor(opts?.totalMaxChars ?? Math.max(maxChars, DEFAULT_BOOTSTRAP_TOTAL_MAX_CHARS)),\n );\n let remainingTotalChars = totalMaxChars;\n const result: EmbeddedContextFile[] = [];\n\n for (const file of files) {\n if (remainingTotalChars <= 0) {\n break;\n }\n const pathValue = file.path.trim();\n if (!pathValue) {\n opts?.warn?.(`skipping bootstrap file \"${file.name}\" — missing path`);\n continue;\n }\n\n if (file.missing) {\n const missingText = `[MISSING] Expected at: ${pathValue}`;\n const capped = clampToBudget(missingText, remainingTotalChars);\n if (!capped) {\n break;\n }\n remainingTotalChars = Math.max(0, remainingTotalChars - capped.length);\n result.push({ path: pathValue, content: capped });\n continue;\n }\n\n if (remainingTotalChars < MIN_BOOTSTRAP_FILE_BUDGET_CHARS) {\n opts?.warn?.(\n `remaining bootstrap budget is ${remainingTotalChars} chars (<${MIN_BOOTSTRAP_FILE_BUDGET_CHARS}); skipping additional bootstrap files`,\n );\n break;\n }\n\n const fileMaxChars = Math.max(1, Math.min(maxChars, remainingTotalChars));\n const trimmed = trimBootstrapContent(file.content ?? '', file.name, fileMaxChars);\n const contentWithinBudget = clampToBudget(trimmed.content, remainingTotalChars);\n if (!contentWithinBudget) {\n continue;\n }\n if (trimmed.truncated || contentWithinBudget.length < trimmed.content.length) {\n opts?.warn?.(\n `profile bootstrap file ${file.name} is ${trimmed.originalLength} chars (limit ${trimmed.maxChars}); truncating in injected context`,\n );\n }\n remainingTotalChars = Math.max(0, remainingTotalChars - contentWithinBudget.length);\n result.push({ path: pathValue, content: contentWithinBudget });\n }\n\n return result;\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"bootstrap-files.js","names":[],"sources":["../../../../src/agent/bootstrap/bootstrap-files.ts"],"sourcesContent":["import type { Config } from '../../config/schema.js';\nimport { DEFAULT_HEARTBEAT_FILENAME } from '../context/workspace.js';\nimport {\n getOrLoadBootstrapFiles,\n markBootstrapContextInjected,\n wasBootstrapContextInjected,\n} from './bootstrap-cache.js';\nimport {\n buildBootstrapContextFiles,\n resolveBootstrapMaxChars,\n resolveBootstrapTotalMaxChars,\n} from './bootstrap-context.js';\nimport { filterBootstrapFilesForSession } from './filter-bootstrap-files.js';\nimport { loadProfileBootstrapFiles, loadUserProfileBootstrapFile } from './load-bootstrap-files.js';\nimport type { EmbeddedContextFile, WorkspaceBootstrapFile } from './types.js';\n\nexport { clearAllBootstrapSnapshots, clearBootstrapSnapshot } from './bootstrap-cache.js';\n\nfunction filterHeartbeatBootstrapFile(\n files: WorkspaceBootstrapFile[],\n exclude: boolean,\n): WorkspaceBootstrapFile[] {\n if (!exclude) {\n return files;\n }\n return files.filter((file) => file.name !== DEFAULT_HEARTBEAT_FILENAME);\n}\n\nexport function resolveBootstrapFilesSync(params: {\n profileDir: string;\n userProfilePath?: string;\n sessionKey?: string;\n excludeHeartbeat?: boolean;\n}): WorkspaceBootstrapFile[] {\n const rawFiles = [\n ...loadUserProfileBootstrapFile(params.userProfilePath),\n ...loadProfileBootstrapFiles(params.profileDir),\n ];\n const filtered = filterBootstrapFilesForSession(rawFiles, params.sessionKey);\n return filterHeartbeatBootstrapFile(filtered, params.excludeHeartbeat ?? false);\n}\n\nexport async function resolveBootstrapFilesForRun(params: {\n profileDir: string;\n userProfilePath?: string;\n sessionKey?: string;\n excludeHeartbeat?: boolean;\n warn?: (message: string) => void;\n}): Promise<WorkspaceBootstrapFile[]> {\n const sessionKey = params.sessionKey;\n const rawFiles = sessionKey\n ? await getOrLoadBootstrapFiles({\n profileDir: params.profileDir,\n userProfilePath: params.userProfilePath,\n sessionKey,\n })\n : [\n ...loadUserProfileBootstrapFile(params.userProfilePath),\n ...loadProfileBootstrapFiles(params.profileDir),\n ];\n const filtered = filterBootstrapFilesForSession(rawFiles, sessionKey);\n return filterHeartbeatBootstrapFile(filtered, params.excludeHeartbeat ?? false);\n}\n\nexport function resolveBootstrapContextSync(params: {\n profileDir: string;\n userProfilePath?: string;\n config?: Config;\n sessionKey?: string;\n excludeHeartbeat?: boolean;\n contextInjection?: 'always' | 'continuation-skip' | 'never';\n}): {\n bootstrapFiles: WorkspaceBootstrapFile[];\n contextFiles: EmbeddedContextFile[];\n} {\n const mode = params.contextInjection ?? 'always';\n if (mode === 'never') {\n return { bootstrapFiles: [], contextFiles: [] };\n }\n if (\n mode === 'continuation-skip' &&\n params.sessionKey &&\n wasBootstrapContextInjected(params.sessionKey)\n ) {\n return { bootstrapFiles: [], contextFiles: [] };\n }\n const bootstrapFiles = resolveBootstrapFilesSync(params);\n const contextFiles = buildBootstrapContextFiles(bootstrapFiles, {\n maxChars: resolveBootstrapMaxChars(params.config),\n totalMaxChars: resolveBootstrapTotalMaxChars(params.config),\n });\n if (mode === 'continuation-skip' && params.sessionKey && contextFiles.length > 0) {\n markBootstrapContextInjected(params.sessionKey);\n }\n return { bootstrapFiles, contextFiles };\n}\n\nexport async function resolveBootstrapContextForRun(params: {\n profileDir: string;\n userProfilePath?: string;\n config?: Config;\n sessionKey?: string;\n excludeHeartbeat?: boolean;\n contextInjection?: 'always' | 'continuation-skip' | 'never';\n warn?: (message: string) => void;\n}): Promise<{\n bootstrapFiles: WorkspaceBootstrapFile[];\n contextFiles: EmbeddedContextFile[];\n}> {\n const mode = params.contextInjection ?? 'always';\n if (mode === 'never') {\n return { bootstrapFiles: [], contextFiles: [] };\n }\n if (\n mode === 'continuation-skip' &&\n params.sessionKey &&\n wasBootstrapContextInjected(params.sessionKey)\n ) {\n return { bootstrapFiles: [], contextFiles: [] };\n }\n const bootstrapFiles = await resolveBootstrapFilesForRun(params);\n const contextFiles = buildBootstrapContextFiles(bootstrapFiles, {\n maxChars: resolveBootstrapMaxChars(params.config),\n totalMaxChars: resolveBootstrapTotalMaxChars(params.config),\n warn: params.warn,\n });\n if (mode === 'continuation-skip' && params.sessionKey && contextFiles.length > 0) {\n markBootstrapContextInjected(params.sessionKey);\n }\n return { bootstrapFiles, contextFiles };\n}\n"],"mappings":";;;;;;AAkBA,SAAS,6BACP,OACA,SAC0B;AAC1B,KAAI,CAAC,QACH,QAAO;AAET,QAAO,MAAM,QAAQ,SAAS,KAAK,SAAS,2BAA2B;;AAGzE,SAAgB,0BAA0B,QAKb;AAM3B,QAAO,6BADU,+BAA+B,CAH9C,GAAG,6BAA6B,OAAO,gBAAgB,EACvD,GAAG,0BAA0B,OAAO,WAAW,CAEO,EAAE,OAAO,WACrB,EAAE,OAAO,oBAAoB,MAAM;;AAGjF,eAAsB,4BAA4B,QAMZ;CACpC,MAAM,aAAa,OAAO;AAY1B,QAAO,6BADU,+BAVA,aACb,MAAM,wBAAwB;EAC5B,YAAY,OAAO;EACnB,iBAAiB,OAAO;EACxB;EACD,CAAC,GACF,CACE,GAAG,6BAA6B,OAAO,gBAAgB,EACvD,GAAG,0BAA0B,OAAO,WAAW,CAChD,EACqD,WACd,EAAE,OAAO,oBAAoB,MAAM;;AAGjF,SAAgB,4BAA4B,QAU1C;CACA,MAAM,OAAO,OAAO,oBAAoB;AACxC,KAAI,SAAS,QACX,QAAO;EAAE,gBAAgB,EAAE;EAAE,cAAc,EAAE;EAAE;AAEjD,KACE,SAAS,uBACT,OAAO,cACP,4BAA4B,OAAO,WAAW,CAE9C,QAAO;EAAE,gBAAgB,EAAE;EAAE,cAAc,EAAE;EAAE;CAEjD,MAAM,iBAAiB,0BAA0B,OAAO;CACxD,MAAM,eAAe,2BAA2B,gBAAgB;EAC9D,UAAU,yBAAyB,OAAO,OAAO;EACjD,eAAe,8BAA8B,OAAO,OAAO;EAC5D,CAAC;AACF,KAAI,SAAS,uBAAuB,OAAO,cAAc,aAAa,SAAS,EAC7E,8BAA6B,OAAO,WAAW;AAEjD,QAAO;EAAE;EAAgB;EAAc;;AAGzC,eAAsB,8BAA8B,QAWjD;CACD,MAAM,OAAO,OAAO,oBAAoB;AACxC,KAAI,SAAS,QACX,QAAO;EAAE,gBAAgB,EAAE;EAAE,cAAc,EAAE;EAAE;AAEjD,KACE,SAAS,uBACT,OAAO,cACP,4BAA4B,OAAO,WAAW,CAE9C,QAAO;EAAE,gBAAgB,EAAE;EAAE,cAAc,EAAE;EAAE;CAEjD,MAAM,iBAAiB,MAAM,4BAA4B,OAAO;CAChE,MAAM,eAAe,2BAA2B,gBAAgB;EAC9D,UAAU,yBAAyB,OAAO,OAAO;EACjD,eAAe,8BAA8B,OAAO,OAAO;EAC3D,MAAM,OAAO;EACd,CAAC;AACF,KAAI,SAAS,uBAAuB,OAAO,cAAc,aAAa,SAAS,EAC7E,8BAA6B,OAAO,WAAW;AAEjD,QAAO;EAAE;EAAgB;EAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter-bootstrap-files.js","names":[],"sources":["../../../../src/agent/bootstrap/filter-bootstrap-files.ts"],"sourcesContent":["import { USER_PROFILE_FILENAME } from '../../config/paths.js';\nimport { isCronSessionKey, isSubagentSessionKey } from '../../routing/session-key.js';\nimport {\n DEFAULT_AGENTS_FILENAME,\n DEFAULT_IDENTITY_FILENAME,\n DEFAULT_SOUL_FILENAME,\n DEFAULT_TOOLS_FILENAME,\n} from '../context/workspace.js';\nimport type { WorkspaceBootstrapFile } from './types.js';\n\nconst MINIMAL_BOOTSTRAP_ALLOWLIST = new Set<string>([\n DEFAULT_AGENTS_FILENAME,\n DEFAULT_TOOLS_FILENAME,\n DEFAULT_SOUL_FILENAME,\n DEFAULT_IDENTITY_FILENAME,\n USER_PROFILE_FILENAME,\n]);\n\n/** Subagent and cron sessions load only the minimal identity and instruction profile. */\nexport function filterBootstrapFilesForSession(\n files: WorkspaceBootstrapFile[],\n sessionKey?: string,\n): WorkspaceBootstrapFile[] {\n if (!sessionKey || (!isSubagentSessionKey(sessionKey) && !isCronSessionKey(sessionKey))) {\n return files;\n }\n return files.filter((file) => MINIMAL_BOOTSTRAP_ALLOWLIST.has(file.name));\n}\n"],"mappings":";;;;;YAA8D;kBACwB;AAStF,MAAM,8BAA8B,IAAI,IAAY;CAClD;CACA;CACA;CACA;CACA;CACD,CAAC;;AAGF,SAAgB,+BACd,OACA,YAC0B;AAC1B,KAAI,CAAC,cAAe,CAAC,qBAAqB,WAAW,IAAI,CAAC,iBAAiB,WAAW,CACpF,QAAO;AAET,QAAO,MAAM,QAAQ,SAAS,4BAA4B,IAAI,KAAK,KAAK,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"load-bootstrap-files.js","names":[],"sources":["../../../../src/agent/bootstrap/load-bootstrap-files.ts"],"sourcesContent":["import { existsSync, readFileSync } from 'node:fs';\nimport { join, resolve } from 'node:path';\n\nimport { USER_PROFILE_FILENAME } from '../../config/paths.js';\nimport { stripFrontMatter } from '../context/workspace.js';\nimport {\n DEFAULT_AGENTS_FILENAME,\n DEFAULT_HEARTBEAT_FILENAME,\n DEFAULT_IDENTITY_FILENAME,\n DEFAULT_SOUL_FILENAME,\n DEFAULT_TOOLS_FILENAME,\n REQUIRED_AGENT_PROFILE_MARKDOWN_FILE_SET,\n} from '../context/workspace.js';\nimport type { BootstrapFileName, WorkspaceBootstrapFile } from './types.js';\n\nconst PROFILE_LOAD_ORDER: BootstrapFileName[] = [\n DEFAULT_AGENTS_FILENAME,\n DEFAULT_SOUL_FILENAME,\n DEFAULT_TOOLS_FILENAME,\n DEFAULT_IDENTITY_FILENAME,\n DEFAULT_HEARTBEAT_FILENAME,\n];\n\nfunction readProfileFile(filePath: string): string | null {\n if (!existsSync(filePath)) {\n return null;\n }\n try {\n return stripFrontMatter(readFileSync(filePath, 'utf-8'));\n } catch {\n return null;\n }\n}\n\nexport function loadUserProfileBootstrapFile(userProfilePath: string | undefined): WorkspaceBootstrapFile[] {\n if (!userProfilePath) {\n return [];\n }\n const filePath = resolve(userProfilePath);\n const content = readProfileFile(filePath);\n return content !== null\n ? [{ name: USER_PROFILE_FILENAME, path: filePath, content, missing: false }]\n : [];\n}\n\n/**\n * Load bootstrap profile Markdown from `agents/<id>/profile/`.\n * Required files emit missing markers; optional files are omitted when absent.\n */\nexport function loadProfileBootstrapFiles(profileDir: string): WorkspaceBootstrapFile[] {\n const resolvedDir = resolve(profileDir);\n const result: WorkspaceBootstrapFile[] = [];\n\n for (const name of PROFILE_LOAD_ORDER) {\n const filePath = join(resolvedDir, name);\n\n const content = readProfileFile(filePath);\n if (content !== null) {\n result.push({ name, path: filePath, content, missing: false });\n } else if (REQUIRED_AGENT_PROFILE_MARKDOWN_FILE_SET.has(name)) {\n result.push({ name, path: filePath, missing: true });\n }\n }\n\n return result;\n}\n"],"mappings":";;;;;YAG8D;AAY9D,MAAM,qBAA0C;CAC9C;CACA;CACA;CACA;CACA;CACD;AAED,SAAS,gBAAgB,UAAiC;AACxD,KAAI,CAAC,WAAW,SAAS,CACvB,QAAO;AAET,KAAI;AACF,SAAO,iBAAiB,aAAa,UAAU,QAAQ,CAAC;SAClD;AACN,SAAO;;;AAIX,SAAgB,6BAA6B,iBAA+D;AAC1G,KAAI,CAAC,gBACH,QAAO,EAAE;CAEX,MAAM,WAAW,QAAQ,gBAAgB;CACzC,MAAM,UAAU,gBAAgB,SAAS;AACzC,QAAO,YAAY,OACf,CAAC;EAAE,MAAM;EAAuB,MAAM;EAAU;EAAS,SAAS;EAAO,CAAC,GAC1E,EAAE;;;;;;AAOR,SAAgB,0BAA0B,YAA8C;CACtF,MAAM,cAAc,QAAQ,WAAW;CACvC,MAAM,SAAmC,EAAE;AAE3C,MAAK,MAAM,QAAQ,oBAAoB;EACrC,MAAM,WAAW,KAAK,aAAa,KAAK;EAExC,MAAM,UAAU,gBAAgB,SAAS;AACzC,MAAI,YAAY,KACd,QAAO,KAAK;GAAE;GAAM,MAAM;GAAU;GAAS,SAAS;GAAO,CAAC;WACrD,yCAAyC,IAAI,KAAK,CAC3D,QAAO,KAAK;GAAE;GAAM,MAAM;GAAU,SAAS;GAAM,CAAC;;AAIxD,QAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-agents-context.js","names":[],"sources":["../../../../src/agent/bootstrap/project-agents-context.ts"],"sourcesContent":["import { existsSync, readFileSync } from 'node:fs';\nimport { join, resolve } from 'node:path';\n\nimport { stripFrontMatter, DEFAULT_AGENTS_FILENAME } from '../context/workspace.js';\nimport type { EmbeddedContextFile } from './types.js';\n\nconst PROJECT_AGENTS_MAX_CHARS = 20_000;\n\nfunction truncateProjectAgentsContent(content: string): string {\n if (content.length <= PROJECT_AGENTS_MAX_CHARS) {\n return content;\n }\n const suffix = `\\n\\n[Project AGENTS.md truncated to ${PROJECT_AGENTS_MAX_CHARS} characters]`;\n return `${content.slice(0, Math.max(0, PROJECT_AGENTS_MAX_CHARS - suffix.length)).trimEnd()}${suffix}`;\n}\n\nexport function loadProjectAgentsContextFile(workspaceDir: string): EmbeddedContextFile | null {\n const agentsPath = resolve(join(workspaceDir, DEFAULT_AGENTS_FILENAME));\n if (!existsSync(agentsPath)) {\n return null;\n }\n\n try {\n const content = truncateProjectAgentsContent(stripFrontMatter(readFileSync(agentsPath, 'utf-8')).trim());\n if (!content) {\n return null;\n }\n return {\n path: agentsPath,\n content: [\n 'Workspace AGENTS.md contains project-local instructions. Follow it for this workspace\\'s coding conventions, commands, tests, and repository-specific workflows. If it conflicts with higher-priority system instructions, tool safety, or the user\\'s explicit request, follow the higher-priority instruction.',\n '',\n content,\n ].join('\\n'),\n };\n } catch {\n return null;\n }\n}\n"],"mappings":";;;;AAMA,MAAM,2BAA2B;AAEjC,SAAS,6BAA6B,SAAyB;AAC7D,KAAI,QAAQ,UAAU,yBACpB,QAAO;CAET,MAAM,SAAS,uCAAuC,yBAAyB;AAC/E,QAAO,GAAG,QAAQ,MAAM,GAAG,KAAK,IAAI,GAAG,2BAA2B,OAAO,OAAO,CAAC,CAAC,SAAS,GAAG;;AAGhG,SAAgB,6BAA6B,cAAkD;CAC7F,MAAM,aAAa,QAAQ,KAAK,cAAc,wBAAwB,CAAC;AACvE,KAAI,CAAC,WAAW,WAAW,CACzB,QAAO;AAGT,KAAI;EACF,MAAM,UAAU,6BAA6B,iBAAiB,aAAa,YAAY,QAAQ,CAAC,CAAC,MAAM,CAAC;AACxG,MAAI,CAAC,QACH,QAAO;AAET,SAAO;GACL,MAAM;GACN,SAAS;IACP;IACA;IACA;IACD,CAAC,KAAK,KAAK;GACb;SACK;AACN,SAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"definitions.js","names":[],"sources":["../../../../src/agent/capabilities/definitions.ts"],"sourcesContent":["export type AgentCapabilityCategory = 'authoring' | 'research' | 'analysis' | 'assets';\n\nexport type AgentCapabilityActivationMode = 'explicit' | 'ui-entry' | 'workflow-scoped';\n\nexport type AgentCapabilityTtl = 'turn' | 'session' | 'until-complete';\n\nexport type AgentCapabilityActivationSource = 'skill' | 'ui' | 'workflow';\n\nexport type AgentCapabilitySessionStatus = 'collecting' | 'running' | 'complete';\n\nexport type AgentCapabilityPermissions = {\n writesFiles?: boolean;\n runsCode?: boolean;\n usesBrowser?: boolean;\n usesNetwork?: boolean;\n requiresConfirm?: boolean;\n};\n\nexport type AgentCapabilityDefinition = {\n id: string;\n label: string;\n description: string;\n category: AgentCapabilityCategory;\n tools: readonly string[];\n requiredSkills?: readonly string[];\n promptHint?: string;\n activation: {\n mode: AgentCapabilityActivationMode;\n ttl: AgentCapabilityTtl;\n };\n permissions: AgentCapabilityPermissions;\n};\n\nexport type AgentCapabilitySessionState = {\n id: string;\n source: AgentCapabilityActivationSource;\n activatedAt: number;\n ttl: AgentCapabilityTtl;\n status: AgentCapabilitySessionStatus;\n};\n\nexport type AgentCapabilityCatalogEntry = AgentCapabilityDefinition & {\n availableTools: string[];\n unavailableTools: string[];\n};\n\nexport const AGENT_CAPABILITY_DEFINITIONS = [\n {\n id: 'desktop-pet-authoring',\n label: 'Desktop pet authoring',\n description: 'Create, repair, and update local animated desktop pet packages.',\n category: 'authoring',\n tools: ['create_desktop_pet'],\n requiredSkills: ['hatch-pet'],\n promptHint:\n 'Use clarify when the pet concept is vague. Create or update the pet only after appearance, personality, and animation goals are clear.',\n activation: { mode: 'explicit', ttl: 'until-complete' },\n permissions: { writesFiles: true },\n },\n {\n id: 'automation-authoring',\n label: 'Automation authoring',\n description: 'Create and update reminders, monitors, recurring checks, and scheduled follow-ups.',\n category: 'authoring',\n tools: ['automation'],\n activation: { mode: 'explicit', ttl: 'until-complete' },\n permissions: { writesFiles: true, requiresConfirm: true },\n },\n {\n id: 'workflow-authoring',\n label: 'Workflow authoring',\n description: 'Design, validate, and run xopc workflows.',\n category: 'authoring',\n tools: ['workflow'],\n activation: { mode: 'explicit', ttl: 'until-complete' },\n permissions: { writesFiles: true, runsCode: true, requiresConfirm: true },\n },\n {\n id: 'extension-authoring',\n label: 'Plugin and extension authoring',\n description: 'Scaffold, inspect, and package xopc plugins or extensions.',\n category: 'authoring',\n tools: ['read_file', 'write_file', 'apply_patch', 'list_dir', 'grep', 'find', 'exec_command'],\n activation: { mode: 'explicit', ttl: 'until-complete' },\n permissions: { writesFiles: true, runsCode: true, requiresConfirm: true },\n },\n {\n id: 'skill-authoring',\n label: 'Skill authoring',\n description: 'Create, edit, inspect, and maintain xopc skills.',\n category: 'authoring',\n tools: ['skills_list', 'skill_view', 'skill_manage'],\n activation: { mode: 'explicit', ttl: 'until-complete' },\n permissions: { writesFiles: true, requiresConfirm: true },\n },\n {\n id: 'skill-installation',\n label: 'Skill installation',\n description: 'Find, install, and update xopc skills from explicit sources.',\n category: 'authoring',\n tools: ['skills_list', 'skill_view', 'skill_install'],\n activation: { mode: 'explicit', ttl: 'turn' },\n permissions: { writesFiles: true, usesNetwork: true },\n },\n {\n id: 'visual-asset-authoring',\n label: 'Visual asset authoring',\n description: 'Generate and inspect images, icons, sprites, and other visual assets.',\n category: 'assets',\n tools: ['image', 'image_generate', 'read_media', 'send_media'],\n activation: { mode: 'explicit', ttl: 'session' },\n permissions: { writesFiles: true, usesNetwork: true },\n },\n {\n id: 'browser-research',\n label: 'Browser research',\n description: 'Perform deeper web research with search, extraction, fetch, and browser interaction.',\n category: 'research',\n tools: ['web_search', 'web_fetch', 'web_extract', 'browser_use'],\n activation: { mode: 'explicit', ttl: 'turn' },\n permissions: { usesBrowser: true, usesNetwork: true },\n },\n {\n id: 'data-analysis',\n label: 'Data analysis',\n description: 'Analyze local structured data and produce derived tables, summaries, or artifacts.',\n category: 'analysis',\n tools: ['read_file', 'write_file', 'list_dir', 'grep', 'find'],\n activation: { mode: 'explicit', ttl: 'session' },\n permissions: { writesFiles: true, runsCode: true },\n },\n] as const satisfies readonly AgentCapabilityDefinition[];\n"],"mappings":";AA8CA,MAAa,+BAA+B;CAC1C;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,UAAU;EACV,OAAO,CAAC,qBAAqB;EAC7B,gBAAgB,CAAC,YAAY;EAC7B,YACE;EACF,YAAY;GAAE,MAAM;GAAY,KAAK;GAAkB;EACvD,aAAa,EAAE,aAAa,MAAM;EACnC;CACD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,UAAU;EACV,OAAO,CAAC,aAAa;EACrB,YAAY;GAAE,MAAM;GAAY,KAAK;GAAkB;EACvD,aAAa;GAAE,aAAa;GAAM,iBAAiB;GAAM;EAC1D;CACD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,UAAU;EACV,OAAO,CAAC,WAAW;EACnB,YAAY;GAAE,MAAM;GAAY,KAAK;GAAkB;EACvD,aAAa;GAAE,aAAa;GAAM,UAAU;GAAM,iBAAiB;GAAM;EAC1E;CACD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,UAAU;EACV,OAAO;GAAC;GAAa;GAAc;GAAe;GAAY;GAAQ;GAAQ;GAAe;EAC7F,YAAY;GAAE,MAAM;GAAY,KAAK;GAAkB;EACvD,aAAa;GAAE,aAAa;GAAM,UAAU;GAAM,iBAAiB;GAAM;EAC1E;CACD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,UAAU;EACV,OAAO;GAAC;GAAe;GAAc;GAAe;EACpD,YAAY;GAAE,MAAM;GAAY,KAAK;GAAkB;EACvD,aAAa;GAAE,aAAa;GAAM,iBAAiB;GAAM;EAC1D;CACD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,UAAU;EACV,OAAO;GAAC;GAAe;GAAc;GAAgB;EACrD,YAAY;GAAE,MAAM;GAAY,KAAK;GAAQ;EAC7C,aAAa;GAAE,aAAa;GAAM,aAAa;GAAM;EACtD;CACD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,UAAU;EACV,OAAO;GAAC;GAAS;GAAkB;GAAc;GAAa;EAC9D,YAAY;GAAE,MAAM;GAAY,KAAK;GAAW;EAChD,aAAa;GAAE,aAAa;GAAM,aAAa;GAAM;EACtD;CACD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,UAAU;EACV,OAAO;GAAC;GAAc;GAAa;GAAe;GAAc;EAChE,YAAY;GAAE,MAAM;GAAY,KAAK;GAAQ;EAC7C,aAAa;GAAE,aAAa;GAAM,aAAa;GAAM;EACtD;CACD;EACE,IAAI;EACJ,OAAO;EACP,aAAa;EACb,UAAU;EACV,OAAO;GAAC;GAAa;GAAc;GAAY;GAAQ;GAAO;EAC9D,YAAY;GAAE,MAAM;GAAY,KAAK;GAAW;EAChD,aAAa;GAAE,aAAa;GAAM,UAAU;GAAM;EACnD;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.js","names":[],"sources":["../../../../src/agent/capabilities/registry.ts"],"sourcesContent":["import {\n AGENT_CAPABILITY_DEFINITIONS,\n type AgentCapabilityActivationSource,\n type AgentCapabilityCatalogEntry,\n type AgentCapabilityDefinition,\n type AgentCapabilitySessionState,\n} from './definitions.js';\n\nconst definitionsById: Map<string, AgentCapabilityDefinition> = new Map(\n AGENT_CAPABILITY_DEFINITIONS.map((definition) => [definition.id, definition]),\n);\n\nexport function listAgentCapabilities(): AgentCapabilityDefinition[] {\n return [...AGENT_CAPABILITY_DEFINITIONS];\n}\n\nexport function getAgentCapability(id: string): AgentCapabilityDefinition | undefined {\n return definitionsById.get(id.trim());\n}\n\nexport function getAgentCapabilityToolNames(ids: readonly string[]): string[] {\n const out: string[] = [];\n const seen = new Set<string>();\n for (const id of ids) {\n const definition = getAgentCapability(id);\n if (!definition) continue;\n for (const toolName of definition.tools) {\n if (seen.has(toolName)) continue;\n seen.add(toolName);\n out.push(toolName);\n }\n }\n return out;\n}\n\nexport function resolveAgentCapabilityCatalog(options: {\n registeredToolNames?: readonly string[];\n lazyToolNames?: readonly string[];\n deniedToolNames?: readonly string[];\n} = {}): AgentCapabilityCatalogEntry[] {\n const available = new Set([\n ...(options.registeredToolNames ?? []),\n ...(options.lazyToolNames ?? []),\n ]);\n const denied = new Set(options.deniedToolNames ?? []);\n return AGENT_CAPABILITY_DEFINITIONS.map((definition) => {\n const availableTools = definition.tools.filter((toolName) => available.has(toolName) && !denied.has(toolName));\n const unavailableTools = definition.tools.filter((toolName) => !availableTools.includes(toolName));\n return {\n ...definition,\n availableTools,\n unavailableTools,\n };\n });\n}\n\nexport function createAgentCapabilitySessionState(\n id: string,\n source: AgentCapabilityActivationSource,\n now = Date.now(),\n): AgentCapabilitySessionState | null {\n const definition = getAgentCapability(id);\n if (!definition) return null;\n return {\n id: definition.id,\n source,\n activatedAt: now,\n ttl: definition.activation.ttl,\n status: 'collecting',\n };\n}\n"],"mappings":";;AAQA,MAAM,kBAA0D,IAAI,IAClE,6BAA6B,KAAK,eAAe,CAAC,WAAW,IAAI,WAAW,CAAC,CAC9E;AAED,SAAgB,wBAAqD;AACnE,QAAO,CAAC,GAAG,6BAA6B;;AAG1C,SAAgB,mBAAmB,IAAmD;AACpF,QAAO,gBAAgB,IAAI,GAAG,MAAM,CAAC;;AAGvC,SAAgB,4BAA4B,KAAkC;CAC5E,MAAM,MAAgB,EAAE;CACxB,MAAM,uBAAO,IAAI,KAAa;AAC9B,MAAK,MAAM,MAAM,KAAK;EACpB,MAAM,aAAa,mBAAmB,GAAG;AACzC,MAAI,CAAC,WAAY;AACjB,OAAK,MAAM,YAAY,WAAW,OAAO;AACvC,OAAI,KAAK,IAAI,SAAS,CAAE;AACxB,QAAK,IAAI,SAAS;AAClB,OAAI,KAAK,SAAS;;;AAGtB,QAAO;;AAGT,SAAgB,8BAA8B,UAI1C,EAAE,EAAiC;CACrC,MAAM,YAAY,IAAI,IAAI,CACxB,GAAI,QAAQ,uBAAuB,EAAE,EACrC,GAAI,QAAQ,iBAAiB,EAAE,CAChC,CAAC;CACF,MAAM,SAAS,IAAI,IAAI,QAAQ,mBAAmB,EAAE,CAAC;AACrD,QAAO,6BAA6B,KAAK,eAAe;EACtD,MAAM,iBAAiB,WAAW,MAAM,QAAQ,aAAa,UAAU,IAAI,SAAS,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;EAC9G,MAAM,mBAAmB,WAAW,MAAM,QAAQ,aAAa,CAAC,eAAe,SAAS,SAAS,CAAC;AAClG,SAAO;GACL,GAAG;GACH;GACA;GACD;GACD;;AAGJ,SAAgB,kCACd,IACA,QACA,MAAM,KAAK,KAAK,EACoB;CACpC,MAAM,aAAa,mBAAmB,GAAG;AACzC,KAAI,CAAC,WAAY,QAAO;AACxB,QAAO;EACL,IAAI,WAAW;EACf;EACA,aAAa;EACb,KAAK,WAAW,WAAW;EAC3B,QAAQ;EACT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"child-agent-factory.js","names":["u"],"sources":["../../../src/agent/child-agent-factory.ts"],"sourcesContent":["import { Agent, type AgentEvent, type AgentMessage, type ThinkingLevel } from '@earendil-works/pi-agent-core';\nimport type { Api, Model } from '@earendil-works/pi-ai';\n\nimport type { Config } from '../config/schema.js';\nimport type { MessageBus } from '../infra/bus/index.js';\nimport { resolveProviderApiKeySync } from '../auth/sync-provider-auth.js';\nimport { getApiKeySync } from '../providers/index.js';\nimport { createExtensionAwareStreamFn } from '../providers/extension-stream-bridge.js';\nimport { createLogger } from '../utils/logger.js';\n\nimport { extractTextContent } from './context/workspace.js';\nimport {\n resolveAgentTurnTimeoutMs,\n runAgentTurnWithTimeout,\n} from './orchestration/run-agent-turn-with-timeout.js';\nimport type { AgentTool } from '@earendil-works/pi-agent-core';\nimport type { ToolExecutorConfig } from './tools/executor.js';\n// `AgentToolsFactory` is NOT imported here on purpose — `tools/factory.js`\n// constructs the delegate tool, which would create a factory ↔ delegate-tool\n// ↔ child-agent-factory cycle. Instead, the caller supplies a\n// `buildChildTools()` callback that produces the already-constructed child\n// tool set (see `DelegateChildHandleOptions.buildChildTools`).\n\nconst log = createLogger('delegate-child');\n\nimport { buildSubagentSystemPrompt } from './prompt/subagent-context.js';\n\n/** @deprecated Use buildSubagentSystemPrompt */\nexport function buildChildSystemPrompt(goal: string, context?: string, workspace?: string): string {\n return buildSubagentSystemPrompt({ goal, context, workspace });\n}\n\nexport interface BuildChildToolsOptions {\n workspace: string;\n bus: MessageBus;\n model: Model<Api>;\n agentId?: string;\n getConfig: () => Config | undefined;\n toolExecutorConfig?: Partial<ToolExecutorConfig>;\n}\n\nexport interface DelegateChildProgressHooks {\n mode: 'steps' | 'full';\n onProgress: (event: {\n type: 'tool_start' | 'tool_end' | 'iteration' | 'text_delta' | 'thinking_delta';\n toolCallId?: string;\n toolName?: string;\n args?: Record<string, unknown>;\n isError?: boolean;\n count?: number;\n max?: number;\n delta?: string;\n }) => void;\n}\n\nexport interface DelegateChildHandleOptions {\n workspace: string;\n goal: string;\n context?: string;\n allowedToolNames: string[];\n maxIterations: number;\n model: Model<Api>;\n bus: MessageBus;\n agentId?: string;\n getConfig: () => Config | undefined;\n toolExecutorConfig?: Partial<ToolExecutorConfig>;\n /**\n * Construct the child agent's tool set. Injected by the caller (delegate-tool)\n * so this module does not import `tools/factory.js` (which would form a\n * factory ↔ delegate-tool ↔ child-agent-factory cycle).\n */\n buildChildTools: (opts: BuildChildToolsOptions) => AgentTool<any, any>[];\n /** Optional live progress for workflow subagents. */\n progressHooks?: DelegateChildProgressHooks;\n /** Optional persisted transcript snapshots for hidden workflow subagent sessions. */\n onTranscriptSnapshot?: (messages: AgentMessage[]) => void | Promise<void>;\n}\n\nexport interface DelegateChildRunResult {\n summary: string;\n toolIterations: number;\n messages: AgentMessage[];\n}\n\nexport interface DelegateChildHandle {\n run(): Promise<DelegateChildRunResult>;\n abort(): void;\n}\n\n/**\n * Build an isolated tool factory (no extensions, no session memory hooks) and a child {@link Agent}.\n */\nexport function createDelegateChildHandle(options: DelegateChildHandleOptions): DelegateChildHandle {\n const allTools = options.buildChildTools({\n workspace: options.workspace,\n bus: options.bus,\n model: options.model,\n agentId: options.agentId,\n getConfig: options.getConfig,\n toolExecutorConfig: options.toolExecutorConfig,\n });\n\n const allow = new Set(options.allowedToolNames);\n const filteredTools = allTools.filter((t) => allow.has(t.name));\n\n if (filteredTools.length === 0) {\n return {\n async run() {\n return {\n summary: 'No tools matched the allowlist after factory registration.',\n toolIterations: 0,\n messages: [],\n };\n },\n abort() {},\n };\n }\n\n let toolIterations = 0;\n let aborted = false;\n const progress = options.progressHooks;\n\n const agent = new Agent({\n initialState: {\n systemPrompt: buildSubagentSystemPrompt({\n goal: options.goal,\n context: options.context,\n workspace: options.workspace,\n toolNames: filteredTools.map((t) => t.name),\n }),\n model: options.model,\n thinkingLevel: 'low' as ThinkingLevel,\n tools: filteredTools,\n messages: [],\n },\n toolExecution: 'parallel',\n streamFn: createExtensionAwareStreamFn(),\n getApiKey: (provider: string) =>\n resolveProviderApiKeySync(provider) ?? getApiKeySync(provider) ?? '',\n beforeToolCall: async ({ toolCall, args }) => {\n if (aborted) {\n return { block: true, reason: 'Sub-agent aborted.' };\n }\n if (toolIterations >= options.maxIterations) {\n return {\n block: true,\n reason: `Sub-agent reached max tool iterations (${options.maxIterations}).`,\n };\n }\n progress?.onProgress({\n type: 'tool_start',\n toolCallId: toolCall.id,\n toolName: toolCall.name,\n args: (args ?? {}) as Record<string, unknown>,\n });\n return undefined;\n },\n afterToolCall: async ({ toolCall, isError }) => {\n toolIterations += 1;\n progress?.onProgress({\n type: 'iteration',\n count: toolIterations,\n max: options.maxIterations,\n });\n progress?.onProgress({\n type: 'tool_end',\n toolCallId: toolCall.id,\n toolName: toolCall.name,\n isError: Boolean(isError),\n });\n return undefined;\n },\n });\n\n const userText = options.context?.trim()\n ? `${options.goal}\\n\\nAdditional context:\\n${options.context.trim()}`\n : options.goal;\n\n return {\n async run(): Promise<DelegateChildRunResult> {\n toolIterations = 0;\n aborted = false;\n const unsub = agent.subscribe((ev: AgentEvent) => {\n if (progress?.mode === 'full' && ev.type === 'message_update') {\n const u = ev as Extract<AgentEvent, { type: 'message_update' }>;\n const delta = u.assistantMessageEvent;\n if (delta?.type === 'text_delta' && typeof delta.delta === 'string' && delta.delta) {\n progress.onProgress({ type: 'text_delta', delta: delta.delta });\n }\n if (delta?.type === 'thinking_delta' && typeof delta.delta === 'string' && delta.delta) {\n progress.onProgress({ type: 'thinking_delta', delta: delta.delta });\n }\n }\n if (\n options.onTranscriptSnapshot &&\n (ev.type === 'message_end' || ev.type === 'tool_execution_end')\n ) {\n try {\n void Promise.resolve(options.onTranscriptSnapshot(agent.state.messages)).catch((err) => {\n const msg = err instanceof Error ? err.message : String(err);\n log.warn({ err, errorMessage: msg }, `Failed to persist child transcript snapshot: ${msg}`);\n });\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err);\n log.warn({ err, errorMessage: msg }, `Failed to persist child transcript snapshot: ${msg}`);\n }\n }\n });\n try {\n await runAgentTurnWithTimeout(\n agent,\n async () => {\n await agent.prompt(userText);\n await agent.waitForIdle();\n },\n resolveAgentTurnTimeoutMs(options.getConfig()),\n );\n\n const messages = agent.state.messages;\n for (let i = messages.length - 1; i >= 0; i--) {\n const msg = messages[i];\n if (msg.role === 'assistant') {\n const content: unknown = msg.content;\n if (typeof content === 'string') {\n return { summary: content.trim() || '(empty assistant message)', toolIterations, messages };\n }\n if (Array.isArray(content)) {\n const text = extractTextContent(content as Array<{ type: string; text?: string }>);\n return {\n summary: text.trim() || '(empty assistant message)',\n toolIterations,\n messages,\n };\n }\n }\n }\n\n return {\n summary: aborted\n ? 'Sub-agent was aborted before producing a result.'\n : 'Sub-agent completed but produced no assistant text.',\n toolIterations,\n messages,\n };\n } catch (e) {\n const msg = e instanceof Error ? e.message : String(e);\n const m = options.model as { model?: string; id?: string };\n const modelId = m?.model ?? m?.id;\n log.warn(\n {\n err: e,\n errorMessage: msg,\n goalPreview: options.goal.slice(0, 120),\n maxIterations: options.maxIterations,\n allowedToolCount: options.allowedToolNames.length,\n modelId,\n },\n `Delegate child run failed: ${msg}`,\n );\n return {\n summary: `Sub-agent error: ${msg}`,\n toolIterations,\n messages: agent.state.messages,\n };\n } finally {\n unsub?.();\n }\n },\n\n abort(): void {\n aborted = true;\n agent.abort();\n },\n };\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-error-format.js","names":[],"sources":["../../../src/agent/client-error-format.ts"],"sourcesContent":["import {\n classifyFailoverReason,\n isAuthErrorMessage,\n type FailoverReason,\n} from './fallback/reason.js';\n\nexport type AgentRunErrorKind =\n | 'provider_setup_required'\n | 'provider_auth_invalid'\n | 'rate_limit'\n | 'timeout'\n | 'billing'\n | 'unknown';\n\nexport type AgentRunErrorPayload = {\n kind: AgentRunErrorKind;\n code: string;\n provider?: string;\n modelRef?: string;\n deepLink?: string;\n message: string;\n};\n\nconst API_KEY_MISSING_RE = /^No API key found for (\\S+)/i;\n\nfunction reasonToKind(reason: FailoverReason): AgentRunErrorKind {\n switch (reason) {\n case 'auth':\n return 'provider_auth_invalid';\n case 'rate_limit':\n return 'rate_limit';\n case 'timeout':\n return 'timeout';\n case 'billing':\n return 'billing';\n default:\n return 'unknown';\n }\n}\n\nfunction reasonToCode(reason: FailoverReason): string {\n switch (reason) {\n case 'auth':\n return 'provider_auth_invalid';\n case 'rate_limit':\n return 'rate_limit';\n case 'timeout':\n return 'timeout';\n case 'billing':\n return 'billing';\n case 'format':\n return 'format';\n default:\n return 'unknown';\n }\n}\n\nfunction providerDeepLink(kind: AgentRunErrorKind): string | undefined {\n if (kind === 'provider_setup_required' || kind === 'provider_auth_invalid') {\n return '/settings/credentials';\n }\n return undefined;\n}\n\nfunction tryParseStructuredPayload(text: string): AgentRunErrorPayload | null {\n if (!text.startsWith('{')) return null;\n try {\n const parsed = JSON.parse(text) as Record<string, unknown>;\n if (typeof parsed.kind !== 'string' || typeof parsed.message !== 'string') return null;\n return {\n kind: parsed.kind as AgentRunErrorKind,\n code: typeof parsed.code === 'string' ? parsed.code : parsed.kind,\n provider: typeof parsed.provider === 'string' ? parsed.provider : undefined,\n modelRef: typeof parsed.modelRef === 'string' ? parsed.modelRef : undefined,\n deepLink: typeof parsed.deepLink === 'string' ? parsed.deepLink : undefined,\n message: parsed.message,\n };\n } catch {\n return null;\n }\n}\n\n/**\n * Map a raw agent/LLM error into a structured JSON payload the web UI can render\n * as an actionable, i18n-friendly card. Falls back to plain `Error: <raw>` when\n * the input is already a legacy gateway string.\n */\nexport function formatAgentRunErrorForClient(\n rawError: string,\n context?: { provider?: string; modelRef?: string },\n): string {\n const trimmed = rawError.trim();\n if (!trimmed) {\n return JSON.stringify({\n kind: 'unknown',\n code: 'unknown',\n message: 'Assistant turn failed',\n } satisfies AgentRunErrorPayload);\n }\n\n const existing = tryParseStructuredPayload(trimmed);\n if (existing) return JSON.stringify(existing);\n\n const missingMatch = API_KEY_MISSING_RE.exec(trimmed);\n if (missingMatch) {\n const provider = missingMatch[1].replace(/\\.$/, '');\n return JSON.stringify({\n kind: 'provider_setup_required',\n code: 'provider_setup_required',\n provider,\n deepLink: '/settings/credentials',\n message: trimmed,\n } satisfies AgentRunErrorPayload);\n }\n\n const reason = classifyFailoverReason(trimmed);\n const kind = reasonToKind(reason);\n const payload: AgentRunErrorPayload = {\n kind,\n code: reasonToCode(reason),\n message: trimmed,\n ...(context?.provider ? { provider: context.provider } : {}),\n ...(context?.modelRef ? { modelRef: context.modelRef } : {}),\n };\n\n const deepLink = providerDeepLink(kind);\n if (deepLink) payload.deepLink = deepLink;\n\n // Auth heuristics that classifyFailoverReason may miss (e.g. \"Authentication Fails\")\n if (kind === 'unknown' && isAuthErrorMessage(trimmed)) {\n payload.kind = 'provider_auth_invalid';\n payload.code = 'provider_auth_invalid';\n payload.deepLink = '/settings/credentials';\n }\n\n return JSON.stringify(payload);\n}\n\n/** Human-readable text for TUI/CLI when SSE carries structured JSON. */\nexport function formatAgentRunErrorForDisplay(content: string): string {\n const trimmed = content.trim();\n if (trimmed.startsWith('Error: ')) return trimmed.slice('Error: '.length);\n\n const parsed = tryParseStructuredPayload(trimmed);\n if (parsed?.message) return parsed.message;\n\n return trimmed;\n}\n"],"mappings":";;AAuBA,MAAM,qBAAqB;AAE3B,SAAS,aAAa,QAA2C;AAC/D,SAAQ,QAAR;EACE,KAAK,OACH,QAAO;EACT,KAAK,aACH,QAAO;EACT,KAAK,UACH,QAAO;EACT,KAAK,UACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAS,aAAa,QAAgC;AACpD,SAAQ,QAAR;EACE,KAAK,OACH,QAAO;EACT,KAAK,aACH,QAAO;EACT,KAAK,UACH,QAAO;EACT,KAAK,UACH,QAAO;EACT,KAAK,SACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAS,iBAAiB,MAA6C;AACrE,KAAI,SAAS,6BAA6B,SAAS,wBACjD,QAAO;;AAKX,SAAS,0BAA0B,MAA2C;AAC5E,KAAI,CAAC,KAAK,WAAW,IAAI,CAAE,QAAO;AAClC,KAAI;EACF,MAAM,SAAS,KAAK,MAAM,KAAK;AAC/B,MAAI,OAAO,OAAO,SAAS,YAAY,OAAO,OAAO,YAAY,SAAU,QAAO;AAClF,SAAO;GACL,MAAM,OAAO;GACb,MAAM,OAAO,OAAO,SAAS,WAAW,OAAO,OAAO,OAAO;GAC7D,UAAU,OAAO,OAAO,aAAa,WAAW,OAAO,WAAW,KAAA;GAClE,UAAU,OAAO,OAAO,aAAa,WAAW,OAAO,WAAW,KAAA;GAClE,UAAU,OAAO,OAAO,aAAa,WAAW,OAAO,WAAW,KAAA;GAClE,SAAS,OAAO;GACjB;SACK;AACN,SAAO;;;;;;;;AASX,SAAgB,6BACd,UACA,SACQ;CACR,MAAM,UAAU,SAAS,MAAM;AAC/B,KAAI,CAAC,QACH,QAAO,KAAK,UAAU;EACpB,MAAM;EACN,MAAM;EACN,SAAS;EACV,CAAgC;CAGnC,MAAM,WAAW,0BAA0B,QAAQ;AACnD,KAAI,SAAU,QAAO,KAAK,UAAU,SAAS;CAE7C,MAAM,eAAe,mBAAmB,KAAK,QAAQ;AACrD,KAAI,cAAc;EAChB,MAAM,WAAW,aAAa,GAAG,QAAQ,OAAO,GAAG;AACnD,SAAO,KAAK,UAAU;GACpB,MAAM;GACN,MAAM;GACN;GACA,UAAU;GACV,SAAS;GACV,CAAgC;;CAGnC,MAAM,SAAS,uBAAuB,QAAQ;CAC9C,MAAM,OAAO,aAAa,OAAO;CACjC,MAAM,UAAgC;EACpC;EACA,MAAM,aAAa,OAAO;EAC1B,SAAS;EACT,GAAI,SAAS,WAAW,EAAE,UAAU,QAAQ,UAAU,GAAG,EAAE;EAC3D,GAAI,SAAS,WAAW,EAAE,UAAU,QAAQ,UAAU,GAAG,EAAE;EAC5D;CAED,MAAM,WAAW,iBAAiB,KAAK;AACvC,KAAI,SAAU,SAAQ,WAAW;AAGjC,KAAI,SAAS,aAAa,mBAAmB,QAAQ,EAAE;AACrD,UAAQ,OAAO;AACf,UAAQ,OAAO;AACf,UAAQ,WAAW;;AAGrB,QAAO,KAAK,UAAU,QAAQ;;;AAIhC,SAAgB,8BAA8B,SAAyB;CACrE,MAAM,UAAU,QAAQ,MAAM;AAC9B,KAAI,QAAQ,WAAW,UAAU,CAAE,QAAO,QAAQ,MAAM,EAAiB;CAEzE,MAAM,SAAS,0BAA0B,QAAQ;AACjD,KAAI,QAAQ,QAAS,QAAO,OAAO;AAEnC,QAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"binary.js","names":[],"sources":["../../../../src/agent/code-intelligence/binary.ts"],"sourcesContent":["import { execFile } from 'node:child_process';\nimport { createHash, randomBytes } from 'node:crypto';\nimport {\n accessSync,\n chmodSync,\n constants,\n copyFileSync,\n createReadStream,\n createWriteStream,\n existsSync,\n mkdirSync,\n mkdtempSync,\n readdirSync,\n readFileSync,\n realpathSync,\n renameSync,\n rmSync,\n statSync,\n writeFileSync,\n} from 'node:fs';\nimport { createRequire } from 'node:module';\nimport { tmpdir } from 'node:os';\nimport { dirname, join, resolve } from 'node:path';\nimport { Readable } from 'node:stream';\nimport { pipeline } from 'node:stream/promises';\nimport { promisify } from 'node:util';\n\nimport lockfile from 'proper-lockfile';\n\nimport { resolveBinDir, resolveStateDir } from '../../config/paths.js';\nimport { createLogger } from '../../utils/logger.js';\n\nconst require = createRequire(import.meta.url);\nconst log = createLogger('CodeIntelligenceBinary');\n\nconst CBM_VERSION = '0.9.0';\nconst CACHE_SCHEMA_VERSION = 1;\nconst DOWNLOAD_TIMEOUT_MS = 2 * 60_000;\nconst RELEASE_BASE_URL = `https://github.com/DeusData/codebase-memory-mcp/releases/download/v${CBM_VERSION}`;\nconst execFileAsync = promisify(execFile);\n\ntype FetchImplementation = typeof fetch;\ntype ManagedBinarySource = 'github-release' | 'electron-bundle' | 'package-bundle' | 'legacy-cache';\n\ninterface ManagedBinaryManifest {\n schemaVersion: number;\n component: 'codebase-memory-mcp';\n cbmVersion: string;\n platform: string;\n arch: string;\n binaryName: string;\n binarySha256: string;\n binarySize: number;\n source: ManagedBinarySource;\n installedAt: string;\n}\n\ninterface BundledBinaryManifest {\n cbmVersion: string;\n platform: string;\n arch: string;\n binarySha256: string;\n}\n\ninterface BinarySourceCandidate {\n path: string;\n source: Exclude<ManagedBinarySource, 'github-release'>;\n manifestPath?: string;\n}\n\nexport interface DownloadCodebaseMemoryBinaryOptions {\n fetchImplementation?: FetchImplementation;\n timeoutMs?: number;\n}\n\nfunction binaryName(): string {\n return process.platform === 'win32' ? 'codebase-memory-mcp.exe' : 'codebase-memory-mcp';\n}\n\nfunction platformName(): string {\n switch (process.platform) {\n case 'darwin':\n return 'darwin';\n case 'linux':\n return 'linux';\n case 'win32':\n return 'windows';\n default:\n throw new Error(`Code intelligence is not supported on ${process.platform}`);\n }\n}\n\nfunction architectureName(): string {\n switch (process.arch) {\n case 'arm64':\n return 'arm64';\n case 'x64':\n return 'amd64';\n default:\n throw new Error(`Code intelligence is not supported on ${process.arch}`);\n }\n}\n\nfunction platformKey(): string {\n return `${platformName()}-${architectureName()}`;\n}\n\nfunction archiveName(): string {\n const platform = platformName();\n const extension = platform === 'windows' ? 'zip' : 'tar.gz';\n const linuxPortable = platform === 'linux' ? '-portable' : '';\n return `codebase-memory-mcp-${platform}-${architectureName()}${linuxPortable}.${extension}`;\n}\n\nfunction releaseUrl(): string {\n return `${RELEASE_BASE_URL}/${archiveName()}`;\n}\n\nfunction archiveExtension(): 'zip' | 'tar.gz' {\n return platformName() === 'windows' ? 'zip' : 'tar.gz';\n}\n\nfunction cacheVersionRoot(): string {\n return join(resolveBinDir(), 'codebase-memory-mcp', `v${CBM_VERSION}`);\n}\n\nfunction cacheDir(): string {\n return join(cacheVersionRoot(), platformKey());\n}\n\nfunction cacheBinaryPath(): string {\n return join(cacheDir(), binaryName());\n}\n\nfunction cacheManifestPath(dir = cacheDir()): string {\n return join(dir, 'manifest.json');\n}\n\nfunction legacyManagedBinaryPath(): string {\n return join(\n resolveStateDir(),\n 'code-intelligence',\n 'bin',\n `v${CBM_VERSION}`,\n platformKey(),\n binaryName(),\n );\n}\n\nfunction isUsableBinary(path: string): boolean {\n if (!existsSync(path)) return false;\n try {\n accessSync(path, process.platform === 'win32' ? constants.F_OK : constants.X_OK);\n return true;\n } catch {\n return false;\n }\n}\n\nfunction expectedSha256(checksums: string, filename: string): string {\n for (const line of checksums.split(/\\r?\\n/)) {\n const match = /^([a-f0-9]{64})\\s+\\*?(.+)$/i.exec(line.trim());\n if (match?.[2] === filename) return match[1].toLowerCase();\n }\n throw new Error(`checksums.txt does not contain ${filename}`);\n}\n\nasync function sha256(path: string): Promise<string> {\n const hash = createHash('sha256');\n await new Promise<void>((resolvePromise, reject) => {\n const input = createReadStream(path);\n input.on('data', (chunk: Buffer) => hash.update(chunk));\n input.once('error', reject);\n input.once('end', resolvePromise);\n });\n return hash.digest('hex');\n}\n\nfunction readManagedManifest(dir = cacheDir()): ManagedBinaryManifest | undefined {\n try {\n const parsed = JSON.parse(readFileSync(cacheManifestPath(dir), 'utf8')) as Partial<ManagedBinaryManifest>;\n if (\n parsed.schemaVersion !== CACHE_SCHEMA_VERSION ||\n parsed.component !== 'codebase-memory-mcp' ||\n parsed.cbmVersion !== CBM_VERSION ||\n parsed.platform !== platformName() ||\n parsed.arch !== architectureName() ||\n parsed.binaryName !== binaryName() ||\n typeof parsed.binarySha256 !== 'string' ||\n typeof parsed.binarySize !== 'number'\n ) {\n return undefined;\n }\n return parsed as ManagedBinaryManifest;\n } catch {\n return undefined;\n }\n}\n\nfunction resolveSharedCachedBinary(): string | undefined {\n const binary = cacheBinaryPath();\n const manifest = readManagedManifest();\n if (!manifest || !isUsableBinary(binary)) return undefined;\n try {\n return statSync(binary).size === manifest.binarySize ? realpathSync(binary) : undefined;\n } catch {\n return undefined;\n }\n}\n\nasync function verifySharedCachedBinary(): Promise<string | undefined> {\n const binary = resolveSharedCachedBinary();\n const manifest = readManagedManifest();\n if (!binary || !manifest) return undefined;\n try {\n return (await sha256(binary)) === manifest.binarySha256 ? binary : undefined;\n } catch {\n return undefined;\n }\n}\n\nfunction packageBinaryPath(): string | undefined {\n try {\n const packageJson = require.resolve('codebase-memory-mcp/package.json');\n return join(dirname(packageJson), 'bin', binaryName());\n } catch {\n return undefined;\n }\n}\n\nfunction overrideBinaryPath(explicitPath?: string): string | undefined {\n for (const candidate of [explicitPath, process.env.XOPC_CBM_BINARY]) {\n if (!candidate?.trim()) continue;\n const absolute = resolve(candidate);\n if (isUsableBinary(absolute)) return realpathSync(absolute);\n }\n return undefined;\n}\n\nfunction bundledBinaryCandidates(): BinarySourceCandidate[] {\n const bundledPath = process.env.XOPC_CBM_BUNDLED_PATH?.trim();\n const bundledManifestPath = process.env.XOPC_CBM_BUNDLED_MANIFEST_PATH?.trim();\n const resourcesPath = (process as NodeJS.Process & { resourcesPath?: string }).resourcesPath;\n const resourcePath = resourcesPath ? join(resourcesPath, 'bin', binaryName()) : undefined;\n const packagePath = packageBinaryPath();\n const candidates: BinarySourceCandidate[] = [];\n\n if (bundledPath) {\n candidates.push({\n path: bundledPath,\n source: 'electron-bundle',\n manifestPath: bundledManifestPath || join(dirname(bundledPath), 'codebase-memory-mcp.manifest.json'),\n });\n }\n if (resourcePath && resourcePath !== bundledPath) {\n candidates.push({\n path: resourcePath,\n source: 'electron-bundle',\n manifestPath: join(dirname(resourcePath), 'codebase-memory-mcp.manifest.json'),\n });\n }\n if (packagePath) candidates.push({ path: packagePath, source: 'package-bundle' });\n candidates.push({ path: legacyManagedBinaryPath(), source: 'legacy-cache' });\n return candidates;\n}\n\nasync function verifyBundledSource(candidate: BinarySourceCandidate): Promise<void> {\n if (!isUsableBinary(candidate.path)) {\n throw new Error(`source binary is unavailable at ${candidate.path}`);\n }\n if (candidate.source !== 'electron-bundle') return;\n if (!candidate.manifestPath) throw new Error('Electron CBM manifest path is missing');\n\n let manifest: BundledBinaryManifest;\n try {\n manifest = JSON.parse(readFileSync(candidate.manifestPath, 'utf8')) as BundledBinaryManifest;\n } catch (error) {\n throw new Error(\n `Electron CBM manifest is unreadable: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n if (\n manifest.cbmVersion !== CBM_VERSION ||\n manifest.platform !== platformName() ||\n manifest.arch !== architectureName() ||\n !/^[a-f0-9]{64}$/i.test(manifest.binarySha256)\n ) {\n throw new Error('Electron CBM manifest does not match this runtime');\n }\n const actual = await sha256(candidate.path);\n if (actual !== manifest.binarySha256.toLowerCase()) {\n throw new Error(`Electron CBM checksum mismatch: expected ${manifest.binarySha256}, got ${actual}`);\n }\n}\n\nasync function withCacheLock<T>(fn: () => Promise<T>): Promise<T> {\n const versionRoot = cacheVersionRoot();\n mkdirSync(versionRoot, { recursive: true });\n const release = await lockfile.lock(versionRoot, {\n realpath: false,\n lockfilePath: join(versionRoot, `.${platformKey()}.install.lock`),\n stale: 10 * 60_000,\n retries: { retries: 30, factor: 1.2, minTimeout: 100, maxTimeout: 1_000 },\n });\n try {\n return await fn();\n } finally {\n await release();\n }\n}\n\nfunction cleanupStaleStaging(versionRoot: string): void {\n const prefix = `.${platformKey()}.staging-`;\n const cutoff = Date.now() - 60 * 60_000;\n try {\n for (const entry of readdirSync(versionRoot)) {\n if (!entry.startsWith(prefix)) continue;\n const path = join(versionRoot, entry);\n if (statSync(path).mtimeMs < cutoff) rmSync(path, { recursive: true, force: true });\n }\n } catch {\n // Best-effort cleanup; installation remains safe under the cache lock.\n }\n}\n\nasync function installInSharedCache(\n source: ManagedBinarySource,\n populate: (destination: string) => Promise<void>,\n): Promise<string> {\n const versionRoot = cacheVersionRoot();\n const targetDir = cacheDir();\n const stagingDir = join(versionRoot, `.${platformKey()}.staging-${process.pid}-${randomBytes(6).toString('hex')}`);\n const stagingBinary = join(stagingDir, binaryName());\n mkdirSync(stagingDir, { recursive: true });\n\n try {\n await populate(stagingBinary);\n if (!isUsableBinary(stagingBinary)) {\n throw new Error('staged codebase-memory-mcp binary is not executable');\n }\n if (process.platform !== 'win32') chmodSync(stagingBinary, 0o755);\n const binarySha256 = await sha256(stagingBinary);\n const manifest: ManagedBinaryManifest = {\n schemaVersion: CACHE_SCHEMA_VERSION,\n component: 'codebase-memory-mcp',\n cbmVersion: CBM_VERSION,\n platform: platformName(),\n arch: architectureName(),\n binaryName: binaryName(),\n binarySha256,\n binarySize: statSync(stagingBinary).size,\n source,\n installedAt: new Date().toISOString(),\n };\n writeFileSync(cacheManifestPath(stagingDir), `${JSON.stringify(manifest, null, 2)}\\n`, 'utf8');\n\n rmSync(targetDir, { recursive: true, force: true });\n renameSync(stagingDir, targetDir);\n return realpathSync(cacheBinaryPath());\n } catch (error) {\n rmSync(stagingDir, { recursive: true, force: true });\n throw error;\n }\n}\n\n/** Resolve an explicit, shared, or bundled binary synchronously when already present. */\nexport function resolveCodebaseMemoryBinary(explicitPath?: string): string {\n const overridden = overrideBinaryPath(explicitPath);\n if (overridden) return overridden;\n\n const shared = resolveSharedCachedBinary();\n if (shared) return shared;\n\n for (const candidate of bundledBinaryCandidates()) {\n const absolute = resolve(candidate.path);\n if (isUsableBinary(absolute)) return realpathSync(absolute);\n }\n\n throw new Error('codebase-memory-mcp binary is unavailable');\n}\n\n/** Download and checksum-verify the CBM executable into a caller-provided path. */\nexport async function downloadCodebaseMemoryBinary(\n destination: string,\n options: DownloadCodebaseMemoryBinaryOptions = {},\n): Promise<string> {\n const fetchImplementation = options.fetchImplementation ?? fetch;\n const timeoutMs = options.timeoutMs ?? DOWNLOAD_TIMEOUT_MS;\n const temporaryPath = `${destination}.${process.pid}.part`;\n const abortController = new AbortController();\n const tempDir = mkdtempSync(join(tmpdir(), 'xopc-cbm-'));\n const archivePath = join(tempDir, `cbm.${archiveExtension()}`);\n let timedOut = false;\n let rejectTimeout: ((error: Error) => void) | undefined;\n const timeoutPromise = new Promise<never>((_resolve, reject) => {\n rejectTimeout = reject;\n });\n const timer = setTimeout(() => {\n timedOut = true;\n abortController.abort();\n rejectTimeout?.(new Error(`download timed out after ${timeoutMs}ms`));\n }, timeoutMs);\n\n try {\n mkdirSync(dirname(destination), { recursive: true });\n rmSync(temporaryPath, { force: true });\n await Promise.race([\n (async () => {\n const checksumsResponse = await fetchImplementation(`${RELEASE_BASE_URL}/checksums.txt`, {\n redirect: 'follow',\n signal: abortController.signal,\n });\n if (!checksumsResponse.ok) {\n throw new Error(`GitHub Releases returned HTTP ${checksumsResponse.status} for checksums.txt`);\n }\n const expectedChecksum = expectedSha256(await checksumsResponse.text(), archiveName());\n const response = await fetchImplementation(releaseUrl(), {\n redirect: 'follow',\n signal: abortController.signal,\n });\n if (!response.ok) throw new Error(`GitHub Releases returned HTTP ${response.status}`);\n if (!response.body) throw new Error('GitHub Releases returned an empty response body');\n\n await pipeline(\n Readable.fromWeb(response.body as import('node:stream/web').ReadableStream),\n createWriteStream(archivePath, { mode: 0o600 }),\n );\n const actualChecksum = await sha256(archivePath);\n if (actualChecksum !== expectedChecksum) {\n throw new Error(\n `checksum mismatch for ${archiveName()}: expected ${expectedChecksum}, got ${actualChecksum}`,\n );\n }\n if (archiveExtension() === 'tar.gz') {\n await execFileAsync('tar', ['-xzf', archivePath, '-C', tempDir, '--no-same-owner']);\n } else {\n await execFileAsync('powershell', [\n '-NoProfile',\n '-Command',\n `Expand-Archive -Path '${archivePath}' -DestinationPath '${tempDir}' -Force`,\n ]);\n }\n\n const extracted = join(tempDir, binaryName());\n if (!isUsableBinary(extracted)) {\n throw new Error(`binary was not present after extracting ${archiveExtension()} archive`);\n }\n copyFileSync(extracted, temporaryPath);\n })(),\n timeoutPromise,\n ]);\n if (timedOut) throw new Error(`download timed out after ${timeoutMs}ms`);\n if (process.platform !== 'win32') chmodSync(temporaryPath, 0o755);\n renameSync(temporaryPath, destination);\n return realpathSync(destination);\n } catch (error) {\n const reason = timedOut\n ? `download timed out after ${timeoutMs}ms`\n : error instanceof Error\n ? error.message\n : String(error);\n throw new Error(\n `Unable to download codebase-memory-mcp from GitHub Releases: ${reason}. ` +\n 'Check network access or set XOPC_CBM_BINARY to a trusted executable.',\n );\n } finally {\n clearTimeout(timer);\n rmSync(temporaryPath, { force: true });\n rmSync(tempDir, { recursive: true, force: true });\n }\n}\n\n/**\n * Resolve a shared, versioned user cache. Electron seeds it from its bundled binary;\n * CLI seeds it from a verified release download. This keeps both surfaces on one binary.\n */\nexport async function ensureCodebaseMemoryBinary(explicitPath?: string): Promise<string> {\n const overridden = overrideBinaryPath(explicitPath);\n if (overridden) return overridden;\n\n const cached = await verifySharedCachedBinary();\n if (cached) return cached;\n\n return withCacheLock(async () => {\n cleanupStaleStaging(cacheVersionRoot());\n const afterLock = await verifySharedCachedBinary();\n if (afterLock) return afterLock;\n\n for (const candidate of bundledBinaryCandidates()) {\n try {\n await verifyBundledSource(candidate);\n return await installInSharedCache(candidate.source, async (destination) => {\n copyFileSync(candidate.path, destination);\n });\n } catch (error) {\n log.warn(\n { err: error, source: candidate.source, path: candidate.path },\n 'Code intelligence binary source was not usable',\n );\n }\n }\n\n log.info(\n { destination: cacheBinaryPath(), version: CBM_VERSION, timeoutMs: DOWNLOAD_TIMEOUT_MS },\n 'Downloading code intelligence binary into shared cache',\n );\n return installInSharedCache('github-release', async (destination) => {\n await downloadCodebaseMemoryBinary(destination);\n });\n });\n}\n"],"mappings":"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"}