tianxincode 1.0.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 (374) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +57 -0
  3. package/dist/api/api.types.d.ts +350 -0
  4. package/dist/api/api.types.d.ts.map +1 -0
  5. package/dist/api/api.types.js +12 -0
  6. package/dist/api/api.types.js.map +1 -0
  7. package/dist/api/chat.routes.d.ts +26 -0
  8. package/dist/api/chat.routes.d.ts.map +1 -0
  9. package/dist/api/chat.routes.js +275 -0
  10. package/dist/api/chat.routes.js.map +1 -0
  11. package/dist/api/config.routes.d.ts +10 -0
  12. package/dist/api/config.routes.d.ts.map +1 -0
  13. package/dist/api/config.routes.js +150 -0
  14. package/dist/api/config.routes.js.map +1 -0
  15. package/dist/api/db.routes.d.ts +12 -0
  16. package/dist/api/db.routes.d.ts.map +1 -0
  17. package/dist/api/db.routes.js +108 -0
  18. package/dist/api/db.routes.js.map +1 -0
  19. package/dist/api/files.routes.d.ts +14 -0
  20. package/dist/api/files.routes.d.ts.map +1 -0
  21. package/dist/api/files.routes.js +220 -0
  22. package/dist/api/files.routes.js.map +1 -0
  23. package/dist/api/filesystem.routes.d.ts +10 -0
  24. package/dist/api/filesystem.routes.d.ts.map +1 -0
  25. package/dist/api/filesystem.routes.js +181 -0
  26. package/dist/api/filesystem.routes.js.map +1 -0
  27. package/dist/api/index.d.ts +6 -0
  28. package/dist/api/index.d.ts.map +1 -0
  29. package/dist/api/index.js +25 -0
  30. package/dist/api/index.js.map +1 -0
  31. package/dist/api/lsp.d.ts +5 -0
  32. package/dist/api/lsp.d.ts.map +1 -0
  33. package/dist/api/lsp.js +103 -0
  34. package/dist/api/lsp.js.map +1 -0
  35. package/dist/api/projects.routes.d.ts +18 -0
  36. package/dist/api/projects.routes.d.ts.map +1 -0
  37. package/dist/api/projects.routes.js +306 -0
  38. package/dist/api/projects.routes.js.map +1 -0
  39. package/dist/api/session.routes.d.ts +18 -0
  40. package/dist/api/session.routes.d.ts.map +1 -0
  41. package/dist/api/session.routes.js +186 -0
  42. package/dist/api/session.routes.js.map +1 -0
  43. package/dist/api/skills.routes.d.ts +6 -0
  44. package/dist/api/skills.routes.d.ts.map +1 -0
  45. package/dist/api/skills.routes.js +54 -0
  46. package/dist/api/skills.routes.js.map +1 -0
  47. package/dist/cli/args.d.ts +49 -0
  48. package/dist/cli/args.d.ts.map +1 -0
  49. package/dist/cli/args.js +77 -0
  50. package/dist/cli/args.js.map +1 -0
  51. package/dist/cli/cli.types.d.ts +22 -0
  52. package/dist/cli/cli.types.d.ts.map +1 -0
  53. package/dist/cli/cli.types.js +5 -0
  54. package/dist/cli/cli.types.js.map +1 -0
  55. package/dist/cli/commands.d.ts +30 -0
  56. package/dist/cli/commands.d.ts.map +1 -0
  57. package/dist/cli/commands.js +263 -0
  58. package/dist/cli/commands.js.map +1 -0
  59. package/dist/cli/index.d.ts +7 -0
  60. package/dist/cli/index.d.ts.map +1 -0
  61. package/dist/cli/index.js +6 -0
  62. package/dist/cli/index.js.map +1 -0
  63. package/dist/components/App.d.ts +34 -0
  64. package/dist/components/App.d.ts.map +1 -0
  65. package/dist/components/App.js +639 -0
  66. package/dist/components/App.js.map +1 -0
  67. package/dist/config/index.d.ts +2 -0
  68. package/dist/config/index.d.ts.map +1 -0
  69. package/dist/config/index.js +2 -0
  70. package/dist/config/index.js.map +1 -0
  71. package/dist/config/tx.config.d.ts +31 -0
  72. package/dist/config/tx.config.d.ts.map +1 -0
  73. package/dist/config/tx.config.js +29 -0
  74. package/dist/config/tx.config.js.map +1 -0
  75. package/dist/index.d.ts +15 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +79 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/lsp/client.d.ts +55 -0
  80. package/dist/lsp/client.d.ts.map +1 -0
  81. package/dist/lsp/client.js +252 -0
  82. package/dist/lsp/client.js.map +1 -0
  83. package/dist/lsp/downloader.d.ts +17 -0
  84. package/dist/lsp/downloader.d.ts.map +1 -0
  85. package/dist/lsp/downloader.js +302 -0
  86. package/dist/lsp/downloader.js.map +1 -0
  87. package/dist/lsp/index.d.ts +13 -0
  88. package/dist/lsp/index.d.ts.map +1 -0
  89. package/dist/lsp/index.js +30 -0
  90. package/dist/lsp/index.js.map +1 -0
  91. package/dist/lsp/launch.d.ts +17 -0
  92. package/dist/lsp/launch.d.ts.map +1 -0
  93. package/dist/lsp/launch.js +69 -0
  94. package/dist/lsp/launch.js.map +1 -0
  95. package/dist/lsp/manager.d.ts +19 -0
  96. package/dist/lsp/manager.d.ts.map +1 -0
  97. package/dist/lsp/manager.js +251 -0
  98. package/dist/lsp/manager.js.map +1 -0
  99. package/dist/lsp/server.d.ts +11 -0
  100. package/dist/lsp/server.d.ts.map +1 -0
  101. package/dist/lsp/server.js +302 -0
  102. package/dist/lsp/server.js.map +1 -0
  103. package/dist/lsp/sql.d.ts +11 -0
  104. package/dist/lsp/sql.d.ts.map +1 -0
  105. package/dist/lsp/sql.js +23 -0
  106. package/dist/lsp/sql.js.map +1 -0
  107. package/dist/lsp/types.d.ts +58 -0
  108. package/dist/lsp/types.d.ts.map +1 -0
  109. package/dist/lsp/types.js +13 -0
  110. package/dist/lsp/types.js.map +1 -0
  111. package/dist/modules/ai/ai.service.d.ts +182 -0
  112. package/dist/modules/ai/ai.service.d.ts.map +1 -0
  113. package/dist/modules/ai/ai.service.js +280 -0
  114. package/dist/modules/ai/ai.service.js.map +1 -0
  115. package/dist/modules/ai/ai.types.d.ts +54 -0
  116. package/dist/modules/ai/ai.types.d.ts.map +1 -0
  117. package/dist/modules/ai/ai.types.js +2 -0
  118. package/dist/modules/ai/ai.types.js.map +1 -0
  119. package/dist/modules/ai/index.d.ts +6 -0
  120. package/dist/modules/ai/index.d.ts.map +1 -0
  121. package/dist/modules/ai/index.js +5 -0
  122. package/dist/modules/ai/index.js.map +1 -0
  123. package/dist/modules/ai/openai.provider.d.ts +138 -0
  124. package/dist/modules/ai/openai.provider.d.ts.map +1 -0
  125. package/dist/modules/ai/openai.provider.js +279 -0
  126. package/dist/modules/ai/openai.provider.js.map +1 -0
  127. package/dist/modules/ai/react/index.d.ts +5 -0
  128. package/dist/modules/ai/react/index.d.ts.map +1 -0
  129. package/dist/modules/ai/react/index.js +4 -0
  130. package/dist/modules/ai/react/index.js.map +1 -0
  131. package/dist/modules/ai/react/prompt/role.txt +51 -0
  132. package/dist/modules/ai/react/react.parser.d.ts +75 -0
  133. package/dist/modules/ai/react/react.parser.d.ts.map +1 -0
  134. package/dist/modules/ai/react/react.parser.js +278 -0
  135. package/dist/modules/ai/react/react.parser.js.map +1 -0
  136. package/dist/modules/ai/react/react.prompts.d.ts +26 -0
  137. package/dist/modules/ai/react/react.prompts.d.ts.map +1 -0
  138. package/dist/modules/ai/react/react.prompts.js +180 -0
  139. package/dist/modules/ai/react/react.prompts.js.map +1 -0
  140. package/dist/modules/ai/react/react.types.d.ts +47 -0
  141. package/dist/modules/ai/react/react.types.d.ts.map +1 -0
  142. package/dist/modules/ai/react/react.types.js +2 -0
  143. package/dist/modules/ai/react/react.types.js.map +1 -0
  144. package/dist/modules/ai/react.agent.d.ts +40 -0
  145. package/dist/modules/ai/react.agent.d.ts.map +1 -0
  146. package/dist/modules/ai/react.agent.js +136 -0
  147. package/dist/modules/ai/react.agent.js.map +1 -0
  148. package/dist/modules/ai/summarizer/index.d.ts +4 -0
  149. package/dist/modules/ai/summarizer/index.d.ts.map +1 -0
  150. package/dist/modules/ai/summarizer/index.js +3 -0
  151. package/dist/modules/ai/summarizer/index.js.map +1 -0
  152. package/dist/modules/ai/summarizer/summarizer.prompts.d.ts +15 -0
  153. package/dist/modules/ai/summarizer/summarizer.prompts.d.ts.map +1 -0
  154. package/dist/modules/ai/summarizer/summarizer.prompts.js +47 -0
  155. package/dist/modules/ai/summarizer/summarizer.prompts.js.map +1 -0
  156. package/dist/modules/ai/summarizer/summarizer.service.d.ts +24 -0
  157. package/dist/modules/ai/summarizer/summarizer.service.d.ts.map +1 -0
  158. package/dist/modules/ai/summarizer/summarizer.service.js +153 -0
  159. package/dist/modules/ai/summarizer/summarizer.service.js.map +1 -0
  160. package/dist/modules/ai/summarizer/summarizer.types.d.ts +21 -0
  161. package/dist/modules/ai/summarizer/summarizer.types.d.ts.map +1 -0
  162. package/dist/modules/ai/summarizer/summarizer.types.js +5 -0
  163. package/dist/modules/ai/summarizer/summarizer.types.js.map +1 -0
  164. package/dist/modules/config/config.service.d.ts +32 -0
  165. package/dist/modules/config/config.service.d.ts.map +1 -0
  166. package/dist/modules/config/config.service.js +163 -0
  167. package/dist/modules/config/config.service.js.map +1 -0
  168. package/dist/modules/config/config.types.d.ts +44 -0
  169. package/dist/modules/config/config.types.d.ts.map +1 -0
  170. package/dist/modules/config/config.types.js +21 -0
  171. package/dist/modules/config/config.types.js.map +1 -0
  172. package/dist/modules/config/index.d.ts +10 -0
  173. package/dist/modules/config/index.d.ts.map +1 -0
  174. package/dist/modules/config/index.js +10 -0
  175. package/dist/modules/config/index.js.map +1 -0
  176. package/dist/modules/context/context.service.d.ts +46 -0
  177. package/dist/modules/context/context.service.d.ts.map +1 -0
  178. package/dist/modules/context/context.service.js +216 -0
  179. package/dist/modules/context/context.service.js.map +1 -0
  180. package/dist/modules/context/context.types.d.ts +30 -0
  181. package/dist/modules/context/context.types.d.ts.map +1 -0
  182. package/dist/modules/context/context.types.js +5 -0
  183. package/dist/modules/context/context.types.js.map +1 -0
  184. package/dist/modules/context/index.d.ts +10 -0
  185. package/dist/modules/context/index.d.ts.map +1 -0
  186. package/dist/modules/context/index.js +10 -0
  187. package/dist/modules/context/index.js.map +1 -0
  188. package/dist/modules/db/db.service.d.ts +97 -0
  189. package/dist/modules/db/db.service.d.ts.map +1 -0
  190. package/dist/modules/db/db.service.js +387 -0
  191. package/dist/modules/db/db.service.js.map +1 -0
  192. package/dist/modules/db/db.types.d.ts +8 -0
  193. package/dist/modules/db/db.types.d.ts.map +1 -0
  194. package/dist/modules/db/db.types.js +7 -0
  195. package/dist/modules/db/db.types.js.map +1 -0
  196. package/dist/modules/db/index.d.ts +10 -0
  197. package/dist/modules/db/index.d.ts.map +1 -0
  198. package/dist/modules/db/index.js +9 -0
  199. package/dist/modules/db/index.js.map +1 -0
  200. package/dist/modules/logger/index.d.ts +2 -0
  201. package/dist/modules/logger/index.d.ts.map +1 -0
  202. package/dist/modules/logger/index.js +2 -0
  203. package/dist/modules/logger/index.js.map +1 -0
  204. package/dist/modules/logger/logger.d.ts +26 -0
  205. package/dist/modules/logger/logger.d.ts.map +1 -0
  206. package/dist/modules/logger/logger.js +57 -0
  207. package/dist/modules/logger/logger.js.map +1 -0
  208. package/dist/modules/memory/index.d.ts +9 -0
  209. package/dist/modules/memory/index.d.ts.map +1 -0
  210. package/dist/modules/memory/index.js +9 -0
  211. package/dist/modules/memory/index.js.map +1 -0
  212. package/dist/modules/memory/memory.service.d.ts +191 -0
  213. package/dist/modules/memory/memory.service.d.ts.map +1 -0
  214. package/dist/modules/memory/memory.service.js +282 -0
  215. package/dist/modules/memory/memory.service.js.map +1 -0
  216. package/dist/modules/memory/memory.types.d.ts +13 -0
  217. package/dist/modules/memory/memory.types.d.ts.map +1 -0
  218. package/dist/modules/memory/memory.types.js +5 -0
  219. package/dist/modules/memory/memory.types.js.map +1 -0
  220. package/dist/modules/session/index.d.ts +9 -0
  221. package/dist/modules/session/index.d.ts.map +1 -0
  222. package/dist/modules/session/index.js +9 -0
  223. package/dist/modules/session/index.js.map +1 -0
  224. package/dist/modules/session/session.service.d.ts +252 -0
  225. package/dist/modules/session/session.service.d.ts.map +1 -0
  226. package/dist/modules/session/session.service.js +406 -0
  227. package/dist/modules/session/session.service.js.map +1 -0
  228. package/dist/modules/session/session.types.d.ts +34 -0
  229. package/dist/modules/session/session.types.d.ts.map +1 -0
  230. package/dist/modules/session/session.types.js +5 -0
  231. package/dist/modules/session/session.types.js.map +1 -0
  232. package/dist/modules/skill/index.d.ts +8 -0
  233. package/dist/modules/skill/index.d.ts.map +1 -0
  234. package/dist/modules/skill/index.js +7 -0
  235. package/dist/modules/skill/index.js.map +1 -0
  236. package/dist/modules/skill/skill.service.d.ts +72 -0
  237. package/dist/modules/skill/skill.service.d.ts.map +1 -0
  238. package/dist/modules/skill/skill.service.js +283 -0
  239. package/dist/modules/skill/skill.service.js.map +1 -0
  240. package/dist/modules/skill/skill.tool.d.ts +19 -0
  241. package/dist/modules/skill/skill.tool.d.ts.map +1 -0
  242. package/dist/modules/skill/skill.tool.js +92 -0
  243. package/dist/modules/skill/skill.tool.js.map +1 -0
  244. package/dist/modules/skill/skill.txt +18 -0
  245. package/dist/modules/skill/skill.types.d.ts +40 -0
  246. package/dist/modules/skill/skill.types.d.ts.map +1 -0
  247. package/dist/modules/skill/skill.types.js +6 -0
  248. package/dist/modules/skill/skill.types.js.map +1 -0
  249. package/dist/modules/skill/skills.manager.d.ts +30 -0
  250. package/dist/modules/skill/skills.manager.d.ts.map +1 -0
  251. package/dist/modules/skill/skills.manager.js +182 -0
  252. package/dist/modules/skill/skills.manager.js.map +1 -0
  253. package/dist/modules/tools/builtin/bash.d.ts +3 -0
  254. package/dist/modules/tools/builtin/bash.d.ts.map +1 -0
  255. package/dist/modules/tools/builtin/bash.js +124 -0
  256. package/dist/modules/tools/builtin/bash.js.map +1 -0
  257. package/dist/modules/tools/builtin/bash.tool.d.ts +6 -0
  258. package/dist/modules/tools/builtin/bash.tool.d.ts.map +1 -0
  259. package/dist/modules/tools/builtin/bash.tool.js +52 -0
  260. package/dist/modules/tools/builtin/bash.tool.js.map +1 -0
  261. package/dist/modules/tools/builtin/bash.txt +81 -0
  262. package/dist/modules/tools/builtin/code_search.d.ts +3 -0
  263. package/dist/modules/tools/builtin/code_search.d.ts.map +1 -0
  264. package/dist/modules/tools/builtin/code_search.js +85 -0
  265. package/dist/modules/tools/builtin/code_search.js.map +1 -0
  266. package/dist/modules/tools/builtin/code_search.txt +18 -0
  267. package/dist/modules/tools/builtin/edit-file.tool.d.ts +6 -0
  268. package/dist/modules/tools/builtin/edit-file.tool.d.ts.map +1 -0
  269. package/dist/modules/tools/builtin/edit-file.tool.js +58 -0
  270. package/dist/modules/tools/builtin/edit-file.tool.js.map +1 -0
  271. package/dist/modules/tools/builtin/edit_file.d.ts +3 -0
  272. package/dist/modules/tools/builtin/edit_file.d.ts.map +1 -0
  273. package/dist/modules/tools/builtin/edit_file.js +69 -0
  274. package/dist/modules/tools/builtin/edit_file.js.map +1 -0
  275. package/dist/modules/tools/builtin/edit_file.txt +10 -0
  276. package/dist/modules/tools/builtin/glob.d.ts +3 -0
  277. package/dist/modules/tools/builtin/glob.d.ts.map +1 -0
  278. package/dist/modules/tools/builtin/glob.js +84 -0
  279. package/dist/modules/tools/builtin/glob.js.map +1 -0
  280. package/dist/modules/tools/builtin/glob.tool.d.ts +6 -0
  281. package/dist/modules/tools/builtin/glob.tool.d.ts.map +1 -0
  282. package/dist/modules/tools/builtin/glob.tool.js +81 -0
  283. package/dist/modules/tools/builtin/glob.tool.js.map +1 -0
  284. package/dist/modules/tools/builtin/glob.txt +10 -0
  285. package/dist/modules/tools/builtin/grep.d.ts +3 -0
  286. package/dist/modules/tools/builtin/grep.d.ts.map +1 -0
  287. package/dist/modules/tools/builtin/grep.js +93 -0
  288. package/dist/modules/tools/builtin/grep.js.map +1 -0
  289. package/dist/modules/tools/builtin/grep.tool.d.ts +6 -0
  290. package/dist/modules/tools/builtin/grep.tool.d.ts.map +1 -0
  291. package/dist/modules/tools/builtin/grep.tool.js +96 -0
  292. package/dist/modules/tools/builtin/grep.tool.js.map +1 -0
  293. package/dist/modules/tools/builtin/grep.txt +12 -0
  294. package/dist/modules/tools/builtin/index.d.ts +8 -0
  295. package/dist/modules/tools/builtin/index.d.ts.map +1 -0
  296. package/dist/modules/tools/builtin/index.js +88 -0
  297. package/dist/modules/tools/builtin/index.js.map +1 -0
  298. package/dist/modules/tools/builtin/lsp.d.ts +7 -0
  299. package/dist/modules/tools/builtin/lsp.d.ts.map +1 -0
  300. package/dist/modules/tools/builtin/lsp.js +125 -0
  301. package/dist/modules/tools/builtin/lsp.js.map +1 -0
  302. package/dist/modules/tools/builtin/lsp.txt +19 -0
  303. package/dist/modules/tools/builtin/memory.d.ts +3 -0
  304. package/dist/modules/tools/builtin/memory.d.ts.map +1 -0
  305. package/dist/modules/tools/builtin/memory.js +76 -0
  306. package/dist/modules/tools/builtin/memory.js.map +1 -0
  307. package/dist/modules/tools/builtin/memory.txt +36 -0
  308. package/dist/modules/tools/builtin/read-file.tool.d.ts +6 -0
  309. package/dist/modules/tools/builtin/read-file.tool.d.ts.map +1 -0
  310. package/dist/modules/tools/builtin/read-file.tool.js +46 -0
  311. package/dist/modules/tools/builtin/read-file.tool.js.map +1 -0
  312. package/dist/modules/tools/builtin/read_file.d.ts +3 -0
  313. package/dist/modules/tools/builtin/read_file.d.ts.map +1 -0
  314. package/dist/modules/tools/builtin/read_file.js +99 -0
  315. package/dist/modules/tools/builtin/read_file.js.map +1 -0
  316. package/dist/modules/tools/builtin/read_file.txt +15 -0
  317. package/dist/modules/tools/builtin/todo_read.d.ts +6 -0
  318. package/dist/modules/tools/builtin/todo_read.d.ts.map +1 -0
  319. package/dist/modules/tools/builtin/todo_read.js +24 -0
  320. package/dist/modules/tools/builtin/todo_read.js.map +1 -0
  321. package/dist/modules/tools/builtin/todo_read.txt +14 -0
  322. package/dist/modules/tools/builtin/todo_write.d.ts +6 -0
  323. package/dist/modules/tools/builtin/todo_write.d.ts.map +1 -0
  324. package/dist/modules/tools/builtin/todo_write.js +45 -0
  325. package/dist/modules/tools/builtin/todo_write.js.map +1 -0
  326. package/dist/modules/tools/builtin/todo_write.txt +46 -0
  327. package/dist/modules/tools/builtin/web_fetch.d.ts +3 -0
  328. package/dist/modules/tools/builtin/web_fetch.d.ts.map +1 -0
  329. package/dist/modules/tools/builtin/web_fetch.js +51 -0
  330. package/dist/modules/tools/builtin/web_fetch.js.map +1 -0
  331. package/dist/modules/tools/builtin/web_fetch.txt +15 -0
  332. package/dist/modules/tools/builtin/web_search.d.ts +3 -0
  333. package/dist/modules/tools/builtin/web_search.d.ts.map +1 -0
  334. package/dist/modules/tools/builtin/web_search.js +99 -0
  335. package/dist/modules/tools/builtin/web_search.js.map +1 -0
  336. package/dist/modules/tools/builtin/web_search.txt +16 -0
  337. package/dist/modules/tools/builtin/write-file.tool.d.ts +6 -0
  338. package/dist/modules/tools/builtin/write-file.tool.d.ts.map +1 -0
  339. package/dist/modules/tools/builtin/write-file.tool.js +38 -0
  340. package/dist/modules/tools/builtin/write-file.tool.js.map +1 -0
  341. package/dist/modules/tools/builtin/write_file.d.ts +3 -0
  342. package/dist/modules/tools/builtin/write_file.d.ts.map +1 -0
  343. package/dist/modules/tools/builtin/write_file.js +46 -0
  344. package/dist/modules/tools/builtin/write_file.js.map +1 -0
  345. package/dist/modules/tools/builtin/write_file.txt +9 -0
  346. package/dist/modules/tools/index.d.ts +11 -0
  347. package/dist/modules/tools/index.d.ts.map +1 -0
  348. package/dist/modules/tools/index.js +10 -0
  349. package/dist/modules/tools/index.js.map +1 -0
  350. package/dist/modules/tools/tool.service.d.ts +207 -0
  351. package/dist/modules/tools/tool.service.d.ts.map +1 -0
  352. package/dist/modules/tools/tool.service.js +331 -0
  353. package/dist/modules/tools/tool.service.js.map +1 -0
  354. package/dist/modules/tools/tool.types.d.ts +39 -0
  355. package/dist/modules/tools/tool.types.d.ts.map +1 -0
  356. package/dist/modules/tools/tool.types.js +5 -0
  357. package/dist/modules/tools/tool.types.js.map +1 -0
  358. package/dist/web/index.d.ts +10 -0
  359. package/dist/web/index.d.ts.map +1 -0
  360. package/dist/web/index.js +20 -0
  361. package/dist/web/index.js.map +1 -0
  362. package/dist/web/web.service.d.ts +95 -0
  363. package/dist/web/web.service.d.ts.map +1 -0
  364. package/dist/web/web.service.js +396 -0
  365. package/dist/web/web.service.js.map +1 -0
  366. package/package.json +57 -0
  367. package/web/dist/assets/Layout-Bb76CGAL.js +1 -0
  368. package/web/dist/assets/element-icons-B-tDfklg.woff +0 -0
  369. package/web/dist/assets/element-icons-_lZGOqcG.ttf +0 -0
  370. package/web/dist/assets/index-DQRR0ggU.js +199 -0
  371. package/web/dist/assets/index-KTH-myBB.css +1 -0
  372. package/web/dist/index.html +14 -0
  373. package/web/index.html +13 -0
  374. package/web/package.json +24 -0
@@ -0,0 +1,58 @@
1
+ /**
2
+ * LSP 类型定义
3
+ */
4
+ export interface LSPServerInfo {
5
+ id: string;
6
+ name: string;
7
+ extensions: string[];
8
+ downloadUrl?: string;
9
+ downloadType?: "npm" | "github" | "go" | "gem" | "dotnet" | "bun";
10
+ installCommand?: string[];
11
+ binaryName: string;
12
+ rootMarkers: string[];
13
+ requiresJava?: boolean;
14
+ minJavaVersion?: number;
15
+ requiresSystemBinary?: boolean;
16
+ defaultArgs?: string[];
17
+ }
18
+ export interface LSPConfig {
19
+ enabled: boolean;
20
+ autoStart: boolean;
21
+ }
22
+ export interface ServerStatus {
23
+ status: LSPServerStatus;
24
+ error?: string;
25
+ version?: number;
26
+ }
27
+ export declare enum LSPServerStatus {
28
+ Stopped = "stopped",
29
+ Running = "running",
30
+ Downloading = "downloading",
31
+ DownloadFailed = "download_failed",
32
+ NotFound = "not_found",
33
+ VersionError = "version_error"
34
+ }
35
+ export interface LSPClient {
36
+ serverId: string;
37
+ connection: any;
38
+ processes: any[];
39
+ documentUri?: string;
40
+ }
41
+ export interface LSPServerRecord {
42
+ id: string;
43
+ enabled: number;
44
+ auto_start: number;
45
+ created_at: number;
46
+ updated_at: number;
47
+ }
48
+ export interface JavaVersionCheck {
49
+ valid: boolean;
50
+ version?: number;
51
+ error?: string;
52
+ }
53
+ export interface DownloadProgress {
54
+ serverId: string;
55
+ progress: number;
56
+ message: string;
57
+ }
58
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lsp/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;IAClE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,oBAAY,eAAe;IACzB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,cAAc,oBAAoB;IAClC,QAAQ,cAAc;IACtB,YAAY,kBAAkB;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,GAAG,CAAC;IAChB,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * LSP 类型定义
3
+ */
4
+ export var LSPServerStatus;
5
+ (function (LSPServerStatus) {
6
+ LSPServerStatus["Stopped"] = "stopped";
7
+ LSPServerStatus["Running"] = "running";
8
+ LSPServerStatus["Downloading"] = "downloading";
9
+ LSPServerStatus["DownloadFailed"] = "download_failed";
10
+ LSPServerStatus["NotFound"] = "not_found";
11
+ LSPServerStatus["VersionError"] = "version_error";
12
+ })(LSPServerStatus || (LSPServerStatus = {}));
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lsp/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4BH,MAAM,CAAN,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;IACnB,8CAA2B,CAAA;IAC3B,qDAAkC,CAAA;IAClC,yCAAsB,CAAA;IACtB,iDAA8B,CAAA;AAChC,CAAC,EAPW,eAAe,KAAf,eAAe,QAO1B"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * AI 服务模块
3
+ *
4
+ * 本模块是 TXCode 的核心 AI 服务层,负责:
5
+ * 1. AI Provider 管理 - 创建和管理 OpenAI/自定义 API 提供商
6
+ * 2. 对话接口 - 提供 chat() 和 chatStream() 方法
7
+ * 3. ReAct 集成 - 通过 ReActAgent 执行工具调用循环
8
+ * 4. 上下文管理 - 加载会话历史、项目上下文
9
+ * 5. 自动压缩 - 当 Token 达到阈值时自动压缩会话历史
10
+ *
11
+ * 使用方式:
12
+ * import { aiService } from '../modules/ai/index.js';
13
+ * const result = await aiService.chatWithReAct("帮我读取文件", { sessionId: "xxx" });
14
+ */
15
+ import { ConfigService } from '../config/config.service.js';
16
+ import { ChatMessage, ChatOptions, ChatResponse } from './ai.types.js';
17
+ import { ToolService } from '../tools/tool.service.js';
18
+ import { MemoryService } from '../memory/memory.service.js';
19
+ import { ContextService } from '../context/context.service.js';
20
+ import { SkillsManager } from '../skill/skills.manager.js';
21
+ import { ReActResult } from './react/react.types.js';
22
+ /**
23
+ * AIService 构造函数配置参数
24
+ */
25
+ export interface AIServiceConfig {
26
+ /** 配置服务 (AI Provider、模型等配置) */
27
+ configService?: ConfigService;
28
+ /** 工具服务 (内置/自定义工具) */
29
+ toolService?: ToolService;
30
+ /** 技能管理器 (自定义技能) */
31
+ skillsManager?: SkillsManager;
32
+ /** ReAct Agent 最大迭代次数 */
33
+ maxToolIterations?: number;
34
+ }
35
+ /**
36
+ * AIService 类
37
+ *
38
+ * AI 服务的封装类,提供以下功能:
39
+ * - chat(): 简单的 AI 对话
40
+ * - chatStream(): 流式 AI 对话
41
+ * - chatWithReAct(): 带工具调用的 AI 对话
42
+ *
43
+ * 典型使用流程:
44
+ * 1. 用户发送消息 -> API 路由接收
45
+ * 2. API 调用 aiService.chatWithReAct()
46
+ * 3. AIService 获取会话历史,构建消息列表
47
+ * 4. 创建 ReActAgent 并执行循环
48
+ * 5. 返回结果给 API
49
+ * 6. API 返回给客户端
50
+ */
51
+ export declare class AIService {
52
+ /** 配置服务实例 */
53
+ private configService;
54
+ /** 工具服务实例 */
55
+ private toolService;
56
+ /** 会话服务实例 */
57
+ private sessionService;
58
+ /** 技能管理器实例 (可选) */
59
+ private skillsManager?;
60
+ /** AI Provider 实例 (延迟初始化) */
61
+ private provider;
62
+ /** ReAct Agent 最大迭代次数 */
63
+ private maxToolIterations;
64
+ /**
65
+ * 构造函数
66
+ *
67
+ * @param config - AIServiceConfig 配置对象
68
+ * - 如果不提供配置,使用默认服务实例
69
+ * - 允许自定义 ConfigService、ToolService、SkillsManager 等
70
+ */
71
+ constructor(config?: AIServiceConfig);
72
+ /**
73
+ * 获取 AI Provider 实例
74
+ *
75
+ * 使用延迟初始化模式:
76
+ * - 第一次调用时创建 Provider 实例
77
+ * - 后续调用直接返回缓存的实例
78
+ *
79
+ * Provider 创建流程:
80
+ * 1. 从配置服务获取默认 AI 提供商
81
+ * 2. 获取该提供商的模型列表
82
+ * 3. 找到启用的模型 (或默认使用 gpt-4)
83
+ * 4. 创建 OpenAIProvider 实例
84
+ *
85
+ * @returns {OpenAIProvider} AI Provider 实例
86
+ * @throws {Error} 如果没有配置默认 AI 提供商
87
+ */
88
+ private getProvider;
89
+ /**
90
+ * 简单的 AI 对话接口
91
+ *
92
+ * 与 chatWithReAct 的区别:
93
+ * - 不执行 ReAct 循环
94
+ * - 不支持工具调用
95
+ * - 适用于简单的问答场景
96
+ *
97
+ * @param messages - 消息数组 (包含 role 和 content)
98
+ * @param options - 可选配置 (temperature, maxTokens, model 等)
99
+ * @returns {Promise<ChatResponse>} AI 响应
100
+ */
101
+ chat(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>;
102
+ /**
103
+ * 带工具调用的 AI 对话接口 (核心方法)
104
+ *
105
+ * 这是 TXCode 最核心的方法,执行 ReAct 循环来完成任务
106
+ *
107
+ * 执行流程:
108
+ * 1. 获取/创建 AI Provider
109
+ * 2. 获取会话历史消息
110
+ * 3. 创建 ReActAgent
111
+ * 4. 执行 agent.run() 启动 ReAct 循环
112
+ * 5. 更新会话 Token 统计
113
+ * 6. 检查是否需要压缩会话 (自动摘要)
114
+ * 7. 返回结果
115
+ *
116
+ * @param userMessage - 用户输入的消息
117
+ * @param options - 配置选项
118
+ * - sessionId: 会话 ID
119
+ * - projectPath: 项目路径
120
+ * - memoryService: 记忆服务实例
121
+ * - contextService: 上下文服务实例
122
+ * - onStep: 每一步执行完的回调
123
+ * @returns {Promise<ReActResult>} ReAct 执行结果
124
+ */
125
+ chatWithReAct(userMessage: string, options?: {
126
+ sessionId?: string;
127
+ projectPath?: string;
128
+ memoryService?: MemoryService;
129
+ contextService?: ContextService;
130
+ onStep?: (step: any, iteration: number) => void;
131
+ onCompact?: (info: {
132
+ beforeTokens: number;
133
+ afterTokens: number;
134
+ }) => void;
135
+ }): Promise<ReActResult>;
136
+ /**
137
+ * 流式 AI 对话接口
138
+ *
139
+ * 使用 AsyncGenerator 实现流式响应
140
+ * 每次 yield 返回一个内容块
141
+ *
142
+ * @param messages - 消息数组
143
+ * @param options - 可选配置
144
+ * @returns {AsyncGenerator<string>} 异步生成器,逐块返回 AI 响应
145
+ */
146
+ chatStream(messages: ChatMessage[], options?: ChatOptions): AsyncGenerator<string, void, unknown>;
147
+ /**
148
+ * 设置 API 密钥
149
+ *
150
+ * 用于动态更新 AI Provider 的 API 密钥
151
+ * 调用后会重置 provider 实例
152
+ *
153
+ * @param apiKey - 新的 API 密钥
154
+ */
155
+ setApiKey(apiKey: string): void;
156
+ /**
157
+ * 设置 API 基础 URL
158
+ *
159
+ * 用于切换到不同的 AI API 端点
160
+ * 如从 OpenAI 切换到自定义兼容 API
161
+ *
162
+ * @param baseUrl - 新的 API 基础 URL
163
+ */
164
+ setBaseUrl(baseUrl: string): void;
165
+ /**
166
+ * 重置 AI Provider
167
+ *
168
+ * 将 provider 设置为 null,下次调用时会重新创建
169
+ * 用于强制刷新 Provider 配置
170
+ */
171
+ resetProvider(): void;
172
+ }
173
+ /**
174
+ * AI 服务单例实例
175
+ *
176
+ * 在整个应用中共享同一个 AIService 实例
177
+ * 使用方式:
178
+ * import { aiService } from '../modules/ai/index.js';
179
+ * const result = await aiService.chatWithReAct("问题", { sessionId: "xxx" });
180
+ */
181
+ export declare const aiService: AIService;
182
+ //# sourceMappingURL=ai.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.service.d.ts","sourceRoot":"","sources":["../../../src/modules/ai/ai.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAAyC,MAAM,6BAA6B,CAAC;AAGnG,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAc,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,WAAW,EAAqC,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,sBAAsB;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,oBAAoB;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,yBAAyB;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,SAAS;IACpB,aAAa;IACb,OAAO,CAAC,aAAa,CAAgB;IACrC,aAAa;IACb,OAAO,CAAC,WAAW,CAAc;IACjC,aAAa;IACb,OAAO,CAAC,cAAc,CAAiB;IACvC,mBAAmB;IACnB,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,6BAA6B;IAC7B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,yBAAyB;IACzB,OAAO,CAAC,iBAAiB,CAAS;IAElC;;;;;;OAMG;gBACS,MAAM,CAAC,EAAE,eAAe;IASpC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,WAAW;IAwBnB;;;;;;;;;;;OAWG;IACG,IAAI,CACR,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,YAAY,CAAC;IAKxB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;QAChD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;KAC3E,GACA,OAAO,CAAC,WAAW,CAAC;IA6GvB;;;;;;;;;OASG;IACI,UAAU,CACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,WAAgB,GACxB,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;IAMxC;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B;;;;;;;OAOG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQjC;;;;;OAKG;IACH,aAAa,IAAI,IAAI;CAGtB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,WAAkB,CAAC"}
@@ -0,0 +1,280 @@
1
+ /**
2
+ * AI 服务模块
3
+ *
4
+ * 本模块是 TXCode 的核心 AI 服务层,负责:
5
+ * 1. AI Provider 管理 - 创建和管理 OpenAI/自定义 API 提供商
6
+ * 2. 对话接口 - 提供 chat() 和 chatStream() 方法
7
+ * 3. ReAct 集成 - 通过 ReActAgent 执行工具调用循环
8
+ * 4. 上下文管理 - 加载会话历史、项目上下文
9
+ * 5. 自动压缩 - 当 Token 达到阈值时自动压缩会话历史
10
+ *
11
+ * 使用方式:
12
+ * import { aiService } from '../modules/ai/index.js';
13
+ * const result = await aiService.chatWithReAct("帮我读取文件", { sessionId: "xxx" });
14
+ */
15
+ import { configService as defaultConfigService } from '../config/config.service.js';
16
+ import { OpenAIProvider } from './openai.provider.js';
17
+ import { ReActAgent } from './react.agent.js';
18
+ import { toolService as defaultToolService } from '../tools/tool.service.js';
19
+ import { MemoryService } from '../memory/memory.service.js';
20
+ import { sessionService as defaultSessionService } from '../session/session.service.js';
21
+ import { SummarizerService } from './summarizer/index.js';
22
+ import txConfig from '../../config/tx.config.js';
23
+ /**
24
+ * AIService 类
25
+ *
26
+ * AI 服务的封装类,提供以下功能:
27
+ * - chat(): 简单的 AI 对话
28
+ * - chatStream(): 流式 AI 对话
29
+ * - chatWithReAct(): 带工具调用的 AI 对话
30
+ *
31
+ * 典型使用流程:
32
+ * 1. 用户发送消息 -> API 路由接收
33
+ * 2. API 调用 aiService.chatWithReAct()
34
+ * 3. AIService 获取会话历史,构建消息列表
35
+ * 4. 创建 ReActAgent 并执行循环
36
+ * 5. 返回结果给 API
37
+ * 6. API 返回给客户端
38
+ */
39
+ export class AIService {
40
+ /**
41
+ * 构造函数
42
+ *
43
+ * @param config - AIServiceConfig 配置对象
44
+ * - 如果不提供配置,使用默认服务实例
45
+ * - 允许自定义 ConfigService、ToolService、SkillsManager 等
46
+ */
47
+ constructor(config) {
48
+ /** AI Provider 实例 (延迟初始化) */
49
+ this.provider = null;
50
+ this.configService = config?.configService || defaultConfigService;
51
+ this.toolService = config?.toolService || defaultToolService;
52
+ this.sessionService = defaultSessionService;
53
+ this.skillsManager = config?.skillsManager;
54
+ // 从配置文件读取最大迭代次数,默认值为 txConfig.maxToolIterations
55
+ this.maxToolIterations = config?.maxToolIterations || txConfig.maxToolIterations;
56
+ }
57
+ /**
58
+ * 获取 AI Provider 实例
59
+ *
60
+ * 使用延迟初始化模式:
61
+ * - 第一次调用时创建 Provider 实例
62
+ * - 后续调用直接返回缓存的实例
63
+ *
64
+ * Provider 创建流程:
65
+ * 1. 从配置服务获取默认 AI 提供商
66
+ * 2. 获取该提供商的模型列表
67
+ * 3. 找到启用的模型 (或默认使用 gpt-4)
68
+ * 4. 创建 OpenAIProvider 实例
69
+ *
70
+ * @returns {OpenAIProvider} AI Provider 实例
71
+ * @throws {Error} 如果没有配置默认 AI 提供商
72
+ */
73
+ getProvider() {
74
+ // 延迟初始化:只有当 provider 为 null 时才创建
75
+ if (!this.provider) {
76
+ // ========== 获取默认 AI 提供商配置 ==========
77
+ const providerConfig = this.configService.getDefaultProvider();
78
+ if (!providerConfig) {
79
+ throw new Error('No default AI provider configured');
80
+ }
81
+ // ========== 获取模型列表 ==========
82
+ const models = this.configService.getModels(providerConfig.id);
83
+ // 找到启用的模型,如果没有启用任何模型则默认使用 gpt-4
84
+ const defaultModel = models.find(m => m.enabled) || { name: 'gpt-4' };
85
+ // ========== 创建 Provider 实例 ==========
86
+ this.provider = new OpenAIProvider({
87
+ apiKey: providerConfig.apiKey, // API 密钥
88
+ baseUrl: providerConfig.baseUrl, // API 基础 URL
89
+ defaultModel: defaultModel.name, // 默认模型名称
90
+ });
91
+ }
92
+ return this.provider;
93
+ }
94
+ /**
95
+ * 简单的 AI 对话接口
96
+ *
97
+ * 与 chatWithReAct 的区别:
98
+ * - 不执行 ReAct 循环
99
+ * - 不支持工具调用
100
+ * - 适用于简单的问答场景
101
+ *
102
+ * @param messages - 消息数组 (包含 role 和 content)
103
+ * @param options - 可选配置 (temperature, maxTokens, model 等)
104
+ * @returns {Promise<ChatResponse>} AI 响应
105
+ */
106
+ async chat(messages, options = {}) {
107
+ const provider = this.getProvider();
108
+ return provider.chat(messages, options);
109
+ }
110
+ /**
111
+ * 带工具调用的 AI 对话接口 (核心方法)
112
+ *
113
+ * 这是 TXCode 最核心的方法,执行 ReAct 循环来完成任务
114
+ *
115
+ * 执行流程:
116
+ * 1. 获取/创建 AI Provider
117
+ * 2. 获取会话历史消息
118
+ * 3. 创建 ReActAgent
119
+ * 4. 执行 agent.run() 启动 ReAct 循环
120
+ * 5. 更新会话 Token 统计
121
+ * 6. 检查是否需要压缩会话 (自动摘要)
122
+ * 7. 返回结果
123
+ *
124
+ * @param userMessage - 用户输入的消息
125
+ * @param options - 配置选项
126
+ * - sessionId: 会话 ID
127
+ * - projectPath: 项目路径
128
+ * - memoryService: 记忆服务实例
129
+ * - contextService: 上下文服务实例
130
+ * - onStep: 每一步执行完的回调
131
+ * @returns {Promise<ReActResult>} ReAct 执行结果
132
+ */
133
+ async chatWithReAct(userMessage, options) {
134
+ // ========== 步骤 1: 获取 AI Provider ==========
135
+ const provider = this.getProvider();
136
+ const sessionId = options?.sessionId;
137
+ // ========== 步骤 2: 获取会话历史消息 ==========
138
+ /**
139
+ * 历史消息获取逻辑:
140
+ * 1. 如果有 sessionId 和 memoryService
141
+ * 2. 获取 session 的 summaryMessageId (摘要消息 ID)
142
+ * 3. 如果有摘要消息 ID,从该消息之后获取消息
143
+ * 4. 否则获取所有 keepContext=true 的消息
144
+ * 5. 转换为 ChatMessage 格式
145
+ */
146
+ let historyMessages = [];
147
+ if (sessionId && options?.memoryService) {
148
+ const session = this.sessionService.get(sessionId);
149
+ const summaryMessageId = session?.summaryMessageId || null;
150
+ const msgs = options.memoryService.getMessagesForAI(sessionId, summaryMessageId);
151
+ historyMessages = msgs.map(m => ({
152
+ role: m.role,
153
+ content: m.content,
154
+ }));
155
+ }
156
+ // ========== 步骤 3: 创建 ReAct Agent ==========
157
+ /**
158
+ * ReActAgent 初始化参数:
159
+ * - provider: AI Provider,用于调用 AI API
160
+ * - toolService: 工具服务,用于执行工具
161
+ * - skillsManager: 技能管理器,用于加载自定义技能
162
+ * - memoryService: 记忆服务,用于保存/获取消息
163
+ * - maxIterations: 最大迭代次数,防止无限循环
164
+ * - projectPath: 项目路径,提供项目上下文
165
+ * - sessionId: 会话 ID,关联会话
166
+ */
167
+ const agent = new ReActAgent({
168
+ provider,
169
+ toolService: this.toolService,
170
+ skillsManager: this.skillsManager,
171
+ memoryService: options?.memoryService,
172
+ maxIterations: this.maxToolIterations,
173
+ projectPath: options?.projectPath,
174
+ sessionId,
175
+ });
176
+ // ========== 步骤 4: 执行 ReAct 循环 ==========
177
+ const memoryService = options?.memoryService || new MemoryService();
178
+ const summarizer = new SummarizerService(this.sessionService, memoryService, this.configService);
179
+ const wrappedOnStep = options?.onStep
180
+ ? (step, iteration, usage) => {
181
+ options.onStep?.(step, iteration);
182
+ if (sessionId && usage && usage.totalTokens > 0) {
183
+ this.sessionService.updateTokenUsage(sessionId, usage.promptTokens, usage.completionTokens);
184
+ const check = summarizer.checkNeedsCompact(sessionId);
185
+ if (check.needed) {
186
+ console.log(`[AutoCompact] ${check.reason}, triggering compaction during iteration ${iteration}...`);
187
+ summarizer.compact({ sessionId }).then(() => {
188
+ options?.onCompact?.({ beforeTokens: check.totalTokens, afterTokens: 0 });
189
+ });
190
+ }
191
+ }
192
+ }
193
+ : undefined;
194
+ const result = await agent.run(userMessage, {
195
+ onStep: wrappedOnStep,
196
+ historyMessages,
197
+ });
198
+ // ========== 步骤 5: 更新 Token 统计 ==========
199
+ // 每次对话完成后,更新会话的 Token 使用量统计
200
+ if (sessionId && result.usage) {
201
+ this.sessionService.updateTokenUsage(sessionId, result.usage.promptTokens, result.usage.completionTokens);
202
+ // ========== 步骤 6: 检查是否需要压缩会话 ==========
203
+ /**
204
+ * 自动压缩机制:
205
+ * - 当会话 Token 达到阈值时触发
206
+ * - 使用 SummarizerService 将旧消息压缩为摘要
207
+ * - 减少发送给 AI 的上下文大小
208
+ * - 降低 API 调用成本
209
+ */
210
+ const summarizer = new SummarizerService(this.sessionService, options?.memoryService || new MemoryService(), this.configService);
211
+ const check = summarizer.checkNeedsCompact(sessionId);
212
+ if (check.needed) {
213
+ console.log(`[AutoCompact] ${check.reason}, triggering compaction...`);
214
+ await summarizer.compact({ sessionId });
215
+ }
216
+ }
217
+ // ========== 步骤 7: 返回结果 ==========
218
+ return result;
219
+ }
220
+ /**
221
+ * 流式 AI 对话接口
222
+ *
223
+ * 使用 AsyncGenerator 实现流式响应
224
+ * 每次 yield 返回一个内容块
225
+ *
226
+ * @param messages - 消息数组
227
+ * @param options - 可选配置
228
+ * @returns {AsyncGenerator<string>} 异步生成器,逐块返回 AI 响应
229
+ */
230
+ async *chatStream(messages, options = {}) {
231
+ const provider = this.getProvider();
232
+ // 使用 yield* 将 provider 的生成器直接转发
233
+ yield* provider.chatStream(messages, options);
234
+ }
235
+ /**
236
+ * 设置 API 密钥
237
+ *
238
+ * 用于动态更新 AI Provider 的 API 密钥
239
+ * 调用后会重置 provider 实例
240
+ *
241
+ * @param apiKey - 新的 API 密钥
242
+ */
243
+ setApiKey(apiKey) {
244
+ this.provider = new OpenAIProvider({ apiKey });
245
+ }
246
+ /**
247
+ * 设置 API 基础 URL
248
+ *
249
+ * 用于切换到不同的 AI API 端点
250
+ * 如从 OpenAI 切换到自定义兼容 API
251
+ *
252
+ * @param baseUrl - 新的 API 基础 URL
253
+ */
254
+ setBaseUrl(baseUrl) {
255
+ const providerConfig = this.configService.getDefaultProvider();
256
+ this.provider = new OpenAIProvider({
257
+ apiKey: providerConfig?.apiKey || '',
258
+ baseUrl,
259
+ });
260
+ }
261
+ /**
262
+ * 重置 AI Provider
263
+ *
264
+ * 将 provider 设置为 null,下次调用时会重新创建
265
+ * 用于强制刷新 Provider 配置
266
+ */
267
+ resetProvider() {
268
+ this.provider = null;
269
+ }
270
+ }
271
+ /**
272
+ * AI 服务单例实例
273
+ *
274
+ * 在整个应用中共享同一个 AIService 实例
275
+ * 使用方式:
276
+ * import { aiService } from '../modules/ai/index.js';
277
+ * const result = await aiService.chatWithReAct("问题", { sessionId: "xxx" });
278
+ */
279
+ export const aiService = new AIService();
280
+ //# sourceMappingURL=ai.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.service.js","sourceRoot":"","sources":["../../../src/modules/ai/ai.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ export interface ChatMessage {
2
+ role: 'user' | 'assistant' | 'system' | 'tool';
3
+ content: string;
4
+ name?: string;
5
+ toolCallId?: string;
6
+ toolCalls?: ToolCall[];
7
+ }
8
+ export interface ToolCall {
9
+ id: string;
10
+ type: 'function';
11
+ function: {
12
+ name: string;
13
+ arguments: string;
14
+ };
15
+ }
16
+ export interface ChatOptions {
17
+ temperature?: number;
18
+ maxTokens?: number;
19
+ model?: string;
20
+ tools?: ToolDefinition[];
21
+ }
22
+ export interface ToolDefinition {
23
+ type: 'function';
24
+ function: {
25
+ name: string;
26
+ description: string;
27
+ parameters: Record<string, any>;
28
+ };
29
+ }
30
+ export interface ChatResponse {
31
+ content: string;
32
+ finishReason: 'stop' | 'length' | 'tool_calls';
33
+ toolCalls?: ToolCall[];
34
+ usage?: {
35
+ promptTokens: number;
36
+ completionTokens: number;
37
+ totalTokens: number;
38
+ };
39
+ }
40
+ export interface ReActState {
41
+ thought: string;
42
+ action: string;
43
+ actionInput: string;
44
+ observation?: string;
45
+ answer?: string;
46
+ keepContext?: boolean;
47
+ usage?: {
48
+ promptTokens: number;
49
+ completionTokens: number;
50
+ totalTokens: number;
51
+ };
52
+ }
53
+ export { ReActStep, ReActResult } from './react/react.types.js';
54
+ //# sourceMappingURL=ai.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.types.d.ts","sourceRoot":"","sources":["../../../src/modules/ai/ai.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACjC,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC/C,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ai.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.types.js","sourceRoot":"","sources":["../../../src/modules/ai/ai.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export { AIService, aiService } from './ai.service.js';
2
+ export { OpenAIProvider } from './openai.provider.js';
3
+ export { ReActAgent } from './react.agent.js';
4
+ export type { ChatMessage, ChatOptions, ChatResponse, ToolCall, ToolDefinition, ReActState, ReActStep, ReActResult, } from './ai.types.js';
5
+ export * from './react/index.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/ai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,UAAU,EACV,SAAS,EACT,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { AIService, aiService } from './ai.service.js';
2
+ export { OpenAIProvider } from './openai.provider.js';
3
+ export { ReActAgent } from './react.agent.js';
4
+ export * from './react/index.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/ai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAW9C,cAAc,kBAAkB,CAAC"}