@xopcai/xopcbot 0.1.0

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 (535) hide show
  1. package/README.md +132 -0
  2. package/README.zh-CN.md +130 -0
  3. package/dist/__tests__/core.test.d.ts +1 -0
  4. package/dist/__tests__/core.test.js +72 -0
  5. package/dist/__tests__/core.test.js.map +1 -0
  6. package/dist/agent/fallback/__tests__/index.test.d.ts +1 -0
  7. package/dist/agent/fallback/__tests__/index.test.js +111 -0
  8. package/dist/agent/fallback/__tests__/index.test.js.map +1 -0
  9. package/dist/agent/fallback/candidates.d.ts +23 -0
  10. package/dist/agent/fallback/candidates.js +62 -0
  11. package/dist/agent/fallback/candidates.js.map +1 -0
  12. package/dist/agent/fallback/error.d.ts +22 -0
  13. package/dist/agent/fallback/error.js +27 -0
  14. package/dist/agent/fallback/error.js.map +1 -0
  15. package/dist/agent/fallback/index.d.ts +6 -0
  16. package/dist/agent/fallback/index.js +5 -0
  17. package/dist/agent/fallback/index.js.map +1 -0
  18. package/dist/agent/fallback/reason.d.ts +7 -0
  19. package/dist/agent/fallback/reason.js +78 -0
  20. package/dist/agent/fallback/reason.js.map +1 -0
  21. package/dist/agent/fallback/runner.d.ts +22 -0
  22. package/dist/agent/fallback/runner.js +34 -0
  23. package/dist/agent/fallback/runner.js.map +1 -0
  24. package/dist/agent/helpers.d.ts +38 -0
  25. package/dist/agent/helpers.js +122 -0
  26. package/dist/agent/helpers.js.map +1 -0
  27. package/dist/agent/index.d.ts +7 -0
  28. package/dist/agent/index.js +7 -0
  29. package/dist/agent/index.js.map +1 -0
  30. package/dist/agent/memory/compaction.d.ts +63 -0
  31. package/dist/agent/memory/compaction.js +233 -0
  32. package/dist/agent/memory/compaction.js.map +1 -0
  33. package/dist/agent/memory/window.d.ts +29 -0
  34. package/dist/agent/memory/window.js +64 -0
  35. package/dist/agent/memory/window.js.map +1 -0
  36. package/dist/agent/model-manager.d.ts +80 -0
  37. package/dist/agent/model-manager.js +213 -0
  38. package/dist/agent/model-manager.js.map +1 -0
  39. package/dist/agent/prompt/heartbeat.d.ts +97 -0
  40. package/dist/agent/prompt/heartbeat.js +313 -0
  41. package/dist/agent/prompt/heartbeat.js.map +1 -0
  42. package/dist/agent/prompt/index.d.ts +65 -0
  43. package/dist/agent/prompt/index.js +215 -0
  44. package/dist/agent/prompt/index.js.map +1 -0
  45. package/dist/agent/prompt/memory/index.d.ts +37 -0
  46. package/dist/agent/prompt/memory/index.js +241 -0
  47. package/dist/agent/prompt/memory/index.js.map +1 -0
  48. package/dist/agent/prompt/modes.d.ts +44 -0
  49. package/dist/agent/prompt/modes.js +167 -0
  50. package/dist/agent/prompt/modes.js.map +1 -0
  51. package/dist/agent/prompt/safety.d.ts +88 -0
  52. package/dist/agent/prompt/safety.js +290 -0
  53. package/dist/agent/prompt/safety.js.map +1 -0
  54. package/dist/agent/service.d.ts +91 -0
  55. package/dist/agent/service.js +641 -0
  56. package/dist/agent/service.js.map +1 -0
  57. package/dist/agent/session-tracker.d.ts +73 -0
  58. package/dist/agent/session-tracker.js +137 -0
  59. package/dist/agent/session-tracker.js.map +1 -0
  60. package/dist/agent/skills/__tests__/test-framework.test.d.ts +4 -0
  61. package/dist/agent/skills/__tests__/test-framework.test.js +343 -0
  62. package/dist/agent/skills/__tests__/test-framework.test.js.map +1 -0
  63. package/dist/agent/skills/config.d.ts +58 -0
  64. package/dist/agent/skills/config.js +212 -0
  65. package/dist/agent/skills/config.js.map +1 -0
  66. package/dist/agent/skills/index.d.ts +25 -0
  67. package/dist/agent/skills/index.js +349 -0
  68. package/dist/agent/skills/index.js.map +1 -0
  69. package/dist/agent/skills/installer.d.ts +38 -0
  70. package/dist/agent/skills/installer.js +352 -0
  71. package/dist/agent/skills/installer.js.map +1 -0
  72. package/dist/agent/skills/scanner.d.ts +32 -0
  73. package/dist/agent/skills/scanner.js +265 -0
  74. package/dist/agent/skills/scanner.js.map +1 -0
  75. package/dist/agent/skills/test-framework.d.ts +107 -0
  76. package/dist/agent/skills/test-framework.js +607 -0
  77. package/dist/agent/skills/test-framework.js.map +1 -0
  78. package/dist/agent/skills/types.d.ts +181 -0
  79. package/dist/agent/skills/types.js +7 -0
  80. package/dist/agent/skills/types.js.map +1 -0
  81. package/dist/agent/skills/watcher.d.ts +37 -0
  82. package/dist/agent/skills/watcher.js +124 -0
  83. package/dist/agent/skills/watcher.js.map +1 -0
  84. package/dist/agent/tools/communication.d.ts +18 -0
  85. package/dist/agent/tools/communication.js +56 -0
  86. package/dist/agent/tools/communication.js.map +1 -0
  87. package/dist/agent/tools/edit-diff.d.ts +21 -0
  88. package/dist/agent/tools/edit-diff.js +69 -0
  89. package/dist/agent/tools/edit-diff.js.map +1 -0
  90. package/dist/agent/tools/edit.d.ts +13 -0
  91. package/dist/agent/tools/edit.js +65 -0
  92. package/dist/agent/tools/edit.js.map +1 -0
  93. package/dist/agent/tools/find.d.ts +24 -0
  94. package/dist/agent/tools/find.js +99 -0
  95. package/dist/agent/tools/find.js.map +1 -0
  96. package/dist/agent/tools/grep.d.ts +33 -0
  97. package/dist/agent/tools/grep.js +183 -0
  98. package/dist/agent/tools/grep.js.map +1 -0
  99. package/dist/agent/tools/index.d.ts +13 -0
  100. package/dist/agent/tools/index.js +18 -0
  101. package/dist/agent/tools/index.js.map +1 -0
  102. package/dist/agent/tools/list-dir.d.ts +6 -0
  103. package/dist/agent/tools/list-dir.js +37 -0
  104. package/dist/agent/tools/list-dir.js.map +1 -0
  105. package/dist/agent/tools/memory-tool.d.ts +14 -0
  106. package/dist/agent/tools/memory-tool.js +81 -0
  107. package/dist/agent/tools/memory-tool.js.map +1 -0
  108. package/dist/agent/tools/path-utils.d.ts +4 -0
  109. package/dist/agent/tools/path-utils.js +13 -0
  110. package/dist/agent/tools/path-utils.js.map +1 -0
  111. package/dist/agent/tools/read.d.ts +7 -0
  112. package/dist/agent/tools/read.js +47 -0
  113. package/dist/agent/tools/read.js.map +1 -0
  114. package/dist/agent/tools/send-media.d.ts +18 -0
  115. package/dist/agent/tools/send-media.js +104 -0
  116. package/dist/agent/tools/send-media.js.map +1 -0
  117. package/dist/agent/tools/shell.d.ts +13 -0
  118. package/dist/agent/tools/shell.js +114 -0
  119. package/dist/agent/tools/shell.js.map +1 -0
  120. package/dist/agent/tools/truncate.d.ts +36 -0
  121. package/dist/agent/tools/truncate.js +98 -0
  122. package/dist/agent/tools/truncate.js.map +1 -0
  123. package/dist/agent/tools/web.d.ts +14 -0
  124. package/dist/agent/tools/web.js +109 -0
  125. package/dist/agent/tools/web.js.map +1 -0
  126. package/dist/agent/tools/write.d.ts +7 -0
  127. package/dist/agent/tools/write.js +35 -0
  128. package/dist/agent/tools/write.js.map +1 -0
  129. package/dist/agent/types.d.ts +8 -0
  130. package/dist/agent/types.js +2 -0
  131. package/dist/agent/types.js.map +1 -0
  132. package/dist/agent/typing.d.ts +9 -0
  133. package/dist/agent/typing.js +32 -0
  134. package/dist/agent/typing.js.map +1 -0
  135. package/dist/auth/index.d.ts +12 -0
  136. package/dist/auth/index.js +14 -0
  137. package/dist/auth/index.js.map +1 -0
  138. package/dist/auth/oauth/anthropic.d.ts +7 -0
  139. package/dist/auth/oauth/anthropic.js +89 -0
  140. package/dist/auth/oauth/anthropic.js.map +1 -0
  141. package/dist/auth/oauth/github-copilot.d.ts +8 -0
  142. package/dist/auth/oauth/github-copilot.js +35 -0
  143. package/dist/auth/oauth/github-copilot.js.map +1 -0
  144. package/dist/auth/oauth/google-antigravity.d.ts +7 -0
  145. package/dist/auth/oauth/google-antigravity.js +27 -0
  146. package/dist/auth/oauth/google-antigravity.js.map +1 -0
  147. package/dist/auth/oauth/google-gemini-cli.d.ts +7 -0
  148. package/dist/auth/oauth/google-gemini-cli.js +28 -0
  149. package/dist/auth/oauth/google-gemini-cli.js.map +1 -0
  150. package/dist/auth/oauth/index.d.ts +14 -0
  151. package/dist/auth/oauth/index.js +15 -0
  152. package/dist/auth/oauth/index.js.map +1 -0
  153. package/dist/auth/oauth/kimi.d.ts +8 -0
  154. package/dist/auth/oauth/kimi.js +104 -0
  155. package/dist/auth/oauth/kimi.js.map +1 -0
  156. package/dist/auth/oauth/minimax.d.ts +8 -0
  157. package/dist/auth/oauth/minimax.js +109 -0
  158. package/dist/auth/oauth/minimax.js.map +1 -0
  159. package/dist/auth/oauth/openai-codex.d.ts +7 -0
  160. package/dist/auth/oauth/openai-codex.js +33 -0
  161. package/dist/auth/oauth/openai-codex.js.map +1 -0
  162. package/dist/auth/oauth/pkce.d.ts +8 -0
  163. package/dist/auth/oauth/pkce.js +22 -0
  164. package/dist/auth/oauth/pkce.js.map +1 -0
  165. package/dist/auth/oauth/qwen.d.ts +7 -0
  166. package/dist/auth/oauth/qwen.js +114 -0
  167. package/dist/auth/oauth/qwen.js.map +1 -0
  168. package/dist/auth/oauth/types.d.ts +46 -0
  169. package/dist/auth/oauth/types.js +7 -0
  170. package/dist/auth/oauth/types.js.map +1 -0
  171. package/dist/auth/profiles/index.d.ts +16 -0
  172. package/dist/auth/profiles/index.js +17 -0
  173. package/dist/auth/profiles/index.js.map +1 -0
  174. package/dist/auth/profiles/oauth.d.ts +12 -0
  175. package/dist/auth/profiles/oauth.js +106 -0
  176. package/dist/auth/profiles/oauth.js.map +1 -0
  177. package/dist/auth/profiles/order.d.ts +19 -0
  178. package/dist/auth/profiles/order.js +63 -0
  179. package/dist/auth/profiles/order.js.map +1 -0
  180. package/dist/auth/profiles/profiles.d.ts +27 -0
  181. package/dist/auth/profiles/profiles.js +110 -0
  182. package/dist/auth/profiles/profiles.js.map +1 -0
  183. package/dist/auth/profiles/store.d.ts +17 -0
  184. package/dist/auth/profiles/store.js +234 -0
  185. package/dist/auth/profiles/store.js.map +1 -0
  186. package/dist/auth/profiles/types.d.ts +64 -0
  187. package/dist/auth/profiles/types.js +7 -0
  188. package/dist/auth/profiles/types.js.map +1 -0
  189. package/dist/auth/profiles/usage.d.ts +24 -0
  190. package/dist/auth/profiles/usage.js +99 -0
  191. package/dist/auth/profiles/usage.js.map +1 -0
  192. package/dist/auth/storage.d.ts +99 -0
  193. package/dist/auth/storage.js +315 -0
  194. package/dist/auth/storage.js.map +1 -0
  195. package/dist/bus/index.d.ts +3 -0
  196. package/dist/bus/index.js +2 -0
  197. package/dist/bus/index.js.map +1 -0
  198. package/dist/bus/queue.d.ts +20 -0
  199. package/dist/bus/queue.js +57 -0
  200. package/dist/bus/queue.js.map +1 -0
  201. package/dist/channels/__tests__/access-control.test.d.ts +4 -0
  202. package/dist/channels/__tests__/access-control.test.js +310 -0
  203. package/dist/channels/__tests__/access-control.test.js.map +1 -0
  204. package/dist/channels/__tests__/draft-stream.test.d.ts +4 -0
  205. package/dist/channels/__tests__/draft-stream.test.js +243 -0
  206. package/dist/channels/__tests__/draft-stream.test.js.map +1 -0
  207. package/dist/channels/__tests__/format.test.d.ts +4 -0
  208. package/dist/channels/__tests__/format.test.js +146 -0
  209. package/dist/channels/__tests__/format.test.js.map +1 -0
  210. package/dist/channels/__tests__/manager.test.d.ts +6 -0
  211. package/dist/channels/__tests__/manager.test.js +34 -0
  212. package/dist/channels/__tests__/manager.test.js.map +1 -0
  213. package/dist/channels/__tests__/typing-controller.test.d.ts +4 -0
  214. package/dist/channels/__tests__/typing-controller.test.js +109 -0
  215. package/dist/channels/__tests__/typing-controller.test.js.map +1 -0
  216. package/dist/channels/__tests__/update-offset-store.test.d.ts +7 -0
  217. package/dist/channels/__tests__/update-offset-store.test.js +35 -0
  218. package/dist/channels/__tests__/update-offset-store.test.js.map +1 -0
  219. package/dist/channels/access-control.d.ts +93 -0
  220. package/dist/channels/access-control.js +201 -0
  221. package/dist/channels/access-control.js.map +1 -0
  222. package/dist/channels/draft-stream.d.ts +55 -0
  223. package/dist/channels/draft-stream.js +211 -0
  224. package/dist/channels/draft-stream.js.map +1 -0
  225. package/dist/channels/format.d.ts +38 -0
  226. package/dist/channels/format.js +187 -0
  227. package/dist/channels/format.js.map +1 -0
  228. package/dist/channels/index.d.ts +22 -0
  229. package/dist/channels/index.js +23 -0
  230. package/dist/channels/index.js.map +1 -0
  231. package/dist/channels/manager.d.ts +30 -0
  232. package/dist/channels/manager.js +125 -0
  233. package/dist/channels/manager.js.map +1 -0
  234. package/dist/channels/telegram/__tests__/index.test.d.ts +4 -0
  235. package/dist/channels/telegram/__tests__/index.test.js +153 -0
  236. package/dist/channels/telegram/__tests__/index.test.js.map +1 -0
  237. package/dist/channels/telegram/__tests__/inline-keyboards.test.d.ts +4 -0
  238. package/dist/channels/telegram/__tests__/inline-keyboards.test.js +99 -0
  239. package/dist/channels/telegram/__tests__/inline-keyboards.test.js.map +1 -0
  240. package/dist/channels/telegram/client.d.ts +48 -0
  241. package/dist/channels/telegram/client.js +177 -0
  242. package/dist/channels/telegram/client.js.map +1 -0
  243. package/dist/channels/telegram/command-handler.d.ts +28 -0
  244. package/dist/channels/telegram/command-handler.js +209 -0
  245. package/dist/channels/telegram/command-handler.js.map +1 -0
  246. package/dist/channels/telegram/index.d.ts +8 -0
  247. package/dist/channels/telegram/index.js +9 -0
  248. package/dist/channels/telegram/index.js.map +1 -0
  249. package/dist/channels/telegram/inline-keyboards.d.ts +20 -0
  250. package/dist/channels/telegram/inline-keyboards.js +38 -0
  251. package/dist/channels/telegram/inline-keyboards.js.map +1 -0
  252. package/dist/channels/telegram/plugin.d.ts +33 -0
  253. package/dist/channels/telegram/plugin.js +640 -0
  254. package/dist/channels/telegram/plugin.js.map +1 -0
  255. package/dist/channels/telegram/webhook.d.ts +31 -0
  256. package/dist/channels/telegram/webhook.js +129 -0
  257. package/dist/channels/telegram/webhook.js.map +1 -0
  258. package/dist/channels/types.d.ts +186 -0
  259. package/dist/channels/types.js +7 -0
  260. package/dist/channels/types.js.map +1 -0
  261. package/dist/channels/typing-controller.d.ts +47 -0
  262. package/dist/channels/typing-controller.js +117 -0
  263. package/dist/channels/typing-controller.js.map +1 -0
  264. package/dist/channels/update-offset-store.d.ts +37 -0
  265. package/dist/channels/update-offset-store.js +165 -0
  266. package/dist/channels/update-offset-store.js.map +1 -0
  267. package/dist/channels/whatsapp/index.d.ts +4 -0
  268. package/dist/channels/whatsapp/index.js +5 -0
  269. package/dist/channels/whatsapp/index.js.map +1 -0
  270. package/dist/channels/whatsapp/plugin.d.ts +27 -0
  271. package/dist/channels/whatsapp/plugin.js +66 -0
  272. package/dist/channels/whatsapp/plugin.js.map +1 -0
  273. package/dist/cli/__tests__/registry.test.d.ts +1 -0
  274. package/dist/cli/__tests__/registry.test.js +366 -0
  275. package/dist/cli/__tests__/registry.test.js.map +1 -0
  276. package/dist/cli/commands/agent.d.ts +1 -0
  277. package/dist/cli/commands/agent.js +216 -0
  278. package/dist/cli/commands/agent.js.map +1 -0
  279. package/dist/cli/commands/auth.d.ts +6 -0
  280. package/dist/cli/commands/auth.js +440 -0
  281. package/dist/cli/commands/auth.js.map +1 -0
  282. package/dist/cli/commands/config.d.ts +1 -0
  283. package/dist/cli/commands/config.js +135 -0
  284. package/dist/cli/commands/config.js.map +1 -0
  285. package/dist/cli/commands/configure.d.ts +1 -0
  286. package/dist/cli/commands/configure.js +173 -0
  287. package/dist/cli/commands/configure.js.map +1 -0
  288. package/dist/cli/commands/cron.d.ts +1 -0
  289. package/dist/cli/commands/cron.js +81 -0
  290. package/dist/cli/commands/cron.js.map +1 -0
  291. package/dist/cli/commands/gateway.d.ts +1 -0
  292. package/dist/cli/commands/gateway.js +91 -0
  293. package/dist/cli/commands/gateway.js.map +1 -0
  294. package/dist/cli/commands/index.d.ts +0 -0
  295. package/dist/cli/commands/index.js +2 -0
  296. package/dist/cli/commands/index.js.map +1 -0
  297. package/dist/cli/commands/models.d.ts +1 -0
  298. package/dist/cli/commands/models.js +79 -0
  299. package/dist/cli/commands/models.js.map +1 -0
  300. package/dist/cli/commands/onboard.d.ts +1 -0
  301. package/dist/cli/commands/onboard.js +621 -0
  302. package/dist/cli/commands/onboard.js.map +1 -0
  303. package/dist/cli/commands/plugin.d.ts +1 -0
  304. package/dist/cli/commands/plugin.js +341 -0
  305. package/dist/cli/commands/plugin.js.map +1 -0
  306. package/dist/cli/commands/session.d.ts +1 -0
  307. package/dist/cli/commands/session.js +450 -0
  308. package/dist/cli/commands/session.js.map +1 -0
  309. package/dist/cli/commands/skills-test.d.ts +9 -0
  310. package/dist/cli/commands/skills-test.js +195 -0
  311. package/dist/cli/commands/skills-test.js.map +1 -0
  312. package/dist/cli/commands/skills.d.ts +9 -0
  313. package/dist/cli/commands/skills.js +385 -0
  314. package/dist/cli/commands/skills.js.map +1 -0
  315. package/dist/cli/index.d.ts +19 -0
  316. package/dist/cli/index.js +40 -0
  317. package/dist/cli/index.js.map +1 -0
  318. package/dist/cli/registry.d.ts +43 -0
  319. package/dist/cli/registry.js +82 -0
  320. package/dist/cli/registry.js.map +1 -0
  321. package/dist/cli/templates.d.ts +19 -0
  322. package/dist/cli/templates.js +191 -0
  323. package/dist/cli/templates.js.map +1 -0
  324. package/dist/cli/utils/colors.d.ts +13 -0
  325. package/dist/cli/utils/colors.js +16 -0
  326. package/dist/cli/utils/colors.js.map +1 -0
  327. package/dist/config/__tests__/diff.test.d.ts +1 -0
  328. package/dist/config/__tests__/diff.test.js +192 -0
  329. package/dist/config/__tests__/diff.test.js.map +1 -0
  330. package/dist/config/__tests__/loader.test.d.ts +1 -0
  331. package/dist/config/__tests__/loader.test.js +356 -0
  332. package/dist/config/__tests__/loader.test.js.map +1 -0
  333. package/dist/config/__tests__/paths.test.d.ts +1 -0
  334. package/dist/config/__tests__/paths.test.js +192 -0
  335. package/dist/config/__tests__/paths.test.js.map +1 -0
  336. package/dist/config/__tests__/reload.test.d.ts +1 -0
  337. package/dist/config/__tests__/reload.test.js +374 -0
  338. package/dist/config/__tests__/reload.test.js.map +1 -0
  339. package/dist/config/__tests__/rules.test.d.ts +1 -0
  340. package/dist/config/__tests__/rules.test.js +204 -0
  341. package/dist/config/__tests__/rules.test.js.map +1 -0
  342. package/dist/config/__tests__/schema.test.d.ts +1 -0
  343. package/dist/config/__tests__/schema.test.js +672 -0
  344. package/dist/config/__tests__/schema.test.js.map +1 -0
  345. package/dist/config/diff.d.ts +7 -0
  346. package/dist/config/diff.js +46 -0
  347. package/dist/config/diff.js.map +1 -0
  348. package/dist/config/index.d.ts +6 -0
  349. package/dist/config/index.js +7 -0
  350. package/dist/config/index.js.map +1 -0
  351. package/dist/config/loader.d.ts +5 -0
  352. package/dist/config/loader.js +81 -0
  353. package/dist/config/loader.js.map +1 -0
  354. package/dist/config/paths.d.ts +35 -0
  355. package/dist/config/paths.js +79 -0
  356. package/dist/config/paths.js.map +1 -0
  357. package/dist/config/reload.d.ts +78 -0
  358. package/dist/config/reload.js +190 -0
  359. package/dist/config/reload.js.map +1 -0
  360. package/dist/config/rules.d.ts +42 -0
  361. package/dist/config/rules.js +114 -0
  362. package/dist/config/rules.js.map +1 -0
  363. package/dist/config/schema.d.ts +1340 -0
  364. package/dist/config/schema.js +611 -0
  365. package/dist/config/schema.js.map +1 -0
  366. package/dist/cron/executor.d.ts +54 -0
  367. package/dist/cron/executor.js +364 -0
  368. package/dist/cron/executor.js.map +1 -0
  369. package/dist/cron/index.d.ts +5 -0
  370. package/dist/cron/index.js +6 -0
  371. package/dist/cron/index.js.map +1 -0
  372. package/dist/cron/persistence.d.ts +61 -0
  373. package/dist/cron/persistence.js +188 -0
  374. package/dist/cron/persistence.js.map +1 -0
  375. package/dist/cron/service.d.ts +94 -0
  376. package/dist/cron/service.js +382 -0
  377. package/dist/cron/service.js.map +1 -0
  378. package/dist/cron/types.d.ts +119 -0
  379. package/dist/cron/types.js +3 -0
  380. package/dist/cron/types.js.map +1 -0
  381. package/dist/cron/validation.d.ts +144 -0
  382. package/dist/cron/validation.js +113 -0
  383. package/dist/cron/validation.js.map +1 -0
  384. package/dist/errors/__tests__/index.test.d.ts +1 -0
  385. package/dist/errors/__tests__/index.test.js +301 -0
  386. package/dist/errors/__tests__/index.test.js.map +1 -0
  387. package/dist/errors/index.d.ts +114 -0
  388. package/dist/errors/index.js +278 -0
  389. package/dist/errors/index.js.map +1 -0
  390. package/dist/gateway/hono/app.d.ts +7 -0
  391. package/dist/gateway/hono/app.js +668 -0
  392. package/dist/gateway/hono/app.js.map +1 -0
  393. package/dist/gateway/hono/index.d.ts +2 -0
  394. package/dist/gateway/hono/index.js +3 -0
  395. package/dist/gateway/hono/index.js.map +1 -0
  396. package/dist/gateway/hono/middleware/auth.d.ts +18 -0
  397. package/dist/gateway/hono/middleware/auth.js +79 -0
  398. package/dist/gateway/hono/middleware/auth.js.map +1 -0
  399. package/dist/gateway/hono/middleware/logger.d.ts +1 -0
  400. package/dist/gateway/hono/middleware/logger.js +17 -0
  401. package/dist/gateway/hono/middleware/logger.js.map +1 -0
  402. package/dist/gateway/hono/sse.d.ts +55 -0
  403. package/dist/gateway/hono/sse.js +224 -0
  404. package/dist/gateway/hono/sse.js.map +1 -0
  405. package/dist/gateway/index.d.ts +4 -0
  406. package/dist/gateway/index.js +5 -0
  407. package/dist/gateway/index.js.map +1 -0
  408. package/dist/gateway/protocol.d.ts +28 -0
  409. package/dist/gateway/protocol.js +14 -0
  410. package/dist/gateway/protocol.js.map +1 -0
  411. package/dist/gateway/server.d.ts +19 -0
  412. package/dist/gateway/server.js +64 -0
  413. package/dist/gateway/server.js.map +1 -0
  414. package/dist/gateway/service.d.ts +265 -0
  415. package/dist/gateway/service.js +621 -0
  416. package/dist/gateway/service.js.map +1 -0
  417. package/dist/gateway/static/root/assets/main-CfIxL-cL.js +2105 -0
  418. package/dist/gateway/static/root/assets/main-CfIxL-cL.js.map +1 -0
  419. package/dist/gateway/static/root/assets/main-DndcTCgX.css +1 -0
  420. package/dist/gateway/static/root/index.html +116 -0
  421. package/dist/heartbeat/index.d.ts +1 -0
  422. package/dist/heartbeat/index.js +2 -0
  423. package/dist/heartbeat/index.js.map +1 -0
  424. package/dist/heartbeat/service.d.ts +19 -0
  425. package/dist/heartbeat/service.js +61 -0
  426. package/dist/heartbeat/service.js.map +1 -0
  427. package/dist/plugin-sdk/index.d.ts +21 -0
  428. package/dist/plugin-sdk/index.js +12 -0
  429. package/dist/plugin-sdk/index.js.map +1 -0
  430. package/dist/plugins/__tests__/api.test.d.ts +1 -0
  431. package/dist/plugins/__tests__/api.test.js +164 -0
  432. package/dist/plugins/__tests__/api.test.js.map +1 -0
  433. package/dist/plugins/__tests__/hooks.test.d.ts +1 -0
  434. package/dist/plugins/__tests__/hooks.test.js +159 -0
  435. package/dist/plugins/__tests__/hooks.test.js.map +1 -0
  436. package/dist/plugins/__tests__/loader.test.d.ts +1 -0
  437. package/dist/plugins/__tests__/loader.test.js +120 -0
  438. package/dist/plugins/__tests__/loader.test.js.map +1 -0
  439. package/dist/plugins/api.d.ts +41 -0
  440. package/dist/plugins/api.js +131 -0
  441. package/dist/plugins/api.js.map +1 -0
  442. package/dist/plugins/hooks.d.ts +153 -0
  443. package/dist/plugins/hooks.js +172 -0
  444. package/dist/plugins/hooks.js.map +1 -0
  445. package/dist/plugins/index.d.ts +11 -0
  446. package/dist/plugins/index.js +16 -0
  447. package/dist/plugins/index.js.map +1 -0
  448. package/dist/plugins/install.d.ts +59 -0
  449. package/dist/plugins/install.js +324 -0
  450. package/dist/plugins/install.js.map +1 -0
  451. package/dist/plugins/loader.d.ts +84 -0
  452. package/dist/plugins/loader.js +545 -0
  453. package/dist/plugins/loader.js.map +1 -0
  454. package/dist/plugins/types.d.ts +190 -0
  455. package/dist/plugins/types.js +7 -0
  456. package/dist/plugins/types.js.map +1 -0
  457. package/dist/providers/__tests__/registry.test.d.ts +1 -0
  458. package/dist/providers/__tests__/registry.test.js +110 -0
  459. package/dist/providers/__tests__/registry.test.js.map +1 -0
  460. package/dist/providers/api-strategies.d.ts +15 -0
  461. package/dist/providers/api-strategies.js +96 -0
  462. package/dist/providers/api-strategies.js.map +1 -0
  463. package/dist/providers/auto-discovery.d.ts +84 -0
  464. package/dist/providers/auto-discovery.js +236 -0
  465. package/dist/providers/auto-discovery.js.map +1 -0
  466. package/dist/providers/config.d.ts +25 -0
  467. package/dist/providers/config.js +42 -0
  468. package/dist/providers/config.js.map +1 -0
  469. package/dist/providers/index.d.ts +25 -0
  470. package/dist/providers/index.js +55 -0
  471. package/dist/providers/index.js.map +1 -0
  472. package/dist/providers/model-catalog.d.ts +205 -0
  473. package/dist/providers/model-catalog.js +1071 -0
  474. package/dist/providers/model-catalog.js.map +1 -0
  475. package/dist/providers/models-dev-data.d.ts +11 -0
  476. package/dist/providers/models-dev-data.js +1035 -0
  477. package/dist/providers/models-dev-data.js.map +1 -0
  478. package/dist/providers/models-dev.d.ts +30 -0
  479. package/dist/providers/models-dev.js +42 -0
  480. package/dist/providers/models-dev.js.map +1 -0
  481. package/dist/providers/pi-ai.d.ts +62 -0
  482. package/dist/providers/pi-ai.js +221 -0
  483. package/dist/providers/pi-ai.js.map +1 -0
  484. package/dist/providers/provider-catalog.d.ts +173 -0
  485. package/dist/providers/provider-catalog.js +834 -0
  486. package/dist/providers/provider-catalog.js.map +1 -0
  487. package/dist/providers/registry.d.ts +155 -0
  488. package/dist/providers/registry.js +524 -0
  489. package/dist/providers/registry.js.map +1 -0
  490. package/dist/providers/types.d.ts +95 -0
  491. package/dist/providers/types.js +7 -0
  492. package/dist/providers/types.js.map +1 -0
  493. package/dist/session/chat-manager.d.ts +49 -0
  494. package/dist/session/chat-manager.js +167 -0
  495. package/dist/session/chat-manager.js.map +1 -0
  496. package/dist/session/chat-types.d.ts +53 -0
  497. package/dist/session/chat-types.js +63 -0
  498. package/dist/session/chat-types.js.map +1 -0
  499. package/dist/session/index.d.ts +5 -0
  500. package/dist/session/index.js +5 -0
  501. package/dist/session/index.js.map +1 -0
  502. package/dist/session/manager.d.ts +103 -0
  503. package/dist/session/manager.js +200 -0
  504. package/dist/session/manager.js.map +1 -0
  505. package/dist/session/store.d.ts +114 -0
  506. package/dist/session/store.js +687 -0
  507. package/dist/session/store.js.map +1 -0
  508. package/dist/session/types.d.ts +88 -0
  509. package/dist/session/types.js +10 -0
  510. package/dist/session/types.js.map +1 -0
  511. package/dist/types/index.d.ts +177 -0
  512. package/dist/types/index.js +4 -0
  513. package/dist/types/index.js.map +1 -0
  514. package/dist/types/providers.d.ts +67 -0
  515. package/dist/types/providers.js +7 -0
  516. package/dist/types/providers.js.map +1 -0
  517. package/dist/utils/frontmatter.d.ts +17 -0
  518. package/dist/utils/frontmatter.js +104 -0
  519. package/dist/utils/frontmatter.js.map +1 -0
  520. package/dist/utils/helpers.d.ts +5 -0
  521. package/dist/utils/helpers.js +36 -0
  522. package/dist/utils/helpers.js.map +1 -0
  523. package/dist/utils/index.d.ts +2 -0
  524. package/dist/utils/index.js +3 -0
  525. package/dist/utils/index.js.map +1 -0
  526. package/dist/utils/log-store.d.ts +78 -0
  527. package/dist/utils/log-store.js +432 -0
  528. package/dist/utils/log-store.js.map +1 -0
  529. package/dist/utils/logger.d.ts +127 -0
  530. package/dist/utils/logger.js +481 -0
  531. package/dist/utils/logger.js.map +1 -0
  532. package/dist/utils/logger.types.d.ts +152 -0
  533. package/dist/utils/logger.types.js +30 -0
  534. package/dist/utils/logger.types.js.map +1 -0
  535. package/package.json +93 -0
@@ -0,0 +1,611 @@
1
+ import { z } from 'zod';
2
+ import { homedir } from 'os';
3
+ // ============================================
4
+ // Provider Configuration (camelCase)
5
+ // ============================================
6
+ // Model cost schema
7
+ export const ModelCostSchema = z.object({
8
+ input: z.number().default(0),
9
+ output: z.number().default(0),
10
+ cacheRead: z.number().default(0),
11
+ cacheWrite: z.number().default(0),
12
+ });
13
+ // Detailed model metadata schema
14
+ export const ModelMetadataSchema = z.object({
15
+ id: z.string(),
16
+ name: z.string(),
17
+ reasoning: z.boolean().default(false),
18
+ input: z.array(z.enum(['text', 'image'])).default(['text']),
19
+ cost: ModelCostSchema.default({ input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }),
20
+ contextWindow: z.number().default(128000),
21
+ maxTokens: z.number().default(16384),
22
+ });
23
+ // OpenAI-compatible provider schema
24
+ export const OpenAIProviderSchema = z.object({
25
+ apiKey: z.string().default(''),
26
+ baseUrl: z.string().optional(),
27
+ api: z.enum(['openai-completions', 'anthropic-messages', 'google-generative-ai', 'github-copilot']).optional(),
28
+ models: z.union([
29
+ z.array(z.string()), // Simple string array (backward compatible)
30
+ z.array(ModelMetadataSchema), // Detailed model objects
31
+ ]).optional(),
32
+ });
33
+ // Anthropic provider schema
34
+ export const AnthropicProviderSchema = z.object({
35
+ apiKey: z.string().default(''),
36
+ models: z.array(z.string()).optional(),
37
+ });
38
+ // Ollama provider schema
39
+ export const OllamaProviderSchema = z.object({
40
+ enabled: z.boolean().default(true),
41
+ baseUrl: z.string().default('http://127.0.0.1:11434/v1'),
42
+ models: z.array(z.string()).optional(),
43
+ autoDiscovery: z.boolean().default(true),
44
+ }).strict();
45
+ // Unified providers config
46
+ export const ProvidersConfigSchema = z.object({
47
+ // OpenAI-compatible providers
48
+ openai: OpenAIProviderSchema.optional(),
49
+ qwen: OpenAIProviderSchema.optional(),
50
+ kimi: OpenAIProviderSchema.optional(),
51
+ moonshot: OpenAIProviderSchema.optional(),
52
+ minimax: OpenAIProviderSchema.optional(),
53
+ 'minimax-cn': OpenAIProviderSchema.optional(),
54
+ zhipu: OpenAIProviderSchema.optional(),
55
+ 'zhipu-cn': OpenAIProviderSchema.optional(),
56
+ deepseek: OpenAIProviderSchema.optional(),
57
+ groq: OpenAIProviderSchema.optional(),
58
+ openrouter: OpenAIProviderSchema.optional(),
59
+ xai: OpenAIProviderSchema.optional(),
60
+ bedrock: OpenAIProviderSchema.optional(),
61
+ bailian: OpenAIProviderSchema.optional(),
62
+ // Native providers
63
+ anthropic: AnthropicProviderSchema.optional(),
64
+ google: AnthropicProviderSchema.optional(),
65
+ // Local providers
66
+ ollama: OllamaProviderSchema.optional(),
67
+ }).strict().default({
68
+ openai: { apiKey: '' },
69
+ qwen: { apiKey: '' },
70
+ kimi: { apiKey: '' },
71
+ moonshot: { apiKey: '' },
72
+ minimax: { apiKey: '' },
73
+ 'minimax-cn': { apiKey: '' },
74
+ zhipu: { apiKey: '' },
75
+ 'zhipu-cn': { apiKey: '' },
76
+ deepseek: { apiKey: '' },
77
+ groq: { apiKey: '' },
78
+ openrouter: { apiKey: '' },
79
+ xai: { apiKey: '' },
80
+ bedrock: { apiKey: '' },
81
+ bailian: { apiKey: '' },
82
+ anthropic: { apiKey: '' },
83
+ google: { apiKey: '' },
84
+ ollama: {
85
+ enabled: true,
86
+ baseUrl: 'http://127.0.0.1:11434/v1',
87
+ autoDiscovery: true,
88
+ },
89
+ });
90
+ // ============================================
91
+ // Agent Configs (camelCase)
92
+ // ============================================
93
+ export const AgentDefaultsSchema = z.object({
94
+ workspace: z.string().default('~/.xopcbot/workspace'),
95
+ model: z.union([
96
+ z.string(),
97
+ z.object({
98
+ primary: z.string().optional(),
99
+ fallbacks: z.array(z.string()).optional(),
100
+ }).strict(),
101
+ ]).default('anthropic/claude-sonnet-4-5'),
102
+ maxTokens: z.number().default(8192),
103
+ temperature: z.number().default(0.7),
104
+ maxToolIterations: z.number().default(20),
105
+ compaction: z.object({
106
+ enabled: z.boolean().default(true),
107
+ mode: z.enum(['default', 'safeguard']).default('default'),
108
+ reserveTokens: z.number().default(8000),
109
+ triggerThreshold: z.number().min(0.5).max(0.95).default(0.8),
110
+ minMessagesBeforeCompact: z.number().default(10),
111
+ keepRecentMessages: z.number().default(5),
112
+ }).optional(),
113
+ pruning: z.object({
114
+ enabled: z.boolean().default(true),
115
+ maxToolResultChars: z.number().default(10000),
116
+ headKeepRatio: z.number().default(0.3),
117
+ tailKeepRatio: z.number().default(0.3),
118
+ }).optional(),
119
+ });
120
+ export const AgentsConfigSchema = z.object({
121
+ defaults: AgentDefaultsSchema.optional(),
122
+ }).default({
123
+ defaults: {
124
+ workspace: '~/.xopcbot/workspace',
125
+ model: 'anthropic/claude-sonnet-4-5',
126
+ maxTokens: 8192,
127
+ temperature: 0.7,
128
+ maxToolIterations: 20,
129
+ compaction: {
130
+ enabled: true,
131
+ mode: 'default',
132
+ reserveTokens: 8000,
133
+ triggerThreshold: 0.8,
134
+ minMessagesBeforeCompact: 10,
135
+ keepRecentMessages: 5,
136
+ },
137
+ pruning: {
138
+ enabled: true,
139
+ maxToolResultChars: 10000,
140
+ headKeepRatio: 0.3,
141
+ tailKeepRatio: 0.3,
142
+ },
143
+ },
144
+ });
145
+ // ============================================
146
+ // Channel Configs (camelCase)
147
+ // ============================================
148
+ // ============================================
149
+ // Telegram Channel Configuration
150
+ // ============================================
151
+ export const TelegramTopicConfigSchema = z.object({
152
+ topicId: z.string(),
153
+ requireMention: z.boolean().optional(),
154
+ enabled: z.boolean().optional(),
155
+ allowFrom: z.array(z.union([z.string(), z.number()])).optional(),
156
+ systemPrompt: z.string().optional(),
157
+ });
158
+ export const TelegramGroupConfigSchema = z.object({
159
+ groupId: z.string(),
160
+ requireMention: z.boolean().optional(),
161
+ enabled: z.boolean().optional(),
162
+ allowFrom: z.array(z.union([z.string(), z.number()])).optional(),
163
+ systemPrompt: z.string().optional(),
164
+ topics: z.record(z.string(), TelegramTopicConfigSchema).optional(),
165
+ });
166
+ export const TelegramAccountConfigSchema = z.object({
167
+ accountId: z.string(),
168
+ name: z.string().optional(),
169
+ enabled: z.boolean().default(true),
170
+ token: z.string().default(''),
171
+ tokenFile: z.string().optional(),
172
+ allowFrom: z.array(z.union([z.string(), z.number()])).default([]),
173
+ groupAllowFrom: z.array(z.union([z.string(), z.number()])).optional(),
174
+ dmPolicy: z.enum(['pairing', 'allowlist', 'open', 'disabled']).default('pairing'),
175
+ groupPolicy: z.enum(['open', 'disabled', 'allowlist']).default('open'),
176
+ replyToMode: z.enum(['off', 'first', 'all']).default('off'),
177
+ groups: z.record(z.string(), TelegramGroupConfigSchema).optional(),
178
+ historyLimit: z.number().default(50),
179
+ textChunkLimit: z.number().default(4000),
180
+ streamMode: z.enum(['off', 'partial', 'block']).default('partial'),
181
+ proxy: z.string().optional(),
182
+ apiRoot: z.string().optional(),
183
+ });
184
+ export const TelegramConfigSchema = z.object({
185
+ enabled: z.boolean().default(false),
186
+ // Legacy single-account config (backward compatible)
187
+ token: z.string().default(''),
188
+ allowFrom: z.array(z.union([z.string(), z.number()])).default([]),
189
+ apiRoot: z.string().optional(),
190
+ debug: z.boolean().default(false),
191
+ // Multi-account config (new)
192
+ accounts: z.record(z.string(), TelegramAccountConfigSchema).optional(),
193
+ // Default policies
194
+ dmPolicy: z.enum(['pairing', 'allowlist', 'open', 'disabled']).default('pairing'),
195
+ groupPolicy: z.enum(['open', 'disabled', 'allowlist']).default('open'),
196
+ });
197
+ export const WhatsAppConfigSchema = z.object({
198
+ enabled: z.boolean().default(false),
199
+ bridgeUrl: z.string().default('ws://localhost:3001'),
200
+ allowFrom: z.array(z.string()).default([]),
201
+ });
202
+ export const ChannelsConfigSchema = z.object({
203
+ telegram: TelegramConfigSchema.optional(),
204
+ whatsapp: WhatsAppConfigSchema.optional(),
205
+ }).default({
206
+ telegram: {
207
+ enabled: false,
208
+ token: '',
209
+ allowFrom: [],
210
+ debug: false,
211
+ dmPolicy: 'pairing',
212
+ groupPolicy: 'open',
213
+ },
214
+ whatsapp: {
215
+ enabled: false,
216
+ bridgeUrl: 'ws://localhost:3001',
217
+ allowFrom: [],
218
+ },
219
+ });
220
+ export const WebSearchConfigSchema = z.object({
221
+ apiKey: z.string(),
222
+ maxResults: z.number(),
223
+ }).default({
224
+ apiKey: '',
225
+ maxResults: 5,
226
+ });
227
+ export const WebToolsConfigSchema = z.object({
228
+ search: WebSearchConfigSchema.optional(),
229
+ });
230
+ export const ToolsConfigSchema = z.object({
231
+ web: WebToolsConfigSchema.optional(),
232
+ }).default({
233
+ web: {
234
+ search: {
235
+ apiKey: '',
236
+ maxResults: 5,
237
+ },
238
+ },
239
+ });
240
+ export const HeartbeatConfigSchema = z.object({
241
+ enabled: z.boolean(),
242
+ intervalMs: z.number(),
243
+ }).default({
244
+ enabled: true,
245
+ intervalMs: 60000,
246
+ });
247
+ export const GatewayConfigSchema = z.object({
248
+ host: z.string().optional(),
249
+ port: z.number().optional(),
250
+ heartbeat: HeartbeatConfigSchema.optional(),
251
+ maxSseConnections: z.number().optional(),
252
+ corsOrigins: z.array(z.string()).optional(),
253
+ }).default({
254
+ host: '0.0.0.0',
255
+ port: 18790,
256
+ heartbeat: {
257
+ enabled: true,
258
+ intervalMs: 60000,
259
+ },
260
+ maxSseConnections: 100,
261
+ corsOrigins: ['*'],
262
+ });
263
+ export const CronConfigSchema = z.object({
264
+ enabled: z.boolean().optional(),
265
+ maxConcurrentJobs: z.number().optional(),
266
+ defaultTimezone: z.string().optional(),
267
+ historyRetentionDays: z.number().optional(),
268
+ enableMetrics: z.boolean().optional(),
269
+ }).default({
270
+ enabled: true,
271
+ maxConcurrentJobs: 5,
272
+ defaultTimezone: 'UTC',
273
+ historyRetentionDays: 7,
274
+ enableMetrics: true,
275
+ });
276
+ // Models.dev configuration
277
+ export const ModelsDevConfigSchema = z.object({
278
+ enabled: z.boolean().default(true),
279
+ }).default({
280
+ enabled: true,
281
+ });
282
+ // ============================================
283
+ // Plugin Configs
284
+ // ============================================
285
+ /**
286
+ * Plugin configuration format:
287
+ * {
288
+ * "plugins": {
289
+ * "enabled": ["plugin-a", "plugin-b"],
290
+ * "disabled": ["plugin-c"],
291
+ * "plugin-a": { "key": "value" },
292
+ * "plugin-b": true
293
+ * }
294
+ * }
295
+ */
296
+ export const PluginsConfigSchema = z.record(z.string(), z.union([
297
+ z.boolean(),
298
+ z.array(z.string()),
299
+ z.record(z.string(), z.unknown())
300
+ ])).default({});
301
+ // ============================================
302
+ // Root Config
303
+ // ============================================
304
+ export const ConfigSchema = z.object({
305
+ agents: AgentsConfigSchema,
306
+ channels: ChannelsConfigSchema,
307
+ providers: ProvidersConfigSchema,
308
+ gateway: GatewayConfigSchema,
309
+ tools: ToolsConfigSchema,
310
+ cron: CronConfigSchema,
311
+ plugins: PluginsConfigSchema,
312
+ modelsDev: ModelsDevConfigSchema,
313
+ }).default({
314
+ agents: {
315
+ defaults: {
316
+ workspace: '~/.xopcbot/workspace',
317
+ model: 'anthropic/claude-sonnet-4-5',
318
+ maxTokens: 8192,
319
+ temperature: 0.7,
320
+ maxToolIterations: 20,
321
+ compaction: {
322
+ enabled: true,
323
+ mode: 'default',
324
+ reserveTokens: 8000,
325
+ triggerThreshold: 0.8,
326
+ minMessagesBeforeCompact: 10,
327
+ keepRecentMessages: 5,
328
+ },
329
+ pruning: {
330
+ enabled: true,
331
+ maxToolResultChars: 10000,
332
+ headKeepRatio: 0.3,
333
+ tailKeepRatio: 0.3,
334
+ },
335
+ },
336
+ },
337
+ channels: {
338
+ telegram: {
339
+ enabled: false,
340
+ token: '',
341
+ allowFrom: [],
342
+ debug: false,
343
+ dmPolicy: 'pairing',
344
+ groupPolicy: 'open',
345
+ },
346
+ whatsapp: {
347
+ enabled: false,
348
+ bridgeUrl: 'ws://localhost:3001',
349
+ allowFrom: [],
350
+ },
351
+ },
352
+ providers: {
353
+ openai: { apiKey: '' },
354
+ qwen: { apiKey: '' },
355
+ kimi: { apiKey: '' },
356
+ moonshot: { apiKey: '' },
357
+ minimax: { apiKey: '' },
358
+ 'minimax-cn': { apiKey: '' },
359
+ zhipu: { apiKey: '' },
360
+ 'zhipu-cn': { apiKey: '' },
361
+ deepseek: { apiKey: '' },
362
+ groq: { apiKey: '' },
363
+ openrouter: { apiKey: '' },
364
+ xai: { apiKey: '' },
365
+ bedrock: { apiKey: '' },
366
+ bailian: { apiKey: '' },
367
+ anthropic: { apiKey: '' },
368
+ google: { apiKey: '' },
369
+ ollama: {
370
+ enabled: true,
371
+ baseUrl: 'http://127.0.0.1:11434/v1',
372
+ autoDiscovery: true,
373
+ },
374
+ },
375
+ gateway: {
376
+ host: '0.0.0.0',
377
+ port: 18790,
378
+ heartbeat: {
379
+ enabled: true,
380
+ intervalMs: 60000,
381
+ },
382
+ maxSseConnections: 100,
383
+ corsOrigins: ['*'],
384
+ },
385
+ tools: {
386
+ web: {
387
+ search: {
388
+ apiKey: '',
389
+ maxResults: 5,
390
+ },
391
+ },
392
+ },
393
+ cron: {
394
+ enabled: true,
395
+ maxConcurrentJobs: 5,
396
+ defaultTimezone: 'UTC',
397
+ historyRetentionDays: 7,
398
+ enableMetrics: true,
399
+ },
400
+ plugins: {},
401
+ modelsDev: {
402
+ enabled: true,
403
+ },
404
+ });
405
+ const OPENAI_COMPATIBLE_PROVIDERS = {
406
+ 'openai': { baseUrl: 'https://api.openai.com/v1', envKey: ['OPENAI_API_KEY'] },
407
+ 'qwen': { baseUrl: 'https://dashscope.aliyuncs.com/compatible-mode/v1', envKey: ['QWEN_API_KEY', 'DASHSCOPE_API_KEY'] },
408
+ 'bailian': { baseUrl: 'https://coding.dashscope.aliyuncs.com/v1', envKey: ['BAILIAN_API_KEY', 'DASHSCOPE_API_KEY'] },
409
+ 'kimi': { baseUrl: 'https://api.moonshot.cn/v1', envKey: ['KIMI_API_KEY', 'MOONSHOT_API_KEY'] },
410
+ 'moonshot': { baseUrl: 'https://api.moonshot.ai/v1', envKey: ['MOONSHOT_API_KEY'] },
411
+ 'deepseek': { baseUrl: 'https://api.deepseek.com/v1', envKey: ['DEEPSEEK_API_KEY'] },
412
+ 'groq': { baseUrl: 'https://api.groq.com/openai/v1', envKey: ['GROQ_API_KEY'] },
413
+ 'openrouter': { baseUrl: 'https://openrouter.ai/api/v1', envKey: ['OPENROUTER_API_KEY'] },
414
+ 'xai': { baseUrl: 'https://api.x.ai/v1', envKey: ['XAI_API_KEY'] },
415
+ 'zhipu': { baseUrl: 'https://open.bigmodel.cn/api/paas/v4', envKey: ['ZHIPU_API_KEY'] },
416
+ 'zhipu-cn': { baseUrl: 'https://open.bigmodel.cn/api/paas/v4', envKey: ['ZHIPU_CN_API_KEY', 'ZHIPU_API_KEY'] },
417
+ 'bedrock': { baseUrl: '', envKey: ['AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY'] },
418
+ };
419
+ const ANTHROPIC_COMPATIBLE_PROVIDERS = {
420
+ 'minimax': { baseUrl: 'https://api.minimax.io/anthropic', envKey: ['MINIMAX_API_KEY'] },
421
+ 'minimax-cn': { baseUrl: 'https://api.minimaxi.com/anthropic', envKey: ['MINIMAX_CN_API_KEY', 'MINIMAX_API_KEY'] },
422
+ };
423
+ const NATIVE_PROVIDERS = {
424
+ 'anthropic': { envKey: ['ANTHROPIC_API_KEY'] },
425
+ 'google': { envKey: ['GOOGLE_API_KEY', 'GEMINI_API_KEY'] },
426
+ };
427
+ // ============================================
428
+ // Helper Functions
429
+ // ============================================
430
+ export function getApiKey(config, provider) {
431
+ const configKey = config.providers?.[provider]?.apiKey;
432
+ if (configKey)
433
+ return configKey;
434
+ if (ANTHROPIC_COMPATIBLE_PROVIDERS[provider]) {
435
+ for (const envKey of ANTHROPIC_COMPATIBLE_PROVIDERS[provider].envKey) {
436
+ if (process.env[envKey])
437
+ return process.env[envKey];
438
+ }
439
+ }
440
+ if (OPENAI_COMPATIBLE_PROVIDERS[provider]) {
441
+ for (const envKey of OPENAI_COMPATIBLE_PROVIDERS[provider].envKey) {
442
+ if (process.env[envKey])
443
+ return process.env[envKey];
444
+ }
445
+ }
446
+ if (NATIVE_PROVIDERS[provider]) {
447
+ for (const envKey of NATIVE_PROVIDERS[provider].envKey) {
448
+ if (process.env[envKey])
449
+ return process.env[envKey];
450
+ }
451
+ }
452
+ return null;
453
+ }
454
+ export function getApiBase(config, provider) {
455
+ const configBase = config.providers?.[provider]?.baseUrl;
456
+ if (configBase)
457
+ return configBase;
458
+ if (ANTHROPIC_COMPATIBLE_PROVIDERS[provider]) {
459
+ return ANTHROPIC_COMPATIBLE_PROVIDERS[provider].baseUrl;
460
+ }
461
+ if (OPENAI_COMPATIBLE_PROVIDERS[provider]) {
462
+ return OPENAI_COMPATIBLE_PROVIDERS[provider].baseUrl;
463
+ }
464
+ return null;
465
+ }
466
+ export function isOpenAICompatible(provider) {
467
+ return provider in OPENAI_COMPATIBLE_PROVIDERS;
468
+ }
469
+ export function isAnthropicCompatible(provider) {
470
+ return provider in ANTHROPIC_COMPATIBLE_PROVIDERS;
471
+ }
472
+ export function parseModelId(modelId) {
473
+ // Check for provider/model format
474
+ if (modelId.includes('/')) {
475
+ const [provider, model] = modelId.split('/');
476
+ if (provider.toLowerCase() === 'minimax-cn') {
477
+ return { provider: 'minimax-cn', model: model };
478
+ }
479
+ return { provider: provider.toLowerCase(), model: model };
480
+ }
481
+ const modelLower = modelId.toLowerCase();
482
+ const providerPrefix = modelLower.split('.')[0];
483
+ const bedrockProviders = ['anthropic', 'moonshot', 'qwen', 'minimax'];
484
+ if (bedrockProviders.includes(providerPrefix) && modelLower.includes('.')) {
485
+ return { provider: providerPrefix, model: modelId };
486
+ }
487
+ if (modelLower.startsWith('minimax-cn') || modelLower.startsWith('minimaxi')) {
488
+ return { provider: 'minimax-cn', model: modelId };
489
+ }
490
+ if (modelLower.startsWith('gpt-') || modelLower.startsWith('o1') || modelLower.startsWith('o3') || modelLower.startsWith('o4')) {
491
+ return { provider: 'openai', model: modelId };
492
+ }
493
+ if (modelLower.startsWith('claude-') || modelLower.includes('sonnet') || modelLower.includes('haiku') || modelLower.includes('opus')) {
494
+ return { provider: 'anthropic', model: modelId };
495
+ }
496
+ if (modelLower.startsWith('gemini-') || modelLower.startsWith('gemma-')) {
497
+ return { provider: 'google', model: modelId };
498
+ }
499
+ if (modelLower.startsWith('qwen') || modelLower.startsWith('qwq')) {
500
+ return { provider: 'qwen', model: modelId };
501
+ }
502
+ if (modelLower.startsWith('bailian')) {
503
+ return { provider: 'bailian', model: modelId };
504
+ }
505
+ if (modelLower.startsWith('kimi')) {
506
+ return { provider: 'kimi', model: modelId };
507
+ }
508
+ if (modelLower.startsWith('moonshot')) {
509
+ return { provider: 'moonshot', model: modelId };
510
+ }
511
+ if (modelLower.startsWith('minimax')) {
512
+ return { provider: 'minimax', model: modelId };
513
+ }
514
+ if (modelLower.startsWith('deepseek') || modelLower.startsWith('r1')) {
515
+ return { provider: 'deepseek', model: modelId };
516
+ }
517
+ if (modelLower.startsWith('glm-') || modelLower.startsWith('glm')) {
518
+ return { provider: 'zhipu', model: modelId };
519
+ }
520
+ if (modelLower.startsWith('llama') || modelLower.startsWith('mixtral') || modelLower.startsWith('gemma')) {
521
+ return { provider: 'groq', model: modelId };
522
+ }
523
+ return { provider: 'openai', model: modelId };
524
+ }
525
+ export function isProviderConfigured(config, provider) {
526
+ return !!getApiKey(config, provider);
527
+ }
528
+ export function listConfiguredProviders(config) {
529
+ const configured = [];
530
+ const allProviders = { ...OPENAI_COMPATIBLE_PROVIDERS, ...NATIVE_PROVIDERS };
531
+ for (const provider of Object.keys(allProviders)) {
532
+ if (isProviderConfigured(config, provider)) {
533
+ configured.push(provider);
534
+ }
535
+ }
536
+ return configured;
537
+ }
538
+ export function getWorkspacePath(config) {
539
+ const workspace = config.agents.defaults.workspace;
540
+ if (workspace.startsWith('~')) {
541
+ return workspace.replace('~', homedir());
542
+ }
543
+ return workspace;
544
+ }
545
+ export const BUILTIN_MODELS = [
546
+ { id: 'openai/gpt-4o', name: 'GPT-4o', provider: 'openai' },
547
+ { id: 'openai/gpt-4o-mini', name: 'GPT-4o Mini', provider: 'openai' },
548
+ { id: 'openai/gpt-4.1', name: 'GPT-4.1', provider: 'openai' },
549
+ { id: 'openai/gpt-5', name: 'GPT-5', provider: 'openai' },
550
+ { id: 'openai/o1', name: 'o1', provider: 'openai' },
551
+ { id: 'openai/o3', name: 'o3', provider: 'openai' },
552
+ { id: 'anthropic/claude-sonnet-4-5', name: 'Claude Sonnet 4.5', provider: 'anthropic' },
553
+ { id: 'anthropic/claude-haiku-4-5', name: 'Claude Haiku 4.5', provider: 'anthropic' },
554
+ { id: 'anthropic/claude-opus-4-5', name: 'Claude Opus 4.5', provider: 'anthropic' },
555
+ { id: 'google/gemini-2.5-pro', name: 'Gemini 2.5 Pro', provider: 'google' },
556
+ { id: 'google/gemini-2.5-flash', name: 'Gemini 2.5 Flash', provider: 'google' },
557
+ { id: 'qwen/qwen-plus', name: 'Qwen Plus', provider: 'qwen' },
558
+ { id: 'qwen/qwen-max', name: 'Qwen Max', provider: 'qwen' },
559
+ { id: 'qwen/qwen3-235b', name: 'Qwen3 235B', provider: 'qwen' },
560
+ { id: 'kimi/kimi-k2.5', name: 'Kimi K2.5', provider: 'kimi' },
561
+ { id: 'kimi/kimi-k2-thinking', name: 'Kimi K2 Thinking', provider: 'kimi' },
562
+ { id: 'minimax/minimax-m2.5', name: 'MiniMax M2.5', provider: 'minimax' },
563
+ { id: 'minimax/minimax-m2.1', name: 'MiniMax M2.1', provider: 'minimax' },
564
+ { id: 'minimax/minimax-m2', name: 'MiniMax M2', provider: 'minimax' },
565
+ { id: 'zhipu/glm-4', name: 'GLM-4', provider: 'zhipu' },
566
+ { id: 'zhipu/glm-4-flash', name: 'GLM-4 Flash', provider: 'zhipu' },
567
+ { id: 'zhipu/glm-4-plus', name: 'GLM-4 Plus', provider: 'zhipu' },
568
+ { id: 'zhipu/glm-4-flashx', name: 'GLM-4 FlashX', provider: 'zhipu' },
569
+ { id: 'zhipu/glm-4v-flash', name: 'GLM-4V Flash', provider: 'zhipu' },
570
+ { id: 'zhipu/glm-5', name: 'GLM-5', provider: 'zhipu' },
571
+ { id: 'zhipu/glm-5-flash', name: 'GLM-5 Flash', provider: 'zhipu' },
572
+ { id: 'deepseek/deepseek-chat', name: 'DeepSeek Chat', provider: 'deepseek' },
573
+ { id: 'deepseek/deepseek-reasoner', name: 'DeepSeek Reasoner', provider: 'deepseek' },
574
+ { id: 'groq/llama-3.3-70b', name: 'Llama 3.3 70B', provider: 'groq' },
575
+ { id: 'openrouter/openai/gpt-4o', name: 'GPT-4o (OpenRouter)', provider: 'openrouter' },
576
+ ];
577
+ export function listBuiltinModels() {
578
+ return BUILTIN_MODELS;
579
+ }
580
+ export const PROVIDER_NAMES = {
581
+ 'openai': 'OpenAI',
582
+ 'anthropic': 'Anthropic',
583
+ 'google': 'Google',
584
+ 'qwen': 'Qwen (通义千问)',
585
+ 'bailian': 'Bailian (阿里百炼)',
586
+ 'kimi': 'Kimi (月之暗面)',
587
+ 'moonshot': 'Moonshot AI',
588
+ 'minimax': 'MiniMax',
589
+ 'minimax-cn': 'MiniMax CN (国内)',
590
+ 'zhipu': 'Zhipu (智谱)',
591
+ 'zhipu-cn': 'Zhipu CN (国内)',
592
+ 'deepseek': 'DeepSeek',
593
+ 'groq': 'Groq',
594
+ 'openrouter': 'OpenRouter',
595
+ 'xai': 'xAI (Grok)',
596
+ };
597
+ export const PROVIDER_OPTIONS = [
598
+ { name: 'OpenAI (GPT-4, o1)', value: 'openai', envKey: 'OPENAI_API_KEY', models: ['gpt-4o', 'gpt-4o-mini', 'gpt-5', 'o1', 'o3'] },
599
+ { name: 'Anthropic (Claude)', value: 'anthropic', envKey: 'ANTHROPIC_API_KEY', models: ['claude-sonnet-4-5', 'claude-haiku-4-5', 'claude-opus-4-5'] },
600
+ { name: 'Google (Gemini)', value: 'google', envKey: 'GOOGLE_API_KEY', models: ['gemini-2.5-pro', 'gemini-2.5-flash'] },
601
+ { name: 'Qwen (通义千问)', value: 'qwen', envKey: 'QWEN_API_KEY', models: ['qwen-plus', 'qwen-max', 'qwen3-235b'] },
602
+ { name: 'Bailian (阿里百炼)', value: 'bailian', envKey: 'BAILIAN_API_KEY', models: ['qwen3-max-2026-01-23'] },
603
+ { name: 'Kimi (月之暗面)', value: 'kimi', envKey: 'KIMI_API_KEY', models: ['kimi-k2.5', 'kimi-k2-thinking'] },
604
+ { name: 'MiniMax (海外)', value: 'minimax', envKey: 'MINIMAX_API_KEY', models: ['minimax-m2.1', 'minimax-m2'] },
605
+ { name: 'MiniMax CN (国内)', value: 'minimax-cn', envKey: 'MINIMAX_CN_API_KEY', models: ['minimax-m2.1', 'minimax-m2'] },
606
+ { name: 'Zhipu (智谱 GLM)', value: 'zhipu', envKey: 'ZHIPU_API_KEY', models: ['glm-4', 'glm-4-flash', 'glm-4-plus', 'glm-5', 'glm-5-flash'] },
607
+ { name: 'Zhipu CN (国内)', value: 'zhipu-cn', envKey: 'ZHIPU_CN_API_KEY', models: ['glm-4', 'glm-4-flash', 'glm-4-plus', 'glm-5', 'glm-5-flash'] },
608
+ { name: 'DeepSeek', value: 'deepseek', envKey: 'DEEPSEEK_API_KEY', models: ['deepseek-chat', 'deepseek-reasoner'] },
609
+ { name: 'Groq', value: 'groq', envKey: 'GROQ_API_KEY', models: ['llama-3.3-70b'] },
610
+ ];
611
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}