@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":"schema.js","names":[],"sources":["../../../src/config/schema.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport {\n AgentConfigEntrySchema,\n CapabilityPresetSchema,\n DEFAULT_CAPABILITY_PRESET_ID,\n} from '../agent-manifest/schema.js';\nimport { linearizePresetIds } from '../agent-manifest/preset-chain.js';\nimport { checkCacheDir } from '../browser/cache-dir-policy.js';\nimport { UserContextConfigSchema } from '../user-context/config.js';\nimport { DEFAULT_AGENT_MODELS } from './default-model.js';\nimport { validatePublicUrl } from './public-url.js';\n\n// ============================================\n// Agent Configs\n// ============================================\n\n/**\n * Agent model ref. Always an object with explicit `primary` and optional\n * `fallbacks` chain. No string-form shorthand — every write site builds the\n * object explicitly so reads never branch on shape.\n */\nexport const AgentModelRefSchema = z\n .object({\n primary: z.string().min(1),\n fallbacks: z.array(z.string()).optional(),\n })\n .strict();\n\nexport type AgentModelConfig = z.infer<typeof AgentModelRefSchema>;\n\n/**\n * Image-generation model ref. {@link AgentModelRefSchema} plus runtime knobs\n * (`timeoutMs`, `autoProviderFallback`) used by the image-generation runtime.\n */\nexport const AgentImageGenerationModelSchema = z\n .object({\n primary: z.string().min(1),\n fallbacks: z.array(z.string()).optional(),\n /** Hard cap for the whole generation attempt (ms). */\n timeoutMs: z.number().int().positive().optional(),\n /**\n * When all `primary + fallbacks` candidates fail, sweep every other\n * configured provider before giving up.\n */\n autoProviderFallback: z.boolean().optional(),\n })\n .strict();\n\nexport type AgentImageGenerationModelConfig = z.infer<typeof AgentImageGenerationModelSchema>;\n\nexport const AgentTypedModelRoleSchema = z\n .object({\n description: z.string().max(500).optional(),\n model: z.string().min(1),\n fallbacks: z.array(z.string().min(1)).optional(),\n })\n .strict()\n .superRefine((entry, ctx) => {\n const validateRef = (ref: string) => {\n const trimmed = ref.trim();\n const idx = trimmed.indexOf('/');\n return idx > 0 && idx < trimmed.length - 1;\n };\n if (!validateRef(entry.model)) {\n ctx.addIssue({\n code: 'custom',\n message: `model must be provider/model format (got '${entry.model}')`,\n path: ['model'],\n });\n }\n for (const [index, fallback] of (entry.fallbacks ?? []).entries()) {\n if (!validateRef(fallback)) {\n ctx.addIssue({\n code: 'custom',\n message: `fallback must be provider/model format (got '${fallback}')`,\n path: ['fallbacks', index],\n });\n }\n }\n });\n\nexport type AgentTypedModelRole = z.infer<typeof AgentTypedModelRoleSchema>;\n\nconst AgentTypedModelRolesSchema = z\n .record(z.string().regex(/^[a-z][a-z0-9_-]{0,63}$/), AgentTypedModelRoleSchema)\n .optional();\n\nexport const AgentModelsSchema = z\n .object({\n defaultRole: z.string().regex(/^[a-z][a-z0-9_-]{0,63}$/).optional(),\n roles: AgentTypedModelRolesSchema,\n imageModel: AgentModelRefSchema.optional(),\n imageGenerationModel: AgentImageGenerationModelSchema.optional(),\n })\n .strict()\n .optional();\n\nexport type AgentModelsConfig = z.infer<typeof AgentModelsSchema>;\n\nexport type AgentTypedModel = AgentTypedModelRole & { id: string };\n\nexport const AgentsConfigSchema = z.object({\n /** Default agent id when not specified (routing / session creation). */\n default: z.string().optional(),\n /** Protected global defaults preset applied before each agent's own presets. */\n defaultPreset: z.string().default(DEFAULT_CAPABILITY_PRESET_ID),\n capabilityPresets: z.record(z.string(), CapabilityPresetSchema).default({}),\n list: z.array(AgentConfigEntrySchema).default([]),\n}).strict().default({\n default: 'main',\n defaultPreset: DEFAULT_CAPABILITY_PRESET_ID,\n capabilityPresets: {\n [DEFAULT_CAPABILITY_PRESET_ID]: {\n id: DEFAULT_CAPABILITY_PRESET_ID,\n name: 'Global defaults',\n description: 'Default capabilities inherited by every agent.',\n version: 1,\n models: DEFAULT_AGENT_MODELS,\n },\n },\n list: [\n {\n id: 'main',\n enabled: true,\n identity: {\n name: 'Smart Assistant',\n description: 'General-purpose personal assistant.',\n role: 'General assistant',\n language: 'en',\n tone: 'direct',\n },\n responsibilities: {\n primary: ['Help the user complete tasks'],\n },\n workspace: { root: '~/.xopc/workspace/main' },\n tools: { builtin: {} },\n skills: { mode: 'all' },\n workflows: {},\n boundaries: { requiresConfirmation: [], forbidden: [], escalation: [] },\n },\n ],\n});\n\nconst BrowserCloudConfigSchema = z\n .object({\n apiKey: z.string().optional(),\n projectId: z.string().optional(),\n region: z.string().optional(),\n })\n .strict()\n .optional();\n\nconst BrowserExtensionConfigSchema = z\n .object({\n port: z.number().int().min(1024).max(65535).optional(),\n host: z.string().min(1).optional(),\n connectionTimeout: z.number().int().positive().optional(),\n })\n .strict()\n .optional();\n\nconst BrowserCloakConfigSchema = z\n .object({\n keepOpen: z.boolean().optional(),\n temporaryProfile: z.boolean().optional(),\n cacheDir: z.string().optional().superRefine((value, ctx) => {\n const result = checkCacheDir(value);\n if (result.ok === false) {\n ctx.addIssue({ code: 'custom', message: result.message });\n }\n }),\n binaryPath: z.string().optional(),\n timezone: z.string().optional(),\n locale: z.string().optional(),\n webrtcIp: z.string().optional(),\n fingerprintPlatform: z.string().optional(),\n extraArgs: z.array(z.string()).optional(),\n })\n .strict()\n .optional();\n\nexport const BrowserConfigSchema = z\n .object({\n enabled: z.boolean().default(true),\n backend: z.enum(['local', 'cdp', 'cloud', 'extension', 'cloakbrowser']).default('extension'),\n headless: z.boolean().optional(),\n allowPrivateUrls: z.boolean().optional(),\n commandTimeout: z.number().int().min(5).max(900).optional(),\n cloudProvider: z.enum(['local', 'browserbase', 'browser-use']).optional(),\n cloud: BrowserCloudConfigSchema,\n cdpUrl: z.string().optional(),\n extension: BrowserExtensionConfigSchema,\n cloakbrowser: BrowserCloakConfigSchema,\n humanize: z.boolean().optional(),\n humanPreset: z.enum(['default', 'careful']).optional(),\n dialogPolicy: z.enum(['must_respond', 'auto_dismiss', 'auto_accept']).optional(),\n dialogTimeoutSeconds: z.number().int().positive().optional(),\n })\n .strict()\n .default({ enabled: true, backend: 'extension' });\n\n// ============================================\n// Channel Configs (per-channel Zod lives in bundled extensions; root schema is open)\n// ============================================\n\nexport {\n TelegramTopicConfigSchema,\n TelegramGroupConfigSchema,\n TelegramAccountConfigSchema,\n TelegramConfigSchema,\n} from '../../extensions/telegram/src/config-schema.js';\nexport type { TelegramConfig } from '../../extensions/telegram/src/config-schema.js';\nexport { WeixinAccountConfigSchema, WeixinConfigSchema } from '../../extensions/weixin/src/config-schema.js';\nexport type { WeixinConfig } from '../../extensions/weixin/src/config-schema.js';\n// ============================================\n// Session Routing Configuration\n// ============================================\n\nexport const BindingMatchSchema = z.object({\n channel: z.string(),\n accountId: z.string().optional(),\n peerKind: z.string().optional(),\n peerId: z.string().optional(),\n guildId: z.string().optional(),\n teamId: z.string().optional(),\n memberRoleIds: z.array(z.string()).optional(),\n});\n\nexport const BindingRuleSchema = z.object({\n id: z.string().optional(),\n agentId: z.string(),\n priority: z.number().default(100),\n match: BindingMatchSchema,\n enabled: z.boolean().default(true),\n});\n\nexport const BindingsConfigSchema = z.array(BindingRuleSchema).default([]);\n\nexport const SessionDmScopeSchema = z.enum([\n 'main',\n 'per-peer',\n 'per-channel-peer',\n 'per-account-channel-peer',\n]);\n\nexport const SessionStorageConfigSchema = z.object({\n pruneAfterMs: z.number().optional(),\n maxEntries: z.number().optional(),\n});\n\nexport const SessionResetModeSchema = z.enum(['daily', 'idle']);\n\nexport const SessionResetConfigSchema = z\n .object({\n mode: SessionResetModeSchema.optional(),\n /** Local hour (0–23) for the daily reset boundary. */\n atHour: z.number().int().min(0).max(23).optional(),\n /** Sliding idle window (minutes). When set with daily mode, whichever expires first wins. */\n idleMinutes: z.number().int().min(0).optional(),\n })\n .strict();\n\nexport const SessionResetByTypeSchema = z\n .object({\n direct: SessionResetConfigSchema.optional(),\n group: SessionResetConfigSchema.optional(),\n thread: SessionResetConfigSchema.optional(),\n })\n .strict();\n\nexport const SessionScopeSchema = z.enum(['per-sender', 'global']);\n\nexport const SessionConfigSchema = z.object({\n scope: SessionScopeSchema.default('per-sender'),\n mainKey: z.string().default('main'),\n dmScope: SessionDmScopeSchema.default('main'),\n identityLinks: z.record(z.string(), z.array(z.string())).optional(),\n resetTriggers: z.array(z.string()).optional(),\n idleMinutes: z.number().int().positive().optional(),\n reset: SessionResetConfigSchema.optional(),\n resetByType: SessionResetByTypeSchema.optional(),\n resetByChannel: z.record(z.string(), SessionResetConfigSchema).optional(),\n storage: SessionStorageConfigSchema.optional(),\n}).default({\n scope: 'per-sender',\n mainKey: 'main',\n dmScope: 'main',\n});\n\n/** Channel buckets — shapes validated post-parse by registered channel plugins. */\nexport const ChannelsConfigSchema = z.record(z.string(), z.unknown()).default({});\n\nexport const SearchProviderEntrySchema = z.object({\n type: z.enum(['brave', 'tavily', 'bing', 'searxng']),\n apiKey: z.string().optional(),\n /** SearXNG instance base URL (e.g. http://localhost:8080) */\n url: z.string().optional(),\n disabled: z.boolean().optional(),\n});\n\nexport type SearchProviderEntry = z.infer<typeof SearchProviderEntrySchema>;\n\nexport const WebSearchConfigSchema = z.object({\n maxResults: z.number().default(5),\n /** Ordered API providers; empty → HTML fallback only */\n providers: z.array(SearchProviderEntrySchema).default([]),\n});\n\nexport type WebSearchConfig = z.infer<typeof WebSearchConfigSchema>;\n\nexport const WebsiteBlocklistSchema = z.object({\n /** Master switch. Default false (no blocking). */\n enabled: z.boolean().default(false),\n /** Domain patterns to block (e.g. \"example.com\", \"*.evil.org\"). */\n domains: z.array(z.string()).default([]),\n});\n\nexport type WebsiteBlocklistConfig = z.infer<typeof WebsiteBlocklistSchema>;\n\nexport const WebToolsConfigSchema = z.object({\n /** Search result HTML fallback: cn → Bing, otherwise DuckDuckGo */\n region: z.enum(['cn', 'global']).optional(),\n search: WebSearchConfigSchema.optional(),\n /** Domain blocklist for web_fetch / web_extract / browser tools. */\n blocklist: WebsiteBlocklistSchema.optional(),\n});\n\nexport type WebToolsConfig = z.infer<typeof WebToolsConfigSchema>;\n\nexport const ToolsConfigSchema = z.object({\n web: WebToolsConfigSchema.optional(),\n /**\n * Per-capability media providers. Currently only `audio` (STT) is wired;\n * `image` / `video` slots are reserved for future capabilities.\n */\n media: z.lazy(() => ToolsMediaConfigSchema),\n}).default({\n web: {\n search: {\n maxResults: 5,\n providers: [],\n },\n },\n});\n\n// ============================================\n// Gateway Configuration\n// ============================================\n\nexport const GatewayAuthRateLimitSchema = z\n .object({\n enabled: z.boolean().default(true),\n maxAttempts: z.number().int().min(1).default(5),\n windowMs: z.number().default(900_000),\n blockDurationMs: z.number().default(300_000),\n /** OpenClaw alias for blockDurationMs. */\n lockoutMs: z.number().optional(),\n /** Skip rate limiting for loopback client IPs (default true). Remote browser Origin requests never exempt. */\n exemptLoopback: z.boolean().default(true),\n /**\n * Coalesce same-client failures arriving within this window into a single\n * attempt. Absorbs SPA fan-out / SDK auto-retry storms without weakening\n * brute-force protection (deliberate attackers are still rate-limited to\n * one effective attempt per window). Set to 0 to disable.\n */\n burstCoalesceMs: z.number().int().min(0).default(1000),\n })\n .optional();\n\nexport const GatewaySecuritySchema = z\n .object({\n /** When true, non-loopback binds require explicit gateway.auth.rateLimit configuration. */\n strict: z.boolean().optional(),\n })\n .optional();\n\nexport const GatewayTrustedProxySchema = z\n .object({\n /** Header set by the reverse proxy with the authenticated user identity. */\n userHeader: z.string().min(1),\n /** Additional headers that must be present (e.g. proxy auth markers). */\n requiredHeaders: z.array(z.string()).optional(),\n /** When non-empty, only these user identities are allowed. */\n allowUsers: z.array(z.string()).optional(),\n /** Allow trusted-proxy auth when the TCP source is loopback (same-host reverse proxy). */\n allowLoopback: z.boolean().optional(),\n })\n .strict();\n\nexport const GatewayAuthSchema = z\n .object({\n mode: z.enum(['none', 'token', 'password', 'trusted-proxy']).default('token'),\n token: z.string().optional(),\n password: z.string().optional(),\n /** When true (default for Serve), browser UI may auth via Tailscale identity headers. API routes still require token. */\n allowTailscale: z.boolean().optional(),\n rateLimit: GatewayAuthRateLimitSchema,\n trustedProxy: GatewayTrustedProxySchema.optional(),\n })\n .default({\n mode: 'token',\n });\n\nexport const GatewayTailscaleConsentSchema = z.object({\n version: z.string().min(1),\n acceptedAt: z.string().min(1),\n});\n\nexport const GatewayTailscaleSchema = z\n .object({\n mode: z.enum(['off', 'serve', 'funnel']).default('off'),\n resetOnExit: z.boolean().default(true),\n consent: GatewayTailscaleConsentSchema.optional(),\n })\n .default({\n mode: 'off',\n resetOnExit: true,\n });\n\nexport const GatewayRemoteSchema = z.object({\n url: z.string().url(),\n token: z.string().optional(),\n password: z.string().optional(),\n transport: z.enum(['direct', 'ssh']).default('direct'),\n sshTarget: z.string().optional(),\n sshIdentity: z.string().optional(),\n tlsFingerprint: z.string().optional(),\n});\n\nexport const GatewayTlsSchema = z\n .object({\n enabled: z.boolean().default(false),\n autoGenerate: z.boolean().default(false),\n certPath: z.string().optional(),\n keyPath: z.string().optional(),\n })\n .default({\n enabled: false,\n autoGenerate: false,\n });\n\nexport const GatewayModeSchema = z.enum(['local', 'remote']).default('local');\n\nexport const HeartbeatConfigSchema = z\n .object({\n enabled: z.boolean(),\n intervalMs: z.number(),\n /** When false, heartbeat instructions are only sent during heartbeat polling turns (not in every chat system prompt). */\n includeSystemPromptSection: z.boolean().optional().default(false),\n target: z.string().optional(),\n targetChatId: z.string().optional(),\n prompt: z.string().optional(),\n ackMaxChars: z.number().optional(),\n isolatedSession: z.boolean().optional(),\n activeHours: z\n .object({\n start: z.string(),\n end: z.string(),\n timezone: z.string().optional(),\n })\n .optional(),\n })\n .default({\n enabled: true,\n intervalMs: 1_800_000,\n includeSystemPromptSection: false,\n });\n\nexport const GatewayChannelConnectDeferModeSchema = z.enum(['auto', 'off', 'explicit']);\n\nexport const TunnelConsentSchema = z.object({\n version: z.string().min(1),\n acceptedAt: z.string().min(1),\n});\n\nexport const TunnelConfigSchema = z\n .object({\n enabled: z.boolean().default(false),\n brokerUrl: z.string().url().default('https://frp.xopc.ai/api'),\n /** Broker register API secret (env `XOPC_TUNNEL_REGISTRATION_SECRET` overrides when set). */\n registrationSecret: z.string().min(1).optional(),\n autoStart: z.boolean().default(false),\n subdomain: z.string().optional(),\n consent: TunnelConsentSchema.optional(),\n })\n .default({\n enabled: false,\n brokerUrl: 'https://frp.xopc.ai/api',\n autoStart: false,\n });\n\nexport type TunnelConfig = z.infer<typeof TunnelConfigSchema>;\n\n/**\n * Workspace-scoped concerns (file import, etc.). Distinct from\n * agent manifest workspace roots; this block carries\n * feature configuration for workspace-related routes.\n */\nexport const WorkspaceImportConfigSchema = z.object({\n /** Workspace-relative subdir for imported files. Default `imports`. */\n targetDir: z.string().default('imports'),\n /** Per-file byte cap. Default 100 MiB. */\n maxBytes: z.number().int().min(1024).max(10_737_418_240).default(104_857_600),\n /** When false, the route rejects `onConflict: 'overwrite'`. Default true. */\n allowOverwrite: z.boolean().default(true),\n});\nexport type WorkspaceImportConfig = z.infer<typeof WorkspaceImportConfigSchema>;\n\nexport const WorkspaceConfigSchema = z.object({\n import: WorkspaceImportConfigSchema.optional(),\n}).optional();\nexport type WorkspaceConfig = z.infer<typeof WorkspaceConfigSchema>;\n\nexport const GatewayBindModeSchema = z.enum(['auto', 'loopback', 'lan', 'tailnet', 'custom']);\n\nexport const GatewayConfigSchema = z.object({\n /** Semantic bind mode. */\n bind: GatewayBindModeSchema.optional(),\n /** IPv4 listen address when `bind` is `custom`. */\n customBindHost: z.string().optional(),\n port: z.number().optional(),\n /** local: this process runs the gateway; remote: CLI clients target gateway.remote. */\n mode: GatewayModeSchema.optional(),\n /** Persistent remote gateway target for CLI/TUI/MCP when mode=remote. */\n remote: GatewayRemoteSchema.optional(),\n tailscale: GatewayTailscaleSchema.optional(),\n tls: GatewayTlsSchema.optional(),\n auth: GatewayAuthSchema.optional(),\n heartbeat: HeartbeatConfigSchema.optional(),\n maxSseConnections: z.number().optional(),\n corsOrigins: z.array(z.string()).optional(),\n /**\n * Reverse-proxy publicly reachable URL (e.g. `https://gateway.example.com`).\n * Optional. When set, mobile pairing surfaces this URL as the preferred\n * baseUrl and it is auto-added to the browser CORS/CSRF allowlist.\n * - Must be a URL with no path / query / userinfo.\n * - Must use `https:` for public hosts; `http:` is only allowed when the\n * hostname is in an RFC1918 / `.local` private range.\n */\n publicUrl: z\n .string()\n .superRefine((value, ctx) => {\n const result = validatePublicUrl(value);\n if (result.ok === false) {\n ctx.addIssue({ code: 'custom', message: `gateway.publicUrl: ${result.message}` });\n }\n })\n .optional(),\n /** Dangerous: allow browser Origin to match the HTTP Host header when not in corsOrigins. */\n dangerouslyAllowHostHeaderOriginFallback: z.boolean().optional(),\n /** CIDRs or exact IPs of reverse proxies allowed to terminate auth (trusted-proxy mode). */\n trustedProxies: z.array(z.string()).optional(),\n /** When true, fall back to X-Real-IP if X-Forwarded-For chain parsing fails. Default false (fail closed). */\n allowRealIpFallback: z.boolean().optional(),\n security: GatewaySecuritySchema,\n /**\n * How channel `start()` is split around HTTP listen when using `GatewayServer`.\n * - `auto` (default): defer ids come from channel plugin `meta.deferConnectUntilAfterListen` + enabled config.\n * - `off`: always start all channels in phase1 (troubleshooting / strict ordering).\n * - `explicit`: defer only `channelConnectDeferIds` (empty = defer none).\n */\n channelConnectDeferMode: GatewayChannelConnectDeferModeSchema.optional(),\n /** When `channelConnectDeferMode` is `explicit`, these channel plugin ids are deferred until after listen. */\n channelConnectDeferIds: z.array(z.string().min(1)).max(24).optional(),\n /** Removed from the defer set (applied after `auto` or `explicit` resolution). */\n channelConnectDeferSkipIds: z.array(z.string().min(1)).max(24).optional(),\n /** Default skills marketplace provider id. Built-in: 'store', 'skillhub', 'clawhub'. Extensions may register more. */\n skillsMarketplaceProvider: z.string().optional(),\n /** Base URL for the xopc skills marketplace (public REST API). */\n skillsStoreBaseUrl: z.string().url().optional(),\n /** File sharing configuration (temporary public download links for workspace files). */\n share: z.object({\n enabled: z.boolean().default(true),\n /** Default TTL in ms (default 24h). */\n defaultTtlMs: z.number().min(60_000).max(604_800_000).default(86_400_000),\n /** Maximum TTL in ms (default 7 days). */\n maxTtlMs: z.number().min(60_000).max(2_592_000_000).default(604_800_000),\n /** Maximum concurrent active shares (default 100). */\n maxActiveShares: z.number().min(1).max(10_000).default(100),\n /** Maximum shareable file size in bytes (default 100MB). */\n maxFileSize: z.number().min(1_048_576).max(10_737_418_240).default(104_857_600),\n /** MIME types allowed for inline preview (?inline=1). */\n inlinePreviewMimes: z.array(z.string()).default([\n 'image/png',\n 'image/jpeg',\n 'image/gif',\n 'image/webp',\n 'image/svg+xml',\n 'application/pdf',\n 'text/html',\n 'text/markdown',\n 'text/plain',\n 'application/json',\n ]),\n /** Folder-sharing controls (browse + ZIP). */\n directory: z.object({\n enabled: z.boolean().default(true),\n /** Maximum folder size in bytes at scan time (default 1 GB). */\n maxFolderSize: z.number().int().min(1_048_576).max(10_737_418_240).default(1_073_741_824),\n /** Maximum number of entries scanned for a single folder share. */\n maxFileCount: z.number().int().min(1).max(100_000).default(1_000),\n /** Traversal depth cap (defense against recursive symlinks). */\n maxDepth: z.number().int().min(1).max(64).default(20),\n /** In-memory directory listing cache TTL. */\n listingCacheMs: z.number().int().min(0).max(600_000).default(60_000),\n /** Maximum simultaneous ZIP streams per share token. */\n zipConcurrency: z.number().int().min(1).max(8).default(1),\n }).default({\n enabled: true,\n maxFolderSize: 1_073_741_824,\n maxFileCount: 1_000,\n maxDepth: 20,\n listingCacheMs: 60_000,\n zipConcurrency: 1,\n }),\n }).optional(),\n /** Site-share configuration (static directory or reverse-proxy a local dev server). */\n siteShare: z.object({\n enabled: z.boolean().default(true),\n /** Public host suffix that subdomain shares are served under. */\n publicHostSuffix: z.string().min(1).default('share.xopc.ai'),\n /** Default TTL in ms (default 6h, shorter than file shares — live app surface). */\n defaultTtlMs: z.number().int().min(60_000).max(604_800_000).default(21_600_000),\n /** Maximum TTL in ms (default 7 days). */\n maxTtlMs: z.number().int().min(60_000).max(2_592_000_000).default(604_800_000),\n /** Maximum concurrent active site shares. */\n maxActiveSites: z.number().int().min(1).max(1_000).default(5),\n static: z.object({\n enabled: z.boolean().default(true),\n /** Maximum total bytes of files served per static site. */\n maxRootDirSize: z.number().int().min(1_048_576).max(10_737_418_240).default(524_288_000),\n /** Maximum file count under root dir. */\n maxFileCount: z.number().int().min(1).max(100_000).default(10_000),\n /** Whether HTML/CSS rewrite of absolute paths is on by default. */\n rewriteEnabledByDefault: z.boolean().default(false),\n }).default({\n enabled: true,\n maxRootDirSize: 524_288_000,\n maxFileCount: 10_000,\n rewriteEnabledByDefault: false,\n }),\n proxy: z.object({\n /** Reverse-proxy mode default-enabled per the product brief. */\n enabled: z.boolean().default(true),\n /** Upstream host whitelist. Loopback by default. */\n allowedUpstreamHosts: z\n .array(z.string().min(1))\n .default(['127.0.0.1', 'localhost', '::1']),\n /** Upstream port whitelist (common dev-server ports). */\n allowedUpstreamPorts: z\n .array(z.number().int().min(1).max(65535))\n .default([3000, 3001, 4321, 5173, 8000, 8080, 8888, 9000]),\n /** Whether to forward WebSocket upgrades. */\n forwardWebSocket: z.boolean().default(true),\n /** Maximum request body size in bytes (50 MB). */\n bodySizeLimit: z.number().int().min(0).max(1_073_741_824).default(52_428_800),\n /** Per-request HTTP timeout in ms. */\n requestTimeoutMs: z.number().int().min(1_000).max(600_000).default(30_000),\n /** Per-WebSocket idle timeout in ms. */\n wsIdleTimeoutMs: z.number().int().min(10_000).max(3_600_000).default(300_000),\n /** Rewrite Set-Cookie Path attribute (subpath mode only). */\n rewriteSetCookiePath: z.boolean().default(true),\n }).default({\n enabled: true,\n allowedUpstreamHosts: ['127.0.0.1', 'localhost', '::1'],\n allowedUpstreamPorts: [3000, 3001, 4321, 5173, 8000, 8080, 8888, 9000],\n forwardWebSocket: true,\n bodySizeLimit: 52_428_800,\n requestTimeoutMs: 30_000,\n wsIdleTimeoutMs: 300_000,\n rewriteSetCookiePath: true,\n }),\n }).optional(),\n}).default({\n bind: 'loopback',\n port: 18790,\n auth: {\n mode: 'token',\n },\n heartbeat: {\n enabled: true,\n intervalMs: 1_800_000,\n includeSystemPromptSection: false,\n },\n maxSseConnections: 100,\n corsOrigins: [],\n skillsMarketplaceProvider: 'store',\n skillsStoreBaseUrl: 'https://store.xopc.ai',\n});\n\nexport const ModelsDevConfigSchema = z.object({\n enabled: z.boolean().default(true),\n}).default({\n enabled: true,\n});\n\n// ============================================\n// STT (Speech-to-Text) Config\n// ============================================\n\nconst SttProviderConfigCatchallSchema = z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.null(),\n z.array(z.unknown()),\n z.record(z.string(), z.unknown()),\n]);\n\nexport const STTProviderConfigSchema = z\n .object({\n apiKey: z.string().optional(),\n model: z.string().optional(),\n baseUrl: z.string().optional(),\n headers: z.record(z.string(), z.string()).optional(),\n language: z.string().optional(),\n prompt: z.string().optional(),\n })\n .catchall(SttProviderConfigCatchallSchema);\n\nexport const STTFallbackConfigSchema = z.object({\n enabled: z.boolean().default(false),\n order: z.array(z.string().min(1)).default(['xopc-local']),\n});\n\nexport const MediaUnderstandingCapabilitiesSchema = z\n .array(z.enum(['image', 'audio', 'video']))\n .optional();\n\nexport const MediaUnderstandingModelSchema = z\n .object({\n provider: z.string().optional(),\n model: z.string().optional(),\n capabilities: MediaUnderstandingCapabilitiesSchema,\n type: z.union([z.literal('provider'), z.literal('cli')]).optional(),\n command: z.string().optional(),\n baseUrl: z.string().optional(),\n headers: z.record(z.string(), z.string()).optional(),\n apiKey: z.string().optional(),\n language: z.string().optional(),\n prompt: z.string().optional(),\n })\n .catchall(SttProviderConfigCatchallSchema);\n\nexport const STTConfigSchema = z\n .object({\n enabled: z.boolean().default(true),\n /** Primary provider id — any registered MediaUnderstandingProvider id. */\n provider: z.string().min(1).default('xopc-local'),\n fallback: STTFallbackConfigSchema.default({ enabled: false, order: ['xopc-local'] }),\n timeoutMs: z.number().int().min(1000).max(180000).optional(),\n /** Ordered model entries for this capability (OpenClaw `tools.media.audio.models`). */\n models: z.array(MediaUnderstandingModelSchema).optional(),\n /** Provider settings map keyed by provider id. */\n providers: z.record(z.string(), STTProviderConfigSchema).optional(),\n })\n .strict();\n\n// ============================================\n// TTS (Text-to-Speech) Config\n// ============================================\n\nconst TtsProviderConfigCatchallSchema = z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.null(),\n z.array(z.unknown()),\n z.record(z.string(), z.unknown()),\n]);\n\nexport const TTSProviderConfigSchema = z\n .object({\n apiKey: z.string().optional(),\n model: z.string().optional(),\n voice: z.string().optional(),\n })\n .catchall(TtsProviderConfigCatchallSchema);\n\nexport const TTSFallbackConfigSchema = z.object({\n enabled: z.boolean().default(true),\n order: z\n .array(z.string().min(1))\n .default(['openai', 'alibaba', 'minimax', 'edge']),\n});\n\nexport const TTSModelOverridesConfigSchema = z.object({\n enabled: z.boolean().default(true),\n allowText: z.boolean().default(true),\n allowProvider: z.boolean().default(false),\n allowVoice: z.boolean().default(true),\n allowModelId: z.boolean().default(true),\n allowVoiceSettings: z.boolean().default(false),\n allowNormalization: z.boolean().default(false),\n allowSeed: z.boolean().default(false),\n});\n\nexport const TTSEdgeConfigSchema = z.object({\n enabled: z.boolean().default(true),\n voice: z.string().optional(),\n lang: z.string().optional(),\n outputFormat: z.string().optional(),\n pitch: z.string().optional(),\n rate: z.string().optional(),\n volume: z.string().optional(),\n proxy: z.string().optional(),\n timeoutMs: z.number().int().min(1000).max(120000).optional(),\n});\n\nexport const TTSSummarizationConfigSchema = z.object({\n enabled: z.boolean().optional(),\n targetLength: z.number().int().min(1).optional(),\n threshold: z.number().int().min(1).optional(),\n model: z.string().optional(),\n});\n\nexport const TTSConfigSchema = z\n .object({\n enabled: z.boolean().default(true),\n /** Primary provider id — any registered SpeechProviderPlugin id. */\n provider: z.string().min(1).default('edge'),\n trigger: z.enum(['off', 'always', 'inbound', 'tagged']).default('inbound'),\n fallback: TTSFallbackConfigSchema.optional(),\n maxTextLength: z.number().int().min(1).default(512), // Conservative default to accommodate all providers (Alibaba limit is 512)\n timeoutMs: z.number().int().min(1000).max(180000).default(60000),\n summarization: TTSSummarizationConfigSchema.optional(),\n modelOverrides: TTSModelOverridesConfigSchema.optional(),\n /** Provider settings map keyed by provider id. */\n providers: z.record(z.string(), TTSProviderConfigSchema).optional(),\n })\n .strict();\n\nexport const VoiceRefinementConfigSchema = z\n .object({\n mode: z.enum(['off', 'punctuation', 'light', 'custom']).default('off'),\n /** Optional provider/model reference used only when refinement is enabled. */\n model: z.string().min(1).optional(),\n customInstruction: z.string().max(4000).optional(),\n })\n .strict();\n\nexport const VoiceConfigSchema = z\n .object({\n languageMode: z.enum(['auto', 'manual']).optional(),\n language: z.enum(['en', 'zh']).optional(),\n input: z\n .object({\n refinement: VoiceRefinementConfigSchema.optional(),\n })\n .strict()\n .optional(),\n })\n .strict()\n .optional();\n\n// ============================================\n// messages.* — delivery / presentation concerns\n// ============================================\n\nexport const MessagesConfigSchema = z.object({\n /** Voice (text-to-speech) output configuration. */\n tts: TTSConfigSchema.optional(),\n}).optional();\n\nexport const ToolsMediaAudioConfigSchema = STTConfigSchema;\n\nexport const ToolsMediaConfigSchema = z\n .object({\n /** Shared model entries applied across media capabilities when entry lacks capabilities. */\n models: z.array(MediaUnderstandingModelSchema).optional(),\n /** Audio (speech-to-text) capability provider config. */\n audio: ToolsMediaAudioConfigSchema.optional(),\n })\n .optional();\n\n// ============================================\n// Provider Configs (capability providers: image / audio / video)\n// ============================================\n\n/**\n * Optional Azure OpenAI overrides used when an OpenAI image-generation\n * request should hit an Azure deployment instead of `api.openai.com`.\n *\n * URL template (when present):\n * `https://<resource>.openai.azure.com/openai/deployments/<deployment>/images/generations?api-version=<apiVersion>`\n */\nexport const ProviderAzureConfigSchema = z\n .object({\n /** Azure resource name (subdomain before `.openai.azure.com`). */\n resource: z.string().min(1).optional(),\n /** Azure deployment id (configured per model). */\n deployment: z.string().min(1).optional(),\n /** Azure REST API version, e.g. `2024-08-01-preview`. */\n apiVersion: z.string().min(1).optional(),\n })\n .strict();\n\n/** Per-vendor request overrides applied by the provider HTTP layer. */\nexport const ProviderRequestOverridesSchema = z\n .object({\n /** Hard cap for a single HTTP call (ms). */\n timeoutMs: z.number().int().positive().optional(),\n /** Extra headers merged into every outbound request. */\n headers: z.record(z.string(), z.string()).optional(),\n })\n .strict();\n\n/**\n * Generic per-vendor provider config — used by image / audio / video\n * capability providers via `cfg.providers.<id>`. Kept loose (`.strict()` but\n * everything optional) so adding a new vendor never requires a config\n * migration.\n */\nexport const ProviderAuthConfigSchema = z\n .object({\n /** Static API key (api-key / azure-key modes). */\n apiKey: z.string().optional(),\n /** Override the default REST base URL. */\n baseUrl: z.string().url().optional(),\n /** Vendor region (DashScope: `beijing` / `singapore`; AWS: region id). */\n region: z.string().optional(),\n /** Image-only base URL override (DashScope splits image vs LLM). */\n imageBaseUrl: z.string().url().optional(),\n /** Per-vendor request overrides. */\n request: ProviderRequestOverridesSchema.optional(),\n /** Azure OpenAI deployment overrides; only consumed by OpenAI image provider. */\n azure: ProviderAzureConfigSchema.optional(),\n })\n .strict();\n\nexport type ProviderAuthConfig = z.infer<typeof ProviderAuthConfigSchema>;\n\n/**\n * `cfg.providers.<id>` is keyed by provider id (`openai`, `dashscope`,\n * `minimax`, `google`, `fal`, …). Every entry is optional and validated by\n * {@link ProviderAuthConfigSchema}.\n */\nexport const ProvidersConfigSchema = z.record(z.string(), ProviderAuthConfigSchema);\n\nexport type ProvidersConfig = z.infer<typeof ProvidersConfigSchema>;\n\n// ============================================\n// Extension Configs \n// ============================================\n\n// Security config for extensions \nexport const ExtensionSecurityConfigSchema = z.object({\n checkPermissions: z.boolean().default(true),\n allowUntrusted: z.boolean().default(false),\n allow: z.array(z.string()).default([]),\n trackProvenance: z.boolean().default(true),\n allowPromptInjection: z.boolean().default(false),\n});\n\n// Slot config for extensions \nexport const ExtensionSlotsConfigSchema = z.object({\n memory: z.string().optional(),\n tts: z.string().optional(),\n imageGeneration: z.string().optional(),\n webSearch: z.string().optional(),\n});\n\n// Complete extensions config\n// Extension config allows both known fields AND arbitrary extension-specific config\n// Known fields: enabled (array), allow (array), security (object), slots (object)\n// Arbitrary: any other key is extension-specific config (e.g., extensions.hello.greeting)\nexport const ExtensionsConfigSchema: z.ZodType<Record<string, unknown>> = z.record(z.string(), z.unknown());\n\n// ============================================\n// Update Config\n// ============================================\n\nexport const UpdateAutoConfigSchema = z\n .object({\n /** Enable automatic update installation. Default false. */\n enabled: z.boolean().default(false),\n /** Hours to wait before applying a stable update after first detection. */\n stableDelayHours: z.number().min(0).default(6),\n /** Additional random jitter hours for stable rollout (avoids thundering herd). */\n stableJitterHours: z.number().min(0).default(12),\n /** How often to re-check for beta updates (hours). Min 0.25. */\n betaCheckIntervalHours: z.number().min(0.25).default(1),\n })\n .strict()\n .optional();\n\n/** Persistent `/goal` (Ralph loop) — Hermes-aligned defaults. */\nexport const GoalNotificationEventSchema = z.enum([\n 'done',\n 'blocked',\n 'needs_input',\n 'queue_failed',\n 'queue_retry',\n 'queue_succeeded',\n 'queue_skipped',\n]);\n\nexport const GoalNotificationTargetSchema = z\n .object({\n channel: z.string().min(1),\n chatId: z.string().min(1),\n accountId: z.string().optional(),\n threadId: z.union([z.string(), z.number()]).optional(),\n silent: z.boolean().optional(),\n events: z.array(GoalNotificationEventSchema).optional(),\n })\n .strict();\n\nexport const GoalNotificationsConfigSchema = z\n .object({\n enabled: z.boolean().default(false),\n /** Notify Telegram/Weixin chats bound to the goal activeSessionKey. */\n includeLinkedSessions: z.boolean().default(true),\n /** Channels eligible for linked-session notifications. */\n channels: z.array(z.string().min(1)).default(['telegram', 'weixin']),\n events: z\n .array(GoalNotificationEventSchema)\n .default(['done', 'blocked', 'needs_input', 'queue_failed', 'queue_retry']),\n targets: z.array(GoalNotificationTargetSchema).default([]),\n })\n .strict()\n .default({\n enabled: false,\n includeLinkedSessions: true,\n channels: ['telegram', 'weixin'],\n events: ['done', 'blocked', 'needs_input', 'queue_failed', 'queue_retry'],\n targets: [],\n });\n\nexport const GoalsConfigSchema = z\n .object({\n /** Max continuation turns before auto-pause (Hermes default 20). */\n maxTurns: z.number().int().min(1).max(500).default(20),\n /** Optional judge model ref; defaults to the active agent model. */\n judgeModelRef: z.string().optional(),\n /**\n * When true (default), first post-turn runs a decomposition judge to build a checklist;\n * subsequent turns evaluate progress per item (Hermes-style). When false, use legacy freeform judge only.\n */\n checklistMode: z.boolean().default(true),\n /**\n * empty_only preserves legacy behavior: the first post-turn decomposition runs only when the\n * goal has no checklist. supplement_existing lets the first post-turn add non-duplicate judge\n * criteria even when the user supplied initial acceptance criteria.\n */\n checklistDecomposePolicy: z.enum(['empty_only', 'supplement_existing']).default('empty_only'),\n /** Auto-pause after this many consecutive judge JSON/tool parse failures (Hermes default 3). */\n maxConsecutiveParseFailures: z.number().int().min(1).max(20).default(3),\n /** Judge LLM call timeout in ms (Hermes uses 60s). */\n judgeTimeoutMs: z.number().int().min(5_000).max(120_000).default(60_000),\n /** Max characters of recent transcript JSON passed to the checklist judge as extra context. */\n checklistHistoryChars: z.number().int().min(0).max(100_000).default(24_000),\n /** External channel notification policy for durable goal lifecycle events. */\n notifications: GoalNotificationsConfigSchema,\n })\n .strict();\n\nexport type GoalsConfig = z.infer<typeof GoalsConfigSchema>;\n\nexport const UpdateConfigSchema = z\n .object({\n /** Check for updates on gateway startup. Default true. */\n checkOnStart: z.boolean().default(true),\n /** Update channel: stable (default), beta, or dev. */\n channel: z.enum(['stable', 'beta', 'dev']).default('stable'),\n /** Automatic update policy. */\n auto: UpdateAutoConfigSchema,\n })\n .strict()\n .optional();\n\nexport type UpdateConfig = z.infer<typeof UpdateConfigSchema>;\n\nexport const CommandsConfigSchema = z\n .object({\n restart: z.boolean().optional(),\n })\n .strict()\n .optional();\n\nexport type CommandsConfig = z.infer<typeof CommandsConfigSchema>;\n\nexport const TuiConfigSchema = z\n .object({\n /** Default agent id for fresh TUI sessions. Leaves global routing (`agents.default`) untouched. */\n defaultAgent: z.string().min(1).optional(),\n })\n .strict()\n .default({});\n\nexport type TuiConfig = z.infer<typeof TuiConfigSchema>;\n\n// ============================================\n// MCP (Model Context Protocol)\n// ============================================\n\nconst McpHttpUrlSchema = z\n .string()\n .url()\n .refine((value) => {\n try {\n const protocol = new URL(value).protocol;\n return protocol === 'http:' || protocol === 'https:';\n } catch {\n return false;\n }\n }, 'MCP server URL must use http or https');\n\nconst ConnectorSecretReferenceSchema = z.object({\n xopcSecretRef: z.object({\n provider: z.string().min(1),\n fieldKey: z.string().min(1),\n }),\n});\n\nconst McpConfigScalarSchema = z.union([z.string(), z.number(), z.boolean(), ConnectorSecretReferenceSchema]);\n\nexport const McpServerSchema = z\n .object({\n command: z.string().optional(),\n args: z.array(z.string()).optional(),\n env: z.record(z.string(), McpConfigScalarSchema).optional(),\n cwd: z.string().optional(),\n workingDirectory: z.string().optional(),\n url: McpHttpUrlSchema.optional(),\n transport: z.enum(['sse', 'streamable-http']).optional(),\n headers: z.record(z.string(), McpConfigScalarSchema).optional(),\n connectionTimeoutMs: z.number().finite().positive().optional(),\n })\n .catchall(z.unknown())\n .superRefine((value, ctx) => {\n const hasCommand = typeof value.command === 'string' && value.command.trim().length > 0;\n const hasUrl = typeof value.url === 'string' && value.url.trim().length > 0;\n if (hasCommand && hasUrl) {\n ctx.addIssue({\n code: 'custom',\n message: 'MCP server cannot define both command and url',\n });\n }\n });\n\nexport const McpConfigSchema = z\n .object({\n servers: z.record(z.string(), McpServerSchema).optional(),\n sessionIdleTtlMs: z.number().finite().min(0).optional(),\n })\n .strict()\n .optional();\n\nexport type McpServerConfig = z.infer<typeof McpServerSchema>;\nexport type McpConfig = z.infer<typeof McpConfigSchema>;\n\n// ============================================\n// Code Intelligence\n// ============================================\n\nexport const CodeIntelligenceConfigSchema = z\n .object({\n enabled: z.boolean().default(true),\n agentIds: z.array(z.string().min(1)).default(['coder']),\n indexMode: z.enum(['fast', 'moderate', 'full']).default('moderate'),\n autoIndex: z.boolean().default(true),\n autoRefresh: z.boolean().default(true),\n refreshDebounceMs: z.number().int().min(100).max(30_000).default(600),\n queryTimeoutMs: z.number().int().min(1_000).max(120_000).default(20_000),\n indexTimeoutMs: z.number().int().min(10_000).max(30 * 60_000).default(5 * 60_000),\n binaryPath: z.string().min(1).optional(),\n })\n .strict()\n .default({\n enabled: true,\n agentIds: ['coder'],\n indexMode: 'moderate',\n autoIndex: true,\n autoRefresh: true,\n refreshDebounceMs: 600,\n queryTimeoutMs: 20_000,\n indexTimeoutMs: 5 * 60_000,\n });\n\nexport type CodeIntelligenceConfig = z.infer<typeof CodeIntelligenceConfigSchema>;\n\nexport const ConnectorsConfigSchema = z\n .object({\n instances: z.record(z.string(), z.record(z.string(), z.unknown())).optional(),\n })\n .strict()\n .optional();\n\nexport type ConnectorsConfig = z.infer<typeof ConnectorsConfigSchema>;\n\nexport const ExperimentalConfigSchema = z\n .object({\n /** First-run activation that analyzes one explicitly selected local folder. */\n workDiscoveryOnboarding: z.boolean().default(true),\n })\n .strict()\n .default({ workDiscoveryOnboarding: true });\n\nexport type ExperimentalConfig = z.infer<typeof ExperimentalConfigSchema>;\n\n// ============================================\n// Root Config\n// ============================================\n\nexport const ConfigSchema = z.object({\n userContext: UserContextConfigSchema,\n agents: AgentsConfigSchema,\n bindings: BindingsConfigSchema,\n session: SessionConfigSchema,\n channels: ChannelsConfigSchema,\n gateway: GatewayConfigSchema,\n browser: BrowserConfigSchema,\n tunnel: TunnelConfigSchema.optional(),\n workspace: WorkspaceConfigSchema,\n tools: ToolsConfigSchema,\n mcp: McpConfigSchema,\n codeIntelligence: CodeIntelligenceConfigSchema,\n connectors: ConnectorsConfigSchema,\n experimental: ExperimentalConfigSchema,\n goals: GoalsConfigSchema.optional(),\n extensions: ExtensionsConfigSchema.default({}),\n /** Per-vendor capability provider config (image / audio / video). */\n providers: ProvidersConfigSchema.optional(),\n modelsDev: ModelsDevConfigSchema,\n /** Delivery / presentation concerns (currently `tts`). */\n messages: MessagesConfigSchema,\n /** User-facing voice input behavior beyond provider selection. */\n voice: VoiceConfigSchema,\n update: UpdateConfigSchema,\n commands: CommandsConfigSchema,\n tui: TuiConfigSchema,\n}).default({\n userContext: {\n enabled: true,\n memory: {\n mode: 'confirmWrite',\n sources: ['session', 'curated'],\n writePolicy: { curated: 'confirm' },\n },\n understanding: {\n enabled: true,\n adaptiveCadence: true,\n reviewIntervalTurns: 10,\n maxHistoryMessages: 80,\n maxDurationMs: 120_000,\n },\n privacy: { sensitiveWritePolicy: 'confirm' },\n providerRouting: {\n searchStrategy: 'fanout',\n writeStrategy: 'local-first',\n allowExternalWrites: false,\n },\n dreaming: { enabled: false },\n },\n agents: {\n default: 'main',\n defaultPreset: DEFAULT_CAPABILITY_PRESET_ID,\n capabilityPresets: {\n [DEFAULT_CAPABILITY_PRESET_ID]: {\n id: DEFAULT_CAPABILITY_PRESET_ID,\n name: 'Global defaults',\n description: 'Default capabilities inherited by every agent.',\n version: 1,\n models: DEFAULT_AGENT_MODELS,\n },\n },\n list: [\n {\n id: 'main',\n enabled: true,\n identity: {\n name: 'Smart Assistant',\n description: 'General-purpose personal assistant.',\n role: 'General assistant',\n language: 'en',\n tone: 'direct',\n },\n responsibilities: {\n primary: ['Help the user complete tasks'],\n },\n workspace: { root: '~/.xopc/workspace/main' },\n tools: { builtin: {} },\n skills: { mode: 'all' },\n workflows: {},\n boundaries: { requiresConfirmation: [], forbidden: [], escalation: [] },\n },\n ],\n },\n bindings: [],\n session: {\n scope: 'per-sender' as const,\n mainKey: 'main',\n dmScope: 'main' as const,\n },\n channels: {\n telegram: {\n enabled: false,\n debug: false,\n defaults: {\n dmPolicy: 'pairing' as const,\n groupPolicy: 'open' as const,\n replyToMode: 'off' as const,\n historyLimit: 50,\n textChunkLimit: 4000,\n streaming: { mode: 'partial' as const },\n },\n accounts: {\n default: {\n accountId: 'default',\n enabled: true,\n botToken: '',\n allowFrom: [],\n groupAllowFrom: [],\n },\n },\n },\n },\n gateway: {\n bind: 'loopback',\n port: 18790,\n auth: {\n mode: 'token',\n },\n heartbeat: {\n enabled: true,\n intervalMs: 1_800_000,\n includeSystemPromptSection: false,\n },\n maxSseConnections: 100,\n corsOrigins: [],\n skillsMarketplaceProvider: 'store',\n skillsStoreBaseUrl: 'https://store.xopc.ai',\n },\n browser: {\n enabled: true,\n backend: 'extension' as const,\n },\n tools: {\n web: {\n search: {\n maxResults: 5,\n providers: [],\n },\n },\n },\n codeIntelligence: {\n enabled: true,\n agentIds: ['coder'],\n indexMode: 'moderate' as const,\n autoIndex: true,\n autoRefresh: true,\n refreshDebounceMs: 600,\n queryTimeoutMs: 20_000,\n indexTimeoutMs: 5 * 60_000,\n },\n experimental: {\n workDiscoveryOnboarding: true,\n },\n goals: {\n maxTurns: 20,\n checklistMode: true,\n checklistDecomposePolicy: 'empty_only',\n maxConsecutiveParseFailures: 3,\n judgeTimeoutMs: 60_000,\n checklistHistoryChars: 24_000,\n notifications: {\n enabled: false,\n includeLinkedSessions: true,\n channels: ['telegram', 'weixin'],\n events: ['done', 'blocked', 'needs_input', 'queue_failed', 'queue_retry'],\n targets: [],\n },\n },\n extensions: {\n allow: [],\n security: {\n checkPermissions: true,\n allowUntrusted: false,\n allow: [],\n trackProvenance: true,\n allowPromptInjection: false,\n },\n slots: {},\n },\n modelsDev: {\n enabled: true,\n },\n tui: {},\n // messages.tts / tools.media.audio start undefined; the factory layer fills\n // in provider-level defaults (model/voice) on demand. Fresh configs don't\n // ship with enabled providers so they never make surprise STT/TTS calls.\n});\n\nexport type Config = z.infer<typeof ConfigSchema>;\nexport type GatewayAuthConfig = z.infer<typeof GatewayAuthSchema>;\nexport type GatewayTrustedProxyConfig = z.infer<typeof GatewayTrustedProxySchema>;\nexport type GatewayAuthRateLimitConfig = z.infer<typeof GatewayAuthRateLimitSchema>;\nexport type GatewayBindMode = z.infer<typeof GatewayBindModeSchema>;\nexport type STTConfig = z.infer<typeof STTConfigSchema>;\nexport type TTSConfig = z.infer<typeof TTSConfigSchema>;\nexport type VoiceConfig = z.infer<typeof VoiceConfigSchema>;\n\n// ============================================\n// Helper Functions\n// ============================================\n\n/**\n * Parse a model reference string.\n */\nexport interface ParsedModelRef {\n provider: string;\n model: string;\n}\n\nexport function getAgentDefaultModelRef(config: Config): string | undefined {\n const list = Array.isArray(config.agents?.list) ? config.agents.list : [];\n const defaultId =\n config.agents?.default?.trim() ||\n list.find((entry) => (entry as { default?: boolean }).default === true)?.id?.trim() ||\n list[0]?.id;\n const agent = list.find((entry) => entry.enabled !== false && entry.id === defaultId) ?? list[0];\n if (!agent) return undefined;\n\n let modelRef: string | undefined;\n const applyModels = (models: AgentModelsConfig | undefined): void => {\n const roles = models?.roles ?? {};\n const defaultRole = models?.defaultRole ?? Object.keys(roles)[0];\n const role = defaultRole ? roles[defaultRole] : undefined;\n const next = role?.model.trim();\n if (next) modelRef = next;\n };\n const rootPresetIds = [\n ...(config.agents.capabilityPresets[config.agents.defaultPreset] ? [config.agents.defaultPreset] : []),\n ...(agent.extends ?? []).filter((id) => id !== config.agents.defaultPreset),\n ];\n for (const presetId of linearizePresetIds(rootPresetIds, config.agents.capabilityPresets)) {\n applyModels(config.agents.capabilityPresets[presetId]?.models);\n }\n applyModels(agent.models);\n return modelRef;\n}\n\nfunction getAgentDefaultModelsConfig(config: Config): AgentModelsConfig | undefined {\n const list = Array.isArray(config.agents?.list) ? config.agents.list : [];\n const defaultId =\n config.agents?.default?.trim() ||\n list.find((entry) => (entry as { default?: boolean }).default === true)?.id?.trim() ||\n list[0]?.id;\n const agent = list.find((entry) => entry.enabled !== false && entry.id === defaultId) ?? list[0];\n if (!agent) return undefined;\n\n let modelConfig: AgentModelsConfig | undefined;\n const applyModels = (models: AgentModelsConfig | undefined): void => {\n if (!models) return;\n modelConfig = {\n ...modelConfig,\n ...models,\n roles: {\n ...(modelConfig?.roles ?? {}),\n ...(models.roles ?? {}),\n },\n };\n };\n const rootPresetIds = [\n ...(config.agents.capabilityPresets[config.agents.defaultPreset] ? [config.agents.defaultPreset] : []),\n ...(agent.extends ?? []).filter((id) => id !== config.agents.defaultPreset),\n ];\n for (const presetId of linearizePresetIds(rootPresetIds, config.agents.capabilityPresets)) {\n applyModels(config.agents.capabilityPresets[presetId]?.models);\n }\n applyModels(agent.models);\n return modelConfig;\n}\n\nexport function getAgentDefaultImageModelConfig(config: Config): AgentModelConfig | undefined {\n return getAgentDefaultModelsConfig(config)?.imageModel;\n}\n\nexport function getAgentDefaultImageGenerationModelConfig(\n config: Config,\n): AgentImageGenerationModelConfig | undefined {\n return getAgentDefaultModelsConfig(config)?.imageGenerationModel;\n}\n\n/** `provider/model` or null when invalid. */\nexport function parseModelRef(ref: string): ParsedModelRef | null {\n const trimmed = ref.trim();\n const idx = trimmed.indexOf('/');\n if (idx <= 0 || idx === trimmed.length - 1) {\n return null;\n }\n return { provider: trimmed.slice(0, idx).trim(), model: trimmed.slice(idx + 1).trim() };\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-channel-configs.js","names":[],"sources":["../../../src/config/validate-channel-configs.ts"],"sourcesContent":["import Ajv from 'ajv';\n\nimport type { Config } from './schema.js';\nimport { buildChannelCatalogForConfig } from '../channels/catalog/channel-catalog-service.js';\n\nconst ajv = new Ajv({\n allErrors: true,\n strict: false,\n useDefaults: false,\n});\n\n// `password` is a UI hint used by extension manifests, not a validation constraint.\najv.addFormat('password', true);\n\nfunction formatAjvError(channelId: string, err: { instancePath?: string; message?: string }): string {\n const path = err.instancePath ? err.instancePath.replaceAll('/', '.') : '';\n const suffix = path ? path : '<root>';\n return `channels.${channelId}.${suffix}: ${err.message ?? 'invalid value'}`;\n}\n\nexport function validateChannelPluginConfigs(config: Config): string[] {\n const errors: string[] = [];\n const channelsCfg = config.channels ?? {};\n const catalog = buildChannelCatalogForConfig(config);\n\n for (const [rawChannelId, raw] of Object.entries(channelsCfg)) {\n const channelId = rawChannelId.trim().toLowerCase();\n const entry = catalog.byId.get(channelId);\n if (!entry) {\n errors.push(`channels.${rawChannelId}: unknown channel; install or declare a channel extension contribution`);\n continue;\n }\n const validate = ajv.compile(entry.configSchema);\n if (!validate(raw)) {\n for (const err of validate.errors ?? []) {\n errors.push(formatAjvError(channelId, err));\n }\n }\n }\n return errors;\n}\n\nexport function assertChannelPluginConfigs(config: Config): void {\n const errs = validateChannelPluginConfigs(config);\n if (errs.length === 0) return;\n throw new Error(`Channel configuration failed validation:\\n${errs.join('\\n')}`);\n}\n"],"mappings":";;;;AAcA,SAAS,eAAe,WAAmB,KAA0D;CACnG,MAAM,OAAO,IAAI,eAAe,IAAI,aAAa,WAAW,KAAK,IAAI,GAAG;AAExE,QAAO,YAAY,UAAU,GADd,OAAO,OAAO,SACU,IAAI,IAAI,WAAW;;AAG5D,SAAgB,6BAA6B,QAA0B;CACrE,MAAM,SAAmB,EAAE;CAC3B,MAAM,cAAc,OAAO,YAAY,EAAE;CACzC,MAAM,UAAU,6BAA6B,OAAO;AAEpD,MAAK,MAAM,CAAC,cAAc,QAAQ,OAAO,QAAQ,YAAY,EAAE;EAC7D,MAAM,YAAY,aAAa,MAAM,CAAC,aAAa;EACnD,MAAM,QAAQ,QAAQ,KAAK,IAAI,UAAU;AACzC,MAAI,CAAC,OAAO;AACV,UAAO,KAAK,YAAY,aAAa,wEAAwE;AAC7G;;EAEF,MAAM,WAAW,IAAI,QAAQ,MAAM,aAAa;AAChD,MAAI,CAAC,SAAS,IAAI,CAChB,MAAK,MAAM,OAAO,SAAS,UAAU,EAAE,CACrC,QAAO,KAAK,eAAe,WAAW,IAAI,CAAC;;AAIjD,QAAO;;AAGT,SAAgB,2BAA2B,QAAsB;CAC/D,MAAM,OAAO,6BAA6B,OAAO;AACjD,KAAI,KAAK,WAAW,EAAG;AACvB,OAAM,IAAI,MAAM,6CAA6C,KAAK,KAAK,KAAK,GAAG;;;;+BA1Ca;AAExF,OAAM,IAAI,IAAI;EAClB,WAAW;EACX,QAAQ;EACR,aAAa;EACd,CAAC;AAGF,KAAI,UAAU,YAAY,KAAK"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"voice.js","names":[],"sources":["../../../src/config/voice.ts"],"sourcesContent":["import { listVoiceProviderMetadata } from '../voice/metadata/index.js';\n\nexport interface VoiceModel {\n id: string;\n name: string;\n description?: string;\n}\n\nexport interface VoiceModelsConfig {\n stt: Record<string, VoiceModel[]>;\n tts: Record<string, VoiceModel[]>;\n ttsVoices: Record<string, VoiceModel[]>;\n}\n\nfunction toVoiceModels(values: VoiceModel[] | undefined): VoiceModel[] {\n return (values ?? []).map((value) => ({\n id: value.id,\n name: value.name,\n ...(value.description ? { description: value.description } : {}),\n }));\n}\n\nexport function getVoiceModelsConfig(): VoiceModelsConfig {\n const config: VoiceModelsConfig = { stt: {}, tts: {}, ttsVoices: {} };\n for (const metadata of listVoiceProviderMetadata()) {\n if (metadata.capability === 'stt') {\n config.stt[metadata.id] = toVoiceModels(metadata.models);\n continue;\n }\n config.tts[metadata.id] = toVoiceModels(metadata.models);\n config.ttsVoices[metadata.id] = toVoiceModels(metadata.voices);\n }\n return config;\n}\n\nexport function getTTSProviders(): Array<{ id: string; name: string; description?: string }> {\n return listVoiceProviderMetadata('tts').map((metadata) => ({\n id: metadata.id,\n name: metadata.displayName,\n ...(metadata.description ? { description: metadata.description } : {}),\n }));\n}\n\nexport function getTTSTriggerModes(): Array<{ id: string; name: string; description: string }> {\n return [\n { id: 'off', name: 'Disabled', description: 'TTS is completely disabled' },\n { id: 'always', name: 'Always', description: 'Apply TTS to all messages' },\n { id: 'inbound', name: 'Inbound Audio', description: 'Only when user sends voice message' },\n { id: 'tagged', name: 'Tagged', description: 'Only when [[tts]] directive is used' },\n ];\n}\n"],"mappings":";;;AAcA,SAAS,cAAc,QAAgD;AACrE,SAAQ,UAAU,EAAE,EAAE,KAAK,WAAW;EACpC,IAAI,MAAM;EACV,MAAM,MAAM;EACZ,GAAI,MAAM,cAAc,EAAE,aAAa,MAAM,aAAa,GAAG,EAAE;EAChE,EAAE;;AAGL,SAAgB,uBAA0C;CACxD,MAAM,SAA4B;EAAE,KAAK,EAAE;EAAE,KAAK,EAAE;EAAE,WAAW,EAAE;EAAE;AACrE,MAAK,MAAM,YAAY,2BAA2B,EAAE;AAClD,MAAI,SAAS,eAAe,OAAO;AACjC,UAAO,IAAI,SAAS,MAAM,cAAc,SAAS,OAAO;AACxD;;AAEF,SAAO,IAAI,SAAS,MAAM,cAAc,SAAS,OAAO;AACxD,SAAO,UAAU,SAAS,MAAM,cAAc,SAAS,OAAO;;AAEhE,QAAO;;AAGT,SAAgB,kBAA6E;AAC3F,QAAO,0BAA0B,MAAM,CAAC,KAAK,cAAc;EACzD,IAAI,SAAS;EACb,MAAM,SAAS;EACf,GAAI,SAAS,cAAc,EAAE,aAAa,SAAS,aAAa,GAAG,EAAE;EACtE,EAAE;;AAGL,SAAgB,qBAA+E;AAC7F,QAAO;EACL;GAAE,IAAI;GAAO,MAAM;GAAY,aAAa;GAA8B;EAC1E;GAAE,IAAI;GAAU,MAAM;GAAU,aAAa;GAA6B;EAC1E;GAAE,IAAI;GAAW,MAAM;GAAiB,aAAa;GAAsC;EAC3F;GAAE,IAAI;GAAU,MAAM;GAAU,aAAa;GAAuC;EACrF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"web-patch.js","names":[],"sources":["../../../src/config/web-patch.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport type { Config } from './schema.js';\nimport {\n GoalsConfigSchema,\n SessionConfigSchema,\n SessionDmScopeSchema,\n UpdateAutoConfigSchema,\n UpdateConfigSchema,\n} from './schema.js';\n\nconst GoalsConfigPatchSchema = z.object({\n maxTurns: z.number().int().min(1).max(500).optional(),\n judgeModelRef: z.union([z.string(), z.null()]).optional(),\n checklistMode: z.boolean().optional(),\n checklistDecomposePolicy: z.enum(['empty_only', 'supplement_existing']).optional(),\n maxConsecutiveParseFailures: z.number().int().min(1).max(20).optional(),\n judgeTimeoutMs: z.number().int().min(5_000).max(120_000).optional(),\n checklistHistoryChars: z.number().int().min(0).max(100_000).optional(),\n notifications: z\n .object({\n enabled: z.boolean().optional(),\n includeLinkedSessions: z.boolean().optional(),\n channels: z.array(z.string().min(1)).optional(),\n events: z\n .array(z.enum([\n 'done',\n 'blocked',\n 'needs_input',\n 'queue_failed',\n 'queue_retry',\n 'queue_succeeded',\n 'queue_skipped',\n ]))\n .optional(),\n targets: z\n .array(z.object({\n channel: z.string().min(1),\n chatId: z.string().min(1),\n accountId: z.string().optional(),\n threadId: z.union([z.string(), z.number()]).optional(),\n silent: z.boolean().optional(),\n events: z\n .array(z.enum([\n 'done',\n 'blocked',\n 'needs_input',\n 'queue_failed',\n 'queue_retry',\n 'queue_succeeded',\n 'queue_skipped',\n ]))\n .optional(),\n }))\n .optional(),\n })\n .optional(),\n});\n\nconst SessionStoragePatchSchema = z.object({\n pruneAfterMs: z.union([z.number().int().min(0), z.null()]).optional(),\n maxEntries: z.union([z.number().int().min(1), z.null()]).optional(),\n});\n\nconst SessionConfigPatchSchema = z.object({\n dmScope: SessionDmScopeSchema.optional(),\n storage: SessionStoragePatchSchema.optional(),\n});\n\nconst UpdateAutoPatchSchema = z.object({\n enabled: z.boolean().optional(),\n stableDelayHours: z.number().min(0).optional(),\n stableJitterHours: z.number().min(0).optional(),\n betaCheckIntervalHours: z.number().min(0.25).optional(),\n});\n\nconst UpdateConfigPatchSchema = z.object({\n checkOnStart: z.boolean().optional(),\n channel: z.enum(['stable', 'beta', 'dev']).optional(),\n auto: UpdateAutoPatchSchema.optional(),\n});\n\nconst GatewaySkillsPatchSchema = z.object({\n skillsMarketplaceProvider: z.string().min(1).optional(),\n skillsStoreBaseUrl: z.string().url().optional(),\n});\n\nexport function mergeGoalsConfigPatch(\n config: Config,\n patch: Record<string, unknown>,\n): { ok: true } | { ok: false; message: string } {\n const parsed = GoalsConfigPatchSchema.safeParse(patch);\n if (!parsed.success) {\n return { ok: false, message: parsed.error.issues.map((i) => i.message).join('; ') };\n }\n const currentGoals = GoalsConfigSchema.parse(config.goals ?? {});\n const goalPatch = { ...parsed.data };\n if ('judgeModelRef' in patch) {\n const ref = patch.judgeModelRef;\n if (ref === null || (typeof ref === 'string' && !ref.trim())) {\n delete goalPatch.judgeModelRef;\n delete currentGoals.judgeModelRef;\n }\n }\n config.goals = GoalsConfigSchema.parse({\n ...currentGoals,\n ...goalPatch,\n notifications: goalPatch.notifications\n ? {\n ...currentGoals.notifications,\n ...goalPatch.notifications,\n }\n : currentGoals.notifications,\n });\n return { ok: true };\n}\n\nexport function mergeSessionConfigPatch(\n config: Config,\n patch: Record<string, unknown>,\n): { ok: true } | { ok: false; message: string } {\n const parsed = SessionConfigPatchSchema.safeParse(patch);\n if (!parsed.success) {\n return { ok: false, message: parsed.error.issues.map((i) => i.message).join('; ') };\n }\n const current = config.session ?? SessionConfigSchema.parse({});\n const next = { ...current, ...parsed.data };\n if (parsed.data.storage !== undefined) {\n const storagePatch = parsed.data.storage;\n const nextStorage = { ...(current.storage ?? {}) };\n if ('pruneAfterMs' in storagePatch) {\n if (storagePatch.pruneAfterMs === null) delete nextStorage.pruneAfterMs;\n else if (storagePatch.pruneAfterMs !== undefined) nextStorage.pruneAfterMs = storagePatch.pruneAfterMs;\n }\n if ('maxEntries' in storagePatch) {\n if (storagePatch.maxEntries === null) delete nextStorage.maxEntries;\n else if (storagePatch.maxEntries !== undefined) nextStorage.maxEntries = storagePatch.maxEntries;\n }\n if (Object.keys(nextStorage).length === 0) delete next.storage;\n else next.storage = nextStorage;\n }\n config.session = next;\n return { ok: true };\n}\n\nexport function mergeUpdateConfigPatch(\n config: Config,\n patch: Record<string, unknown>,\n): { ok: true } | { ok: false; message: string } {\n const parsed = UpdateConfigPatchSchema.safeParse(patch);\n if (!parsed.success) {\n return { ok: false, message: parsed.error.issues.map((i) => i.message).join('; ') };\n }\n const current = config.update ?? { checkOnStart: true, channel: 'stable' as const };\n const merged = {\n ...current,\n ...parsed.data,\n ...(parsed.data.auto !== undefined\n ? { auto: { ...(current.auto ?? {}), ...parsed.data.auto } }\n : {}),\n };\n config.update = UpdateConfigSchema.parse(merged);\n return { ok: true };\n}\n\nexport function mergeGatewaySkillsMarketplacePatch(\n config: Config,\n patch: Record<string, unknown>,\n): { ok: true } | { ok: false; message: string } {\n const parsed = GatewaySkillsPatchSchema.safeParse(patch);\n if (!parsed.success) {\n return { ok: false, message: parsed.error.issues.map((i) => i.message).join('; ') };\n }\n if (!config.gateway) {\n config.gateway = {\n bind: 'loopback',\n port: 18790,\n auth: { mode: 'token' },\n heartbeat: { enabled: true, intervalMs: 1_800_000, includeSystemPromptSection: false },\n maxSseConnections: 100,\n corsOrigins: [],\n };\n }\n if (parsed.data.skillsMarketplaceProvider !== undefined) {\n config.gateway.skillsMarketplaceProvider = parsed.data.skillsMarketplaceProvider.trim();\n }\n if (parsed.data.skillsStoreBaseUrl !== undefined) {\n config.gateway.skillsStoreBaseUrl = parsed.data.skillsStoreBaseUrl.trim().replace(/\\/+$/, '');\n }\n return { ok: true };\n}\n\nexport function resolveGoalsConfigForWeb(config: Config) {\n return GoalsConfigSchema.parse(config.goals ?? {});\n}\n\nexport function resolveSessionConfigForWeb(config: Config) {\n const session = SessionConfigSchema.parse(config.session ?? {});\n return {\n dmScope: session.dmScope,\n storage: {\n pruneAfterDays:\n typeof session.storage?.pruneAfterMs === 'number'\n ? Math.max(0, Math.round(session.storage.pruneAfterMs / 86_400_000))\n : null,\n maxEntries: session.storage?.maxEntries ?? null,\n },\n };\n}\n\nexport function resolveUpdateConfigForWeb(config: Config) {\n const update = config.update ?? { checkOnStart: true, channel: 'stable' as const };\n const auto = UpdateAutoConfigSchema.parse(update.auto ?? {});\n return {\n checkOnStart: update.checkOnStart !== false,\n channel: update.channel ?? 'stable',\n auto: {\n enabled: auto?.enabled === true,\n stableDelayHours: auto?.stableDelayHours ?? 6,\n stableJitterHours: auto?.stableJitterHours ?? 12,\n betaCheckIntervalHours: auto?.betaCheckIntervalHours ?? 1,\n },\n };\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-defaults.js","names":[],"sources":["../../../src/config/workspace-defaults.ts"],"sourcesContent":["import { join } from 'node:path';\n\nimport { expandWorkspacePathString } from './workspace-path.js';\nimport { ENV_VARS, resolveStateDir } from './paths-state.js';\n\n/**\n * Default Markdown workspace for the primary agent.\n *\n * OpenClaw-aligned: `<stateDir>/workspace` (no `/main` suffix).\n * When `XOPC_PROFILE` is set (and not `default`), returns `<stateDir>/workspace-<profile>`.\n */\nexport function resolveDefaultAgentWorkspaceDir(\n env: NodeJS.ProcessEnv = process.env,\n): string {\n const fromEnv = env.XOPC_WORKSPACE?.trim();\n if (fromEnv) {\n return expandWorkspacePathString(fromEnv);\n }\n const stateDir = resolveStateDir(env);\n const profile = env[ENV_VARS.PROFILE]?.trim();\n if (profile && profile.toLowerCase() !== 'default') {\n return join(stateDir, `workspace-${profile}`);\n }\n return join(stateDir, 'workspace');\n}\n"],"mappings":";;;;;;;;;;;AAWA,SAAgB,gCACd,MAAyB,QAAQ,KACzB;CACR,MAAM,UAAU,IAAI,gBAAgB,MAAM;AAC1C,KAAI,QACF,QAAO,0BAA0B,QAAQ;CAE3C,MAAM,WAAW,gBAAgB,IAAI;CACrC,MAAM,UAAU,IAAI,SAAS,UAAU,MAAM;AAC7C,KAAI,WAAW,QAAQ,aAAa,KAAK,UACvC,QAAO,KAAK,UAAU,aAAa,UAAU;AAE/C,QAAO,KAAK,UAAU,YAAY;;;sBArB4B;mBACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-dirs.js","names":[],"sources":["../../../src/config/workspace-dirs.ts"],"sourcesContent":["import type { Config } from './schema.js';\nimport { resolveAgentWorkspaceDir } from './agent-profile.js';\nimport { getDefaultAgentId } from '../routing/resolve-route.js';\n\n/**\n * Return the deduplicated list of workspace directory paths for all agents\n * defined in `config.agents.list`, plus the default agent.\n * Useful for file watchers, doctor checks, and batch workspace operations.\n *\n * OpenClaw-aligned: profile / persona files live in the workspace root,\n * so this single list covers both workspace and profile Markdown directories.\n */\nexport function listAgentWorkspaceDirs(config: Config): string[] {\n const dirs = new Set<string>();\n\n const list = config.agents?.list;\n if (Array.isArray(list)) {\n for (const entry of list) {\n if (entry && typeof entry === 'object' && typeof entry.id === 'string') {\n dirs.add(resolveAgentWorkspaceDir(config, entry.id));\n }\n }\n }\n\n dirs.add(resolveAgentWorkspaceDir(config, getDefaultAgentId(config)));\n return [...dirs];\n}\n\n/**\n * OpenClaw-aligned: profile Markdown files live in the workspace root, so profile dirs match workspace dirs.\n */\nexport function listAgentProfileMarkdownDirs(config: Config): string[] {\n return listAgentWorkspaceDirs(config);\n}\n"],"mappings":";;;;oBAEgE;;;;;;;;;AAUhE,SAAgB,uBAAuB,QAA0B;CAC/D,MAAM,uBAAO,IAAI,KAAa;CAE9B,MAAM,OAAO,OAAO,QAAQ;AAC5B,KAAI,MAAM,QAAQ,KAAK;OAChB,MAAM,SAAS,KAClB,KAAI,SAAS,OAAO,UAAU,YAAY,OAAO,MAAM,OAAO,SAC5D,MAAK,IAAI,yBAAyB,QAAQ,MAAM,GAAG,CAAC;;AAK1D,MAAK,IAAI,yBAAyB,QAAQ,kBAAkB,OAAO,CAAC,CAAC;AACrE,QAAO,CAAC,GAAG,KAAK;;;;;AAMlB,SAAgB,6BAA6B,QAA0B;AACrE,QAAO,uBAAuB,OAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-path-helpers.js","names":[],"sources":["../../../src/config/workspace-path-helpers.ts"],"sourcesContent":["/**\n * Workspace-path domain helpers that need both `Config` (from `./schema.js`)\n * and agent-scope helpers (from `../agent/agent-scope.js`).\n *\n * Lives in this file rather than `./schema.js` because schema.ts is the leaf\n * type module — letting it import agent-scope creates a circular cycle\n * (`schema → agent-scope → schema`). Callers import via the `./index.js` barrel.\n */\n\nimport { getDefaultWorkspacePath } from '../agent/agent-scope.js';\nimport type { Config } from './schema.js';\n\n/**\n * Default agent's resolved Markdown workspace root\n * (`resolveAgentWorkspaceDir` for the default agent id).\n */\nexport function getWorkspacePath(config: Config): string {\n return getDefaultWorkspacePath(config);\n}\n"],"mappings":";;kBASkE;;;;;AAOlE,SAAgB,iBAAiB,QAAwB;AACvD,QAAO,wBAAwB,OAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-path.js","names":[],"sources":["../../../src/config/workspace-path.ts"],"sourcesContent":["import { homedir } from 'node:os';\nimport { resolve, parse } from 'node:path';\n\n/** Expand leading `~` to the user home directory. */\nexport function expandWorkspacePathString(raw: string): string {\n const s = raw.trim();\n if (s.startsWith('~')) {\n return s.replace(/^~(?=$|[/\\\\])/, homedir());\n }\n return s;\n}\n\n/**\n * Normalize and validate a workspace directory path.\n * Returns `null` when the input is empty or resolves to a filesystem root\n * (e.g. `/` or `C:\\`) — both are almost certainly misconfiguration.\n */\nexport function normalizeWorkspaceDir(workspaceDir?: string): string | null {\n const trimmed = workspaceDir?.trim();\n if (!trimmed) {\n return null;\n }\n const expanded = trimmed.startsWith('~') ? expandWorkspacePathString(trimmed) : trimmed;\n const resolved = resolve(expanded);\n if (resolved === parse(resolved).root) {\n return null;\n }\n return resolved;\n}\n\n/**\n * Resolve a workspace root, falling back to `process.cwd()` when the\n * provided path is empty or invalid.\n */\nexport function resolveWorkspaceRoot(workspaceDir?: string): string {\n return normalizeWorkspaceDir(workspaceDir) ?? process.cwd();\n}\n"],"mappings":";;;;;AAIA,SAAgB,0BAA0B,KAAqB;CAC7D,MAAM,IAAI,IAAI,MAAM;AACpB,KAAI,EAAE,WAAW,IAAI,CACnB,QAAO,EAAE,QAAQ,iBAAiB,SAAS,CAAC;AAE9C,QAAO;;;;;;;AAQT,SAAgB,sBAAsB,cAAsC;CAC1E,MAAM,UAAU,cAAc,MAAM;AACpC,KAAI,CAAC,QACH,QAAO;CAGT,MAAM,WAAW,QADA,QAAQ,WAAW,IAAI,GAAG,0BAA0B,QAAQ,GAAG,QAC9C;AAClC,KAAI,aAAa,MAAM,SAAS,CAAC,KAC/B,QAAO;AAET,QAAO;;;;;;AAOT,SAAgB,qBAAqB,cAA+B;AAClE,QAAO,sBAAsB,aAAa,IAAI,QAAQ,KAAK"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"approval.js","names":[],"sources":["../../../src/connectors/approval.ts"],"sourcesContent":["import { createHash } from 'node:crypto';\n\nconst SENSITIVE_KEY = /(authorization|cookie|password|secret|token|api[_-]?key|credential)/i;\nconst MAX_PREVIEW_DEPTH = 3;\nconst MAX_PREVIEW_ARRAY = 10;\nconst MAX_PREVIEW_STRING = 160;\n\nfunction canonicalize(value: unknown): unknown {\n if (Array.isArray(value)) return value.map(canonicalize);\n if (!value || typeof value !== 'object') return value;\n return Object.fromEntries(\n Object.entries(value as Record<string, unknown>)\n .sort(([left], [right]) => left.localeCompare(right))\n .map(([key, child]) => [key, canonicalize(child)]),\n );\n}\n\nexport function connectorArgumentsHash(args: Record<string, unknown>): string {\n return createHash('sha256').update(JSON.stringify(canonicalize(args))).digest('hex');\n}\n\nfunction previewValue(value: unknown, depth: number): unknown {\n if (depth >= MAX_PREVIEW_DEPTH) return '[nested]';\n if (typeof value === 'string') {\n return value.length > MAX_PREVIEW_STRING ? `${value.slice(0, MAX_PREVIEW_STRING)}…` : value;\n }\n if (typeof value === 'number' || typeof value === 'boolean' || value == null) return value;\n if (Array.isArray(value)) {\n const items = value.slice(0, MAX_PREVIEW_ARRAY).map((item) => previewValue(item, depth + 1));\n if (value.length > MAX_PREVIEW_ARRAY) items.push(`[+${value.length - MAX_PREVIEW_ARRAY} items]`);\n return items;\n }\n if (typeof value === 'object') {\n return Object.fromEntries(Object.entries(value as Record<string, unknown>).map(([key, child]) => [\n key,\n SENSITIVE_KEY.test(key) ? '[redacted]' : previewValue(child, depth + 1),\n ]));\n }\n return String(value);\n}\n\nexport function connectorArgumentsPreview(args: Record<string, unknown>): Record<string, unknown> {\n return previewValue(args, 0) as Record<string, unknown>;\n}\n"],"mappings":";;AAEA,MAAM,gBAAgB;AACtB,MAAM,oBAAoB;AAC1B,MAAM,oBAAoB;AAC1B,MAAM,qBAAqB;AAE3B,SAAS,aAAa,OAAyB;AAC7C,KAAI,MAAM,QAAQ,MAAM,CAAE,QAAO,MAAM,IAAI,aAAa;AACxD,KAAI,CAAC,SAAS,OAAO,UAAU,SAAU,QAAO;AAChD,QAAO,OAAO,YACZ,OAAO,QAAQ,MAAiC,CAC7C,MAAM,CAAC,OAAO,CAAC,WAAW,KAAK,cAAc,MAAM,CAAC,CACpD,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,aAAa,MAAM,CAAC,CAAC,CACrD;;AAGH,SAAgB,uBAAuB,MAAuC;AAC5E,QAAO,WAAW,SAAS,CAAC,OAAO,KAAK,UAAU,aAAa,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM;;AAGtF,SAAS,aAAa,OAAgB,OAAwB;AAC5D,KAAI,SAAS,kBAAmB,QAAO;AACvC,KAAI,OAAO,UAAU,SACnB,QAAO,MAAM,SAAS,qBAAqB,GAAG,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK;AAExF,KAAI,OAAO,UAAU,YAAY,OAAO,UAAU,aAAa,SAAS,KAAM,QAAO;AACrF,KAAI,MAAM,QAAQ,MAAM,EAAE;EACxB,MAAM,QAAQ,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,SAAS,aAAa,MAAM,QAAQ,EAAE,CAAC;AAC5F,MAAI,MAAM,SAAS,kBAAmB,OAAM,KAAK,KAAK,MAAM,SAAS,kBAAkB,SAAS;AAChG,SAAO;;AAET,KAAI,OAAO,UAAU,SACnB,QAAO,OAAO,YAAY,OAAO,QAAQ,MAAiC,CAAC,KAAK,CAAC,KAAK,WAAW,CAC/F,KACA,cAAc,KAAK,IAAI,GAAG,eAAe,aAAa,OAAO,QAAQ,EAAE,CACxE,CAAC,CAAC;AAEL,QAAO,OAAO,MAAM;;AAGtB,SAAgB,0BAA0B,MAAwD;AAChG,QAAO,aAAa,MAAM,EAAE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-provider-registry.js","names":[],"sources":["../../../src/connectors/auth-provider-registry.ts"],"sourcesContent":["import { startComposioAuthorize } from './composio.js';\nimport type { ConnectorDefinition } from './types.js';\n\nexport type ConnectorAuthStartResult = {\n connectorId: string;\n provider: string;\n status: string;\n authorizationUrl?: string;\n connectionId?: string;\n};\n\nexport async function startConnectorAuthorization(definition: ConnectorDefinition): Promise<ConnectorAuthStartResult> {\n if (\n definition.auth.mode !== 'oauth'\n || definition.auth.provider !== 'composio'\n || definition.runtime.type !== 'composio'\n || definition.runtime.role !== 'toolkit'\n ) {\n throw new Error(`Connector \"${definition.id}\" does not support Composio authorization.`);\n }\n const authorization = await startComposioAuthorize(definition.id, definition.runtime.toolkit);\n return {\n connectorId: definition.id,\n provider: 'composio',\n status: 'pending',\n authorizationUrl: authorization.connectUrl,\n connectionId: authorization.connectionId,\n };\n}\n"],"mappings":";;AAWA,eAAsB,4BAA4B,YAAoE;AACpH,KACE,WAAW,KAAK,SAAS,WACtB,WAAW,KAAK,aAAa,cAC7B,WAAW,QAAQ,SAAS,cAC5B,WAAW,QAAQ,SAAS,UAE/B,OAAM,IAAI,MAAM,cAAc,WAAW,GAAG,4CAA4C;CAE1F,MAAM,gBAAgB,MAAM,uBAAuB,WAAW,IAAI,WAAW,QAAQ,QAAQ;AAC7F,QAAO;EACL,aAAa,WAAW;EACxB,UAAU;EACV,QAAQ;EACR,kBAAkB,cAAc;EAChC,cAAc,cAAc;EAC7B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"builtin-catalog.js","names":[],"sources":["../../../src/connectors/builtin-catalog.ts"],"sourcesContent":["import type { ConnectorDefinition } from './types.js';\n\nconst BUILTIN_CONNECTOR_BACKGROUNDS: Record<string, string> = {\n 'brave-search': '#FFF4ED',\n fetch: '#E8F3FF',\n filesystem: '#FFF7E6',\n memory: '#F3E8FF',\n playwright: '#FFFFFF',\n 'sequential-thinking': '#ECFDF5',\n time: '#ECFEFF',\n};\n\nfunction builtinBranding(id: string): NonNullable<ConnectorDefinition['branding']> {\n return {\n logoUrl: `/connector-icons/${id}.svg`,\n source: 'builtin',\n backgroundColor: BUILTIN_CONNECTOR_BACKGROUNDS[id] ?? '#FFFFFF',\n };\n}\n\nexport const BUILTIN_CONNECTORS: readonly ConnectorDefinition[] = [\n {\n id: 'fetch',\n version: '1.0.0',\n displayName: 'Fetch',\n description: 'Fetch and read web pages through the official MCP fetch server.',\n category: 'docs',\n kind: 'mcp',\n source: 'builtin',\n branding: builtinBranding('fetch'),\n capabilities: ['tools', 'runtime.mcp.stdio'],\n tags: ['web', 'docs', 'http'],\n auth: { mode: 'none' },\n setup: {},\n runtime: {\n type: 'mcp',\n serverId: 'fetch',\n serverTemplate: {\n command: 'uvx',\n args: ['mcp-server-fetch'],\n },\n },\n integrationStrategy: { lane: 'mcp', workload: 'high_frequency', preferred: true },\n },\n {\n id: 'filesystem',\n version: '1.0.0',\n displayName: 'Filesystem',\n description: 'Read and search files from an explicitly selected local directory.',\n category: 'docs',\n kind: 'mcp',\n source: 'builtin',\n branding: builtinBranding('filesystem'),\n capabilities: ['tools', 'resources', 'runtime.mcp.stdio'],\n tags: ['files', 'local', 'docs'],\n auth: { mode: 'none' },\n setup: {\n config: [\n {\n key: 'rootPath',\n label: 'Allowed directory',\n type: 'path',\n required: true,\n placeholder: '/Users/you/project',\n description: 'The only directory this connector can expose to the MCP runtime.',\n },\n ],\n },\n runtime: {\n type: 'mcp',\n serverId: 'filesystem',\n serverTemplate: {\n command: 'npx',\n args: ['-y', '@modelcontextprotocol/server-filesystem', '{{config.rootPath}}'],\n },\n },\n integrationStrategy: { lane: 'mcp', workload: 'high_frequency', preferred: true },\n },\n {\n id: 'time',\n version: '1.0.0',\n displayName: 'Time',\n description: 'Convert time zones and answer current-time questions through an MCP time server.',\n category: 'automation',\n kind: 'mcp',\n source: 'builtin',\n branding: builtinBranding('time'),\n capabilities: ['tools', 'runtime.mcp.stdio'],\n tags: ['time', 'timezone', 'utility'],\n auth: { mode: 'none' },\n setup: {},\n runtime: {\n type: 'mcp',\n serverId: 'time',\n serverTemplate: {\n command: 'uvx',\n args: ['mcp-server-time'],\n },\n },\n integrationStrategy: { lane: 'mcp', workload: 'high_frequency', preferred: true },\n },\n {\n id: 'playwright',\n version: '1.0.0',\n displayName: 'Playwright',\n description: 'Automate and inspect browser pages through the official Playwright MCP server.',\n category: 'browser',\n kind: 'mcp',\n source: 'builtin',\n branding: builtinBranding('playwright'),\n capabilities: ['tools', 'runtime.mcp.stdio'],\n tags: ['browser', 'automation', 'testing'],\n auth: { mode: 'none' },\n setup: {},\n runtime: {\n type: 'mcp',\n serverId: 'playwright',\n serverTemplate: {\n command: 'npx',\n args: ['-y', '@playwright/mcp@latest'],\n },\n },\n integrationStrategy: { lane: 'mcp', workload: 'high_frequency', preferred: true },\n },\n {\n id: 'memory',\n version: '1.0.0',\n displayName: 'Memory',\n description: 'Give the agent a simple MCP knowledge graph memory store.',\n category: 'data',\n kind: 'mcp',\n source: 'builtin',\n branding: builtinBranding('memory'),\n capabilities: ['tools', 'resources', 'runtime.mcp.stdio', 'memory_source'],\n tags: ['memory', 'knowledge', 'personalization'],\n auth: { mode: 'none' },\n setup: {},\n runtime: {\n type: 'mcp',\n serverId: 'memory',\n serverTemplate: {\n command: 'npx',\n args: ['-y', '@modelcontextprotocol/server-memory'],\n },\n },\n integrationStrategy: { lane: 'mcp', workload: 'high_frequency', preferred: true },\n },\n {\n id: 'sequential-thinking',\n version: '1.0.0',\n displayName: 'Sequential Thinking',\n description: 'Add a structured reasoning scratchpad MCP server for multi-step tasks.',\n category: 'automation',\n kind: 'mcp',\n source: 'builtin',\n branding: builtinBranding('sequential-thinking'),\n capabilities: ['tools', 'runtime.mcp.stdio'],\n tags: ['reasoning', 'planning', 'utility'],\n auth: { mode: 'none' },\n setup: {},\n runtime: {\n type: 'mcp',\n serverId: 'sequential-thinking',\n serverTemplate: {\n command: 'npx',\n args: ['-y', '@modelcontextprotocol/server-sequential-thinking'],\n },\n },\n integrationStrategy: { lane: 'mcp', workload: 'high_frequency', preferred: true },\n },\n {\n id: 'brave-search',\n version: '1.0.0',\n displayName: 'Brave Search',\n description: 'Search the web through the Brave Search MCP server.',\n category: 'docs',\n kind: 'mcp',\n source: 'builtin',\n branding: builtinBranding('brave-search'),\n capabilities: ['tools', 'auth.apiKey', 'runtime.mcp.stdio'],\n tags: ['search', 'web', 'research'],\n auth: { mode: 'apiKey' },\n setup: {\n secrets: [\n {\n key: 'BRAVE_API_KEY',\n label: 'Brave API key',\n description: 'Stored in the xopc credential store and passed to the MCP server at runtime.',\n required: true,\n },\n ],\n },\n runtime: {\n type: 'mcp',\n serverId: 'brave-search',\n serverTemplate: {\n command: 'npx',\n args: ['-y', '@modelcontextprotocol/server-brave-search'],\n env: {\n BRAVE_API_KEY: '{{secrets.BRAVE_API_KEY}}',\n },\n },\n },\n integrationStrategy: { lane: 'mcp', workload: 'high_frequency', preferred: true },\n },\n];\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"catalog.js","names":[],"sources":["../../../src/connectors/catalog.ts"],"sourcesContent":["import { listConnectorProviderDefinitions, listConnectorProviders } from './providers.js';\nimport { getCachedConnectorCatalogEntry, listCachedConnectorCatalogEntries } from '../storage/sqlite/connector-repository.js';\nimport { isXopcDatabaseOpen } from '../storage/sqlite/connection.js';\nimport type { ConnectorDefinition } from './types.js';\n\nconst CONNECTOR_BY_ID = new Map(listConnectorProviderDefinitions().map((connector) => [connector.id, connector]));\n\nexport function listConnectorCatalog(): ConnectorDefinition[] {\n const cached = isXopcDatabaseOpen()\n ? listCachedConnectorCatalogEntries().map((entry) => entry.definition)\n : [];\n const definitions = [...cached, ...listConnectorProviderDefinitions()];\n return [...new Map(definitions.map((connector) => [connector.id, connector])).values()]\n .sort((left, right) => left.displayName.localeCompare(right.displayName));\n}\n\nexport function getConnectorDefinition(connectorId: string): ConnectorDefinition | undefined {\n const providerDefinition = CONNECTOR_BY_ID.get(connectorId);\n if (providerDefinition || !isXopcDatabaseOpen()) return providerDefinition;\n const cached = getCachedConnectorCatalogEntry(connectorId)?.definition;\n return cached;\n}\n\nexport { listConnectorProviders };\n"],"mappings":";;;;AAKA,MAAM,kBAAkB,IAAI,IAAI,kCAAkC,CAAC,KAAK,cAAc,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC;AAEjH,SAAgB,uBAA8C;CAI5D,MAAM,cAAc,CAAC,GAHN,oBAAoB,GAC/B,mCAAmC,CAAC,KAAK,UAAU,MAAM,WAAW,GACpE,EAAE,EAC0B,GAAG,kCAAkC,CAAC;AACtE,QAAO,CAAC,GAAG,IAAI,IAAI,YAAY,KAAK,cAAc,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CACpF,MAAM,MAAM,UAAU,KAAK,YAAY,cAAc,MAAM,YAAY,CAAC;;AAG7E,SAAgB,uBAAuB,aAAsD;CAC3F,MAAM,qBAAqB,gBAAgB,IAAI,YAAY;AAC3D,KAAI,sBAAsB,CAAC,oBAAoB,CAAE,QAAO;AAExD,QADe,+BAA+B,YAAY,EAAE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"composio-catalog.js","names":[],"sources":["../../../src/connectors/composio-catalog.ts"],"sourcesContent":["import {\n listCachedConnectorCatalogEntries,\n upsertConnectorCatalogEntry,\n} from '../storage/sqlite/connector-repository.js';\nimport { ComposioSessionsAdapter, type ComposioToolkitCatalogItem } from './composio-sessions.js';\nimport { composioIntegrationStrategy } from './integration-strategy.js';\nimport type { ConnectorCategory, ConnectorDefinition, ConnectorVerificationLevel } from './types.js';\n\nconst CATALOG_CACHE_TTL_MS = 6 * 60 * 60 * 1000;\n\nexport const COMPOSIO_RECOMMENDED_TOOLKITS = [\n 'gmail',\n 'googlecalendar',\n 'googledrive',\n 'notion',\n 'slack',\n 'github',\n 'linear',\n 'outlook',\n 'microsoft_teams',\n 'jira',\n 'dropbox',\n 'todoist',\n] as const;\n\nexport const COMPOSIO_AGENT_READY_TOOLKITS = [\n ...COMPOSIO_RECOMMENDED_TOOLKITS,\n 'discord',\n 'googledocs',\n 'googlesheets',\n 'trello',\n 'asana',\n 'clickup',\n 'twitter',\n 'spotify',\n 'telegram',\n 'whatsapp',\n 'shopify',\n 'stripe',\n 'hubspot',\n 'salesforce',\n 'airtable',\n 'figma',\n 'youtube',\n 'one_drive',\n 'excel',\n] as const;\n\nexport type ComposioAgentReadyToolkit = typeof COMPOSIO_AGENT_READY_TOOLKITS[number];\n\nexport const COMPOSIO_TOOLKIT_DISPLAY_NAMES: Record<ComposioAgentReadyToolkit, string> = {\n gmail: 'Gmail',\n googlecalendar: 'Google Calendar',\n googledrive: 'Google Drive',\n notion: 'Notion',\n slack: 'Slack',\n github: 'GitHub',\n linear: 'Linear via Composio',\n outlook: 'Outlook',\n microsoft_teams: 'Microsoft Teams',\n jira: 'Jira',\n dropbox: 'Dropbox',\n todoist: 'Todoist',\n discord: 'Discord',\n googledocs: 'Google Docs',\n googlesheets: 'Google Sheets',\n trello: 'Trello',\n asana: 'Asana',\n clickup: 'ClickUp',\n twitter: 'X (Twitter)',\n spotify: 'Spotify',\n telegram: 'Telegram',\n whatsapp: 'WhatsApp',\n shopify: 'Shopify',\n stripe: 'Stripe',\n hubspot: 'HubSpot',\n salesforce: 'Salesforce',\n airtable: 'Airtable',\n figma: 'Figma',\n youtube: 'YouTube',\n one_drive: 'OneDrive',\n excel: 'Microsoft Excel',\n};\n\nconst RECOMMENDED = new Set<string>(COMPOSIO_RECOMMENDED_TOOLKITS);\nconst AGENT_READY = new Set<string>(COMPOSIO_AGENT_READY_TOOLKITS);\nconst PERSONAL_CONTEXT_TOOLKITS = new Set(['gmail', 'googledrive', 'notion', 'slack']);\n\nconst LOCAL_TOOLKIT_LOGO_FILE_NAMES: Readonly<Record<string, string>> = {\n googlecalendar: 'google-calendar',\n googledocs: 'google-docs',\n googledrive: 'google-drive',\n googlesheets: 'google-sheets',\n microsoft_teams: 'microsoft-teams',\n one_drive: 'one-drive',\n};\n\nfunction composioLogoUrl(slug: string): string {\n if (AGENT_READY.has(slug)) {\n const fileName = LOCAL_TOOLKIT_LOGO_FILE_NAMES[slug] ?? slug;\n return `/connector-icons/${fileName}.svg`;\n }\n return `/connector-icons/composio/${encodeURIComponent(slug)}`;\n}\n\nconst CONNECTOR_DESCRIPTIONS: Record<string, string> = {\n gmail: 'Find, draft, and send Gmail messages with explicit write confirmation.',\n googlecalendar: 'Find and manage Google Calendar events from conversations and workflows.',\n googledrive: 'Search and work with approved files in Google Drive.',\n notion: 'Search and update approved Notion pages and databases.',\n slack: 'Read conversations and send approved messages in Slack.',\n github: 'Work with repositories, issues, pull requests, and reviews on GitHub.',\n linear: 'Find and manage Linear issues and projects.',\n outlook: 'Read and send Outlook mail with account-level controls.',\n microsoft_teams: 'Read conversations and send approved Microsoft Teams messages.',\n jira: 'Find and manage Jira issues for an approved site.',\n dropbox: 'Search and work with approved Dropbox files.',\n todoist: 'Create and manage personal or team tasks in Todoist.',\n discord: 'Read conversations and send approved messages in Discord.',\n googledocs: 'Find, read, and update approved documents in Google Docs.',\n googlesheets: 'Read and update approved spreadsheets in Google Sheets.',\n trello: 'Find and manage Trello boards, lists, and cards.',\n asana: 'Find and manage Asana tasks and projects.',\n clickup: 'Find and manage ClickUp tasks, lists, and workspaces.',\n twitter: 'Search posts and publish approved updates on X.',\n spotify: 'Search Spotify and manage approved playlists and playback actions.',\n telegram: 'Read conversations and send approved Telegram messages.',\n whatsapp: 'Read conversations and send approved WhatsApp messages.',\n shopify: 'Work with Shopify products, customers, and orders.',\n stripe: 'Work with Stripe customers, payments, invoices, and subscriptions.',\n hubspot: 'Find and manage HubSpot contacts, companies, and deals.',\n salesforce: 'Find and manage approved Salesforce records and opportunities.',\n airtable: 'Read and update approved Airtable bases and records.',\n figma: 'Find Figma files, inspect project context, and manage comments.',\n youtube: 'Find and manage YouTube videos, channels, and playlists.',\n one_drive: 'Search and work with approved files in OneDrive.',\n excel: 'Read and update approved Microsoft Excel workbooks and tables.',\n};\n\nconst CODE_TOOLKITS = new Set(['github', 'gitlab', 'bitbucket', 'linear', 'jira']);\nconst DOC_TOOLKITS = new Set(['notion', 'googledocs', 'figma']);\nconst DATA_TOOLKITS = new Set(['googledrive', 'dropbox', 'one_drive', 'googlesheets', 'excel', 'airtable']);\n\nfunction categoryForToolkit(slug: string): ConnectorCategory {\n if (CODE_TOOLKITS.has(slug)) return 'code';\n if (DOC_TOOLKITS.has(slug)) return 'docs';\n if (DATA_TOOLKITS.has(slug)) return 'data';\n return 'automation';\n}\n\nfunction verificationForToolkit(slug: string): ConnectorVerificationLevel {\n if (RECOMMENDED.has(slug) || AGENT_READY.has(slug)) return 'verified';\n return 'experimental';\n}\n\nexport function connectorDefinitionFromComposioToolkit(item: ComposioToolkitCatalogItem): ConnectorDefinition {\n const slug = item.slug.trim().toLowerCase();\n const knowledgeCapabilities = PERSONAL_CONTEXT_TOOLKITS.has(slug)\n ? ['context', 'memory_source'] as const\n : [];\n return {\n id: `composio-${slug}`,\n version: 'sessions-v1',\n displayName: item.name,\n description: CONNECTOR_DESCRIPTIONS[slug]\n ?? `Connect ${item.name} so agents can use approved actions on your behalf.`,\n category: categoryForToolkit(slug),\n kind: 'composio',\n source: 'builtin',\n capabilities: item.isNoAuth\n ? ['tools', 'events', 'workflows', ...knowledgeCapabilities]\n : ['tools', 'auth.oauth', 'events', 'workflows', ...knowledgeCapabilities],\n tags: ['composio', slug, verificationForToolkit(slug)],\n branding: {\n logoUrl: composioLogoUrl(slug),\n source: 'composio-catalog',\n fetchedAt: new Date().toISOString(),\n },\n verificationLevel: verificationForToolkit(slug),\n auth: item.isNoAuth\n ? { mode: 'none' }\n : { mode: 'oauth', provider: 'composio' },\n setup: {},\n runtime: { type: 'composio', toolkit: slug, role: 'toolkit' },\n integrationStrategy: composioIntegrationStrategy(slug),\n };\n}\n\nexport type ComposioCatalogResult = {\n connectors: ConnectorDefinition[];\n source: 'live' | 'cache';\n stale: boolean;\n fetchedAt?: string;\n};\n\nexport async function listComposioConnectorCatalog(options: {\n principalId?: string;\n refresh?: boolean;\n adapter?: ComposioSessionsAdapter;\n now?: number;\n} = {}): Promise<ComposioCatalogResult> {\n const now = options.now ?? Date.now();\n const cached = listCachedConnectorCatalogEntries('composio');\n const freshCached = cached.filter((entry) => !entry.expiresAt || Date.parse(entry.expiresAt) > now);\n if (!options.refresh && freshCached.length > 0) {\n return {\n connectors: freshCached.map((entry) => entry.definition),\n source: 'cache',\n stale: false,\n fetchedAt: freshCached[0]?.fetchedAt,\n };\n }\n\n try {\n const adapter = options.adapter ?? new ComposioSessionsAdapter();\n const toolkits = await adapter.listToolkitCatalog({ principalId: options.principalId ?? 'local-owner' });\n const fetchedAt = new Date(now).toISOString();\n const expiresAt = new Date(now + CATALOG_CACHE_TTL_MS).toISOString();\n const connectors = toolkits.map(connectorDefinitionFromComposioToolkit);\n for (const definition of connectors) {\n upsertConnectorCatalogEntry({\n connectorId: definition.id,\n provider: 'composio',\n definition,\n fetchedAt,\n expiresAt,\n });\n }\n return { connectors, source: 'live', stale: false, fetchedAt };\n } catch (error) {\n if (cached.length === 0) throw error;\n return {\n connectors: cached.map((entry) => entry.definition),\n source: 'cache',\n stale: true,\n fetchedAt: cached[0]?.fetchedAt,\n };\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"composio-logo.js","names":[],"sources":["../../../src/connectors/composio-logo.ts"],"sourcesContent":["const COMPOSIO_LOGO_SLUG = /^[a-z0-9_]{1,80}$/;\nconst COMPOSIO_LOGO_MAX_BYTES = 512 * 1024;\nconst COMPOSIO_LOGO_CONTENT_TYPES = new Set([\n 'image/png',\n 'image/jpeg',\n 'image/webp',\n 'image/gif',\n 'image/svg+xml',\n]);\n\nexport async function composioLogoResponse(toolkit: string): Promise<Response> {\n const slug = toolkit.trim().toLowerCase();\n if (!COMPOSIO_LOGO_SLUG.test(slug)) {\n return Response.json({ ok: false, error: 'Invalid toolkit slug.' }, { status: 400 });\n }\n const upstream = await fetch(`https://logos.composio.dev/api/${encodeURIComponent(slug)}`, {\n headers: { Accept: 'image/png,image/webp,image/svg+xml,image/*;q=0.8' },\n redirect: 'error',\n signal: AbortSignal.timeout(8_000),\n });\n if (!upstream.ok) {\n return Response.json({ ok: false, error: 'Connector logo is unavailable.' }, { status: 404 });\n }\n const contentType = upstream.headers.get('content-type')?.split(';')[0]?.trim().toLowerCase() ?? '';\n if (!COMPOSIO_LOGO_CONTENT_TYPES.has(contentType)) {\n return Response.json({ ok: false, error: 'Connector logo has an unsupported format.' }, { status: 415 });\n }\n const declaredLength = Number(upstream.headers.get('content-length') ?? '0');\n if (declaredLength > COMPOSIO_LOGO_MAX_BYTES) {\n return Response.json({ ok: false, error: 'Connector logo is too large.' }, { status: 413 });\n }\n const data = await upstream.arrayBuffer();\n if (data.byteLength > COMPOSIO_LOGO_MAX_BYTES) {\n return Response.json({ ok: false, error: 'Connector logo is too large.' }, { status: 413 });\n }\n return new Response(data, {\n headers: {\n 'Cache-Control': 'public, max-age=86400, stale-while-revalidate=604800',\n 'Content-Length': String(data.byteLength),\n 'Content-Security-Policy': \"default-src 'none'; style-src 'unsafe-inline'\",\n 'Content-Type': contentType,\n 'X-Content-Type-Options': 'nosniff',\n },\n });\n}\n"],"mappings":";AAAA,MAAM,qBAAqB;AAC3B,MAAM,0BAA0B,MAAM;AACtC,MAAM,8BAA8B,IAAI,IAAI;CAC1C;CACA;CACA;CACA;CACA;CACD,CAAC;AAEF,eAAsB,qBAAqB,SAAoC;CAC7E,MAAM,OAAO,QAAQ,MAAM,CAAC,aAAa;AACzC,KAAI,CAAC,mBAAmB,KAAK,KAAK,CAChC,QAAO,SAAS,KAAK;EAAE,IAAI;EAAO,OAAO;EAAyB,EAAE,EAAE,QAAQ,KAAK,CAAC;CAEtF,MAAM,WAAW,MAAM,MAAM,kCAAkC,mBAAmB,KAAK,IAAI;EACzF,SAAS,EAAE,QAAQ,oDAAoD;EACvE,UAAU;EACV,QAAQ,YAAY,QAAQ,IAAM;EACnC,CAAC;AACF,KAAI,CAAC,SAAS,GACZ,QAAO,SAAS,KAAK;EAAE,IAAI;EAAO,OAAO;EAAkC,EAAE,EAAE,QAAQ,KAAK,CAAC;CAE/F,MAAM,cAAc,SAAS,QAAQ,IAAI,eAAe,EAAE,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,aAAa,IAAI;AACjG,KAAI,CAAC,4BAA4B,IAAI,YAAY,CAC/C,QAAO,SAAS,KAAK;EAAE,IAAI;EAAO,OAAO;EAA6C,EAAE,EAAE,QAAQ,KAAK,CAAC;AAG1G,KADuB,OAAO,SAAS,QAAQ,IAAI,iBAAiB,IAAI,IACtD,GAAG,wBACnB,QAAO,SAAS,KAAK;EAAE,IAAI;EAAO,OAAO;EAAgC,EAAE,EAAE,QAAQ,KAAK,CAAC;CAE7F,MAAM,OAAO,MAAM,SAAS,aAAa;AACzC,KAAI,KAAK,aAAa,wBACpB,QAAO,SAAS,KAAK;EAAE,IAAI;EAAO,OAAO;EAAgC,EAAE,EAAE,QAAQ,KAAK,CAAC;AAE7F,QAAO,IAAI,SAAS,MAAM,EACxB,SAAS;EACP,iBAAiB;EACjB,kBAAkB,OAAO,KAAK,WAAW;EACzC,2BAA2B;EAC3B,gBAAgB;EAChB,0BAA0B;EAC3B,EACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"composio-sessions.js","names":["listStoredConnectorConnections"],"sources":["../../../src/connectors/composio-sessions.ts"],"sourcesContent":["import { createHash } from 'node:crypto';\nimport { resolve } from 'node:path';\n\nimport { Composio } from '@composio/core';\nimport type { ToolRouterCreateSessionConfig } from '@composio/core';\nimport { PiProvider } from '@composio/experimental';\n\nimport { CredentialResolver } from '../auth/credentials.js';\nimport {\n appendConnectorExecutionAudit,\n getConnectorInstallation,\n listConnectorConnections as listStoredConnectorConnections,\n upsertConnectorConnection,\n} from '../storage/sqlite/connector-repository.js';\nimport { createLogger } from '../utils/logger.js';\nimport { evaluateConnectorExecutionPolicy } from './policy.js';\nimport type {\n ConnectorActionMetadata,\n ConnectorConnection,\n ConnectorInstallationPolicy,\n} from './types.js';\n\nconst log = createLogger('Connectors:ComposioSessions');\nconst COMPOSIO_API_KEY_PROVIDER = 'connector-composio-api-key';\n\nexport async function resolveComposioApiKey(resolver = new CredentialResolver()): Promise<string | null> {\n const stored = await resolver.resolveApiKey(COMPOSIO_API_KEY_PROVIDER).catch(() => undefined);\n return stored?.trim() || process.env.XOPC_COMPOSIO_API_KEY?.trim() || process.env.COMPOSIO_API_KEY?.trim() || null;\n}\n\nexport async function assertComposioApiKeyConfigured(resolver = new CredentialResolver()): Promise<string> {\n const apiKey = await resolveComposioApiKey(resolver);\n if (!apiKey) {\n throw new Error('Composio API key is not configured. Install the \"Composio API Key\" connector first.');\n }\n return apiKey;\n}\n\nexport type ComposioToolkitCatalogItem = {\n slug: string;\n name: string;\n logoUrl?: string;\n isNoAuth: boolean;\n connected: boolean;\n providerConnectionId?: string;\n};\n\nexport type ComposioAuthorizeResult = {\n toolkit: string;\n connectionId: string;\n connectUrl?: string;\n status: string;\n};\n\ntype SessionToolkitResponse = {\n items: Array<{\n slug: string;\n name: string;\n logo?: string;\n isNoAuth: boolean;\n connection?: {\n isActive: boolean;\n connectedAccount?: { status: string; id: string };\n };\n }>;\n cursor?: string;\n};\n\nexport type ComposioSessionLike = {\n sessionId: string;\n toolkits(options?: { toolkits?: string[]; isConnected?: boolean; limit?: number; cursor?: string }): Promise<SessionToolkitResponse>;\n authorize(toolkit: string, options?: { callbackUrl?: string; alias?: string }): Promise<{\n id: string;\n status: string;\n redirectUrl?: string | null;\n }>;\n search(params: { query: string; toolkits?: string[] }): Promise<unknown>;\n execute(toolSlug: string, args?: Record<string, unknown>, options?: { account?: string }): Promise<unknown>;\n};\n\nexport type ComposioSessionsClient = {\n sessions: {\n create(userId: string, config?: ToolRouterCreateSessionConfig): Promise<ComposioSessionLike>;\n };\n connectedAccounts: {\n list(query?: { userIds?: string[]; toolkitSlugs?: string[] }): Promise<unknown>;\n delete(id: string): Promise<unknown>;\n refresh(id: string): Promise<unknown>;\n };\n};\n\nexport type ComposioSessionContext = {\n principalId: string;\n installationScope?: string;\n toolkits?: string[];\n connectedAccounts?: Record<string, string[]>;\n callbackUrl?: string;\n};\n\ntype ClientFactory = () => Promise<ComposioSessionsClient>;\n\nfunction stableHash(value: string): string {\n return createHash('sha256').update(value).digest('hex').slice(0, 24);\n}\n\nfunction defaultInstallationScope(): string {\n const configured = process.env.XOPC_STATE_DIR?.trim() || process.env.XOPC_CONFIG_PATH?.trim();\n return configured ? resolve(configured) : resolve(process.cwd());\n}\n\n/** Convert local identities to stable opaque Composio user IDs without disclosing user data. */\nexport function createComposioPrincipalId(principalId: string, installationScope = defaultInstallationScope()): string {\n const normalized = principalId.trim();\n if (!normalized) throw new Error('Connector principalId is required.');\n return `xopc_${stableHash(installationScope)}_${stableHash(normalized)}`;\n}\n\nfunction readArray(payload: unknown): unknown[] {\n if (!payload || typeof payload !== 'object' || Array.isArray(payload)) return [];\n const record = payload as Record<string, unknown>;\n for (const key of ['items', 'data', 'connected_accounts']) {\n if (Array.isArray(record[key])) return record[key] as unknown[];\n }\n return [];\n}\n\nfunction readString(record: Record<string, unknown>, keys: string[]): string | undefined {\n for (const key of keys) {\n const value = record[key];\n if (typeof value === 'string' && value.trim()) return value.trim();\n }\n return undefined;\n}\n\nfunction connectionStatus(value: string | undefined): ConnectorConnection['status'] {\n switch (value?.toUpperCase()) {\n case 'ACTIVE': return 'active';\n case 'INITIATED':\n case 'INITIALIZING': return 'pending';\n case 'EXPIRED': return 'expired';\n case 'FAILED': return 'failed';\n case 'REVOKED':\n case 'DELETED': return 'revoked';\n case 'INACTIVE': return 'disabled';\n default: return 'unknown';\n }\n}\n\nexport class ComposioSessionsAdapter {\n private readonly createClient: ClientFactory;\n\n constructor(options: { resolver?: CredentialResolver; clientFactory?: ClientFactory } = {}) {\n if (options.clientFactory) {\n this.createClient = options.clientFactory;\n return;\n }\n const resolver = options.resolver ?? new CredentialResolver();\n this.createClient = async () => {\n const apiKey = await assertComposioApiKeyConfigured(resolver);\n return new Composio({\n apiKey,\n baseURL: process.env.XOPC_COMPOSIO_BASE_URL?.trim() || undefined,\n allowTracking: false,\n dangerouslyAllowAutoUploadDownloadFiles: false,\n fileUploadDirs: false,\n provider: new PiProvider(),\n host: 'xopc',\n }) as unknown as ComposioSessionsClient;\n };\n }\n\n async createSession(context: ComposioSessionContext): Promise<ComposioSessionLike> {\n const client = await this.createClient();\n const config: ToolRouterCreateSessionConfig = {\n manageConnections: {\n enable: true,\n callbackUrl: context.callbackUrl,\n waitForConnections: false,\n },\n sandbox: { enable: false },\n multiAccount: {\n enable: true,\n maxAccountsPerToolkit: 5,\n requireExplicitSelection: true,\n },\n ...(context.toolkits?.length ? { toolkits: { enable: context.toolkits } } : {}),\n ...(context.connectedAccounts && Object.keys(context.connectedAccounts).length > 0\n ? { connectedAccounts: context.connectedAccounts }\n : {}),\n };\n return client.sessions.create(\n createComposioPrincipalId(context.principalId, context.installationScope),\n config,\n );\n }\n\n async listToolkitCatalog(context: Omit<ComposioSessionContext, 'toolkits'>): Promise<ComposioToolkitCatalogItem[]> {\n const session = await this.createSession(context);\n const items: ComposioToolkitCatalogItem[] = [];\n let cursor: string | undefined;\n for (let page = 0; page < 20; page++) {\n const response = await session.toolkits({ limit: 100, cursor });\n for (const item of response.items) {\n items.push({\n slug: item.slug,\n name: item.name,\n logoUrl: item.logo,\n isNoAuth: item.isNoAuth,\n connected: item.connection?.isActive === true,\n providerConnectionId: item.connection?.connectedAccount?.id,\n });\n }\n if (!response.cursor || response.cursor === cursor) break;\n cursor = response.cursor;\n }\n return items;\n }\n\n async authorize(\n context: ComposioSessionContext & { toolkit: string; installationId?: string; alias?: string },\n ): Promise<ComposioAuthorizeResult> {\n const session = await this.createSession({ ...context, toolkits: [context.toolkit] });\n const request = await session.authorize(context.toolkit, {\n callbackUrl: context.callbackUrl,\n alias: context.alias,\n });\n const connectorId = `composio-${context.toolkit}`;\n upsertConnectorConnection({\n id: `composio-${request.id}`,\n installationId: context.installationId && getConnectorInstallation(context.installationId)\n ? context.installationId\n : undefined,\n connectorId,\n provider: 'composio',\n principalId: context.principalId,\n providerConnectionId: request.id,\n alias: context.alias,\n identity: {},\n status: connectionStatus(request.status),\n isDefault: listStoredConnectorConnections({ principalId: context.principalId, connectorId }).length === 0,\n metadata: { toolkit: context.toolkit },\n });\n return {\n toolkit: context.toolkit,\n connectionId: request.id,\n connectUrl: request.redirectUrl ?? undefined,\n status: request.status,\n };\n }\n\n async syncConnections(context: Pick<ComposioSessionContext, 'principalId' | 'installationScope'>): Promise<ConnectorConnection[]> {\n const client = await this.createClient();\n const providerPrincipalId = createComposioPrincipalId(context.principalId, context.installationScope);\n const payload = await client.connectedAccounts.list({ userIds: [providerPrincipalId] });\n const synced: ConnectorConnection[] = [];\n for (const item of readArray(payload)) {\n if (!item || typeof item !== 'object' || Array.isArray(item)) continue;\n const row = item as Record<string, unknown>;\n const toolkitRecord = row.toolkit && typeof row.toolkit === 'object' && !Array.isArray(row.toolkit)\n ? row.toolkit as Record<string, unknown>\n : {};\n const providerConnectionId = readString(row, ['id', 'nanoid', 'connectedAccountId', 'connected_account_id']);\n const toolkit = readString(toolkitRecord, ['slug']) ?? readString(row, ['toolkitSlug', 'toolkit_slug']);\n if (!providerConnectionId || !toolkit) continue;\n const connectorId = `composio-${toolkit}`;\n const existing = listStoredConnectorConnections({ principalId: context.principalId, connectorId })\n .find((connection) => connection.providerConnectionId === providerConnectionId);\n const identity = row.connectionData && typeof row.connectionData === 'object' && !Array.isArray(row.connectionData)\n ? row.connectionData as Record<string, unknown>\n : {};\n synced.push(upsertConnectorConnection({\n id: existing?.id ?? `composio-${providerConnectionId}`,\n installationId: existing?.installationId,\n connectorId,\n provider: 'composio',\n principalId: context.principalId,\n providerConnectionId,\n alias: existing?.alias,\n identity,\n status: connectionStatus(readString(row, ['status'])),\n isDefault: existing?.isDefault ?? false,\n connectedAt: readString(row, ['createdAt', 'created_at']),\n lastError: readString(row, ['lastError', 'last_error']),\n metadata: { toolkit, providerPrincipalId },\n }));\n }\n return synced;\n }\n\n async revokeConnection(connection: ConnectorConnection): Promise<void> {\n const client = await this.createClient();\n await client.connectedAccounts.delete(connection.providerConnectionId);\n upsertConnectorConnection({\n ...connection,\n status: 'revoked',\n isDefault: false,\n updatedAt: new Date().toISOString(),\n });\n }\n\n async refreshConnection(connection: ConnectorConnection): Promise<ConnectorConnection> {\n const client = await this.createClient();\n await client.connectedAccounts.refresh(connection.providerConnectionId);\n const synced = await this.syncConnections({ principalId: connection.principalId });\n return synced.find((candidate) => candidate.id === connection.id)\n ?? synced.find((candidate) => candidate.providerConnectionId === connection.providerConnectionId)\n ?? connection;\n }\n\n async executeWithPolicy(input: {\n context: ComposioSessionContext;\n installation: ConnectorInstallationPolicy;\n connection?: ConnectorConnection;\n action: ConnectorActionMetadata;\n args?: Record<string, unknown>;\n agentId?: string;\n sessionKey?: string;\n confirmed?: boolean;\n }): Promise<{ decision: 'allowed'; result: unknown } | { decision: 'denied' | 'confirmation_required'; reason: string }> {\n const evaluation = evaluateConnectorExecutionPolicy({\n installation: input.installation,\n action: input.action,\n agentId: input.agentId,\n connectionId: input.connection?.id,\n confirmed: input.confirmed,\n });\n if (evaluation.decision !== 'allowed') {\n appendConnectorExecutionAudit({\n installationId: input.installation.id,\n connectionId: input.connection?.id,\n connectorId: input.installation.connectorId,\n principalId: input.context.principalId,\n agentId: input.agentId,\n sessionKey: input.sessionKey,\n actionId: input.action.actionId,\n scope: input.action.scope,\n decision: evaluation.decision,\n resultStatus: 'not_executed',\n });\n return { decision: evaluation.decision, reason: evaluation.reason };\n }\n\n const startedAt = Date.now();\n try {\n const toolkit = input.action.toolkit;\n const connectedAccounts = toolkit && input.connection\n ? { [toolkit]: [input.connection.providerConnectionId] }\n : input.context.connectedAccounts;\n const session = await this.createSession({ ...input.context, connectedAccounts });\n const result = await session.execute(\n input.action.actionId,\n input.args ?? {},\n input.connection ? { account: input.connection.providerConnectionId } : undefined,\n );\n appendConnectorExecutionAudit({\n installationId: input.installation.id,\n connectionId: input.connection?.id,\n connectorId: input.installation.connectorId,\n principalId: input.context.principalId,\n agentId: input.agentId,\n sessionKey: input.sessionKey,\n actionId: input.action.actionId,\n scope: input.action.scope,\n decision: 'allowed',\n resultStatus: 'success',\n durationMs: Date.now() - startedAt,\n });\n return { decision: 'allowed', result };\n } catch (err) {\n const errorCode = err && typeof err === 'object' && 'code' in err ? String((err as { code?: unknown }).code) : undefined;\n appendConnectorExecutionAudit({\n installationId: input.installation.id,\n connectionId: input.connection?.id,\n connectorId: input.installation.connectorId,\n principalId: input.context.principalId,\n agentId: input.agentId,\n sessionKey: input.sessionKey,\n actionId: input.action.actionId,\n scope: input.action.scope,\n decision: 'allowed',\n resultStatus: 'error',\n durationMs: Date.now() - startedAt,\n errorCode,\n });\n log.warn(\n { err, connectorId: input.installation.connectorId, actionId: input.action.actionId, phase: 'execute' },\n 'Composio connector action failed',\n );\n throw err;\n }\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"composio-triggers.js","names":[],"sources":["../../../src/connectors/composio-triggers.ts"],"sourcesContent":["import crypto, { createHmac, timingSafeEqual } from 'node:crypto';\nimport { mkdir, appendFile, readFile } from 'node:fs/promises';\nimport { dirname, join } from 'node:path';\n\nimport type { Config } from '../config/schema.js';\nimport { getWorkspacePath } from '../config/workspace-path-helpers.js';\nimport { listConnectorConnections, upsertConnectorConnection } from '../storage/sqlite/connector-repository.js';\n\nexport type ComposioTriggerArchiveEntry = {\n at: string;\n id: string;\n toolkit?: string;\n trigger?: string;\n payload: unknown;\n};\n\nfunction archivePath(config: Config): string {\n const workspace = getWorkspacePath(config) || './workspace';\n return join(workspace, 'state', 'connectors', 'composio-triggers.jsonl');\n}\n\nfunction readString(value: unknown): string | undefined {\n return typeof value === 'string' && value.trim() ? value.trim() : undefined;\n}\n\nexport function verifyComposioWebhook(input: {\n body: string;\n webhookId: string;\n webhookTimestamp: string;\n signature: string;\n secret: string;\n nowMs?: number;\n toleranceSeconds?: number;\n}): unknown {\n if (!input.secret || !input.webhookId || !input.webhookTimestamp || !input.signature) {\n throw new Error('Missing Composio webhook signature fields.');\n }\n const timestampMs = Number(input.webhookTimestamp) * 1000;\n const toleranceMs = (input.toleranceSeconds ?? 300) * 1000;\n if (!Number.isFinite(timestampMs) || Math.abs((input.nowMs ?? Date.now()) - timestampMs) > toleranceMs) {\n throw new Error('Composio webhook timestamp is outside the allowed window.');\n }\n const expected = createHmac('sha256', input.secret)\n .update(`${input.webhookId}.${input.webhookTimestamp}.${input.body}`)\n .digest('base64');\n const received = input.signature.split(',').at(-1)?.trim() ?? '';\n const expectedBuffer = Buffer.from(expected);\n const receivedBuffer = Buffer.from(received);\n if (expectedBuffer.length !== receivedBuffer.length || !timingSafeEqual(expectedBuffer, receivedBuffer)) {\n throw new Error('Invalid Composio webhook signature.');\n }\n return JSON.parse(input.body) as unknown;\n}\n\nexport function normalizeComposioTriggerPayload(payload: unknown, webhookId?: string): {\n id: string;\n type: string;\n toolkit?: string;\n trigger?: string;\n data: Record<string, unknown>;\n} {\n const row = payload && typeof payload === 'object' && !Array.isArray(payload) ? payload as Record<string, unknown> : {};\n const metadata = row.metadata && typeof row.metadata === 'object' && !Array.isArray(row.metadata)\n ? row.metadata as Record<string, unknown>\n : {};\n const data = row.data && typeof row.data === 'object' && !Array.isArray(row.data)\n ? row.data as Record<string, unknown>\n : {};\n const toolkitRecord = metadata.toolkit && typeof metadata.toolkit === 'object' && !Array.isArray(metadata.toolkit)\n ? metadata.toolkit as Record<string, unknown>\n : {};\n return {\n id: webhookId ?? readString(row.id ?? row.eventId ?? row.event_id) ?? crypto.randomUUID(),\n type: readString(row.type) ?? 'composio.trigger.message',\n toolkit: readString(metadata.toolkit_slug ?? toolkitRecord.slug ?? row.toolkit ?? row.toolkit_slug),\n trigger: readString(metadata.trigger_slug ?? row.trigger ?? row.triggerName ?? row.trigger_name),\n data,\n };\n}\n\nexport function applyComposioConnectionLifecycleEvent(payload: unknown): void {\n const normalized = normalizeComposioTriggerPayload(payload);\n if (normalized.type !== 'composio.connected_account.expired' && normalized.type !== 'composio.connected_account.deleted') return;\n const providerConnectionId = readString(normalized.data.id ?? normalized.data.nanoid ?? normalized.data.connected_account_id);\n if (!providerConnectionId) return;\n const connection = listConnectorConnections().find((candidate) => (\n candidate.provider === 'composio' && candidate.providerConnectionId === providerConnectionId\n ));\n if (!connection) return;\n upsertConnectorConnection({\n ...connection,\n status: normalized.type.endsWith('.deleted') ? 'revoked' : 'expired',\n isDefault: false,\n lastError: normalized.type.endsWith('.deleted') ? 'Connection was removed in Composio.' : 'Connection expired and requires authorization.',\n });\n}\n\nexport async function appendComposioTriggerEvent(config: Config, payload: unknown): Promise<ComposioTriggerArchiveEntry> {\n const record = payload && typeof payload === 'object' && !Array.isArray(payload) ? payload as Record<string, unknown> : {};\n const normalized = normalizeComposioTriggerPayload(payload);\n const entry: ComposioTriggerArchiveEntry = {\n at: new Date().toISOString(),\n id: normalized.id,\n toolkit: normalized.toolkit ?? readString(record.appName ?? record.app_name),\n trigger: normalized.trigger ?? normalized.type,\n payload,\n };\n const path = archivePath(config);\n await mkdir(dirname(path), { recursive: true });\n const recent = await listComposioTriggerEvents(config, 500);\n const existing = recent.find((candidate) => candidate.id === entry.id);\n if (existing) return existing;\n await appendFile(path, `${JSON.stringify(entry)}\\n`, 'utf8');\n return entry;\n}\n\nexport async function listComposioTriggerEvents(config: Config, limit = 50): Promise<ComposioTriggerArchiveEntry[]> {\n const path = archivePath(config);\n const text = await readFile(path, 'utf8').catch(() => '');\n return text\n .split('\\n')\n .filter(Boolean)\n .slice(-Math.max(1, Math.min(limit, 500)))\n .map((line) => JSON.parse(line) as ComposioTriggerArchiveEntry)\n .reverse();\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"composio.js","names":["listStoredConnectorConnections"],"sources":["../../../src/connectors/composio.ts"],"sourcesContent":["import { CredentialResolver } from '../auth/credentials.js';\nimport type { Config } from '../config/schema.js';\nimport {\n getConnectorConnection,\n getConnectorInstallation,\n listConnectorConnections as listStoredConnectorConnections,\n upsertConnectorConnection,\n upsertConnectorActionMetadata,\n upsertConnectorInstallation,\n} from '../storage/sqlite/connector-repository.js';\nimport {\n COMPOSIO_AGENT_READY_TOOLKITS,\n COMPOSIO_TOOLKIT_DISPLAY_NAMES,\n connectorDefinitionFromComposioToolkit,\n} from './composio-catalog.js';\nimport { ComposioSessionsAdapter } from './composio-sessions.js';\nimport { consumeConnectorSetupSecretRef } from './setup-secrets.js';\nimport type { ConnectorConfirmationPolicy, ConnectorDefinition, ConnectorInstallationPolicy } from './types.js';\n\nexport type ComposioConnection = {\n id: string;\n providerConnectionId: string;\n toolkit: string;\n status: string;\n alias?: string;\n isDefault: boolean;\n accountEmail?: string;\n workspace?: string;\n username?: string;\n connectedAt?: string;\n lastError?: string;\n};\n\nexport type ComposioScope = 'read' | 'write' | 'admin';\n\nexport type ComposioTool = {\n slug: string;\n name?: string;\n description?: string;\n inputSchema?: unknown;\n scope: ComposioScope;\n curated: boolean;\n};\n\nexport type ComposioConnectorHealth = {\n toolkit: string;\n status: 'connected' | 'disconnected' | 'reauthorization_required' | 'degraded';\n activeConnections: number;\n affectedConnections: number;\n checkedAt: string;\n message: string;\n recovery: 'none' | 'connect' | 'reconnect' | 'retry';\n errorCode?: 'missing_credential' | 'unauthorized' | 'forbidden' | 'network' | 'timeout' | 'provider_error';\n};\n\nconst COMPOSIO_API_KEY_PROVIDER = 'connector-composio-api-key';\nconst COMPOSIO_SCOPE_ORDER: Record<ComposioScope, number> = { read: 1, write: 2, admin: 3 };\nconst COMPOSIO_AGENT_READY = new Set<string>(COMPOSIO_AGENT_READY_TOOLKITS);\nconst STRICT_CURATED_TOOLKITS = new Set<string>(['github']);\nconst READ_ACTION_TOKENS = ['GET', 'LIST', 'SEARCH', 'FETCH', 'FIND', 'LOOKUP', 'RETRIEVE', 'READ', 'QUERY', 'CHECK', 'DESCRIBE', 'DOWNLOAD'];\nconst WRITE_ACTION_TOKENS = ['CREATE', 'UPDATE', 'SEND', 'POST', 'ADD', 'UPLOAD', 'REPLY', 'DRAFT', 'INVITE', 'ASSIGN', 'MOVE', 'COPY', 'EDIT', 'WRITE', 'PUBLISH', 'SCHEDULE'];\nconst ADMIN_ACTION_TOKENS = ['DELETE', 'REMOVE', 'REVOKE', 'TRASH', 'ARCHIVE', 'CANCEL', 'DISCONNECT', 'DEACTIVATE'];\n\nconst COMPOSIO_CURATED_ACTIONS: Record<string, Record<string, ComposioScope>> = {\n gmail: {\n GMAIL_FETCH_EMAILS: 'read',\n GMAIL_GET_EMAIL: 'read',\n GMAIL_LIST_LABELS: 'read',\n GMAIL_SEND_EMAIL: 'write',\n GMAIL_CREATE_EMAIL_DRAFT: 'write',\n GMAIL_REPLY_TO_THREAD: 'write',\n GMAIL_TRASH_EMAIL: 'admin',\n },\n googlecalendar: {\n GOOGLECALENDAR_FIND_EVENT: 'read',\n GOOGLECALENDAR_LIST_EVENTS: 'read',\n GOOGLECALENDAR_CREATE_EVENT: 'write',\n GOOGLECALENDAR_UPDATE_EVENT: 'write',\n GOOGLECALENDAR_DELETE_EVENT: 'admin',\n },\n googledrive: {\n GOOGLEDRIVE_SEARCH_FILES: 'read',\n GOOGLEDRIVE_GET_FILE: 'read',\n GOOGLEDRIVE_CREATE_FILE: 'write',\n GOOGLEDRIVE_UPDATE_FILE: 'write',\n GOOGLEDRIVE_DELETE_FILE: 'admin',\n },\n notion: {\n NOTION_SEARCH: 'read',\n NOTION_FETCH_PAGE: 'read',\n NOTION_CREATE_PAGE: 'write',\n NOTION_UPDATE_PAGE: 'write',\n },\n slack: {\n SLACK_LIST_CHANNELS: 'read',\n SLACK_FETCH_CONVERSATION_HISTORY: 'read',\n SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL: 'write',\n SLACK_SEND_DIRECT_MESSAGE: 'write',\n },\n github: {\n GITHUB_GET_THE_AUTHENTICATED_USER: 'read',\n GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER: 'read',\n GITHUB_GET_A_REPOSITORY: 'read',\n GITHUB_GET_REPOSITORY: 'read',\n GITHUB_LIST_REPOSITORY_COLLABORATORS: 'read',\n GITHUB_SEARCH_REPOSITORIES: 'read',\n GITHUB_SEARCH_CODE: 'read',\n GITHUB_SEARCH_ISSUES_AND_PULL_REQUESTS: 'read',\n GITHUB_SEARCH_USERS: 'read',\n GITHUB_LIST_REPOSITORY_ISSUES: 'read',\n GITHUB_GET_AN_ISSUE: 'read',\n GITHUB_LIST_ISSUE_COMMENTS: 'read',\n GITHUB_LIST_PULL_REQUESTS: 'read',\n GITHUB_GET_A_PULL_REQUEST: 'read',\n GITHUB_LIST_BRANCHES: 'read',\n GITHUB_GET_A_BRANCH: 'read',\n GITHUB_LIST_COMMITS: 'read',\n GITHUB_GET_A_COMMIT: 'read',\n GITHUB_CREATE_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER: 'write',\n GITHUB_CREATE_OR_UPDATE_FILE_CONTENTS: 'write',\n GITHUB_CREATE_A_COMMIT: 'write',\n GITHUB_CREATE_A_COMMIT_COMMENT: 'write',\n GITHUB_CREATE_AN_ISSUE: 'write',\n GITHUB_UPDATE_AN_ISSUE: 'write',\n GITHUB_CREATE_AN_ISSUE_COMMENT: 'write',\n GITHUB_ADD_LABELS_TO_AN_ISSUE: 'write',\n GITHUB_ADD_ASSIGNEES_TO_AN_ISSUE: 'write',\n GITHUB_CREATE_A_PULL_REQUEST: 'write',\n GITHUB_CREATE_PULL_REQUEST: 'write',\n GITHUB_UPDATE_A_PULL_REQUEST: 'write',\n GITHUB_MERGE_A_PULL_REQUEST: 'write',\n GITHUB_CREATE_A_REVIEW_FOR_A_PULL_REQUEST: 'write',\n GITHUB_CREATE_A_REVIEW_COMMENT_FOR_A_PULL_REQUEST: 'write',\n GITHUB_CREATE_A_GIST: 'write',\n GITHUB_DELETE_A_REPOSITORY: 'admin',\n GITHUB_DELETE_A_REFERENCE: 'admin',\n GITHUB_DELETE_A_FILE: 'admin',\n GITHUB_ADD_A_REPOSITORY_COLLABORATOR: 'admin',\n GITHUB_CANCEL_A_WORKFLOW_RUN: 'admin',\n },\n linear: {\n LINEAR_LIST_ISSUES: 'read',\n LINEAR_GET_ISSUE: 'read',\n LINEAR_CREATE_ISSUE: 'write',\n LINEAR_UPDATE_ISSUE: 'write',\n },\n};\n\nconst LOCAL_OWNER_PRINCIPAL = 'local-owner';\n\nfunction toolkitFromConnectionMetadata(connection: { id: string; metadata: Record<string, unknown> }): string {\n const toolkit = connection.metadata.toolkit;\n if (typeof toolkit !== 'string' || !toolkit.trim()) {\n throw new Error(`Composio connection \"${connection.id}\" does not contain toolkit metadata.`);\n }\n return toolkit;\n}\n\nfunction normalizeToolkit(toolkit: string): string {\n return toolkit.trim().toLowerCase().replace(/[^a-z0-9_]+/g, '');\n}\n\nexport function toolkitFromComposioSlug(slug: string): string | undefined {\n const upper = slug.trim().toUpperCase();\n if (!upper) return undefined;\n const known = [...COMPOSIO_AGENT_READY].sort((left, right) => right.length - left.length)\n .find((toolkit) => upper === toolkit.toUpperCase() || upper.startsWith(`${toolkit.toUpperCase()}_`));\n if (known) return known;\n const prefix = upper.split('_')[0]?.toLowerCase();\n return prefix || undefined;\n}\n\nexport function scopeForComposioAction(slug: string): { toolkit?: string; scope: ComposioScope; curated: boolean } {\n const toolkit = toolkitFromComposioSlug(slug);\n if (!toolkit) return { scope: 'write', curated: false };\n const scope = COMPOSIO_CURATED_ACTIONS[toolkit]?.[slug.trim().toUpperCase()];\n if (scope) return { toolkit, scope, curated: true };\n if (STRICT_CURATED_TOOLKITS.has(toolkit)) {\n return { toolkit, scope: 'write', curated: false };\n }\n if (COMPOSIO_AGENT_READY.has(toolkit)) {\n const tokens = slug.trim().toUpperCase().split('_');\n if (tokens.some((token) => ADMIN_ACTION_TOKENS.some((verb) => token.startsWith(verb)))) {\n return { toolkit, scope: 'admin', curated: true };\n }\n if (tokens.some((token) => READ_ACTION_TOKENS.some((verb) => token.startsWith(verb)))) {\n return { toolkit, scope: 'read', curated: true };\n }\n if (tokens.some((token) => WRITE_ACTION_TOKENS.some((verb) => token.startsWith(verb)))) {\n return { toolkit, scope: 'write', curated: true };\n }\n }\n return { toolkit, scope: 'write', curated: false };\n}\n\nexport function isComposioActionAllowedByCatalog(slug: string): boolean {\n const action = scopeForComposioAction(slug);\n return Boolean(action.toolkit && (action.curated || !STRICT_CURATED_TOOLKITS.has(action.toolkit)));\n}\n\nexport function getComposioToolkitScope(config: Config | undefined, toolkit: string): ComposioScope {\n const record = config?.connectors?.instances?.[`composio-${normalizeToolkit(toolkit)}`];\n const raw = record && typeof record === 'object' && !Array.isArray(record)\n ? (record as Record<string, unknown>).scope\n : undefined;\n return raw === 'admin' || raw === 'write' || raw === 'read' ? raw : 'read';\n}\n\nexport function setComposioToolkitScope(config: Config, toolkit: string, scope: ComposioScope): void {\n const instanceId = `composio-${normalizeToolkit(toolkit)}`;\n const record = config.connectors?.instances?.[instanceId];\n if (!record || typeof record !== 'object' || Array.isArray(record)) {\n throw new Error(`Composio connector is not installed: ${toolkit}`);\n }\n (record as Record<string, unknown>).scope = scope;\n}\n\nexport function canUseComposioAction(config: Config | undefined, slug: string): { ok: true; toolkit?: string; scope: ComposioScope } | { ok: false; reason: string; toolkit?: string; scope: ComposioScope } {\n const action = scopeForComposioAction(slug);\n if (!action.toolkit) return { ok: false, reason: `Unknown Composio toolkit for action: ${slug}`, scope: action.scope };\n if (!isComposioActionAllowedByCatalog(slug)) {\n return {\n ok: false,\n reason: `Composio action ${slug} is not in the curated ${action.toolkit} action catalog.`,\n toolkit: action.toolkit,\n scope: action.scope,\n };\n }\n const installed = config?.connectors?.instances?.[`composio-${action.toolkit}`];\n if (!installed) return { ok: false, reason: `Composio connector is not installed: ${action.toolkit}`, toolkit: action.toolkit, scope: action.scope };\n const allowedScope = getComposioToolkitScope(config, action.toolkit);\n if (COMPOSIO_SCOPE_ORDER[allowedScope] < COMPOSIO_SCOPE_ORDER[action.scope]) {\n return { ok: false, reason: `Composio action ${slug} requires ${action.scope} scope; connector allows ${allowedScope}.`, toolkit: action.toolkit, scope: action.scope };\n }\n if (!action.curated && allowedScope !== 'admin') {\n return { ok: false, reason: `Composio action ${slug} is not in the curated allowlist. Set connector scope to admin to allow uncurated actions.`, toolkit: action.toolkit, scope: action.scope };\n }\n return { ok: true, toolkit: action.toolkit, scope: action.scope };\n}\n\nexport const COMPOSIO_CONNECTORS: readonly ConnectorDefinition[] = [\n {\n id: 'composio-api-key',\n version: '1.0.0',\n displayName: 'Composio API Key',\n description: 'Store a Composio API key for direct-mode toolkit connectors.',\n category: 'automation',\n kind: 'composio',\n source: 'builtin',\n branding: {\n logoUrl: '/connector-icons/composio.svg',\n source: 'composio-catalog',\n },\n verificationLevel: 'verified',\n capabilities: ['auth.apiKey', 'tools', 'events', 'workflows'],\n tags: ['composio', 'oauth', 'integrations'],\n auth: { mode: 'apiKey' },\n setup: {\n secrets: [{ key: 'COMPOSIO_API_KEY', label: 'Composio API key', required: true }],\n },\n runtime: { type: 'composio', toolkit: 'composio', role: 'credential' },\n integrationStrategy: { lane: 'composio', workload: 'long_tail', preferred: true },\n },\n ...COMPOSIO_AGENT_READY_TOOLKITS.map((toolkit) => {\n const definition = connectorDefinitionFromComposioToolkit({\n slug: toolkit,\n name: COMPOSIO_TOOLKIT_DISPLAY_NAMES[toolkit],\n isNoAuth: false,\n connected: false,\n });\n return { ...definition, version: '1.0.0' };\n }),\n];\n\nexport async function saveComposioApiKey(input: { secrets?: Record<string, unknown> }, resolver = new CredentialResolver()): Promise<void> {\n const raw = input.secrets?.COMPOSIO_API_KEY;\n const resolved = typeof raw === 'string' && raw.trim().startsWith('secret://')\n ? consumeConnectorSetupSecretRef(raw)\n : raw;\n if (typeof resolved !== 'string' || !resolved.trim()) {\n throw new Error('Composio API key is required.');\n }\n await resolver.saveApiKey(COMPOSIO_API_KEY_PROVIDER, resolved.trim(), { profileName: 'default' });\n}\n\nexport async function listComposioConnections(resolver = new CredentialResolver()): Promise<ComposioConnection[]> {\n const adapter = new ComposioSessionsAdapter({ resolver });\n await adapter.syncConnections({ principalId: LOCAL_OWNER_PRINCIPAL });\n return listStoredConnectorConnections({ principalId: LOCAL_OWNER_PRINCIPAL })\n .filter((connection) => connection.provider === 'composio')\n .map((connection) => ({\n id: connection.id,\n providerConnectionId: connection.providerConnectionId,\n toolkit: toolkitFromConnectionMetadata(connection),\n status: connection.status,\n alias: connection.alias,\n isDefault: connection.isDefault,\n accountEmail: typeof connection.identity.email === 'string' ? connection.identity.email : undefined,\n workspace: typeof connection.identity.workspace === 'string' ? connection.identity.workspace : undefined,\n username: typeof connection.identity.username === 'string' ? connection.identity.username : undefined,\n connectedAt: connection.connectedAt,\n lastError: connection.lastError,\n }));\n}\n\nexport async function inspectComposioConnectorHealth(toolkit: string, resolver = new CredentialResolver()): Promise<ComposioConnectorHealth> {\n const normalizedToolkit = normalizeToolkit(toolkit);\n try {\n const all = await listComposioConnections(resolver);\n const connections = all.filter((connection) => connection.toolkit.toLowerCase() === normalizedToolkit);\n const activeConnections = connections.filter((connection) => connection.status === 'active').length;\n const affectedConnections = connections.filter((connection) => connection.status === 'expired' || connection.status === 'failed').length;\n if (activeConnections > 0) {\n return {\n toolkit: normalizedToolkit,\n status: 'connected',\n activeConnections,\n affectedConnections,\n checkedAt: new Date().toISOString(),\n message: `${activeConnections} active account connection${activeConnections === 1 ? '' : 's'}.`,\n recovery: 'none',\n };\n }\n if (affectedConnections > 0) {\n return {\n toolkit: normalizedToolkit,\n status: 'reauthorization_required',\n activeConnections: 0,\n affectedConnections,\n checkedAt: new Date().toISOString(),\n message: 'The account connection expired or failed and must be authorized again.',\n recovery: 'reconnect',\n };\n }\n return {\n toolkit: normalizedToolkit,\n status: 'disconnected',\n activeConnections: 0,\n affectedConnections: 0,\n checkedAt: new Date().toISOString(),\n message: 'No active account is connected.',\n recovery: 'connect',\n };\n } catch (error) {\n const failure = classifyComposioHealthError(error);\n return {\n toolkit: normalizedToolkit,\n status: 'degraded',\n activeConnections: 0,\n affectedConnections: 0,\n checkedAt: new Date().toISOString(),\n message: failure.message,\n recovery: 'retry',\n errorCode: failure.code,\n };\n }\n}\n\nfunction classifyComposioHealthError(error: unknown): {\n code: NonNullable<ComposioConnectorHealth['errorCode']>;\n message: string;\n} {\n const message = error instanceof Error ? error.message : String(error);\n if (/api key is not configured|missing.*api key/i.test(message)) {\n return { code: 'missing_credential', message };\n }\n if (/\\b401\\b|unauthori[sz]ed|invalid api key|authentication failed/i.test(message)) {\n return { code: 'unauthorized', message: 'Composio rejected the configured project API key.' };\n }\n if (/\\b403\\b|forbidden|insufficient permission|permission denied/i.test(message)) {\n return { code: 'forbidden', message: 'The Composio project API key does not have the required permissions.' };\n }\n if (/timed?\\s*out|timeout|aborterror/i.test(message)) {\n return { code: 'timeout', message: 'The Composio health request timed out.' };\n }\n if (/fetch failed|network|econn|enotfound|eai_again|socket|tls/i.test(message)) {\n return { code: 'network', message: 'The gateway could not reach the Composio API.' };\n }\n return { code: 'provider_error', message };\n}\n\nexport function getComposioInstallationPolicy(config: Config | undefined, toolkit: string): ConnectorInstallationPolicy {\n const normalizedToolkit = normalizeToolkit(toolkit);\n const connectorId = `composio-${normalizedToolkit}`;\n const id = `${connectorId}-${LOCAL_OWNER_PRINCIPAL}`;\n const existing = getConnectorInstallation(id);\n return upsertConnectorInstallation({\n id,\n connectorId,\n principalId: LOCAL_OWNER_PRINCIPAL,\n enabled: existing?.enabled ?? true,\n allowedAgentIds: existing?.allowedAgentIds ?? [],\n maxScope: getComposioToolkitScope(config, normalizedToolkit),\n confirmationPolicy: existing?.confirmationPolicy ?? 'writes',\n selectedConnectionIds: existing?.selectedConnectionIds ?? [],\n createdAt: existing?.createdAt,\n });\n}\n\nexport function updateComposioInstallationPolicy(\n config: Config | undefined,\n toolkit: string,\n patch: { allowedAgentIds?: string[]; confirmationPolicy?: ConnectorConfirmationPolicy; selectedConnectionIds?: string[] },\n): ConnectorInstallationPolicy {\n const current = getComposioInstallationPolicy(config, toolkit);\n return upsertConnectorInstallation({\n ...current,\n allowedAgentIds: patch.allowedAgentIds ?? current.allowedAgentIds,\n confirmationPolicy: patch.confirmationPolicy ?? current.confirmationPolicy,\n selectedConnectionIds: patch.selectedConnectionIds ?? current.selectedConnectionIds,\n });\n}\n\nexport function updateComposioConnection(\n id: string,\n patch: { alias?: string; isDefault?: boolean },\n): ComposioConnection {\n const connection = getConnectorConnection(id);\n if (!connection || connection.provider !== 'composio' || connection.principalId !== LOCAL_OWNER_PRINCIPAL) {\n throw new Error('Composio connection not found.');\n }\n upsertConnectorConnection({\n ...connection,\n alias: patch.alias === undefined ? connection.alias : patch.alias.trim() || undefined,\n isDefault: patch.isDefault ?? connection.isDefault,\n });\n const updated = getConnectorConnection(id)!;\n return {\n id: updated.id,\n providerConnectionId: updated.providerConnectionId,\n toolkit: toolkitFromConnectionMetadata(updated),\n status: updated.status,\n alias: updated.alias,\n isDefault: updated.isDefault,\n accountEmail: typeof updated.identity.email === 'string' ? updated.identity.email : undefined,\n workspace: typeof updated.identity.workspace === 'string' ? updated.identity.workspace : undefined,\n username: typeof updated.identity.username === 'string' ? updated.identity.username : undefined,\n connectedAt: updated.connectedAt,\n lastError: updated.lastError,\n };\n}\n\nexport async function refreshComposioConnection(id: string, resolver = new CredentialResolver()): Promise<void> {\n const connection = getConnectorConnection(id);\n if (!connection || connection.provider !== 'composio' || connection.principalId !== LOCAL_OWNER_PRINCIPAL) {\n throw new Error('Composio connection not found.');\n }\n await new ComposioSessionsAdapter({ resolver }).refreshConnection(connection);\n}\n\nexport async function revokeComposioConnection(id: string, resolver = new CredentialResolver()): Promise<void> {\n const connection = getConnectorConnection(id);\n if (!connection || connection.provider !== 'composio' || connection.principalId !== LOCAL_OWNER_PRINCIPAL) {\n throw new Error('Composio connection not found.');\n }\n await new ComposioSessionsAdapter({ resolver }).revokeConnection(connection);\n}\n\nexport async function startComposioAuthorize(connectorId: string, toolkit: string, resolver = new CredentialResolver()): Promise<{ toolkit: string; connectUrl: string; connectionId?: string }> {\n const normalizedToolkit = normalizeToolkit(toolkit);\n const authorization = await new ComposioSessionsAdapter({ resolver }).authorize({\n principalId: LOCAL_OWNER_PRINCIPAL,\n toolkit: normalizedToolkit,\n installationId: getConnectorInstallation(`${connectorId}-${LOCAL_OWNER_PRINCIPAL}`)?.id,\n });\n if (!authorization.connectUrl) {\n throw new Error('Composio authorize did not return a connect URL.');\n }\n return {\n toolkit: authorization.toolkit,\n connectUrl: authorization.connectUrl,\n connectionId: authorization.connectionId,\n };\n}\n\nexport async function listComposioTools(toolkit: string, config?: Config, resolver = new CredentialResolver()): Promise<ComposioTool[]> {\n const normalizedToolkit = normalizeToolkit(toolkit);\n const session = await new ComposioSessionsAdapter({ resolver }).createSession({\n principalId: LOCAL_OWNER_PRINCIPAL,\n toolkits: [normalizedToolkit],\n });\n const payload = await session.search({\n query: `List the available ${normalizedToolkit} actions and their exact input contracts.`,\n toolkits: [normalizedToolkit],\n });\n if (!payload || typeof payload !== 'object' || Array.isArray(payload)) return [];\n const schemas = (payload as Record<string, unknown>).toolSchemas;\n if (!schemas || typeof schemas !== 'object' || Array.isArray(schemas)) return [];\n return Object.values(schemas).flatMap((value) => {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return [];\n const row = value as Record<string, unknown>;\n const slug = typeof row.toolSlug === 'string' ? row.toolSlug : undefined;\n if (!slug) return [];\n const action = scopeForComposioAction(slug);\n if (config && !canUseComposioAction(config, slug).ok) return [];\n const inputSchema = row.inputSchema;\n upsertConnectorActionMetadata({\n connectorId: `composio-${normalizedToolkit}`,\n actionId: slug,\n toolkit: normalizedToolkit,\n scope: action.scope,\n curated: action.curated,\n inputSchema,\n cachedAt: new Date().toISOString(),\n });\n return [{\n slug,\n name: slug,\n description: typeof row.description === 'string' ? row.description : undefined,\n inputSchema,\n scope: action.scope,\n curated: action.curated,\n }];\n });\n}\n\nexport async function executeComposioTool(params: { slug: string; arguments?: unknown; config?: Config }, resolver = new CredentialResolver()): Promise<unknown> {\n const allowed = canUseComposioAction(params.config, params.slug);\n if (allowed.ok === false) {\n throw new Error(allowed.reason);\n }\n if (!allowed.toolkit) throw new Error(`Unknown Composio toolkit for action: ${params.slug}`);\n const connectorId = `composio-${allowed.toolkit}`;\n const installation = upsertConnectorInstallation({\n id: `${connectorId}-${LOCAL_OWNER_PRINCIPAL}`,\n connectorId,\n principalId: LOCAL_OWNER_PRINCIPAL,\n enabled: true,\n allowedAgentIds: [],\n maxScope: getComposioToolkitScope(params.config, allowed.toolkit),\n confirmationPolicy: 'writes',\n selectedConnectionIds: [],\n });\n const connection = listStoredConnectorConnections({\n principalId: LOCAL_OWNER_PRINCIPAL,\n connectorId,\n }).find((candidate) => candidate.status === 'active' && candidate.isDefault)\n ?? listStoredConnectorConnections({ principalId: LOCAL_OWNER_PRINCIPAL, connectorId })\n .find((candidate) => candidate.status === 'active');\n const result = await new ComposioSessionsAdapter({ resolver }).executeWithPolicy({\n context: { principalId: LOCAL_OWNER_PRINCIPAL, toolkits: [allowed.toolkit] },\n installation,\n connection,\n action: {\n connectorId,\n actionId: params.slug,\n toolkit: allowed.toolkit,\n scope: allowed.scope,\n curated: scopeForComposioAction(params.slug).curated,\n cachedAt: new Date().toISOString(),\n },\n args: params.arguments && typeof params.arguments === 'object' && !Array.isArray(params.arguments)\n ? params.arguments as Record<string, unknown>\n : {},\n confirmed: true,\n });\n if (result.decision !== 'allowed') throw new Error(result.reason);\n return result.result;\n}\n"],"mappings":";;;;;;kBAA4D;AAuD5D,MAAM,4BAA4B;AAClC,MAAM,uBAAsD;CAAE,MAAM;CAAG,OAAO;CAAG,OAAO;CAAG;AAC3F,MAAM,uBAAuB,IAAI,IAAY,8BAA8B;AAC3E,MAAM,0BAA0B,IAAI,IAAY,CAAC,SAAS,CAAC;AAC3D,MAAM,qBAAqB;CAAC;CAAO;CAAQ;CAAU;CAAS;CAAQ;CAAU;CAAY;CAAQ;CAAS;CAAS;CAAY;CAAW;AAC7I,MAAM,sBAAsB;CAAC;CAAU;CAAU;CAAQ;CAAQ;CAAO;CAAU;CAAS;CAAS;CAAU;CAAU;CAAQ;CAAQ;CAAQ;CAAS;CAAW;CAAW;AAC/K,MAAM,sBAAsB;CAAC;CAAU;CAAU;CAAU;CAAS;CAAW;CAAU;CAAc;CAAa;AAEpH,MAAM,2BAA0E;CAC9E,OAAO;EACL,oBAAoB;EACpB,iBAAiB;EACjB,mBAAmB;EACnB,kBAAkB;EAClB,0BAA0B;EAC1B,uBAAuB;EACvB,mBAAmB;EACpB;CACD,gBAAgB;EACd,2BAA2B;EAC3B,4BAA4B;EAC5B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC9B;CACD,aAAa;EACX,0BAA0B;EAC1B,sBAAsB;EACtB,yBAAyB;EACzB,yBAAyB;EACzB,yBAAyB;EAC1B;CACD,QAAQ;EACN,eAAe;EACf,mBAAmB;EACnB,oBAAoB;EACpB,oBAAoB;EACrB;CACD,OAAO;EACL,qBAAqB;EACrB,kCAAkC;EAClC,0CAA0C;EAC1C,2BAA2B;EAC5B;CACD,QAAQ;EACN,mCAAmC;EACnC,qDAAqD;EACrD,yBAAyB;EACzB,uBAAuB;EACvB,sCAAsC;EACtC,4BAA4B;EAC5B,oBAAoB;EACpB,wCAAwC;EACxC,qBAAqB;EACrB,+BAA+B;EAC/B,qBAAqB;EACrB,4BAA4B;EAC5B,2BAA2B;EAC3B,2BAA2B;EAC3B,sBAAsB;EACtB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,uDAAuD;EACvD,uCAAuC;EACvC,wBAAwB;EACxB,gCAAgC;EAChC,wBAAwB;EACxB,wBAAwB;EACxB,gCAAgC;EAChC,+BAA+B;EAC/B,kCAAkC;EAClC,8BAA8B;EAC9B,4BAA4B;EAC5B,8BAA8B;EAC9B,6BAA6B;EAC7B,2CAA2C;EAC3C,mDAAmD;EACnD,sBAAsB;EACtB,4BAA4B;EAC5B,2BAA2B;EAC3B,sBAAsB;EACtB,sCAAsC;EACtC,8BAA8B;EAC/B;CACD,QAAQ;EACN,oBAAoB;EACpB,kBAAkB;EAClB,qBAAqB;EACrB,qBAAqB;EACtB;CACF;AAED,MAAM,wBAAwB;AAE9B,SAAS,8BAA8B,YAAuE;CAC5G,MAAM,UAAU,WAAW,SAAS;AACpC,KAAI,OAAO,YAAY,YAAY,CAAC,QAAQ,MAAM,CAChD,OAAM,IAAI,MAAM,wBAAwB,WAAW,GAAG,sCAAsC;AAE9F,QAAO;;AAGT,SAAS,iBAAiB,SAAyB;AACjD,QAAO,QAAQ,MAAM,CAAC,aAAa,CAAC,QAAQ,gBAAgB,GAAG;;AAGjE,SAAgB,wBAAwB,MAAkC;CACxE,MAAM,QAAQ,KAAK,MAAM,CAAC,aAAa;AACvC,KAAI,CAAC,MAAO,QAAO,KAAA;CACnB,MAAM,QAAQ,CAAC,GAAG,qBAAqB,CAAC,MAAM,MAAM,UAAU,MAAM,SAAS,KAAK,OAAO,CACtF,MAAM,YAAY,UAAU,QAAQ,aAAa,IAAI,MAAM,WAAW,GAAG,QAAQ,aAAa,CAAC,GAAG,CAAC;AACtG,KAAI,MAAO,QAAO;AAElB,QADe,MAAM,MAAM,IAAI,CAAC,IAAI,aAAa,IAChC,KAAA;;AAGnB,SAAgB,uBAAuB,MAA4E;CACjH,MAAM,UAAU,wBAAwB,KAAK;AAC7C,KAAI,CAAC,QAAS,QAAO;EAAE,OAAO;EAAS,SAAS;EAAO;CACvD,MAAM,QAAQ,yBAAyB,WAAW,KAAK,MAAM,CAAC,aAAa;AAC3E,KAAI,MAAO,QAAO;EAAE;EAAS;EAAO,SAAS;EAAM;AACnD,KAAI,wBAAwB,IAAI,QAAQ,CACtC,QAAO;EAAE;EAAS,OAAO;EAAS,SAAS;EAAO;AAEpD,KAAI,qBAAqB,IAAI,QAAQ,EAAE;EACrC,MAAM,SAAS,KAAK,MAAM,CAAC,aAAa,CAAC,MAAM,IAAI;AACnD,MAAI,OAAO,MAAM,UAAU,oBAAoB,MAAM,SAAS,MAAM,WAAW,KAAK,CAAC,CAAC,CACpF,QAAO;GAAE;GAAS,OAAO;GAAS,SAAS;GAAM;AAEnD,MAAI,OAAO,MAAM,UAAU,mBAAmB,MAAM,SAAS,MAAM,WAAW,KAAK,CAAC,CAAC,CACnF,QAAO;GAAE;GAAS,OAAO;GAAQ,SAAS;GAAM;AAElD,MAAI,OAAO,MAAM,UAAU,oBAAoB,MAAM,SAAS,MAAM,WAAW,KAAK,CAAC,CAAC,CACpF,QAAO;GAAE;GAAS,OAAO;GAAS,SAAS;GAAM;;AAGrD,QAAO;EAAE;EAAS,OAAO;EAAS,SAAS;EAAO;;AAGpD,SAAgB,iCAAiC,MAAuB;CACtE,MAAM,SAAS,uBAAuB,KAAK;AAC3C,QAAO,QAAQ,OAAO,YAAY,OAAO,WAAW,CAAC,wBAAwB,IAAI,OAAO,QAAQ,EAAE;;AAGpG,SAAgB,wBAAwB,QAA4B,SAAgC;CAClG,MAAM,SAAS,QAAQ,YAAY,YAAY,YAAY,iBAAiB,QAAQ;CACpF,MAAM,MAAM,UAAU,OAAO,WAAW,YAAY,CAAC,MAAM,QAAQ,OAAO,GACrE,OAAmC,QACpC,KAAA;AACJ,QAAO,QAAQ,WAAW,QAAQ,WAAW,QAAQ,SAAS,MAAM;;AAGtE,SAAgB,wBAAwB,QAAgB,SAAiB,OAA4B;CACnG,MAAM,aAAa,YAAY,iBAAiB,QAAQ;CACxD,MAAM,SAAS,OAAO,YAAY,YAAY;AAC9C,KAAI,CAAC,UAAU,OAAO,WAAW,YAAY,MAAM,QAAQ,OAAO,CAChE,OAAM,IAAI,MAAM,wCAAwC,UAAU;AAEnE,QAAmC,QAAQ;;AAG9C,SAAgB,qBAAqB,QAA4B,MAA4I;CAC3M,MAAM,SAAS,uBAAuB,KAAK;AAC3C,KAAI,CAAC,OAAO,QAAS,QAAO;EAAE,IAAI;EAAO,QAAQ,wCAAwC;EAAQ,OAAO,OAAO;EAAO;AACtH,KAAI,CAAC,iCAAiC,KAAK,CACzC,QAAO;EACL,IAAI;EACJ,QAAQ,mBAAmB,KAAK,yBAAyB,OAAO,QAAQ;EACxE,SAAS,OAAO;EAChB,OAAO,OAAO;EACf;AAGH,KAAI,CADc,QAAQ,YAAY,YAAY,YAAY,OAAO,WACrD,QAAO;EAAE,IAAI;EAAO,QAAQ,wCAAwC,OAAO;EAAW,SAAS,OAAO;EAAS,OAAO,OAAO;EAAO;CACpJ,MAAM,eAAe,wBAAwB,QAAQ,OAAO,QAAQ;AACpE,KAAI,qBAAqB,gBAAgB,qBAAqB,OAAO,OACnE,QAAO;EAAE,IAAI;EAAO,QAAQ,mBAAmB,KAAK,YAAY,OAAO,MAAM,2BAA2B,aAAa;EAAI,SAAS,OAAO;EAAS,OAAO,OAAO;EAAO;AAEzK,KAAI,CAAC,OAAO,WAAW,iBAAiB,QACtC,QAAO;EAAE,IAAI;EAAO,QAAQ,mBAAmB,KAAK;EAA6F,SAAS,OAAO;EAAS,OAAO,OAAO;EAAO;AAEjM,QAAO;EAAE,IAAI;EAAM,SAAS,OAAO;EAAS,OAAO,OAAO;EAAO;;AAGnE,MAAa,sBAAsD,CACjE;CACE,IAAI;CACJ,SAAS;CACT,aAAa;CACb,aAAa;CACb,UAAU;CACV,MAAM;CACN,QAAQ;CACR,UAAU;EACR,SAAS;EACT,QAAQ;EACT;CACD,mBAAmB;CACnB,cAAc;EAAC;EAAe;EAAS;EAAU;EAAY;CAC7D,MAAM;EAAC;EAAY;EAAS;EAAe;CAC3C,MAAM,EAAE,MAAM,UAAU;CACxB,OAAO,EACL,SAAS,CAAC;EAAE,KAAK;EAAoB,OAAO;EAAoB,UAAU;EAAM,CAAC,EAClF;CACD,SAAS;EAAE,MAAM;EAAY,SAAS;EAAY,MAAM;EAAc;CACtE,qBAAqB;EAAE,MAAM;EAAY,UAAU;EAAa,WAAW;EAAM;CAClF,EACD,GAAG,8BAA8B,KAAK,YAAY;AAOhD,QAAO;EAAE,GANU,uCAAuC;GACxD,MAAM;GACN,MAAM,+BAA+B;GACrC,UAAU;GACV,WAAW;GACZ,CACqB;EAAE,SAAS;EAAS;EAC1C,CACH;AAED,eAAsB,mBAAmB,OAA8C,WAAW,IAAI,oBAAoB,EAAiB;CACzI,MAAM,MAAM,MAAM,SAAS;CAC3B,MAAM,WAAW,OAAO,QAAQ,YAAY,IAAI,MAAM,CAAC,WAAW,YAAY,GAC1E,+BAA+B,IAAI,GACnC;AACJ,KAAI,OAAO,aAAa,YAAY,CAAC,SAAS,MAAM,CAClD,OAAM,IAAI,MAAM,gCAAgC;AAElD,OAAM,SAAS,WAAW,2BAA2B,SAAS,MAAM,EAAE,EAAE,aAAa,WAAW,CAAC;;AAGnG,eAAsB,wBAAwB,WAAW,IAAI,oBAAoB,EAAiC;AAEhH,OAAM,IADc,wBAAwB,EAAE,UAAU,CAC3C,CAAC,gBAAgB,EAAE,aAAa,uBAAuB,CAAC;AACrE,QAAOA,yBAA+B,EAAE,aAAa,uBAAuB,CAAC,CAC1E,QAAQ,eAAe,WAAW,aAAa,WAAW,CAC1D,KAAK,gBAAgB;EACpB,IAAI,WAAW;EACf,sBAAsB,WAAW;EACjC,SAAS,8BAA8B,WAAW;EAClD,QAAQ,WAAW;EACnB,OAAO,WAAW;EAClB,WAAW,WAAW;EACtB,cAAc,OAAO,WAAW,SAAS,UAAU,WAAW,WAAW,SAAS,QAAQ,KAAA;EAC1F,WAAW,OAAO,WAAW,SAAS,cAAc,WAAW,WAAW,SAAS,YAAY,KAAA;EAC/F,UAAU,OAAO,WAAW,SAAS,aAAa,WAAW,WAAW,SAAS,WAAW,KAAA;EAC5F,aAAa,WAAW;EACxB,WAAW,WAAW;EACvB,EAAE;;AAGP,eAAsB,+BAA+B,SAAiB,WAAW,IAAI,oBAAoB,EAAoC;CAC3I,MAAM,oBAAoB,iBAAiB,QAAQ;AACnD,KAAI;EAEF,MAAM,eAAc,MADF,wBAAwB,SAAS,EAC3B,QAAQ,eAAe,WAAW,QAAQ,aAAa,KAAK,kBAAkB;EACtG,MAAM,oBAAoB,YAAY,QAAQ,eAAe,WAAW,WAAW,SAAS,CAAC;EAC7F,MAAM,sBAAsB,YAAY,QAAQ,eAAe,WAAW,WAAW,aAAa,WAAW,WAAW,SAAS,CAAC;AAClI,MAAI,oBAAoB,EACtB,QAAO;GACL,SAAS;GACT,QAAQ;GACR;GACA;GACA,4BAAW,IAAI,MAAM,EAAC,aAAa;GACnC,SAAS,GAAG,kBAAkB,4BAA4B,sBAAsB,IAAI,KAAK,IAAI;GAC7F,UAAU;GACX;AAEH,MAAI,sBAAsB,EACxB,QAAO;GACL,SAAS;GACT,QAAQ;GACR,mBAAmB;GACnB;GACA,4BAAW,IAAI,MAAM,EAAC,aAAa;GACnC,SAAS;GACT,UAAU;GACX;AAEH,SAAO;GACL,SAAS;GACT,QAAQ;GACR,mBAAmB;GACnB,qBAAqB;GACrB,4BAAW,IAAI,MAAM,EAAC,aAAa;GACnC,SAAS;GACT,UAAU;GACX;UACM,OAAO;EACd,MAAM,UAAU,4BAA4B,MAAM;AAClD,SAAO;GACL,SAAS;GACT,QAAQ;GACR,mBAAmB;GACnB,qBAAqB;GACrB,4BAAW,IAAI,MAAM,EAAC,aAAa;GACnC,SAAS,QAAQ;GACjB,UAAU;GACV,WAAW,QAAQ;GACpB;;;AAIL,SAAS,4BAA4B,OAGnC;CACA,MAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;AACtE,KAAI,8CAA8C,KAAK,QAAQ,CAC7D,QAAO;EAAE,MAAM;EAAsB;EAAS;AAEhD,KAAI,iEAAiE,KAAK,QAAQ,CAChF,QAAO;EAAE,MAAM;EAAgB,SAAS;EAAqD;AAE/F,KAAI,+DAA+D,KAAK,QAAQ,CAC9E,QAAO;EAAE,MAAM;EAAa,SAAS;EAAwE;AAE/G,KAAI,mCAAmC,KAAK,QAAQ,CAClD,QAAO;EAAE,MAAM;EAAW,SAAS;EAA0C;AAE/E,KAAI,6DAA6D,KAAK,QAAQ,CAC5E,QAAO;EAAE,MAAM;EAAW,SAAS;EAAiD;AAEtF,QAAO;EAAE,MAAM;EAAkB;EAAS;;AAG5C,SAAgB,8BAA8B,QAA4B,SAA8C;CACtH,MAAM,oBAAoB,iBAAiB,QAAQ;CACnD,MAAM,cAAc,YAAY;CAChC,MAAM,KAAK,GAAG,YAAY,GAAG;CAC7B,MAAM,WAAW,yBAAyB,GAAG;AAC7C,QAAO,4BAA4B;EACjC;EACA;EACA,aAAa;EACb,SAAS,UAAU,WAAW;EAC9B,iBAAiB,UAAU,mBAAmB,EAAE;EAChD,UAAU,wBAAwB,QAAQ,kBAAkB;EAC5D,oBAAoB,UAAU,sBAAsB;EACpD,uBAAuB,UAAU,yBAAyB,EAAE;EAC5D,WAAW,UAAU;EACtB,CAAC;;AAGJ,SAAgB,iCACd,QACA,SACA,OAC6B;CAC7B,MAAM,UAAU,8BAA8B,QAAQ,QAAQ;AAC9D,QAAO,4BAA4B;EACjC,GAAG;EACH,iBAAiB,MAAM,mBAAmB,QAAQ;EAClD,oBAAoB,MAAM,sBAAsB,QAAQ;EACxD,uBAAuB,MAAM,yBAAyB,QAAQ;EAC/D,CAAC;;AAGJ,SAAgB,yBACd,IACA,OACoB;CACpB,MAAM,aAAa,uBAAuB,GAAG;AAC7C,KAAI,CAAC,cAAc,WAAW,aAAa,cAAc,WAAW,gBAAgB,sBAClF,OAAM,IAAI,MAAM,iCAAiC;AAEnD,2BAA0B;EACxB,GAAG;EACH,OAAO,MAAM,UAAU,KAAA,IAAY,WAAW,QAAQ,MAAM,MAAM,MAAM,IAAI,KAAA;EAC5E,WAAW,MAAM,aAAa,WAAW;EAC1C,CAAC;CACF,MAAM,UAAU,uBAAuB,GAAG;AAC1C,QAAO;EACL,IAAI,QAAQ;EACZ,sBAAsB,QAAQ;EAC9B,SAAS,8BAA8B,QAAQ;EAC/C,QAAQ,QAAQ;EAChB,OAAO,QAAQ;EACf,WAAW,QAAQ;EACnB,cAAc,OAAO,QAAQ,SAAS,UAAU,WAAW,QAAQ,SAAS,QAAQ,KAAA;EACpF,WAAW,OAAO,QAAQ,SAAS,cAAc,WAAW,QAAQ,SAAS,YAAY,KAAA;EACzF,UAAU,OAAO,QAAQ,SAAS,aAAa,WAAW,QAAQ,SAAS,WAAW,KAAA;EACtF,aAAa,QAAQ;EACrB,WAAW,QAAQ;EACpB;;AAGH,eAAsB,0BAA0B,IAAY,WAAW,IAAI,oBAAoB,EAAiB;CAC9G,MAAM,aAAa,uBAAuB,GAAG;AAC7C,KAAI,CAAC,cAAc,WAAW,aAAa,cAAc,WAAW,gBAAgB,sBAClF,OAAM,IAAI,MAAM,iCAAiC;AAEnD,OAAM,IAAI,wBAAwB,EAAE,UAAU,CAAC,CAAC,kBAAkB,WAAW;;AAG/E,eAAsB,yBAAyB,IAAY,WAAW,IAAI,oBAAoB,EAAiB;CAC7G,MAAM,aAAa,uBAAuB,GAAG;AAC7C,KAAI,CAAC,cAAc,WAAW,aAAa,cAAc,WAAW,gBAAgB,sBAClF,OAAM,IAAI,MAAM,iCAAiC;AAEnD,OAAM,IAAI,wBAAwB,EAAE,UAAU,CAAC,CAAC,iBAAiB,WAAW;;AAG9E,eAAsB,uBAAuB,aAAqB,SAAiB,WAAW,IAAI,oBAAoB,EAA2E;CAC/L,MAAM,oBAAoB,iBAAiB,QAAQ;CACnD,MAAM,gBAAgB,MAAM,IAAI,wBAAwB,EAAE,UAAU,CAAC,CAAC,UAAU;EAC9E,aAAa;EACb,SAAS;EACT,gBAAgB,yBAAyB,GAAG,YAAY,GAAG,wBAAwB,EAAE;EACtF,CAAC;AACF,KAAI,CAAC,cAAc,WACjB,OAAM,IAAI,MAAM,mDAAmD;AAErE,QAAO;EACL,SAAS,cAAc;EACvB,YAAY,cAAc;EAC1B,cAAc,cAAc;EAC7B;;AAGH,eAAsB,kBAAkB,SAAiB,QAAiB,WAAW,IAAI,oBAAoB,EAA2B;CACtI,MAAM,oBAAoB,iBAAiB,QAAQ;CAKnD,MAAM,UAAU,OAAM,MAJA,IAAI,wBAAwB,EAAE,UAAU,CAAC,CAAC,cAAc;EAC5E,aAAa;EACb,UAAU,CAAC,kBAAkB;EAC9B,CAAC,EAC4B,OAAO;EACnC,OAAO,sBAAsB,kBAAkB;EAC/C,UAAU,CAAC,kBAAkB;EAC9B,CAAC;AACF,KAAI,CAAC,WAAW,OAAO,YAAY,YAAY,MAAM,QAAQ,QAAQ,CAAE,QAAO,EAAE;CAChF,MAAM,UAAW,QAAoC;AACrD,KAAI,CAAC,WAAW,OAAO,YAAY,YAAY,MAAM,QAAQ,QAAQ,CAAE,QAAO,EAAE;AAChF,QAAO,OAAO,OAAO,QAAQ,CAAC,SAAS,UAAU;AAC/C,MAAI,CAAC,SAAS,OAAO,UAAU,YAAY,MAAM,QAAQ,MAAM,CAAE,QAAO,EAAE;EAC1E,MAAM,MAAM;EACZ,MAAM,OAAO,OAAO,IAAI,aAAa,WAAW,IAAI,WAAW,KAAA;AAC/D,MAAI,CAAC,KAAM,QAAO,EAAE;EACpB,MAAM,SAAS,uBAAuB,KAAK;AAC3C,MAAI,UAAU,CAAC,qBAAqB,QAAQ,KAAK,CAAC,GAAI,QAAO,EAAE;EAC/D,MAAM,cAAc,IAAI;AACxB,gCAA8B;GAC5B,aAAa,YAAY;GACzB,UAAU;GACV,SAAS;GACT,OAAO,OAAO;GACd,SAAS,OAAO;GAChB;GACA,2BAAU,IAAI,MAAM,EAAC,aAAa;GACnC,CAAC;AACF,SAAO,CAAC;GACN;GACA,MAAM;GACN,aAAa,OAAO,IAAI,gBAAgB,WAAW,IAAI,cAAc,KAAA;GACrE;GACA,OAAO,OAAO;GACd,SAAS,OAAO;GACjB,CAAC;GACF;;AAGJ,eAAsB,oBAAoB,QAAgE,WAAW,IAAI,oBAAoB,EAAoB;CAC/J,MAAM,UAAU,qBAAqB,OAAO,QAAQ,OAAO,KAAK;AAChE,KAAI,QAAQ,OAAO,MACjB,OAAM,IAAI,MAAM,QAAQ,OAAO;AAEjC,KAAI,CAAC,QAAQ,QAAS,OAAM,IAAI,MAAM,wCAAwC,OAAO,OAAO;CAC5F,MAAM,cAAc,YAAY,QAAQ;CACxC,MAAM,eAAe,4BAA4B;EAC/C,IAAI,GAAG,YAAY,GAAG;EACtB;EACA,aAAa;EACb,SAAS;EACT,iBAAiB,EAAE;EACnB,UAAU,wBAAwB,OAAO,QAAQ,QAAQ,QAAQ;EACjE,oBAAoB;EACpB,uBAAuB,EAAE;EAC1B,CAAC;CACF,MAAM,aAAaA,yBAA+B;EAChD,aAAa;EACb;EACD,CAAC,CAAC,MAAM,cAAc,UAAU,WAAW,YAAY,UAAU,UAAU,IACvEA,yBAA+B;EAAE,aAAa;EAAuB;EAAa,CAAC,CACnF,MAAM,cAAc,UAAU,WAAW,SAAS;CACvD,MAAM,SAAS,MAAM,IAAI,wBAAwB,EAAE,UAAU,CAAC,CAAC,kBAAkB;EAC/E,SAAS;GAAE,aAAa;GAAuB,UAAU,CAAC,QAAQ,QAAQ;GAAE;EAC5E;EACA;EACA,QAAQ;GACN;GACA,UAAU,OAAO;GACjB,SAAS,QAAQ;GACjB,OAAO,QAAQ;GACf,SAAS,uBAAuB,OAAO,KAAK,CAAC;GAC7C,2BAAU,IAAI,MAAM,EAAC,aAAa;GACnC;EACD,MAAM,OAAO,aAAa,OAAO,OAAO,cAAc,YAAY,CAAC,MAAM,QAAQ,OAAO,UAAU,GAC9F,OAAO,YACP,EAAE;EACN,WAAW;EACZ,CAAC;AACF,KAAI,OAAO,aAAa,UAAW,OAAM,IAAI,MAAM,OAAO,OAAO;AACjE,QAAO,OAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"connector-memory-sync.js","names":[],"sources":["../../../src/connectors/connector-memory-sync.ts"],"sourcesContent":["import { createHash } from 'node:crypto';\n\nimport type { Config } from '../config/schema.js';\nimport { getWorkspacePath } from '../config/workspace-path-helpers.js';\nimport {\n getConnectorInstallation,\n listConnectorConnections,\n} from '../storage/sqlite/index.js';\nimport { ConnectedKnowledgePipeline, KnowledgeIngestionService, type KnowledgeSourceItemInput } from '../knowledge/index.js';\nimport { ComposioSessionsAdapter } from './composio-sessions.js';\nimport { scopeForComposioAction } from './composio.js';\nimport { getConnectorDefinition } from './catalog.js';\n\nconst MEMORY_SOURCE_TOOLKITS = new Set(['gmail', 'googledrive', 'notion', 'slack']);\nconst EXTERNAL_ID_KEYS = ['id', 'messageId', 'message_id', 'threadId', 'thread_id', 'eventId', 'event_id', 'pageId', 'page_id', 'fileId', 'file_id'];\nconst OCCURRED_AT_KEYS = ['occurredAt', 'createdAt', 'created_at', 'date', 'timestamp', 'startTime', 'start_time'];\nconst UPDATED_AT_KEYS = ['updatedAt', 'updated_at', 'modifiedTime', 'modified_time'];\nconst SENSITIVE_KEY_RE = /(?:^|_)(?:api_?key|token|secret|password|passwd|authorization|credential|private_?key)(?:$|_)/i;\nconst INLINE_SECRET_PATTERNS = [\n /\\bsk-[A-Za-z0-9_-]{8,}\\b/g,\n /\\bghp_[A-Za-z0-9]{20,}\\b/g,\n /\\bxox[baprs]-[A-Za-z0-9-]{20,}\\b/g,\n /-----BEGIN [^-]*PRIVATE KEY-----[\\s\\S]*?-----END [^-]*PRIVATE KEY-----/g,\n];\n\nfunction asRecord(value: unknown): Record<string, unknown> | null {\n return value && typeof value === 'object' && !Array.isArray(value) ? value as Record<string, unknown> : null;\n}\n\nfunction resultRows(value: unknown): unknown[] {\n if (Array.isArray(value)) return value;\n const record = asRecord(value);\n if (!record) return [value];\n for (const key of ['items', 'messages', 'results', 'events', 'files', 'pages', 'data']) {\n if (Array.isArray(record[key])) return record[key] as unknown[];\n }\n return [value];\n}\n\nfunction stringField(record: Record<string, unknown> | null, keys: string[]): string | undefined {\n for (const key of keys) {\n const value = record?.[key];\n if (typeof value === 'string' && value.trim()) return value.trim();\n if (typeof value === 'number' && Number.isFinite(value)) return String(value);\n }\n return undefined;\n}\n\nfunction timestampField(record: Record<string, unknown> | null, keys: string[]): string | undefined {\n const value = stringField(record, keys);\n if (!value) return undefined;\n const parsed = Date.parse(value);\n return Number.isFinite(parsed) ? new Date(parsed).toISOString() : undefined;\n}\n\nfunction sanitizeSourceValue(value: unknown, depth = 0): unknown {\n if (depth > 12) return '[MaxDepth]';\n if (typeof value === 'string') {\n return INLINE_SECRET_PATTERNS.reduce((text, pattern) => text.replace(pattern, '[REDACTED]'), value);\n }\n if (Array.isArray(value)) return value.map((item) => sanitizeSourceValue(item, depth + 1));\n const record = asRecord(value);\n if (!record) return value;\n return Object.fromEntries(Object.entries(record).map(([key, nested]) => [\n key,\n SENSITIVE_KEY_RE.test(key) ? '[REDACTED]' : sanitizeSourceValue(nested, depth + 1),\n ]));\n}\n\nfunction resultToSourceItems(input: {\n result: unknown;\n sourceInstanceId: string;\n connectorId: string;\n connectionId: string;\n actionId: string;\n agentId: string;\n workspaceId: string;\n}): KnowledgeSourceItemInput[] {\n return resultRows(input.result).slice(0, 200).map((row, index) => {\n const record = asRecord(row);\n const serialized = JSON.stringify(sanitizeSourceValue(row), null, 2) ?? String(row);\n const normalizedText = serialized.length > 8_000 ? `${serialized.slice(0, 8_000)}\\n…` : serialized;\n const contentHash = createHash('sha256').update(serialized).digest('hex');\n const externalId = stringField(record, EXTERNAL_ID_KEYS) ?? `${input.actionId}:${index}`;\n return {\n sourceInstanceId: input.sourceInstanceId,\n externalId,\n itemType: `${input.connectorId}:${input.actionId}`,\n authorRole: 'third_party',\n occurredAt: timestampField(record, OCCURRED_AT_KEYS),\n sourceUpdatedAt: timestampField(record, UPDATED_AT_KEYS),\n contentHash,\n normalizedText,\n metadata: {\n connectorId: input.connectorId,\n connectionId: input.connectionId,\n actionId: input.actionId,\n agentId: input.agentId,\n workspaceId: input.workspaceId,\n },\n sensitivity: 'personal',\n retentionClass: 'bounded',\n synthesisPipeline: 'connected_knowledge',\n synthesisStatus: 'pending',\n };\n });\n}\n\nexport async function syncComposioResultToMemory(input: {\n config: Config;\n connectorId: string;\n actionId: string;\n arguments?: Record<string, unknown>;\n agentId: string;\n connectionId?: string;\n adapter?: ComposioSessionsAdapter;\n}): Promise<{ recordId: string; connectorId: string; actionId: string }> {\n const definition = getConnectorDefinition(input.connectorId);\n if (definition?.runtime.type !== 'composio' || definition.runtime.role !== 'toolkit') {\n throw new Error('Memory sync requires a Composio toolkit connector.');\n }\n const toolkit = definition.runtime.toolkit;\n if (!MEMORY_SOURCE_TOOLKITS.has(toolkit)) {\n throw new Error('Memory sync is supported for Gmail, Google Drive, Notion, and Slack.');\n }\n const risk = scopeForComposioAction(input.actionId);\n if (risk.toolkit !== toolkit || risk.scope !== 'read' || !risk.curated) {\n throw new Error('Memory sync only accepts a verified read action for the selected connector.');\n }\n const connectorId = definition.id;\n const installation = getConnectorInstallation(`${connectorId}-local-owner`);\n if (!installation?.enabled) throw new Error('Connector installation is not enabled.');\n if (installation.allowedAgentIds.length && !installation.allowedAgentIds.includes(input.agentId)) {\n throw new Error('This agent is not allowed to sync from the connector.');\n }\n const activeConnections = listConnectorConnections({ principalId: 'local-owner', connectorId })\n .filter((connection) => connection.status === 'active');\n const connection = input.connectionId\n ? activeConnections.find((candidate) => candidate.id === input.connectionId)\n : activeConnections.find((candidate) => candidate.isDefault) ?? activeConnections[0];\n if (!connection) throw new Error('No active connector account is available for memory sync.');\n const adapter = input.adapter ?? new ComposioSessionsAdapter();\n const execution = await adapter.executeWithPolicy({\n context: { principalId: 'local-owner', toolkits: [toolkit] },\n installation: { ...installation, maxScope: 'read', confirmationPolicy: 'never' },\n connection,\n agentId: input.agentId,\n action: {\n connectorId,\n actionId: input.actionId,\n toolkit,\n scope: 'read',\n curated: true,\n cachedAt: new Date().toISOString(),\n },\n args: input.arguments ?? {},\n confirmed: true,\n });\n if (execution.decision !== 'allowed') throw new Error(execution.reason);\n const workspaceId = getWorkspacePath(input.config);\n const sourceInstanceId = `composio:${connectorId}:${connection.id}`;\n const items = resultToSourceItems({\n result: execution.result,\n sourceInstanceId,\n connectorId,\n connectionId: connection.id,\n actionId: input.actionId,\n agentId: input.agentId,\n workspaceId,\n });\n new KnowledgeIngestionService(new Map()).ingest({\n instanceId: sourceInstanceId,\n items,\n cursorAfter: new Date().toISOString(),\n });\n const pipeline = new ConnectedKnowledgePipeline({ agentId: input.agentId, workspaceId });\n let recordId: string | undefined;\n for (let batch = 0; batch < 10; batch += 1) {\n const synthesis = await pipeline.processPending(sourceInstanceId);\n recordId ??= synthesis.recordIds[0];\n if (synthesis.claimed === 0) break;\n }\n if (!recordId) throw new Error('Connector result did not contain any synthesizable knowledge.');\n return { recordId, connectorId, actionId: input.actionId };\n}\n"],"mappings":"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"}