@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":"extension-gateway.js","names":[],"sources":["../../../../../src/gateway/hono/routes/extension-gateway.ts"],"sourcesContent":["import type { Hono } from 'hono';\n\nimport type { AuthenticatedRouteDeps } from './deps.js';\n\nexport function registerExtensionGatewayRoutes(authenticated: Hono, deps: AuthenticatedRouteDeps): void {\n const { service } = deps;\n\n // ========== Extension HTTP Routes ==========\n const extensionRegistry = service.getExtensionRegistry?.();\n if (extensionRegistry) {\n // Register extension HTTP routes\n const httpRoutes = extensionRegistry.httpRoutes;\n for (const [path, handler] of httpRoutes) {\n // POST handler\n authenticated.post(path, async (c) => {\n const req = {\n method: c.req.method,\n url: c.req.url,\n headers: c.req.header(),\n body: await c.req.json().catch(() => ({})),\n };\n const response = await handler(req as any);\n if (response) {\n if (response.status) c.status(response.status as any);\n if (response.headers) {\n for (const [key, value] of Object.entries(response.headers)) {\n c.header(key, String(value));\n }\n }\n if (response.body !== undefined) {\n return c.json(response.body);\n }\n }\n return c.text('');\n });\n\n // GET handler\n authenticated.get(path, async (c) => {\n const req = {\n method: c.req.method,\n url: c.req.url,\n headers: c.req.header(),\n };\n const response = await handler(req as any);\n if (response) {\n if (response.status) c.status(response.status as any);\n if (response.headers) {\n for (const [key, value] of Object.entries(response.headers)) {\n c.header(key, String(value));\n }\n }\n if (response.body !== undefined) {\n return c.json(response.body);\n }\n }\n return c.text('');\n });\n }\n }\n\n // ========== Extension Gateway Methods ==========\n\n // POST /api/gateway/:method - Invoke a gateway method\n authenticated.post('/api/gateway/:method', async (c) => {\n const method = c.req.param('method');\n const params = await c.req.json().catch(() => ({}));\n try {\n const result = await service.invokeGatewayMethod(method, params);\n return c.json({ ok: true, result });\n } catch (err) {\n return c.json({ ok: false, error: err instanceof Error ? err.message : 'Unknown error' }, 400);\n }\n });\n}\n"],"mappings":";AAIA,SAAgB,+BAA+B,eAAqB,MAAoC;CACtG,MAAM,EAAE,YAAY;CAGpB,MAAM,oBAAoB,QAAQ,wBAAwB;AAC1D,KAAI,mBAAmB;EAErB,MAAM,aAAa,kBAAkB;AACrC,OAAK,MAAM,CAAC,MAAM,YAAY,YAAY;AAExC,iBAAc,KAAK,MAAM,OAAO,MAAM;IAOpC,MAAM,WAAW,MAAM,QAAQ;KAL7B,QAAQ,EAAE,IAAI;KACd,KAAK,EAAE,IAAI;KACX,SAAS,EAAE,IAAI,QAAQ;KACvB,MAAM,MAAM,EAAE,IAAI,MAAM,CAAC,aAAa,EAAE,EAAE;KAEV,CAAQ;AAC1C,QAAI,UAAU;AACZ,SAAI,SAAS,OAAQ,GAAE,OAAO,SAAS,OAAc;AACrD,SAAI,SAAS,QACX,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,SAAS,QAAQ,CACzD,GAAE,OAAO,KAAK,OAAO,MAAM,CAAC;AAGhC,SAAI,SAAS,SAAS,KAAA,EACpB,QAAO,EAAE,KAAK,SAAS,KAAK;;AAGhC,WAAO,EAAE,KAAK,GAAG;KACjB;AAGF,iBAAc,IAAI,MAAM,OAAO,MAAM;IAMnC,MAAM,WAAW,MAAM,QAAQ;KAJ7B,QAAQ,EAAE,IAAI;KACd,KAAK,EAAE,IAAI;KACX,SAAS,EAAE,IAAI,QAAQ;KAES,CAAQ;AAC1C,QAAI,UAAU;AACZ,SAAI,SAAS,OAAQ,GAAE,OAAO,SAAS,OAAc;AACrD,SAAI,SAAS,QACX,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,SAAS,QAAQ,CACzD,GAAE,OAAO,KAAK,OAAO,MAAM,CAAC;AAGhC,SAAI,SAAS,SAAS,KAAA,EACpB,QAAO,EAAE,KAAK,SAAS,KAAK;;AAGhC,WAAO,EAAE,KAAK,GAAG;KACjB;;;AAON,eAAc,KAAK,wBAAwB,OAAO,MAAM;EACtD,MAAM,SAAS,EAAE,IAAI,MAAM,SAAS;EACpC,MAAM,SAAS,MAAM,EAAE,IAAI,MAAM,CAAC,aAAa,EAAE,EAAE;AACnD,MAAI;GACF,MAAM,SAAS,MAAM,QAAQ,oBAAoB,QAAQ,OAAO;AAChE,UAAO,EAAE,KAAK;IAAE,IAAI;IAAM;IAAQ,CAAC;WAC5B,KAAK;AACZ,UAAO,EAAE,KAAK;IAAE,IAAI;IAAO,OAAO,eAAe,QAAQ,IAAI,UAAU;IAAiB,EAAE,IAAI;;GAEhG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"global-defaults.js","names":[],"sources":["../../../../../src/gateway/hono/routes/global-defaults.ts"],"sourcesContent":["import type { Hono } from 'hono';\n\nimport { CapabilityPresetSchema } from '../../../agent-manifest/schema.js';\nimport type { Config } from '../../../config/schema.js';\nimport {\n listGlobalDefaults,\n prepareUpdateGlobalDefaults,\n type UpdateGlobalDefaultsBody,\n} from '../../global-defaults-admin.js';\nimport type { AuthenticatedRouteDeps } from './deps.js';\n\nfunction parsePatchBody(raw: unknown): UpdateGlobalDefaultsBody | { error: string } {\n if (raw === null || typeof raw !== 'object' || Array.isArray(raw)) {\n return { error: 'body must be an object' };\n }\n const body = raw as Record<string, unknown>;\n const out: UpdateGlobalDefaultsBody = {};\n if (Object.hasOwn(body, 'models')) {\n const parsed = CapabilityPresetSchema.pick({ models: true }).safeParse({ models: body.models });\n if (!parsed.success) {\n return { error: `models ${parsed.error.issues[0]?.message ?? 'is invalid'}` };\n }\n out.models = parsed.data.models;\n }\n return out;\n}\n\nfunction isParseError(value: unknown): value is { error: string } {\n return (\n typeof value === 'object' &&\n value !== null &&\n 'error' in value &&\n typeof (value as { error: string }).error === 'string'\n );\n}\n\nexport function registerGlobalDefaultsRoutes(authenticated: Hono, deps: AuthenticatedRouteDeps): void {\n const { service, strictRateLimitMiddleware } = deps;\n\n authenticated.get('/api/global-defaults', async (c) => {\n return c.json({ ok: true, payload: await listGlobalDefaults(service.currentConfig as Config) });\n });\n\n authenticated.patch('/api/global-defaults', strictRateLimitMiddleware, async (c) => {\n let raw: unknown;\n try {\n raw = await c.req.json();\n } catch {\n return c.json({ ok: false, error: { message: 'Invalid JSON' } }, 400);\n }\n const body = parsePatchBody(raw);\n if (isParseError(body)) {\n return c.json({ ok: false, error: { message: body.error } }, 400);\n }\n const prep = prepareUpdateGlobalDefaults(service.currentConfig as Config, body);\n if (prep.ok === false) {\n return c.json({ ok: false, error: { message: prep.error } }, prep.status ?? 400);\n }\n const save = await service.saveConfig(prep.data.nextConfig);\n if (!save.saved) {\n return c.json({ ok: false, error: { message: save.error ?? 'save failed' } }, 500);\n }\n return c.json({ ok: true, payload: await listGlobalDefaults(service.currentConfig as Config) });\n });\n}\n"],"mappings":";;;aAE2E;AAS3E,SAAS,eAAe,KAA4D;AAClF,KAAI,QAAQ,QAAQ,OAAO,QAAQ,YAAY,MAAM,QAAQ,IAAI,CAC/D,QAAO,EAAE,OAAO,0BAA0B;CAE5C,MAAM,OAAO;CACb,MAAM,MAAgC,EAAE;AACxC,KAAI,OAAO,OAAO,MAAM,SAAS,EAAE;EACjC,MAAM,SAAS,uBAAuB,KAAK,EAAE,QAAQ,MAAM,CAAC,CAAC,UAAU,EAAE,QAAQ,KAAK,QAAQ,CAAC;AAC/F,MAAI,CAAC,OAAO,QACV,QAAO,EAAE,OAAO,UAAU,OAAO,MAAM,OAAO,IAAI,WAAW,gBAAgB;AAE/E,MAAI,SAAS,OAAO,KAAK;;AAE3B,QAAO;;AAGT,SAAS,aAAa,OAA4C;AAChE,QACE,OAAO,UAAU,YACjB,UAAU,QACV,WAAW,SACX,OAAQ,MAA4B,UAAU;;AAIlD,SAAgB,6BAA6B,eAAqB,MAAoC;CACpG,MAAM,EAAE,SAAS,8BAA8B;AAE/C,eAAc,IAAI,wBAAwB,OAAO,MAAM;AACrD,SAAO,EAAE,KAAK;GAAE,IAAI;GAAM,SAAS,MAAM,mBAAmB,QAAQ,cAAwB;GAAE,CAAC;GAC/F;AAEF,eAAc,MAAM,wBAAwB,2BAA2B,OAAO,MAAM;EAClF,IAAI;AACJ,MAAI;AACF,SAAM,MAAM,EAAE,IAAI,MAAM;UAClB;AACN,UAAO,EAAE,KAAK;IAAE,IAAI;IAAO,OAAO,EAAE,SAAS,gBAAgB;IAAE,EAAE,IAAI;;EAEvE,MAAM,OAAO,eAAe,IAAI;AAChC,MAAI,aAAa,KAAK,CACpB,QAAO,EAAE,KAAK;GAAE,IAAI;GAAO,OAAO,EAAE,SAAS,KAAK,OAAO;GAAE,EAAE,IAAI;EAEnE,MAAM,OAAO,4BAA4B,QAAQ,eAAyB,KAAK;AAC/E,MAAI,KAAK,OAAO,MACd,QAAO,EAAE,KAAK;GAAE,IAAI;GAAO,OAAO,EAAE,SAAS,KAAK,OAAO;GAAE,EAAE,KAAK,UAAU,IAAI;EAElF,MAAM,OAAO,MAAM,QAAQ,WAAW,KAAK,KAAK,WAAW;AAC3D,MAAI,CAAC,KAAK,MACR,QAAO,EAAE,KAAK;GAAE,IAAI;GAAO,OAAO,EAAE,SAAS,KAAK,SAAS,eAAe;GAAE,EAAE,IAAI;AAEpF,SAAO,EAAE,KAAK;GAAE,IAAI;GAAM,SAAS,MAAM,mBAAmB,QAAQ,cAAwB;GAAE,CAAC;GAC/F"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"goals.js","names":[],"sources":["../../../../../src/gateway/hono/routes/goals.ts"],"sourcesContent":["import type { Hono } from 'hono';\n\nimport { createWorkflowCatalog } from '../../../agent/workflow/catalog.js';\nimport {\n GoalService,\n draftGoalContract,\n reviewGoalEvidenceRequirement,\n normalizeGoalUiLocale,\n type GoalChecklistItem,\n type GoalContractInput,\n type GoalEvent,\n type GoalEvidence,\n type GoalQueueItemSnapshot,\n type GoalRun,\n type GoalStatus,\n} from '../../../goals/index.js';\nimport { resolveProjectAgentId } from '../../../projects/index.js';\nimport { buildSessionKey, sanitizeSegment } from '../../../routing/session-key.js';\nimport { getDefaultAgentId } from '../../../routing/resolve-route.js';\nimport type { WorkflowRunSummary } from '../../../workflows/domain/index.js';\nimport type { AuthenticatedRouteDeps } from './deps.js';\nimport { MAX_CHAT_ATTACHMENTS, MAX_WEBCHAT_ATTACHMENT_FILE_BYTES } from '../../chat-limits.js';\nimport type { UserTurnAttachment, UserTurnInput } from '../../user-turn-input.js';\n\nfunction parseLimit(raw: string | undefined, fallback = 50): number {\n if (!raw) return fallback;\n const n = Number.parseInt(raw, 10);\n return Number.isFinite(n) ? Math.min(500, Math.max(1, n)) : fallback;\n}\n\nfunction parseStatuses(raw: string | undefined): GoalStatus[] | undefined {\n if (!raw?.trim()) return undefined;\n const statuses = raw\n .split(',')\n .map((s) => s.trim())\n .filter((s): s is GoalStatus =>\n s === 'active' ||\n s === 'paused' ||\n s === 'blocked' ||\n s === 'needs_input' ||\n s === 'done' ||\n s === 'archived',\n );\n return statuses.length ? statuses : undefined;\n}\n\nfunction parseBodyGoalStatus(raw: unknown): GoalStatus | null {\n return raw === 'active' ||\n raw === 'paused' ||\n raw === 'blocked' ||\n raw === 'needs_input' ||\n raw === 'done' ||\n raw === 'archived'\n ? raw\n : null;\n}\n\nfunction parsePriority(raw: unknown): 'low' | 'normal' | 'high' | undefined {\n return raw === 'low' || raw === 'normal' || raw === 'high' ? raw : undefined;\n}\n\nfunction parseGoalContract(raw: unknown): GoalContractInput | null | undefined {\n if (raw === undefined) return undefined;\n if (!raw || typeof raw !== 'object' || Array.isArray(raw)) return null;\n const value = raw as Record<string, unknown>;\n const list = (candidate: unknown): string[] | undefined => {\n if (candidate === undefined) return undefined;\n if (!Array.isArray(candidate) || candidate.some((item) => typeof item !== 'string')) return undefined;\n return candidate.map((item) => item.trim()).filter(Boolean).slice(0, 20);\n };\n const evidencePlan = list(value.evidencePlan);\n const criteria = list(value.criteria);\n let outcomeMetric: GoalContractInput['outcomeMetric'];\n if (value.outcomeMetric === null) {\n outcomeMetric = null;\n } else if (value.outcomeMetric !== undefined) {\n if (!value.outcomeMetric || typeof value.outcomeMetric !== 'object' || Array.isArray(value.outcomeMetric)) return null;\n const metric = value.outcomeMetric as Record<string, unknown>;\n if (\n typeof metric.name !== 'string' || !metric.name.trim() ||\n typeof metric.baselineValue !== 'number' || !Number.isFinite(metric.baselineValue) ||\n typeof metric.targetValue !== 'number' || !Number.isFinite(metric.targetValue) ||\n (metric.currentValue !== undefined && (typeof metric.currentValue !== 'number' || !Number.isFinite(metric.currentValue))) ||\n (metric.direction !== undefined && metric.direction !== 'increase' && metric.direction !== 'decrease') ||\n (metric.unit !== undefined && typeof metric.unit !== 'string') ||\n (metric.sourceUrl !== undefined && typeof metric.sourceUrl !== 'string') ||\n (metric.measuredAt !== undefined && (typeof metric.measuredAt !== 'number' || !Number.isFinite(metric.measuredAt)))\n ) return null;\n outcomeMetric = {\n name: metric.name.trim(),\n baselineValue: metric.baselineValue,\n targetValue: metric.targetValue,\n currentValue: typeof metric.currentValue === 'number' ? metric.currentValue : undefined,\n unit: typeof metric.unit === 'string' ? metric.unit.trim() || undefined : undefined,\n direction: metric.direction === 'increase' || metric.direction === 'decrease' ? metric.direction : undefined,\n sourceUrl: typeof metric.sourceUrl === 'string' ? metric.sourceUrl.trim() || undefined : undefined,\n measuredAt: typeof metric.measuredAt === 'number' ? metric.measuredAt : undefined,\n };\n }\n if ((value.evidencePlan !== undefined && !evidencePlan) || (value.criteria !== undefined && !criteria)) return null;\n if (value.objective !== undefined && typeof value.objective !== 'string') return null;\n if (value.scopeBoundary !== undefined && typeof value.scopeBoundary !== 'string') return null;\n return {\n objective: typeof value.objective === 'string' ? value.objective.trim() : undefined,\n scopeBoundary: typeof value.scopeBoundary === 'string' ? value.scopeBoundary.trim() : undefined,\n evidencePlan,\n criteria,\n outcomeMetric,\n };\n}\n\nfunction maxBase64CharsForBinary(maxBinaryBytes: number): number {\n return 4 * Math.ceil(maxBinaryBytes / 3);\n}\n\nfunction parseUserTurnAttachment(raw: unknown): UserTurnAttachment | null {\n if (!raw || typeof raw !== 'object') return null;\n const value = raw as Record<string, unknown>;\n const type = typeof value.type === 'string' && value.type.trim() ? value.type.trim() : 'file';\n const out: UserTurnAttachment = { type };\n if (typeof value.id === 'string' && value.id.trim()) out.id = value.id.trim();\n if (typeof value.mimeType === 'string' && value.mimeType.trim()) out.mimeType = value.mimeType.trim();\n if (typeof value.data === 'string' && value.data.trim()) out.data = value.data;\n if (typeof value.uri === 'string' && value.uri.trim()) out.uri = value.uri.trim();\n if (typeof value.name === 'string' && value.name.trim()) out.name = value.name.trim();\n if (typeof value.size === 'number' && Number.isFinite(value.size)) out.size = Math.max(0, Math.floor(value.size));\n if (typeof value.workspaceRelativePath === 'string' && value.workspaceRelativePath.trim()) {\n out.workspaceRelativePath = value.workspaceRelativePath.trim();\n }\n if (typeof value.durationSeconds === 'number' && Number.isFinite(value.durationSeconds)) {\n out.durationSeconds = value.durationSeconds;\n }\n return out.data || out.uri ? out : null;\n}\n\nfunction parseUserTurnInput(raw: unknown): UserTurnInput | undefined {\n if (!raw || typeof raw !== 'object') return undefined;\n const value = raw as Record<string, unknown>;\n const text = typeof value.text === 'string' ? value.text.trim() : '';\n const attachments = Array.isArray(value.attachments)\n ? value.attachments.map(parseUserTurnAttachment).filter((item): item is UserTurnAttachment => item !== null)\n : undefined;\n if (!text && !attachments?.length) return undefined;\n return { text, ...(attachments?.length ? { attachments } : {}) };\n}\n\nfunction validateUserTurnAttachments(attachments: UserTurnAttachment[] | undefined): string | null {\n if (!attachments?.length) return null;\n if (attachments.length > MAX_CHAT_ATTACHMENTS) {\n return `Too many attachments (max ${MAX_CHAT_ATTACHMENTS})`;\n }\n const maxDataChars = maxBase64CharsForBinary(MAX_WEBCHAT_ATTACHMENT_FILE_BYTES);\n for (const attachment of attachments) {\n if (attachment.data && attachment.data.length > maxDataChars) {\n return `Attachment exceeds maximum size (${MAX_WEBCHAT_ATTACHMENT_FILE_BYTES} bytes)`;\n }\n }\n return null;\n}\n\ntype GoalActivityItem = {\n id: string;\n kind: 'queue' | 'goal_run' | 'workflow_run' | 'event' | 'evidence';\n status?: string;\n title: string;\n summary?: string;\n createdAt: number;\n link?: { type: 'chat' | 'workflow_run'; value: string };\n data?: unknown;\n};\n\ntype GoalWorkflowSuggestion = {\n definitionId: string;\n name: string;\n title: string;\n description: string;\n score: number;\n reasons: string[];\n tags: string[];\n successRate?: number;\n lastRunStatus?: WorkflowRunSummary['status'];\n};\n\nconst STOP_WORDS = new Set([\n 'a',\n 'an',\n 'and',\n 'are',\n 'as',\n 'for',\n 'in',\n 'is',\n 'of',\n 'on',\n 'or',\n 'the',\n 'to',\n 'with',\n '一个',\n '这个',\n '需要',\n '进行',\n '推进',\n]);\n\nfunction tokenizeForWorkflowMatch(text: string): string[] {\n const normalized = text.toLowerCase();\n const tokens = normalized.match(/[\\p{L}\\p{N}_-]+/gu) ?? [];\n return tokens\n .map((token) => token.trim())\n .filter((token) => token.length >= 2 && !STOP_WORDS.has(token));\n}\n\nfunction goalSearchText(goal: NonNullable<ReturnType<GoalService['get']>>): string {\n return [\n goal.title,\n goal.description,\n goal.nextAction,\n goal.blockedReason,\n ...goal.checklist.map((item: GoalChecklistItem) => `${item.text} ${item.evidenceSummary ?? ''}`),\n ].filter(Boolean).join('\\n');\n}\n\nfunction buildGoalWorkflowSuggestions(params: {\n goal: NonNullable<ReturnType<GoalService['get']>>;\n workflowRuns: WorkflowRunSummary[];\n}): GoalWorkflowSuggestion[] {\n const goalTokens = new Set(tokenizeForWorkflowMatch(goalSearchText(params.goal)));\n const runsByDefinition = new Map<string, WorkflowRunSummary[]>();\n for (const run of params.workflowRuns) {\n const list = runsByDefinition.get(run.definitionId) ?? [];\n list.push(run);\n runsByDefinition.set(run.definitionId, list);\n }\n\n const suggestions: GoalWorkflowSuggestion[] = [];\n for (const entry of createWorkflowCatalog().list()) {\n const candidateText = [\n entry.name,\n entry.title,\n entry.description,\n entry.whenToUse,\n ...(entry.tags ?? []),\n ].filter(Boolean).join('\\n');\n const candidateTokens = new Set(tokenizeForWorkflowMatch(candidateText));\n const matched = [...goalTokens].filter((token) => candidateTokens.has(token));\n const relatedRuns = runsByDefinition.get(entry.name) ?? [];\n const terminalRuns = relatedRuns.filter((run) => run.status !== 'queued' && run.status !== 'running');\n const succeededRuns = terminalRuns.filter((run) => run.status === 'succeeded');\n const successRate = terminalRuns.length ? succeededRuns.length / terminalRuns.length : undefined;\n const lastRun = relatedRuns.toSorted((left, right) => right.createdAtMs - left.createdAtMs)[0];\n\n let score = matched.length * 8;\n if (entry.tags?.some((tag) => goalTokens.has(tag.toLowerCase()))) score += 8;\n if (entry.whenToUse && matched.length > 0) score += 4;\n if (successRate != null) score += Math.round(successRate * 10);\n if (lastRun?.status === 'succeeded') score += 4;\n if (lastRun?.status === 'failed' || lastRun?.status === 'timeout') score -= 3;\n if (score <= 0) score = entry.source === 'builtin' ? 1 : 0;\n\n const reasons: string[] = [];\n if (matched.length) reasons.push(`matches ${matched.slice(0, 4).join(', ')}`);\n if (successRate != null) reasons.push(`${Math.round(successRate * 100)}% success rate`);\n if (lastRun) reasons.push(`last run ${lastRun.status}`);\n if (!reasons.length && entry.whenToUse) reasons.push('general workflow fit');\n\n if (score > 0) {\n suggestions.push({\n definitionId: entry.name,\n name: entry.name,\n title: entry.title || entry.name,\n description: entry.description,\n score,\n reasons,\n tags: entry.tags ?? [],\n successRate,\n lastRunStatus: lastRun?.status,\n });\n }\n }\n\n return suggestions\n .sort((left, right) => right.score - left.score || left.name.localeCompare(right.name))\n .slice(0, 5);\n}\n\nfunction buildGoalActivities(input: {\n goalId: string;\n queue: GoalQueueItemSnapshot[];\n runs: GoalRun[];\n workflowRuns: WorkflowRunSummary[];\n events: GoalEvent[];\n evidence: GoalEvidence[];\n limit: number;\n}): GoalActivityItem[] {\n const activities: GoalActivityItem[] = [];\n\n for (const item of input.queue.filter((queueItem) => queueItem.goalId === input.goalId)) {\n activities.push({\n id: `queue:${item.id}`,\n kind: 'queue',\n status: item.status,\n title: 'Goal queued',\n summary: item.lastError || item.userTurn?.text || undefined,\n createdAt: item.finishedAt ?? item.startedAt ?? item.nextRunAt ?? item.enqueuedAt,\n link: item.sessionKey ? { type: 'chat', value: item.sessionKey } : undefined,\n data: item,\n });\n }\n\n for (const run of input.runs) {\n activities.push({\n id: `goal_run:${run.id}`,\n kind: 'goal_run',\n status: run.verdict ?? run.status,\n title: 'Goal run judged',\n summary: run.reason || run.assistantPreview || run.nextAction,\n createdAt: run.finishedAt ?? run.startedAt,\n data: run,\n });\n }\n\n for (const run of input.workflowRuns) {\n activities.push({\n id: `workflow_run:${run.id}`,\n kind: 'workflow_run',\n status: run.status,\n title: run.title || run.definitionId,\n summary: run.definitionId,\n createdAt: run.completedAtMs ?? run.startedAtMs ?? run.createdAtMs,\n link: { type: 'workflow_run', value: run.id },\n data: run,\n });\n }\n\n for (const event of input.events) {\n activities.push({\n id: `event:${event.id}`,\n kind: 'event',\n status: event.kind,\n title: event.kind,\n summary: event.message,\n createdAt: event.createdAt,\n data: event,\n });\n }\n\n for (const item of input.evidence) {\n activities.push({\n id: `evidence:${item.id}`,\n kind: 'evidence',\n status: item.kind,\n title: item.title,\n summary: item.summary || item.uri,\n createdAt: item.createdAt,\n data: item,\n });\n }\n\n return activities\n .sort((left, right) => right.createdAt - left.createdAt)\n .slice(0, input.limit);\n}\n\nfunction abortActiveWebchatRunForGoal(\n deps: AuthenticatedRouteDeps,\n goal: NonNullable<ReturnType<GoalService['get']>>,\n): { aborted?: boolean; abortedRunId?: string } {\n const sessionKey = goal.activeSessionKey?.trim();\n if (!sessionKey) return {};\n const runId = deps.service.getActiveWebchatRunId(sessionKey);\n if (!runId) return {};\n return {\n abortedRunId: runId,\n aborted: deps.service.abortAgentRun(runId),\n };\n}\n\n/** First-class Goal API. Sessions are execution context; goals are durable product objects. */\nexport function registerGoalsRoutes(authenticated: Hono, deps: AuthenticatedRouteDeps): void {\n const goals = new GoalService();\n const cfg = () => deps.service.currentConfig;\n const workflowRunService = deps.service.createWorkflowRunService();\n\n authenticated.get('/api/goals/current', async (c) => {\n const sessionKey = c.req.query('sessionKey')?.trim();\n if (!sessionKey) return c.json({ ok: false, error: 'Missing sessionKey' }, 400);\n return c.json({ ok: true, goal: goals.getActiveForSession(sessionKey) });\n });\n\n authenticated.get('/api/goals', async (c) => {\n const status = parseStatuses(c.req.query('status'));\n const agentId = c.req.query('agentId')?.trim() || undefined;\n const sessionKey = c.req.query('sessionKey')?.trim() || undefined;\n const limit = parseLimit(c.req.query('limit'));\n const offsetRaw = c.req.query('offset')?.trim();\n const offset = offsetRaw ? Math.max(0, Number.parseInt(offsetRaw, 10) || 0) : 0;\n const projectId = c.req.query('projectId')?.trim() || undefined;\n return c.json({ ok: true, goals: goals.list({ status, agentId, sessionKey, projectId, limit, offset }) });\n });\n\n authenticated.get('/api/goals/queue', async (c) => {\n return c.json({ ok: true, queue: deps.service.getGoalQueueSnapshot() });\n });\n\n authenticated.post('/api/goals', async (c) => {\n const body = (await c.req.json().catch(() => ({}))) as Record<string, unknown>;\n const title = typeof body.title === 'string' ? body.title.trim() : '';\n if (!title) return c.json({ ok: false, error: 'Missing title' }, 400);\n const contract = parseGoalContract(body.contract);\n if (contract === null) return c.json({ ok: false, error: 'Invalid goal contract' }, 400);\n\n const sessionKey = typeof body.sessionKey === 'string' && body.sessionKey.trim() ? body.sessionKey.trim() : undefined;\n const contextMessage = parseUserTurnInput(body.contextMessage) ?? { text: '' };\n const attachmentError = validateUserTurnAttachments(contextMessage.attachments);\n if (attachmentError) return c.json({ ok: false, error: attachmentError }, 400);\n const preparedContextAttachments = contextMessage.attachments?.length\n ? await deps.service.agentService.prepareInboundAttachments(sessionKey ?? `goal:${Date.now()}`, contextMessage.attachments)\n : undefined;\n const projectId = typeof body.projectId === 'string' && body.projectId.trim() ? body.projectId.trim() : undefined;\n if (projectId && !deps.service.projects.get(projectId)) {\n return c.json({ ok: false, error: 'Project not found' }, 404);\n }\n const agentId = sessionKey\n ? (typeof body.agentId === 'string' && body.agentId.trim() ? body.agentId.trim() : undefined)\n : resolveProjectAgentId({\n config: cfg(),\n projects: deps.service.projects,\n explicitAgentId: typeof body.agentId === 'string' ? body.agentId : undefined,\n projectId,\n });\n const maxTurns =\n typeof body.maxTurns === 'number' && Number.isFinite(body.maxTurns)\n ? Math.max(1, Math.min(500, Math.floor(body.maxTurns)))\n : undefined;\n const goal = goals.create({\n title,\n description: contextMessage.text || undefined,\n sessionKey,\n agentId,\n priority: body.priority === 'low' || body.priority === 'high' ? body.priority : 'normal',\n deadlineAt: typeof body.deadlineAt === 'number' && Number.isFinite(body.deadlineAt) ? body.deadlineAt : undefined,\n judgeModelRef: typeof body.judgeModelRef === 'string' ? body.judgeModelRef : undefined,\n maxTurns,\n uiLocale: normalizeGoalUiLocale(body.uiLocale),\n source: body.source === 'cli' || body.source === 'cron' || body.source === 'workflow' || body.source === 'channel' || body.source === 'api'\n ? body.source\n : 'chat',\n projectId,\n contract,\n config: cfg(),\n });\n\n goals.setContextMessage({\n goalId: goal.id,\n text: contextMessage.text,\n attachments: preparedContextAttachments,\n });\n\n return c.json({ ok: true, goal: goals.get(goal.id) });\n });\n\n authenticated.post('/api/goals/contract/draft', async (c) => {\n const body = (await c.req.json().catch(() => ({}))) as Record<string, unknown>;\n const title = typeof body.title === 'string' ? body.title.trim() : '';\n if (!title) return c.json({ ok: false, error: 'Missing title' }, 400);\n const parsed = parseGoalContract({ criteria: body.criteria });\n if (!parsed) return c.json({ ok: false, error: 'Invalid acceptance criteria' }, 400);\n const modelRef =\n typeof body.modelRef === 'string' && body.modelRef.trim()\n ? body.modelRef.trim()\n : typeof body.judgeModelRef === 'string' && body.judgeModelRef.trim()\n ? body.judgeModelRef.trim()\n : cfg()?.goals?.judgeModelRef;\n const result = await draftGoalContract({\n title,\n context: typeof body.context === 'string' ? body.context : undefined,\n criteria: parsed.criteria,\n uiLocale: normalizeGoalUiLocale(body.uiLocale),\n modelRef,\n });\n return c.json({ ok: true, ...result });\n });\n\n authenticated.get('/api/goals/:goalId/contract', async (c) => {\n const goal = goals.get(c.req.param('goalId'));\n if (!goal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n return c.json({ ok: true, contract: goal.contract ?? null });\n });\n\n authenticated.put('/api/goals/:goalId/contract', async (c) => {\n const body = (await c.req.json().catch(() => ({}))) as Record<string, unknown>;\n const contract = parseGoalContract(body);\n if (!contract) return c.json({ ok: false, error: 'Invalid goal contract' }, 400);\n const goal = goals.setContract(c.req.param('goalId'), contract);\n if (!goal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n return c.json({ ok: true, goal, contract: goal.contract });\n });\n\n authenticated.get('/api/goals/:goalId/workflow-runs', async (c) => {\n const goalId = c.req.param('goalId');\n const goal = goals.get(goalId);\n if (!goal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n const runStore = workflowRunService.createRunStore(goal.agentId || getDefaultAgentId(cfg()));\n const runs = await runStore.listRunSummariesForGoal(goalId, parseLimit(c.req.query('limit')));\n return c.json({ ok: true, runs });\n });\n\n authenticated.post('/api/goals/:goalId/workflows/run', async (c) => {\n const goalId = c.req.param('goalId');\n const goal = goals.get(goalId);\n if (!goal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n if (goal.status === 'done' || goal.status === 'archived') {\n return c.json({ ok: false, error: `Goal is ${goal.status}` }, 409);\n }\n\n const body = (await c.req.json().catch(() => ({}))) as Record<string, unknown>;\n const definitionId = typeof body.definitionId === 'string' ? body.definitionId.trim() : '';\n if (!definitionId) return c.json({ ok: false, error: 'Missing definitionId' }, 400);\n\n try {\n createWorkflowCatalog().load(definitionId);\n } catch {\n return c.json({ ok: false, error: 'Workflow definition not found' }, 404);\n }\n\n const result = await workflowRunService.startWorkflowRun({\n agentId: goal.agentId || getDefaultAgentId(cfg()),\n definitionId,\n goalId,\n goal: typeof body.goal === 'string' && body.goal.trim() ? body.goal.trim() : goal.nextAction || goal.title,\n input: body.input ?? {\n goal: goal.title,\n description: goal.description,\n nextAction: goal.nextAction,\n checklist: goal.checklist.map((item) => ({\n text: item.text,\n status: item.status,\n evidenceSummary: item.evidenceSummary,\n })),\n },\n parentSessionKey: goal.activeSessionKey,\n source: { kind: 'webui' },\n concurrency: typeof body.concurrency === 'number' ? body.concurrency : undefined,\n maxSubagents: typeof body.maxSubagents === 'number' ? body.maxSubagents : undefined,\n });\n if (result.ok === false) {\n return c.json({ ok: false, error: result.message, code: result.code }, result.httpStatus);\n }\n return c.json({ ok: true, runId: result.runId, sessionKey: result.sessionKey }, 202);\n });\n\n authenticated.get('/api/goals/:goalId/activity', async (c) => {\n const goalId = c.req.param('goalId');\n const goal = goals.get(goalId);\n if (!goal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n\n const limit = parseLimit(c.req.query('limit'), 100);\n const runStore = workflowRunService.createRunStore(goal.agentId || getDefaultAgentId(cfg()));\n const workflowRuns = await runStore.listRunSummariesForGoal(goalId, limit);\n const activities = buildGoalActivities({\n goalId,\n queue: deps.service.getGoalQueueSnapshot(),\n runs: goals.listRuns(goalId, limit),\n workflowRuns,\n events: goals.listEvents(goalId, limit),\n evidence: goals.listEvidence(goalId, limit),\n limit,\n });\n return c.json({ ok: true, activities });\n });\n\n authenticated.get('/api/goals/:goalId/workflow-suggestions', async (c) => {\n const goalId = c.req.param('goalId');\n const goal = goals.get(goalId);\n if (!goal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n\n const runStore = workflowRunService.createRunStore(goal.agentId || getDefaultAgentId(cfg()));\n const workflowRuns = await runStore.listRunSummaries(500);\n return c.json({\n ok: true,\n suggestions: buildGoalWorkflowSuggestions({ goal, workflowRuns }),\n });\n });\n\n authenticated.get('/api/goals/:goalId', async (c) => {\n const goal = goals.get(c.req.param('goalId'));\n if (!goal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n return c.json({ ok: true, goal });\n });\n\n authenticated.patch('/api/goals/:goalId', async (c) => {\n const goalId = c.req.param('goalId');\n const body = (await c.req.json().catch(() => ({}))) as Record<string, unknown>;\n const status = parseBodyGoalStatus(body.status);\n let goal = goals.get(goalId);\n if (!goal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n const patch: Parameters<GoalService['update']>[1] = {};\n if (typeof body.title === 'string') patch.title = body.title;\n if ('description' in body) patch.description = typeof body.description === 'string' ? body.description : undefined;\n const priority = parsePriority(body.priority);\n if (priority) patch.priority = priority;\n if ('deadlineAt' in body) {\n patch.deadlineAt = typeof body.deadlineAt === 'number' && Number.isFinite(body.deadlineAt) ? body.deadlineAt : undefined;\n }\n if (typeof body.maxTurns === 'number' && Number.isFinite(body.maxTurns)) patch.maxTurns = body.maxTurns;\n if ('judgeModelRef' in body) patch.judgeModelRef = typeof body.judgeModelRef === 'string' ? body.judgeModelRef : undefined;\n if ('nextAction' in body) patch.nextAction = typeof body.nextAction === 'string' ? body.nextAction : undefined;\n if ('blockedReason' in body) patch.blockedReason = typeof body.blockedReason === 'string' ? body.blockedReason : undefined;\n if ('projectId' in body) {\n const nextProjectId = typeof body.projectId === 'string' && body.projectId.trim() ? body.projectId.trim() : undefined;\n if (nextProjectId && !deps.service.projects.get(nextProjectId)) {\n return c.json({ ok: false, error: 'Project not found' }, 404);\n }\n patch.projectId = nextProjectId;\n }\n const locale = normalizeGoalUiLocale(body.uiLocale);\n if (locale) patch.uiLocale = locale;\n if (Object.keys(patch).length > 0) {\n goal = goals.update(goalId, patch);\n }\n if (status) {\n const previousStatus = goal?.status;\n goal = goals.setStatus(goalId, status, {\n reason: typeof body.reason === 'string' ? body.reason : undefined,\n });\n const abortResult = goal && status === 'archived' ? abortActiveWebchatRunForGoal(deps, goal) : {};\n if (goal && previousStatus !== goal.status) {\n deps.service.emit('goal.status.updated', {\n goalId,\n previousStatus,\n status: goal.status,\n goal,\n });\n }\n return c.json({ ok: true, goal, ...abortResult });\n }\n return c.json({ ok: true, goal });\n });\n\n authenticated.post('/api/goals/:goalId/continue', async (c) => {\n const goalId = c.req.param('goalId');\n const body = (await c.req.json().catch(() => ({}))) as Record<string, unknown>;\n const goal = goals.get(goalId);\n if (!goal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n let sessionKey =\n typeof body.sessionKey === 'string' && body.sessionKey.trim()\n ? body.sessionKey.trim()\n : goal.activeSessionKey;\n\n if (!sessionKey) {\n const agentId = goal.agentId || getDefaultAgentId(cfg());\n const peerId = `goal-${sanitizeSegment(goal.id) || Date.now()}`;\n sessionKey = buildSessionKey({\n agentId,\n source: 'webchat',\n accountId: 'default',\n peerKind: 'direct',\n peerId,\n });\n await deps.service.sessionIndexInstance.saveMessages(sessionKey, [], {\n metadata: {\n sourceChannel: 'webchat',\n sourceChatId: `default:direct:${peerId}`,\n sessionType: 'chat',\n routing: {\n agentId,\n source: 'webchat',\n accountId: 'default',\n peerKind: 'direct',\n peerId,\n },\n },\n });\n if (goal.projectId) {\n try {\n deps.service.projects.attachSession(sessionKey, goal.projectId);\n } catch {\n return c.json({ ok: false, error: 'Session not found' }, 404);\n }\n }\n goals.attachSession(goalId, sessionKey);\n } else if (goal.projectId) {\n try {\n deps.service.projects.attachSession(sessionKey, goal.projectId);\n } catch {\n return c.json({ ok: false, error: 'Session not found' }, 404);\n }\n }\n\n const queued = deps.service.enqueueGoalRun(goalId, {\n userTurn: parseUserTurnInput(body.userTurn),\n maxRetries: typeof body.maxRetries === 'number' && Number.isFinite(body.maxRetries) ? body.maxRetries : undefined,\n source: 'api',\n });\n const nextGoal = goals.get(goalId);\n return c.json({ ok: true, goal: nextGoal, sessionKey, queued });\n });\n\n authenticated.post('/api/goals/:goalId/enqueue', async (c) => {\n const goalId = c.req.param('goalId');\n const body = (await c.req.json().catch(() => ({}))) as Record<string, unknown>;\n if (!goals.get(goalId)) return c.json({ ok: false, error: 'Goal not found' }, 404);\n const item = deps.service.enqueueGoalRun(goalId, {\n userTurn: parseUserTurnInput(body.userTurn),\n maxRetries: typeof body.maxRetries === 'number' && Number.isFinite(body.maxRetries) ? body.maxRetries : undefined,\n source: 'api',\n });\n return c.json({ ok: true, item });\n });\n\n authenticated.post('/api/goals/:goalId/pause', async (c) => {\n const body = (await c.req.json().catch(() => ({}))) as Record<string, unknown>;\n const before = goals.get(c.req.param('goalId'));\n const goal = goals.pause(\n c.req.param('goalId'),\n typeof body.reason === 'string' && body.reason.trim() ? body.reason.trim() : 'user-paused',\n );\n if (!goal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n if (before?.status !== goal.status) {\n deps.service.emit('goal.status.updated', {\n goalId: goal.id,\n previousStatus: before?.status,\n status: goal.status,\n goal,\n });\n }\n return c.json({ ok: true, goal });\n });\n\n authenticated.post('/api/goals/:goalId/resume', async (c) => {\n const before = goals.get(c.req.param('goalId'));\n const goal = goals.resume(c.req.param('goalId'));\n if (!goal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n if (before?.status !== goal.status) {\n deps.service.emit('goal.status.updated', {\n goalId: goal.id,\n previousStatus: before?.status,\n status: goal.status,\n goal,\n });\n }\n return c.json({ ok: true, goal });\n });\n\n authenticated.post('/api/goals/:goalId/reopen', async (c) => {\n const before = goals.get(c.req.param('goalId'));\n const goal = goals.reopen(c.req.param('goalId'));\n if (!goal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n if (before?.status !== goal.status) {\n deps.service.emit('goal.status.updated', {\n goalId: goal.id,\n previousStatus: before?.status,\n status: goal.status,\n goal,\n });\n }\n return c.json({ ok: true, goal });\n });\n\n authenticated.post('/api/goals/:goalId/complete', async (c) => {\n const goalId = c.req.param('goalId');\n const before = goals.get(goalId);\n const readiness = goals.getCompletionReadiness(goalId);\n if (readiness && !readiness.ready) {\n return c.json({\n ok: false,\n error: 'Goal completion evidence is still required',\n missingEvidence: readiness.missingEvidence,\n pendingApproval: readiness.pendingApproval,\n pendingOutcome: readiness.pendingOutcome,\n }, 409);\n }\n const goal = goals.complete(goalId);\n if (!goal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n if (before?.status !== goal.status) {\n deps.service.emit('goal.status.updated', {\n goalId: goal.id,\n previousStatus: before?.status,\n status: goal.status,\n goal,\n });\n }\n return c.json({ ok: true, goal });\n });\n\n authenticated.post('/api/goals/:goalId/archive', async (c) => {\n const before = goals.get(c.req.param('goalId'));\n const goal = goals.archive(c.req.param('goalId'));\n if (!goal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n const abortResult = abortActiveWebchatRunForGoal(deps, goal);\n if (before?.status !== goal.status) {\n deps.service.emit('goal.status.updated', {\n goalId: goal.id,\n previousStatus: before?.status,\n status: goal.status,\n goal,\n });\n }\n return c.json({ ok: true, goal, ...abortResult });\n });\n\n authenticated.post('/api/goals/:goalId/unarchive', async (c) => {\n const before = goals.get(c.req.param('goalId'));\n const goal = goals.unarchive(c.req.param('goalId'));\n if (!goal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n if (before?.status !== goal.status) {\n deps.service.emit('goal.status.updated', {\n goalId: goal.id,\n previousStatus: before?.status,\n status: goal.status,\n goal,\n });\n }\n return c.json({ ok: true, goal });\n });\n\n authenticated.post('/api/goals/:goalId/attach', async (c) => {\n const goalId = c.req.param('goalId');\n const body = (await c.req.json().catch(() => ({}))) as Record<string, unknown>;\n const sessionKey = typeof body.sessionKey === 'string' ? body.sessionKey.trim() : '';\n if (!sessionKey) return c.json({ ok: false, error: 'Missing sessionKey' }, 400);\n const currentGoal = goals.get(goalId);\n if (!currentGoal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n if (currentGoal.projectId) {\n try {\n deps.service.projects.attachSession(sessionKey, currentGoal.projectId);\n } catch {\n return c.json({ ok: false, error: 'Session not found' }, 404);\n }\n }\n const goal = goals.attachSession(goalId, sessionKey);\n return c.json({ ok: true, goal });\n });\n\n authenticated.post('/api/goals/:goalId/detach', async (c) => {\n const goal = goals.update(c.req.param('goalId'), { activeSessionKey: undefined });\n if (!goal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n return c.json({ ok: true, goal });\n });\n\n authenticated.get('/api/goals/:goalId/runs', async (c) => {\n const goalId = c.req.param('goalId');\n if (!goals.get(goalId)) return c.json({ ok: false, error: 'Goal not found' }, 404);\n return c.json({ ok: true, runs: goals.listRuns(goalId, parseLimit(c.req.query('limit'))) });\n });\n\n authenticated.get('/api/goals/:goalId/events', async (c) => {\n const goalId = c.req.param('goalId');\n if (!goals.get(goalId)) return c.json({ ok: false, error: 'Goal not found' }, 404);\n return c.json({ ok: true, events: goals.listEvents(goalId, parseLimit(c.req.query('limit'), 100)) });\n });\n\n authenticated.get('/api/goals/:goalId/evidence', async (c) => {\n const goalId = c.req.param('goalId');\n if (!goals.get(goalId)) return c.json({ ok: false, error: 'Goal not found' }, 404);\n return c.json({ ok: true, evidence: goals.listEvidence(goalId, parseLimit(c.req.query('limit'), 100)) });\n });\n\n authenticated.get('/api/goals/:goalId/evidence-requirements', async (c) => {\n const goalId = c.req.param('goalId');\n if (!goals.get(goalId)) return c.json({ ok: false, error: 'Goal not found' }, 404);\n return c.json({ ok: true, requirements: goals.listEvidenceRequirements(goalId) });\n });\n\n authenticated.post('/api/goals/:goalId/evidence', async (c) => {\n const goalId = c.req.param('goalId');\n if (!goals.get(goalId)) return c.json({ ok: false, error: 'Goal not found' }, 404);\n const body = (await c.req.json().catch(() => ({}))) as Record<string, unknown>;\n const title = typeof body.title === 'string' ? body.title.trim() : '';\n const kind = body.kind;\n const requirementId = typeof body.requirementId === 'string' ? body.requirementId.trim() : '';\n if (!title) return c.json({ ok: false, error: 'Missing title' }, 400);\n if (kind !== 'file' && kind !== 'diff' && kind !== 'command' && kind !== 'test' && kind !== 'link' && kind !== 'message' && kind !== 'artifact') {\n return c.json({ ok: false, error: 'Invalid evidence kind' }, 400);\n }\n if (requirementId && !goals.listEvidenceRequirements(goalId).some((item) => item.id === requirementId)) {\n return c.json({ ok: false, error: 'Evidence requirement not found' }, 404);\n }\n const evidence = goals.addEvidence({\n goalId,\n runId: typeof body.runId === 'string' ? body.runId : undefined,\n kind,\n title,\n summary: typeof body.summary === 'string' ? body.summary : undefined,\n uri: typeof body.uri === 'string' ? body.uri : undefined,\n data: body.data,\n });\n const requirement = requirementId\n ? goals.linkEvidenceRequirement({ goalId, requirementId, evidenceId: evidence.id, linkedBy: 'user' })\n : undefined;\n return c.json({ ok: true, evidence: { ...evidence, requirementIds: requirement ? [requirement.id] : [] }, requirement });\n });\n\n authenticated.post('/api/goals/:goalId/evidence-requirements/:requirementId/link', async (c) => {\n const goalId = c.req.param('goalId');\n const body = (await c.req.json().catch(() => ({}))) as Record<string, unknown>;\n const evidenceId = typeof body.evidenceId === 'string' ? body.evidenceId.trim() : '';\n if (!evidenceId) return c.json({ ok: false, error: 'Missing evidence id' }, 400);\n const requirement = goals.linkEvidenceRequirement({\n goalId,\n requirementId: c.req.param('requirementId'),\n evidenceId,\n linkedBy: 'user',\n });\n if (!requirement) return c.json({ ok: false, error: 'Evidence requirement or evidence not found' }, 404);\n return c.json({ ok: true, requirement });\n });\n\n authenticated.post('/api/goals/:goalId/evidence-requirements/:requirementId/review', async (c) => {\n const goalId = c.req.param('goalId');\n const goal = goals.get(goalId);\n if (!goal) return c.json({ ok: false, error: 'Goal not found' }, 404);\n const requirement = goal.evidenceRequirements.find((item) => item.id === c.req.param('requirementId'));\n if (!requirement) return c.json({ ok: false, error: 'Evidence requirement not found' }, 404);\n const body = (await c.req.json().catch(() => ({}))) as Record<string, unknown>;\n const evidenceById = new Map(goals.listEvidence(goalId, 500).map((item) => [item.id, item]));\n const review = await reviewGoalEvidenceRequirement({\n requirement,\n evidence: requirement.evidenceIds.flatMap((id) => {\n const item = evidenceById.get(id);\n return item ? [item] : [];\n }),\n modelRef: typeof body.modelRef === 'string' && body.modelRef.trim()\n ? body.modelRef.trim()\n : goal.judgeModelRef,\n });\n const status = review.verdict === 'approved' ? 'ai_verified' : review.verdict === 'rejected' ? 'rejected' : 'pending';\n const updated = goals.reviewEvidenceRequirement({\n goalId,\n requirementId: requirement.id,\n status,\n reason: review.reason,\n confidence: review.confidence,\n reviewedBy: review.generated ? 'ai' : 'system',\n });\n return c.json({ ok: true, requirement: updated, review });\n });\n\n authenticated.post('/api/goals/:goalId/evidence-requirements/:requirementId/approve', async (c) => {\n const goalId = c.req.param('goalId');\n const body = (await c.req.json().catch(() => ({}))) as Record<string, unknown>;\n const existing = goals.get(goalId);\n if (!existing) return c.json({ ok: false, error: 'Goal not found' }, 404);\n const existingRequirement = existing.evidenceRequirements.find((item) => item.id === c.req.param('requirementId'));\n if (!existingRequirement) return c.json({ ok: false, error: 'Evidence requirement not found' }, 404);\n if (existingRequirement.evidenceIds.length === 0) {\n return c.json({ ok: false, error: 'Link evidence before approving this requirement' }, 409);\n }\n const requirement = goals.reviewEvidenceRequirement({\n goalId,\n requirementId: c.req.param('requirementId'),\n status: 'approved',\n reason: typeof body.reason === 'string' && body.reason.trim()\n ? body.reason.trim()\n : 'Approved by a user after reviewing the linked evidence.',\n reviewedBy: 'user',\n });\n if (!requirement) return c.json({ ok: false, error: 'Evidence requirement not found' }, 404);\n return c.json({ ok: true, requirement });\n });\n\n authenticated.post('/api/goals/:goalId/checklist', async (c) => {\n const goalId = c.req.param('goalId');\n if (!goals.get(goalId)) return c.json({ ok: false, error: 'Goal not found' }, 404);\n const body = (await c.req.json().catch(() => ({}))) as Record<string, unknown>;\n const text = typeof body.text === 'string' ? body.text.trim() : '';\n if (!text) return c.json({ ok: false, error: 'Missing text' }, 400);\n const goal = goals.updateChecklist(goalId, { type: 'add', text, addedBy: 'user' });\n return c.json({ ok: true, goal });\n });\n\n authenticated.patch('/api/goals/:goalId/checklist/:itemId', async (c) => {\n const goalId = c.req.param('goalId');\n const itemId = c.req.param('itemId');\n if (!goals.get(goalId)) return c.json({ ok: false, error: 'Goal not found' }, 404);\n const body = (await c.req.json().catch(() => ({}))) as Record<string, unknown>;\n const status = body.status;\n if (status !== 'pending' && status !== 'completed' && status !== 'impossible') {\n return c.json({ ok: false, error: 'Invalid checklist status' }, 400);\n }\n const goal = goals.updateChecklist(goalId, {\n type: 'mark',\n itemId,\n status,\n evidenceSummary: typeof body.evidenceSummary === 'string' ? body.evidenceSummary : undefined,\n });\n return c.json({ ok: true, goal });\n });\n\n authenticated.delete('/api/goals/:goalId/checklist/:itemId', async (c) => {\n const goalId = c.req.param('goalId');\n if (!goals.get(goalId)) return c.json({ ok: false, error: 'Goal not found' }, 404);\n const goal = goals.updateChecklist(goalId, { type: 'remove', itemId: c.req.param('itemId') });\n return c.json({ ok: true, goal });\n });\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"home.js","names":[],"sources":["../../../../../src/gateway/hono/routes/home.ts"],"sourcesContent":["import type { Hono } from 'hono';\n\nimport { listGatewayAgents } from '../../agents-admin.js';\nimport { getTunnelService } from '../../../tunnel/index.js';\nimport type { Automation, AutomationRun } from '../../../automations/index.js';\nimport { GoalService, type GoalWithDetails } from '../../../goals/index.js';\nimport type { WorkflowRunSummary } from '../../../workflows/domain/index.js';\nimport { WorkItemService } from '../../../work-items/index.js';\nimport { decideConnectorApproval, listConnectorApprovals } from '../../../storage/sqlite/index.js';\nimport type { AuthenticatedRouteDeps } from './deps.js';\n\ntype HomeDecisionKind = 'work_item' | 'goal' | 'workflow_run' | 'automation_run' | 'connector_approval' | 'goal_evidence';\ntype HomeDecisionReason =\n | 'needs_input'\n | 'in_review'\n | 'blocked'\n | 'overdue'\n | 'due_soon'\n | 'run_failed'\n | 'approval_required';\n\ntype HomeDecision = {\n id: string;\n kind: HomeDecisionKind;\n title: string;\n detail?: string;\n reason: HomeDecisionReason;\n urgency: 'now' | 'soon';\n href: string;\n projectId?: string;\n projectName?: string;\n updatedAt: number;\n response?:\n | { kind: 'connector_approval'; approvalId: string }\n | { kind: 'goal_evidence'; goalId: string; requirementId: string };\n};\n\ntype HomeBriefingWin = {\n id: string;\n kind: 'work_item' | 'workflow_run' | 'automation_run';\n title: string;\n href: string;\n completedAt: number;\n};\n\ntype HomeWorkflowRun = {\n id: string;\n definitionId: string;\n title: string;\n status: WorkflowRunSummary['status'];\n sessionKey?: string;\n createdAtMs: number;\n startedAtMs?: number;\n completedAtMs?: number;\n metrics: WorkflowRunSummary['metrics'];\n};\n\ntype HomeAutomation = {\n id: string;\n name?: string;\n trigger: string;\n action: string;\n nextRunAt: string;\n};\n\ntype HomeAutomationRun = {\n id: string;\n automationId: string;\n automationName?: string;\n status: AutomationRun['status'];\n createdAtMs: number;\n startedAtMs?: number;\n endedAtMs?: number;\n error?: string;\n summary?: string;\n sessionKey?: string;\n workflowRunId?: string;\n};\n\nfunction workItemAttentionRank(item: { status: string; dueAt?: number; priority: string; updatedAt: number }, nowMs: number): number {\n if (item.status === 'needs_input' || item.status === 'in_review' || item.status === 'blocked') return 0;\n if (item.dueAt != null && item.dueAt < nowMs) return 1;\n if (item.dueAt != null && item.dueAt < nowMs + 24 * 60 * 60 * 1000) return 2;\n if (item.priority === 'urgent') return 3;\n return 4;\n}\n\nfunction toHomeWorkItem(\n item: {\n id: string;\n projectId: string;\n title: string;\n status: string;\n priority: string;\n nextAction?: string;\n blockedReason?: string;\n dueAt?: number;\n completedAt?: number;\n updatedAt: number;\n },\n projectName: string,\n) {\n return {\n id: item.id,\n projectId: item.projectId,\n projectName,\n title: item.title,\n status: item.status,\n priority: item.priority,\n nextAction: item.nextAction,\n blockedReason: item.blockedReason,\n dueAt: item.dueAt,\n completedAt: item.completedAt,\n updatedAt: item.updatedAt,\n };\n}\n\nfunction toHomeWorkflowRun(run: WorkflowRunSummary): HomeWorkflowRun {\n return {\n id: run.id,\n definitionId: run.definitionId,\n title: run.title,\n status: run.status,\n sessionKey: run.metadata?.sessionKey,\n createdAtMs: run.createdAtMs,\n startedAtMs: run.startedAtMs,\n completedAtMs: run.completedAtMs,\n metrics: run.metrics,\n };\n}\n\nfunction triggerLabel(automation: Automation): string {\n const trigger = automation.trigger;\n if (trigger.kind === 'manual') return 'manual';\n if (trigger.kind === 'webhook') return 'webhook';\n if (trigger.kind === 'event') return `event:${trigger.eventType}`;\n const schedule = trigger.schedule;\n if (schedule.kind === 'once') return schedule.at;\n if (schedule.kind === 'interval') return `every ${Math.round(schedule.everyMs / 60000)} minutes`;\n return schedule.expr;\n}\n\nfunction actionLabel(automation: Automation): string {\n if (automation.action.kind === 'workflow') return `workflow:${automation.action.workflowId}`;\n return automation.action.agentId ? `agent:${automation.action.agentId}` : 'agent';\n}\n\nfunction toHomeAutomation(automation: Automation): HomeAutomation | null {\n if (!automation.enabled || !automation.state.nextRunAtMs) return null;\n return {\n id: automation.id,\n name: automation.name,\n trigger: triggerLabel(automation),\n action: actionLabel(automation),\n nextRunAt: new Date(automation.state.nextRunAtMs).toISOString(),\n };\n}\n\nfunction toHomeAutomationRun(run: AutomationRun): HomeAutomationRun {\n return {\n id: run.id,\n automationId: run.automationId,\n automationName: run.automationName,\n status: run.status,\n createdAtMs: run.createdAtMs,\n startedAtMs: run.startedAtMs,\n endedAtMs: run.endedAtMs,\n error: run.error,\n summary: run.summary,\n sessionKey: run.sessionKey,\n workflowRunId: run.workflowRunId,\n };\n}\n\nfunction decisionFromGoal(goal: GoalWithDetails, projectName?: string): HomeDecision | null {\n if (goal.status !== 'needs_input' && goal.status !== 'blocked') return null;\n return {\n id: `goal:${goal.id}`,\n kind: 'goal',\n title: goal.title,\n detail: goal.blockedReason || goal.nextAction,\n reason: goal.status,\n urgency: 'now',\n href: `/goals/${encodeURIComponent(goal.id)}`,\n projectId: goal.projectId,\n projectName,\n updatedAt: goal.updatedAt,\n };\n}\n\nfunction decisionFromWorkItem(\n item: Parameters<typeof toHomeWorkItem>[0],\n projectName: string,\n nowMs: number,\n): HomeDecision | null {\n let reason: HomeDecisionReason | undefined;\n let urgency: HomeDecision['urgency'] = 'now';\n if (item.status === 'needs_input' || item.status === 'in_review' || item.status === 'blocked') {\n reason = item.status;\n } else if (item.dueAt != null && item.dueAt < nowMs) {\n reason = 'overdue';\n } else if (item.dueAt != null && item.dueAt < nowMs + 24 * 60 * 60 * 1000) {\n reason = 'due_soon';\n urgency = 'soon';\n }\n if (!reason) return null;\n return {\n id: `work:${item.id}`,\n kind: 'work_item',\n title: item.title,\n detail: item.blockedReason || item.nextAction,\n reason,\n urgency,\n href: `/work-items/${encodeURIComponent(item.id)}`,\n projectId: item.projectId,\n projectName,\n updatedAt: item.updatedAt,\n };\n}\n\nexport function buildHomeBriefing(input: {\n locale?: string;\n decisions: HomeDecision[];\n activeWorkCount: number;\n activeWorkflowCount: number;\n activeGoalCount: number;\n wins: HomeBriefingWin[];\n nextScheduled?: HomeAutomation;\n nowMs: number;\n}) {\n const isChinese = input.locale?.toLowerCase().startsWith('zh') ?? false;\n const movingCount = input.activeWorkCount + input.activeWorkflowCount + input.activeGoalCount;\n const summary = input.decisions.length > 0\n ? isChinese\n ? `有 ${input.decisions.length} 件事等你决定;我正在继续推进 ${movingCount} 件工作。`\n : `${input.decisions.length} ${input.decisions.length === 1 ? 'item needs' : 'items need'} your decision; I’m continuing ${movingCount} in the background.`\n : movingCount > 0\n ? isChinese\n ? `目前没有事情需要你处理;我正在继续推进 ${movingCount} 件工作。`\n : `Nothing needs you right now; I’m continuing ${movingCount} ${movingCount === 1 ? 'item' : 'items'} in the background.`\n : isChinese\n ? '今天还没有正在推进的事项。把想要的结果交给我,我会从这里开始。'\n : 'Nothing is moving yet today. Hand me an outcome and I’ll take it from here.';\n return {\n generatedAt: input.nowMs,\n summary,\n focus: input.decisions.slice(0, 3),\n progress: {\n activeWorkCount: input.activeWorkCount,\n activeWorkflowCount: input.activeWorkflowCount,\n activeGoalCount: input.activeGoalCount,\n movingCount,\n },\n wins: input.wins.slice(0, 5),\n nextScheduled: input.nextScheduled,\n };\n}\n\n/**\n * GET /api/home — Aggregated data for the user's cross-project work home.\n *\n * Returns:\n * - recentlyOpened: notes sorted by lastOpenedAt (continue rail)\n * - inboxCount: number of notes with status === 'inbox'\n * - pendingTasks: task notes where done === false\n * - recentSessions: last 5 active AI sessions (threads)\n * - activeAgent: default agent identity for this gateway\n * - gateway: readiness + public tunnel status\n * - workflowRuns: active / attention / recent workflow runs\n * - upcomingAutomations: upcoming enabled automations\n * - recentAutomationRuns: latest automation executions\n */\nexport function registerHomeRoutes(authenticated: Hono, deps: AuthenticatedRouteDeps): void {\n const { service } = deps;\n const goals = new GoalService();\n\n authenticated.get('/api/home', async (c) => {\n const notes = service.notesServiceInstance;\n const sessions = service.sessions;\n const agents = await listGatewayAgents(service.currentConfig);\n const defaultAgent = agents.agents.find((agent) => agent.id === agents.defaultId) ?? agents.agents[0];\n const workflowRunService = service.createWorkflowRunService();\n const workflowRunStore = workflowRunService.createRunStore(defaultAgent?.id ?? agents.defaultId);\n const tunnel = getTunnelService().getStatus();\n const health = service.getHealth();\n const workItems = new WorkItemService();\n const nowMs = Date.now();\n\n const [\n recentlyOpened,\n inbox,\n pendingTasks,\n recentSessions,\n workflowRuns,\n automations,\n automationRuns,\n projects,\n allWorkItems,\n activeGoals,\n connectorApprovals,\n ] = await Promise.all([\n notes.listNotes({ sortBy: 'lastOpenedAt', sortOrder: 'desc', limit: 10 }),\n notes.listNotes({ status: 'inbox', limit: 0 }),\n notes.listNotes({ pendingTasksOnly: true, sortBy: 'createdAt', sortOrder: 'desc', limit: 10 }),\n sessions.listSessions({ sortBy: 'updatedAt', sortOrder: 'desc', limit: 5 }),\n workflowRunStore.listRunSummaries(20),\n service.automationServiceInstance.list(),\n service.automationServiceInstance.listRuns({ limit: 10 }),\n service.projects.list({ limit: 500 }),\n Promise.resolve(workItems.listWorkItems({ limit: 100 })),\n Promise.resolve(goals.list({ status: ['active', 'blocked', 'needs_input', 'paused'], limit: 100 })),\n Promise.resolve(listConnectorApprovals({ principalId: 'local-owner', status: 'pending', limit: 100 })),\n ]);\n const projectsById = new Map(projects.items.map((project) => [project.id, project]));\n const activeWorkItems = allWorkItems.items\n .filter((item) => item.status !== 'done' && item.status !== 'cancelled')\n .sort((left, right) => {\n const rank = workItemAttentionRank(left, nowMs) - workItemAttentionRank(right, nowMs);\n return rank || right.updatedAt - left.updatedAt;\n });\n const attentionWorkItems = activeWorkItems\n .filter((item) => workItemAttentionRank(item, nowMs) < 4)\n .slice(0, 8)\n .map((item) => toHomeWorkItem(item, projectsById.get(item.projectId)?.name ?? 'Project'));\n const currentWorkItems = activeWorkItems\n .slice(0, 30)\n .map((item) => toHomeWorkItem(item, projectsById.get(item.projectId)?.name ?? 'Project'));\n const recentlyCompletedWorkItems = allWorkItems.items\n .filter((item) => item.status === 'done')\n .sort((left, right) => (right.completedAt ?? right.updatedAt) - (left.completedAt ?? left.updatedAt))\n .slice(0, 8)\n .map((item) => toHomeWorkItem(item, projectsById.get(item.projectId)?.name ?? 'Project'));\n\n const activeWorkflowRuns = workflowRuns\n .filter((run) => run.status === 'queued' || run.status === 'running')\n .slice(0, 5)\n .map(toHomeWorkflowRun);\n const attentionWorkflowRuns = workflowRuns\n .filter((run) => run.status === 'failed' || run.status === 'timeout')\n .slice(0, 5)\n .map(toHomeWorkflowRun);\n const recentWorkflowRuns = workflowRuns.slice(0, 5).map(toHomeWorkflowRun);\n const upcomingAutomations = automations\n .map(toHomeAutomation)\n .filter((automation): automation is HomeAutomation => Boolean(automation))\n .sort((a, b) => Date.parse(a.nextRunAt) - Date.parse(b.nextRunAt))\n .slice(0, 5);\n const latestAutomationRuns = [...automationRuns]\n .sort((left, right) => right.createdAtMs - left.createdAtMs)\n .filter((run, index, all) => all.findIndex((candidate) => candidate.automationId === run.automationId) === index);\n const decisions: HomeDecision[] = [\n ...activeWorkItems\n .map((item) => decisionFromWorkItem(item, projectsById.get(item.projectId)?.name ?? 'Project', nowMs))\n .filter((item): item is HomeDecision => Boolean(item)),\n ...activeGoals\n .map((goal) => decisionFromGoal(goal, goal.projectId ? projectsById.get(goal.projectId)?.name : undefined))\n .filter((item): item is HomeDecision => Boolean(item)),\n ...attentionWorkflowRuns.map((run): HomeDecision => ({\n id: `workflow:${run.id}`,\n kind: 'workflow_run',\n title: run.title,\n detail: run.status,\n reason: 'run_failed',\n urgency: 'now',\n href: `/workflows?runId=${encodeURIComponent(run.id)}`,\n updatedAt: run.completedAtMs ?? run.startedAtMs ?? run.createdAtMs,\n })),\n ...latestAutomationRuns\n .filter((run) => run.status === 'failed' || run.status === 'timeout')\n .map((run): HomeDecision => ({\n id: `automation:${run.id}`,\n kind: 'automation_run',\n title: run.automationName || run.automationId,\n detail: run.error || run.summary,\n reason: 'run_failed',\n urgency: 'now',\n href: '/automations',\n updatedAt: run.endedAtMs ?? run.startedAtMs ?? run.createdAtMs,\n })),\n ...connectorApprovals\n .filter((approval) => Date.parse(approval.expiresAt) > nowMs)\n .map((approval): HomeDecision => ({\n id: `connector-approval:${approval.id}`,\n kind: 'connector_approval',\n title: approval.actionId,\n detail: `${approval.connectorId} · ${approval.scope}`,\n reason: 'approval_required',\n urgency: 'now',\n href: '/connectors',\n updatedAt: Date.parse(approval.createdAt),\n response: { kind: 'connector_approval', approvalId: approval.id },\n })),\n ...activeGoals.flatMap((goal) => goal.evidenceRequirements\n .filter((requirement) => requirement.requiresHumanApproval\n && requirement.evidenceIds.length > 0\n && (requirement.status === 'pending' || requirement.status === 'ai_verified'))\n .map((requirement): HomeDecision => ({\n id: `goal-evidence:${requirement.id}`,\n kind: 'goal_evidence',\n title: goal.title,\n detail: requirement.text,\n reason: 'approval_required',\n urgency: 'now',\n href: `/goals/${encodeURIComponent(goal.id)}`,\n projectId: goal.projectId,\n projectName: goal.projectId ? projectsById.get(goal.projectId)?.name : undefined,\n updatedAt: requirement.updatedAt,\n response: { kind: 'goal_evidence', goalId: goal.id, requirementId: requirement.id },\n }))),\n ]\n .sort((left, right) => {\n const urgency = (left.urgency === 'now' ? 0 : 1) - (right.urgency === 'now' ? 0 : 1);\n return urgency || right.updatedAt - left.updatedAt;\n })\n .slice(0, 20);\n const wins: HomeBriefingWin[] = [\n ...recentlyCompletedWorkItems.map((item): HomeBriefingWin => ({\n id: `work:${item.id}`,\n kind: 'work_item',\n title: item.title,\n href: `/work-items/${encodeURIComponent(item.id)}`,\n completedAt: item.completedAt ?? item.updatedAt,\n })),\n ...workflowRuns\n .filter((run) => run.status === 'succeeded')\n .map((run): HomeBriefingWin => ({\n id: `workflow:${run.id}`,\n kind: 'workflow_run',\n title: run.title,\n href: `/workflows?runId=${encodeURIComponent(run.id)}`,\n completedAt: run.completedAtMs ?? run.createdAtMs,\n })),\n ...latestAutomationRuns\n .filter((run) => run.status === 'succeeded')\n .map((run): HomeBriefingWin => ({\n id: `automation:${run.id}`,\n kind: 'automation_run',\n title: run.automationName || run.automationId,\n href: '/automations',\n completedAt: run.endedAtMs ?? run.createdAtMs,\n })),\n ].sort((left, right) => right.completedAt - left.completedAt);\n const briefing = buildHomeBriefing({\n locale: c.req.query('locale'),\n decisions,\n activeWorkCount: activeWorkItems.filter((item) => item.status === 'in_progress').length,\n activeWorkflowCount: activeWorkflowRuns.length,\n activeGoalCount: activeGoals.filter((goal) => goal.status === 'active').length,\n wins,\n nextScheduled: upcomingAutomations[0],\n nowMs,\n });\n\n return c.json({\n recentlyOpened: recentlyOpened.items.filter((n) => n.lastOpenedAt),\n inboxCount: inbox.total,\n pendingTasks: pendingTasks.items,\n pendingTaskCount: pendingTasks.total,\n recentSessions: recentSessions.items,\n activeAgent: defaultAgent\n ? {\n id: defaultAgent.id,\n name: defaultAgent.name,\n description: defaultAgent.description,\n }\n : { id: agents.defaultId },\n gateway: {\n status: health.status,\n ready: health.ready,\n httpListening: health.httpListening,\n version: health.version,\n uptime: health.uptime,\n tunnel: {\n state: tunnel.state,\n publicUrl: tunnel.publicUrl,\n connected: tunnel.state === 'connected',\n },\n },\n workflowRuns: {\n active: activeWorkflowRuns,\n attention: attentionWorkflowRuns,\n recent: recentWorkflowRuns,\n },\n briefing,\n decisions,\n work: {\n attentionCount: activeWorkItems.filter((item) => workItemAttentionRank(item, nowMs) < 3).length,\n overdueCount: activeWorkItems.filter((item) => item.dueAt != null && item.dueAt < nowMs).length,\n todayCount: activeWorkItems.filter((item) => item.dueAt != null && item.dueAt >= nowMs && item.dueAt < nowMs + 24 * 60 * 60 * 1000).length,\n items: attentionWorkItems,\n current: currentWorkItems,\n recentlyCompleted: recentlyCompletedWorkItems,\n },\n upcomingAutomations,\n recentAutomationRuns: automationRuns.slice(0, 5).map(toHomeAutomationRun),\n });\n });\n\n authenticated.post('/api/home/decisions/respond', deps.strictRateLimitMiddleware, async (c) => {\n const body = await c.req.json().catch(() => ({})) as Record<string, unknown>;\n const decision = body.decision === 'approve' ? 'approve' : body.decision === 'deny' ? 'deny' : undefined;\n if (!decision) return c.json({ ok: false, error: 'Decision must be approve or deny' }, 400);\n if (body.kind === 'connector_approval' && typeof body.approvalId === 'string') {\n const approval = decideConnectorApproval(body.approvalId, decision === 'approve' ? 'approved' : 'denied');\n if (!approval) return c.json({ ok: false, error: 'Approval not found' }, 404);\n if (approval.status !== (decision === 'approve' ? 'approved' : 'denied')) {\n return c.json({ ok: false, error: `Approval is ${approval.status}` }, 409);\n }\n return c.json({ ok: true, status: approval.status });\n }\n if (body.kind === 'goal_evidence' && typeof body.goalId === 'string' && typeof body.requirementId === 'string') {\n const goal = goals.get(body.goalId);\n const requirement = goal?.evidenceRequirements.find((item) => item.id === body.requirementId);\n if (!goal || !requirement) return c.json({ ok: false, error: 'Evidence approval not found' }, 404);\n if (requirement.evidenceIds.length === 0) return c.json({ ok: false, error: 'Evidence is missing' }, 409);\n const updated = goals.reviewEvidenceRequirement({\n goalId: goal.id,\n requirementId: requirement.id,\n status: decision === 'approve' ? 'approved' : 'rejected',\n reason: decision === 'approve' ? 'Approved from the decision inbox.' : 'Rejected from the decision inbox.',\n reviewedBy: 'user',\n });\n return c.json({ ok: true, status: updated?.status });\n }\n return c.json({ ok: false, error: 'Unsupported decision kind' }, 400);\n });\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"host-fs.js","names":["path","os"],"sources":["../../../../../src/gateway/hono/routes/host-fs.ts"],"sourcesContent":["/**\n * Authenticated host filesystem browse API for Web UI (e.g. session working directory).\n * Lists directories the gateway process can read — intended for trusted operators only.\n */\nimport type { Hono } from 'hono';\nimport { readdir, realpath, stat } from 'node:fs/promises';\nimport * as os from 'node:os';\nimport * as path from 'node:path';\n\nimport { createGatewayRouteLogger } from '../lib/route-logger.js';\nimport type { AuthenticatedRouteDeps } from './deps.js';\n\nconst log = createGatewayRouteLogger('HostFs');\n\nfunction jsonError(status: number, message: string) {\n return Response.json({ ok: false, error: { message } }, { status });\n}\n\nfunction skipDotName(name: string): boolean {\n return name.startsWith('.');\n}\n\n/** Windows: true if `p` is a drive root like `C:\\`. */\nfunction isWindowsDriveRoot(p: string): boolean {\n return /^[A-Za-z]:\\\\?$/.test(path.normalize(p).replace(/\\\\$/, '\\\\'));\n}\n\nfunction parentDirectory(absNormalized: string): string | null {\n if (process.platform === 'win32') {\n const n = path.normalize(absNormalized);\n if (isWindowsDriveRoot(n)) {\n return null;\n }\n const d = path.dirname(n);\n if (d === n) return null;\n return d;\n }\n const n = path.normalize(absNormalized);\n if (n === '/' || n === path.parse(n).root) {\n return null;\n }\n const d = path.dirname(n);\n if (d === n) return null;\n return d;\n}\n\nasync function listWindowsDrives(): Promise<\n { name: string; absolutePath: string; isDirectory: boolean }[]\n> {\n const entries: { name: string; absolutePath: string; isDirectory: boolean }[] = [];\n for (let i = 0; i < 26; i++) {\n const letter = String.fromCharCode(65 + i);\n const root = `${letter}:\\\\`;\n try {\n await stat(root);\n entries.push({ name: root, absolutePath: root, isDirectory: true });\n } catch {\n /* not mounted */\n }\n }\n entries.sort((a, b) => a.name.localeCompare(b.name));\n return entries;\n}\n\nexport function registerHostFsRoutes(authenticated: Hono, _deps: AuthenticatedRouteDeps): void {\n authenticated.get('/api/host/fs/meta', (c) => {\n return c.json({\n ok: true,\n payload: {\n hostname: os.hostname(),\n platform: process.platform,\n pathSeparator: path.sep,\n },\n });\n });\n\n /**\n * GET /api/host/fs/list?path=\n * - Omit or empty `path`: root — `/` on POSIX; drive letters on Windows.\n * - Otherwise: absolute path on the gateway host (URL-encoded).\n */\n authenticated.get('/api/host/fs/list', async (c) => {\n const raw = c.req.query('path');\n const trimmed = typeof raw === 'string' ? raw.trim() : '';\n\n if (!trimmed) {\n if (process.platform === 'win32') {\n try {\n const entries = await listWindowsDrives();\n return c.json({\n ok: true,\n payload: {\n currentPath: '',\n parentPath: null,\n entries,\n },\n });\n } catch (err) {\n log.warn({ err }, 'host fs list drives failed');\n return jsonError(500, 'Failed to list drives');\n }\n }\n\n try {\n const root = await realpath('/');\n const dirents = await readdir(root, { withFileTypes: true });\n const entries: { name: string; absolutePath: string; isDirectory: boolean }[] = [];\n for (const e of dirents) {\n if (skipDotName(e.name)) continue;\n const fullPath = path.join(root, e.name);\n if (e.isDirectory()) {\n entries.push({ name: e.name, absolutePath: fullPath, isDirectory: true });\n } else {\n entries.push({ name: e.name, absolutePath: fullPath, isDirectory: false });\n }\n }\n entries.sort((a, b) => {\n if (a.isDirectory !== b.isDirectory) return a.isDirectory ? -1 : 1;\n return a.name.localeCompare(b.name);\n });\n return c.json({\n ok: true,\n payload: {\n currentPath: root,\n parentPath: null,\n entries,\n },\n });\n } catch (err) {\n log.warn({ err }, 'host fs list root failed');\n const msg = err instanceof Error ? err.message : String(err);\n return jsonError(500, msg || 'Failed to read root');\n }\n }\n\n let resolved: string;\n try {\n const normalized = path.normalize(trimmed);\n resolved = await realpath(normalized);\n } catch (err) {\n log.warn({ err, path: trimmed }, 'host fs realpath failed');\n return jsonError(404, 'Path not found');\n }\n\n let st;\n try {\n st = await stat(resolved);\n } catch (err) {\n log.warn({ err, path: resolved }, 'host fs stat failed');\n return jsonError(404, 'Path not found');\n }\n\n if (!st.isDirectory()) {\n return jsonError(400, 'Not a directory');\n }\n\n const parentPath = parentDirectory(resolved);\n\n try {\n const dirents = await readdir(resolved, { withFileTypes: true });\n const entries: { name: string; absolutePath: string; isDirectory: boolean }[] = [];\n for (const e of dirents) {\n if (skipDotName(e.name)) continue;\n const fullPath = path.join(resolved, e.name);\n entries.push({\n name: e.name,\n absolutePath: fullPath,\n isDirectory: e.isDirectory(),\n });\n }\n entries.sort((a, b) => {\n if (a.isDirectory !== b.isDirectory) return a.isDirectory ? -1 : 1;\n return a.name.localeCompare(b.name);\n });\n return c.json({\n ok: true,\n payload: {\n currentPath: resolved,\n parentPath,\n entries,\n },\n });\n } catch (err) {\n log.warn({ err, path: resolved }, 'host fs readdir failed');\n const msg = err instanceof Error ? err.message : String(err);\n if ((err as NodeJS.ErrnoException)?.code === 'EACCES') {\n return jsonError(403, 'Permission denied');\n }\n return jsonError(500, msg || 'Failed to read directory');\n }\n });\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/gateway/hono/routes/index.ts"],"sourcesContent":["import type { Hono } from 'hono';\n\nimport { registerActivityRoutes } from './activity.js';\nimport { registerAgentStreamRoutes } from './agent-stream.js';\nimport { registerSessionsRoutes } from './sessions.js';\nimport { registerStatusRoutes } from './status.js';\nimport { registerMemoryRoutes } from './memory.js';\nimport { registerProjectsRoutes } from './projects.js';\nimport { registerSearchRoutes } from './search.js';\nimport { registerMobileRoutes } from './mobile.js';\nimport { registerLocalAppsRoutes } from './local-apps.js';\nimport { registerWorkDiscoveryRoutes } from './work-discovery.js';\nimport type { AuthenticatedRouteDeps } from './deps.js';\nimport {\n mountAppLazyRoutePrefixes,\n registerAuthenticatedLazyRouteFallback,\n} from './lazy-fallback.js';\n\nexport function registerCoreAuthenticatedRoutes(\n authenticated: Hono,\n deps: AuthenticatedRouteDeps,\n): void {\n registerStatusRoutes(authenticated, deps);\n registerAgentStreamRoutes(authenticated, deps);\n registerSessionsRoutes(authenticated, deps);\n registerMemoryRoutes(authenticated, deps);\n registerActivityRoutes(authenticated, deps);\n registerProjectsRoutes(authenticated, deps);\n registerLocalAppsRoutes(authenticated, deps);\n registerWorkDiscoveryRoutes(authenticated, deps);\n registerSearchRoutes(authenticated, deps);\n registerMobileRoutes(authenticated, deps);\n}\n\nexport function registerAuthenticatedRoutes(app: Hono, authenticated: Hono, deps: AuthenticatedRouteDeps): void {\n registerCoreAuthenticatedRoutes(authenticated, deps);\n registerAuthenticatedLazyRouteFallback(authenticated, deps);\n mountAppLazyRoutePrefixes(app, { service: deps.service, deps });\n}\n\nexport type { AuthenticatedRouteDeps } from './deps.js';\n"],"mappings":";;;;;;;;;;;;AAkBA,SAAgB,gCACd,eACA,MACM;AACN,sBAAqB,eAAe,KAAK;AACzC,2BAA0B,eAAe,KAAK;AAC9C,wBAAuB,eAAe,KAAK;AAC3C,sBAAqB,eAAe,KAAK;AACzC,wBAAuB,eAAe,KAAK;AAC3C,wBAAuB,eAAe,KAAK;AAC3C,yBAAwB,eAAe,KAAK;AAC5C,6BAA4B,eAAe,KAAK;AAChD,sBAAqB,eAAe,KAAK;AACzC,sBAAqB,eAAe,KAAK;;AAG3C,SAAgB,4BAA4B,KAAW,eAAqB,MAAoC;AAC9G,iCAAgC,eAAe,KAAK;AACpD,wCAAuC,eAAe,KAAK;AAC3D,2BAA0B,KAAK;EAAE,SAAS,KAAK;EAAS;EAAM,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"lazy-bundles.js","names":[],"sources":["../../../../../src/gateway/hono/routes/lazy-bundles.ts"],"sourcesContent":["import type { Hono } from 'hono';\n\nimport type { GatewayService } from '../../service.js';\nimport type { AuthenticatedRouteDeps } from './deps.js';\n\nexport type AuthenticatedLazyRouteBundle = {\n id: string;\n match: (path: string) => boolean;\n load: () => Promise<{ register: (authenticated: Hono, deps: AuthenticatedRouteDeps) => void }>;\n};\n\nexport type AppLazyRouteBundle = {\n id: string;\n prefixes: readonly string[];\n match: (path: string) => boolean;\n load: () => Promise<{\n registerOnApp: (app: Hono, service: GatewayService) => void;\n }>;\n};\n\nfunction startsWithAny(path: string, prefixes: readonly string[]): boolean {\n return prefixes.some((prefix) => path === prefix || path.startsWith(`${prefix}/`));\n}\n\nexport const AUTHENTICATED_LAZY_ROUTE_BUNDLES: readonly AuthenticatedLazyRouteBundle[] = [\n {\n id: 'media',\n match: (path) => startsWithAny(path, ['/api/media']),\n load: async () => {\n const { registerMediaRoutes } = await import('./media.js');\n return { register: registerMediaRoutes };\n },\n },\n {\n id: 'workspace',\n match: (path) => startsWithAny(path, ['/api/workspace']),\n load: async () => {\n const { registerWorkspaceRoutes } = await import('./workspace.js');\n return { register: registerWorkspaceRoutes };\n },\n },\n {\n id: 'host-fs',\n match: (path) => startsWithAny(path, ['/api/host/fs']),\n load: async () => {\n const { registerHostFsRoutes } = await import('./host-fs.js');\n return { register: registerHostFsRoutes };\n },\n },\n {\n id: 'channels',\n match: (path) => startsWithAny(path, ['/api/channels']),\n load: async () => {\n const { registerChannelRoutes } = await import('./channels.js');\n return { register: registerChannelRoutes };\n },\n },\n {\n id: 'browser-install',\n match: (path) =>\n path === '/api/browser/playwright/install/stream' ||\n path === '/api/browser/cloakbrowser/install/stream',\n load: async () => {\n const { registerBrowserInstallRoutes } = await import('./browser-install.js');\n return { register: registerBrowserInstallRoutes };\n },\n },\n {\n id: 'browser',\n // `browser-install` above already matched the SSE install streams; this\n // catches the remaining /api/browser/* handlers (extension, cdp,\n // cloakbrowser doctor/launch/install, playwright doctor/install, cloud).\n match: (path) => startsWithAny(path, ['/api/browser']),\n load: async () => {\n const { registerBrowserRoutes } = await import('./browser.js');\n return { register: registerBrowserRoutes };\n },\n },\n {\n id: 'config',\n match: (path) =>\n startsWithAny(path, [\n '/api/config',\n '/api/heartbeat/trigger',\n // Secret reveal handlers live in config routes but use /api/gateway and\n // /api/tools paths; without these prefixes the extension-gateway bundle\n // matches first and returns 404 (no handler for multi-segment paths).\n '/api/gateway/reveal-auth-secret',\n '/api/tools/web/reveal-search-api-key',\n ]),\n load: async () => {\n const { registerConfigRoutes } = await import('./config.js');\n return { register: registerConfigRoutes };\n },\n },\n {\n id: 'doctor',\n match: (path) => startsWithAny(path, ['/api/doctor', '/api/migrations']),\n load: async () => {\n const { registerDoctorRoutes } = await import('./doctor.js');\n const { registerMigrationRoutes } = await import('./migrations.js');\n return {\n register: (authenticated, deps) => {\n registerDoctorRoutes(authenticated, deps);\n registerMigrationRoutes(authenticated, deps);\n },\n };\n },\n },\n {\n id: 'dreaming',\n match: (path) => startsWithAny(path, ['/api/dreaming']),\n load: async () => {\n const { registerDreamingRoutes } = await import('./dreaming.js');\n return { register: registerDreamingRoutes };\n },\n },\n {\n id: 'agents',\n match: (path) => startsWithAny(path, ['/api/agents', '/api/user-profile', '/api/voice/models']),\n load: async () => {\n const { registerAgentsRoutes } = await import('./agents.js');\n return { register: registerAgentsRoutes };\n },\n },\n {\n id: 'capability-presets',\n match: (path) => startsWithAny(path, ['/api/capability-presets', '/api/global-defaults']),\n load: async () => {\n const { registerCapabilityPresetsRoutes } = await import('./capability-presets.js');\n const { registerGlobalDefaultsRoutes } = await import('./global-defaults.js');\n return {\n register: (authenticated, deps) => {\n registerCapabilityPresetsRoutes(authenticated, deps);\n registerGlobalDefaultsRoutes(authenticated, deps);\n },\n };\n },\n },\n {\n id: 'auth-registry-extensions',\n match: (path) =>\n startsWithAny(path, [\n '/api/auth',\n '/api/registry',\n '/api/extensions',\n '/api/context',\n '/api/marketplace',\n ]),\n load: async () => {\n const { registerAuthRegistryExtensionsRoutes } = await import('./auth-registry-extensions.js');\n return { register: registerAuthRegistryExtensionsRoutes };\n },\n },\n {\n id: 'models',\n match: (path) =>\n startsWithAny(path, ['/api/models', '/api/models-json', '/api/providers', '/api/image']),\n load: async () => {\n const { registerModelsRoutes } = await import('./models.js');\n return { register: registerModelsRoutes };\n },\n },\n {\n id: 'ai-assist',\n match: (path) => startsWithAny(path, ['/api/ai']),\n load: async () => {\n const { registerAiAssistRoutes } = await import('./ai-assist.js');\n return { register: registerAiAssistRoutes };\n },\n },\n {\n id: 'commands-skills',\n match: (path) =>\n startsWithAny(path, [\n '/api/commands',\n '/api/review',\n '/api/skills',\n '/api/chat/skills',\n '/api/chat/capabilities',\n ]),\n load: async () => {\n const { registerCommandsSkillsRoutes } = await import('./commands-skills.js');\n return { register: registerCommandsSkillsRoutes };\n },\n },\n {\n id: 'automations',\n match: (path) => startsWithAny(path, ['/api/automations', '/api/automation-runs']),\n load: async () => {\n const { registerAutomationRoutes } = await import('../../../automations/api/routes.js');\n return { register: registerAutomationRoutes };\n },\n },\n {\n id: 'goals',\n match: (path) => startsWithAny(path, ['/api/goals']),\n load: async () => {\n const { registerGoalsRoutes } = await import('./goals.js');\n return { register: registerGoalsRoutes };\n },\n },\n {\n id: 'notes',\n match: (path) => startsWithAny(path, ['/api/notes']),\n load: async () => {\n const { registerNotesRoutes } = await import('./notes.js');\n return { register: registerNotesRoutes };\n },\n },\n {\n id: 'home',\n match: (path) => startsWithAny(path, ['/api/home']),\n load: async () => {\n const { registerHomeRoutes } = await import('./home.js');\n return { register: registerHomeRoutes };\n },\n },\n {\n id: 'workflows',\n match: (path) => startsWithAny(path, ['/api/workflows']),\n load: async () => {\n const { registerWorkflowRoutes } = await import('./workflows.js');\n return { register: registerWorkflowRoutes };\n },\n },\n {\n id: 'logs',\n match: (path) => startsWithAny(path, ['/api/logs']),\n load: async () => {\n const { registerLogsRoutes } = await import('./logs.js');\n return { register: registerLogsRoutes };\n },\n },\n {\n id: 'shares',\n match: (path) => startsWithAny(path, ['/api/shares']),\n load: async () => {\n const { registerShareRoutes } = await import('./shares.js');\n return { register: registerShareRoutes };\n },\n },\n {\n id: 'site-shares',\n match: (path) => startsWithAny(path, ['/api/site-shares']),\n load: async () => {\n const { registerSiteShareRoutes } = await import('./site-shares.js');\n return { register: registerSiteShareRoutes };\n },\n },\n {\n id: 'tunnel',\n match: (path) => startsWithAny(path, ['/api/tunnel']),\n load: async () => {\n const { registerTunnelRoutes } = await import('./tunnel.js');\n return { register: registerTunnelRoutes };\n },\n },\n {\n id: 'exposure',\n match: (path) => startsWithAny(path, ['/api/exposure']),\n load: async () => {\n const { registerExposureRoutes } = await import('./exposure.js');\n return { register: registerExposureRoutes };\n },\n },\n {\n id: 'extension-gateway',\n match: (path) => startsWithAny(path, ['/api/gateway']),\n load: async () => {\n const { registerExtensionGatewayRoutes } = await import('./extension-gateway.js');\n return { register: registerExtensionGatewayRoutes };\n },\n },\n {\n id: 'update',\n match: (path) => startsWithAny(path, ['/api/update']),\n load: async () => {\n const { registerUpdateRoutes } = await import('./update.js');\n return { register: registerUpdateRoutes };\n },\n },\n {\n id: 'voice',\n match: (path) => startsWithAny(path, ['/api/voice']) && path !== '/api/voice/models',\n load: async () => {\n const { registerVoiceRoutes } = await import('./voice.js');\n return { register: registerVoiceRoutes };\n },\n },\n {\n id: 'you',\n match: (path) => startsWithAny(path, ['/api/you']),\n load: async () => {\n const { registerYouRoutes } = await import('./you.js');\n return { register: registerYouRoutes };\n },\n },\n {\n id: 'connectors',\n match: (path) => startsWithAny(path, ['/api/connectors']),\n load: async () => {\n const { registerConnectorRoutes } = await import('./connectors.js');\n return { register: registerConnectorRoutes };\n },\n },\n {\n id: 'capabilities',\n match: (path) => startsWithAny(path, ['/api/capabilities']),\n load: async () => {\n const { registerCapabilityRoutes } = await import('./capabilities.js');\n return { register: registerCapabilityRoutes };\n },\n },\n {\n id: 'tui',\n match: (path) => startsWithAny(path, ['/api/tui']),\n load: async () => {\n const { registerTuiRoutes } = await import('./tui.js');\n return { register: registerTuiRoutes };\n },\n },\n {\n id: 'mcp',\n match: (path) => startsWithAny(path, ['/api/mcp']),\n load: async () => {\n const { registerMcpRoutes } = await import('./mcp.js');\n return { register: registerMcpRoutes };\n },\n },\n];\n\nexport const APP_LAZY_ROUTE_BUNDLES: readonly AppLazyRouteBundle[] = [\n {\n id: 'shares-public',\n prefixes: ['/s'],\n match: (path) => startsWithAny(path, ['/s']),\n load: async () => {\n const { registerSharePublicRoutes } = await import('./shares.js');\n return { registerOnApp: registerSharePublicRoutes };\n },\n },\n {\n id: 'tunnel-public',\n prefixes: [\n '/api/tunnel/pair/ping',\n '/api/tunnel/pair/validate-url',\n '/api/tunnel/exchange-token',\n ],\n match: (path) =>\n path === '/api/tunnel/exchange-token' ||\n path === '/api/tunnel/pair/ping' ||\n path === '/api/tunnel/pair/validate-url',\n load: async () => {\n const { registerTunnelPublicRoutes } = await import('./tunnel.js');\n return { registerOnApp: registerTunnelPublicRoutes };\n },\n },\n];\n\nexport function findAuthenticatedLazyRouteBundle(path: string): AuthenticatedLazyRouteBundle | undefined {\n return AUTHENTICATED_LAZY_ROUTE_BUNDLES.find((bundle) => bundle.match(path));\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"lazy-fallback.js","names":[],"sources":["../../../../../src/gateway/hono/routes/lazy-fallback.ts"],"sourcesContent":["import { Hono, type Context } from 'hono';\n\nimport type { GatewayService } from '../../service.js';\nimport type { AuthenticatedRouteDeps } from './deps.js';\nimport {\n APP_LAZY_ROUTE_BUNDLES,\n AUTHENTICATED_LAZY_ROUTE_BUNDLES,\n findAuthenticatedLazyRouteBundle,\n} from './lazy-bundles.js';\nimport { createGatewayRouteLogger, logRouteError } from '../lib/route-logger.js';\n\nconst log = createGatewayRouteLogger('LazyRoutes');\n\nconst authenticatedSubApps = new Map<string, Hono>();\nconst appSubApps = new Map<string, Hono>();\nconst authenticatedLoadPromises = new Map<string, Promise<Hono>>();\nconst appLoadPromises = new Map<string, Promise<Hono>>();\n\nexport function getLoadedLazyRouteBundleIdsForTests(): {\n authenticated: string[];\n app: string[];\n} {\n return {\n authenticated: [...authenticatedSubApps.keys()],\n app: [...appSubApps.keys()],\n };\n}\n\nexport function resetLazyRouteBundlesForTests(): void {\n authenticatedSubApps.clear();\n appSubApps.clear();\n authenticatedLoadPromises.clear();\n appLoadPromises.clear();\n}\n\nasync function ensureAuthenticatedLazyBundle(\n bundleId: string,\n deps: AuthenticatedRouteDeps,\n): Promise<Hono | null> {\n const existing = authenticatedSubApps.get(bundleId);\n if (existing) {\n return existing;\n }\n\n let pending = authenticatedLoadPromises.get(bundleId);\n if (!pending) {\n const bundle = AUTHENTICATED_LAZY_ROUTE_BUNDLES.find((entry) => entry.id === bundleId);\n if (!bundle) {\n return null;\n }\n pending = (async () => {\n const mod = await bundle.load();\n const sub = new Hono();\n mod.register(sub, deps);\n authenticatedSubApps.set(bundleId, sub);\n authenticatedLoadPromises.delete(bundleId);\n return sub;\n })();\n authenticatedLoadPromises.set(bundleId, pending);\n }\n\n return pending;\n}\n\nasync function ensureAppLazyBundle(\n bundleId: string,\n params: { service: GatewayService; deps: AuthenticatedRouteDeps },\n): Promise<Hono | null> {\n const existing = appSubApps.get(bundleId);\n if (existing) {\n return existing;\n }\n\n let pending = appLoadPromises.get(bundleId);\n if (!pending) {\n const bundle = APP_LAZY_ROUTE_BUNDLES.find((entry) => entry.id === bundleId);\n if (!bundle) {\n return null;\n }\n pending = (async () => {\n const mod = await bundle.load();\n const sub = new Hono();\n if (mod.registerOnApp) {\n mod.registerOnApp(sub, params.service);\n }\n appSubApps.set(bundleId, sub);\n appLoadPromises.delete(bundleId);\n return sub;\n })();\n appLoadPromises.set(bundleId, pending);\n }\n\n return pending;\n}\n\nasync function forwardToSubApp(c: Context, sub: Hono): Promise<Response> {\n try {\n return await sub.fetch(c.req.raw, c.env, c.executionCtx);\n } catch (error) {\n if (error instanceof Error && error.message.includes('ExecutionContext')) {\n return sub.fetch(c.req.raw, c.env);\n }\n logRouteError(log, c, error, 'gateway.route.lazy_forward');\n throw error;\n }\n}\n\nexport function registerAuthenticatedLazyRouteFallback(\n authenticated: Hono,\n deps: AuthenticatedRouteDeps,\n): void {\n authenticated.all('*', async (c) => {\n const bundle = findAuthenticatedLazyRouteBundle(c.req.path);\n if (!bundle) {\n return c.json({ error: 'Not found' }, 404);\n }\n const sub = await ensureAuthenticatedLazyBundle(bundle.id, deps);\n if (!sub) {\n return c.json({ error: 'Not found' }, 404);\n }\n return forwardToSubApp(c, sub);\n });\n}\n\nexport function mountAppLazyRoutePrefixes(\n app: Hono,\n params: { service: GatewayService; deps: AuthenticatedRouteDeps },\n): void {\n for (const bundle of APP_LAZY_ROUTE_BUNDLES) {\n const handler = async (c: Context) => {\n const sub = await ensureAppLazyBundle(bundle.id, params);\n if (!sub) {\n return c.json({ error: 'Not found' }, 404);\n }\n return forwardToSubApp(c, sub);\n };\n\n for (const prefix of bundle.prefixes) {\n app.all(prefix, handler);\n app.all(`${prefix}/*`, handler);\n }\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-apps.js","names":[],"sources":["../../../../../src/gateway/hono/routes/local-apps.ts"],"sourcesContent":["import { existsSync, readFileSync, statSync } from 'node:fs';\nimport { relative, resolve } from 'node:path';\n\nimport type { Hono } from 'hono';\n\nimport { extensionAssetMimeType } from '../lib/extension-assets.js';\nimport type { AuthenticatedRouteDeps } from './deps.js';\nimport type { GatewayService } from '../../service.js';\nimport {\n injectLocalAppRuntimeBridge,\n LOCAL_APP_RUNTIME_BRIDGE_HASH,\n} from '../../../local-apps/preview-runtime-bridge.js';\nimport { readLocalAppAcceptanceConfig } from '../../../local-apps/acceptance.js';\nimport type { RecordLocalAppAcceptanceInput } from '../../../local-apps/types.js';\n\nconst LOCAL_APP_PREVIEW_CSP =\n \"default-src 'self'; \" +\n `script-src 'self' 'sha256-${LOCAL_APP_RUNTIME_BRIDGE_HASH}'; ` +\n \"style-src 'self' 'unsafe-inline'; \" +\n \"img-src 'self' data: blob:; \" +\n \"connect-src 'none'; \" +\n \"frame-ancestors 'self'; \" +\n \"frame-src 'none'; \" +\n \"base-uri 'none'; \" +\n \"object-src 'none'; \" +\n \"form-action 'none'\";\n\nexport function registerPublicLocalAppPreviewRoutes(app: Hono, service: GatewayService): void {\n app.get('/api/local-apps/preview/:token/*', (c) => {\n const origin = c.req.header('origin');\n const cors = { 'Access-Control-Allow-Origin': origin === 'null' ? 'null' : origin || '*' } as const;\n const preview = service.localApps.resolvePreview(c.req.param('token'));\n if (!preview) return c.json({ error: 'Preview not found' }, 404, cors);\n const prefix = `/api/local-apps/preview/${preview.previewToken}/`;\n let assetPath = c.req.path.startsWith(prefix) ? c.req.path.slice(prefix.length) : '';\n try {\n assetPath = decodeURIComponent(assetPath);\n } catch {\n return c.json({ error: 'Invalid asset path' }, 400, cors);\n }\n if (!assetPath || assetPath.includes('..')) return c.json({ error: 'Invalid asset path' }, 400, cors);\n const root = resolve(preview.uiRoot);\n const fullPath = resolve(root, assetPath);\n const rel = relative(root, fullPath);\n if (rel.startsWith('..') || rel === '') return c.json({ error: 'Path traversal denied' }, 403, cors);\n if (!existsSync(fullPath) || !statSync(fullPath).isFile()) return c.json({ error: 'Not found' }, 404, cors);\n const mimeType = extensionAssetMimeType(assetPath);\n const content = readFileSync(fullPath);\n let textContent: string | null = null;\n if (mimeType.startsWith('text/html')) {\n let acceptance;\n try {\n acceptance = readLocalAppAcceptanceConfig(preview.uiRoot);\n } catch {\n acceptance = { schemaVersion: 1 as const, scenarios: [] };\n }\n textContent = injectLocalAppRuntimeBridge(content.toString('utf8'), acceptance);\n } else if (mimeType.startsWith('text/')) {\n textContent = content.toString('utf8');\n }\n return new Response(textContent ?? new Uint8Array(content), {\n headers: {\n 'Content-Type': mimeType,\n 'Content-Security-Policy': LOCAL_APP_PREVIEW_CSP,\n 'Cache-Control': 'no-store',\n 'X-Content-Type-Options': 'nosniff',\n ...cors,\n },\n });\n });\n}\n\nexport function registerLocalAppsRoutes(app: Hono, deps: AuthenticatedRouteDeps): void {\n app.get('/api/local-apps', (c) => c.json({ apps: deps.service.localApps.list() }));\n\n app.post('/api/local-apps', async (c) => {\n const body = await c.req.json<Record<string, unknown>>();\n if (typeof body.name !== 'string' || typeof body.idea !== 'string') {\n return c.json({ error: 'name and idea are required' }, 400);\n }\n const appDetail = deps.service.localApps.create({\n name: body.name,\n idea: body.idea,\n description: typeof body.description === 'string' ? body.description : undefined,\n });\n return c.json({ app: appDetail }, 201);\n });\n\n app.get('/api/local-apps/:id', (c) => {\n const appDetail = deps.service.localApps.get(c.req.param('id'));\n return appDetail ? c.json({ app: appDetail }) : c.json({ error: 'Local app not found' }, 404);\n });\n\n app.post('/api/local-apps/:id/validate', (c) => {\n return c.json({ validation: deps.service.localApps.validate(c.req.param('id')) });\n });\n\n app.post('/api/local-apps/:id/acceptance-runs', async (c) => {\n const body = await c.req.json<Record<string, unknown>>();\n const acceptance = deps.service.localApps.recordAcceptance(\n c.req.param('id'),\n body as unknown as RecordLocalAppAcceptanceInput,\n );\n return c.json({ acceptance }, 201);\n });\n\n app.post('/api/local-apps/:id/install', async (c) => {\n const appDetail = await deps.service.localApps.install(c.req.param('id'));\n return c.json({ app: appDetail });\n });\n\n app.post('/api/local-apps/:id/releases/:releaseId/rollback', async (c) => {\n const appDetail = await deps.service.localApps.rollback(\n c.req.param('id'),\n c.req.param('releaseId'),\n );\n return c.json({ app: appDetail });\n });\n\n app.post('/api/local-apps/:id/enable', async (c) => {\n const appDetail = await deps.service.localApps.setEnabled(c.req.param('id'), true);\n return c.json({ app: appDetail });\n });\n\n app.post('/api/local-apps/:id/disable', async (c) => {\n const appDetail = await deps.service.localApps.setEnabled(c.req.param('id'), false);\n return c.json({ app: appDetail });\n });\n\n app.delete('/api/local-apps/:id/install', async (c) => {\n const appDetail = await deps.service.localApps.uninstall(c.req.param('id'));\n return c.json({ app: appDetail });\n });\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"logs.js","names":[],"sources":["../../../../../src/gateway/hono/routes/logs.ts"],"sourcesContent":["import type { Hono } from 'hono';\n\nimport type { LogLevel } from '../../../utils/logger.js';\nimport {\n queryLogs,\n getLogFiles,\n getLogLevels,\n getFileLogStats,\n getLogModules,\n getLogErrorSummary,\n LOG_DIR,\n} from '../../../utils/logger/log-store.js';\nimport { createGatewayRouteLogger } from '../lib/route-logger.js';\n\nconst log = createGatewayRouteLogger('Logs');\nimport type { AuthenticatedRouteDeps } from './deps.js';\n\nexport function registerLogsRoutes(authenticated: Hono, _deps: AuthenticatedRouteDeps): void {\n\n // ========== Logs REST API (/api/logs) ==========\n\n // GET /api/logs - Query logs with filters\n authenticated.get('/api/logs', async (c) => {\n const query = c.req.query();\n const logs = await queryLogs({\n levels: query.level ? query.level.split(',') as LogLevel[] : undefined,\n from: query.from,\n to: query.to,\n q: query.q,\n module: query.module,\n requestId: query.requestId,\n sessionKey: query.sessionKey,\n sessionId: query.sessionId,\n limit: query.limit ? parseInt(query.limit) : 100,\n offset: query.offset ? parseInt(query.offset) : 0,\n });\n return c.json({ logs, count: logs.length });\n });\n\n // GET /api/logs/files - List log files\n authenticated.get('/api/logs/files', async (c) => {\n const files = getLogFiles();\n return c.json({ files });\n });\n\n // GET /api/logs/stats - Get log statistics (file sample + runtime counters)\n authenticated.get('/api/logs/stats', async (c) => {\n const { getRuntimeLogStats } = await import('../../../utils/logger.js');\n const [fileStats, runtimeStats] = await Promise.all([\n getFileLogStats(),\n Promise.resolve(getRuntimeLogStats()),\n ]);\n return c.json({\n byLevel: fileStats.byLevel,\n runtime: {\n byLevel: runtimeStats.byLevel,\n byModule: runtimeStats.byModule,\n errorsLast24h: runtimeStats.errorsLast24h,\n uptimeMs: runtimeStats.uptimeMs,\n },\n });\n });\n\n // GET /api/logs/errors/summary - Aggregate recent errors by type/phase/module\n authenticated.get('/api/logs/errors/summary', async (c) => {\n const query = c.req.query();\n const items = await getLogErrorSummary({\n from: query.from,\n to: query.to,\n limit: query.limit ? parseInt(query.limit, 10) : 20,\n });\n return c.json({ items });\n });\n\n // GET /api/logs/levels - Get available log levels\n authenticated.get('/api/logs/levels', async (c) => {\n return c.json({ levels: getLogLevels() });\n });\n\n // GET /api/logs/modules - Get available modules\n authenticated.get('/api/logs/modules', async (c) => {\n const modules = await getLogModules();\n return c.json({ modules });\n });\n\n // GET /api/logs/dir - Get log directory path\n authenticated.get('/api/logs/dir', async (c) => {\n return c.json({ dir: LOG_DIR });\n });\n\n // GET /api/logs/health - Get log system health status\n authenticated.get('/api/logs/health', async (c) => {\n const { getLogDir, getRuntimeLogStats, isLoggerShuttingDown } = await import('../../../utils/logger.js');\n const { getLogFiles } = await import('../../../utils/logger/log-store.js');\n \n const stats = getRuntimeLogStats();\n const files = getLogFiles().slice(0, 5);\n const isShuttingDown = isLoggerShuttingDown();\n \n return c.json({\n status: isShuttingDown ? 'shutting_down' : 'healthy',\n config: {\n dir: getLogDir(),\n uptimeMs: stats.uptimeMs,\n },\n stats: {\n byLevel: stats.byLevel,\n errorsLast24h: stats.errorsLast24h,\n modulesTracked: stats.byModule ? Object.keys(stats.byModule).length : 0,\n },\n files: files.map(f => ({\n name: f.name,\n size: f.size,\n modified: f.modified,\n type: f.type,\n })),\n shuttingDown: isShuttingDown,\n });\n });\n\n // POST /api/logs/level - Set log level dynamically\n authenticated.post('/api/logs/level', async (c) => {\n const { setLogLevel, getLogLevel } = await import('../../../utils/logger.js');\n const body = await c.req.json().catch(() => ({}));\n const { level, duration } = body as { level?: string; duration?: string };\n \n if (!level) {\n return c.json({ error: 'level is required' }, 400);\n }\n \n const validLevels = ['trace', 'debug', 'info', 'warn', 'error', 'fatal'];\n if (!validLevels.includes(level)) {\n return c.json({ error: `Invalid level. Must be one of: ${validLevels.join(', ')}` }, 400);\n }\n \n const previousLevel = getLogLevel();\n setLogLevel(level as LogLevel);\n \n // Optional: auto-revert after duration\n let autoRevertAt: string | null = null;\n if (duration) {\n const durationMs = parseInt(duration, 10) * 60000; // minutes to ms\n if (!isNaN(durationMs) && durationMs > 0) {\n autoRevertAt = new Date(Date.now() + durationMs).toISOString();\n setTimeout(() => {\n setLogLevel(previousLevel);\n log.info({ phase: 'gateway.logs.level', previousLevel, reverted: true }, `Log level auto-reverted to ${previousLevel}`);\n }, durationMs);\n }\n }\n \n log.info({ phase: 'gateway.logs.level', previousLevel, current: level, autoRevertAt }, `Log level changed to ${level}`);\n \n return c.json({\n previous: previousLevel,\n current: level,\n autoRevertAt,\n message: `Log level changed from ${previousLevel} to ${level}`,\n });\n });\n\n // GET /api/logs/level - Get current log level\n authenticated.get('/api/logs/level', async (c) => {\n const { getLogLevel } = await import('../../../utils/logger.js');\n return c.json({ level: getLogLevel() });\n });\n\n // ========== Real-time Log Streaming (SSE) ==========\n\n // GET /api/logs/stream - Stream logs in real-time via SSE\n authenticated.get('/api/logs/stream', async (c) => {\n const { createLogSSEHandler } = await import('../../../utils/logger/log-stream.js');\n return createLogSSEHandler()(c);\n });\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp.js","names":[],"sources":["../../../../../src/gateway/hono/routes/mcp.ts"],"sourcesContent":["import type { Hono } from 'hono';\n\nimport {\n listBundleMcpServerCapabilitiesForGateway,\n listBundleMcpServerToolsForGateway,\n} from '../../../agent/mcp/bundle-mcp-materialize.js';\nimport { loadMergedBundleMcpConfig } from '../../../agent/mcp/bundle-mcp-config.js';\nimport { canonicalizeConfiguredMcpServer, normalizeConfiguredMcpServers } from '../../../config/mcp-config-normalize.js';\nimport { getWorkspacePath } from '../../../config/workspace-path-helpers.js';\nimport { isManagedConnectorServer } from '../../../connectors/materialize.js';\nimport type { AuthenticatedRouteDeps } from './deps.js';\n\nexport function registerMcpRoutes(authenticated: Hono, deps: AuthenticatedRouteDeps): void {\n authenticated.get('/api/mcp/servers', (c) => {\n const cfg = deps.service.currentConfig;\n const workspaceDir = getWorkspacePath(cfg) || './workspace';\n const merged = loadMergedBundleMcpConfig({\n workspaceDir,\n cfg,\n });\n const configured = normalizeConfiguredMcpServers(cfg.mcp?.servers);\n const servers = Object.entries(configured).map(([id, server]) => ({\n id,\n managed: isManagedConnectorServer(server),\n connectorId: isManagedConnectorServer(server) ? server.xopcConnector.connectorId : undefined,\n }));\n return c.json({\n ok: true,\n payload: {\n servers: servers.sort((left, right) => left.id.localeCompare(right.id)),\n mergedServerIds: Object.keys(merged.config.mcpServers).sort(),\n configured,\n },\n });\n });\n\n authenticated.get('/api/mcp/servers/:id/tools', async (c) => {\n const id = c.req.param('id');\n const cfg = deps.service.currentConfig;\n const workspaceDir = getWorkspacePath(cfg) || './workspace';\n try {\n const tools = await listBundleMcpServerToolsForGateway({\n workspaceDir,\n cfg,\n serverId: id,\n });\n return c.json({ ok: true, payload: { tools } });\n } catch (err) {\n return c.json(\n { ok: false, error: err instanceof Error ? err.message : String(err) },\n 500,\n );\n }\n });\n\n authenticated.get('/api/mcp/servers/:id/capabilities', async (c) => {\n const id = c.req.param('id');\n const cfg = deps.service.currentConfig;\n const workspaceDir = getWorkspacePath(cfg) || './workspace';\n try {\n const capabilities = await listBundleMcpServerCapabilitiesForGateway({\n workspaceDir,\n cfg,\n serverId: id,\n });\n return c.json({ ok: true, payload: capabilities });\n } catch (err) {\n return c.json(\n { ok: false, error: err instanceof Error ? err.message : String(err) },\n 500,\n );\n }\n });\n\n authenticated.post('/api/mcp/servers/:id/test', async (c) => {\n const id = c.req.param('id');\n const cfg = deps.service.currentConfig;\n const workspaceDir = getWorkspacePath(cfg) || './workspace';\n const body = await c.req.json().catch(() => ({}));\n const inlineServer =\n body && typeof body === 'object' && !Array.isArray(body) && body.server && typeof body.server === 'object'\n ? (body.server as Record<string, unknown>)\n : undefined;\n const servers = normalizeConfiguredMcpServers(cfg.mcp?.servers);\n const mergedServers = loadMergedBundleMcpConfig({ workspaceDir, cfg }).config.mcpServers;\n const knownServer =\n inlineServer ??\n (servers[id] as Record<string, unknown> | undefined) ??\n (mergedServers[id] as Record<string, unknown> | undefined);\n if (!knownServer) {\n return c.json({ ok: false, error: `Unknown MCP server: ${id}` }, 404);\n }\n try {\n const testCfg: typeof cfg = inlineServer\n ? {\n ...cfg,\n mcp: {\n ...cfg.mcp,\n servers: {\n [id]: canonicalizeConfiguredMcpServer(inlineServer),\n },\n },\n }\n : cfg;\n const capabilities = await listBundleMcpServerCapabilitiesForGateway({\n workspaceDir,\n cfg: testCfg,\n serverId: id,\n });\n return c.json({\n ok: true,\n payload: {\n ...capabilities,\n serverId: id,\n },\n });\n } catch (err) {\n return c.json(\n { ok: false, error: err instanceof Error ? err.message : String(err) },\n 500,\n );\n }\n });\n\n authenticated.post('/api/mcp/approvals/respond', async (c) => {\n const body = await c.req.json().catch(() => ({}));\n return c.json({ ok: true, payload: { acknowledged: true, body } });\n });\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"media.js","names":[],"sources":["../../../../../src/gateway/hono/routes/media.ts"],"sourcesContent":["import type { Hono } from 'hono';\n\nimport { pendingTranscriptReferencesMediaUri } from '../../../agent/inbound/attachment-pipeline.js';\nimport { readMediaReference } from '../../../media/media-reference.js';\nimport { messagesReferenceMediaUri } from '../../../media/session-references.js';\nimport { parseMediaUri } from '../../../media/uri.js';\nimport { mimeTypeFromMediaPath } from '../../../media/store.js';\nimport { createGatewayRouteLogger } from '../lib/route-logger.js';\nimport type { AuthenticatedRouteDeps } from './deps.js';\n\nconst log = createGatewayRouteLogger('Media');\n\nexport function registerMediaRoutes(authenticated: Hono, deps: AuthenticatedRouteDeps): void {\n authenticated.get('/api/media/read', async (c) => {\n const uriRaw = c.req.query('uri');\n if (!uriRaw || typeof uriRaw !== 'string') {\n return c.json({ ok: false, error: { message: 'Missing uri' } }, 400);\n }\n const sessionKey = c.req.query('sessionKey');\n if (!sessionKey || typeof sessionKey !== 'string') {\n return c.json({ ok: false, error: { message: 'Missing sessionKey' } }, 400);\n }\n try {\n const parsed = parseMediaUri(uriRaw.trim());\n const messages = await deps.service.sessionIndexInstance.loadMessages(sessionKey);\n if (\n !messagesReferenceMediaUri(messages, parsed.uri) &&\n !pendingTranscriptReferencesMediaUri(sessionKey, parsed.uri)\n ) {\n return c.json({ ok: false, error: { message: 'Not found' } }, 404);\n }\n const { buffer, path } = await readMediaReference(parsed.uri);\n const contentType = mimeTypeFromMediaPath(path);\n return new Response(buffer, {\n headers: {\n 'Content-Type': contentType,\n 'Cache-Control': 'private, max-age=3600',\n },\n });\n } catch (err) {\n const em = err instanceof Error ? err.message : String(err);\n log.warn({ err, uri: uriRaw, errorMessage: em }, `Media read failed: ${em}`);\n return c.json({ ok: false, error: { message: 'Not found' } }, 404);\n }\n });\n}\n"],"mappings":";;;;;;;AAUA,MAAM,MAAM,yBAAyB,QAAQ;AAE7C,SAAgB,oBAAoB,eAAqB,MAAoC;AAC3F,eAAc,IAAI,mBAAmB,OAAO,MAAM;EAChD,MAAM,SAAS,EAAE,IAAI,MAAM,MAAM;AACjC,MAAI,CAAC,UAAU,OAAO,WAAW,SAC/B,QAAO,EAAE,KAAK;GAAE,IAAI;GAAO,OAAO,EAAE,SAAS,eAAe;GAAE,EAAE,IAAI;EAEtE,MAAM,aAAa,EAAE,IAAI,MAAM,aAAa;AAC5C,MAAI,CAAC,cAAc,OAAO,eAAe,SACvC,QAAO,EAAE,KAAK;GAAE,IAAI;GAAO,OAAO,EAAE,SAAS,sBAAsB;GAAE,EAAE,IAAI;AAE7E,MAAI;GACF,MAAM,SAAS,cAAc,OAAO,MAAM,CAAC;AAE3C,OACE,CAAC,0BAA0B,MAFN,KAAK,QAAQ,qBAAqB,aAAa,WAAW,EAE1C,OAAO,IAAI,IAChD,CAAC,oCAAoC,YAAY,OAAO,IAAI,CAE5D,QAAO,EAAE,KAAK;IAAE,IAAI;IAAO,OAAO,EAAE,SAAS,aAAa;IAAE,EAAE,IAAI;GAEpE,MAAM,EAAE,QAAQ,SAAS,MAAM,mBAAmB,OAAO,IAAI;GAC7D,MAAM,cAAc,sBAAsB,KAAK;AAC/C,UAAO,IAAI,SAAS,QAAQ,EAC1B,SAAS;IACP,gBAAgB;IAChB,iBAAiB;IAClB,EACF,CAAC;WACK,KAAK;GACZ,MAAM,KAAK,eAAe,QAAQ,IAAI,UAAU,OAAO,IAAI;AAC3D,OAAI,KAAK;IAAE;IAAK,KAAK;IAAQ,cAAc;IAAI,EAAE,sBAAsB,KAAK;AAC5E,UAAO,EAAE,KAAK;IAAE,IAAI;IAAO,OAAO,EAAE,SAAS,aAAa;IAAE,EAAE,IAAI;;GAEpE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory.js","names":[],"sources":["../../../../../src/gateway/hono/routes/memory.ts"],"sourcesContent":["import type { Hono } from 'hono';\n\nimport { BuiltinMemoryStore } from '../../../agent/memory/builtin-memory-store.js';\nimport { createMemoryManagerFromConfig } from '../../../agent/memory/create-memory-manager.js';\nimport { resolveBuiltinMemoryStoreConfig } from '../../../agent/memory/memory-config.js';\nimport { discoverMemoryPlugins } from '../../../agent/memory/plugin-discovery.js';\nimport { resolveAdaptiveUnderstandingCadence } from '../../../agent/memory/understanding/quality.js';\nimport type {\n MemoryDisclosurePolicy,\n MemoryDurability,\n MemoryExplicitness,\n MemoryKind,\n MemorySensitivity,\n MemoryStatus,\n} from '../../../agent/memory/types.js';\nimport { resolveDefaultAgentId } from '../../../agent/agent-scope.js';\nimport type { Config } from '../../../config/schema.js';\nimport { UserContextConfigSchema } from '../../../user-context/config.js';\nimport { LOCAL_USER_ID } from '../../../user-context/owner.js';\nimport type { KnowledgeSynthesisStatus } from '../../../knowledge/types.js';\nimport {\n appendMemorySignal,\n appendMemoryTraceEvent,\n deleteMemoryRecord,\n findLatestMemoryInjectTrace,\n getMemoryRecord,\n listKnowledgeSourceChanges,\n listKnowledgeSourceItems,\n listKnowledgeSyncRuns,\n listMemoryRecords,\n listMemorySignals,\n listMemoryTraceEvents,\n searchMemoryRecords,\n setMemoryTraceFeedback,\n setLatestMemoryInjectFeedback,\n summarizeMemoryRecallFeedback,\n summarizeUserUnderstandingQuality,\n upsertMemoryRecord,\n} from '../../../storage/sqlite/index.js';\nimport { isUserContextRecord, projectUserContextRecord } from '../../../user-context/projection.js';\nimport type { AuthenticatedRouteDeps } from './deps.js';\n\nconst MEMORY_KINDS = new Set<MemoryKind>([\n 'user_profile',\n 'preference',\n 'boundary',\n 'relationship',\n 'project_context',\n 'commitment',\n 'routine',\n 'personal_logistics',\n 'open_question',\n 'milestone',\n 'current_state',\n 'curated_note',\n 'workspace_fact',\n 'daily_note',\n 'session_summary',\n 'derived_insight',\n 'task_lesson',\n 'tool_preference',\n 'long_term_goal',\n]);\n\nconst MEMORY_EXPLICITNESS = new Set<MemoryExplicitness>(['explicit', 'observed', 'inferred']);\nconst MEMORY_DURABILITY = new Set<MemoryDurability>(['ephemeral', 'durable', 'recurring']);\nconst MEMORY_DISCLOSURE_POLICIES = new Set<MemoryDisclosurePolicy>([\n 'silent', 'referenceable', 'ask_before_reference',\n]);\n\nconst MEMORY_STATUSES = new Set<MemoryStatus>([\n 'candidate',\n 'active',\n 'needs_review',\n 'stale',\n 'archived',\n 'rejected',\n]);\n\nconst MEMORY_SENSITIVITIES = new Set<MemorySensitivity>([\n 'normal',\n 'personal',\n 'secret',\n 'regulated',\n]);\n\nconst MEMORY_TRACE_FEEDBACK_OUTCOMES = new Set([\n 'helpful',\n 'not_helpful',\n 'mixed',\n 'irrelevant',\n]);\n\nconst KNOWLEDGE_SYNTHESIS_STATUSES = new Set<KnowledgeSynthesisStatus>([\n 'pending', 'processing', 'completed', 'failed', 'ignored',\n]);\n\nfunction parseLimit(raw: string | undefined, fallback = 100): number {\n const parsed = raw ? Number.parseInt(raw, 10) : fallback;\n return Number.isFinite(parsed) ? Math.max(1, Math.min(500, parsed)) : fallback;\n}\n\nfunction parseFeedbackSummaryLimit(raw: string | undefined): number {\n const parsed = raw ? Number.parseInt(raw, 10) : 1000;\n return Number.isFinite(parsed) ? Math.max(1, Math.min(5000, parsed)) : 1000;\n}\n\nfunction parseWindowDays(raw: string | undefined): number {\n const parsed = raw ? Number.parseInt(raw, 10) : 30;\n return Number.isFinite(parsed) ? Math.max(1, Math.min(365, parsed)) : 30;\n}\n\nfunction parseKind(raw: unknown): MemoryKind | undefined {\n return typeof raw === 'string' && MEMORY_KINDS.has(raw as MemoryKind)\n ? (raw as MemoryKind)\n : undefined;\n}\n\nfunction parseStatus(raw: unknown): MemoryStatus | undefined {\n return typeof raw === 'string' && MEMORY_STATUSES.has(raw as MemoryStatus)\n ? (raw as MemoryStatus)\n : undefined;\n}\n\nfunction parseSensitivity(raw: unknown): MemorySensitivity | undefined {\n return typeof raw === 'string' && MEMORY_SENSITIVITIES.has(raw as MemorySensitivity)\n ? (raw as MemorySensitivity)\n : undefined;\n}\n\nfunction parseEnum<T extends string>(raw: unknown, allowed: Set<T>): T | undefined {\n return typeof raw === 'string' && allowed.has(raw as T) ? raw as T : undefined;\n}\n\nfunction personalContextForTrace(trace: { selectedRecordIds: string[] } | null | undefined) {\n return (trace?.selectedRecordIds ?? [])\n .map((recordId) => getMemoryRecord(recordId))\n .filter((record): record is NonNullable<typeof record> => Boolean(record) && isUserContextRecord(record))\n .filter((record) => record.sensitivity !== 'secret' && record.sensitivity !== 'regulated')\n .filter((record) => record.disclosurePolicy !== 'silent')\n .map(projectUserContextRecord)\n .map(({ id, statement, facet, origin, sourceName }) => ({ id, statement, facet, origin, sourceName }));\n}\n\nexport function registerMemoryRoutes(authenticated: Hono, deps: AuthenticatedRouteDeps): void {\n authenticated.get('/api/user-context/providers', async (c) => {\n const cfg = deps.service.currentConfig as Config;\n const plugins = await discoverMemoryPlugins(cfg);\n return c.json({\n providers: [\n {\n id: 'local',\n displayName: 'Local Knowledge Store',\n available: true,\n configured: true,\n capabilities: {\n search: true,\n read: true,\n write: true,\n update: true,\n delete: true,\n keywordSearch: true,\n semanticSearch: false,\n hybridSearch: false,\n citations: true,\n sync: false,\n local: true,\n },\n },\n ...plugins.map((plugin) => ({\n id: plugin.manifest?.id ?? plugin.name,\n displayName: plugin.manifest?.displayName ?? plugin.name,\n available: plugin.available,\n configured: false,\n capabilities: plugin.manifest?.capabilities ?? {},\n })),\n ],\n });\n });\n\n authenticated.get('/api/user-context/config', (c) => {\n const cfg = deps.service.currentConfig as Config;\n return c.json({ userContext: cfg.userContext });\n });\n\n authenticated.put('/api/user-context/config', deps.strictRateLimitMiddleware, async (c) => {\n const cfg = deps.service.currentConfig as Config;\n const body = await c.req.json().catch(() => ({}));\n const parsed = UserContextConfigSchema.safeParse(body);\n if (!parsed.success) {\n return c.json({ error: `userContext ${parsed.error.issues[0]?.message ?? 'is invalid'}` }, 400);\n }\n const save = await deps.service.saveConfig({ ...cfg, userContext: parsed.data });\n if (!save.saved) return c.json({ error: save.error ?? 'save failed' }, 500);\n return c.json({ userContext: (deps.service.currentConfig as Config).userContext });\n });\n\n authenticated.get('/api/user-context/memories', (c) => {\n if (c.req.query('agentId')) return c.json({ error: 'agentId is not supported' }, 400);\n const records = listMemoryRecords({\n providerId: c.req.query('providerId') || undefined,\n userId: LOCAL_USER_ID,\n workspaceId: c.req.query('workspaceId') || undefined,\n projectId: c.req.query('projectId') || undefined,\n kind: parseKind(c.req.query('kind')),\n status: parseStatus(c.req.query('status')),\n limit: parseLimit(c.req.query('limit')),\n offset: c.req.query('offset') ? Number.parseInt(c.req.query('offset')!, 10) : 0,\n });\n return c.json({ records });\n });\n\n authenticated.post('/api/user-context/memories/search', async (c) => {\n const body = await c.req.json().catch(() => ({}));\n const query = typeof body.query === 'string' ? body.query.trim() : '';\n if (!query) {\n return c.json({ error: 'Missing required field: query' }, 400);\n }\n if (Object.hasOwn(body, 'agentId') || Object.hasOwn(body, 'userId')) {\n return c.json({ error: 'agentId and userId are not accepted' }, 400);\n }\n const records = searchMemoryRecords({\n query,\n providerId: typeof body.providerId === 'string' ? body.providerId : undefined,\n userId: LOCAL_USER_ID,\n workspaceId: typeof body.workspaceId === 'string' ? body.workspaceId : undefined,\n projectId: typeof body.projectId === 'string' ? body.projectId : undefined,\n kinds: Array.isArray(body.kinds)\n ? body.kinds.map(parseKind).filter((v): v is MemoryKind => Boolean(v))\n : undefined,\n statuses: Array.isArray(body.statuses)\n ? body.statuses.map(parseStatus).filter((v): v is MemoryStatus => Boolean(v))\n : undefined,\n maxResults: typeof body.maxResults === 'number' ? body.maxResults : undefined,\n minScore: typeof body.minScore === 'number' ? body.minScore : undefined,\n });\n return c.json({ results: records });\n });\n\n authenticated.post('/api/user-context/memories', async (c) => {\n const body = await c.req.json().catch(() => ({}));\n const kind = parseKind(body.kind);\n const content = typeof body.content === 'string' ? body.content.trim() : '';\n if (Object.hasOwn(body, 'agentId') || Object.hasOwn(body, 'userId')) {\n return c.json({ error: 'agentId and userId are not accepted' }, 400);\n }\n if (!kind || !content) {\n return c.json({ error: 'Missing required fields: kind, content' }, 400);\n }\n const record = upsertMemoryRecord({\n id: typeof body.id === 'string' && body.id.trim() ? body.id.trim() : undefined,\n providerId: typeof body.providerId === 'string' && body.providerId.trim() ? body.providerId.trim() : 'local',\n kind,\n sourceAgentId: resolveDefaultAgentId(deps.service.currentConfig as Config),\n workspaceId: typeof body.workspaceId === 'string' ? body.workspaceId : deps.service.currentWorkspacePath,\n sessionKey: typeof body.sessionKey === 'string' ? body.sessionKey : undefined,\n projectId: typeof body.projectId === 'string' ? body.projectId : undefined,\n content,\n source: body.source && typeof body.source === 'object' ? body.source : undefined,\n confidence: typeof body.confidence === 'number' ? body.confidence : undefined,\n tags: Array.isArray(body.tags) ? body.tags.filter((tag): tag is string => typeof tag === 'string') : undefined,\n status: parseStatus(body.status),\n sensitivity: parseSensitivity(body.sensitivity),\n canonicalKey: typeof body.canonicalKey === 'string' ? body.canonicalKey : undefined,\n explicitness: parseEnum(body.explicitness, MEMORY_EXPLICITNESS),\n durability: parseEnum(body.durability, MEMORY_DURABILITY),\n importance: typeof body.importance === 'number' ? body.importance : undefined,\n disclosurePolicy: parseEnum(body.disclosurePolicy, MEMORY_DISCLOSURE_POLICIES),\n evidence: Array.isArray(body.evidence)\n ? body.evidence.filter((item: unknown): item is NonNullable<Parameters<typeof upsertMemoryRecord>[0]['evidence']>[number] =>\n Boolean(item) && typeof item === 'object',\n )\n : undefined,\n reviewAfter: typeof body.reviewAfter === 'string' ? body.reviewAfter : undefined,\n expiresAt: typeof body.expiresAt === 'string' ? body.expiresAt : undefined,\n validFrom: typeof body.validFrom === 'string' ? body.validFrom : undefined,\n validTo: typeof body.validTo === 'string' ? body.validTo : undefined,\n supersedesRecordId: typeof body.supersedesRecordId === 'string' ? body.supersedesRecordId : undefined,\n conflictGroupId: typeof body.conflictGroupId === 'string' ? body.conflictGroupId : undefined,\n });\n return c.json({ record }, 201);\n });\n\n authenticated.put('/api/user-context/memories/:id', async (c) => {\n const existing = getMemoryRecord(c.req.param('id'));\n if (!existing) return c.json({ error: 'Memory record not found' }, 404);\n if (c.req.query('agentId')) return c.json({ error: 'agentId is not supported' }, 400);\n const body = await c.req.json().catch(() => ({}));\n const record = upsertMemoryRecord({\n id: existing.id,\n providerId: existing.source.provider ?? 'local',\n kind: parseKind(body.kind) ?? existing.kind,\n sourceAgentId: existing.provenance.sourceAgentId,\n workspaceId: existing.scope.workspaceId,\n sessionKey: existing.scope.sessionKey,\n projectId: typeof body.projectId === 'string' ? body.projectId : existing.scope.projectId,\n content: typeof body.content === 'string' ? body.content : existing.content,\n source: body.source && typeof body.source === 'object' ? body.source : existing.source,\n confidence: typeof body.confidence === 'number' ? body.confidence : existing.confidence,\n tags: Array.isArray(body.tags) ? body.tags.filter((tag): tag is string => typeof tag === 'string') : existing.tags,\n status: parseStatus(body.status) ?? existing.status,\n sensitivity: parseSensitivity(body.sensitivity) ?? existing.sensitivity,\n canonicalKey: typeof body.canonicalKey === 'string' ? body.canonicalKey : existing.canonicalKey,\n explicitness: parseEnum(body.explicitness, MEMORY_EXPLICITNESS) ?? existing.explicitness,\n durability: parseEnum(body.durability, MEMORY_DURABILITY) ?? existing.durability,\n importance: typeof body.importance === 'number' ? body.importance : existing.importance,\n disclosurePolicy: parseEnum(body.disclosurePolicy, MEMORY_DISCLOSURE_POLICIES) ?? existing.disclosurePolicy,\n evidence: Array.isArray(body.evidence)\n ? body.evidence.filter((item: unknown): item is NonNullable<Parameters<typeof upsertMemoryRecord>[0]['evidence']>[number] =>\n Boolean(item) && typeof item === 'object',\n )\n : existing.evidence,\n reviewAfter: typeof body.reviewAfter === 'string' ? body.reviewAfter : existing.reviewAfter,\n expiresAt: typeof body.expiresAt === 'string' ? body.expiresAt : existing.expiresAt,\n validFrom: typeof body.validFrom === 'string' ? body.validFrom : existing.validFrom,\n validTo: typeof body.validTo === 'string' ? body.validTo : existing.validTo,\n supersedesRecordId: typeof body.supersedesRecordId === 'string' ? body.supersedesRecordId : existing.supersedesRecordId,\n conflictGroupId: typeof body.conflictGroupId === 'string' ? body.conflictGroupId : existing.conflictGroupId,\n });\n return c.json({ record });\n });\n\n authenticated.delete('/api/user-context/memories/:id', (c) => {\n const existing = getMemoryRecord(c.req.param('id'));\n if (c.req.query('agentId')) return c.json({ error: 'agentId is not supported' }, 400);\n if (!existing || existing.scope.userId !== LOCAL_USER_ID) return c.json({ error: 'Memory record not found' }, 404);\n const deleted = deleteMemoryRecord(c.req.param('id'));\n if (!deleted) return c.json({ error: 'Memory record not found' }, 404);\n return c.json({ ok: true });\n });\n\n authenticated.get('/api/user-context/signals', (c) => {\n if (c.req.query('agentId')) return c.json({ error: 'agentId is not supported' }, 400);\n const signals = listMemorySignals({\n recordId: c.req.query('recordId') || undefined,\n providerId: c.req.query('providerId') || undefined,\n userId: LOCAL_USER_ID,\n workspaceId: c.req.query('workspaceId') || undefined,\n limit: parseLimit(c.req.query('limit')),\n });\n return c.json({ signals });\n });\n\n authenticated.get('/api/knowledge/source-items', (c) => {\n const sourceItems = listKnowledgeSourceItems({\n sourceInstanceId: c.req.query('sourceInstanceId') || undefined,\n synthesisStatus: parseEnum(c.req.query('synthesisStatus'), KNOWLEDGE_SYNTHESIS_STATUSES),\n includeDeleted: c.req.query('includeDeleted') === 'true',\n limit: parseLimit(c.req.query('limit')),\n offset: c.req.query('offset') ? Number.parseInt(c.req.query('offset')!, 10) : 0,\n });\n return c.json({ sourceItems });\n });\n\n authenticated.get('/api/knowledge/source-changes', (c) => {\n const afterSequenceQuery = c.req.query('afterSequence');\n const afterSequence = afterSequenceQuery ? Number.parseInt(afterSequenceQuery, 10) : undefined;\n const sourceChanges = listKnowledgeSourceChanges({\n sourceInstanceId: c.req.query('sourceInstanceId') || undefined,\n afterSequence: Number.isFinite(afterSequence) ? afterSequence : undefined,\n limit: parseLimit(c.req.query('limit')),\n });\n return c.json({ sourceChanges });\n });\n\n authenticated.get('/api/knowledge/sync-runs', (c) => {\n const syncRuns = listKnowledgeSyncRuns({\n sourceInstanceId: c.req.query('sourceInstanceId') || undefined,\n limit: parseLimit(c.req.query('limit')),\n });\n return c.json({ syncRuns });\n });\n\n authenticated.get('/api/user-context/traces', (c) => {\n const traces = listMemoryTraceEvents({\n providerId: c.req.query('providerId') || undefined,\n sessionKey: c.req.query('sessionKey') || undefined,\n phase: c.req.query('phase') || undefined,\n limit: parseLimit(c.req.query('limit')),\n });\n return c.json({ traces });\n });\n\n authenticated.patch('/api/user-context/traces/:traceId/feedback', async (c) => {\n const body = await c.req.json().catch(() => ({}));\n const outcome = typeof body.outcome === 'string' && MEMORY_TRACE_FEEDBACK_OUTCOMES.has(body.outcome)\n ? body.outcome\n : undefined;\n if (!outcome) {\n return c.json({ error: 'Missing or invalid required field: outcome' }, 400);\n }\n const source = body.source === 'user' || body.source === 'evaluator' || body.source === 'system'\n ? body.source\n : undefined;\n const trace = setMemoryTraceFeedback({\n traceId: c.req.param('traceId'),\n feedback: {\n outcome,\n ...(typeof body.score === 'number' ? { score: body.score } : {}),\n ...(typeof body.reason === 'string' ? { reason: body.reason } : {}),\n ...(source ? { source } : {}),\n },\n });\n if (!trace) return c.json({ error: 'Memory trace not found' }, 404);\n return c.json({ trace });\n });\n\n authenticated.get('/api/user-context/feedback-summary', (c) => {\n const summaries = summarizeMemoryRecallFeedback({\n recordId: c.req.query('recordId') || undefined,\n providerId: c.req.query('providerId') || undefined,\n sessionKey: c.req.query('sessionKey') || undefined,\n limit: parseFeedbackSummaryLimit(c.req.query('limit')),\n });\n return c.json({ summaries });\n });\n\n authenticated.get('/api/user-context/quality', (c) => {\n const cfg = deps.service.currentConfig as Config;\n const metrics = summarizeUserUnderstandingQuality({\n windowDays: parseWindowDays(c.req.query('windowDays')),\n });\n const baseIntervalTurns = cfg.userContext.understanding.reviewIntervalTurns;\n const cadence = resolveAdaptiveUnderstandingCadence(\n baseIntervalTurns,\n metrics,\n cfg.userContext.understanding.adaptiveCadence,\n );\n return c.json({ metrics, cadence });\n });\n\n authenticated.patch(\n '/api/user-context/understanding/response-feedback',\n deps.strictRateLimitMiddleware,\n async (c) => {\n const body = await c.req.json().catch(() => ({}));\n const sessionKey = typeof body.sessionKey === 'string' ? body.sessionKey.trim() : '';\n const assistantTimestamp = typeof body.assistantTimestamp === 'number'\n ? body.assistantTimestamp\n : Number.NaN;\n const outcome = body.outcome === 'helpful' || body.outcome === 'not_helpful'\n ? body.outcome\n : undefined;\n const reason = typeof body.reason === 'string'\n ? body.reason.trim().slice(0, 160)\n : '';\n if (!sessionKey || !Number.isFinite(assistantTimestamp) || assistantTimestamp <= 0 || !outcome) {\n return c.json({ error: 'sessionKey, assistantTimestamp, and a valid outcome are required' }, 400);\n }\n const trace = setLatestMemoryInjectFeedback({\n sessionKey,\n beforeMs: assistantTimestamp,\n feedback: {\n outcome,\n source: 'user',\n reason: reason || 'assistant_response_feedback',\n },\n });\n return c.json({\n matched: Boolean(trace),\n attributedRecordCount: trace?.selectedRecordIds.length ?? 0,\n personalContext: personalContextForTrace(trace),\n feedback: trace?.feedback ?? null,\n remediation: trace?.remediation ?? null,\n });\n },\n );\n\n authenticated.get('/api/user-context/understanding/response-feedback', (c) => {\n const sessionKey = c.req.query('sessionKey')?.trim() ?? '';\n const assistantTimestamp = Number(c.req.query('assistantTimestamp'));\n if (!sessionKey || !Number.isFinite(assistantTimestamp) || assistantTimestamp <= 0) {\n return c.json({ error: 'sessionKey and assistantTimestamp are required' }, 400);\n }\n const trace = findLatestMemoryInjectTrace({\n sessionKey,\n beforeMs: assistantTimestamp,\n });\n return c.json({\n matched: Boolean(trace),\n attributedRecordCount: trace?.selectedRecordIds.length ?? 0,\n personalContext: personalContextForTrace(trace),\n feedback: trace?.feedback ?? null,\n });\n });\n\n authenticated.post('/api/user-context/signals', async (c) => {\n const body = await c.req.json().catch(() => ({}));\n const source = typeof body.source === 'string' ? body.source : '';\n if (!source) return c.json({ error: 'Missing required field: source' }, 400);\n const signalId = appendMemorySignal({\n providerId: typeof body.providerId === 'string' ? body.providerId : undefined,\n sourceAgentId: resolveDefaultAgentId(deps.service.currentConfig as Config),\n workspaceId: typeof body.workspaceId === 'string' ? body.workspaceId : undefined,\n sessionKey: typeof body.sessionKey === 'string' ? body.sessionKey : undefined,\n signal: {\n source: source as never,\n recordId: typeof body.recordId === 'string' ? body.recordId : undefined,\n score: typeof body.score === 'number' ? body.score : undefined,\n content: typeof body.content === 'string' ? body.content : undefined,\n metadata: body.metadata && typeof body.metadata === 'object' ? body.metadata : undefined,\n },\n });\n return c.json({ signalId }, 201);\n });\n\n authenticated.post('/api/user-context/providers/:id/test', deps.strictRateLimitMiddleware, async (c) => {\n const providerId = c.req.param('id');\n const cfg = deps.service.currentConfig as Config;\n const workspace = deps.service.currentWorkspacePath;\n const store = new BuiltinMemoryStore(resolveBuiltinMemoryStoreConfig(workspace, cfg));\n const manager = createMemoryManagerFromConfig(workspace, store, cfg);\n await manager.initializeAll(`memory-provider-test-${Date.now()}`, { workspace, agentId: resolveDefaultAgentId(cfg) });\n const provider = manager.providersList.find((p) => p.id === providerId);\n if (!provider) return c.json({ providerId, available: false, checks: [{ name: 'load', ok: false, message: 'Provider not loaded' }] }, 404);\n\n const token = `xopc-memory-smoke-${Date.now()}`;\n const checks: Array<{ name: string; ok: boolean; message?: string; resultCount?: number }> = [\n { name: 'load', ok: true },\n { name: 'available', ok: provider.isAvailable() },\n ];\n const started = Date.now();\n try {\n const write = await manager.write({\n kind: 'workspace_fact',\n content: `Smoke test record for ${providerId}: ${token}`,\n scope: { userId: LOCAL_USER_ID },\n tags: ['xopc-smoke-test'],\n });\n checks.push({ name: 'write', ok: write.success, message: write.error ?? write.message });\n const results = await manager.search({ query: token, scope: { userId: LOCAL_USER_ID }, maxResults: 10 });\n const ownResults = results.filter((result) => result.citation.providerId === providerId);\n checks.push({ name: 'search', ok: ownResults.length > 0, resultCount: ownResults.length });\n const recordId = ownResults[0]?.record.id ?? write.record?.id;\n if (recordId) {\n const read = await manager.read({ id: recordId, scope: { userId: LOCAL_USER_ID } });\n checks.push({ name: 'read', ok: Boolean(read), message: read ? undefined : 'Record was not readable' });\n } else {\n checks.push({ name: 'read', ok: false, message: 'No record id available' });\n }\n manager.recordSignal({ source: 'search_recall', content: `Smoke signal for ${providerId}: ${token}` });\n checks.push({ name: 'sync', ok: true });\n } catch (err) {\n checks.push({ name: 'error', ok: false, message: err instanceof Error ? err.message : String(err) });\n } finally {\n appendMemoryTraceEvent({\n phase: 'test',\n providerId,\n request: { token },\n resultCount: checks.filter((check) => check.ok).length,\n error: checks.some((check) => !check.ok) ? 'one or more checks failed' : undefined,\n durationMs: Date.now() - started,\n });\n await manager.shutdownAll();\n }\n return c.json({ providerId, available: provider.isAvailable(), checks });\n });\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrations.js","names":[],"sources":["../../../../../src/gateway/hono/routes/migrations.ts"],"sourcesContent":["import type { Hono } from 'hono';\n\nimport { dirname } from 'node:path';\n\nimport { applyMigrations, detectMigrations } from '../../../migrations/runner.js';\nimport { resolveConfigPath } from '../../../config/paths.js';\nimport type { AuthenticatedRouteDeps } from './deps.js';\n\nexport function registerMigrationRoutes(authenticated: Hono, deps: AuthenticatedRouteDeps): void {\n const { service, strictRateLimitMiddleware } = deps;\n\n authenticated.get('/api/migrations/status', async (c) => {\n const configPath = service.getHealth().configPath || process.env.XOPC_CONFIG_PATH || resolveConfigPath();\n const items = detectMigrations(configPath, { stateDir: dirname(configPath) });\n return c.json({\n ok: items.every((item) => item.status !== 'error'),\n payload: {\n pending: items.length,\n items,\n },\n });\n });\n\n authenticated.post('/api/migrations/apply', strictRateLimitMiddleware, async (c) => {\n const configPath = service.getHealth().configPath || process.env.XOPC_CONFIG_PATH || resolveConfigPath();\n const result = applyMigrations(configPath, { stateDir: dirname(configPath), mode: 'doctor-fix' });\n if (result.changed) {\n await service.reloadConfig();\n }\n return c.json({\n ok: result.items.every((item) => item.status !== 'error' && item.status !== 'conflict'),\n payload: result,\n });\n });\n}\n"],"mappings":";;;;YAK6D;AAG7D,SAAgB,wBAAwB,eAAqB,MAAoC;CAC/F,MAAM,EAAE,SAAS,8BAA8B;AAE/C,eAAc,IAAI,0BAA0B,OAAO,MAAM;EACvD,MAAM,aAAa,QAAQ,WAAW,CAAC,cAAc,QAAQ,IAAI,oBAAoB,mBAAmB;EACxG,MAAM,QAAQ,iBAAiB,YAAY,EAAE,UAAU,QAAQ,WAAW,EAAE,CAAC;AAC7E,SAAO,EAAE,KAAK;GACZ,IAAI,MAAM,OAAO,SAAS,KAAK,WAAW,QAAQ;GAClD,SAAS;IACP,SAAS,MAAM;IACf;IACD;GACF,CAAC;GACF;AAEF,eAAc,KAAK,yBAAyB,2BAA2B,OAAO,MAAM;EAClF,MAAM,aAAa,QAAQ,WAAW,CAAC,cAAc,QAAQ,IAAI,oBAAoB,mBAAmB;EACxG,MAAM,SAAS,gBAAgB,YAAY;GAAE,UAAU,QAAQ,WAAW;GAAE,MAAM;GAAc,CAAC;AACjG,MAAI,OAAO,QACT,OAAM,QAAQ,cAAc;AAE9B,SAAO,EAAE,KAAK;GACZ,IAAI,OAAO,MAAM,OAAO,SAAS,KAAK,WAAW,WAAW,KAAK,WAAW,WAAW;GACvF,SAAS;GACV,CAAC;GACF"}