@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":"actions.js","names":[],"sources":["../../../../../src/cli/commands/session/actions.ts"],"sourcesContent":["/**\n * Session command action handlers\n */\n\nimport { createLogger } from '../../../utils/logger.js';\nimport type { SessionListQuery, ExportFormat, SessionStatus } from '../../../session/types.js';\nimport { getManager } from './utils.js';\n\nconst log = createLogger('SessionCommand');\n\nfunction formatMessageContentForCli(content: string | unknown[]): string {\n if (typeof content === 'string') {\n return content;\n }\n if (Array.isArray(content)) {\n return content\n .map((block) => {\n if (!block || typeof block !== 'object') return '';\n const b = block as Record<string, unknown>;\n if (b.type === 'text' && typeof b.text === 'string') return b.text;\n if (b.type === 'toolCall' || b.type === 'tool_use') return `[${String(b.name ?? 'tool')}]`;\n return '';\n })\n .join(' ');\n }\n return '';\n}\n\n// List sessions\nexport async function listSessions(options: {\n channel?: string;\n status?: string;\n tag: string[];\n query?: string;\n sort: string;\n order: string;\n limit: string;\n offset: string;\n}): Promise<void> {\n const manager = await getManager();\n\n const query: SessionListQuery = {\n channel: options.channel,\n status: options.status as SessionStatus,\n tags: options.tag.length > 0 ? options.tag : undefined,\n search: options.query,\n sortBy: options.sort as any,\n sortOrder: options.order as any,\n limit: parseInt(options.limit),\n offset: parseInt(options.offset),\n };\n\n const result = await manager.listSessions(query);\n\n console.log(`\\n📋 Sessions (${result.items.length} of ${result.total}):\\n`);\n\n if (result.items.length === 0) {\n console.log('No sessions found.');\n return;\n }\n\n console.log('Key'.padEnd(30) + 'Name'.padEnd(20) + 'Status'.padEnd(10) + 'Messages'.padEnd(10) + 'Updated');\n console.log('─'.repeat(90));\n\n for (const session of result.items) {\n const name = (session.name || '-').slice(0, 18).padEnd(20);\n const status = session.status.padEnd(10);\n const messages = String(session.messageCount).padEnd(10);\n const updated = new Date(session.updatedAt).toLocaleDateString();\n console.log(`${session.key.slice(0, 28).padEnd(30)}${name}${status}${messages}${updated}`);\n }\n\n if (result.hasMore) {\n console.log(`\\n... and ${result.total - result.offset - result.limit} more`);\n }\n\n console.log();\n}\n\n// Get session info\nexport async function getSessionInfo(key: string): Promise<void> {\n const manager = await getManager();\n const session = await manager.getSession(key);\n\n if (!session) {\n console.error(`❌ Session not found: ${key}`);\n process.exit(1);\n }\n\n console.log(`\\n📁 Session: ${session.key}\\n`);\n console.log(` Name: ${session.name || '-'}`);\n console.log(` Status: ${session.status}`);\n console.log(` Tags: ${session.tags.join(', ') || '-'}`);\n console.log(` Channel: ${session.sourceChannel}`);\n console.log(` Chat ID: ${session.sourceChatId}`);\n console.log(` Messages: ${session.messageCount}`);\n console.log(` Est. Tokens: ${session.estimatedTokens.toLocaleString()}`);\n console.log(` Compacted: ${session.compactedCount} times`);\n console.log(` Created: ${new Date(session.createdAt).toLocaleString()}`);\n console.log(` Updated: ${new Date(session.updatedAt).toLocaleString()}`);\n console.log(` Last Access: ${new Date(session.lastAccessedAt).toLocaleString()}`);\n\n if (session.messages.length > 0) {\n console.log(`\\n Recent Messages:`);\n const recent = session.messages.slice(-5);\n for (const msg of recent) {\n const role = msg.role.padEnd(10);\n const text = formatMessageContentForCli(msg.content);\n const preview = text.slice(0, 60).replace(/\\n/g, ' ');\n console.log(` ${role}: ${preview}${text.length > 60 ? '...' : ''}`);\n }\n }\n\n console.log();\n}\n\n// Delete session\nexport async function deleteSession(key: string, options: { force: boolean }): Promise<void> {\n if (!options.force) {\n const { confirm } = await import('@inquirer/prompts');\n const confirmed = await confirm({\n message: `Are you sure you want to delete session \"${key}\"?`,\n default: false,\n });\n if (!confirmed) {\n console.log('Cancelled.');\n return;\n }\n }\n\n const manager = await getManager();\n await manager.deleteSession(key);\n console.log(`✅ Session deleted: ${key}`);\n}\n\n// Delete multiple sessions\nexport async function deleteMany(options: {\n status?: string;\n channel?: string;\n force: boolean;\n}): Promise<void> {\n const manager = await getManager();\n\n const query: SessionListQuery = {\n status: options.status as SessionStatus,\n channel: options.channel,\n limit: 1000,\n };\n\n const result = await manager.listSessions(query);\n\n if (result.items.length === 0) {\n console.log('No sessions match the criteria.');\n return;\n }\n\n const keys = result.items.map((s) => s.key);\n console.log(`Found ${keys.length} sessions to delete.`);\n\n if (!options.force) {\n const { confirm } = await import('@inquirer/prompts');\n const confirmed = await confirm({\n message: `Delete ${keys.length} sessions?`,\n default: false,\n });\n if (!confirmed) {\n console.log('Cancelled.');\n return;\n }\n }\n\n const deleteResult = await manager.deleteSessions(keys);\n console.log(`✅ Deleted ${deleteResult.success.length} sessions`);\n if (deleteResult.failed.length > 0) {\n console.log(`❌ Failed to delete ${deleteResult.failed.length} sessions`);\n }\n}\n\n// Rename session\nexport async function renameSession(key: string, name: string): Promise<void> {\n const manager = await getManager();\n await manager.renameSession(key, name);\n console.log(`✅ Session renamed to: ${name}`);\n}\n\n// Tag session\nexport async function tagSession(key: string, tags: string[]): Promise<void> {\n const manager = await getManager();\n await manager.tagSession(key, tags);\n console.log(`✅ Tags added: ${tags.join(', ')}`);\n}\n\n// Untag session\nexport async function untagSession(key: string, tags: string[]): Promise<void> {\n const manager = await getManager();\n await manager.untagSession(key, tags);\n console.log(`✅ Tags removed: ${tags.join(', ')}`);\n}\n\n// Archive session\nexport async function archiveSession(key: string): Promise<void> {\n const manager = await getManager();\n await manager.archiveSession(key);\n console.log(`✅ Session archived: ${key}`);\n}\n\n// Unarchive session\nexport async function unarchiveSession(key: string): Promise<void> {\n const manager = await getManager();\n await manager.unarchiveSession(key);\n console.log(`✅ Session unarchived: ${key}`);\n}\n\n// Pin session\nexport async function pinSession(key: string): Promise<void> {\n const manager = await getManager();\n await manager.pinSession(key);\n console.log(`✅ Session pinned: ${key}`);\n}\n\n// Unpin session\nexport async function unpinSession(key: string): Promise<void> {\n const manager = await getManager();\n await manager.unpinSession(key);\n console.log(`✅ Session unpinned: ${key}`);\n}\n\n// Search sessions\nexport async function searchSessions(query: string): Promise<void> {\n const manager = await getManager();\n const sessions = await manager.searchSessions(query);\n\n console.log(`\\n🔍 Search results for \"${query}\" (${sessions.length} found):\\n`);\n\n if (sessions.length === 0) {\n console.log('No sessions found.');\n return;\n }\n\n for (const session of sessions) {\n console.log(` ${session.key}`);\n if (session.name) console.log(` Name: ${session.name}`);\n console.log(` Status: ${session.status} | Messages: ${session.messageCount}`);\n console.log(` Tags: ${session.tags.join(', ') || '-'}`);\n console.log();\n }\n}\n\n// Search within session\nexport async function grepSession(key: string, keyword: string): Promise<void> {\n const manager = await getManager();\n const messages = await manager.searchInSession(key, keyword);\n\n console.log(`\\n🔍 Found ${messages.length} messages containing \"${keyword}\":\\n`);\n\n for (const msg of messages) {\n const role = msg.role.padEnd(10);\n const text = formatMessageContentForCli(msg.content);\n const highlighted = text.replace(\n new RegExp(keyword, 'gi'),\n (match) => `\\x1b[33m${match}\\x1b[0m`\n );\n console.log(` ${role}: ${highlighted.slice(0, 200)}${text.length > 200 ? '...' : ''}\\n`);\n }\n}\n\n// Export session\nexport async function exportSession(\n key: string,\n options: { format: string; output?: string }\n): Promise<void> {\n const manager = await getManager();\n const format = options.format as ExportFormat;\n const content = await manager.exportSession(key, format);\n\n if (options.output) {\n const { writeFile } = await import('fs/promises');\n await writeFile(options.output, content);\n console.log(`✅ Exported to: ${options.output}`);\n } else {\n console.log(content);\n }\n}\n\n// Show stats\nexport async function showStats(): Promise<void> {\n const manager = await getManager();\n const stats = await manager.getStats();\n\n console.log('\\n📊 Session Statistics\\n');\n console.log(` Total Sessions: ${stats.totalSessions}`);\n console.log(` Active: ${stats.activeSessions}`);\n console.log(` Archived: ${stats.archivedSessions}`);\n console.log(` Pinned: ${stats.pinnedSessions}`);\n console.log(` Total Messages: ${stats.totalMessages.toLocaleString()}`);\n console.log(` Total Tokens: ${stats.totalTokens.toLocaleString()}`);\n\n if (stats.oldestSession) {\n console.log(` Oldest Session: ${new Date(stats.oldestSession).toLocaleDateString()}`);\n }\n if (stats.newestSession) {\n console.log(` Newest Session: ${new Date(stats.newestSession).toLocaleDateString()}`);\n }\n\n if (Object.keys(stats.byChannel).length > 0) {\n console.log('\\n By Channel:');\n for (const [channel, count] of Object.entries(stats.byChannel)) {\n console.log(` ${channel}: ${count}`);\n }\n }\n\n console.log();\n}\n\n// Cleanup old sessions\nexport async function cleanup(options: { days: string; force: boolean }): Promise<void> {\n const days = parseInt(options.days);\n\n if (!options.force) {\n const { confirm } = await import('@inquirer/prompts');\n const confirmed = await confirm({\n message: `Archive all sessions inactive for more than ${days} days?`,\n default: false,\n });\n if (!confirmed) {\n console.log('Cancelled.');\n return;\n }\n }\n\n const manager = await getManager();\n const count = await manager.archiveOldSessions(days);\n console.log(`✅ Archived ${count} sessions`);\n}\n\n// Error handler wrapper\nexport function handleError(error: unknown, message: string): never {\n log.error({ err: error }, message);\n process.exit(1);\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","names":[],"sources":["../../../../../src/cli/commands/session/utils.ts"],"sourcesContent":["/**\n * Session command utilities\n */\n\nimport { getSessionIndex } from '../../utils/session.js';\nimport { getContextWithOpts } from '../../context.js';\nimport type { SessionIndex } from '../../../session/index.js';\n\n/**\n * Get initialized session manager\n */\nexport async function getManager(): Promise<SessionIndex> {\n getContextWithOpts();\n return getSessionIndex();\n}\n\n/**\n * Collect multiple option values into array\n */\nexport function collect(value: string, previous: string[]): string[] {\n return previous.concat([value]);\n}\n"],"mappings":";;;;;;;;;AAWA,eAAsB,aAAoC;AACxD,qBAAoB;AACpB,QAAO,iBAAiB;;;;;AAM1B,SAAgB,QAAQ,OAAe,UAA8B;AACnE,QAAO,SAAS,OAAO,CAAC,MAAM,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.js","names":["actions.listSessions","actions.getSessionInfo","actions.deleteSession","actions.deleteMany","actions.renameSession","actions.tagSession","actions.untagSession","actions.archiveSession","actions.unarchiveSession","actions.pinSession","actions.unpinSession","actions.searchSessions","actions.grepSession","actions.exportSession","actions.showStats","actions.cleanup"],"sources":["../../../../src/cli/commands/session.ts"],"sourcesContent":["// Session management CLI commands\n\nimport { Command } from 'commander';\nimport { register, formatExamples, type CLIContext } from '../registry.js';\nimport { collect } from './session/utils.js';\nimport * as actions from './session/actions.js';\n\nfunction createSessionCommand(_ctx: CLIContext): Command {\n const sessionCmd = new Command('session')\n .description('Session management commands')\n .addHelpText(\n 'after',\n formatExamples([\n 'xopc session list # List all sessions',\n 'xopc session info <key> # Show session details',\n 'xopc session delete <key> # Delete a session',\n 'xopc session rename <key> <name> # Rename a session',\n 'xopc session tag <key> <tag1> <tag2> # Add tags',\n 'xopc session archive <key> # Archive session',\n 'xopc session search <query> # Search sessions',\n 'xopc session export <key> # Export session',\n 'xopc session stats # Show statistics',\n ])\n );\n\n // List sessions\n sessionCmd\n .command('list')\n .description('List all sessions')\n .option('-c, --channel <channel>', 'Filter by channel (telegram, gateway, cli)')\n .option('-s, --status <status>', 'Filter by status (active, idle, archived, pinned)')\n .option('-t, --tag <tag>', 'Filter by tag (can be used multiple times)', collect, [])\n .option('-q, --query <query>', 'Search query')\n .option('--sort <field>', 'Sort by field (updatedAt, createdAt, messageCount, lastAccessedAt)', 'updatedAt')\n .option('--order <order>', 'Sort order (asc, desc)', 'desc')\n .option('-l, --limit <n>', 'Limit results', '20')\n .option('-o, --offset <n>', 'Offset for pagination', '0')\n .action(async (options) => {\n try {\n await actions.listSessions(options);\n } catch (error) {\n actions.handleError(error, 'Failed to list sessions');\n }\n });\n\n // Get session info\n sessionCmd\n .command('info <key>')\n .description('Get detailed information about a session')\n .action(async (key) => {\n try {\n await actions.getSessionInfo(key);\n } catch (error) {\n actions.handleError(error, 'Failed to get session info');\n }\n });\n\n // Delete session\n sessionCmd\n .command('delete <key>')\n .description('Delete a session')\n .option('-f, --force', 'Skip confirmation', false)\n .action(async (key, options) => {\n try {\n await actions.deleteSession(key, options);\n } catch (error) {\n actions.handleError(error, 'Failed to delete session');\n }\n });\n\n // Delete multiple sessions\n sessionCmd\n .command('delete-many')\n .description('Delete multiple sessions by status or channel')\n .option('-s, --status <status>', 'Delete all sessions with this status')\n .option('-c, --channel <channel>', 'Delete all sessions from this channel')\n .option('-f, --force', 'Skip confirmation', false)\n .action(async (options) => {\n try {\n await actions.deleteMany(options);\n } catch (error) {\n actions.handleError(error, 'Failed to delete sessions');\n }\n });\n\n // Rename session\n sessionCmd\n .command('rename <key> <name>')\n .description('Rename a session')\n .action(async (key, name) => {\n try {\n await actions.renameSession(key, name);\n } catch (error) {\n actions.handleError(error, 'Failed to rename session');\n }\n });\n\n // Tag session\n sessionCmd\n .command('tag <key> <tags...>')\n .description('Add tags to a session')\n .action(async (key, tags) => {\n try {\n await actions.tagSession(key, tags);\n } catch (error) {\n actions.handleError(error, 'Failed to tag session');\n }\n });\n\n // Untag session\n sessionCmd\n .command('untag <key> <tags...>')\n .description('Remove tags from a session')\n .action(async (key, tags) => {\n try {\n await actions.untagSession(key, tags);\n } catch (error) {\n actions.handleError(error, 'Failed to untag session');\n }\n });\n\n // Archive session\n sessionCmd\n .command('archive <key>')\n .description('Archive a session')\n .action(async (key) => {\n try {\n await actions.archiveSession(key);\n } catch (error) {\n actions.handleError(error, 'Failed to archive session');\n }\n });\n\n // Unarchive session\n sessionCmd\n .command('unarchive <key>')\n .description('Unarchive a session')\n .action(async (key) => {\n try {\n await actions.unarchiveSession(key);\n } catch (error) {\n actions.handleError(error, 'Failed to unarchive session');\n }\n });\n\n // Pin session\n sessionCmd\n .command('pin <key>')\n .description('Pin a session')\n .action(async (key) => {\n try {\n await actions.pinSession(key);\n } catch (error) {\n actions.handleError(error, 'Failed to pin session');\n }\n });\n\n // Unpin session\n sessionCmd\n .command('unpin <key>')\n .description('Unpin a session')\n .action(async (key) => {\n try {\n await actions.unpinSession(key);\n } catch (error) {\n actions.handleError(error, 'Failed to unpin session');\n }\n });\n\n // Search sessions\n sessionCmd\n .command('search <query>')\n .description('Search sessions by name, key, or tags')\n .action(async (query) => {\n try {\n await actions.searchSessions(query);\n } catch (error) {\n actions.handleError(error, 'Failed to search sessions');\n }\n });\n\n // Search within session\n sessionCmd\n .command('grep <key> <keyword>')\n .description('Search for a keyword within a session')\n .action(async (key, keyword) => {\n try {\n await actions.grepSession(key, keyword);\n } catch (error) {\n actions.handleError(error, 'Failed to search in session');\n }\n });\n\n // Export session\n sessionCmd\n .command('export <key>')\n .description('Export a session')\n .option('-f, --format <format>', 'Export format (json, markdown)', 'json')\n .option('-o, --output <path>', 'Output file path')\n .action(async (key, options) => {\n try {\n await actions.exportSession(key, options);\n } catch (error) {\n actions.handleError(error, 'Failed to export session');\n }\n });\n\n // Stats\n sessionCmd\n .command('stats')\n .description('Show session statistics')\n .action(async () => {\n try {\n await actions.showStats();\n } catch (error) {\n actions.handleError(error, 'Failed to get stats');\n }\n });\n\n // Archive old sessions\n sessionCmd\n .command('cleanup')\n .description('Archive sessions older than N days')\n .option('-d, --days <n>', 'Days of inactivity before archiving', '30')\n .option('-f, --force', 'Skip confirmation', false)\n .action(async (options) => {\n try {\n await actions.cleanup(options);\n } catch (error) {\n actions.handleError(error, 'Failed to cleanup sessions');\n }\n });\n\n return sessionCmd;\n}\n\nregister({\n id: 'session',\n name: 'session',\n description: 'Session management commands',\n factory: createSessionCommand,\n metadata: {\n category: 'maintenance',\n examples: [\n 'xopc session list',\n 'xopc session info telegram:dm:123456',\n 'xopc session delete telegram:g:-100123456',\n 'xopc session export telegram:dm:123456 --format markdown',\n ],\n },\n});\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"output.js","names":[],"sources":["../../../../../src/cli/commands/setup-shared/output.ts"],"sourcesContent":["import { colors } from '../../utils/colors.js';\nimport type { SetupOutcome } from './types.js';\n\n/**\n * Single-line JSON for `--json` mode. Agents (M2) parse stdout, so we keep\n * this stable: `{ ok, action, domain, target?, changedPaths, dryRun, errors?,\n * value?, notes? }`.\n */\nexport function printJsonOutcome(outcome: SetupOutcome): void {\n const payload: Record<string, unknown> = {\n ok: outcome.ok,\n action: outcome.action,\n domain: outcome.domain,\n changedPaths: outcome.changedPaths,\n dryRun: outcome.dryRun,\n };\n if (outcome.target !== undefined) payload.target = outcome.target;\n if (outcome.errors?.length) payload.errors = outcome.errors;\n if (outcome.value !== undefined) payload.value = outcome.value;\n if (outcome.notes?.length) payload.notes = outcome.notes;\n process.stdout.write(JSON.stringify(payload) + '\\n');\n}\n\nconst ACTION_VERB: Record<SetupOutcome['action'], string> = {\n add: 'Added',\n set: 'Updated',\n remove: 'Removed',\n noop: 'No change',\n};\n\nexport function printTextOutcome(outcome: SetupOutcome): void {\n if (!outcome.ok) {\n console.error(colors.red('✗') + ' ' + colors.bold(`${outcome.domain} ${outcome.action}`) + ' failed');\n for (const err of outcome.errors ?? []) {\n const where = err.path ? colors.gray(`[${err.path}] `) : '';\n console.error(` ${where}${err.message}`);\n }\n return;\n }\n\n const target = outcome.target ? ` ${colors.bold(outcome.target)}` : '';\n const verb = ACTION_VERB[outcome.action];\n const dryRun = outcome.dryRun ? colors.yellow(' [dry-run]') : '';\n console.log(colors.green('✓') + ` ${verb} ${outcome.domain}${target}${dryRun}`);\n\n if (outcome.changedPaths.length > 0) {\n console.log(colors.gray(' Changed paths:'));\n for (const path of outcome.changedPaths) {\n console.log(` ${colors.cyan(path)}`);\n }\n } else if (outcome.action === 'noop') {\n console.log(colors.gray(' Nothing to change.'));\n }\n\n for (const note of outcome.notes ?? []) {\n console.log(` ${colors.gray('→')} ${note}`);\n }\n}\n\nexport function emitOutcome(outcome: SetupOutcome, json: boolean): void {\n if (json) {\n printJsonOutcome(outcome);\n } else {\n printTextOutcome(outcome);\n }\n}\n"],"mappings":";;;;;;;AAQA,SAAgB,iBAAiB,SAA6B;CAC5D,MAAM,UAAmC;EACvC,IAAI,QAAQ;EACZ,QAAQ,QAAQ;EAChB,QAAQ,QAAQ;EAChB,cAAc,QAAQ;EACtB,QAAQ,QAAQ;EACjB;AACD,KAAI,QAAQ,WAAW,KAAA,EAAW,SAAQ,SAAS,QAAQ;AAC3D,KAAI,QAAQ,QAAQ,OAAQ,SAAQ,SAAS,QAAQ;AACrD,KAAI,QAAQ,UAAU,KAAA,EAAW,SAAQ,QAAQ,QAAQ;AACzD,KAAI,QAAQ,OAAO,OAAQ,SAAQ,QAAQ,QAAQ;AACnD,SAAQ,OAAO,MAAM,KAAK,UAAU,QAAQ,GAAG,KAAK;;AAGtD,MAAM,cAAsD;CAC1D,KAAK;CACL,KAAK;CACL,QAAQ;CACR,MAAM;CACP;AAED,SAAgB,iBAAiB,SAA6B;AAC5D,KAAI,CAAC,QAAQ,IAAI;AACf,UAAQ,MAAM,OAAO,IAAI,IAAI,GAAG,MAAM,OAAO,KAAK,GAAG,QAAQ,OAAO,GAAG,QAAQ,SAAS,GAAG,UAAU;AACrG,OAAK,MAAM,OAAO,QAAQ,UAAU,EAAE,EAAE;GACtC,MAAM,QAAQ,IAAI,OAAO,OAAO,KAAK,IAAI,IAAI,KAAK,IAAI,GAAG;AACzD,WAAQ,MAAM,KAAK,QAAQ,IAAI,UAAU;;AAE3C;;CAGF,MAAM,SAAS,QAAQ,SAAS,IAAI,OAAO,KAAK,QAAQ,OAAO,KAAK;CACpE,MAAM,OAAO,YAAY,QAAQ;CACjC,MAAM,SAAS,QAAQ,SAAS,OAAO,OAAO,aAAa,GAAG;AAC9D,SAAQ,IAAI,OAAO,MAAM,IAAI,GAAG,IAAI,KAAK,GAAG,QAAQ,SAAS,SAAS,SAAS;AAE/E,KAAI,QAAQ,aAAa,SAAS,GAAG;AACnC,UAAQ,IAAI,OAAO,KAAK,mBAAmB,CAAC;AAC5C,OAAK,MAAM,QAAQ,QAAQ,aACzB,SAAQ,IAAI,OAAO,OAAO,KAAK,KAAK,GAAG;YAEhC,QAAQ,WAAW,OAC5B,SAAQ,IAAI,OAAO,KAAK,uBAAuB,CAAC;AAGlD,MAAK,MAAM,QAAQ,QAAQ,SAAS,EAAE,CACpC,SAAQ,IAAI,KAAK,OAAO,KAAK,IAAI,CAAC,GAAG,OAAO;;AAIhD,SAAgB,YAAY,SAAuB,MAAqB;AACtE,KAAI,KACF,kBAAiB,QAAQ;KAEzB,kBAAiB,QAAQ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompts.js","names":[],"sources":["../../../../../src/cli/commands/setup-shared/prompts.ts"],"sourcesContent":["import { password } from '@inquirer/prompts';\n\n/**\n * Prompt for a secret value (API key, token, etc.) without echoing it to the\n * terminal. Returns the trimmed string, or throws `ExitPromptError` if the\n * user cancels with Ctrl+C — callers should let it propagate and exit\n * with `SETUP_EXIT.CANCELLED`.\n */\nexport async function promptSecret(message: string): Promise<string> {\n const value = await password({\n message,\n mask: '*',\n validate: (input) => (input.trim().length > 0 ? true : 'Value cannot be empty'),\n });\n return value.trim();\n}\n\n/**\n * True if running in a non-interactive context (no TTY, CI, etc.). Used to\n * skip interactive prompts and require flags instead.\n */\nexport function isInteractive(): boolean {\n return Boolean(process.stdin.isTTY && process.stdout.isTTY);\n}\n\n/**\n * Detect `@inquirer/prompts` Ctrl+C cancellation. Matches both the modern\n * `ExitPromptError` name and the legacy `prompt was cancelled` message.\n */\nexport function isPromptCancelled(error: unknown): boolean {\n if (!error || typeof error !== 'object') return false;\n const err = error as { name?: string; message?: string };\n return err.name === 'ExitPromptError' || /cancel/i.test(err.message ?? '');\n}\n"],"mappings":";;;;;;;;AAQA,eAAsB,aAAa,SAAkC;AAMnE,SAAO,MALa,SAAS;EAC3B;EACA,MAAM;EACN,WAAW,UAAW,MAAM,MAAM,CAAC,SAAS,IAAI,OAAO;EACxD,CAAC,EACW,MAAM;;;;;;AAOrB,SAAgB,gBAAyB;AACvC,QAAO,QAAQ,QAAQ,MAAM,SAAS,QAAQ,OAAO,MAAM;;;;;;AAO7D,SAAgB,kBAAkB,OAAyB;AACzD,KAAI,CAAC,SAAS,OAAO,UAAU,SAAU,QAAO;CAChD,MAAM,MAAM;AACZ,QAAO,IAAI,SAAS,qBAAqB,UAAU,KAAK,IAAI,WAAW,GAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"runner.js","names":[],"sources":["../../../../../src/cli/commands/setup-shared/runner.ts"],"sourcesContent":["import { ZodError } from 'zod';\n\nimport { loadConfig, saveConfig } from '../../../config/index.js';\nimport { ConfigSchema, type Config } from '../../../config/schema.js';\nimport { diffConfigPaths } from '../../../config/diff.js';\n\nimport { emitOutcome } from './output.js';\nimport { isPromptCancelled } from './prompts.js';\nimport {\n SETUP_EXIT,\n type SetupAction,\n type SetupError,\n type SetupOutcome,\n type SetupRunOptions,\n} from './types.js';\n\n/** Thrown by a {@link SetupMutator.mutate} to fail the run with a clean message. */\nexport class SetupValidationError extends Error {\n readonly errors: SetupError[];\n\n constructor(errors: SetupError[] | SetupError | string) {\n const list: SetupError[] = Array.isArray(errors)\n ? errors\n : typeof errors === 'string'\n ? [{ message: errors }]\n : [errors];\n super(list.map((e) => (e.path ? `[${e.path}] ${e.message}` : e.message)).join('; '));\n this.name = 'SetupValidationError';\n this.errors = list;\n }\n}\n\nexport interface SetupMutator {\n /** Logical domain — `providers`, `channels.<id>`, etc. */\n domain: string;\n /** Target id within the domain (provider id, account id, …). */\n target?: string;\n /** What the operation is conceptually doing. */\n action: SetupAction;\n /** Mutates `config` in place (or returns a replacement) and returns it. */\n mutate(config: Config): Config | Promise<Config>;\n /** Optional masked value to surface in the outcome (for agents / UI). */\n resultValue?(config: Config): unknown;\n /** Optional human-readable notes appended to the outcome. */\n notes?(config: Config): string[];\n}\n\nexport interface RunSetupArgs {\n configPath: string;\n mutator: SetupMutator;\n options: SetupRunOptions;\n}\n\nfunction zodErrorToSetupErrors(err: ZodError): SetupError[] {\n return err.issues.map((issue) => ({\n path: issue.path.join('.') || undefined,\n message: issue.message,\n }));\n}\n\n/**\n * Headless setup pipeline — load → clone → mutate → validate(zod) → diff →\n * (write | dry-run) → outcome. Returns the {@link SetupOutcome} without any\n * I/O side effects (no stdout, no `process.exitCode`).\n *\n * Used by CLI setup commands via {@link runSetup}. Keep this side-effect-free\n * so it stays safe to call from tests and other programmatic callers.\n *\n * Custom errors thrown by the mutator surface as `errors[]` on the outcome:\n * - `SetupValidationError` — explicit `{path?, message}[]` entries\n * - `ExitPromptError` (from `@inquirer/prompts`) — surfaced as \"Cancelled by user\"\n * - any other `Error` — the message is used verbatim\n */\nexport async function runSetupHeadless(args: RunSetupArgs): Promise<SetupOutcome> {\n const { configPath, mutator, options } = args;\n\n let before: Config;\n try {\n before = loadConfig(configPath);\n } catch (error) {\n return {\n ok: false,\n action: mutator.action,\n domain: mutator.domain,\n target: mutator.target,\n changedPaths: [],\n dryRun: options.dryRun,\n errors: [{ message: `Failed to load config: ${(error as Error).message}` }],\n };\n }\n\n // `loadConfig` parses through the schema once, but the schema isn't fully\n // idempotent — re-parsing a result can fill in deeper defaults that the\n // first pass left undefined. To avoid false-positive diffs against those\n // defaults, normalize both sides through one extra parse cycle.\n const baselineParsed = ConfigSchema.safeParse(structuredClone(before));\n const baseline: Config = baselineParsed.success ? baselineParsed.data : before;\n\n const cloneBefore = structuredClone(before);\n let mutated: Config;\n try {\n mutated = await mutator.mutate(cloneBefore);\n } catch (error) {\n if (isPromptCancelled(error)) {\n return {\n ok: false,\n action: mutator.action,\n domain: mutator.domain,\n target: mutator.target,\n changedPaths: [],\n dryRun: options.dryRun,\n errors: [{ message: 'Cancelled by user' }],\n };\n }\n const errors =\n error instanceof SetupValidationError\n ? error.errors\n : [{ message: (error as Error).message }];\n return {\n ok: false,\n action: mutator.action,\n domain: mutator.domain,\n target: mutator.target,\n changedPaths: [],\n dryRun: options.dryRun,\n errors,\n };\n }\n\n // Validate the full config (catches invariants beyond the mutator's scope).\n const parsed = ConfigSchema.safeParse(mutated);\n if (!parsed.success) {\n return {\n ok: false,\n action: mutator.action,\n domain: mutator.domain,\n target: mutator.target,\n changedPaths: [],\n dryRun: options.dryRun,\n errors: zodErrorToSetupErrors(parsed.error),\n };\n }\n const validated = parsed.data;\n\n const changedPaths = diffConfigPaths(baseline, validated);\n const action: SetupAction = changedPaths.length === 0 ? 'noop' : mutator.action;\n\n if (changedPaths.length > 0 && !options.dryRun) {\n try {\n await saveConfig(validated, configPath);\n } catch (error) {\n return {\n ok: false,\n action: mutator.action,\n domain: mutator.domain,\n target: mutator.target,\n changedPaths,\n dryRun: false,\n errors: [{ message: `Failed to save config: ${(error as Error).message}` }],\n };\n }\n }\n\n return {\n ok: true,\n action,\n domain: mutator.domain,\n target: mutator.target,\n changedPaths,\n dryRun: options.dryRun,\n value: mutator.resultValue?.(validated),\n notes: mutator.notes?.(validated),\n };\n}\n\n/**\n * CLI wrapper around {@link runSetupHeadless}: emits the outcome to stdout\n * (text or single-line JSON) and sets `process.exitCode` to the standard\n * setup exit codes (0 ok / 1 error / 2 cancelled).\n *\n * Use this from CLI command actions; use {@link runSetupHeadless} from any\n * non-CLI caller (HTTP routes, library code, tests).\n */\nexport async function runSetup(args: RunSetupArgs): Promise<SetupOutcome> {\n const outcome = await runSetupHeadless(args);\n emitOutcome(outcome, args.options.json);\n if (outcome.ok) {\n process.exitCode = SETUP_EXIT.OK;\n } else if (outcome.errors?.some((e) => /cancelled/i.test(e.message))) {\n process.exitCode = SETUP_EXIT.CANCELLED;\n } else {\n process.exitCode = SETUP_EXIT.ERROR;\n }\n return outcome;\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/cli/commands/setup-shared/types.ts"],"sourcesContent":["/**\n * Shared types for `xopc <domain>` setup-style commands (providers / channels / ...).\n *\n * Every setup command runs the same load → mutate → validate → diff → write\n * pipeline, and emits the same structured outcome so agents (M2 skills) and the\n * WebUI (M3) can consume results uniformly.\n */\n\nexport type SetupAction = 'add' | 'set' | 'remove' | 'noop';\n\nexport interface SetupError {\n /** Dot path of the offending field, when known (e.g. `providers.openai.apiKey`). */\n path?: string;\n message: string;\n}\n\nexport interface SetupOutcome {\n ok: boolean;\n action: SetupAction;\n /** Logical domain — `providers`, `channels.<id>`, etc. */\n domain: string;\n /** Specific target id within the domain (provider id, account id, etc.). */\n target?: string;\n /** Config dot paths that differ between before and after. */\n changedPaths: string[];\n /** True when run with `--dry-run`. Nothing was written. */\n dryRun: boolean;\n /** Validation / I/O errors. Empty when ok. */\n errors?: SetupError[];\n /** Resulting (masked) value of the mutated entry, for agent / UI display. */\n value?: unknown;\n /** Human-readable summary lines for text output. */\n notes?: string[];\n}\n\nexport interface SetupRunOptions {\n /** When true, validate + diff but do not write. */\n dryRun: boolean;\n /** When true, emit a single JSON line on stdout and stay silent otherwise. */\n json: boolean;\n}\n\n/**\n * Standardized exit codes for setup-style commands. Set on `process.exitCode`\n * (don't call `process.exit` directly so JSON output flushes cleanly).\n */\nexport const SETUP_EXIT = {\n OK: 0,\n ERROR: 1,\n CANCELLED: 2,\n} as const;\n"],"mappings":";;;;;AA8CA,MAAa,aAAa;CACxB,IAAI;CACJ,OAAO;CACP,WAAW;CACZ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup.js","names":[],"sources":["../../../../src/cli/commands/setup.ts"],"sourcesContent":["import { Command } from 'commander';\nimport { existsSync } from 'fs';\nimport { register, formatExamples, type CLIContext } from '../registry.js';\nimport { initWorkspace } from '../utils/init-workspace.js';\n\nfunction createSetupCommand(ctx: CLIContext): Command {\n const cmd = new Command('setup')\n .description('Initialize config file and workspace directory')\n .addHelpText(\n 'after',\n formatExamples([\n 'xopc setup # Create config + workspace',\n 'xopc setup --workspace /path # Custom workspace path',\n 'xopc init # Full state dirs + agent profile seeds',\n ])\n )\n .option('--workspace <path>', 'Workspace directory path', ctx.workspacePath)\n .action(async (options) => {\n const workspacePath = options.workspace || ctx.workspacePath;\n const configPath = ctx.configPath;\n\n console.log('🔧 xopc Setup\\n');\n console.log('═'.repeat(40));\n\n // Check current status\n const configExists = existsSync(configPath);\n const workspaceExists = existsSync(workspacePath);\n\n console.log('\\n📊 Current Status:');\n console.log(` Config: ${configExists ? '✅ exists' : '❌ not found'}`);\n console.log(` Workspace: ${workspaceExists ? '✅ setup' : '❌ not found'}`);\n\n const result = await initWorkspace({ configPath, workspacePath });\n\n if (result.configCreated) {\n console.log('\\n📝 Created config file.');\n } else {\n console.log('\\n📝 Config already present (verified).');\n }\n\n if (result.workspaceCreated) {\n console.log('\\n📁 Created workspace.');\n } else {\n console.log('\\n📁 Workspace already present (verified).');\n }\n\n console.log('\\n' + '═'.repeat(40));\n console.log('\\n✅ Setup complete!\\n');\n\n console.log('📁 Files:');\n console.log(' Config:', configPath);\n console.log(' Workspace:', workspacePath);\n\n console.log('\\n🚀 Next Steps:');\n console.log(' xopc init # Full Agent OS dirs (optional, beyond setup)');\n console.log(' xopc onboard # Run full setup wizard');\n console.log(' xopc onboard --model # Configure model only');\n console.log(' xopc onboard --channels # Configure channels only');\n });\n\n return cmd;\n}\n\nregister({\n id: 'setup',\n name: 'setup',\n description: 'Initialize config file and workspace directory',\n factory: createSetupCommand,\n metadata: {\n category: 'setup',\n examples: [\n 'xopc setup',\n 'xopc setup --workspace ~/.my-workspace',\n ],\n },\n});\n"],"mappings":";;;;;AAKA,SAAS,mBAAmB,KAA0B;AAuDpD,QAtDY,IAAI,QAAQ,QAAQ,CAC7B,YAAY,iDAAiD,CAC7D,YACC,SACA,eAAe;EACb;EACA;EACA;EACD,CAAC,CACH,CACA,OAAO,sBAAsB,4BAA4B,IAAI,cAAc,CAC3E,OAAO,OAAO,YAAY;EACzB,MAAM,gBAAgB,QAAQ,aAAa,IAAI;EAC/C,MAAM,aAAa,IAAI;AAEvB,UAAQ,IAAI,kBAAkB;AAC9B,UAAQ,IAAI,IAAI,OAAO,GAAG,CAAC;EAG3B,MAAM,eAAe,WAAW,WAAW;EAC3C,MAAM,kBAAkB,WAAW,cAAc;AAEjD,UAAQ,IAAI,uBAAuB;AACnC,UAAQ,IAAI,cAAc,eAAe,aAAa,gBAAgB;AACtE,UAAQ,IAAI,iBAAiB,kBAAkB,YAAY,gBAAgB;EAE3E,MAAM,SAAS,MAAM,cAAc;GAAE;GAAY;GAAe,CAAC;AAEjE,MAAI,OAAO,cACT,SAAQ,IAAI,4BAA4B;MAExC,SAAQ,IAAI,0CAA0C;AAGxD,MAAI,OAAO,iBACT,SAAQ,IAAI,0BAA0B;MAEtC,SAAQ,IAAI,6CAA6C;AAG3D,UAAQ,IAAI,OAAO,IAAI,OAAO,GAAG,CAAC;AAClC,UAAQ,IAAI,wBAAwB;AAEpC,UAAQ,IAAI,YAAY;AACxB,UAAQ,IAAI,cAAc,WAAW;AACrC,UAAQ,IAAI,iBAAiB,cAAc;AAE3C,UAAQ,IAAI,mBAAmB;AAC/B,UAAQ,IAAI,6EAA6E;AACzF,UAAQ,IAAI,uDAAuD;AACnE,UAAQ,IAAI,sDAAsD;AAClE,UAAQ,IAAI,wDAAwD;GAG9D;;AAGZ,SAAS;CACP,IAAI;CACJ,MAAM;CACN,aAAa;CACb,SAAS;CACT,UAAU;EACR,UAAU;EACV,UAAU,CACR,cACA,yCACD;EACF;CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills-test.js","names":[],"sources":["../../../../src/cli/commands/skills-test.ts"],"sourcesContent":["/**\n * Skills Test CLI Command\n * \n * Test and validate skills\n */\n\nimport { Command } from 'commander';\nimport { join } from 'path';\nimport { createLogger } from '../../utils/logger.js';\nimport { \n SkillTestFramework,\n SkillTestRunner,\n formatTestResults,\n formatTestResultsJson,\n formatTestResultsTap,\n} from '../../agent/skills/index.js';\nimport { resolveBundledSkillsDir } from '../../config/paths.js';\nimport type { CLIContext } from '../registry.js';\n\nconst log = createLogger('cli:skills-test');\n\nfunction createSkillsTestCommand(_ctx: CLIContext): Command {\n const cmd = new Command('test')\n .description('Test and validate skills')\n .argument('[skill-name]', 'Specific skill to test (default: all skills)')\n .option('--skills-dir <path>', 'Skills directory to test')\n .option('--format <format>', 'Output format: text, json, tap', 'text')\n .option('--verbose', 'Show detailed output')\n .option('--skip-security', 'Skip security tests')\n .option('--skip-deps', 'Skip dependency tests')\n .option('--skip-examples', 'Skip example tests')\n .option('--strict', 'Strict mode - fail on warnings')\n .option('--timeout <ms>', 'Timeout for example tests', '10000')\n .action(async (skillName, options) => {\n const skillsDir = options.skillsDir \n ? join(process.cwd(), options.skillsDir)\n : resolveBundledSkillsDir() || join(process.cwd(), 'skills');\n\n log.info({ skillsDir, skillName }, 'Running skill tests');\n\n try {\n if (skillName) {\n // Test specific skill\n const skillDir = join(skillsDir, skillName);\n const framework = new SkillTestFramework({\n skipSecurity: options.skipSecurity,\n skipDeps: options.skipDeps,\n skipExamples: options.skipExamples,\n strict: options.strict,\n exampleTimeout: parseInt(options.timeout, 10),\n });\n\n const report = await framework.testSkill(skillDir);\n outputReport(report, options.format, options.verbose);\n \n process.exit(report.passed ? 0 : 1);\n } else {\n // Test all skills\n const runner = new SkillTestRunner({\n skillsDir,\n skipSecurity: options.skipSecurity,\n skipDeps: options.skipDeps,\n skipExamples: options.skipExamples,\n strict: options.strict,\n exampleTimeout: parseInt(options.timeout, 10),\n format: options.format as 'text' | 'json' | 'tap',\n verbose: options.verbose,\n });\n\n const { reports, passed } = await runner.run();\n outputReports(reports, options.format, options.verbose);\n \n process.exit(passed ? 0 : 1);\n }\n } catch (err) {\n console.error('Error running tests:', err instanceof Error ? err.message : err);\n process.exit(1);\n }\n });\n\n // Subcommand: Validate a single SKILL.md file\n cmd\n .command('validate <skill-path>')\n .description('Validate a SKILL.md file')\n .option('--strict', 'Strict mode - fail on warnings')\n .action(async (skillPath, options) => {\n const framework = new SkillTestFramework({\n strict: options.strict,\n });\n\n const formatResult = framework.testSkillMdFormat(skillPath);\n \n console.log(`\\nValidating: ${skillPath}`);\n console.log(`Status: ${formatResult.status === 'pass' ? '✅' : '❌'} ${formatResult.message}`);\n \n if (formatResult.details) {\n for (const detail of formatResult.details) {\n console.log(` - ${detail}`);\n }\n }\n\n process.exit(formatResult.status === 'pass' ? 0 : 1);\n });\n\n // Subcommand: Check dependencies\n cmd\n .command('check-deps [skill-name]')\n .description('Check skill dependencies')\n .action(async (skillName) => {\n const skillsDir = resolveBundledSkillsDir() || join(process.cwd(), 'skills');\n const framework = new SkillTestFramework();\n\n if (skillName) {\n const skillDir = join(skillsDir, skillName);\n const report = await framework.testSkill(skillDir);\n const depsResult = report.results.find(r => r.name === 'Dependencies');\n \n if (depsResult) {\n console.log(`\\nDependencies for ${skillName}:`);\n console.log(`Status: ${depsResult.status === 'pass' ? '✅' : '❌'} ${depsResult.message}`);\n if (depsResult.details) {\n for (const detail of depsResult.details) {\n console.log(` ${detail}`);\n }\n }\n } else {\n console.log('No dependency tests found');\n }\n } else {\n // Check all skills\n const runner = new SkillTestRunner({\n skillsDir,\n skipSecurity: true,\n skipExamples: true,\n });\n\n const { reports } = await runner.run();\n \n console.log('\\nDependency Status:\\n');\n for (const report of reports) {\n const depsResult = report.results.find(r => r.name === 'Dependencies');\n const icon = depsResult?.status === 'pass' ? '✅' : depsResult?.status === 'fail' ? '❌' : '⚠️';\n console.log(`${icon} ${report.skillName}: ${depsResult?.message || 'No dependencies'}`);\n }\n }\n });\n\n // Subcommand: Security audit\n cmd\n .command('security [skill-name]')\n .description('Security audit for skills')\n .option('--deep', 'Show detailed findings')\n .action(async (skillName, options) => {\n const skillsDir = resolveBundledSkillsDir() || join(process.cwd(), 'skills');\n const framework = new SkillTestFramework();\n\n if (skillName) {\n const skillDir = join(skillsDir, skillName);\n const report = await framework.testSkill(skillDir);\n const securityResult = report.results.find(r => r.name === 'Security');\n \n if (securityResult) {\n console.log(`\\nSecurity audit for ${skillName}:`);\n console.log(`Status: ${securityResult.status === 'pass' ? '✅' : '❌'} ${securityResult.message}`);\n if (securityResult.details) {\n for (const detail of securityResult.details) {\n console.log(` ${detail}`);\n }\n }\n }\n } else {\n // Audit all skills\n const runner = new SkillTestRunner({\n skillsDir,\n skipDeps: true,\n skipExamples: true,\n });\n\n const { reports } = await runner.run();\n \n console.log('\\nSecurity Audit:\\n');\n for (const report of reports) {\n const securityResult = report.results.find(r => r.name === 'Security');\n const icon = securityResult?.status === 'pass' ? '✅' : securityResult?.status === 'fail' ? '❌' : '⚠️';\n console.log(`${icon} ${report.skillName}: ${securityResult?.message || 'Not scanned'}`);\n \n if (options.deep && securityResult?.details) {\n for (const detail of securityResult.details) {\n console.log(` ${detail}`);\n }\n }\n }\n }\n });\n\n return cmd;\n}\n\nfunction outputReport(report: any, format: string, verbose: boolean) {\n switch (format) {\n case 'json':\n console.log(formatTestResultsJson([report]));\n break;\n case 'tap':\n console.log(formatTestResultsTap([report]));\n break;\n default:\n console.log(formatTestResults([report], verbose));\n }\n}\n\nfunction outputReports(reports: any[], format: string, verbose: boolean) {\n switch (format) {\n case 'json':\n console.log(formatTestResultsJson(reports));\n break;\n case 'tap':\n console.log(formatTestResultsTap(reports));\n break;\n default:\n console.log(formatTestResults(reports, verbose));\n }\n}\n\nexport { createSkillsTestCommand };\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills.js","names":[],"sources":["../../../../src/cli/commands/skills.ts"],"sourcesContent":["/**\n * Skills CLI Command\n * \n * Manage skills: list, install, enable/disable, configure, test\n */\n\nimport { Command } from 'commander';\nimport { \n createSkillLoader,\n installSkill,\n findInstallSpec,\n hasBinary,\n getDefaultInstallerPreferences,\n createSkillConfigManager,\n isSkillEnabled,\n scanSkillDirectory,\n formatScanSummary,\n type Skill,\n} from '../../agent/skills/index.js';\nimport { resolveStateDir, resolveBundledSkillsDir, resolveSkillsLockPath } from '../../config/paths.js';\nimport { loadSkillsLock } from '../../agent/skills/hub-lock.js';\nimport { pullSkillFromSource, updateSkillFromLock } from '../../agent/skills/hub-pull.js';\nimport { register, type CLIContext } from '../registry.js';\nimport { createSkillsTestCommand } from './skills-test.js';\n\nfunction loadWorkspaceSkillEntries(workspaceDir: string): Array<{ skill: Skill; metadata: Skill['metadata']; enabled: boolean }> {\n const loader = createSkillLoader();\n loader.init(workspaceDir, resolveBundledSkillsDir());\n const result = loader.load();\n return result.skills.map(skill => ({\n skill,\n metadata: skill.metadata,\n enabled: true,\n }));\n}\n\nfunction createSkillsCommand(ctx: CLIContext): Command {\n const command = new Command('skills');\n command.description('Manage skills');\n\n // List available skills\n command\n .command('list')\n .description('List available skills')\n .option('-v, --verbose', 'Show detailed information')\n .option('--json', 'Output as JSON')\n .action(async (options) => {\n const loader = createSkillLoader();\n const workspaceDir = ctx.workspacePath;\n loader.init(workspaceDir, resolveBundledSkillsDir());\n const result = loader.load();\n\n if (options.json) {\n console.log(JSON.stringify({\n skills: result.skills.map(s => ({\n name: s.name,\n description: s.description,\n source: s.source,\n path: s.filePath,\n enabled: true, // Would need config to determine actual state\n metadata: s.metadata,\n })),\n diagnostics: result.diagnostics,\n }, null, 2));\n return;\n }\n\n console.log(`\\nFound ${result.skills.length} skill(s):\\n`);\n\n for (const skill of result.skills) {\n const emoji = skill.metadata.xopc?.emoji || '📦';\n const source = `[${skill.source}]`;\n console.log(`${emoji} ${skill.name} ${source}`);\n console.log(` ${skill.description}`);\n \n if (options.verbose) {\n console.log(` Path: ${skill.filePath}`);\n \n const requires = skill.metadata.xopc?.requires;\n if (requires?.bins) {\n const binsStatus = requires.bins.map(bin => {\n const available = hasBinary(bin);\n return `${bin} ${available ? '✓' : '✗'}`;\n }).join(', ');\n console.log(` Requires: ${binsStatus}`);\n }\n \n const install = skill.metadata.xopc?.install;\n if (install && install.length > 0) {\n console.log(` Install options: ${install.map(i => i.label || i.kind).join(', ')}`);\n }\n \n console.log();\n }\n }\n\n if (result.diagnostics.length > 0) {\n console.log('\\nDiagnostics:');\n for (const diag of result.diagnostics) {\n const icon = diag.type === 'error' ? '❌' : diag.type === 'warning' ? '⚠️' : 'ℹ️';\n console.log(`${icon} ${diag.message}`);\n }\n }\n\n console.log();\n });\n\n // Install a skill dependency\n command\n .command('install <skill-name>')\n .description('Install a skill dependency')\n .option('-i, --id <install-id>', 'Install spec ID to use')\n .option('--timeout <ms>', 'Installation timeout in ms', '300000')\n .option('--dry-run', 'Show what would be installed without executing')\n .action(async (skillName, options) => {\n const workspaceDir = ctx.workspacePath;\n const entries = loadWorkspaceSkillEntries(workspaceDir);\n const entry = entries.find(e => e.skill.name === skillName);\n\n if (!entry) {\n console.error(`Error: Skill \"${skillName}\" not found in workspace`);\n console.log('\\nAvailable skills:');\n const loader = createSkillLoader();\n const result = loader.load();\n for (const skill of result.skills) {\n console.log(` - ${skill.name}`);\n }\n process.exit(1);\n }\n\n const installSpecs = entry.metadata.xopc?.install || entry.metadata.install || [];\n if (installSpecs.length === 0) {\n console.log(`Skill \"${skillName}\" has no install specs`);\n process.exit(0);\n }\n\n // Find the install spec\n let installSpec = options.id \n ? findInstallSpec(entry, options.id)\n : installSpecs[0];\n\n if (!installSpec) {\n console.error(`Error: Install spec \"${options.id}\" not found`);\n console.log('\\nAvailable install specs:');\n for (const [index, spec] of installSpecs.entries()) {\n const id = spec.id || `${spec.kind}-${index}`;\n const label = spec.label || id;\n console.log(` ${id}: ${label}`);\n }\n process.exit(1);\n }\n\n if (options.dryRun) {\n console.log('Dry run - would install:');\n console.log(` Skill: ${skillName}`);\n console.log(` Method: ${installSpec.kind}`);\n if (installSpec.package) {\n console.log(` Package: ${installSpec.package}`);\n }\n if (installSpec.formula) {\n console.log(` Formula: ${installSpec.formula}`);\n }\n if (installSpec.module) {\n console.log(` Module: ${installSpec.module}`);\n }\n if (installSpec.bins) {\n console.log(` Expected binaries: ${installSpec.bins.join(', ')}`);\n }\n return;\n }\n\n console.log(`Installing dependency for \"${skillName}\"...`);\n \n const timeoutMs = parseInt(options.timeout, 10);\n const preferences = getDefaultInstallerPreferences();\n\n const result = await installSkill({\n workspaceDir,\n skillEntry: entry,\n installSpec,\n timeoutMs,\n preferences,\n });\n\n if (result.ok) {\n console.log('✓ Installation successful');\n if (result.stdout) {\n console.log(result.stdout);\n }\n } else {\n console.error('✗ Installation failed');\n console.error(result.message);\n if (result.stderr) {\n console.error(result.stderr);\n }\n process.exit(1);\n }\n\n if (result.warnings && result.warnings.length > 0) {\n console.log('\\nWarnings:');\n for (const warning of result.warnings) {\n console.log(` ⚠️ ${warning}`);\n }\n }\n });\n\n // Enable/disable a skill\n command\n .command('enable <skill-name>')\n .description('Enable a skill')\n .action(async (skillName) => {\n const configManager = createSkillConfigManager(resolveStateDir());\n configManager.setSkillEnabled(skillName, true);\n console.log(`✓ Skill \"${skillName}\" enabled`);\n });\n\n command\n .command('disable <skill-name>')\n .description('Disable a skill')\n .action(async (skillName) => {\n const configManager = createSkillConfigManager(resolveStateDir());\n configManager.setSkillEnabled(skillName, false);\n console.log(`✓ Skill \"${skillName}\" disabled`);\n });\n\n // Show skill status\n command\n .command('status [skill-name]')\n .description('Show skill status')\n .option('--json', 'Output as JSON')\n .action(async (skillName, options) => {\n const loader = createSkillLoader();\n const workspaceDir = ctx.workspacePath;\n loader.init(workspaceDir, resolveBundledSkillsDir());\n const result = loader.load();\n const configManager = createSkillConfigManager(resolveStateDir());\n const config = configManager.load();\n\n if (skillName) {\n // Show specific skill\n const skill = result.skills.find(s => s.name === skillName);\n if (!skill) {\n console.error(`Error: Skill \"${skillName}\" not found`);\n process.exit(1);\n }\n\n const skillConfig = config.entries?.[skillName];\n const enabled = isSkillEnabled(skill, config);\n\n if (options.json) {\n console.log(JSON.stringify({\n name: skill.name,\n enabled,\n config: skillConfig,\n metadata: skill.metadata,\n path: skill.filePath,\n }, null, 2));\n return;\n }\n\n const emoji = skill.metadata.xopc?.emoji || skill.metadata.emoji || '📦';\n console.log(`\\n${emoji} ${skill.name}`);\n console.log(` Description: ${skill.description}`);\n console.log(` Enabled: ${enabled ? '✓' : '✗'}`);\n console.log(` Source: ${skill.source}`);\n console.log(` Path: ${skill.filePath}`);\n\n if (skillConfig?.apiKey) {\n console.log(` API Key: ${skillConfig.apiKey.slice(0, 8)}...`);\n }\n\n const requires = skill.metadata.xopc?.requires;\n if (requires) {\n if (requires.bins) {\n console.log(` Required binaries: ${requires.bins.join(', ')}`);\n for (const bin of requires.bins) {\n const available = hasBinary(bin);\n console.log(` ${bin}: ${available ? '✓' : '✗'}`);\n }\n }\n if (requires.anyBins) {\n console.log(` Any of: ${requires.anyBins.join(', ')}`);\n const hasAny = requires.anyBins.some(bin => hasBinary(bin));\n console.log(` Status: ${hasAny ? '✓' : '✗'}`);\n }\n }\n\n console.log();\n } else {\n // Show summary\n const skillsStatus = result.skills.map(skill => ({\n name: skill.name,\n enabled: isSkillEnabled(skill, config),\n source: skill.source,\n }));\n\n if (options.json) {\n console.log(JSON.stringify({\n total: skillsStatus.length,\n enabled: skillsStatus.filter(s => s.enabled).length,\n skills: skillsStatus,\n }, null, 2));\n return;\n }\n\n const enabledCount = skillsStatus.filter(s => s.enabled).length;\n console.log(`\\nSkills: ${enabledCount}/${skillsStatus.length} enabled\\n`);\n\n for (const status of skillsStatus) {\n const icon = status.enabled ? '✓' : '✗';\n console.log(`${icon} ${status.name} [${status.source}]`);\n }\n\n console.log();\n }\n });\n\n // Security audit\n command\n .command('audit [skill-name]')\n .description('Security audit for skills')\n .option('--deep', 'Show detailed findings')\n .action(async (skillName, options) => {\n const loader = createSkillLoader();\n const workspaceDir = ctx.workspacePath;\n loader.init(workspaceDir, resolveBundledSkillsDir());\n const result = loader.load();\n\n async function auditSkill(skill: typeof result.skills[0]) {\n const summary = await scanSkillDirectory(skill.baseDir);\n \n console.log(`\\n${formatScanSummary(summary, skill.name)}\\n`);\n \n if (options.deep && summary.findings.length > 0) {\n console.log('Detailed findings:');\n for (const finding of summary.findings) {\n const icon = finding.severity === 'critical' ? '❌' : finding.severity === 'warning' ? '⚠️' : 'ℹ️';\n console.log(` ${icon} ${finding.message}`);\n console.log(` File: ${finding.file}:${finding.line}`);\n if (finding.pattern) {\n console.log(` Pattern: ${finding.pattern}`);\n }\n }\n console.log();\n }\n }\n\n if (skillName) {\n const skill = result.skills.find(s => s.name === skillName);\n if (!skill) {\n console.error(`Error: Skill \"${skillName}\" not found`);\n process.exit(1);\n }\n await auditSkill(skill);\n } else {\n console.log('Auditing all skills...\\n');\n for (const skill of result.skills) {\n await auditSkill(skill);\n }\n }\n });\n\n // Configure skill\n command\n .command('config <skill-name>')\n .description('Configure a skill')\n .option('--api-key <key>', 'Set API key')\n .option('--env <KEY=VALUE>', 'Set environment variable', (val, prev: string[] = []) => [...prev, val], [])\n .option('--show', 'Show current configuration')\n .action(async (skillName, options) => {\n const configManager = createSkillConfigManager(resolveStateDir());\n \n if (options.show) {\n const config = configManager.getSkillConfig(skillName);\n if (config) {\n console.log(JSON.stringify(config, null, 2));\n } else {\n console.log(`No configuration for skill \"${skillName}\"`);\n }\n return;\n }\n\n const updates: Record<string, unknown> = {};\n \n if (options.apiKey) {\n updates.apiKey = options.apiKey;\n }\n\n if (options.env && options.env.length > 0) {\n const env: Record<string, string> = {};\n for (const entry of options.env) {\n const [key, ...valueParts] = entry.split('=');\n if (key && valueParts.length > 0) {\n env[key] = valueParts.join('=');\n }\n }\n if (Object.keys(env).length > 0) {\n updates.env = env;\n }\n }\n\n if (Object.keys(updates).length === 0) {\n console.log('No configuration changes specified. Use --api-key, --env, or --show.');\n return;\n }\n\n configManager.updateSkillConfig(skillName, updates);\n console.log(`✓ Updated configuration for skill \"${skillName}\"`);\n });\n\n const hub = new Command('hub').description(\n 'Install or update skills from git or archives (writes ~/.xopc/skills + skills-lock.json)',\n );\n\n hub\n .command('pull')\n .argument('<source>', 'Git URL, https(s) .zip/.tar.gz, file:// URL, or local archive path')\n .option('--ref <ref>', 'Git branch or tag (optional)')\n .option('--path <dir>', 'Subdirectory inside the cloned repo containing SKILL.md')\n .option('--id <skillId>', 'Target folder name under ~/.xopc/skills (default: SKILL.md name or repo folder)')\n .option('--force', 'Replace existing managed skill directory', false)\n .option('--strict-scan', 'Fail install if security scanner reports critical findings', false)\n .action(async (source: string, opts: { ref?: string; path?: string; id?: string; force?: boolean; strictScan?: boolean }) => {\n try {\n const result = await pullSkillFromSource(source, {\n ref: opts.ref,\n subpath: opts.path,\n skillId: opts.id,\n force: Boolean(opts.force),\n strictScan: Boolean(opts.strictScan),\n });\n console.log(`\\n✓ Installed skill \"${result.skillId}\"`);\n console.log(` Path: ${result.path}`);\n console.log(` Source: ${result.source} (${result.kind})`);\n console.log(` Tree hash: ${result.contentHash.slice(0, 16)}…\\n`);\n } catch (e) {\n console.error(e instanceof Error ? e.message : String(e));\n process.exit(1);\n }\n });\n\n hub\n .command('update')\n .argument('<skillId>', 'Managed skill id (folder name under ~/.xopc/skills)')\n .option('--strict-scan', 'Fail if security scanner reports critical findings', false)\n .action(async (skillId: string, opts: { strictScan?: boolean }) => {\n try {\n const result = await updateSkillFromLock(skillId, { strictScan: Boolean(opts.strictScan) });\n console.log(`\\n✓ Updated skill \"${result.skillId}\"`);\n console.log(` Path: ${result.path}`);\n console.log(` Source: ${result.source} (${result.kind})`);\n console.log(` Tree hash: ${result.contentHash.slice(0, 16)}…\\n`);\n } catch (e) {\n console.error(e instanceof Error ? e.message : String(e));\n process.exit(1);\n }\n });\n\n hub\n .command('lock')\n .description('Show skills-lock.json (install sources + content hashes)')\n .option('--json', 'Print raw JSON', false)\n .action((opts: { json?: boolean }) => {\n const lock = loadSkillsLock();\n if (opts.json) {\n console.log(JSON.stringify(lock, null, 2));\n return;\n }\n const entries = Object.entries(lock.entries);\n console.log(`\\n${resolveSkillsLockPath()}`);\n if (entries.length === 0) {\n console.log('(no hub-installed skills)\\n');\n return;\n }\n for (const [id, e] of entries.sort((a, b) => a[0].localeCompare(b[0]))) {\n console.log(`\\n• ${id}`);\n console.log(` kind: ${e.kind}`);\n console.log(` source: ${e.source}`);\n if (e.ref) console.log(` ref: ${e.ref}`);\n if (e.subpath) console.log(` subpath: ${e.subpath}`);\n console.log(` contentHash: ${e.contentHash.slice(0, 16)}…`);\n console.log(` updatedAt: ${e.updatedAt}`);\n }\n console.log();\n });\n\n command.addCommand(hub);\n\n // Add test subcommand\n const testCommand = createSkillsTestCommand(ctx);\n command.addCommand(testCommand);\n\n return command;\n}\n\n// Register the command\nregister({\n id: 'skills',\n name: 'skills',\n description: 'Manage skills (install, enable, configure, test)',\n factory: createSkillsCommand,\n metadata: {\n category: 'utility',\n examples: [\n 'xopc skills hub pull https://github.com/org/repo.git # Shallow-clone skill into ~/.xopc/skills',\n 'xopc skills hub pull ./pack.zip --force # Install or replace from local zip',\n 'xopc skills hub update my-skill # Re-fetch using skills-lock.json',\n 'xopc skills hub lock --json # Show hub lock file',\n 'xopc skills list # List all available skills',\n 'xopc skills list -v # List with detailed information',\n 'xopc skills install weather # Install weather skill dependencies',\n 'xopc skills enable weather # Enable a skill',\n 'xopc skills disable weather # Disable a skill',\n 'xopc skills status # Show skill status summary',\n 'xopc skills status weather # Show detailed skill status',\n 'xopc skills audit # Security audit all skills',\n 'xopc skills audit weather --deep # Detailed security audit',\n 'xopc skills config weather --show # Show skill configuration',\n 'xopc skills config weather --api-key=KEY # Set API key',\n 'xopc skills test # Test all skills',\n 'xopc skills test weather # Test specific skill',\n 'xopc skills test validate ./skills/weather/SKILL.md # Validate SKILL.md file',\n 'xopc skills test check-deps # Check dependencies',\n 'xopc skills test security --deep # Security audit',\n ],\n },\n});\n\nexport { createSkillsCommand };\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tailscale.js","names":[],"sources":["../../../../src/cli/commands/tailscale.ts"],"sourcesContent":["import { Command } from 'commander';\n\nimport { register, formatExamples, type CLIContext } from '../registry.js';\nimport { getContextWithOpts } from '../context.js';\n\nfunction createTailscaleCommand(_ctx: CLIContext): Command {\n return new Command('tailscale')\n .description('Tailscale status for gateway remote access')\n .addCommand(\n new Command('status')\n .description('Show tailnet IP, hostname, and Serve/Funnel state')\n .action(async () => {\n const {\n getTailnetIPv4,\n getTailnetHostname,\n isTailscaleInstalled,\n } = await import('../../infra/tailscale.js');\n const { getTailscaleExposureState } = await import('../../gateway/tailscale-lifecycle.js');\n\n const installed = await isTailscaleInstalled();\n if (!installed) {\n console.log('Tailscale: not installed or not found in PATH');\n process.exit(1);\n }\n\n const ip = await getTailnetIPv4();\n let hostname: string | null = null;\n try {\n hostname = await getTailnetHostname();\n } catch {\n hostname = null;\n }\n\n const exposure = getTailscaleExposureState();\n console.log('Tailscale');\n console.log(` Tailnet IPv4: ${ip ?? '(unavailable)'}`);\n console.log(` MagicDNS: ${hostname ?? '(unavailable)'}`);\n console.log(` Gateway exposure: ${exposure.mode}${exposure.active ? ' (active)' : ''}`);\n if (hostname && exposure.active) {\n console.log(` URL: https://${hostname}/`);\n }\n }),\n )\n .addHelpText(\n 'after',\n formatExamples(['xopc tailscale status']),\n );\n}\n\nregister({\n id: 'tailscale',\n name: 'tailscale',\n description: 'Tailscale helpers for gateway exposure',\n factory: () => createTailscaleCommand(getContextWithOpts()),\n metadata: {\n category: 'runtime',\n examples: ['xopc tailscale status'],\n },\n});\n\nexport default createTailscaleCommand;\n"],"mappings":";;;;AAKA,SAAS,uBAAuB,MAA2B;AACzD,QAAO,IAAI,QAAQ,YAAY,CAC5B,YAAY,6CAA6C,CACzD,WACC,IAAI,QAAQ,SAAS,CAClB,YAAY,oDAAoD,CAChE,OAAO,YAAY;EAClB,MAAM,EACJ,gBACA,oBACA,yBACE,MAAM,OAAO;EACjB,MAAM,EAAE,8BAA8B,MAAM,OAAO;AAGnD,MAAI,CAAC,MADmB,sBAAsB,EAC9B;AACd,WAAQ,IAAI,gDAAgD;AAC5D,WAAQ,KAAK,EAAE;;EAGjB,MAAM,KAAK,MAAM,gBAAgB;EACjC,IAAI,WAA0B;AAC9B,MAAI;AACF,cAAW,MAAM,oBAAoB;UAC/B;AACN,cAAW;;EAGb,MAAM,WAAW,2BAA2B;AAC5C,UAAQ,IAAI,YAAY;AACxB,UAAQ,IAAI,mBAAmB,MAAM,kBAAkB;AACvD,UAAQ,IAAI,mBAAmB,YAAY,kBAAkB;AAC7D,UAAQ,IAAI,uBAAuB,SAAS,OAAO,SAAS,SAAS,cAAc,KAAK;AACxF,MAAI,YAAY,SAAS,OACvB,SAAQ,IAAI,kBAAkB,SAAS,GAAG;GAE5C,CACL,CACA,YACC,SACA,eAAe,CAAC,wBAAwB,CAAC,CAC1C;;AAGL,SAAS;CACP,IAAI;CACJ,MAAM;CACN,aAAa;CACb,eAAe,uBAAuB,oBAAoB,CAAC;CAC3D,UAAU;EACR,UAAU;EACV,UAAU,CAAC,wBAAwB;EACpC;CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tui-runner.js","names":[],"sources":["../../../../src/cli/commands/tui-runner.ts"],"sourcesContent":["import { createGatewayCredential } from '../../gateway/credential.js';\nimport { detectMigrations, runBootstrapMigrationsSync } from '../../migrations/runner.js';\nimport type { TuiOptions } from '../../tui/tui-types.js';\n\nexport type TuiCliOptions = Record<string, string | boolean | undefined>;\n\nexport interface TuiLaunchOverrides {\n session?: string;\n openSessionPickerOnStart?: boolean;\n}\n\nexport function prepareTuiStartup(configPath: string): void {\n runBootstrapMigrationsSync(configPath);\n const pendingMigrations = detectMigrations(configPath);\n if (pendingMigrations.length > 0) {\n console.warn(\n `xopc has ${pendingMigrations.length} pending migration(s). Run \\`xopc doctor --fix\\` or open Settings → App management.`,\n );\n }\n}\n\nexport function resolveTuiOptions(\n options: TuiCliOptions,\n overrides: TuiLaunchOverrides = {},\n): TuiOptions {\n const token = typeof options.token === 'string' ? options.token : undefined;\n const passwordEnv = typeof options.passwordEnv === 'string' ? options.passwordEnv.trim() : undefined;\n if (token && passwordEnv) {\n throw new Error('Use either --token or --password-env, not both.');\n }\n\n const password = passwordEnv ? process.env[passwordEnv] : undefined;\n if (passwordEnv && !password) {\n throw new Error(`Gateway password environment variable ${passwordEnv} is not set.`);\n }\n\n const credential = token\n ? createGatewayCredential('token', token)\n : createGatewayCredential('password', password);\n const useLocal = options.local === true;\n const useGateway = options.gateway === true || typeof options.url === 'string' || credential !== undefined;\n if (useLocal && useGateway) {\n console.log('`--local` and gateway flags both set. Using local mode.');\n }\n\n return {\n url: typeof options.url === 'string' ? options.url : undefined,\n credential,\n session: overrides.session ?? (typeof options.session === 'string' ? options.session : undefined),\n agentId: typeof options.agent === 'string' ? options.agent : undefined,\n message: typeof options.message === 'string' ? options.message : undefined,\n workdir: typeof options.workdir === 'string' ? options.workdir : undefined,\n useStartupCwd: options.cwd !== false,\n local: useLocal || !useGateway,\n thinking: typeof options.thinking === 'string' ? options.thinking : undefined,\n theme: typeof options.theme === 'string' ? options.theme : undefined,\n openSessionPickerOnStart: overrides.openSessionPickerOnStart,\n };\n}\n\nexport async function runTuiFromCliOptions(\n options: TuiCliOptions,\n overrides?: TuiLaunchOverrides,\n): Promise<void> {\n const { runTui } = await import('../../tui/tui.js');\n await runTui(resolveTuiOptions(options, overrides));\n}\n"],"mappings":";;;AAWA,SAAgB,kBAAkB,YAA0B;AAC1D,4BAA2B,WAAW;CACtC,MAAM,oBAAoB,iBAAiB,WAAW;AACtD,KAAI,kBAAkB,SAAS,EAC7B,SAAQ,KACN,YAAY,kBAAkB,OAAO,qFACtC;;AAIL,SAAgB,kBACd,SACA,YAAgC,EAAE,EACtB;CACZ,MAAM,QAAQ,OAAO,QAAQ,UAAU,WAAW,QAAQ,QAAQ,KAAA;CAClE,MAAM,cAAc,OAAO,QAAQ,gBAAgB,WAAW,QAAQ,YAAY,MAAM,GAAG,KAAA;AAC3F,KAAI,SAAS,YACX,OAAM,IAAI,MAAM,kDAAkD;CAGpE,MAAM,WAAW,cAAc,QAAQ,IAAI,eAAe,KAAA;AAC1D,KAAI,eAAe,CAAC,SAClB,OAAM,IAAI,MAAM,yCAAyC,YAAY,cAAc;CAGrF,MAAM,aAAa,QACf,wBAAwB,SAAS,MAAM,GACvC,wBAAwB,YAAY,SAAS;CACjD,MAAM,WAAW,QAAQ,UAAU;CACnC,MAAM,aAAa,QAAQ,YAAY,QAAQ,OAAO,QAAQ,QAAQ,YAAY,eAAe,KAAA;AACjG,KAAI,YAAY,WACd,SAAQ,IAAI,0DAA0D;AAGxE,QAAO;EACL,KAAK,OAAO,QAAQ,QAAQ,WAAW,QAAQ,MAAM,KAAA;EACrD;EACA,SAAS,UAAU,YAAY,OAAO,QAAQ,YAAY,WAAW,QAAQ,UAAU,KAAA;EACvF,SAAS,OAAO,QAAQ,UAAU,WAAW,QAAQ,QAAQ,KAAA;EAC7D,SAAS,OAAO,QAAQ,YAAY,WAAW,QAAQ,UAAU,KAAA;EACjE,SAAS,OAAO,QAAQ,YAAY,WAAW,QAAQ,UAAU,KAAA;EACjE,eAAe,QAAQ,QAAQ;EAC/B,OAAO,YAAY,CAAC;EACpB,UAAU,OAAO,QAAQ,aAAa,WAAW,QAAQ,WAAW,KAAA;EACpE,OAAO,OAAO,QAAQ,UAAU,WAAW,QAAQ,QAAQ,KAAA;EAC3D,0BAA0B,UAAU;EACrC;;AAGH,eAAsB,qBACpB,SACA,WACe;CACf,MAAM,EAAE,WAAW,MAAM,OAAO;AAChC,OAAM,OAAO,kBAAkB,SAAS,UAAU,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tui.js","names":[],"sources":["../../../../src/cli/commands/tui.ts"],"sourcesContent":["import { Command } from 'commander';\n\nimport { setTuiDefaultAgentConfig } from '../../commands/agents.config.js';\nimport { loadConfig, saveConfig } from '../../config/loader.js';\nimport { register, formatExamples, type CLIContext } from '../registry.js';\nimport { prepareTuiStartup, runTuiFromCliOptions, type TuiCliOptions } from './tui-runner.js';\n\nfunction createTuiCommand(ctx: CLIContext): Command {\n const cmd = new Command('tui')\n .description('Interactive terminal UI (pi-tui)')\n .addHelpText(\n 'after',\n formatExamples([\n 'xopc # Open embedded TUI (default command)',\n 'xopc tui # Embedded mode (default)',\n 'xopc resume # Choose a session to resume',\n 'xopc tui --gateway # Force gateway mode',\n 'XOPC_GATEWAY_PASSWORD=xxx xopc tui --url http://host:3120 --password-env XOPC_GATEWAY_PASSWORD',\n 'xopc tui -s agent:main:tui-... # Resume a session',\n 'xopc tui --agent coder # Start with a specific agent',\n 'xopc tui --set-default-agent coder # Persist default agent for new TUI sessions',\n 'xopc tui -m \"Summarize my inbox\" # Send a message on launch',\n ]),\n )\n .option('--url <url>', 'Gateway URL (default: http://localhost:3120)')\n .option('--token <token>', 'Gateway bearer token')\n .option('--password-env <name>', 'Environment variable holding the gateway password')\n .option('-s, --session <key>', 'Session key to resume (omitted: start a fresh TUI session)')\n .option('--agent <id>', 'Agent id for a fresh TUI session')\n .option('--set-default-agent <id>', 'Persist default agent for new TUI sessions and exit')\n .option('-m, --message <text>', 'Send a message on launch')\n .option('--workdir <dir>', 'Workspace directory for the new TUI session')\n .option('--no-cwd', 'Do not use the launch directory as the new TUI session workspace')\n .option('--local', 'Run in embedded mode (no gateway required)')\n .option('--gateway', 'Force gateway mode even without an explicit URL or credential')\n .option('--theme <name>', 'Theme: auto, dark, light, or custom name from ~/.xopc/themes/')\n .option('--thinking <level>', 'Thinking level override')\n .action(async (options: TuiCliOptions) => {\n prepareTuiStartup(ctx.configPath);\n if (typeof options.setDefaultAgent === 'string') {\n const cfg = loadConfig(ctx.configPath);\n const result = setTuiDefaultAgentConfig(cfg, options.setDefaultAgent);\n if (result.ok === false) {\n console.error(`Error: ${result.message}`);\n process.exit(1);\n }\n await saveConfig(result.config, ctx.configPath);\n console.log(`TUI default agent set to \"${result.agentId}\".`);\n return;\n }\n await runTuiFromCliOptions(options);\n });\n\n return cmd;\n}\n\nregister({\n id: 'tui',\n name: 'tui',\n description: 'Interactive terminal UI (pi-tui)',\n factory: createTuiCommand,\n metadata: {\n category: 'runtime',\n examples: [\n 'xopc',\n 'xopc tui',\n 'xopc tui --agent coder',\n 'xopc tui --set-default-agent coder',\n 'xopc tui --gateway',\n 'xopc tui --url http://host:3120',\n ],\n },\n});\n"],"mappings":";;;;;;aAGgE;AAIhE,SAAS,iBAAiB,KAA0B;AA8ClD,QA7CY,IAAI,QAAQ,MAAM,CAC3B,YAAY,mCAAmC,CAC/C,YACC,SACA,eAAe;EACb;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,CACH,CACA,OAAO,eAAe,+CAA+C,CACrE,OAAO,mBAAmB,uBAAuB,CACjD,OAAO,yBAAyB,oDAAoD,CACpF,OAAO,uBAAuB,6DAA6D,CAC3F,OAAO,gBAAgB,mCAAmC,CAC1D,OAAO,4BAA4B,sDAAsD,CACzF,OAAO,wBAAwB,2BAA2B,CAC1D,OAAO,mBAAmB,8CAA8C,CACxE,OAAO,YAAY,mEAAmE,CACtF,OAAO,WAAW,6CAA6C,CAC/D,OAAO,aAAa,gEAAgE,CACpF,OAAO,kBAAkB,gEAAgE,CACzF,OAAO,sBAAsB,0BAA0B,CACvD,OAAO,OAAO,YAA2B;AACxC,oBAAkB,IAAI,WAAW;AACjC,MAAI,OAAO,QAAQ,oBAAoB,UAAU;GAE/C,MAAM,SAAS,yBADH,WAAW,IAAI,WACgB,EAAE,QAAQ,gBAAgB;AACrE,OAAI,OAAO,OAAO,OAAO;AACvB,YAAQ,MAAM,UAAU,OAAO,UAAU;AACzC,YAAQ,KAAK,EAAE;;AAEjB,SAAM,WAAW,OAAO,QAAQ,IAAI,WAAW;AAC/C,WAAQ,IAAI,6BAA6B,OAAO,QAAQ,IAAI;AAC5D;;AAEF,QAAM,qBAAqB,QAAQ;GAG7B;;AAGZ,SAAS;CACP,IAAI;CACJ,MAAM;CACN,aAAa;CACb,SAAS;CACT,UAAU;EACR,UAAU;EACV,UAAU;GACR;GACA;GACA;GACA;GACA;GACA;GACD;EACF;CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tunnel.js","names":[],"sources":["../../../../src/cli/commands/tunnel.ts"],"sourcesContent":["import { Command } from 'commander';\n\nimport { loadConfig, saveConfig } from '../../config/index.js';\nimport { createLogger } from '../../utils/logger.js';\nimport {\n assertTunnelMayStart,\n hasValidTunnelConsent,\n TUNNEL_RISK_SUMMARY_LINES,\n TunnelConsentError,\n} from '../../tunnel/consent.js';\nimport { resolveTunnelBrokerUrl, resolveTunnelRegistrationSecret } from '../../tunnel/env.js';\nimport { ensureFrpcBinary, getTunnelService } from '../../tunnel/index.js';\nimport { resolveFrpSubdomainHost } from '../../tunnel/frp-subdomain-host.js';\nimport { applyTunnelConsentToConfig, mergeTunnelConfigPatch, setTunnelEnabledInConfig } from '../../tunnel/tunnel-config.js';\nimport { loadTunnelState } from '../../tunnel/tunnel-state.js';\nimport { formatExamples, register, type CLIContext } from '../registry.js';\n\nconst log = createLogger('TunnelCommand');\n\nfunction isInteractive(): boolean {\n return Boolean(process.stdin.isTTY && process.stdout.isTTY);\n}\n\nimport { resolveGatewayEffectiveHost } from '../../config/gateway-bind.js';\n\nfunction resolveGatewayPortHost(config: ReturnType<typeof loadConfig>): { port: number; host: string } {\n return {\n port: config.gateway.port ?? 18790,\n host: resolveGatewayEffectiveHost(config),\n };\n}\n\nfunction resolveGatewayToken(config: ReturnType<typeof loadConfig>): string {\n const fromEnv = process.env.XOPC_GATEWAY_TOKEN?.trim();\n if (fromEnv) return fromEnv;\n const token = config.gateway.auth?.token?.trim();\n if (token) return token;\n throw new Error('Gateway token not configured. Set gateway.auth.token or XOPC_GATEWAY_TOKEN.');\n}\n\nfunction configureTunnel(ctx: CLIContext): void {\n const config = loadConfig(ctx.configPath);\n const { host } = resolveGatewayPortHost(config);\n const brokerUrl = resolveTunnelBrokerUrl(config.tunnel?.brokerUrl);\n getTunnelService().configure({\n brokerUrl,\n registrationSecret: resolveTunnelRegistrationSecret(\n process.env,\n brokerUrl,\n config.tunnel?.registrationSecret,\n ),\n autoStart: config.tunnel?.autoStart ?? false,\n gatewayHost: host,\n frpSubdomainHost: resolveFrpSubdomainHost(resolveTunnelBrokerUrl(config.tunnel?.brokerUrl)),\n });\n}\n\nasync function ensureCliTunnelConsent(\n ctx: CLIContext,\n opts: { acceptRisk?: boolean; yes?: boolean },\n): Promise<void> {\n const config = loadConfig(ctx.configPath);\n if (hasValidTunnelConsent(config)) return;\n\n if (opts.acceptRisk) {\n applyTunnelConsentToConfig(config);\n await saveConfig(config, ctx.configPath);\n return;\n }\n\n if (opts.yes) {\n throw new TunnelConsentError(\n 'Security consent not recorded. Run without --yes and confirm, or pass --accept-risk after reading the risks.',\n );\n }\n\n if (!isInteractive()) {\n throw new TunnelConsentError(\n 'Security consent required. Run interactively, use --accept-risk, or accept in gateway settings.',\n );\n }\n\n const { confirm } = await import('@inquirer/prompts');\n console.log('');\n console.log('⚠️ Remote access security notice');\n for (const line of TUNNEL_RISK_SUMMARY_LINES) {\n console.log(` • ${line}`);\n }\n console.log('');\n const accepted = await confirm({\n message: 'I understand these risks and want to enable remote access',\n default: false,\n });\n if (!accepted) {\n throw new TunnelConsentError('Remote access not started (consent declined).');\n }\n applyTunnelConsentToConfig(config);\n await saveConfig(config, ctx.configPath);\n}\n\nasync function readTunnelRegistrationSecretFromCli(opts: {\n secretArg?: string;\n stdin?: boolean;\n}): Promise<string> {\n const fromArg = opts.secretArg?.trim();\n if (fromArg) return fromArg;\n\n if (opts.stdin) {\n const chunks: Buffer[] = [];\n for await (const chunk of process.stdin) {\n chunks.push(chunk as Buffer);\n }\n const value = Buffer.concat(chunks).toString('utf8').trim();\n if (!value) {\n throw new Error('Empty registration secret from stdin.');\n }\n return value;\n }\n\n if (isInteractive()) {\n const { password } = await import('@inquirer/prompts');\n const value = await password({\n message: 'Tunnel broker registration secret',\n mask: '*',\n });\n if (!value?.trim()) {\n throw new Error('Registration secret is required.');\n }\n return value.trim();\n }\n\n throw new Error(\n 'Provide the secret as an argument, pass --stdin, or run in an interactive terminal.',\n );\n}\n\nasync function saveTunnelRegistrationSecret(ctx: CLIContext, secret: string): Promise<void> {\n const config = loadConfig(ctx.configPath);\n const result = mergeTunnelConfigPatch(config, { registrationSecret: secret });\n if (result.ok === false) {\n throw new Error(result.message);\n }\n await saveConfig(config, ctx.configPath);\n}\n\nfunction createTunnelCommand(ctx: CLIContext): Command {\n const cmd = new Command('tunnel')\n .description('Manage FRP remote access tunnel')\n .addHelpText(\n 'after',\n formatExamples([\n 'xopc tunnel start',\n 'xopc tunnel start --accept-risk',\n 'xopc tunnel stop',\n 'xopc tunnel status',\n 'xopc tunnel qr',\n 'xopc tunnel consent',\n 'xopc tunnel prefetch',\n 'xopc tunnel secret set',\n 'xopc tunnel secret set --stdin',\n ]),\n );\n\n cmd\n .command('prefetch')\n .description('Download frpc to the state bin directory without starting the tunnel')\n .action(async () => {\n try {\n const path = await ensureFrpcBinary({\n onProgress: (progress) => {\n if (!process.stderr.isTTY) return;\n if (progress.phase === 'extracting') {\n process.stderr.write('\\rExtracting frpc… \\n');\n return;\n }\n if (progress.percent != null) {\n process.stderr.write(`\\rDownloading frpc… ${progress.percent}%`);\n } else if (progress.bytesReceived != null) {\n process.stderr.write(`\\rDownloading frpc… ${progress.bytesReceived} bytes`);\n }\n },\n });\n if (process.stderr.isTTY) process.stderr.write('\\n');\n console.log(`frpc ready at ${path}`);\n } catch (err) {\n const em = err instanceof Error ? err.message : String(err);\n log.error({ err }, `frpc prefetch failed: ${em}`);\n process.exit(1);\n }\n });\n\n cmd\n .command('consent')\n .description('Record acceptance of the remote access security notice')\n .option('--accept-risk', 'Non-interactive: record consent without prompts')\n .action(async (opts: { acceptRisk?: boolean }) => {\n await ensureCliTunnelConsent(ctx, { acceptRisk: opts.acceptRisk, yes: false });\n console.log('Tunnel security consent recorded.');\n });\n\n const secretCmd = cmd.command('secret').description('Manage tunnel broker registration secret in config');\n\n secretCmd\n .command('set')\n .description('Save tunnel.registrationSecret to xopc.json (env XOPC_TUNNEL_REGISTRATION_SECRET overrides at runtime)')\n .argument('[secret]', 'Registration secret (prompts securely when omitted in a TTY)')\n .option('--stdin', 'Read secret from stdin (single line, trimmed)')\n .action(async (secretArg: string | undefined, opts: { stdin?: boolean }) => {\n try {\n const secret = await readTunnelRegistrationSecretFromCli({\n secretArg,\n stdin: opts.stdin,\n });\n await saveTunnelRegistrationSecret(ctx, secret);\n if (process.env.XOPC_TUNNEL_REGISTRATION_SECRET?.trim()) {\n console.log(\n 'Note: XOPC_TUNNEL_REGISTRATION_SECRET is set in the environment and overrides the saved config at runtime.',\n );\n }\n console.log(`Saved tunnel registration secret to ${ctx.configPath}.`);\n } catch (err) {\n const em = err instanceof Error ? err.message : String(err);\n log.error({ err, phase: 'tunnel_secret_set' }, `Tunnel secret set failed: ${em}`);\n console.error(em);\n process.exit(1);\n }\n });\n\n cmd\n .command('start')\n .description('Register tunnel, start frpc, print connection info')\n .option('--yes', 'Skip interactive consent prompt when consent is already recorded')\n .option(\n '--accept-risk',\n 'Record security consent and start (non-interactive; read risks in docs/tunnel-security.md first)',\n )\n .action(async (opts: { yes?: boolean; acceptRisk?: boolean }) => {\n configureTunnel(ctx);\n await ensureCliTunnelConsent(ctx, { acceptRisk: opts.acceptRisk, yes: opts.yes });\n\n const config = loadConfig(ctx.configPath);\n assertTunnelMayStart(config);\n\n const { port, host } = resolveGatewayPortHost(config);\n const token = resolveGatewayToken(config);\n const tunnel = getTunnelService();\n\n console.log('🚀 Starting tunnel...');\n try {\n const qr = await tunnel.start(port, token);\n setTunnelEnabledInConfig(config, true);\n await saveConfig(config, ctx.configPath);\n\n const status = tunnel.getStatus();\n console.log('');\n console.log('✅ Tunnel is active');\n if (status.publicUrl) console.log(` URL: ${status.publicUrl}`);\n if (qr.lanUrl) console.log(` LAN: ${qr.lanUrl}`);\n console.log('');\n console.log('📱 Mobile connect QR payload:');\n console.log(qr.qrPayload);\n console.log('');\n console.log(\n `💡 Gateway must be running at ${host}:${port}. Keep frpc alive or use gateway / Web console.`,\n );\n } catch (err) {\n const em = err instanceof Error ? err.message : String(err);\n log.error({ err }, `Tunnel start failed: ${em}`);\n process.exit(1);\n }\n });\n\n cmd\n .command('stop')\n .description('Stop frpc (keeps broker registration for stable subdomain)')\n .option(\n '--release',\n 'Deregister from broker and clear saved subdomain (next start gets a new public URL)',\n )\n .option('--yes', 'Skip confirmation when using --release')\n .action(async (opts: { release?: boolean; yes?: boolean }) => {\n configureTunnel(ctx);\n if (opts.release) {\n if (!opts.yes && isInteractive()) {\n const { confirm } = await import('@inquirer/prompts');\n const ok = await confirm({\n message:\n 'Release will revoke the public URL and subdomain on the broker. Continue?',\n default: false,\n });\n if (!ok) {\n console.log('Cancelled.');\n return;\n }\n }\n }\n const { released } = await getTunnelService().stop({ release: opts.release });\n const config = loadConfig(ctx.configPath);\n setTunnelEnabledInConfig(config, false);\n await saveConfig(config, ctx.configPath);\n console.log(released ? 'Tunnel stopped and broker registration released.' : 'Tunnel stopped.');\n });\n\n cmd\n .command('status')\n .description('Show tunnel status')\n .action(() => {\n configureTunnel(ctx);\n const config = loadConfig(ctx.configPath);\n const status = getTunnelService().getStatus();\n const persisted = loadTunnelState();\n console.log(\n JSON.stringify(\n {\n ...status,\n persistedSubdomain: persisted?.subdomain ?? null,\n consentValid: hasValidTunnelConsent(config),\n },\n null,\n 2,\n ),\n );\n });\n\n cmd\n .command('qr')\n .description('Print mobile connect QR payload (tunnel must be active)')\n .action(async () => {\n configureTunnel(ctx);\n const config = loadConfig(ctx.configPath);\n const { port, host } = resolveGatewayPortHost(config);\n const qr = await getTunnelService().buildQr(port, host);\n if (!qr.qrPayload) {\n console.error('No active tunnel. Run: xopc tunnel start');\n process.exit(1);\n }\n console.log(qr.qrPayload);\n });\n\n cmd\n .command('broker')\n .description('Self-hosted FRP broker helpers')\n .addCommand(\n new Command('init')\n .description('Print a starter frps + broker configuration template')\n .option('--domain <domain>', 'Public domain for frps', 'tunnel.example.com')\n .action((opts) => {\n const domain = String(opts.domain ?? 'tunnel.example.com');\n console.log(`# Self-hosted FRP broker sketch for ${domain}`);\n console.log('# 1. Run frps with vhost HTTP/HTTPS and a registration token');\n console.log(`# 2. Point tunnel.brokerUrl to https://${domain}/api`);\n console.log(`# 3. Set XOPC_TUNNEL_REGISTRATION_SECRET in the gateway environment`);\n console.log('');\n console.log(JSON.stringify({\n frps: {\n bindPort: 7000,\n vhostHTTPPort: 8080,\n subdomainHost: domain,\n },\n broker: {\n apiUrl: `https://${domain}/api`,\n registrationSecretEnv: 'XOPC_TUNNEL_REGISTRATION_SECRET',\n },\n }, null, 2));\n }),\n );\n\n return cmd;\n}\n\nregister({\n id: 'tunnel',\n name: 'tunnel',\n description: 'FRP remote access tunnel',\n factory: createTunnelCommand,\n metadata: {\n category: 'runtime',\n examples: ['xopc tunnel start', 'xopc tunnel status', 'xopc tunnel secret set'],\n },\n});\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.js","names":[],"sources":["../../../../src/cli/commands/update.ts"],"sourcesContent":["// src/cli/commands/update.ts\n\nimport { Command } from 'commander';\n\nimport { loadConfig } from '../../config/index.js';\nimport { acquireUpdateLock } from '../../infra/update-lock.js';\nimport { normalizeUpdateChannel, DEFAULT_PACKAGE_CHANNEL } from '../../infra/update-channels.js';\nimport {\n resolveNpmChannelTag,\n compareSemver,\n} from '../../infra/update-check.js';\nimport {\n formatUpdateApiResult,\n resolveUpdateInstallSurface,\n runGatewayUpdateWithPostSteps,\n} from '../../infra/update-runner.js';\nimport { PACKAGE_VERSION } from '../../package-version.js';\nimport { register, formatExamples, type CLIContext } from '../registry.js';\n\nfunction createUpdateCommand(_ctx: CLIContext): Command {\n return new Command('update')\n .description('Check for and install xopc updates')\n .option('--check', 'Only check for updates without installing')\n .option('--yes', 'Skip confirmation prompts')\n .option('--channel <channel>', 'Update channel: stable, beta, or dev')\n .option('--json', 'Output results as JSON')\n .option('--no-restart', 'Skip gateway restart after a successful update')\n .addHelpText(\n 'after',\n formatExamples([\n 'xopc update',\n 'xopc update --check',\n 'xopc update --channel beta',\n 'xopc update --yes',\n 'xopc update --json',\n ]),\n )\n .action(\n async (options: {\n check?: boolean;\n yes?: boolean;\n channel?: string;\n json?: boolean;\n restart?: boolean;\n }) => {\n const fromCli = options.channel;\n const fromConfig = (() => {\n try {\n return loadConfig().update?.channel;\n } catch {\n return undefined;\n }\n })();\n const channel = normalizeUpdateChannel(fromCli ?? fromConfig) ?? DEFAULT_PACKAGE_CHANNEL;\n\n const surface = await resolveUpdateInstallSurface({\n cwd: process.cwd(),\n argv1: process.argv[1],\n });\n\n if (options.check) {\n if (surface.kind === 'git') {\n const message = 'Git checkout detected. Run `xopc update` to pull/rebase and build.';\n if (options.json) {\n console.log(JSON.stringify({ status: 'git-checkout', mode: 'git', message }));\n } else {\n console.log(message);\n }\n return;\n }\n\n const resolved = await resolveNpmChannelTag({ channel });\n if (!resolved.version) {\n const message = 'Could not reach npm registry. Check your network connection.';\n if (options.json) {\n console.log(JSON.stringify({ status: 'error', reason: 'registry-unreachable', message }));\n } else {\n console.error(message);\n }\n process.exit(1);\n }\n\n const comparison = compareSemver(PACKAGE_VERSION, resolved.version);\n if (comparison === null || comparison >= 0) {\n const message = `Already up to date: v${PACKAGE_VERSION} (${resolved.tag}: v${resolved.version})`;\n if (options.json) {\n console.log(\n JSON.stringify({\n status: 'up-to-date',\n currentVersion: PACKAGE_VERSION,\n latestVersion: resolved.version,\n channel: resolved.tag,\n }),\n );\n } else {\n console.log(`✅ ${message}`);\n }\n return;\n }\n\n const message = `Update available: v${PACKAGE_VERSION} → v${resolved.version} (${resolved.tag})`;\n if (options.json) {\n console.log(\n JSON.stringify({\n status: 'update-available',\n currentVersion: PACKAGE_VERSION,\n latestVersion: resolved.version,\n channel: resolved.tag,\n installSurface: surface.kind,\n }),\n );\n } else {\n console.log(`📦 ${message}`);\n console.log('Run `xopc update` to install.');\n }\n return;\n }\n\n if (!options.yes && !process.env.XOPC_AUTO_UPDATE) {\n const { confirm } = await import('@inquirer/prompts');\n const label =\n surface.kind === 'git'\n ? `Update git checkout via ${channel} channel?`\n : `Update from v${PACKAGE_VERSION} (${channel})?`;\n const shouldUpdate = await confirm({ message: label, default: true });\n if (!shouldUpdate) {\n console.log('Update cancelled.');\n return;\n }\n }\n\n const lock = process.env.XOPC_AUTO_UPDATE\n ? { release: async () => {} }\n : await acquireUpdateLock('cli');\n if (!lock) {\n const message = 'Another update is already in progress. Try again later.';\n if (options.json) {\n console.log(JSON.stringify({ status: 'error', reason: 'lock-held', message }));\n } else {\n console.error(`❌ ${message}`);\n }\n process.exit(1);\n }\n\n try {\n if (!options.json) {\n console.log(`Running update (channel: ${channel}, surface: ${surface.kind})...`);\n }\n\n const result = await runGatewayUpdateWithPostSteps({\n channel,\n cwd: process.cwd(),\n argv1: process.argv[1],\n shouldRestart: options.restart !== false,\n progress: options.json\n ? undefined\n : {\n onStepStart: (step) => {\n console.log(`→ [${step.index + 1}/${step.total}] ${step.name}`);\n },\n onStepComplete: (step) => {\n if (step.exitCode !== 0 && step.stderrTail) {\n console.error(step.stderrTail);\n }\n },\n },\n });\n\n const apiResult = formatUpdateApiResult(result, channel);\n if (result.status === 'ok') {\n if (options.json) {\n console.log(JSON.stringify(apiResult));\n } else {\n console.log(`✅ Updated to v${result.after?.version ?? 'unknown'} (${result.mode})`);\n const extOutcomes = result.postUpdate?.extensions?.outcomes ?? [];\n const updatedExt = extOutcomes.filter((o) => o.status === 'updated');\n if (updatedExt.length > 0) {\n console.log(`Extensions synced: ${updatedExt.map((o) => o.extensionId).join(', ')}`);\n }\n const restart = result.postUpdate?.restart;\n if (restart?.ok && restart.mode !== 'skipped') {\n console.log(`Gateway restart: ${restart.message ?? restart.mode}`);\n } else if (!restart?.ok) {\n console.log(\n restart?.message ??\n 'Restart the gateway to use the new version: xopc gateway restart',\n );\n }\n }\n return;\n }\n\n if (result.status === 'skipped') {\n if (options.json) {\n console.log(JSON.stringify({ status: 'skipped', reason: result.reason, ...apiResult }));\n } else if (result.reason === 'up-to-date') {\n console.log(`✅ Already up to date: v${PACKAGE_VERSION}`);\n } else if (result.reason === 'dirty') {\n console.error('❌ Git working tree has uncommitted changes. Commit or stash first.');\n process.exit(1);\n } else {\n console.log(`Update skipped: ${result.reason ?? 'unknown'}`);\n }\n return;\n }\n\n const message =\n typeof apiResult.message === 'string'\n ? apiResult.message\n : result.reason ?? 'Update failed';\n if (options.json) {\n console.log(JSON.stringify({ status: 'error', reason: result.reason, message, ...apiResult }));\n } else {\n console.error(`❌ Update failed: ${message}`);\n }\n process.exit(1);\n } finally {\n await lock.release();\n }\n },\n );\n}\n\nregister({\n id: 'update',\n name: 'update',\n description: 'Check for and install xopc updates',\n factory: createUpdateCommand,\n metadata: {\n category: 'maintenance',\n examples: [\n 'xopc update',\n 'xopc update --check',\n 'xopc update --channel beta',\n 'xopc update --yes --json',\n ],\n },\n});\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"voice.js","names":[],"sources":["../../../../src/cli/commands/voice.ts"],"sourcesContent":["/**\n * `xopc voice` — configure text-to-speech (TTS) for outbound messages.\n *\n * Backed by `cfg.messages.tts` per `TTSConfigSchema`. Uses the M1 setup-shared\n * runner so every action emits the same `SetupOutcome` JSON consumed by M2\n * skills and the M3 WebUI.\n */\n\nimport { Command } from 'commander';\n\nimport { loadConfig } from '../../config/loader.js';\nimport { resolveConfigPath } from '../../config/paths.js';\nimport type { Config } from '../../config/schema.js';\nimport { register, formatExamples, type CLIContext } from '../registry.js';\nimport { colors } from '../utils/colors.js';\n\nimport {\n emitOutcome,\n runSetup,\n} from './setup-shared/index.js';\n\nconst TTS_PROVIDERS = ['openai', 'alibaba', 'edge', 'minimax'] as const;\ntype TTSProvider = (typeof TTS_PROVIDERS)[number];\n\nconst TTS_TRIGGERS = ['off', 'always', 'inbound', 'tagged'] as const;\ntype TTSTrigger = (typeof TTS_TRIGGERS)[number];\n\ninterface TTSStatusSnapshot {\n enabled: boolean;\n provider: string;\n trigger: string;\n maxTextLength: number;\n timeoutMs: number;\n}\n\nexport function readTTSStatus(cfg: Config): TTSStatusSnapshot {\n const tts = (cfg.messages?.tts ?? {}) as Record<string, unknown>;\n return {\n enabled: tts.enabled === true,\n provider: typeof tts.provider === 'string' ? tts.provider : 'openai',\n trigger: typeof tts.trigger === 'string' ? tts.trigger : 'always',\n maxTextLength: typeof tts.maxTextLength === 'number' ? tts.maxTextLength : 512,\n timeoutMs: typeof tts.timeoutMs === 'number' ? tts.timeoutMs : 60000,\n };\n}\n\nexport function applyTTSEnable(\n cfg: Config,\n patch: { enabled?: boolean; provider?: TTSProvider; trigger?: TTSTrigger },\n): Config {\n const messages = { ...((cfg.messages ?? {}) as Record<string, unknown>) };\n const tts = { ...((messages.tts ?? {}) as Record<string, unknown>) };\n if (patch.enabled !== undefined) tts.enabled = patch.enabled;\n if (patch.provider !== undefined) tts.provider = patch.provider;\n if (patch.trigger !== undefined) tts.trigger = patch.trigger;\n messages.tts = tts;\n return { ...cfg, messages } as Config;\n}\n\nfunction resolveConfigPathFromCommand(command: Command): string {\n let cur: Command | undefined = command;\n while (cur?.parent) cur = cur.parent;\n const opts = cur?.opts() as { config?: string } | undefined;\n return (\n opts?.config?.trim() ||\n process.env.XOPC_CONFIG_PATH?.trim() ||\n process.env.XOPC_CONFIG?.trim() ||\n resolveConfigPath()\n );\n}\n\nfunction createVoiceCommand(_ctx: CLIContext): Command {\n const cmd = new Command('voice')\n .description('Configure text-to-speech (TTS) output')\n .addHelpText(\n 'after',\n formatExamples([\n 'xopc voice status',\n 'xopc voice status --json',\n 'xopc voice enable',\n 'xopc voice enable --provider edge --trigger inbound',\n 'xopc voice disable',\n 'xopc voice schema --json',\n ]),\n );\n\n cmd\n .command('status')\n .description('Show TTS configuration status')\n .option('--json', 'Output as JSON', false)\n .action((opts: { json?: boolean }, command: Command) => {\n const status = readTTSStatus(loadConfig(resolveConfigPathFromCommand(command)));\n if (opts.json) {\n process.stdout.write(JSON.stringify({ ok: true, voice: status }) + '\\n');\n return;\n }\n const badge = status.enabled ? colors.green('● enabled') : colors.gray('○ disabled');\n console.log('');\n console.log(colors.bold('VOICE (TTS)'));\n console.log(` Status: ${badge}`);\n console.log(` Provider: ${status.provider}`);\n console.log(` Trigger: ${status.trigger}`);\n console.log(` Max text: ${status.maxTextLength}`);\n console.log(` Timeout: ${status.timeoutMs}ms`);\n console.log('');\n });\n\n cmd\n .command('enable')\n .description('Enable TTS (optionally update provider/trigger)')\n .option(\n '--provider <id>',\n `TTS provider: ${TTS_PROVIDERS.join(' | ')}`,\n )\n .option('--trigger <mode>', `Trigger mode: ${TTS_TRIGGERS.join(' | ')}`)\n .option('--dry-run', 'Show the change without writing', false)\n .option('--json', 'Emit a single JSON outcome line', false)\n .action(\n async (\n opts: { provider?: string; trigger?: string; dryRun?: boolean; json?: boolean },\n command: Command,\n ) => {\n const provider = opts.provider as TTSProvider | undefined;\n const trigger = opts.trigger as TTSTrigger | undefined;\n if (provider && !TTS_PROVIDERS.includes(provider)) {\n emitOutcome(\n {\n ok: false,\n action: 'set',\n domain: 'voice',\n changedPaths: [],\n dryRun: Boolean(opts.dryRun),\n errors: [\n {\n path: 'provider',\n message: `Unknown provider \"${provider}\". Use one of: ${TTS_PROVIDERS.join(', ')}.`,\n },\n ],\n },\n Boolean(opts.json),\n );\n process.exitCode = 1;\n return;\n }\n if (trigger && !TTS_TRIGGERS.includes(trigger)) {\n emitOutcome(\n {\n ok: false,\n action: 'set',\n domain: 'voice',\n changedPaths: [],\n dryRun: Boolean(opts.dryRun),\n errors: [\n {\n path: 'trigger',\n message: `Unknown trigger \"${trigger}\". Use one of: ${TTS_TRIGGERS.join(', ')}.`,\n },\n ],\n },\n Boolean(opts.json),\n );\n process.exitCode = 1;\n return;\n }\n\n await runSetup({\n configPath: resolveConfigPathFromCommand(command),\n options: { dryRun: Boolean(opts.dryRun), json: Boolean(opts.json) },\n mutator: {\n domain: 'voice',\n action: 'set',\n mutate(cfg) {\n return applyTTSEnable(cfg, { enabled: true, provider, trigger });\n },\n resultValue: (cfg) => readTTSStatus(cfg),\n notes: () => ['TTS enabled. Configure the chosen provider key separately if needed.'],\n },\n });\n },\n );\n\n cmd\n .command('disable')\n .description('Disable TTS')\n .option('--dry-run', 'Show the change without writing', false)\n .option('--json', 'Emit a single JSON outcome line', false)\n .action(async (opts: { dryRun?: boolean; json?: boolean }, command: Command) => {\n await runSetup({\n configPath: resolveConfigPathFromCommand(command) || undefined!,\n options: { dryRun: Boolean(opts.dryRun), json: Boolean(opts.json) },\n mutator: {\n domain: 'voice',\n action: 'set',\n mutate(cfg) {\n return applyTTSEnable(cfg, { enabled: false });\n },\n resultValue: (cfg) => readTTSStatus(cfg),\n },\n });\n });\n\n cmd\n .command('schema')\n .description('Print voice/TTS setup schema for agents/UIs')\n .option('--json', 'JSON output (default human-readable JSON)', false)\n .action((opts: { json?: boolean }) => {\n const payload = {\n ok: true,\n schema: {\n target: 'cfg.messages.tts',\n fields: {\n enabled: { type: 'boolean', default: false },\n provider: { type: 'enum', enum: [...TTS_PROVIDERS], default: 'openai' },\n trigger: { type: 'enum', enum: [...TTS_TRIGGERS], default: 'always' },\n maxTextLength: { type: 'number', default: 512 },\n timeoutMs: { type: 'number', default: 60000 },\n },\n },\n };\n if (opts.json) process.stdout.write(JSON.stringify(payload) + '\\n');\n else console.log(JSON.stringify(payload, null, 2));\n });\n\n return cmd;\n}\n\nregister({\n id: 'voice',\n name: 'voice',\n description: 'Configure TTS (text-to-speech) output',\n factory: createVoiceCommand,\n metadata: {\n category: 'setup',\n examples: [\n 'xopc voice status',\n 'xopc voice enable --provider edge --trigger inbound',\n 'xopc voice disable',\n 'xopc voice schema --json',\n ],\n },\n});\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../src/cli/context.ts"],"sourcesContent":["/**\n * CLI parsed-options + context builder.\n *\n * Extracted from `cli/index.ts` so command modules can import\n * `getContextWithOpts` without pulling the full CLI wiring graph (which\n * imports `command-loaders.ts`, which lazy-imports every command file). Before\n * this split, every command file circularly depended on `cli/index.ts` →\n * `command-loaders.ts` → that same command file.\n */\n\nimport { createDefaultContext, type CLIContext } from './registry.js';\n\n/**\n * Global parsed options — updated before each command via the Commander\n * `preAction` hook in `cli/index.ts`.\n */\nexport const parsedOpts: { config?: string; workspace?: string; verbose?: boolean } = {};\n\nexport function getContextWithOpts(argv: string[] = process.argv): CLIContext {\n return createDefaultContext(argv, parsedOpts);\n}\n"],"mappings":";;;;;;;;;;;;;;;AAgBA,MAAa,aAAyE,EAAE;AAExF,SAAgB,mBAAmB,OAAiB,QAAQ,MAAkB;AAC5E,QAAO,qBAAqB,MAAM,WAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extension-cli-register.js","names":[],"sources":["../../../src/cli/extension-cli-register.ts"],"sourcesContent":["import { Command } from 'commander';\nimport { join } from 'path';\nimport { MessageBus } from '../infra/bus/index.js';\nimport { loadConfig, getWorkspacePath } from '../config/index.js';\nimport { collectConfiguredChannelIds } from '../extensions/activation-context.js';\nimport { ExtensionLoader } from '../extensions/index.js';\nimport { registerExtensionCliProgram } from '../extensions/sdk/channel-helpers.js';\nimport { createDefaultContext } from './registry.js';\n\nfunction argvRequestsVersionOnly(argv: string[]): boolean {\n return argv.includes('--version') || argv.includes('-V');\n}\n\n/**\n * Load extensions that may register CLI commands (manifest-only skip when nothing would activate).\n */\nexport async function registerExtensionCliCommands(program: Command): Promise<void> {\n if (argvRequestsVersionOnly(process.argv)) {\n return;\n }\n\n const ctx = createDefaultContext(process.argv, {});\n const config = loadConfig(ctx.configPath);\n const workspace = getWorkspacePath(config) || ctx.workspacePath;\n\n const rawExt = (config as Record<string, unknown>).extensions;\n const extBlock =\n rawExt && typeof rawExt === 'object' && !Array.isArray(rawExt)\n ? (rawExt as Record<string, unknown>)\n : undefined;\n const enabledIds = Array.isArray(extBlock?.enabled)\n ? extBlock!.enabled.filter((x): x is string => typeof x === 'string')\n : [];\n\n const bus = new MessageBus();\n const loader = new ExtensionLoader({\n workspaceDir: workspace,\n extensionsDir: join(workspace, '.extensions'),\n });\n loader.setConfig(config as Parameters<ExtensionLoader['setConfig']>[0]);\n\n const registry = loader.buildManifestRegistry();\n const envWouldActivate = registry.detectAvailableByEnv(process.env).length > 0;\n const channelWouldActivate = (collectConfiguredChannelIds(config)?.length ?? 0) > 0;\n\n if (enabledIds.length === 0 && !channelWouldActivate && !envWouldActivate) {\n return;\n }\n\n loader.setRuntimeContext({ bus });\n await loader.loadByActivationPlan();\n registerExtensionCliProgram(program, loader.getRegistry());\n}\n"],"mappings":";;;;;;;;;;;;AASA,SAAS,wBAAwB,MAAyB;AACxD,QAAO,KAAK,SAAS,YAAY,IAAI,KAAK,SAAS,KAAK;;;;;AAM1D,eAAsB,6BAA6B,SAAiC;AAClF,KAAI,wBAAwB,QAAQ,KAAK,CACvC;CAGF,MAAM,MAAM,qBAAqB,QAAQ,MAAM,EAAE,CAAC;CAClD,MAAM,SAAS,WAAW,IAAI,WAAW;CACzC,MAAM,YAAY,iBAAiB,OAAO,IAAI,IAAI;CAElD,MAAM,SAAU,OAAmC;CACnD,MAAM,WACJ,UAAU,OAAO,WAAW,YAAY,CAAC,MAAM,QAAQ,OAAO,GACzD,SACD,KAAA;CACN,MAAM,aAAa,MAAM,QAAQ,UAAU,QAAQ,GAC/C,SAAU,QAAQ,QAAQ,MAAmB,OAAO,MAAM,SAAS,GACnE,EAAE;CAEN,MAAM,MAAM,IAAI,YAAY;CAC5B,MAAM,SAAS,IAAI,gBAAgB;EACjC,cAAc;EACd,eAAe,KAAK,WAAW,cAAc;EAC9C,CAAC;AACF,QAAO,UAAU,OAAsD;CAGvE,MAAM,mBADW,OAAO,uBACS,CAAC,qBAAqB,QAAQ,IAAI,CAAC,SAAS;CAC7E,MAAM,wBAAwB,4BAA4B,OAAO,EAAE,UAAU,KAAK;AAElF,KAAI,WAAW,WAAW,KAAK,CAAC,wBAAwB,CAAC,iBACvD;AAGF,QAAO,kBAAkB,EAAE,KAAK,CAAC;AACjC,OAAM,OAAO,sBAAsB;AACnC,6BAA4B,SAAS,OAAO,aAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gateway-run-argv.js","names":[],"sources":["../../../src/cli/gateway-run-argv.ts"],"sourcesContent":["import { resolveCliArgvInvocation } from './argv-invocation.js';\n\nconst GATEWAY_RUN_VALUE_FLAGS = new Set([\n '--port',\n '--bind',\n '--token',\n '--tailscale',\n]);\n\nconst GATEWAY_RUN_BOOLEAN_FLAGS = new Set([\n '--tailscale-reset-on-exit',\n '--force',\n '--no-hot-reload',\n '--foreground',\n]);\n\nconst GATEWAY_SUBCOMMANDS = new Set([\n 'token',\n 'status',\n 'health',\n 'call',\n 'probe',\n 'stop',\n 'restart',\n 'logs',\n 'service',\n 'ssh-tunnel',\n]);\n\nfunction isValueToken(token: string | undefined): boolean {\n return typeof token === 'string' && token.length > 0 && !token.startsWith('-');\n}\n\nexport function consumeGatewayRunOptionToken(args: ReadonlyArray<string>, index: number): number {\n const arg = args[index];\n if (!arg || arg === '--' || !arg.startsWith('-')) {\n return 0;\n }\n const equalsIndex = arg.indexOf('=');\n const flag = equalsIndex === -1 ? arg : arg.slice(0, equalsIndex);\n if (GATEWAY_RUN_BOOLEAN_FLAGS.has(flag)) {\n return equalsIndex === -1 ? 1 : 0;\n }\n if (!GATEWAY_RUN_VALUE_FLAGS.has(flag)) {\n return 0;\n }\n if (equalsIndex !== -1) {\n return arg.slice(equalsIndex + 1).trim() ? 1 : 0;\n }\n return isValueToken(args[index + 1]) ? 2 : 0;\n}\n\nexport function consumeGatewayFastPathRootOptionToken(\n args: ReadonlyArray<string>,\n index: number,\n): number {\n const arg = args[index];\n if (!arg || arg === '--') {\n return 0;\n }\n if (arg.startsWith('--config=')) {\n return arg.slice('--config='.length).trim() ? 1 : 0;\n }\n if (arg === '--config') {\n return isValueToken(args[index + 1]) ? 2 : 0;\n }\n if (arg.startsWith('--workspace=')) {\n return arg.slice('--workspace='.length).trim() ? 1 : 0;\n }\n if (arg === '--workspace') {\n return isValueToken(args[index + 1]) ? 2 : 0;\n }\n if (arg === '--verbose' || arg === '-v') {\n return 1;\n }\n return 0;\n}\n\nexport function resolveGatewayCatalogCommandPath(argv: string[]): string[] | null {\n const args = argv.slice(2).filter((arg) => arg !== '--');\n let sawGateway = false;\n\n for (let index = 0; index < args.length; index += 1) {\n const arg = args[index];\n if (!arg || arg === '--') {\n break;\n }\n if (!sawGateway) {\n const consumed = consumeGatewayFastPathRootOptionToken(args, index);\n if (consumed > 0) {\n index += consumed - 1;\n continue;\n }\n if (arg.startsWith('-')) {\n continue;\n }\n if (arg !== 'gateway') {\n return null;\n }\n sawGateway = true;\n continue;\n }\n\n const consumed = consumeGatewayRunOptionToken(args, index);\n if (consumed > 0) {\n index += consumed - 1;\n continue;\n }\n if (arg.startsWith('-')) {\n continue;\n }\n if (arg === 'service') {\n for (let nestedIndex = index + 1; nestedIndex < args.length; nestedIndex += 1) {\n const nested = args[nestedIndex];\n if (!nested || nested === '--') {\n break;\n }\n if (nested.startsWith('-')) {\n continue;\n }\n return ['gateway', 'service', nested];\n }\n return ['gateway', 'service'];\n }\n return ['gateway', arg];\n }\n\n return sawGateway ? ['gateway'] : null;\n}\n\nexport function resolveGatewaySubcommandName(argv: string[]): string | undefined {\n const path = resolveGatewayCatalogCommandPath(argv);\n return path && path.length >= 2 ? path[1] : undefined;\n}\n\nexport function isGatewayRunFastPathArgv(argv: string[]): boolean {\n if (process.env.XOPC_DISABLE_GATEWAY_RUN_FAST_PATH === '1') {\n return false;\n }\n\n const invocation = resolveCliArgvInvocation(argv);\n if (invocation.hasHelpOrVersion) {\n return false;\n }\n\n const args = argv.slice(2).filter((arg) => arg !== '--');\n let sawGateway = false;\n\n for (let index = 0; index < args.length; index += 1) {\n const arg = args[index];\n if (!arg || arg === '--') {\n return false;\n }\n if (!sawGateway) {\n const consumed = consumeGatewayFastPathRootOptionToken(args, index);\n if (consumed > 0) {\n index += consumed - 1;\n continue;\n }\n if (arg !== 'gateway') {\n return false;\n }\n sawGateway = true;\n continue;\n }\n\n const consumed = consumeGatewayRunOptionToken(args, index);\n if (consumed > 0) {\n index += consumed - 1;\n continue;\n }\n if (arg.startsWith('-')) {\n continue;\n }\n return false;\n }\n\n return sawGateway;\n}\n\nexport function isKnownGatewaySubcommand(name: string): boolean {\n return GATEWAY_SUBCOMMANDS.has(name);\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gateway-run-fast-path.js","names":["pkg.version"],"sources":["../../../src/cli/gateway-run-fast-path.ts"],"sourcesContent":["import type { Command } from 'commander';\n\nimport { ROOT_COMMAND_DESCRIPTION } from './command-manifest.js';\nimport { createDefaultContext, type CLIContext } from './registry.js';\nimport { isGatewayRunFastPathArgv } from './gateway-run-argv.js';\nimport pkg from '../../package.json' with { type: 'json' };\n\nlet parsedOpts: { config?: string; workspace?: string; verbose?: boolean } = {};\n\nfunction getContextWithOpts(argv: string[] = process.argv): CLIContext {\n return createDefaultContext(argv, parsedOpts);\n}\n\nfunction buildGatewayRunOptions(cmd: Command) {\n return cmd\n .description('Start the xopc gateway server')\n .option('--bind <mode>', 'Bind mode: loopback | lan | auto | custom | tailnet')\n .option('--port <number>', 'Port to listen on (defaults to gateway.port in config, else 18790)')\n .option('--token <token>', 'Authentication token')\n .option(\n '--tailscale <mode>',\n 'Tailscale exposure: off | serve | funnel (overrides config for this run)',\n )\n .option('--tailscale-reset-on-exit', 'Reset Tailscale serve/funnel on gateway shutdown', false)\n .option('--force', 'Force kill existing process on port', false)\n .option('--no-hot-reload', 'Disable config hot reload')\n .option('--foreground', 'Start gateway in foreground mode (blocks terminal)', true);\n}\n\nexport async function tryRunGatewayRunFastPath(argv: string[] = process.argv): Promise<boolean> {\n if (!isGatewayRunFastPathArgv(argv)) {\n return false;\n }\n\n const { Command } = await import('commander');\n const { runGatewayFromCliOptions } = await import('./commands/gateway/run-foreground.js');\n\n const program = new Command()\n .name('xopc')\n .description(ROOT_COMMAND_DESCRIPTION)\n .version(pkg.version)\n .option('--verbose', 'Enable verbose logging', false)\n .option('--config <path>', 'Config file path')\n .option('--workspace <path>', 'Workspace directory');\n\n program.hook('preAction', (thisCommand) => {\n parsedOpts = thisCommand.opts();\n });\n\n const gateway = buildGatewayRunOptions(new Command('gateway'));\n gateway.action(async (options) => {\n await runGatewayFromCliOptions(options, getContextWithOpts(argv));\n });\n program.addCommand(gateway);\n\n await program.parseAsync(argv);\n\n const { flushAndClose } = await import('../utils/logger/shutdown.js');\n await flushAndClose();\n return true;\n}\n"],"mappings":";;;;;AAOA,IAAI,aAAyE,EAAE;AAE/E,SAAS,mBAAmB,OAAiB,QAAQ,MAAkB;AACrE,QAAO,qBAAqB,MAAM,WAAW;;AAG/C,SAAS,uBAAuB,KAAc;AAC5C,QAAO,IACJ,YAAY,gCAAgC,CAC5C,OAAO,iBAAiB,sDAAsD,CAC9E,OAAO,mBAAmB,qEAAqE,CAC/F,OAAO,mBAAmB,uBAAuB,CACjD,OACC,sBACA,2EACD,CACA,OAAO,6BAA6B,oDAAoD,MAAM,CAC9F,OAAO,WAAW,uCAAuC,MAAM,CAC/D,OAAO,mBAAmB,4BAA4B,CACtD,OAAO,gBAAgB,sDAAsD,KAAK;;AAGvF,eAAsB,yBAAyB,OAAiB,QAAQ,MAAwB;AAC9F,KAAI,CAAC,yBAAyB,KAAK,CACjC,QAAO;CAGT,MAAM,EAAE,YAAY,MAAM,OAAO;CACjC,MAAM,EAAE,6BAA6B,MAAM,OAAO;CAElD,MAAM,UAAU,IAAI,SAAS,CAC1B,KAAK,OAAO,CACZ,YAAY,yBAAyB,CACrC,QAAQA,QAAY,CACpB,OAAO,aAAa,0BAA0B,MAAM,CACpD,OAAO,mBAAmB,mBAAmB,CAC7C,OAAO,sBAAsB,sBAAsB;AAEtD,SAAQ,KAAK,cAAc,gBAAgB;AACzC,eAAa,YAAY,MAAM;GAC/B;CAEF,MAAM,UAAU,uBAAuB,IAAI,QAAQ,UAAU,CAAC;AAC9D,SAAQ,OAAO,OAAO,YAAY;AAChC,QAAM,yBAAyB,SAAS,mBAAmB,KAAK,CAAC;GACjE;AACF,SAAQ,WAAW,QAAQ;AAE3B,OAAM,QAAQ,WAAW,KAAK;CAE9B,MAAM,EAAE,kBAAkB,MAAM,OAAO;AACvC,OAAM,eAAe;AACrB,QAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["pkg.version"],"sources":["../../../src/cli/index.ts"],"sourcesContent":["#!/usr/bin/env node\n/** Command wiring and `program.parse`; executable entry is `bin.ts` (log preset before logger init). */\nimport { Command } from 'commander';\nimport { ROOT_COMMAND_DESCRIPTION } from './command-manifest.js';\nimport pkg from '../../package.json' with { type: 'json' };\nimport { resolveCommandName, tryLoadCommand, loadAllCommands } from './command-loaders.js';\nimport { isHelpOrVersionInvocation } from './argv.js';\n\n// Lazy logger flush so that pure parameter-parsing paths (--help, --version,\n// `<unknown>`) never load the logger barrel. Imports `logger/shutdown.js`\n// directly to bypass `logger/index.ts` (pino + 8 sub-modules) on the cold path\n// — when an action did log, that import is already cached.\nasync function flushLoggerAndExit(code: number): Promise<never> {\n const { flushAndClose } = await import('../utils/logger/shutdown.js');\n await flushAndClose();\n process.exit(code);\n}\n\n// Re-exported from `./context.js` for backward compat. Command modules should\n// import from `./context.js` directly to avoid the CLI barrel cycle.\nexport { parsedOpts, getContextWithOpts } from './context.js';\nimport { parsedOpts, getContextWithOpts } from './context.js';\n\n// Commands whose action never resolves until an external shutdown signal.\n// `tui` is intentionally omitted: `await runTui()` completes when the user exits\n// the TUI and the process must call `process.exit` (interactive stdin stays open).\nconst LONG_RUNNING_COMMANDS = new Set(['gateway', 'agent']);\n\nexport function argvWithDefaultCommand(argv: string[], defaultCommand = 'tui'): string[] {\n const target = resolveCommandName(argv);\n if (target || isHelpOrVersionInvocation(argv)) {\n return argv;\n }\n return [...argv, defaultCommand];\n}\n\nfunction isExtensionsDevCommand(command: Command): boolean {\n return command.name() === 'dev' && command.parent?.name() === 'extensions';\n}\n\nfunction buildProgram(): Command {\n const program = new Command()\n .name('xopc')\n .description(ROOT_COMMAND_DESCRIPTION)\n .version(pkg.version)\n .option('--verbose', 'Enable verbose logging', false)\n .option('--config <path>', 'Config file path')\n .option('--workspace <path>', 'Workspace directory');\n\n // Hook to capture parsed options before each command runs. Mutate the\n // shared object in place — `parsedOpts` is a `const` import from\n // `./context.js` so command modules see updates through the same reference.\n program.hook('preAction', (thisCommand) => {\n const next = thisCommand.opts() as Record<string, unknown>;\n for (const k of Object.keys(parsedOpts)) {\n delete (parsedOpts as Record<string, unknown>)[k];\n }\n Object.assign(parsedOpts, next);\n });\n\n // Hook to ensure process exits after command completion.\n // Second arg is the command whose action ran; the first is the ancestor that\n // registered the hook (often the root program), so using only the first arg\n // mis-detects the subcommand as \"xopc\".\n program.hook('postAction', async (_hookOwner, actionCommand) => {\n const cmd = actionCommand ?? program;\n const args = cmd.args;\n const subCommandName = args.length > 0 ? args[0] : cmd.name();\n\n if (LONG_RUNNING_COMMANDS.has(subCommandName) || isExtensionsDevCommand(cmd)) {\n if (subCommandName === 'agent') {\n const hasInteractiveFlag = process.argv.includes('-i') || process.argv.includes('--interactive');\n if (!hasInteractiveFlag) {\n await flushLoggerAndExit(0);\n }\n }\n return;\n }\n await flushLoggerAndExit(0);\n });\n\n return program;\n}\n\nexport async function runCli(argv: string[] = process.argv): Promise<void> {\n const program = buildProgram();\n const ctx = getContextWithOpts(argv);\n\n // Filter out standalone '--' separator (passed by pnpm run -- <cmd>).\n // npm removes it automatically, pnpm passes it through. Keep '--' if it's a\n // script argument (index < 2), drop it only when it sits between the script\n // name and the actual command.\n const filteredArgv = argv.filter((arg, index) => {\n if (arg !== '--') return true;\n return index < 2;\n });\n\n const argvToParse = argvWithDefaultCommand(filteredArgv);\n const target = resolveCommandName(argvToParse);\n let loaded = false;\n if (target) {\n loaded = await tryLoadCommand(program, ctx, target, getContextWithOpts);\n }\n if (!loaded) {\n // Unknown command, no command, or commander needs the full set (e.g. for\n // root help fallback). Load every command so commander can dispatch\n // properly.\n await loadAllCommands(program, ctx, getContextWithOpts);\n }\n\n program.parse(argvToParse);\n}\n"],"mappings":";;;;;;;;;AAYA,eAAe,mBAAmB,MAA8B;CAC9D,MAAM,EAAE,kBAAkB,MAAM,OAAO;AACvC,OAAM,eAAe;AACrB,SAAQ,KAAK,KAAK;;AAWpB,MAAM,wBAAwB,IAAI,IAAI,CAAC,WAAW,QAAQ,CAAC;AAE3D,SAAgB,uBAAuB,MAAgB,iBAAiB,OAAiB;AAEvF,KADe,mBAAmB,KACxB,IAAI,0BAA0B,KAAK,CAC3C,QAAO;AAET,QAAO,CAAC,GAAG,MAAM,eAAe;;AAGlC,SAAS,uBAAuB,SAA2B;AACzD,QAAO,QAAQ,MAAM,KAAK,SAAS,QAAQ,QAAQ,MAAM,KAAK;;AAGhE,SAAS,eAAwB;CAC/B,MAAM,UAAU,IAAI,SAAS,CAC1B,KAAK,OAAO,CACZ,YAAY,yBAAyB,CACrC,QAAQA,QAAY,CACpB,OAAO,aAAa,0BAA0B,MAAM,CACpD,OAAO,mBAAmB,mBAAmB,CAC7C,OAAO,sBAAsB,sBAAsB;AAKtD,SAAQ,KAAK,cAAc,gBAAgB;EACzC,MAAM,OAAO,YAAY,MAAM;AAC/B,OAAK,MAAM,KAAK,OAAO,KAAK,WAAW,CACrC,QAAQ,WAAuC;AAEjD,SAAO,OAAO,YAAY,KAAK;GAC/B;AAMF,SAAQ,KAAK,cAAc,OAAO,YAAY,kBAAkB;EAC9D,MAAM,MAAM,iBAAiB;EAC7B,MAAM,OAAO,IAAI;EACjB,MAAM,iBAAiB,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,MAAM;AAE7D,MAAI,sBAAsB,IAAI,eAAe,IAAI,uBAAuB,IAAI,EAAE;AAC5E,OAAI,mBAAmB;QAEjB,EADuB,QAAQ,KAAK,SAAS,KAAK,IAAI,QAAQ,KAAK,SAAS,gBAAgB,EAE9F,OAAM,mBAAmB,EAAE;;AAG/B;;AAEF,QAAM,mBAAmB,EAAE;GAC3B;AAEF,QAAO;;AAGT,eAAsB,OAAO,OAAiB,QAAQ,MAAqB;CACzE,MAAM,UAAU,cAAc;CAC9B,MAAM,MAAM,mBAAmB,KAAK;CAWpC,MAAM,cAAc,uBALC,KAAK,QAAQ,KAAK,UAAU;AAC/C,MAAI,QAAQ,KAAM,QAAO;AACzB,SAAO,QAAQ;GAGsC,CAAC;CACxD,MAAM,SAAS,mBAAmB,YAAY;CAC9C,IAAI,SAAS;AACb,KAAI,OACF,UAAS,MAAM,eAAe,SAAS,KAAK,QAAQ,mBAAmB;AAEzE,KAAI,CAAC,OAIH,OAAM,gBAAgB,SAAS,KAAK,mBAAmB;AAGzD,SAAQ,MAAM,YAAY"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.js","names":[],"sources":["../../../src/cli/registry.ts"],"sourcesContent":["import type { Command } from 'commander';\nimport { resolveConfigPath } from '../config/paths.js';\nimport { resolveDefaultAgentWorkspaceDir } from '../config/workspace-defaults.js';\n\nexport interface CLIContext {\n configPath: string;\n workspacePath: string;\n isVerbose: boolean;\n argv: string[];\n}\n\nexport function createDefaultContext(\n argv: string[] = process.argv,\n opts?: { config?: string; workspace?: string; verbose?: boolean }\n): CLIContext {\n return {\n configPath: opts?.config || process.env.XOPC_CONFIG || process.env.XOPC_CONFIG_PATH || resolveConfigPath(),\n workspacePath: opts?.workspace || process.env.XOPC_WORKSPACE || resolveDefaultAgentWorkspaceDir(),\n isVerbose: (opts?.verbose ?? (argv.includes('--verbose') || argv.includes('-v'))),\n argv,\n };\n}\n\nexport interface CommandMetadata {\n category?: 'setup' | 'runtime' | 'maintenance' | 'utility';\n hidden?: boolean;\n unstable?: boolean;\n examples?: string[];\n}\n\nexport interface CommandDefinition {\n id: string;\n name: string;\n description: string;\n factory: (ctx: CLIContext, getCtx?: () => CLIContext) => Command;\n metadata?: CommandMetadata;\n}\n\nexport class CommandRegistry {\n private commands: CommandDefinition[] = [];\n private initialized = false;\n private suppressLateRegistrationWarnings = false;\n\n /**\n * Temporarily silence the \"registered after initialization\" warning. Used by\n * commands that need to bulk-load other command modules to harvest their\n * side effects during initialization.\n */\n setSuppressLateRegistrationWarnings(value: boolean): void {\n this.suppressLateRegistrationWarnings = value;\n }\n\n register(def: CommandDefinition): void {\n if (this.initialized && !this.suppressLateRegistrationWarnings) {\n console.warn(`Warning: Command \"${def.id}\" registered after initialization`);\n }\n\n const existing = this.commands.find(c => c.id === def.id);\n if (existing) {\n throw new Error(`Command with id \"${def.id}\" already registered (name: ${existing.name})`);\n }\n\n const existingName = this.commands.find(c => c.name === def.name);\n if (existingName) {\n throw new Error(`Command with name \"${def.name}\" already registered (id: ${existingName.id})`);\n }\n\n this.commands.push(def);\n }\n\n registerAll(defs: CommandDefinition[]): void {\n for (const def of defs) {\n this.register(def);\n }\n }\n\n getCommands(): ReadonlyArray<CommandDefinition> {\n return this.commands;\n }\n\n getCommandsByCategory(category: CommandMetadata['category']): ReadonlyArray<CommandDefinition> {\n return this.commands.filter(c => c.metadata?.category === category);\n }\n\n findById(id: string): CommandDefinition | undefined {\n return this.commands.find(c => c.id === id);\n }\n\n findByName(name: string): CommandDefinition | undefined {\n return this.commands.find(c => c.name === name);\n }\n\n install(program: Command, ctx: CLIContext, getCtx?: () => CLIContext): void {\n this.initialized = true;\n\n const categoryOrder = { setup: 0, runtime: 1, maintenance: 2, utility: 3 };\n const sorted = [...this.commands].sort((a, b) => {\n const orderA = categoryOrder[a.metadata?.category ?? 'utility'];\n const orderB = categoryOrder[b.metadata?.category ?? 'utility'];\n return orderA - orderB;\n });\n\n for (const def of sorted) {\n if (def.metadata?.hidden) continue;\n\n try {\n const cmd = def.factory(ctx, getCtx);\n program.addCommand(cmd);\n } catch (error) {\n console.error(`Failed to register command \"${def.id}\":`, error);\n }\n }\n }\n\n installOne(\n program: Command,\n name: string,\n ctx: CLIContext,\n getCtx?: () => CLIContext,\n ): boolean {\n this.initialized = true;\n const def = this.findByName(name);\n if (!def || def.metadata?.hidden) return false;\n try {\n const cmd = def.factory(ctx, getCtx);\n program.addCommand(cmd);\n return true;\n } catch (error) {\n console.error(`Failed to register command \"${def.id}\":`, error);\n return false;\n }\n }\n\n getStats(): { total: number; byCategory: Record<string, number> } {\n const byCategory: Record<string, number> = {};\n for (const cmd of this.commands) {\n const cat = cmd.metadata?.category ?? 'uncategorized';\n byCategory[cat] = (byCategory[cat] || 0) + 1;\n }\n return { total: this.commands.length, byCategory };\n }\n}\n\nexport const registry = new CommandRegistry();\n\nexport function register(def: CommandDefinition): void {\n registry.register(def);\n}\n\nexport function formatExamples(examples: string[]): string {\n if (examples.length === 0) return '';\n return '\\nExamples:\\n' + examples.map(e => ` $ ${e}`).join('\\n');\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"templates.js","names":[],"sources":["../../../src/cli/templates.ts"],"sourcesContent":["/**\n * Workspace template files for onboarding.\n * Templates are stored in docs/reference/templates/ and loaded at runtime.\n */\n\nimport { readFileSync, existsSync } from 'fs';\nimport { join, dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\n\n/** Profile Markdown template file names (seeded into `agents/<id>/profile/`). */\nexport const TEMPLATE_FILES = [\n 'SOUL.md',\n 'IDENTITY.md',\n 'TOOLS.md',\n 'AGENTS.md',\n 'HEARTBEAT.md',\n] as const;\n\nexport type TemplateFile = (typeof TEMPLATE_FILES)[number];\n\n/** Alias for profile Markdown templates used by seed helpers. */\nexport const PROFILE_MARKDOWN_TEMPLATE_FILES: readonly TemplateFile[] = [...TEMPLATE_FILES];\n\n/** Template content cache */\nconst templateCache = new Map<TemplateFile, string>();\n\n/**\n * Get the path to template files.\n * Uses environment or looks in project root.\n */\nfunction getTemplatePath(): string {\n // Use environment to determine path\n const envPath = process.env.XOPC_TEMPLATE_PATH;\n if (envPath && existsSync(envPath)) {\n return envPath;\n }\n\n // Default: look in project root docs/reference/templates\n // Works for both development (src/cli/) and production (dist/cli/)\n const projectRoot = join(__dirname, '../../..');\n const defaultPath = join(projectRoot, 'docs/reference/templates');\n \n if (existsSync(defaultPath)) {\n return defaultPath;\n }\n\n // Fallback: return default (will fail gracefully)\n return defaultPath;\n}\n\n/**\n * Load a template file. Caches results for repeated access.\n */\nexport function loadTemplate(name: TemplateFile): string {\n // Return cached version if available\n if (templateCache.has(name)) {\n return templateCache.get(name)!;\n }\n\n const templatePath = join(getTemplatePath(), name);\n \n try {\n if (existsSync(templatePath)) {\n const content = readFileSync(templatePath, 'utf-8');\n templateCache.set(name, content);\n return content;\n }\n } catch {\n // Fall through to fallback\n }\n\n // Fallback: return minimal default if template is missing\n console.warn(`Warning: Template ${name} not found, using fallback`);\n return getFallbackTemplate(name);\n}\n\n/**\n * Load all templates as a record.\n */\nexport function loadAllTemplates(): Record<TemplateFile, string> {\n const result = {} as Record<TemplateFile, string>;\n for (const name of TEMPLATE_FILES) {\n result[name] = loadTemplate(name);\n }\n return result;\n}\n\n/**\n * Clear the template cache (useful for testing).\n */\nexport function clearTemplateCache(): void {\n templateCache.clear();\n}\n\n/** Minimal fallback templates in case files are missing */\nexport function getFallbackTemplate(name: TemplateFile): string {\n const fallbacks: Record<TemplateFile, string> = {\n 'AGENTS.md': `# AGENTS.md - Your Workspace\n\nThis folder is home. Treat it that way.\n\n## Session Startup\n\nUse runtime-provided startup context first. Bootstrap files (global user profile, SOUL, MEMORY, etc.) are injected by xopc on /new and /reset.\n\nDo not manually reread startup files unless the user asks or the provided context is incomplete.\n\n## Red Lines\n\n- Don't exfiltrate private data\n- Don't run destructive commands without asking\n- When in doubt, ask\n\n## Memory\n\n- Use runtime memory tools for recall.\n- Use curated memory for durable facts and preferences when available.\n- Cite only memory sources that a tool actually returns.\n\nWrite what matters. Text > Brain.\n`,\n 'SOUL.md': `# SOUL.md - Who You Are\n\n_You're not a chatbot. You're becoming someone._\n\n## Core Truths\n\n- Be genuinely helpful, not performatively helpful\n- Have opinions\n- Be resourceful before asking\n- Earn trust through competence\n- Remember you're a guest\n\n## Boundaries\n\n- Private things stay private\n- When in doubt, ask before acting externally\n- Never send half-baked replies\n\nThis file is yours to evolve.\n`,\n 'IDENTITY.md': `# IDENTITY.md - Who Am I?\n\n_Fill this in during your first conversation._\n\n- **Name:**\n- **Creature:**\n- **Vibe:**\n- **Emoji:**\n`,\n 'TOOLS.md': `# TOOLS.md - Local Notes\n\nEnvironment-specific notes:\n\n- SSH hosts\n- API endpoints\n- Device nicknames\n`,\n 'HEARTBEAT.md': `# HEARTBEAT.md - Periodic Checks\n\nEdit this file to define what you check during heartbeat polls.\n\n## Example Checklist\n\n- [ ] Check email for urgent messages\n- [ ] Check calendar for upcoming events\n\n**Remember:** If nothing needs attention, reply \\`HEARTBEAT_OK\\`.\n`,\n };\n \n return fallbacks[name] || `# ${name}\\n\\n(Template content missing)\\n`;\n}\n"],"mappings":";;;;;;;;AAUA,MAAM,YAAY,QADC,cAAc,OAAO,KAAK,IACT,CAAC;;AAGrC,MAAa,iBAAiB;CAC5B;CACA;CACA;CACA;CACA;CACD;;AAKD,MAAa,kCAA2D,CAAC,GAAG,eAAe;;AAG3F,MAAM,gCAAgB,IAAI,KAA2B;;;;;AAMrD,SAAS,kBAA0B;CAEjC,MAAM,UAAU,QAAQ,IAAI;AAC5B,KAAI,WAAW,WAAW,QAAQ,CAChC,QAAO;CAMT,MAAM,cAAc,KADA,KAAK,WAAW,WACA,EAAE,2BAA2B;AAEjE,KAAI,WAAW,YAAY,CACzB,QAAO;AAIT,QAAO;;;;;AAMT,SAAgB,aAAa,MAA4B;AAEvD,KAAI,cAAc,IAAI,KAAK,CACzB,QAAO,cAAc,IAAI,KAAK;CAGhC,MAAM,eAAe,KAAK,iBAAiB,EAAE,KAAK;AAElD,KAAI;AACF,MAAI,WAAW,aAAa,EAAE;GAC5B,MAAM,UAAU,aAAa,cAAc,QAAQ;AACnD,iBAAc,IAAI,MAAM,QAAQ;AAChC,UAAO;;SAEH;AAKR,SAAQ,KAAK,qBAAqB,KAAK,4BAA4B;AACnE,QAAO,oBAAoB,KAAK;;;;;AAMlC,SAAgB,mBAAiD;CAC/D,MAAM,SAAS,EAAE;AACjB,MAAK,MAAM,QAAQ,eACjB,QAAO,QAAQ,aAAa,KAAK;AAEnC,QAAO;;;;;AAMT,SAAgB,qBAA2B;AACzC,eAAc,OAAO;;;AAIvB,SAAgB,oBAAoB,MAA4B;AA4E9D,QAAO;EA1EL,aAAa;;;;;;;;;;;;;;;;;;;;;;;;EAwBb,WAAW;;;;;;;;;;;;;;;;;;;;EAoBX,eAAe;;;;;;;;;EASf,YAAY;;;;;;;;EAQZ,gBAAgB;;;;;;;;;;;EAaF,CAAC,SAAS,KAAK,KAAK"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"colors.js","names":[],"sources":["../../../../src/cli/utils/colors.ts"],"sourcesContent":["/**\n * Simple color utilities for CLI output\n */\n\nexport const colors = {\n\tgreen: (s: string) => `\\x1b[32m${s}\\x1b[0m`,\n\tred: (s: string) => `\\x1b[31m${s}\\x1b[0m`,\n\tyellow: (s: string) => `\\x1b[33m${s}\\x1b[0m`,\n\tcyan: (s: string) => `\\x1b[36m${s}\\x1b[0m`,\n\tblue: (s: string) => `\\x1b[34m${s}\\x1b[0m`,\n\tbold: (s: string) => `\\x1b[1m${s}\\x1b[0m`,\n\tgray: (s: string) => `\\x1b[90m${s}\\x1b[0m`,\n};\n\nexport function colorizeStatus(hasKey: boolean): string {\n\treturn hasKey ? colors.green('✓') : colors.red('✗');\n}\n"],"mappings":";;;;AAIA,MAAa,SAAS;CACrB,QAAQ,MAAc,WAAW,EAAE;CACnC,MAAM,MAAc,WAAW,EAAE;CACjC,SAAS,MAAc,WAAW,EAAE;CACpC,OAAO,MAAc,WAAW,EAAE;CAClC,OAAO,MAAc,WAAW,EAAE;CAClC,OAAO,MAAc,UAAU,EAAE;CACjC,OAAO,MAAc,WAAW,EAAE;CAClC;AAED,SAAgB,eAAe,QAAyB;AACvD,QAAO,SAAS,OAAO,MAAM,IAAI,GAAG,OAAO,IAAI,IAAI"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gateway-client-options.js","names":[],"sources":["../../../../src/cli/utils/gateway-client-options.ts"],"sourcesContent":["/**\n * Lightweight option helpers for gateway CLI subcommands.\n *\n * Kept separate from `gateway-client.ts` so subcommand files can statically\n * import these (called at command construction time) without dragging in\n * `loadConfig` / `createLogger` and their transitive graph. The heavy HTTP\n * helpers in `gateway-client.ts` are dynamically imported inside actions.\n */\nimport type { Command } from 'commander';\nimport type { GatewayCredential } from '../../gateway/credential.js';\n\nexport interface GatewayClientOptions {\n url?: string;\n token?: string;\n passwordEnv?: string;\n credential?: GatewayCredential;\n timeoutMs?: number;\n json?: boolean;\n}\n\nexport function addGatewayClientOptions(cmd: Command): Command {\n return cmd\n .option('--url <url>', 'Gateway HTTP URL (defaults to config or http://127.0.0.1:18790)')\n .option('--token <token>', 'Gateway auth token')\n .option('--password-env <name>', 'Environment variable holding the gateway password')\n .option('--timeout <ms>', 'Request timeout in ms', '10000')\n .option('--json', 'Output raw JSON', false);\n}\n\nexport function parseGatewayClientOptions(opts: Record<string, unknown>): GatewayClientOptions {\n const rawTimeout = opts.timeout;\n const timeoutMs =\n typeof rawTimeout === 'string'\n ? Number.parseInt(rawTimeout, 10) || 10_000\n : typeof rawTimeout === 'number' && Number.isFinite(rawTimeout)\n ? rawTimeout\n : 10_000;\n return {\n url: typeof opts.url === 'string' ? opts.url : undefined,\n token: typeof opts.token === 'string' ? opts.token : undefined,\n passwordEnv: typeof opts.passwordEnv === 'string' ? opts.passwordEnv : undefined,\n timeoutMs,\n json: Boolean(opts.json),\n };\n}\n"],"mappings":";AAoBA,SAAgB,wBAAwB,KAAuB;AAC7D,QAAO,IACJ,OAAO,eAAe,kEAAkE,CACxF,OAAO,mBAAmB,qBAAqB,CAC/C,OAAO,yBAAyB,oDAAoD,CACpF,OAAO,kBAAkB,yBAAyB,QAAQ,CAC1D,OAAO,UAAU,mBAAmB,MAAM;;AAG/C,SAAgB,0BAA0B,MAAqD;CAC7F,MAAM,aAAa,KAAK;CACxB,MAAM,YACJ,OAAO,eAAe,WAClB,OAAO,SAAS,YAAY,GAAG,IAAI,MACnC,OAAO,eAAe,YAAY,OAAO,SAAS,WAAW,GAC3D,aACA;AACR,QAAO;EACL,KAAK,OAAO,KAAK,QAAQ,WAAW,KAAK,MAAM,KAAA;EAC/C,OAAO,OAAO,KAAK,UAAU,WAAW,KAAK,QAAQ,KAAA;EACrD,aAAa,OAAO,KAAK,gBAAgB,WAAW,KAAK,cAAc,KAAA;EACvE;EACA,MAAM,QAAQ,KAAK,KAAK;EACzB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gateway-client.js","names":[],"sources":["../../../../src/cli/utils/gateway-client.ts"],"sourcesContent":["/**\n * Gateway API client — CLI-side HTTP client for gateway REST routes.\n */\n\nimport { loadConfig } from '../../config/index.js';\nimport { resolveConfigPath } from '../../config/paths.js';\nimport { resolveGatewayEffectiveHost } from '../../config/gateway-bind.js';\nimport { assertSecureGatewayHttpUrl } from '../../gateway/ws-security.js';\nimport {\n createGatewayCredential,\n gatewayCredentialAuthorization,\n type GatewayCredential,\n} from '../../gateway/credential.js';\nimport { createLogger } from '../../utils/logger.js';\nimport type { GatewayClientOptions } from './gateway-client-options.js';\n\nexport type { GatewayClientOptions } from './gateway-client-options.js';\nexport { addGatewayClientOptions, parseGatewayClientOptions } from './gateway-client-options.js';\n\nconst log = createLogger('GatewayClient');\n\nexport interface GatewayCallResult<T = unknown> {\n ok: boolean;\n status: number;\n data?: T;\n error?: string;\n durationMs: number;\n}\n\nexport function resolveGatewayUrl(opts?: { url?: string; configPath?: string }): string {\n if (opts?.url) {\n const normalized = opts.url.replace(/\\/+$/, '');\n assertSecureGatewayHttpUrl(normalized);\n return normalized;\n }\n\n const envUrl = process.env.XOPC_GATEWAY_URL?.trim();\n if (envUrl) {\n const normalized = envUrl.replace(/\\/+$/, '');\n assertSecureGatewayHttpUrl(normalized);\n return normalized;\n }\n\n try {\n const configPath = opts?.configPath ?? resolveConfigPath();\n const config = loadConfig(configPath);\n if (config.gateway?.mode === 'remote' && config.gateway.remote?.url?.trim()) {\n const normalized = config.gateway.remote.url.trim().replace(/\\/+$/, '');\n assertSecureGatewayHttpUrl(normalized);\n return normalized;\n }\n const host = resolveGatewayEffectiveHost(config);\n const port = config?.gateway?.port ?? 18790;\n const displayHost = host === '0.0.0.0' ? '127.0.0.1' : host;\n const url = `http://${displayHost}:${port}`;\n assertSecureGatewayHttpUrl(url);\n return url;\n } catch {\n return 'http://127.0.0.1:18790';\n }\n}\n\nexport function resolveGatewayCredential(opts?: {\n token?: string;\n passwordEnv?: string;\n credential?: GatewayCredential;\n configPath?: string;\n}): GatewayCredential | undefined {\n if (opts?.credential) return opts.credential;\n if (opts?.token && opts.passwordEnv) {\n throw new Error('Use either --token or --password-env, not both.');\n }\n if (opts?.token) return createGatewayCredential('token', opts.token);\n if (opts?.passwordEnv) {\n return createGatewayCredential('password', process.env[opts.passwordEnv]);\n }\n\n const envToken = process.env.XOPC_GATEWAY_TOKEN;\n if (envToken) return createGatewayCredential('token', envToken);\n\n try {\n const configPath = opts?.configPath ?? resolveConfigPath();\n const config = loadConfig(configPath);\n if (config.gateway?.mode === 'remote') {\n const remoteToken = config.gateway.remote?.token?.trim();\n if (remoteToken) return createGatewayCredential('token', remoteToken);\n }\n const auth = config.gateway?.auth;\n return auth?.mode === 'password'\n ? createGatewayCredential('password', auth.password)\n : createGatewayCredential('token', auth?.token);\n } catch {\n return undefined;\n }\n}\n\nexport async function callGatewayApi<T = unknown>(\n method: 'GET' | 'POST' | 'PATCH' | 'DELETE',\n path: string,\n opts?: GatewayClientOptions,\n body?: unknown,\n): Promise<GatewayCallResult<T>> {\n const baseUrl = resolveGatewayUrl(opts);\n const credential = resolveGatewayCredential(opts);\n const timeoutMs = opts?.timeoutMs ?? 10_000;\n const url = `${baseUrl}${path.startsWith('/') ? path : `/${path}`}`;\n\n const headers: Record<string, string> = {\n Accept: 'application/json',\n };\n const authorization = gatewayCredentialAuthorization(credential);\n if (authorization) {\n headers.Authorization = authorization;\n }\n if (body !== undefined) {\n headers['Content-Type'] = 'application/json';\n }\n\n const startedAt = Date.now();\n\n try {\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), timeoutMs);\n\n const response = await fetch(url, {\n method,\n headers,\n body: body !== undefined ? JSON.stringify(body) : undefined,\n signal: controller.signal,\n });\n\n clearTimeout(timer);\n const durationMs = Date.now() - startedAt;\n\n if (!response.ok) {\n let errorMessage: string;\n try {\n const errorBody = (await response.json()) as {\n error?: string;\n message?: string;\n };\n errorMessage = errorBody.error || errorBody.message || response.statusText;\n } catch {\n errorMessage = response.statusText;\n }\n\n log.debug({ url, status: response.status, durationMs }, `Gateway call failed: ${errorMessage}`);\n return {\n ok: false,\n status: response.status,\n error: errorMessage,\n durationMs,\n };\n }\n\n const data = (await response.json()) as T;\n log.debug({ url, status: response.status, durationMs }, 'Gateway call succeeded');\n return { ok: true, status: response.status, data, durationMs };\n } catch (err) {\n const durationMs = Date.now() - startedAt;\n const isAbort = err instanceof Error && err.name === 'AbortError';\n const errorMessage = isAbort\n ? `Request timed out after ${timeoutMs}ms`\n : err instanceof Error\n ? err.message\n : String(err);\n\n log.debug({ url, err, durationMs }, `Gateway call error: ${errorMessage}`);\n return { ok: false, status: 0, error: errorMessage, durationMs };\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"init-workspace-core.js","names":[],"sources":["../../../../src/cli/utils/init-workspace-core.ts"],"sourcesContent":["import { randomBytes } from 'node:crypto';\nimport { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';\nimport { dirname } from 'node:path';\n\nimport type { Config } from '../../config/schema.js';\nimport { ConfigSchema } from '../../config/schema.js';\nimport { saveConfig } from '../../config/loader.js';\nimport { ensureStarterAgentsInitialized } from '../../agent/starter-agents.js';\nimport { runBootstrapMigrationsSync } from '../../migrations/runner.js';\n\nexport interface InitWorkspaceCoreOptions {\n configPath: string;\n workspacePath: string;\n /** When set with a new config file, overrides schema default port (e.g. Electron). */\n gatewayPort?: number;\n /** When true, sets the default agent manifest workspace root to `workspacePath`. */\n persistWorkspacePath?: boolean;\n /** Optional channel plugin validator (CLI/gateway only; Electron omits). */\n assertChannelPlugins?: (cfg: Config) => void | Promise<void>;\n}\n\nexport interface InitWorkspaceResult {\n /** Fully-initialised config (matches disk after any write). */\n config: Config;\n /** Gateway auth token (always present after init). */\n token: string;\n configCreated: boolean;\n workspaceCreated: boolean;\n}\n\nasync function assertChannelPluginsIfNeeded(\n cfg: Config,\n assert?: InitWorkspaceCoreOptions['assertChannelPlugins'],\n): Promise<void> {\n if (assert) await assert(cfg);\n}\n\nasync function serializeConfig(\n cfg: Config,\n assertChannelPlugins?: InitWorkspaceCoreOptions['assertChannelPlugins'],\n): Promise<string> {\n const validated = ConfigSchema.parse(cfg);\n await assertChannelPluginsIfNeeded(validated, assertChannelPlugins);\n return JSON.stringify(validated, null, 2);\n}\n\nasync function tryReadDiskConfig(\n configPath: string,\n assertChannelPlugins?: InitWorkspaceCoreOptions['assertChannelPlugins'],\n): Promise<Config | null> {\n try {\n const raw = readFileSync(configPath, 'utf-8');\n const cfg = ConfigSchema.parse(JSON.parse(raw) as unknown);\n await assertChannelPluginsIfNeeded(cfg, assertChannelPlugins);\n return cfg;\n } catch {\n return null;\n }\n}\n\n/**\n * Workspace + config initialisation without importing bundled channel plugins.\n * Used by Electron main; CLI/gateway should call {@link initWorkspace} instead.\n */\nexport async function initWorkspaceCore(options: InitWorkspaceCoreOptions): Promise<InitWorkspaceResult> {\n const gatewayPortDefaulted = options.gatewayPort ?? 18790;\n const persistWorkspacePath = options.persistWorkspacePath ?? false;\n const { configPath, workspacePath, assertChannelPlugins } = options;\n const persistedWorkspaceRoot = persistWorkspacePath ? workspacePath : undefined;\n\n mkdirSync(dirname(configPath), { recursive: true });\n\n const configExisted = existsSync(configPath);\n if (configExisted) {\n runBootstrapMigrationsSync(configPath, { stateDir: dirname(configPath) });\n }\n const workspaceExisted = existsSync(workspacePath);\n\n let config: Config;\n if (configExisted) {\n config = (await tryReadDiskConfig(configPath, assertChannelPlugins)) ?? ConfigSchema.parse(undefined);\n } else {\n config = ConfigSchema.parse(undefined);\n await assertChannelPluginsIfNeeded(config, assertChannelPlugins);\n }\n\n mkdirSync(workspacePath, { recursive: true });\n\n const configCreated = !configExisted;\n const workspaceCreated = !workspaceExisted;\n\n const hadToken =\n config.gateway?.auth?.mode === 'token' &&\n typeof config.gateway?.auth?.token === 'string' &&\n config.gateway.auth.token.length > 0;\n\n const token = hadToken ? (config.gateway!.auth!.token as string) : randomBytes(24).toString('hex');\n\n const port = configExisted\n ? (config.gateway?.port ?? gatewayPortDefaulted)\n : options.gatewayPort !== undefined\n ? gatewayPortDefaulted\n : (config.gateway?.port ?? 18790);\n\n const defaultAgentId = config.agents.default ?? config.agents.list[0]?.id ?? 'main';\n const agentsList =\n persistedWorkspaceRoot === undefined\n ? config.agents.list\n : config.agents.list.map((agent) =>\n agent.id === defaultAgentId ? { ...agent, workspace: { root: persistedWorkspaceRoot } } : agent,\n );\n\n const nextConfig: Config = {\n ...config,\n agents: {\n ...config.agents,\n list: agentsList,\n },\n gateway: {\n ...config.gateway,\n port,\n auth: {\n ...config.gateway?.auth,\n mode: 'token' as const,\n token,\n },\n },\n };\n\n const starterResult = ensureStarterAgentsInitialized(ConfigSchema.parse(nextConfig));\n const nextFinal = ConfigSchema.parse(starterResult.config);\n await assertChannelPluginsIfNeeded(nextFinal, assertChannelPlugins);\n\n let needsWrite = configCreated || starterResult.changed;\n if (!needsWrite) {\n const disk = await tryReadDiskConfig(configPath, assertChannelPlugins);\n if (!disk) {\n needsWrite = true;\n } else {\n needsWrite =\n (await serializeConfig(disk, assertChannelPlugins)) !==\n (await serializeConfig(nextFinal, assertChannelPlugins));\n }\n }\n\n if (needsWrite) {\n if (assertChannelPlugins) {\n await saveConfig(nextFinal, configPath);\n } else {\n writeFileSync(configPath, `${JSON.stringify(nextFinal, null, 2)}\\n`, 'utf8');\n }\n }\n\n return {\n config: nextFinal,\n token,\n configCreated,\n workspaceCreated,\n };\n}\n"],"mappings":";;;;;;;;aAKsD;aACF;AAwBpD,eAAe,6BACb,KACA,QACe;AACf,KAAI,OAAQ,OAAM,OAAO,IAAI;;AAG/B,eAAe,gBACb,KACA,sBACiB;CACjB,MAAM,YAAY,aAAa,MAAM,IAAI;AACzC,OAAM,6BAA6B,WAAW,qBAAqB;AACnE,QAAO,KAAK,UAAU,WAAW,MAAM,EAAE;;AAG3C,eAAe,kBACb,YACA,sBACwB;AACxB,KAAI;EACF,MAAM,MAAM,aAAa,YAAY,QAAQ;EAC7C,MAAM,MAAM,aAAa,MAAM,KAAK,MAAM,IAAI,CAAY;AAC1D,QAAM,6BAA6B,KAAK,qBAAqB;AAC7D,SAAO;SACD;AACN,SAAO;;;;;;;AAQX,eAAsB,kBAAkB,SAAiE;CACvG,MAAM,uBAAuB,QAAQ,eAAe;CACpD,MAAM,uBAAuB,QAAQ,wBAAwB;CAC7D,MAAM,EAAE,YAAY,eAAe,yBAAyB;CAC5D,MAAM,yBAAyB,uBAAuB,gBAAgB,KAAA;AAEtE,WAAU,QAAQ,WAAW,EAAE,EAAE,WAAW,MAAM,CAAC;CAEnD,MAAM,gBAAgB,WAAW,WAAW;AAC5C,KAAI,cACF,4BAA2B,YAAY,EAAE,UAAU,QAAQ,WAAW,EAAE,CAAC;CAE3E,MAAM,mBAAmB,WAAW,cAAc;CAElD,IAAI;AACJ,KAAI,cACF,UAAU,MAAM,kBAAkB,YAAY,qBAAqB,IAAK,aAAa,MAAM,KAAA,EAAU;MAChG;AACL,WAAS,aAAa,MAAM,KAAA,EAAU;AACtC,QAAM,6BAA6B,QAAQ,qBAAqB;;AAGlE,WAAU,eAAe,EAAE,WAAW,MAAM,CAAC;CAE7C,MAAM,gBAAgB,CAAC;CACvB,MAAM,mBAAmB,CAAC;CAO1B,MAAM,QAJJ,OAAO,SAAS,MAAM,SAAS,WAC/B,OAAO,OAAO,SAAS,MAAM,UAAU,YACvC,OAAO,QAAQ,KAAK,MAAM,SAAS,IAEX,OAAO,QAAS,KAAM,QAAmB,YAAY,GAAG,CAAC,SAAS,MAAM;CAElG,MAAM,OAAO,gBACR,OAAO,SAAS,QAAQ,uBACzB,QAAQ,gBAAgB,KAAA,IACtB,uBACC,OAAO,SAAS,QAAQ;CAE/B,MAAM,iBAAiB,OAAO,OAAO,WAAW,OAAO,OAAO,KAAK,IAAI,MAAM;CAC7E,MAAM,aACJ,2BAA2B,KAAA,IACvB,OAAO,OAAO,OACd,OAAO,OAAO,KAAK,KAAK,UACtB,MAAM,OAAO,iBAAiB;EAAE,GAAG;EAAO,WAAW,EAAE,MAAM,wBAAwB;EAAE,GAAG,MAC3F;CAEP,MAAM,aAAqB;EACzB,GAAG;EACH,QAAQ;GACN,GAAG,OAAO;GACV,MAAM;GACP;EACD,SAAS;GACP,GAAG,OAAO;GACV;GACA,MAAM;IACJ,GAAG,OAAO,SAAS;IACnB,MAAM;IACN;IACD;GACF;EACF;CAED,MAAM,gBAAgB,+BAA+B,aAAa,MAAM,WAAW,CAAC;CACpF,MAAM,YAAY,aAAa,MAAM,cAAc,OAAO;AAC1D,OAAM,6BAA6B,WAAW,qBAAqB;CAEnE,IAAI,aAAa,iBAAiB,cAAc;AAChD,KAAI,CAAC,YAAY;EACf,MAAM,OAAO,MAAM,kBAAkB,YAAY,qBAAqB;AACtE,MAAI,CAAC,KACH,cAAa;MAEb,cACG,MAAM,gBAAgB,MAAM,qBAAqB,KACjD,MAAM,gBAAgB,WAAW,qBAAqB;;AAI7D,KAAI,WACF,KAAI,qBACF,OAAM,WAAW,WAAW,WAAW;KAEvC,eAAc,YAAY,GAAG,KAAK,UAAU,WAAW,MAAM,EAAE,CAAC,KAAK,OAAO;AAIhF,QAAO;EACL,QAAQ;EACR;EACA;EACA;EACD"}