@xopcai/xopc 0.0.86 → 0.0.87

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 (380) hide show
  1. package/dist/browser-ext/manifest.json +1 -1
  2. package/dist/extensions/feishu/src/adapters/cli-login.js +3 -3
  3. package/dist/extensions/feishu/src/adapters/cli-login.js.map +1 -1
  4. package/dist/extensions/telegram/src/delivery-chat-id.d.ts +1 -1
  5. package/dist/extensions/telegram/src/delivery-chat-id.js +1 -1
  6. package/dist/extensions/telegram/src/delivery-chat-id.js.map +1 -1
  7. package/dist/extensions/telegram/src/routing-integration.js +1 -0
  8. package/dist/extensions/telegram/src/routing-integration.js.map +1 -1
  9. package/dist/extensions/telegram/xopc.extension.json +1 -1
  10. package/dist/extensions/weixin/src/__tests__/workflow-progress.test.js +2 -2
  11. package/dist/extensions/weixin/src/__tests__/workflow-progress.test.js.map +1 -1
  12. package/dist/extensions/weixin/src/api/api.js +2 -2
  13. package/dist/extensions/weixin/src/api/api.js.map +1 -1
  14. package/dist/extensions/weixin/src/auth/accounts.js +12 -12
  15. package/dist/extensions/weixin/src/auth/accounts.js.map +1 -1
  16. package/dist/extensions/weixin/src/delivery-to.js +2 -2
  17. package/dist/extensions/weixin/src/delivery-to.js.map +1 -1
  18. package/dist/extensions/weixin/src/messaging/debug-mode.js +5 -5
  19. package/dist/extensions/weixin/src/messaging/debug-mode.js.map +1 -1
  20. package/dist/extensions/weixin/src/messaging/inbound.js +11 -11
  21. package/dist/extensions/weixin/src/messaging/inbound.js.map +1 -1
  22. package/dist/extensions/weixin/src/storage/sync-buf.js +4 -4
  23. package/dist/extensions/weixin/src/storage/sync-buf.js.map +1 -1
  24. package/dist/extensions/weixin/src/workflow-progress.d.ts +1 -1
  25. package/dist/extensions/weixin/src/workflow-progress.js.map +1 -1
  26. package/dist/gateway/static/root/assets/{agents-mS3_HpRI.js → agents-BEAbXpuP.js} +6 -6
  27. package/dist/gateway/static/root/assets/{apps-page-DrfytjOb.js → apps-page-Dg8R-Szf.js} +1 -1
  28. package/dist/gateway/static/root/assets/{channels-settings-BG6b9KrW.js → channels-settings-yohw9YSu.js} +1 -1
  29. package/dist/gateway/static/root/assets/{channels-status-swr-Bs5kMCMI.js → channels-status-swr-BSHqqCF1.js} +1 -1
  30. package/dist/gateway/static/root/assets/{cron-api-BuVcZ5zR.js → cron-api-0h_QT8U3.js} +1 -1
  31. package/dist/gateway/static/root/assets/{cron-page-BMrloeFH.js → cron-page-BkfKFfFk.js} +1 -1
  32. package/dist/gateway/static/root/assets/{dist-CKU1OOTf.js → dist-Cmjp2APP.js} +1 -1
  33. package/dist/gateway/static/root/assets/{extension-debug-page-BdW_46sN.js → extension-debug-page-CFa9z_1N.js} +1 -1
  34. package/dist/gateway/static/root/assets/{extension-page-DW47KI82.js → extension-page-BI8eaTPq.js} +1 -1
  35. package/dist/gateway/static/root/assets/{extension-settings-page-B-W4x2xP.js → extension-settings-page-x4BB7q1X.js} +1 -1
  36. package/dist/gateway/static/root/assets/{fetch-B2MYHbWg.js → fetch-DRqwef_Q.js} +1 -1
  37. package/dist/gateway/static/root/assets/{field-primitives-DPG-oJmx.js → field-primitives-BiNHBo2Y.js} +1 -1
  38. package/dist/gateway/static/root/assets/{heartbeat-config-api-C8dNts9i.js → heartbeat-config-api-ZRb8qhuz.js} +1 -1
  39. package/dist/gateway/static/root/assets/{index-BmVYculr.js → index-Cu7bKuUi.js} +96 -94
  40. package/dist/gateway/static/root/assets/index-a5gWIdZQ.css +1 -0
  41. package/dist/gateway/static/root/assets/{logs-page-sTsVWz0X.js → logs-page-BFZ8GgCv.js} +1 -1
  42. package/dist/gateway/static/root/assets/{sessions-page-FaG_Vlkb.js → sessions-page-CD7AfB-2.js} +1 -1
  43. package/dist/gateway/static/root/assets/{settings-form-section-DuvRQW--.js → settings-form-section-DiqqVs6m.js} +1 -1
  44. package/dist/gateway/static/root/assets/{settings-page-Bet1OerL.js → settings-page-BBOjEQW3.js} +1 -1
  45. package/dist/gateway/static/root/assets/{share-preview-page-BtG2kLDh.js → share-preview-page-n1Gprylk.js} +1 -1
  46. package/dist/gateway/static/root/assets/{skills-page-DhUO235y.js → skills-page-CcN_gj--.js} +1 -1
  47. package/dist/gateway/static/root/assets/{theme-store-DryYl3qD.js → theme-store-CZOh1nT3.js} +1 -1
  48. package/dist/gateway/static/root/assets/url-Dd8Q7kZZ.js +3 -0
  49. package/dist/gateway/static/root/assets/{utils-BY7bU1DT.js → utils-CkWBfxs4.js} +1 -1
  50. package/dist/gateway/static/root/assets/{voice-api-key-field-CGEydndO.js → voice-api-key-field-O6awz9hi.js} +1 -1
  51. package/dist/gateway/static/root/index.html +5 -5
  52. package/dist/package.js +1 -1
  53. package/dist/src/agent/agent-scope.d.ts +4 -0
  54. package/dist/src/agent/agent-scope.js +53 -10
  55. package/dist/src/agent/agent-scope.js.map +1 -1
  56. package/dist/src/agent/bootstrap/filter-bootstrap-files.js +2 -1
  57. package/dist/src/agent/bootstrap/filter-bootstrap-files.js.map +1 -1
  58. package/dist/src/agent/embedded/session-tool-result-guard.js +2 -1
  59. package/dist/src/agent/embedded/session-tool-result-guard.js.map +1 -1
  60. package/dist/src/agent/embedded/tool-result-truncation.js +2 -1
  61. package/dist/src/agent/embedded/tool-result-truncation.js.map +1 -1
  62. package/dist/src/agent/fallback/candidates.js +2 -2
  63. package/dist/src/agent/fallback/candidates.js.map +1 -1
  64. package/dist/src/agent/goals/persistent-goal-apis.d.ts +0 -2
  65. package/dist/src/agent/goals/persistent-goal-service.js +0 -1
  66. package/dist/src/agent/goals/persistent-goal-service.js.map +1 -1
  67. package/dist/src/agent/image/generation/normalization.js +2 -12
  68. package/dist/src/agent/image/generation/normalization.js.map +1 -1
  69. package/dist/src/agent/image/generation/provider-registry.d.ts +4 -8
  70. package/dist/src/agent/image/generation/provider-registry.js.map +1 -1
  71. package/dist/src/agent/image/generation/runtime.d.ts +2 -2
  72. package/dist/src/agent/image/generation/runtime.js.map +1 -1
  73. package/dist/src/agent/image/generation/types.d.ts +0 -18
  74. package/dist/src/agent/image/image-helpers.js +6 -1
  75. package/dist/src/agent/image/image-helpers.js.map +1 -1
  76. package/dist/src/agent/image/index.d.ts +1 -1
  77. package/dist/src/agent/inbound/inbound-loop.d.ts +5 -0
  78. package/dist/src/agent/inbound/inbound-loop.js +41 -10
  79. package/dist/src/agent/inbound/inbound-loop.js.map +1 -1
  80. package/dist/src/agent/inbound/turn-dispatcher.d.ts +4 -0
  81. package/dist/src/agent/inbound/turn-dispatcher.js +6 -4
  82. package/dist/src/agent/inbound/turn-dispatcher.js.map +1 -1
  83. package/dist/src/agent/mcp/bundle-mcp-materialize.js +2 -1
  84. package/dist/src/agent/mcp/bundle-mcp-materialize.js.map +1 -1
  85. package/dist/src/agent/mcp/bundle-mcp-names.js +2 -1
  86. package/dist/src/agent/mcp/bundle-mcp-names.js.map +1 -1
  87. package/dist/src/agent/mcp/bundle-mcp-runtime.js +2 -1
  88. package/dist/src/agent/mcp/bundle-mcp-runtime.js.map +1 -1
  89. package/dist/src/agent/mcp/mcp-transport-config.js +2 -1
  90. package/dist/src/agent/mcp/mcp-transport-config.js.map +1 -1
  91. package/dist/src/agent/mcp/mcp-transport.js +2 -1
  92. package/dist/src/agent/mcp/mcp-transport.js.map +1 -1
  93. package/dist/src/agent/media-generation/runtime-shared.js +2 -9
  94. package/dist/src/agent/media-generation/runtime-shared.js.map +1 -1
  95. package/dist/src/agent/messaging/command-handler.d.ts +6 -0
  96. package/dist/src/agent/messaging/command-handler.js +5 -0
  97. package/dist/src/agent/messaging/command-handler.js.map +1 -1
  98. package/dist/src/agent/prompt/safety.d.ts +0 -7
  99. package/dist/src/agent/prompt/safety.js +1 -20
  100. package/dist/src/agent/prompt/safety.js.map +1 -1
  101. package/dist/src/agent/service/build-direct-message-content.js +1 -1
  102. package/dist/src/agent/service/build-direct-message-content.js.map +1 -1
  103. package/dist/src/agent/service/direct-turn-helpers.d.ts +3 -1
  104. package/dist/src/agent/service/direct-turn-helpers.js +6 -1
  105. package/dist/src/agent/service/direct-turn-helpers.js.map +1 -1
  106. package/dist/src/agent/service/process-direct-one-shot.d.ts +4 -0
  107. package/dist/src/agent/service/process-direct-one-shot.js +15 -2
  108. package/dist/src/agent/service/process-direct-one-shot.js.map +1 -1
  109. package/dist/src/agent/service/process-direct-streaming.d.ts +4 -0
  110. package/dist/src/agent/service/process-direct-streaming.js +34 -4
  111. package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
  112. package/dist/src/agent/service/webchat-tts.js +1 -1
  113. package/dist/src/agent/service/webchat-tts.js.map +1 -1
  114. package/dist/src/agent/service.d.ts +8 -0
  115. package/dist/src/agent/service.js +21 -1
  116. package/dist/src/agent/service.js.map +1 -1
  117. package/dist/src/agent/tools/create-share-tool.js +27 -20
  118. package/dist/src/agent/tools/create-share-tool.js.map +1 -1
  119. package/dist/src/agent/tools/factory.js +1 -1
  120. package/dist/src/agent/tools/index.d.ts +0 -1
  121. package/dist/src/agent/tools/index.js +4 -5
  122. package/dist/src/agent/tools/shell.js +0 -13
  123. package/dist/src/agent/tools/shell.js.map +1 -1
  124. package/dist/src/agent/tools/workflow-tool.js +7 -1
  125. package/dist/src/agent/tools/workflow-tool.js.map +1 -1
  126. package/dist/src/agent/workflow/channel-capability.d.ts +3 -3
  127. package/dist/src/agent/workflow/lint.d.ts +38 -0
  128. package/dist/src/agent/workflow/lint.js +74 -0
  129. package/dist/src/agent/workflow/lint.js.map +1 -0
  130. package/dist/src/agent/workflow/parser.js +4 -1
  131. package/dist/src/agent/workflow/parser.js.map +1 -1
  132. package/dist/src/agent/workflow/runtime.d.ts +3 -0
  133. package/dist/src/agent/workflow/runtime.js +76 -3
  134. package/dist/src/agent/workflow/runtime.js.map +1 -1
  135. package/dist/src/agent/workflow/types.d.ts +3 -1
  136. package/dist/src/browser/index.js +4 -4
  137. package/dist/src/browser/manager.d.ts +1 -3
  138. package/dist/src/browser/manager.js +0 -6
  139. package/dist/src/browser/manager.js.map +1 -1
  140. package/dist/src/browser/providers/browser-ext-install.d.ts +4 -4
  141. package/dist/src/browser/providers/browser-ext-install.js +38 -85
  142. package/dist/src/browser/providers/browser-ext-install.js.map +1 -1
  143. package/dist/src/browser/providers/cloakbrowser.d.ts +0 -5
  144. package/dist/src/browser/providers/cloakbrowser.js +2 -55
  145. package/dist/src/browser/providers/cloakbrowser.js.map +1 -1
  146. package/dist/src/channels/attachments/voice-stt-webchat.js +10 -8
  147. package/dist/src/channels/attachments/voice-stt-webchat.js.map +1 -1
  148. package/dist/src/channels/pairing/allow-from-file.js +9 -9
  149. package/dist/src/channels/pairing/allow-from-file.js.map +1 -1
  150. package/dist/src/channels/pairing/pairing-store.js +6 -6
  151. package/dist/src/channels/pairing/pairing-store.js.map +1 -1
  152. package/dist/src/chat-commands/builtins/session.js +1 -1
  153. package/dist/src/chat-commands/builtins/session.js.map +1 -1
  154. package/dist/src/chat-commands/builtins/tts.js +2 -2
  155. package/dist/src/chat-commands/builtins/tts.js.map +1 -1
  156. package/dist/src/chat-commands/context.d.ts +3 -0
  157. package/dist/src/chat-commands/context.js +21 -3
  158. package/dist/src/chat-commands/context.js.map +1 -1
  159. package/dist/src/chat-commands/session-key.d.ts +4 -37
  160. package/dist/src/chat-commands/session-key.js +49 -85
  161. package/dist/src/chat-commands/session-key.js.map +1 -1
  162. package/dist/src/chat-commands/types.d.ts +2 -0
  163. package/dist/src/cli/commands/agent/interactive.js +2 -2
  164. package/dist/src/cli/commands/agent/interactive.js.map +1 -1
  165. package/dist/src/cli/commands/agent/sessions.js +2 -2
  166. package/dist/src/cli/commands/agent/sessions.js.map +1 -1
  167. package/dist/src/cli/commands/agent.js +4 -5
  168. package/dist/src/cli/commands/agent.js.map +1 -1
  169. package/dist/src/cli/commands/channels.js +1 -5
  170. package/dist/src/cli/commands/channels.js.map +1 -1
  171. package/dist/src/cli/commands/gateway/lifecycle-core.js +1 -1
  172. package/dist/src/cli/commands/gateway/lifecycle-core.js.map +1 -1
  173. package/dist/src/cli/commands/gateway/logs.d.ts +9 -0
  174. package/dist/src/cli/commands/gateway/logs.js +50 -17
  175. package/dist/src/cli/commands/gateway/logs.js.map +1 -1
  176. package/dist/src/cli/commands/image.js +22 -21
  177. package/dist/src/cli/commands/image.js.map +1 -1
  178. package/dist/src/cli/commands/session/utils.js +2 -2
  179. package/dist/src/cli/commands/session/utils.js.map +1 -1
  180. package/dist/src/cli/commands/update.js +26 -46
  181. package/dist/src/cli/commands/update.js.map +1 -1
  182. package/dist/src/cli/utils/session.d.ts +0 -5
  183. package/dist/src/cli/utils/session.js +1 -6
  184. package/dist/src/cli/utils/session.js.map +1 -1
  185. package/dist/src/commands/agents.config.js +1 -1
  186. package/dist/src/commands/agents.config.js.map +1 -1
  187. package/dist/src/config/agent-profile.js +5 -27
  188. package/dist/src/config/agent-profile.js.map +1 -1
  189. package/dist/src/config/index.js +2 -2
  190. package/dist/src/config/model-input.js +2 -5
  191. package/dist/src/config/model-input.js.map +1 -1
  192. package/dist/src/config/schema.d.ts +201 -217
  193. package/dist/src/config/schema.js +54 -39
  194. package/dist/src/config/schema.js.map +1 -1
  195. package/dist/src/config/workspace-path-helpers.d.ts +1 -2
  196. package/dist/src/config/workspace-path-helpers.js.map +1 -1
  197. package/dist/src/daemon/install-plan.js +25 -1
  198. package/dist/src/daemon/install-plan.js.map +1 -1
  199. package/dist/src/daemon/launchd.d.ts +8 -0
  200. package/dist/src/daemon/launchd.js +5 -12
  201. package/dist/src/daemon/launchd.js.map +1 -1
  202. package/dist/src/daemon/schtasks.d.ts +25 -0
  203. package/dist/src/daemon/schtasks.js +166 -46
  204. package/dist/src/daemon/schtasks.js.map +1 -1
  205. package/dist/src/daemon/service.js +5 -4
  206. package/dist/src/daemon/service.js.map +1 -1
  207. package/dist/src/daemon/systemd.d.ts +6 -0
  208. package/dist/src/daemon/systemd.js +18 -3
  209. package/dist/src/daemon/systemd.js.map +1 -1
  210. package/dist/src/extensions/activation-context.js +0 -1
  211. package/dist/src/extensions/activation-context.js.map +1 -1
  212. package/dist/src/extensions/normalize-manifest.js +0 -1
  213. package/dist/src/extensions/normalize-manifest.js.map +1 -1
  214. package/dist/src/extensions/types/manifest.d.ts +0 -2
  215. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
  216. package/dist/src/gateway/agent-builtin-tools.js +1 -0
  217. package/dist/src/gateway/agent-builtin-tools.js.map +1 -1
  218. package/dist/src/gateway/agents-admin.js +10 -2
  219. package/dist/src/gateway/agents-admin.js.map +1 -1
  220. package/dist/src/gateway/heartbeat/service.js +2 -2
  221. package/dist/src/gateway/heartbeat/service.js.map +1 -1
  222. package/dist/src/gateway/hono/app.js +1 -1
  223. package/dist/src/gateway/hono/lib/agent-model.d.ts +18 -10
  224. package/dist/src/gateway/hono/lib/agent-model.js +24 -35
  225. package/dist/src/gateway/hono/lib/agent-model.js.map +1 -1
  226. package/dist/src/gateway/hono/lib/config-payload.js +1 -1
  227. package/dist/src/gateway/hono/lib/config-payload.js.map +1 -1
  228. package/dist/src/gateway/hono/lib/safe-voice-config.js +14 -53
  229. package/dist/src/gateway/hono/lib/safe-voice-config.js.map +1 -1
  230. package/dist/src/gateway/hono/routes/config-patch/agents.js +17 -5
  231. package/dist/src/gateway/hono/routes/config-patch/agents.js.map +1 -1
  232. package/dist/src/gateway/hono/routes/config-patch/channels.js +0 -11
  233. package/dist/src/gateway/hono/routes/config-patch/channels.js.map +1 -1
  234. package/dist/src/gateway/hono/routes/goals.js +1 -1
  235. package/dist/src/gateway/hono/routes/goals.js.map +1 -1
  236. package/dist/src/gateway/hono/routes/sessions.js +28 -7
  237. package/dist/src/gateway/hono/routes/sessions.js.map +1 -1
  238. package/dist/src/gateway/hono/routes/shares.js +14 -12
  239. package/dist/src/gateway/hono/routes/shares.js.map +1 -1
  240. package/dist/src/gateway/hono/routes/tunnel.js +1 -1
  241. package/dist/src/gateway/hono/routes/update.js +4 -2
  242. package/dist/src/gateway/hono/routes/update.js.map +1 -1
  243. package/dist/src/gateway/hono/sse.js +16 -33
  244. package/dist/src/gateway/hono/sse.js.map +1 -1
  245. package/dist/src/gateway/lock.js +10 -10
  246. package/dist/src/gateway/lock.js.map +1 -1
  247. package/dist/src/gateway/ports.js +6 -6
  248. package/dist/src/gateway/ports.js.map +1 -1
  249. package/dist/src/gateway/resolve-webchat-session-key.d.ts +19 -0
  250. package/dist/src/gateway/resolve-webchat-session-key.js +46 -0
  251. package/dist/src/gateway/resolve-webchat-session-key.js.map +1 -0
  252. package/dist/src/gateway/service/run-gateway-agent.js +27 -11
  253. package/dist/src/gateway/service/run-gateway-agent.js.map +1 -1
  254. package/dist/src/gateway/service/sessions-api.d.ts +3 -0
  255. package/dist/src/gateway/service/sessions-api.js +8 -0
  256. package/dist/src/gateway/service/sessions-api.js.map +1 -1
  257. package/dist/src/gateway/service.d.ts +0 -2
  258. package/dist/src/gateway/service.js +2 -7
  259. package/dist/src/gateway/service.js.map +1 -1
  260. package/dist/src/gateway/session-reset-service.d.ts +20 -0
  261. package/dist/src/gateway/session-reset-service.js +54 -0
  262. package/dist/src/gateway/session-reset-service.js.map +1 -0
  263. package/dist/src/gateway/startup-readiness.d.ts +1 -1
  264. package/dist/src/gateway/startup-readiness.js +1 -0
  265. package/dist/src/gateway/startup-readiness.js.map +1 -1
  266. package/dist/src/heartbeat/index.js +1 -1
  267. package/dist/src/infra/gateway-processes.js +2 -2
  268. package/dist/src/infra/gateway-processes.js.map +1 -1
  269. package/dist/src/infra/run-command.d.ts +16 -0
  270. package/dist/src/infra/run-command.js +67 -0
  271. package/dist/src/infra/run-command.js.map +1 -0
  272. package/dist/src/infra/update-global.d.ts +45 -0
  273. package/dist/src/infra/update-global.js +224 -0
  274. package/dist/src/infra/update-global.js.map +1 -0
  275. package/dist/src/mcp/channel-bridge.js +1 -1
  276. package/dist/src/mcp/channel-shared.js +2 -1
  277. package/dist/src/mcp/channel-shared.js.map +1 -1
  278. package/dist/src/providers/auth-runtime/auth-profile-store.js +1 -1
  279. package/dist/src/providers/auth-runtime/auth-profile-store.js.map +1 -1
  280. package/dist/src/providers/auth-runtime/resolve-auth.js +1 -12
  281. package/dist/src/providers/auth-runtime/resolve-auth.js.map +1 -1
  282. package/dist/src/providers/auth-runtime/types.d.ts +6 -12
  283. package/dist/src/routing/agent-session-key.d.ts +58 -0
  284. package/dist/src/routing/agent-session-key.js +164 -0
  285. package/dist/src/routing/agent-session-key.js.map +1 -0
  286. package/dist/src/routing/index.d.ts +1 -1
  287. package/dist/src/routing/index.js +4 -2
  288. package/dist/src/routing/index.js.map +1 -1
  289. package/dist/src/routing/resolve-route.d.ts +15 -0
  290. package/dist/src/routing/resolve-route.js +41 -20
  291. package/dist/src/routing/resolve-route.js.map +1 -1
  292. package/dist/src/routing/resolve-tui-session-key.d.ts +25 -0
  293. package/dist/src/routing/resolve-tui-session-key.js +54 -0
  294. package/dist/src/routing/resolve-tui-session-key.js.map +1 -0
  295. package/dist/src/routing/session-key-utils.d.ts +24 -0
  296. package/dist/src/routing/session-key-utils.js +92 -0
  297. package/dist/src/routing/session-key-utils.js.map +1 -0
  298. package/dist/src/routing/session-key.d.ts +19 -49
  299. package/dist/src/routing/session-key.js +143 -116
  300. package/dist/src/routing/session-key.js.map +1 -1
  301. package/dist/src/session/index.d.ts +6 -0
  302. package/dist/src/session/index.js +7 -1
  303. package/dist/src/session/init-session-turn.d.ts +30 -0
  304. package/dist/src/session/init-session-turn.js +102 -0
  305. package/dist/src/session/init-session-turn.js.map +1 -0
  306. package/dist/src/session/lifecycle-timestamps.d.ts +8 -0
  307. package/dist/src/session/lifecycle-timestamps.js +16 -0
  308. package/dist/src/session/lifecycle-timestamps.js.map +1 -0
  309. package/dist/src/session/manager.d.ts +7 -1
  310. package/dist/src/session/manager.js +8 -1
  311. package/dist/src/session/manager.js.map +1 -1
  312. package/dist/src/session/parity/transcript-paths.js +2 -2
  313. package/dist/src/session/parity/transcript-paths.js.map +1 -1
  314. package/dist/src/session/parity/xopc-session-disk-entry.d.ts +6 -0
  315. package/dist/src/session/reset-policy.d.ts +32 -0
  316. package/dist/src/session/reset-policy.js +65 -0
  317. package/dist/src/session/reset-policy.js.map +1 -0
  318. package/dist/src/session/reset-triggers.d.ts +20 -0
  319. package/dist/src/session/reset-triggers.js +63 -0
  320. package/dist/src/session/reset-triggers.js.map +1 -0
  321. package/dist/src/session/reset-type.d.ts +12 -0
  322. package/dist/src/session/reset-type.js +25 -0
  323. package/dist/src/session/reset-type.js.map +1 -0
  324. package/dist/src/session/resolve-session.d.ts +30 -0
  325. package/dist/src/session/resolve-session.js +93 -0
  326. package/dist/src/session/resolve-session.js.map +1 -0
  327. package/dist/src/session/session-title.js +3 -2
  328. package/dist/src/session/session-title.js.map +1 -1
  329. package/dist/src/session/store.d.ts +11 -4
  330. package/dist/src/session/store.js +57 -6
  331. package/dist/src/session/store.js.map +1 -1
  332. package/dist/src/session/transcript-events.js +2 -1
  333. package/dist/src/session/transcript-events.js.map +1 -1
  334. package/dist/src/share/share-url.d.ts +33 -0
  335. package/dist/src/share/share-url.js +56 -14
  336. package/dist/src/share/share-url.js.map +1 -1
  337. package/dist/src/tui/backends/embedded-backend.js +4 -9
  338. package/dist/src/tui/backends/embedded-backend.js.map +1 -1
  339. package/dist/src/tui/backends/gateway-sse-backend.js +1 -1
  340. package/dist/src/tui/backends/gateway-sse-backend.js.map +1 -1
  341. package/dist/src/tui/components/chat-log.js +3 -3
  342. package/dist/src/tui/components/chat-log.js.map +1 -1
  343. package/dist/src/tui/theme.d.ts +0 -2
  344. package/dist/src/tui/theme.js +1 -3
  345. package/dist/src/tui/theme.js.map +1 -1
  346. package/dist/src/tui/tui-commands.d.ts +3 -0
  347. package/dist/src/tui/tui-commands.js +45 -10
  348. package/dist/src/tui/tui-commands.js.map +1 -1
  349. package/dist/src/tui/tui-keybindings-file.js +1 -21
  350. package/dist/src/tui/tui-keybindings-file.js.map +1 -1
  351. package/dist/src/tui/tui-session-actions.d.ts +28 -0
  352. package/dist/src/tui/tui-session-actions.js +88 -0
  353. package/dist/src/tui/tui-session-actions.js.map +1 -0
  354. package/dist/src/tui/tui.js +52 -47
  355. package/dist/src/tui/tui.js.map +1 -1
  356. package/dist/src/utils/string-coerce.d.ts +2 -0
  357. package/dist/src/utils/string-coerce.js +10 -1
  358. package/dist/src/utils/string-coerce.js.map +1 -1
  359. package/dist/src/voice/stt/config-slice.d.ts +2 -5
  360. package/dist/src/voice/stt/config-slice.js +5 -26
  361. package/dist/src/voice/stt/config-slice.js.map +1 -1
  362. package/dist/src/voice/stt/types.d.ts +1 -18
  363. package/dist/src/voice/stt/types.js +4 -2
  364. package/dist/src/voice/stt/types.js.map +1 -1
  365. package/dist/src/voice/tts/config-slice.d.ts +3 -7
  366. package/dist/src/voice/tts/config-slice.js +7 -38
  367. package/dist/src/voice/tts/config-slice.js.map +1 -1
  368. package/dist/src/voice/tts/merge-config.js +2 -48
  369. package/dist/src/voice/tts/merge-config.js.map +1 -1
  370. package/dist/src/voice/tts/providers/alibaba-speech.js +1 -1
  371. package/dist/src/voice/tts/providers/alibaba-speech.js.map +1 -1
  372. package/dist/src/voice/tts/types.d.ts +1 -29
  373. package/dist/src/voice/tts/types.js +19 -17
  374. package/dist/src/voice/tts/types.js.map +1 -1
  375. package/package.json +1 -4
  376. package/dist/gateway/static/root/assets/index-ew_2L2We.css +0 -1
  377. package/dist/gateway/static/root/assets/url-BwNL6Rgk.js +0 -3
  378. package/dist/src/agent/tools/browser-legacy-tools.d.ts +0 -17
  379. package/dist/src/agent/tools/browser-legacy-tools.js +0 -766
  380. package/dist/src/agent/tools/browser-legacy-tools.js.map +0 -1
@@ -15,11 +15,6 @@ async function getSessionIndex() {
15
15
  await manager.initialize();
16
16
  return manager;
17
17
  }
18
- /**
19
- * Get session manager and handle errors consistently
20
- */
21
- /** @deprecated Use {@link getSessionIndex}. */
22
- const getSessionManager = getSessionIndex;
23
18
  async function getSessionIndexSafe() {
24
19
  try {
25
20
  return {
@@ -34,6 +29,6 @@ async function getSessionIndexSafe() {
34
29
  }
35
30
  }
36
31
  //#endregion
37
- export { getSessionIndex, getSessionIndexSafe, getSessionManager };
32
+ export { getSessionIndex, getSessionIndexSafe };
38
33
 
39
34
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","names":[],"sources":["../../../../src/cli/utils/session.ts"],"sourcesContent":["/**\n * Session management utilities for CLI commands\n */\n\nimport { SessionIndex } from '../../session/index.js';\nimport { loadConfig } from '../../config/loader.js';\n\n/**\n * Get initialized SessionManager instance\n * Eliminates repeated initialization boilerplate\n */\nexport async function getSessionIndex(): Promise<SessionIndex> {\n const config = loadConfig();\n const manager = new SessionIndex({ config });\n await manager.initialize();\n return manager;\n}\n\n/**\n * Get session manager and handle errors consistently\n */\n/** @deprecated Use {@link getSessionIndex}. */\nexport const getSessionManager = getSessionIndex;\n\nexport async function getSessionIndexSafe(): Promise<\n { manager: SessionIndex; error: null } | { manager: null; error: Error }\n> {\n try {\n const manager = await getSessionIndex();\n return { manager, error: null };\n } catch (error) {\n return { manager: null, error: error as Error };\n }\n}\n"],"mappings":";;;;;;;aAKoD;;;;;AAMpD,eAAsB,kBAAyC;CAE7D,MAAM,UAAU,IAAI,aAAa,EAAE,QADpB,YAC0B,EAAE,CAAC;AAC5C,OAAM,QAAQ,YAAY;AAC1B,QAAO;;;;;;AAOT,MAAa,oBAAoB;AAEjC,eAAsB,sBAEpB;AACA,KAAI;AAEF,SAAO;GAAE,SAAA,MADa,iBAAiB;GACrB,OAAO;GAAM;UACxB,OAAO;AACd,SAAO;GAAE,SAAS;GAAa;GAAgB"}
1
+ {"version":3,"file":"session.js","names":[],"sources":["../../../../src/cli/utils/session.ts"],"sourcesContent":["/**\n * Session management utilities for CLI commands\n */\n\nimport { SessionIndex } from '../../session/index.js';\nimport { loadConfig } from '../../config/loader.js';\n\n/**\n * Get initialized SessionManager instance\n * Eliminates repeated initialization boilerplate\n */\nexport async function getSessionIndex(): Promise<SessionIndex> {\n const config = loadConfig();\n const manager = new SessionIndex({ config });\n await manager.initialize();\n return manager;\n}\n\nexport async function getSessionIndexSafe(): Promise<\n { manager: SessionIndex; error: null } | { manager: null; error: Error }\n> {\n try {\n const manager = await getSessionIndex();\n return { manager, error: null };\n } catch (error) {\n return { manager: null, error: error as Error };\n }\n}\n"],"mappings":";;;;;;;aAKoD;;;;;AAMpD,eAAsB,kBAAyC;CAE7D,MAAM,UAAU,IAAI,aAAa,EAAE,QADpB,YAC0B,EAAE,CAAC;AAC5C,OAAM,QAAQ,YAAY;AAC1B,QAAO;;AAGT,eAAsB,sBAEpB;AACA,KAAI;AAEF,SAAO;GAAE,SAAA,MADa,iBAAiB;GACrB,OAAO;GAAM;UACxB,OAAO;AACd,SAAO;GAAE,SAAS;GAAa;GAAgB"}
@@ -26,7 +26,7 @@ function applyAgentConfig(cfg, params) {
26
26
  ...params.description?.trim() ? { description: params.description.trim() } : {},
27
27
  ...params.workspace ? { workspace: params.workspace } : {},
28
28
  ...params.agentDir ? { agentDir: params.agentDir } : {},
29
- ...params.model ? { model: params.model } : {}
29
+ ...params.model ? { model: { primary: params.model } } : {}
30
30
  };
31
31
  const nextList = [...list];
32
32
  if (index >= 0) nextList[index] = nextEntry;
@@ -1 +1 @@
1
- {"version":3,"file":"agents.config.js","names":[],"sources":["../../../src/commands/agents.config.ts"],"sourcesContent":["/**\n * Mutate `agents.list` / bindings when adding or removing agents.\n */\n\nimport { rm } from 'node:fs/promises';\nimport { existsSync } from 'node:fs';\n\nimport type { Config } from '../config/schema.js';\nimport {\n listAgentEntries,\n normalizeAgentId,\n resolveAgentHomeDir,\n resolveAgentWorkspaceDir,\n resolveDefaultAgentId,\n DEFAULT_AGENT_ID,\n} from '../agent/agent-scope.js';\n\ntype AgentEntry = NonNullable<NonNullable<Config['agents']>['list']>[number];\n\nexport { listAgentEntries };\n\nexport function findAgentEntryIndex(list: AgentEntry[], agentId: string): number {\n const id = normalizeAgentId(agentId);\n return list.findIndex((e) => normalizeAgentId(e.id) === id);\n}\n\nexport function applyAgentConfig(\n cfg: Config,\n params: {\n agentId: string;\n name?: string;\n description?: string;\n workspace?: string;\n agentDir?: string;\n model?: string;\n },\n): Config {\n const agentId = normalizeAgentId(params.agentId);\n const name = params.name?.trim();\n const list = listAgentEntries(cfg);\n const index = findAgentEntryIndex(list, agentId);\n const base = index >= 0 ? list[index] : { id: agentId, enabled: true as const };\n const nextEntry: AgentEntry = {\n ...base,\n enabled: base.enabled ?? true,\n ...(name ? { name } : {}),\n ...(params.description?.trim() ? { description: params.description.trim() } : {}),\n ...(params.workspace ? { workspace: params.workspace } : {}),\n ...(params.agentDir ? { agentDir: params.agentDir } : {}),\n ...(params.model ? { model: params.model } : {}),\n };\n const nextList = [...list];\n if (index >= 0) {\n nextList[index] = nextEntry;\n } else {\n if (nextList.length === 0 && agentId !== normalizeAgentId(resolveDefaultAgentId(cfg))) {\n nextList.push({ id: resolveDefaultAgentId(cfg), enabled: true });\n }\n nextList.push(nextEntry);\n }\n return {\n ...cfg,\n agents: {\n ...cfg.agents,\n list: nextList,\n },\n };\n}\n\nexport function pruneAgentConfig(\n cfg: Config,\n agentId: string,\n): { config: Config; removedBindings: number } {\n const id = normalizeAgentId(agentId);\n const agents = listAgentEntries(cfg);\n const nextAgentsList = agents.filter((e) => normalizeAgentId(e.id) !== id);\n const nextAgents = nextAgentsList.length > 0 ? nextAgentsList : undefined;\n\n const bindings = cfg.bindings ?? [];\n const filteredBindings = bindings.filter((b) => normalizeAgentId(b.agentId) !== id);\n\n return {\n config: {\n ...cfg,\n agents: nextAgents ? { ...cfg.agents, list: nextAgents } : { ...cfg.agents, list: undefined },\n bindings: filteredBindings,\n },\n removedBindings: bindings.length - filteredBindings.length,\n };\n}\n\nexport async function removeAgentDirsFromDisk(cfg: Config, id: string): Promise<void> {\n const aid = normalizeAgentId(id);\n if (aid === DEFAULT_AGENT_ID) {\n throw new Error('Refusing to delete the main agent home on disk from this command.');\n }\n const home = resolveAgentHomeDir(cfg, aid);\n const ws = resolveAgentWorkspaceDir(cfg, aid);\n if (existsSync(home)) {\n await rm(home, { recursive: true, force: true });\n }\n if (existsSync(ws) && ws !== home) {\n await rm(ws, { recursive: true, force: true });\n }\n}\n"],"mappings":";;;;;;;kBAeiC;AAMjC,SAAgB,oBAAoB,MAAoB,SAAyB;CAC/E,MAAM,KAAK,iBAAiB,QAAQ;AACpC,QAAO,KAAK,WAAW,MAAM,iBAAiB,EAAE,GAAG,KAAK,GAAG;;AAG7D,SAAgB,iBACd,KACA,QAQQ;CACR,MAAM,UAAU,iBAAiB,OAAO,QAAQ;CAChD,MAAM,OAAO,OAAO,MAAM,MAAM;CAChC,MAAM,OAAO,iBAAiB,IAAI;CAClC,MAAM,QAAQ,oBAAoB,MAAM,QAAQ;CAChD,MAAM,OAAO,SAAS,IAAI,KAAK,SAAS;EAAE,IAAI;EAAS,SAAS;EAAe;CAC/E,MAAM,YAAwB;EAC5B,GAAG;EACH,SAAS,KAAK,WAAW;EACzB,GAAI,OAAO,EAAE,MAAM,GAAG,EAAE;EACxB,GAAI,OAAO,aAAa,MAAM,GAAG,EAAE,aAAa,OAAO,YAAY,MAAM,EAAE,GAAG,EAAE;EAChF,GAAI,OAAO,YAAY,EAAE,WAAW,OAAO,WAAW,GAAG,EAAE;EAC3D,GAAI,OAAO,WAAW,EAAE,UAAU,OAAO,UAAU,GAAG,EAAE;EACxD,GAAI,OAAO,QAAQ,EAAE,OAAO,OAAO,OAAO,GAAG,EAAE;EAChD;CACD,MAAM,WAAW,CAAC,GAAG,KAAK;AAC1B,KAAI,SAAS,EACX,UAAS,SAAS;MACb;AACL,MAAI,SAAS,WAAW,KAAK,YAAY,iBAAiB,sBAAsB,IAAI,CAAC,CACnF,UAAS,KAAK;GAAE,IAAI,sBAAsB,IAAI;GAAE,SAAS;GAAM,CAAC;AAElE,WAAS,KAAK,UAAU;;AAE1B,QAAO;EACL,GAAG;EACH,QAAQ;GACN,GAAG,IAAI;GACP,MAAM;GACP;EACF;;AAGH,SAAgB,iBACd,KACA,SAC6C;CAC7C,MAAM,KAAK,iBAAiB,QAAQ;CAEpC,MAAM,iBADS,iBAAiB,IACH,CAAC,QAAQ,MAAM,iBAAiB,EAAE,GAAG,KAAK,GAAG;CAC1E,MAAM,aAAa,eAAe,SAAS,IAAI,iBAAiB,KAAA;CAEhE,MAAM,WAAW,IAAI,YAAY,EAAE;CACnC,MAAM,mBAAmB,SAAS,QAAQ,MAAM,iBAAiB,EAAE,QAAQ,KAAK,GAAG;AAEnF,QAAO;EACL,QAAQ;GACN,GAAG;GACH,QAAQ,aAAa;IAAE,GAAG,IAAI;IAAQ,MAAM;IAAY,GAAG;IAAE,GAAG,IAAI;IAAQ,MAAM,KAAA;IAAW;GAC7F,UAAU;GACX;EACD,iBAAiB,SAAS,SAAS,iBAAiB;EACrD;;AAGH,eAAsB,wBAAwB,KAAa,IAA2B;CACpF,MAAM,MAAM,iBAAiB,GAAG;AAChC,KAAI,QAAA,OACF,OAAM,IAAI,MAAM,oEAAoE;CAEtF,MAAM,OAAO,oBAAoB,KAAK,IAAI;CAC1C,MAAM,KAAK,yBAAyB,KAAK,IAAI;AAC7C,KAAI,WAAW,KAAK,CAClB,OAAM,GAAG,MAAM;EAAE,WAAW;EAAM,OAAO;EAAM,CAAC;AAElD,KAAI,WAAW,GAAG,IAAI,OAAO,KAC3B,OAAM,GAAG,IAAI;EAAE,WAAW;EAAM,OAAO;EAAM,CAAC"}
1
+ {"version":3,"file":"agents.config.js","names":[],"sources":["../../../src/commands/agents.config.ts"],"sourcesContent":["/**\n * Mutate `agents.list` / bindings when adding or removing agents.\n */\n\nimport { rm } from 'node:fs/promises';\nimport { existsSync } from 'node:fs';\n\nimport type { Config } from '../config/schema.js';\nimport {\n listAgentEntries,\n normalizeAgentId,\n resolveAgentHomeDir,\n resolveAgentWorkspaceDir,\n resolveDefaultAgentId,\n DEFAULT_AGENT_ID,\n} from '../agent/agent-scope.js';\n\ntype AgentEntry = NonNullable<NonNullable<Config['agents']>['list']>[number];\n\nexport { listAgentEntries };\n\nexport function findAgentEntryIndex(list: AgentEntry[], agentId: string): number {\n const id = normalizeAgentId(agentId);\n return list.findIndex((e) => normalizeAgentId(e.id) === id);\n}\n\nexport function applyAgentConfig(\n cfg: Config,\n params: {\n agentId: string;\n name?: string;\n description?: string;\n workspace?: string;\n agentDir?: string;\n model?: string;\n },\n): Config {\n const agentId = normalizeAgentId(params.agentId);\n const name = params.name?.trim();\n const list = listAgentEntries(cfg);\n const index = findAgentEntryIndex(list, agentId);\n const base = index >= 0 ? list[index] : { id: agentId, enabled: true as const };\n const nextEntry: AgentEntry = {\n ...base,\n enabled: base.enabled ?? true,\n ...(name ? { name } : {}),\n ...(params.description?.trim() ? { description: params.description.trim() } : {}),\n ...(params.workspace ? { workspace: params.workspace } : {}),\n ...(params.agentDir ? { agentDir: params.agentDir } : {}),\n ...(params.model ? { model: { primary: params.model } } : {}),\n };\n const nextList = [...list];\n if (index >= 0) {\n nextList[index] = nextEntry;\n } else {\n if (nextList.length === 0 && agentId !== normalizeAgentId(resolveDefaultAgentId(cfg))) {\n nextList.push({ id: resolveDefaultAgentId(cfg), enabled: true });\n }\n nextList.push(nextEntry);\n }\n return {\n ...cfg,\n agents: {\n ...cfg.agents,\n list: nextList,\n },\n };\n}\n\nexport function pruneAgentConfig(\n cfg: Config,\n agentId: string,\n): { config: Config; removedBindings: number } {\n const id = normalizeAgentId(agentId);\n const agents = listAgentEntries(cfg);\n const nextAgentsList = agents.filter((e) => normalizeAgentId(e.id) !== id);\n const nextAgents = nextAgentsList.length > 0 ? nextAgentsList : undefined;\n\n const bindings = cfg.bindings ?? [];\n const filteredBindings = bindings.filter((b) => normalizeAgentId(b.agentId) !== id);\n\n return {\n config: {\n ...cfg,\n agents: nextAgents ? { ...cfg.agents, list: nextAgents } : { ...cfg.agents, list: undefined },\n bindings: filteredBindings,\n },\n removedBindings: bindings.length - filteredBindings.length,\n };\n}\n\nexport async function removeAgentDirsFromDisk(cfg: Config, id: string): Promise<void> {\n const aid = normalizeAgentId(id);\n if (aid === DEFAULT_AGENT_ID) {\n throw new Error('Refusing to delete the main agent home on disk from this command.');\n }\n const home = resolveAgentHomeDir(cfg, aid);\n const ws = resolveAgentWorkspaceDir(cfg, aid);\n if (existsSync(home)) {\n await rm(home, { recursive: true, force: true });\n }\n if (existsSync(ws) && ws !== home) {\n await rm(ws, { recursive: true, force: true });\n }\n}\n"],"mappings":";;;;;;;kBAeiC;AAMjC,SAAgB,oBAAoB,MAAoB,SAAyB;CAC/E,MAAM,KAAK,iBAAiB,QAAQ;AACpC,QAAO,KAAK,WAAW,MAAM,iBAAiB,EAAE,GAAG,KAAK,GAAG;;AAG7D,SAAgB,iBACd,KACA,QAQQ;CACR,MAAM,UAAU,iBAAiB,OAAO,QAAQ;CAChD,MAAM,OAAO,OAAO,MAAM,MAAM;CAChC,MAAM,OAAO,iBAAiB,IAAI;CAClC,MAAM,QAAQ,oBAAoB,MAAM,QAAQ;CAChD,MAAM,OAAO,SAAS,IAAI,KAAK,SAAS;EAAE,IAAI;EAAS,SAAS;EAAe;CAC/E,MAAM,YAAwB;EAC5B,GAAG;EACH,SAAS,KAAK,WAAW;EACzB,GAAI,OAAO,EAAE,MAAM,GAAG,EAAE;EACxB,GAAI,OAAO,aAAa,MAAM,GAAG,EAAE,aAAa,OAAO,YAAY,MAAM,EAAE,GAAG,EAAE;EAChF,GAAI,OAAO,YAAY,EAAE,WAAW,OAAO,WAAW,GAAG,EAAE;EAC3D,GAAI,OAAO,WAAW,EAAE,UAAU,OAAO,UAAU,GAAG,EAAE;EACxD,GAAI,OAAO,QAAQ,EAAE,OAAO,EAAE,SAAS,OAAO,OAAO,EAAE,GAAG,EAAE;EAC7D;CACD,MAAM,WAAW,CAAC,GAAG,KAAK;AAC1B,KAAI,SAAS,EACX,UAAS,SAAS;MACb;AACL,MAAI,SAAS,WAAW,KAAK,YAAY,iBAAiB,sBAAsB,IAAI,CAAC,CACnF,UAAS,KAAK;GAAE,IAAI,sBAAsB,IAAI;GAAE,SAAS;GAAM,CAAC;AAElE,WAAS,KAAK,UAAU;;AAE1B,QAAO;EACL,GAAG;EACH,QAAQ;GACN,GAAG,IAAI;GACP,MAAM;GACP;EACF;;AAGH,SAAgB,iBACd,KACA,SAC6C;CAC7C,MAAM,KAAK,iBAAiB,QAAQ;CAEpC,MAAM,iBADS,iBAAiB,IACH,CAAC,QAAQ,MAAM,iBAAiB,EAAE,GAAG,KAAK,GAAG;CAC1E,MAAM,aAAa,eAAe,SAAS,IAAI,iBAAiB,KAAA;CAEhE,MAAM,WAAW,IAAI,YAAY,EAAE;CACnC,MAAM,mBAAmB,SAAS,QAAQ,MAAM,iBAAiB,EAAE,QAAQ,KAAK,GAAG;AAEnF,QAAO;EACL,QAAQ;GACN,GAAG;GACH,QAAQ,aAAa;IAAE,GAAG,IAAI;IAAQ,MAAM;IAAY,GAAG;IAAE,GAAG,IAAI;IAAQ,MAAM,KAAA;IAAW;GAC7F,UAAU;GACX;EACD,iBAAiB,SAAS,SAAS,iBAAiB;EACrD;;AAGH,eAAsB,wBAAwB,KAAa,IAA2B;CACpF,MAAM,MAAM,iBAAiB,GAAG;AAChC,KAAI,QAAA,OACF,OAAM,IAAI,MAAM,oEAAoE;CAEtF,MAAM,OAAO,oBAAoB,KAAK,IAAI;CAC1C,MAAM,KAAK,yBAAyB,KAAK,IAAI;AAC7C,KAAI,WAAW,KAAK,CAClB,OAAM,GAAG,MAAM;EAAE,WAAW;EAAM,OAAO;EAAM,CAAC;AAElD,KAAI,WAAW,GAAG,IAAI,OAAO,KAC3B,OAAM,GAAG,IAAI;EAAE,WAAW;EAAM,OAAO;EAAM,CAAC"}
@@ -9,37 +9,15 @@ init_resolve_route();
9
9
  init_session_key();
10
10
  function mergeModelConfig(base, override) {
11
11
  if (override === void 0) return base;
12
- if (typeof override === "string") return override.trim() ? override : base;
13
- const b = typeof base === "string" ? {
14
- primary: base,
15
- fallbacks: []
16
- } : {
17
- primary: base?.primary,
18
- fallbacks: [...base?.fallbacks ?? []]
19
- };
20
- const o = override;
12
+ if (base === void 0) return override;
21
13
  return {
22
- primary: o.primary ?? b.primary,
23
- fallbacks: o.fallbacks ?? b.fallbacks
14
+ primary: override.primary ?? base.primary,
15
+ fallbacks: override.fallbacks ?? base.fallbacks
24
16
  };
25
17
  }
26
18
  function primaryAndFallbacksFromModelConfig(raw) {
27
- if (raw === void 0 || raw === null) return {
28
- primary: void 0,
29
- fallbacks: []
30
- };
31
- if (typeof raw === "string") {
32
- const s = raw.trim();
33
- return s ? {
34
- primary: s,
35
- fallbacks: []
36
- } : {
37
- primary: void 0,
38
- fallbacks: []
39
- };
40
- }
41
- const primary = raw.primary?.trim();
42
- const fallbacks = Array.isArray(raw.fallbacks) ? raw.fallbacks.map((s) => String(s).trim()).filter(Boolean) : [];
19
+ const primary = raw?.primary?.trim();
20
+ const fallbacks = Array.isArray(raw?.fallbacks) ? raw.fallbacks.map((s) => s.trim()).filter(Boolean) : [];
43
21
  return {
44
22
  primary: primary || void 0,
45
23
  fallbacks
@@ -1 +1 @@
1
- {"version":3,"file":"agent-profile.js","names":[],"sources":["../../../src/config/agent-profile.ts"],"sourcesContent":["/**\n * Effective agent profile: merges `agents.defaults` with `agents.list` entry.\n * Subagent session keys fall back to the configured default agent id for profile lookup.\n */\n\nimport type { ThinkLevel, ReasoningLevel, VerboseLevel } from '../agent/transcript/thinking-types.js';\nimport type { Config } from './schema.js';\nimport type { AgentModelConfig } from './schema.js';\nimport { getAgentDefaultModelRef } from './schema.js';\nimport { resolveAgentWorkspaceDir } from '../agent/agent-scope.js';\nimport { getDefaultAgentId, agentExists } from '../routing/resolve-route.js';\nimport { parseSessionKey } from '../routing/session-key.js';\n\nexport { resolveAgentWorkspaceDir } from '../agent/agent-scope.js';\n\nexport type { AgentModelConfig };\n\nexport interface EffectiveAgentTools {\n /** Tool names to exclude (merged: union of defaults + list entry disables). */\n disable: Set<string>;\n}\n\nexport interface EffectiveAgentProfile {\n agentId: string;\n /** Resolved absolute Markdown workspace path (tool cwd, attachments, daily memory/, …). */\n resolvedWorkspacePath: string;\n /** Primary model ref (provider/model); may be empty → runtime default. */\n primaryModelRef: string | undefined;\n fallbacks: string[];\n thinkingDefault?: ThinkLevel;\n reasoningDefault?: ReasoningLevel;\n verboseDefault?: VerboseLevel;\n systemPromptOverride?: string;\n /** When set, only these skill names appear in `<available_skills>`. */\n skillsAllowlist?: string[];\n tools: EffectiveAgentTools;\n params: Record<string, unknown>;\n}\n\nfunction mergeModelConfig(\n base: AgentModelConfig | undefined,\n override: AgentModelConfig | undefined,\n): AgentModelConfig | undefined {\n if (override === undefined) {\n return base;\n }\n if (typeof override === 'string') {\n return override.trim() ? override : base;\n }\n const b =\n typeof base === 'string'\n ? { primary: base, fallbacks: [] as string[] }\n : { primary: base?.primary, fallbacks: [...(base?.fallbacks ?? [])] };\n const o = override;\n return {\n primary: o.primary ?? b.primary,\n fallbacks: o.fallbacks ?? b.fallbacks,\n };\n}\n\nfunction primaryAndFallbacksFromModelConfig(\n raw: AgentModelConfig | undefined,\n): { primary?: string; fallbacks: string[] } {\n if (raw === undefined || raw === null) {\n return { primary: undefined, fallbacks: [] };\n }\n if (typeof raw === 'string') {\n const s = raw.trim();\n return s ? { primary: s, fallbacks: [] } : { primary: undefined, fallbacks: [] };\n }\n const primary = raw.primary?.trim();\n const fallbacks = Array.isArray(raw.fallbacks) ? raw.fallbacks.map((s) => String(s).trim()).filter(Boolean) : [];\n return { primary: primary || undefined, fallbacks };\n}\n\nfunction mergeDisableLists(a?: string[], b?: string[]): Set<string> {\n const out = new Set<string>();\n for (const x of a ?? []) {\n const s = String(x).trim();\n if (s) {\n out.add(s);\n }\n }\n for (const x of b ?? []) {\n const s = String(x).trim();\n if (s) {\n out.add(s);\n }\n }\n return out;\n}\n\n/**\n * Agent id used for config lookup from a session key (subagent keys → default agent).\n */\nexport function extractProfileAgentId(sessionKey: string | undefined | null, config: Config): string {\n const parsed = parseSessionKey(sessionKey ?? '');\n if (!parsed) {\n return getDefaultAgentId(config);\n }\n const aid = parsed.agentId;\n if (aid === 'subagent' || aid.startsWith('subagent:')) {\n return getDefaultAgentId(config);\n }\n if (!agentExists(aid, config)) {\n return getDefaultAgentId(config);\n }\n return aid.toLowerCase();\n}\n\n/**\n * Merge `agents.defaults` with the matching `agents.list` entry.\n */\nexport function resolveEffectiveAgentProfile(config: Config, agentId: string): EffectiveAgentProfile {\n const defaults = config.agents?.defaults;\n const list = config.agents?.list;\n const entry = Array.isArray(list)\n ? list.find((a) => a && a.enabled !== false && a.id.toLowerCase() === agentId.toLowerCase())\n : undefined;\n\n const resolvedWorkspacePath = resolveAgentWorkspaceDir(config, agentId);\n\n const mergedModel = mergeModelConfig(defaults?.model as AgentModelConfig | undefined, entry?.model as AgentModelConfig | undefined);\n const { primary: primaryFromMerged, fallbacks: fallbacksFromMerged } = primaryAndFallbacksFromModelConfig(mergedModel);\n const globalDefault = getAgentDefaultModelRef(config);\n const primaryModelRef = primaryFromMerged?.trim() || globalDefault;\n\n const disable = mergeDisableLists(\n defaults?.tools?.disable as string[] | undefined,\n entry?.tools?.disable as string[] | undefined,\n );\n\n const params: Record<string, unknown> = {\n ...(defaults?.params as Record<string, unknown> | undefined),\n ...(entry?.params as Record<string, unknown> | undefined),\n };\n\n return {\n agentId: agentId.toLowerCase(),\n resolvedWorkspacePath,\n primaryModelRef,\n fallbacks: fallbacksFromMerged,\n thinkingDefault: entry?.thinkingDefault ?? defaults?.thinkingDefault,\n reasoningDefault: entry?.reasoningDefault ?? defaults?.reasoningDefault,\n verboseDefault: entry?.verboseDefault ?? defaults?.verboseDefault,\n systemPromptOverride: entry?.systemPromptOverride?.trim()\n ? entry.systemPromptOverride\n : defaults?.systemPromptOverride?.trim()\n ? defaults.systemPromptOverride\n : undefined,\n skillsAllowlist: entry?.skills?.length ? [...entry.skills] : defaults?.skills?.length ? [...defaults.skills] : undefined,\n tools: { disable },\n params,\n };\n}\n\nexport function resolveEffectiveAgentProfileForSession(\n config: Config,\n sessionKey: string | undefined | null,\n): EffectiveAgentProfile {\n const id = extractProfileAgentId(sessionKey, config);\n return resolveEffectiveAgentProfile(config, id);\n}\n"],"mappings":";;;;;aAQsD;kBACa;oBACU;kBACjB;AA4B5D,SAAS,iBACP,MACA,UAC8B;AAC9B,KAAI,aAAa,KAAA,EACf,QAAO;AAET,KAAI,OAAO,aAAa,SACtB,QAAO,SAAS,MAAM,GAAG,WAAW;CAEtC,MAAM,IACJ,OAAO,SAAS,WACZ;EAAE,SAAS;EAAM,WAAW,EAAE;EAAc,GAC5C;EAAE,SAAS,MAAM;EAAS,WAAW,CAAC,GAAI,MAAM,aAAa,EAAE,CAAE;EAAE;CACzE,MAAM,IAAI;AACV,QAAO;EACL,SAAS,EAAE,WAAW,EAAE;EACxB,WAAW,EAAE,aAAa,EAAE;EAC7B;;AAGH,SAAS,mCACP,KAC2C;AAC3C,KAAI,QAAQ,KAAA,KAAa,QAAQ,KAC/B,QAAO;EAAE,SAAS,KAAA;EAAW,WAAW,EAAE;EAAE;AAE9C,KAAI,OAAO,QAAQ,UAAU;EAC3B,MAAM,IAAI,IAAI,MAAM;AACpB,SAAO,IAAI;GAAE,SAAS;GAAG,WAAW,EAAE;GAAE,GAAG;GAAE,SAAS,KAAA;GAAW,WAAW,EAAE;GAAE;;CAElF,MAAM,UAAU,IAAI,SAAS,MAAM;CACnC,MAAM,YAAY,MAAM,QAAQ,IAAI,UAAU,GAAG,IAAI,UAAU,KAAK,MAAM,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,QAAQ,GAAG,EAAE;AAChH,QAAO;EAAE,SAAS,WAAW,KAAA;EAAW;EAAW;;AAGrD,SAAS,kBAAkB,GAAc,GAA2B;CAClE,MAAM,sBAAM,IAAI,KAAa;AAC7B,MAAK,MAAM,KAAK,KAAK,EAAE,EAAE;EACvB,MAAM,IAAI,OAAO,EAAE,CAAC,MAAM;AAC1B,MAAI,EACF,KAAI,IAAI,EAAE;;AAGd,MAAK,MAAM,KAAK,KAAK,EAAE,EAAE;EACvB,MAAM,IAAI,OAAO,EAAE,CAAC,MAAM;AAC1B,MAAI,EACF,KAAI,IAAI,EAAE;;AAGd,QAAO;;;;;AAMT,SAAgB,sBAAsB,YAAuC,QAAwB;CACnG,MAAM,SAAS,gBAAgB,cAAc,GAAG;AAChD,KAAI,CAAC,OACH,QAAO,kBAAkB,OAAO;CAElC,MAAM,MAAM,OAAO;AACnB,KAAI,QAAQ,cAAc,IAAI,WAAW,YAAY,CACnD,QAAO,kBAAkB,OAAO;AAElC,KAAI,CAAC,YAAY,KAAK,OAAO,CAC3B,QAAO,kBAAkB,OAAO;AAElC,QAAO,IAAI,aAAa;;;;;AAM1B,SAAgB,6BAA6B,QAAgB,SAAwC;CACnG,MAAM,WAAW,OAAO,QAAQ;CAChC,MAAM,OAAO,OAAO,QAAQ;CAC5B,MAAM,QAAQ,MAAM,QAAQ,KAAK,GAC7B,KAAK,MAAM,MAAM,KAAK,EAAE,YAAY,SAAS,EAAE,GAAG,aAAa,KAAK,QAAQ,aAAa,CAAC,GAC1F,KAAA;CAEJ,MAAM,wBAAwB,yBAAyB,QAAQ,QAAQ;CAGvE,MAAM,EAAE,SAAS,mBAAmB,WAAW,wBAAwB,mCADnD,iBAAiB,UAAU,OAAuC,OAAO,MACwB,CAAC;CACtH,MAAM,gBAAgB,wBAAwB,OAAO;CACrD,MAAM,kBAAkB,mBAAmB,MAAM,IAAI;CAErD,MAAM,UAAU,kBACd,UAAU,OAAO,SACjB,OAAO,OAAO,QACf;CAED,MAAM,SAAkC;EACtC,GAAI,UAAU;EACd,GAAI,OAAO;EACZ;AAED,QAAO;EACL,SAAS,QAAQ,aAAa;EAC9B;EACA;EACA,WAAW;EACX,iBAAiB,OAAO,mBAAmB,UAAU;EACrD,kBAAkB,OAAO,oBAAoB,UAAU;EACvD,gBAAgB,OAAO,kBAAkB,UAAU;EACnD,sBAAsB,OAAO,sBAAsB,MAAM,GACrD,MAAM,uBACN,UAAU,sBAAsB,MAAM,GACpC,SAAS,uBACT,KAAA;EACN,iBAAiB,OAAO,QAAQ,SAAS,CAAC,GAAG,MAAM,OAAO,GAAG,UAAU,QAAQ,SAAS,CAAC,GAAG,SAAS,OAAO,GAAG,KAAA;EAC/G,OAAO,EAAE,SAAS;EAClB;EACD;;AAGH,SAAgB,uCACd,QACA,YACuB;AAEvB,QAAO,6BAA6B,QADzB,sBAAsB,YAAY,OACC,CAAC"}
1
+ {"version":3,"file":"agent-profile.js","names":[],"sources":["../../../src/config/agent-profile.ts"],"sourcesContent":["/**\n * Effective agent profile: merges `agents.defaults` with `agents.list` entry.\n * Subagent session keys fall back to the configured default agent id for profile lookup.\n */\n\nimport type { ThinkLevel, ReasoningLevel, VerboseLevel } from '../agent/transcript/thinking-types.js';\nimport type { Config } from './schema.js';\nimport type { AgentModelConfig } from './schema.js';\nimport { getAgentDefaultModelRef } from './schema.js';\nimport { resolveAgentWorkspaceDir } from '../agent/agent-scope.js';\nimport { getDefaultAgentId, agentExists } from '../routing/resolve-route.js';\nimport { parseSessionKey } from '../routing/session-key.js';\n\nexport { resolveAgentWorkspaceDir } from '../agent/agent-scope.js';\n\nexport type { AgentModelConfig };\n\nexport interface EffectiveAgentTools {\n /** Tool names to exclude (merged: union of defaults + list entry disables). */\n disable: Set<string>;\n}\n\nexport interface EffectiveAgentProfile {\n agentId: string;\n /** Resolved absolute Markdown workspace path (tool cwd, attachments, daily memory/, …). */\n resolvedWorkspacePath: string;\n /** Primary model ref (provider/model); may be empty → runtime default. */\n primaryModelRef: string | undefined;\n fallbacks: string[];\n thinkingDefault?: ThinkLevel;\n reasoningDefault?: ReasoningLevel;\n verboseDefault?: VerboseLevel;\n systemPromptOverride?: string;\n /** When set, only these skill names appear in `<available_skills>`. */\n skillsAllowlist?: string[];\n tools: EffectiveAgentTools;\n params: Record<string, unknown>;\n}\n\nfunction mergeModelConfig(\n base: AgentModelConfig | undefined,\n override: AgentModelConfig | undefined,\n): AgentModelConfig | undefined {\n if (override === undefined) return base;\n if (base === undefined) return override;\n return {\n primary: override.primary ?? base.primary,\n fallbacks: override.fallbacks ?? base.fallbacks,\n };\n}\n\nfunction primaryAndFallbacksFromModelConfig(\n raw: AgentModelConfig | undefined,\n): { primary?: string; fallbacks: string[] } {\n const primary = raw?.primary?.trim();\n const fallbacks = Array.isArray(raw?.fallbacks)\n ? raw.fallbacks.map((s) => s.trim()).filter(Boolean)\n : [];\n return { primary: primary || undefined, fallbacks };\n}\n\nfunction mergeDisableLists(a?: string[], b?: string[]): Set<string> {\n const out = new Set<string>();\n for (const x of a ?? []) {\n const s = String(x).trim();\n if (s) {\n out.add(s);\n }\n }\n for (const x of b ?? []) {\n const s = String(x).trim();\n if (s) {\n out.add(s);\n }\n }\n return out;\n}\n\n/**\n * Agent id used for config lookup from a session key (subagent keys → default agent).\n */\nexport function extractProfileAgentId(sessionKey: string | undefined | null, config: Config): string {\n const parsed = parseSessionKey(sessionKey ?? '');\n if (!parsed) {\n return getDefaultAgentId(config);\n }\n const aid = parsed.agentId;\n if (aid === 'subagent' || aid.startsWith('subagent:')) {\n return getDefaultAgentId(config);\n }\n if (!agentExists(aid, config)) {\n return getDefaultAgentId(config);\n }\n return aid.toLowerCase();\n}\n\n/**\n * Merge `agents.defaults` with the matching `agents.list` entry.\n */\nexport function resolveEffectiveAgentProfile(config: Config, agentId: string): EffectiveAgentProfile {\n const defaults = config.agents?.defaults;\n const list = config.agents?.list;\n const entry = Array.isArray(list)\n ? list.find((a) => a && a.enabled !== false && a.id.toLowerCase() === agentId.toLowerCase())\n : undefined;\n\n const resolvedWorkspacePath = resolveAgentWorkspaceDir(config, agentId);\n\n const mergedModel = mergeModelConfig(defaults?.model, entry?.model);\n const { primary: primaryFromMerged, fallbacks: fallbacksFromMerged } = primaryAndFallbacksFromModelConfig(mergedModel);\n const globalDefault = getAgentDefaultModelRef(config);\n const primaryModelRef = primaryFromMerged?.trim() || globalDefault;\n\n const disable = mergeDisableLists(\n defaults?.tools?.disable as string[] | undefined,\n entry?.tools?.disable as string[] | undefined,\n );\n\n const params: Record<string, unknown> = {\n ...(defaults?.params as Record<string, unknown> | undefined),\n ...(entry?.params as Record<string, unknown> | undefined),\n };\n\n return {\n agentId: agentId.toLowerCase(),\n resolvedWorkspacePath,\n primaryModelRef,\n fallbacks: fallbacksFromMerged,\n thinkingDefault: entry?.thinkingDefault ?? defaults?.thinkingDefault,\n reasoningDefault: entry?.reasoningDefault ?? defaults?.reasoningDefault,\n verboseDefault: entry?.verboseDefault ?? defaults?.verboseDefault,\n systemPromptOverride: entry?.systemPromptOverride?.trim()\n ? entry.systemPromptOverride\n : defaults?.systemPromptOverride?.trim()\n ? defaults.systemPromptOverride\n : undefined,\n skillsAllowlist: entry?.skills?.length ? [...entry.skills] : defaults?.skills?.length ? [...defaults.skills] : undefined,\n tools: { disable },\n params,\n };\n}\n\nexport function resolveEffectiveAgentProfileForSession(\n config: Config,\n sessionKey: string | undefined | null,\n): EffectiveAgentProfile {\n const id = extractProfileAgentId(sessionKey, config);\n return resolveEffectiveAgentProfile(config, id);\n}\n"],"mappings":";;;;;aAQsD;kBACa;oBACU;kBACjB;AA4B5D,SAAS,iBACP,MACA,UAC8B;AAC9B,KAAI,aAAa,KAAA,EAAW,QAAO;AACnC,KAAI,SAAS,KAAA,EAAW,QAAO;AAC/B,QAAO;EACL,SAAS,SAAS,WAAW,KAAK;EAClC,WAAW,SAAS,aAAa,KAAK;EACvC;;AAGH,SAAS,mCACP,KAC2C;CAC3C,MAAM,UAAU,KAAK,SAAS,MAAM;CACpC,MAAM,YAAY,MAAM,QAAQ,KAAK,UAAU,GAC3C,IAAI,UAAU,KAAK,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,QAAQ,GAClD,EAAE;AACN,QAAO;EAAE,SAAS,WAAW,KAAA;EAAW;EAAW;;AAGrD,SAAS,kBAAkB,GAAc,GAA2B;CAClE,MAAM,sBAAM,IAAI,KAAa;AAC7B,MAAK,MAAM,KAAK,KAAK,EAAE,EAAE;EACvB,MAAM,IAAI,OAAO,EAAE,CAAC,MAAM;AAC1B,MAAI,EACF,KAAI,IAAI,EAAE;;AAGd,MAAK,MAAM,KAAK,KAAK,EAAE,EAAE;EACvB,MAAM,IAAI,OAAO,EAAE,CAAC,MAAM;AAC1B,MAAI,EACF,KAAI,IAAI,EAAE;;AAGd,QAAO;;;;;AAMT,SAAgB,sBAAsB,YAAuC,QAAwB;CACnG,MAAM,SAAS,gBAAgB,cAAc,GAAG;AAChD,KAAI,CAAC,OACH,QAAO,kBAAkB,OAAO;CAElC,MAAM,MAAM,OAAO;AACnB,KAAI,QAAQ,cAAc,IAAI,WAAW,YAAY,CACnD,QAAO,kBAAkB,OAAO;AAElC,KAAI,CAAC,YAAY,KAAK,OAAO,CAC3B,QAAO,kBAAkB,OAAO;AAElC,QAAO,IAAI,aAAa;;;;;AAM1B,SAAgB,6BAA6B,QAAgB,SAAwC;CACnG,MAAM,WAAW,OAAO,QAAQ;CAChC,MAAM,OAAO,OAAO,QAAQ;CAC5B,MAAM,QAAQ,MAAM,QAAQ,KAAK,GAC7B,KAAK,MAAM,MAAM,KAAK,EAAE,YAAY,SAAS,EAAE,GAAG,aAAa,KAAK,QAAQ,aAAa,CAAC,GAC1F,KAAA;CAEJ,MAAM,wBAAwB,yBAAyB,QAAQ,QAAQ;CAGvE,MAAM,EAAE,SAAS,mBAAmB,WAAW,wBAAwB,mCADnD,iBAAiB,UAAU,OAAO,OAAO,MACwD,CAAC;CACtH,MAAM,gBAAgB,wBAAwB,OAAO;CACrD,MAAM,kBAAkB,mBAAmB,MAAM,IAAI;CAErD,MAAM,UAAU,kBACd,UAAU,OAAO,SACjB,OAAO,OAAO,QACf;CAED,MAAM,SAAkC;EACtC,GAAI,UAAU;EACd,GAAI,OAAO;EACZ;AAED,QAAO;EACL,SAAS,QAAQ,aAAa;EAC9B;EACA;EACA,WAAW;EACX,iBAAiB,OAAO,mBAAmB,UAAU;EACrD,kBAAkB,OAAO,oBAAoB,UAAU;EACvD,gBAAgB,OAAO,kBAAkB,UAAU;EACnD,sBAAsB,OAAO,sBAAsB,MAAM,GACrD,MAAM,uBACN,UAAU,sBAAsB,MAAM,GACpC,SAAS,uBACT,KAAA;EACN,iBAAiB,OAAO,QAAQ,SAAS,CAAC,GAAG,MAAM,OAAO,GAAG,UAAU,QAAQ,SAAS,CAAC,GAAG,SAAS,OAAO,GAAG,KAAA;EAC/G,OAAO,EAAE,SAAS;EAClB;EACD;;AAGH,SAAgB,uCACd,QACA,YACuB;AAEvB,QAAO,6BAA6B,QADzB,sBAAsB,YAAY,OACC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { TelegramAccountConfigSchema, TelegramConfigSchema, TelegramGroupConfigSchema, TelegramTopicConfigSchema } from "../../extensions/telegram/src/config-schema.js";
2
2
  import { WeixinAccountConfigSchema, WeixinConfigSchema } from "../../extensions/weixin/src/config-schema.js";
3
- import { AgentConfigSchema, AgentDefaultsSchema, AgentImageGenerationModelSchema, AgentModelRefSchema, AgentsConfigSchema, BindingMatchSchema, BindingRuleSchema, BindingsConfigSchema, ChannelsConfigSchema, CommandsConfigSchema, ConfigSchema, CronConfigSchema, ExtensionSecurityConfigSchema, ExtensionSlotsConfigSchema, ExtensionsConfigSchema, GatewayAuthRateLimitSchema, GatewayAuthSchema, GatewayBindModeSchema, GatewayChannelConnectDeferModeSchema, GatewayConfigSchema, GatewayModeSchema, GatewayRemoteSchema, GatewaySecuritySchema, GatewayTailscaleConsentSchema, GatewayTailscaleSchema, GatewayTlsSchema, GatewayTrustedProxySchema, GoalsConfigSchema, HeartbeatConfigSchema, McpConfigSchema, McpServerSchema, MediaUnderstandingCapabilitiesSchema, MediaUnderstandingModelSchema, MessagesConfigSchema, ModelsDevConfigSchema, ProviderAuthConfigSchema, ProviderAzureConfigSchema, ProviderRequestOverridesSchema, ProvidersConfigSchema, STTConfigSchema, STTFallbackConfigSchema, STTProviderConfigSchema, SearchProviderEntrySchema, SessionConfigSchema, SessionDmScopeSchema, SessionStorageConfigSchema, TTSConfigSchema, TTSEdgeConfigSchema, TTSFallbackConfigSchema, TTSModelOverridesConfigSchema, TTSProviderConfigSchema, TTSSummarizationConfigSchema, ToolsConfigSchema, ToolsMediaAudioConfigSchema, ToolsMediaConfigSchema, TunnelConfigSchema, TunnelConsentSchema, UpdateAutoConfigSchema, UpdateConfigSchema, WebSearchConfigSchema, WebToolsConfigSchema, WebsiteBlocklistSchema, WorkspaceConfigSchema, WorkspaceImportConfigSchema, getAgentDefaultModelRef, init_schema, parseModelRef } from "./schema.js";
3
+ import { AgentConfigSchema, AgentDefaultsSchema, AgentImageGenerationModelSchema, AgentModelRefSchema, AgentsConfigSchema, BindingMatchSchema, BindingRuleSchema, BindingsConfigSchema, ChannelsConfigSchema, CommandsConfigSchema, ConfigSchema, CronConfigSchema, ExtensionSecurityConfigSchema, ExtensionSlotsConfigSchema, ExtensionsConfigSchema, GatewayAuthRateLimitSchema, GatewayAuthSchema, GatewayBindModeSchema, GatewayChannelConnectDeferModeSchema, GatewayConfigSchema, GatewayModeSchema, GatewayRemoteSchema, GatewaySecuritySchema, GatewayTailscaleConsentSchema, GatewayTailscaleSchema, GatewayTlsSchema, GatewayTrustedProxySchema, GoalsConfigSchema, HeartbeatConfigSchema, McpConfigSchema, McpServerSchema, MediaUnderstandingCapabilitiesSchema, MediaUnderstandingModelSchema, MessagesConfigSchema, ModelsDevConfigSchema, ProviderAuthConfigSchema, ProviderAzureConfigSchema, ProviderRequestOverridesSchema, ProvidersConfigSchema, STTConfigSchema, STTFallbackConfigSchema, STTProviderConfigSchema, SearchProviderEntrySchema, SessionConfigSchema, SessionDmScopeSchema, SessionResetByTypeSchema, SessionResetConfigSchema, SessionResetModeSchema, SessionScopeSchema, SessionStorageConfigSchema, TTSConfigSchema, TTSEdgeConfigSchema, TTSFallbackConfigSchema, TTSModelOverridesConfigSchema, TTSProviderConfigSchema, TTSSummarizationConfigSchema, ToolsConfigSchema, ToolsMediaAudioConfigSchema, ToolsMediaConfigSchema, TunnelConfigSchema, TunnelConsentSchema, UpdateAutoConfigSchema, UpdateConfigSchema, WebSearchConfigSchema, WebToolsConfigSchema, WebsiteBlocklistSchema, WorkspaceConfigSchema, WorkspaceImportConfigSchema, getAgentDefaultModelRef, init_schema, parseModelRef } from "./schema.js";
4
4
  import { applyConfigOverrides, getConfigOverrides, resetConfigOverrides, setConfigOverride, unsetConfigOverride } from "./runtime-overrides.js";
5
5
  import { ENV_VARS, resolveHomeDir, resolveStateDir } from "./paths-state.js";
6
6
  import { expandWorkspacePathString, init_workspace_path, normalizeWorkspaceDir, resolveWorkspaceRoot } from "./workspace-path.js";
@@ -29,6 +29,6 @@ init_workspace_path();
29
29
  init_models_json();
30
30
  init_resolve_config_value();
31
31
  //#endregion
32
- export { AgentConfigSchema, AgentDefaultsSchema, AgentImageGenerationModelSchema, AgentModelRefSchema, AgentsConfigSchema, BASE_RELOAD_RULES, BindingMatchSchema, BindingRuleSchema, BindingsConfigSchema, ChannelsConfigSchema, CommandsConfigSchema, ConfigHotReloader, ConfigSchema, CronConfigSchema, CustomModelSchema, ENV_VARS, ExtensionSecurityConfigSchema, ExtensionSlotsConfigSchema, ExtensionsConfigSchema, FILENAMES, GatewayAuthRateLimitSchema, GatewayAuthSchema, GatewayBindModeSchema, GatewayChannelConnectDeferModeSchema, GatewayConfigSchema, GatewayModeSchema, GatewayRemoteSchema, GatewaySecuritySchema, GatewayTailscaleConsentSchema, GatewayTailscaleSchema, GatewayTlsSchema, GatewayTrustedProxySchema, GoalsConfigSchema, HeartbeatConfigSchema, McpConfigSchema, McpServerSchema, MediaUnderstandingCapabilitiesSchema, MediaUnderstandingModelSchema, MessagesConfigSchema, ModelOverrideSchema, ModelsDevConfigSchema, ModelsJsonSchema, OpenAICompatSchema, OpenAICompletionsCompatSchema, OpenAIResponsesCompatSchema, OpenRouterRoutingSchema, ProfileManager, ProviderAuthConfigSchema, ProviderAzureConfigSchema, ProviderConfigSchema, ProviderRequestOverridesSchema, ProvidersConfigSchema, STTConfigSchema, STTFallbackConfigSchema, STTProviderConfigSchema, SearchProviderEntrySchema, SessionConfigSchema, SessionDmScopeSchema, SessionStorageConfigSchema, TTSConfigSchema, TTSEdgeConfigSchema, TTSFallbackConfigSchema, TTSModelOverridesConfigSchema, TTSProviderConfigSchema, TTSSummarizationConfigSchema, TelegramAccountConfigSchema, TelegramConfigSchema, TelegramGroupConfigSchema, TelegramTopicConfigSchema, ToolsConfigSchema, ToolsMediaAudioConfigSchema, ToolsMediaConfigSchema, TunnelConfigSchema, TunnelConsentSchema, UpdateAutoConfigSchema, UpdateConfigSchema, VercelGatewayRoutingSchema, WORKSPACE_FILES, WebSearchConfigSchema, WebToolsConfigSchema, WebsiteBlocklistSchema, WeixinAccountConfigSchema, WeixinConfigSchema, WorkspaceConfigSchema, WorkspaceImportConfigSchema, applyConfigOverrides, buildReloadPlan, canonicalizeConfiguredMcpServer, clearConfigValueCache, createProfile, deleteProfile, diffConfigPaths, existsSync, expandWorkspacePathString, extractProfileAgentId, formatThinkingLevels, getAgentDefaultModelRef, getAllowedCommands, getCacheStats, getConfigOverrides, getCurrentProfile, getDefaultModelValues, resolveModelsJsonPath as getModelsJsonPath, getProfileManager, getProfileNameFromDir, getSwitchCommand, getWorkspacePath, isKnownCliMcpTypeAlias, listAgentProfileMarkdownDirs, listAgentWorkspaceDirs, listConfiguredMcpServers, listProfiles, listThinkingLevels, loadConfig, loadModelsJson, matchReloadRule, modelsJsonExists, normalizeConfiguredMcpServers, normalizeElevatedMode, normalizeReasoningLevel, normalizeThinkLevel, normalizeVerboseLevel, normalizeWorkspaceDir, parseModelRef, registerChannelConfigValidator, resetConfigOverrides, resolveAgentAuthProfilesPath, resolveAgentDir, resolveAgentDir$1 as resolveAgentDirFromConfig, resolveAgentHomeDir, resolveAgentHomeDir$1 as resolveAgentHomeDirFromConfig, resolveAgentMetadataPath, resolveAgentProfileDir, resolveAgentProfileMarkdownPath, resolveAgentWorkspaceDir, resolveAuthProfilesPath, resolveBinDir, resolveBundledExtensionsDir, resolveBundledSkillsDir, resolveConfigPath, resolveConfigValue, resolveCredentialsDir, resolveCronDir, resolveCronJobsPath, resolveCronLogPath, resolveCronLogsDir, resolveCronRunsDir, resolveDefaultAgentWorkspaceDir, resolveEffectiveAgentProfile, resolveEffectiveAgentProfileForSession, resolveExtensionSdkPath, resolveExtensionsDir, resolveExtensionsLockPath, resolveHeaders, resolveHomeDir, resolveInboxDir, resolveInboxMessagePath, resolveInboxPendingDir, resolveInboxProcessedDir, resolveLogPath, resolveLogsDir, resolveMemoryDir, resolveMemoryPath, resolveModelsJsonPath, resolveNodeBinDir, resolveNodeBinPath, resolveNodeToolsDir, resolveNpmBinPath, resolveOAuthPath, resolvePidPath, resolveProfileStateDir, resolveSessionFilePath, resolveSessionTranscriptPath, resolveSessionTranscriptPathInDir, resolveSessionsArchiveDir, resolveSessionsDir, resolveSessionsDir$1 as resolveSessionsDirFromConfig, resolveSessionsMapPath, resolveSkillPath, resolveSkillsCachePath, resolveSkillsDir, resolveSkillsLockPath, resolveSocketPath, resolveStateDir, resolveStatusPath, resolveToolsDir, resolveWorkspaceExtensionsDir, resolveWorkspaceFile, resolveWorkspaceRoot, resolveWorkspaceStateDir, resolveWorkspaceStatePath, resolveXopcBinPath, resolveXopcMcpTransportAlias, saveConfig, saveModelsJson, setConfigOverride, setConfiguredMcpServer, testApiKeyResolution, thinkLevelToNumber, unsetConfigOverride, unsetConfiguredMcpServer, validateModelsConfig };
32
+ export { AgentConfigSchema, AgentDefaultsSchema, AgentImageGenerationModelSchema, AgentModelRefSchema, AgentsConfigSchema, BASE_RELOAD_RULES, BindingMatchSchema, BindingRuleSchema, BindingsConfigSchema, ChannelsConfigSchema, CommandsConfigSchema, ConfigHotReloader, ConfigSchema, CronConfigSchema, CustomModelSchema, ENV_VARS, ExtensionSecurityConfigSchema, ExtensionSlotsConfigSchema, ExtensionsConfigSchema, FILENAMES, GatewayAuthRateLimitSchema, GatewayAuthSchema, GatewayBindModeSchema, GatewayChannelConnectDeferModeSchema, GatewayConfigSchema, GatewayModeSchema, GatewayRemoteSchema, GatewaySecuritySchema, GatewayTailscaleConsentSchema, GatewayTailscaleSchema, GatewayTlsSchema, GatewayTrustedProxySchema, GoalsConfigSchema, HeartbeatConfigSchema, McpConfigSchema, McpServerSchema, MediaUnderstandingCapabilitiesSchema, MediaUnderstandingModelSchema, MessagesConfigSchema, ModelOverrideSchema, ModelsDevConfigSchema, ModelsJsonSchema, OpenAICompatSchema, OpenAICompletionsCompatSchema, OpenAIResponsesCompatSchema, OpenRouterRoutingSchema, ProfileManager, ProviderAuthConfigSchema, ProviderAzureConfigSchema, ProviderConfigSchema, ProviderRequestOverridesSchema, ProvidersConfigSchema, STTConfigSchema, STTFallbackConfigSchema, STTProviderConfigSchema, SearchProviderEntrySchema, SessionConfigSchema, SessionDmScopeSchema, SessionResetByTypeSchema, SessionResetConfigSchema, SessionResetModeSchema, SessionScopeSchema, SessionStorageConfigSchema, TTSConfigSchema, TTSEdgeConfigSchema, TTSFallbackConfigSchema, TTSModelOverridesConfigSchema, TTSProviderConfigSchema, TTSSummarizationConfigSchema, TelegramAccountConfigSchema, TelegramConfigSchema, TelegramGroupConfigSchema, TelegramTopicConfigSchema, ToolsConfigSchema, ToolsMediaAudioConfigSchema, ToolsMediaConfigSchema, TunnelConfigSchema, TunnelConsentSchema, UpdateAutoConfigSchema, UpdateConfigSchema, VercelGatewayRoutingSchema, WORKSPACE_FILES, WebSearchConfigSchema, WebToolsConfigSchema, WebsiteBlocklistSchema, WeixinAccountConfigSchema, WeixinConfigSchema, WorkspaceConfigSchema, WorkspaceImportConfigSchema, applyConfigOverrides, buildReloadPlan, canonicalizeConfiguredMcpServer, clearConfigValueCache, createProfile, deleteProfile, diffConfigPaths, existsSync, expandWorkspacePathString, extractProfileAgentId, formatThinkingLevels, getAgentDefaultModelRef, getAllowedCommands, getCacheStats, getConfigOverrides, getCurrentProfile, getDefaultModelValues, resolveModelsJsonPath as getModelsJsonPath, getProfileManager, getProfileNameFromDir, getSwitchCommand, getWorkspacePath, isKnownCliMcpTypeAlias, listAgentProfileMarkdownDirs, listAgentWorkspaceDirs, listConfiguredMcpServers, listProfiles, listThinkingLevels, loadConfig, loadModelsJson, matchReloadRule, modelsJsonExists, normalizeConfiguredMcpServers, normalizeElevatedMode, normalizeReasoningLevel, normalizeThinkLevel, normalizeVerboseLevel, normalizeWorkspaceDir, parseModelRef, registerChannelConfigValidator, resetConfigOverrides, resolveAgentAuthProfilesPath, resolveAgentDir, resolveAgentDir$1 as resolveAgentDirFromConfig, resolveAgentHomeDir, resolveAgentHomeDir$1 as resolveAgentHomeDirFromConfig, resolveAgentMetadataPath, resolveAgentProfileDir, resolveAgentProfileMarkdownPath, resolveAgentWorkspaceDir, resolveAuthProfilesPath, resolveBinDir, resolveBundledExtensionsDir, resolveBundledSkillsDir, resolveConfigPath, resolveConfigValue, resolveCredentialsDir, resolveCronDir, resolveCronJobsPath, resolveCronLogPath, resolveCronLogsDir, resolveCronRunsDir, resolveDefaultAgentWorkspaceDir, resolveEffectiveAgentProfile, resolveEffectiveAgentProfileForSession, resolveExtensionSdkPath, resolveExtensionsDir, resolveExtensionsLockPath, resolveHeaders, resolveHomeDir, resolveInboxDir, resolveInboxMessagePath, resolveInboxPendingDir, resolveInboxProcessedDir, resolveLogPath, resolveLogsDir, resolveMemoryDir, resolveMemoryPath, resolveModelsJsonPath, resolveNodeBinDir, resolveNodeBinPath, resolveNodeToolsDir, resolveNpmBinPath, resolveOAuthPath, resolvePidPath, resolveProfileStateDir, resolveSessionFilePath, resolveSessionTranscriptPath, resolveSessionTranscriptPathInDir, resolveSessionsArchiveDir, resolveSessionsDir, resolveSessionsDir$1 as resolveSessionsDirFromConfig, resolveSessionsMapPath, resolveSkillPath, resolveSkillsCachePath, resolveSkillsDir, resolveSkillsLockPath, resolveSocketPath, resolveStateDir, resolveStatusPath, resolveToolsDir, resolveWorkspaceExtensionsDir, resolveWorkspaceFile, resolveWorkspaceRoot, resolveWorkspaceStateDir, resolveWorkspaceStatePath, resolveXopcBinPath, resolveXopcMcpTransportAlias, saveConfig, saveModelsJson, setConfigOverride, setConfiguredMcpServer, testApiKeyResolution, thinkLevelToNumber, unsetConfigOverride, unsetConfiguredMcpServer, validateModelsConfig };
33
33
 
34
34
  //# sourceMappingURL=index.js.map
@@ -1,12 +1,9 @@
1
1
  //#region src/config/model-input.ts
2
2
  function resolveAgentModelPrimaryValue(model) {
3
- if (typeof model === "string") return model.trim() || void 0;
4
- if (!model || typeof model !== "object") return;
5
- return model.primary?.trim() || void 0;
3
+ return model?.primary?.trim() || void 0;
6
4
  }
7
5
  function resolveAgentModelFallbackValues(model) {
8
- if (!model || typeof model !== "object") return [];
9
- return Array.isArray(model.fallbacks) ? model.fallbacks : [];
6
+ return Array.isArray(model?.fallbacks) ? model.fallbacks : [];
10
7
  }
11
8
  //#endregion
12
9
  export { resolveAgentModelFallbackValues, resolveAgentModelPrimaryValue };
@@ -1 +1 @@
1
- {"version":3,"file":"model-input.js","names":[],"sources":["../../../src/config/model-input.ts"],"sourcesContent":["import type { AgentModelConfig } from './schema.js';\n\nexport function resolveAgentModelPrimaryValue(model?: AgentModelConfig): string | undefined {\n if (typeof model === 'string') {\n const trimmed = model.trim();\n return trimmed || undefined;\n }\n if (!model || typeof model !== 'object') {\n return undefined;\n }\n const primary = model.primary?.trim();\n return primary || undefined;\n}\n\nexport function resolveAgentModelFallbackValues(model?: AgentModelConfig): string[] {\n if (!model || typeof model !== 'object') {\n return [];\n }\n return Array.isArray(model.fallbacks) ? model.fallbacks : [];\n}\n"],"mappings":";AAEA,SAAgB,8BAA8B,OAA8C;AAC1F,KAAI,OAAO,UAAU,SAEnB,QADgB,MAAM,MACR,IAAI,KAAA;AAEpB,KAAI,CAAC,SAAS,OAAO,UAAU,SAC7B;AAGF,QADgB,MAAM,SAAS,MAAM,IACnB,KAAA;;AAGpB,SAAgB,gCAAgC,OAAoC;AAClF,KAAI,CAAC,SAAS,OAAO,UAAU,SAC7B,QAAO,EAAE;AAEX,QAAO,MAAM,QAAQ,MAAM,UAAU,GAAG,MAAM,YAAY,EAAE"}
1
+ {"version":3,"file":"model-input.js","names":[],"sources":["../../../src/config/model-input.ts"],"sourcesContent":["import type { AgentModelConfig } from './schema.js';\n\nexport function resolveAgentModelPrimaryValue(model?: AgentModelConfig): string | undefined {\n const primary = model?.primary?.trim();\n return primary || undefined;\n}\n\nexport function resolveAgentModelFallbackValues(model?: AgentModelConfig): string[] {\n return Array.isArray(model?.fallbacks) ? model.fallbacks : [];\n}\n"],"mappings":";AAEA,SAAgB,8BAA8B,OAA8C;AAE1F,QADgB,OAAO,SAAS,MAAM,IACpB,KAAA;;AAGpB,SAAgB,gCAAgC,OAAoC;AAClF,QAAO,MAAM,QAAQ,OAAO,UAAU,GAAG,MAAM,YAAY,EAAE"}