tianxincode 1.0.11 → 1.0.13

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 (318) hide show
  1. package/dist/api/api.types.d.ts +1 -0
  2. package/dist/api/api.types.d.ts.map +1 -1
  3. package/dist/api/chat.routes.js +108 -139
  4. package/dist/api/chat.routes.js.map +1 -1
  5. package/dist/api/db.routes.js +8 -4
  6. package/dist/api/db.routes.js.map +1 -1
  7. package/dist/api/email.routes.d.ts +2 -0
  8. package/dist/api/email.routes.d.ts.map +1 -0
  9. package/dist/api/email.routes.js +78 -0
  10. package/dist/api/email.routes.js.map +1 -0
  11. package/dist/api/files.routes.js +54 -0
  12. package/dist/api/files.routes.js.map +1 -1
  13. package/dist/api/filesystem.routes.js +0 -2
  14. package/dist/api/filesystem.routes.js.map +1 -1
  15. package/dist/api/index.d.ts +1 -1
  16. package/dist/api/index.d.ts.map +1 -1
  17. package/dist/api/index.js +6 -1
  18. package/dist/api/index.js.map +1 -1
  19. package/dist/api/scheduler.routes.d.ts +2 -0
  20. package/dist/api/scheduler.routes.d.ts.map +1 -0
  21. package/dist/api/scheduler.routes.js +127 -0
  22. package/dist/api/scheduler.routes.js.map +1 -0
  23. package/dist/api/terminal.routes.d.ts +13 -0
  24. package/dist/api/terminal.routes.d.ts.map +1 -0
  25. package/dist/api/terminal.routes.js +77 -0
  26. package/dist/api/terminal.routes.js.map +1 -0
  27. package/dist/cli/commands.js +5 -1
  28. package/dist/cli/commands.js.map +1 -1
  29. package/dist/components/App.d.ts.map +1 -1
  30. package/dist/components/App.js +125 -100
  31. package/dist/components/App.js.map +1 -1
  32. package/dist/config/tx.config.d.ts +0 -1
  33. package/dist/config/tx.config.d.ts.map +1 -1
  34. package/dist/config/tx.config.js +1 -1
  35. package/dist/config/tx.config.js.map +1 -1
  36. package/dist/modules/ai/agents/chat/agent_tool.d.ts +2 -0
  37. package/dist/modules/ai/agents/chat/agent_tool.d.ts.map +1 -0
  38. package/dist/modules/ai/agents/chat/agent_tool.js +15 -0
  39. package/dist/modules/ai/agents/chat/agent_tool.js.map +1 -0
  40. package/dist/modules/ai/agents/chat/chat.agent.d.ts +32 -0
  41. package/dist/modules/ai/agents/chat/chat.agent.d.ts.map +1 -0
  42. package/dist/modules/ai/agents/chat/chat.agent.js +255 -0
  43. package/dist/modules/ai/agents/chat/chat.agent.js.map +1 -0
  44. package/dist/modules/ai/agents/chat/prompts/role.txt +31 -0
  45. package/dist/modules/ai/agents/code/agent_tool.d.ts +2 -0
  46. package/dist/modules/ai/agents/code/agent_tool.d.ts.map +1 -0
  47. package/dist/modules/ai/agents/code/agent_tool.js +17 -0
  48. package/dist/modules/ai/agents/code/agent_tool.js.map +1 -0
  49. package/dist/modules/ai/agents/code/code.agent.d.ts +32 -0
  50. package/dist/modules/ai/agents/code/code.agent.d.ts.map +1 -0
  51. package/dist/modules/ai/agents/code/code.agent.js +255 -0
  52. package/dist/modules/ai/agents/code/code.agent.js.map +1 -0
  53. package/dist/modules/ai/agents/code/prompts/role.txt +51 -0
  54. package/dist/modules/ai/agents/index.d.ts +7 -0
  55. package/dist/modules/ai/agents/index.d.ts.map +1 -0
  56. package/dist/modules/ai/agents/index.js +7 -0
  57. package/dist/modules/ai/agents/index.js.map +1 -0
  58. package/dist/modules/ai/agents/task/agent_tool.d.ts +2 -0
  59. package/dist/modules/ai/agents/task/agent_tool.d.ts.map +1 -0
  60. package/dist/modules/ai/agents/task/agent_tool.js +14 -0
  61. package/dist/modules/ai/agents/task/agent_tool.js.map +1 -0
  62. package/dist/modules/ai/agents/task/prompts/role.txt +51 -0
  63. package/dist/modules/ai/agents/task/task.agent.d.ts +31 -0
  64. package/dist/modules/ai/agents/task/task.agent.d.ts.map +1 -0
  65. package/dist/modules/ai/agents/task/task.agent.js +226 -0
  66. package/dist/modules/ai/agents/task/task.agent.js.map +1 -0
  67. package/dist/modules/ai/ai.service.d.ts +13 -18
  68. package/dist/modules/ai/ai.service.d.ts.map +1 -1
  69. package/dist/modules/ai/ai.service.js +40 -105
  70. package/dist/modules/ai/ai.service.js.map +1 -1
  71. package/dist/modules/ai/ai.types.d.ts +8 -5
  72. package/dist/modules/ai/ai.types.d.ts.map +1 -1
  73. package/dist/modules/ai/index.d.ts +1 -3
  74. package/dist/modules/ai/index.d.ts.map +1 -1
  75. package/dist/modules/ai/index.js +0 -2
  76. package/dist/modules/ai/index.js.map +1 -1
  77. package/dist/modules/ai/openai.provider.d.ts.map +1 -1
  78. package/dist/modules/ai/openai.provider.js +3 -0
  79. package/dist/modules/ai/openai.provider.js.map +1 -1
  80. package/dist/modules/ai/provider/base.d.ts +5 -0
  81. package/dist/modules/ai/provider/base.d.ts.map +1 -1
  82. package/dist/modules/ai/provider/openai/openai-agent.d.ts +8 -0
  83. package/dist/modules/ai/provider/openai/openai-agent.d.ts.map +1 -1
  84. package/dist/modules/ai/provider/openai/openai-agent.js +50 -5
  85. package/dist/modules/ai/provider/openai/openai-agent.js.map +1 -1
  86. package/dist/modules/ai/react/provider.parser.d.ts +20 -0
  87. package/dist/modules/ai/react/provider.parser.d.ts.map +1 -0
  88. package/dist/modules/ai/react/provider.parser.js +88 -0
  89. package/dist/modules/ai/react/provider.parser.js.map +1 -0
  90. package/dist/modules/ai/summarizer/summarizer.prompts.d.ts +1 -1
  91. package/dist/modules/ai/summarizer/summarizer.prompts.d.ts.map +1 -1
  92. package/dist/modules/ai/summarizer/summarizer.prompts.js +19 -19
  93. package/dist/modules/ai/summarizer/summarizer.prompts.js.map +1 -1
  94. package/dist/modules/ai/summarizer/summarizer.service.d.ts.map +1 -1
  95. package/dist/modules/ai/summarizer/summarizer.service.js +33 -7
  96. package/dist/modules/ai/summarizer/summarizer.service.js.map +1 -1
  97. package/dist/modules/ai/summarizer/summarizer.types.d.ts +1 -0
  98. package/dist/modules/ai/summarizer/summarizer.types.d.ts.map +1 -1
  99. package/dist/modules/config/config.service.d.ts +3 -0
  100. package/dist/modules/config/config.service.d.ts.map +1 -1
  101. package/dist/modules/config/config.service.js +33 -0
  102. package/dist/modules/config/config.service.js.map +1 -1
  103. package/dist/modules/db/db.service.d.ts +3 -0
  104. package/dist/modules/db/db.service.d.ts.map +1 -1
  105. package/dist/modules/db/db.service.js +79 -0
  106. package/dist/modules/db/db.service.js.map +1 -1
  107. package/dist/modules/email/email.config.repository.d.ts +14 -0
  108. package/dist/modules/email/email.config.repository.d.ts.map +1 -0
  109. package/dist/modules/email/email.config.repository.js +70 -0
  110. package/dist/modules/email/email.config.repository.js.map +1 -0
  111. package/dist/modules/email/email.service.d.ts +14 -0
  112. package/dist/modules/email/email.service.d.ts.map +1 -0
  113. package/dist/modules/email/email.service.js +54 -0
  114. package/dist/modules/email/email.service.js.map +1 -0
  115. package/dist/modules/email/email.types.d.ts +20 -0
  116. package/dist/modules/email/email.types.d.ts.map +1 -0
  117. package/dist/modules/email/email.types.js +2 -0
  118. package/dist/modules/email/email.types.js.map +1 -0
  119. package/dist/modules/email/index.d.ts +4 -0
  120. package/dist/modules/email/index.d.ts.map +1 -0
  121. package/dist/modules/email/index.js +3 -0
  122. package/dist/modules/email/index.js.map +1 -0
  123. package/dist/modules/gateway/adapters/dingtalk.adapter.d.ts +7 -0
  124. package/dist/modules/gateway/adapters/dingtalk.adapter.d.ts.map +1 -1
  125. package/dist/modules/gateway/adapters/dingtalk.adapter.js +62 -2
  126. package/dist/modules/gateway/adapters/dingtalk.adapter.js.map +1 -1
  127. package/dist/modules/gateway/gateway.service.d.ts +1 -0
  128. package/dist/modules/gateway/gateway.service.d.ts.map +1 -1
  129. package/dist/modules/gateway/gateway.service.js +61 -18
  130. package/dist/modules/gateway/gateway.service.js.map +1 -1
  131. package/dist/modules/gateway/index.d.ts +1 -1
  132. package/dist/modules/gateway/index.d.ts.map +1 -1
  133. package/dist/modules/gateway/index.js +0 -1
  134. package/dist/modules/gateway/index.js.map +1 -1
  135. package/dist/modules/scheduler/index.d.ts +4 -0
  136. package/dist/modules/scheduler/index.d.ts.map +1 -0
  137. package/dist/modules/scheduler/index.js +4 -0
  138. package/dist/modules/scheduler/index.js.map +1 -0
  139. package/dist/modules/scheduler/notify.service.d.ts +12 -0
  140. package/dist/modules/scheduler/notify.service.d.ts.map +1 -0
  141. package/dist/modules/scheduler/notify.service.js +20 -0
  142. package/dist/modules/scheduler/notify.service.js.map +1 -0
  143. package/dist/modules/scheduler/scheduler.service.d.ts +35 -0
  144. package/dist/modules/scheduler/scheduler.service.d.ts.map +1 -0
  145. package/dist/modules/scheduler/scheduler.service.js +258 -0
  146. package/dist/modules/scheduler/scheduler.service.js.map +1 -0
  147. package/dist/modules/scheduler/task-log.service.d.ts +20 -0
  148. package/dist/modules/scheduler/task-log.service.d.ts.map +1 -0
  149. package/dist/modules/scheduler/task-log.service.js +44 -0
  150. package/dist/modules/scheduler/task-log.service.js.map +1 -0
  151. package/dist/modules/terminal/index.d.ts +3 -0
  152. package/dist/modules/terminal/index.d.ts.map +1 -0
  153. package/dist/modules/terminal/index.js +2 -0
  154. package/dist/modules/terminal/index.js.map +1 -0
  155. package/dist/modules/terminal/terminal.service.d.ts +48 -0
  156. package/dist/modules/terminal/terminal.service.d.ts.map +1 -0
  157. package/dist/modules/terminal/terminal.service.js +284 -0
  158. package/dist/modules/terminal/terminal.service.js.map +1 -0
  159. package/dist/modules/tools/index.d.ts +0 -1
  160. package/dist/modules/tools/index.d.ts.map +1 -1
  161. package/dist/modules/tools/index.js +0 -1
  162. package/dist/modules/tools/index.js.map +1 -1
  163. package/dist/modules/tools/provider/email.tool.d.ts +3 -0
  164. package/dist/modules/tools/provider/email.tool.d.ts.map +1 -0
  165. package/dist/modules/tools/provider/email.tool.js +50 -0
  166. package/dist/modules/tools/provider/email.tool.js.map +1 -0
  167. package/dist/modules/tools/provider/index.d.ts.map +1 -1
  168. package/dist/modules/tools/provider/index.js +2 -0
  169. package/dist/modules/tools/provider/index.js.map +1 -1
  170. package/dist/modules/tools/tool.service.d.ts +1 -1
  171. package/dist/modules/tools/tool.service.js +4 -4
  172. package/dist/modules/tools/tool.service.js.map +1 -1
  173. package/dist/repository/aiLog.repository.d.ts +17 -0
  174. package/dist/repository/aiLog.repository.d.ts.map +1 -0
  175. package/dist/repository/aiLog.repository.js +39 -0
  176. package/dist/repository/aiLog.repository.js.map +1 -0
  177. package/dist/repository/base.repository.d.ts +6 -0
  178. package/dist/repository/base.repository.d.ts.map +1 -0
  179. package/dist/repository/base.repository.js +14 -0
  180. package/dist/repository/base.repository.js.map +1 -0
  181. package/dist/repository/index.d.ts +5 -0
  182. package/dist/repository/index.d.ts.map +1 -0
  183. package/dist/repository/index.js +5 -0
  184. package/dist/repository/index.js.map +1 -0
  185. package/dist/repository/message.repository.d.ts +9 -0
  186. package/dist/repository/message.repository.d.ts.map +1 -0
  187. package/dist/repository/message.repository.js +35 -0
  188. package/dist/repository/message.repository.js.map +1 -0
  189. package/dist/repository/session.repository.d.ts +15 -0
  190. package/dist/repository/session.repository.d.ts.map +1 -0
  191. package/dist/repository/session.repository.js +33 -0
  192. package/dist/repository/session.repository.js.map +1 -0
  193. package/dist/services/codeChat/codeChat.service.d.ts +7 -0
  194. package/dist/services/codeChat/codeChat.service.d.ts.map +1 -0
  195. package/dist/services/codeChat/codeChat.service.js +53 -0
  196. package/dist/services/codeChat/codeChat.service.js.map +1 -0
  197. package/dist/services/codeChat/codeChat.types.d.ts +47 -0
  198. package/dist/services/codeChat/codeChat.types.d.ts.map +1 -0
  199. package/dist/services/codeChat/codeChat.types.js +2 -0
  200. package/dist/services/codeChat/codeChat.types.js.map +1 -0
  201. package/dist/services/codeChat/index.d.ts +5 -0
  202. package/dist/services/codeChat/index.d.ts.map +1 -0
  203. package/dist/services/codeChat/index.js +4 -0
  204. package/dist/services/codeChat/index.js.map +1 -0
  205. package/dist/services/commandChat/commandChat.service.d.ts +15 -0
  206. package/dist/services/commandChat/commandChat.service.d.ts.map +1 -0
  207. package/dist/services/commandChat/commandChat.service.js +18 -0
  208. package/dist/services/commandChat/commandChat.service.js.map +1 -0
  209. package/dist/services/commandChat/index.d.ts +3 -0
  210. package/dist/services/commandChat/index.d.ts.map +1 -0
  211. package/dist/services/commandChat/index.js +2 -0
  212. package/dist/services/commandChat/index.js.map +1 -0
  213. package/dist/web/web.service.d.ts +1 -0
  214. package/dist/web/web.service.d.ts.map +1 -1
  215. package/dist/web/web.service.js +107 -54
  216. package/dist/web/web.service.js.map +1 -1
  217. package/package.json +7 -2
  218. package/test-email.ts +95 -0
  219. package/web/dist/assets/{AiLogsView-2O9Szm8G.js → AiLogsView-D_SQ6qo4.js} +1 -1
  220. package/web/dist/assets/DevWorkflowView-C5VnPngb.css +1 -0
  221. package/web/dist/assets/DevWorkflowView-iHAv9LC0.js +16 -0
  222. package/web/dist/assets/Layout-CQhbIJxB.js +1 -0
  223. package/web/dist/assets/TasksView-B9B2H3-S.js +1 -0
  224. package/web/dist/assets/TerminalView-BKhdi5UF.js +24 -0
  225. package/web/dist/assets/TerminalView-BU5wZZv4.css +32 -0
  226. package/web/dist/assets/abap-BrgZPUOV.js +6 -0
  227. package/web/dist/assets/apex-DyP6w7ZV.js +6 -0
  228. package/web/dist/assets/azcli-BaLxmfj-.js +6 -0
  229. package/web/dist/assets/bat-CFOPXBzS.js +6 -0
  230. package/web/dist/assets/bicep-BfEKNvv3.js +7 -0
  231. package/web/dist/assets/cameligo-BFG1Mk7z.js +6 -0
  232. package/web/dist/assets/clojure-DTECt2xU.js +6 -0
  233. package/web/dist/assets/codicon-DCmgc-ay.ttf +0 -0
  234. package/web/dist/assets/coffee-CDGzqUPQ.js +6 -0
  235. package/web/dist/assets/cpp-CLLBncYj.js +6 -0
  236. package/web/dist/assets/csharp-dUCx_-0o.js +6 -0
  237. package/web/dist/assets/csp-5Rap-vPy.js +6 -0
  238. package/web/dist/assets/css-D3h14YRZ.js +8 -0
  239. package/web/dist/assets/cssMode-C_gwipb0.js +9 -0
  240. package/web/dist/assets/cypher-DrQuvNYM.js +6 -0
  241. package/web/dist/assets/dart-CFKIUWau.js +6 -0
  242. package/web/dist/assets/dockerfile-Zznr-cwX.js +6 -0
  243. package/web/dist/assets/ecl-Ce3n6wWz.js +6 -0
  244. package/web/dist/assets/elixir-deUWdS0T.js +6 -0
  245. package/web/dist/assets/flow9-i9-g7ZhI.js +6 -0
  246. package/web/dist/assets/freemarker2-WCA_pR0J.js +8 -0
  247. package/web/dist/assets/fsharp-CzKuDChf.js +6 -0
  248. package/web/dist/assets/go-Cphgjts3.js +6 -0
  249. package/web/dist/assets/graphql-Cg7bfA9N.js +6 -0
  250. package/web/dist/assets/handlebars-fzVGzXHj.js +6 -0
  251. package/web/dist/assets/hcl-0cvrggvQ.js +6 -0
  252. package/web/dist/assets/html-C4Rga6DD.js +6 -0
  253. package/web/dist/assets/htmlMode-BvrJ57rW.js +9 -0
  254. package/web/dist/assets/index-9RP8PAfk.js +949 -0
  255. package/web/dist/assets/{index-37FqBzBn.css → index-BhjlwJCp.css} +1 -1
  256. package/web/dist/assets/ini-Drc7WvVn.js +6 -0
  257. package/web/dist/assets/java-B_fMsGYe.js +6 -0
  258. package/web/dist/assets/javascript-cXKyuP98.js +6 -0
  259. package/web/dist/assets/jsonMode-Q4CMzwiX.js +15 -0
  260. package/web/dist/assets/julia-Bqgm2twL.js +6 -0
  261. package/web/dist/assets/kotlin-BSkB5QuD.js +6 -0
  262. package/web/dist/assets/less-BsTHnhdd.js +7 -0
  263. package/web/dist/assets/lexon-YWi4-JPR.js +6 -0
  264. package/web/dist/assets/liquid-CrbU0gmK.js +6 -0
  265. package/web/dist/assets/lua-nf6ki56Z.js +6 -0
  266. package/web/dist/assets/m3-Cpb6xl2v.js +6 -0
  267. package/web/dist/assets/markdown-DSZPf7rp.js +6 -0
  268. package/web/dist/assets/mdx-D72Dcs66.js +6 -0
  269. package/web/dist/assets/mips-B_c3zf-v.js +6 -0
  270. package/web/dist/assets/msdax-rUNN04Wq.js +6 -0
  271. package/web/dist/assets/mysql-DDwshQtU.js +6 -0
  272. package/web/dist/assets/objective-c-B5zXfXm9.js +6 -0
  273. package/web/dist/assets/pascal-CXOwvkN_.js +6 -0
  274. package/web/dist/assets/pascaligo-Bc-ZgV77.js +6 -0
  275. package/web/dist/assets/perl-CwNk8-XU.js +6 -0
  276. package/web/dist/assets/pgsql-tGk8EFnU.js +6 -0
  277. package/web/dist/assets/php-CpIb_Oan.js +6 -0
  278. package/web/dist/assets/pla-B03wrqEc.js +6 -0
  279. package/web/dist/assets/postiats-BKlk5iyT.js +6 -0
  280. package/web/dist/assets/powerquery-Bhzvs7bI.js +6 -0
  281. package/web/dist/assets/powershell-Dd3NCNK9.js +6 -0
  282. package/web/dist/assets/protobuf-COyEY5Pt.js +7 -0
  283. package/web/dist/assets/pug-BaJupSGV.js +6 -0
  284. package/web/dist/assets/python-DPqkZ_Xm.js +6 -0
  285. package/web/dist/assets/qsharp-DXyYeYxl.js +6 -0
  286. package/web/dist/assets/r-CdQndTaG.js +6 -0
  287. package/web/dist/assets/razor-DknXaqXN.js +6 -0
  288. package/web/dist/assets/redis-CVwtpugi.js +6 -0
  289. package/web/dist/assets/redshift-25W9uPmb.js +6 -0
  290. package/web/dist/assets/restructuredtext-DfzH4Xui.js +6 -0
  291. package/web/dist/assets/ruby-Cp1zYvxS.js +6 -0
  292. package/web/dist/assets/rust-D5C2fndG.js +6 -0
  293. package/web/dist/assets/sb-CDntyWJ8.js +6 -0
  294. package/web/dist/assets/scala-BoFRg7Ot.js +6 -0
  295. package/web/dist/assets/scheme-Bio4gycK.js +6 -0
  296. package/web/dist/assets/scss-4Ik7cdeQ.js +8 -0
  297. package/web/dist/assets/shell-CX-rkNHf.js +6 -0
  298. package/web/dist/assets/solidity-Tw7wswEv.js +6 -0
  299. package/web/dist/assets/sophia-C5WLch3f.js +6 -0
  300. package/web/dist/assets/sparql-DHaeiCBh.js +6 -0
  301. package/web/dist/assets/sql-CCSDG5nI.js +6 -0
  302. package/web/dist/assets/st-pnP8ivHi.js +6 -0
  303. package/web/dist/assets/swift-DwJ7jVG9.js +8 -0
  304. package/web/dist/assets/systemverilog-B9Xyijhd.js +6 -0
  305. package/web/dist/assets/tcl-DnHyzjbg.js +6 -0
  306. package/web/dist/assets/tsMode-DZAV3Wgo.js +16 -0
  307. package/web/dist/assets/twig-CPajHgWi.js +6 -0
  308. package/web/dist/assets/typescript-DenKTmW3.js +6 -0
  309. package/web/dist/assets/typespec-D-MeaMDU.js +6 -0
  310. package/web/dist/assets/vb-DgyLZaXg.js +6 -0
  311. package/web/dist/assets/wgsl-BIv9DU6q.js +303 -0
  312. package/web/dist/assets/xml-C_uqJta0.js +6 -0
  313. package/web/dist/assets/yaml-vwb3U7d7.js +6 -0
  314. package/web/dist/index.html +2 -2
  315. package/web/package.json +5 -1
  316. package/@.txcode/req//351/241/265/351/235/242/345/270/203/345/261/200/AI/346/234/215/345/212/241/345/225/206/345/222/214/346/250/241/345/236/213/351/205/215/347/275/256.html +0 -241
  317. package/web/dist/assets/Layout-C3GGWAI1.js +0 -1
  318. package/web/dist/assets/index-LvJQilK_.js +0 -199
@@ -0,0 +1,35 @@
1
+ import { BaseRepository } from './base.repository.js';
2
+ export class MessageRepository extends BaseRepository {
3
+ async save(sessionId, role, content) {
4
+ const sql = `
5
+ INSERT INTO messages (session_id, role, content, created_at)
6
+ VALUES (?, ?, ?, datetime('now'))
7
+ `;
8
+ await this.execute(sql, [sessionId, role, content]);
9
+ }
10
+ async getHistory(sessionId, limit = 100) {
11
+ const sql = `
12
+ SELECT id, session_id, role, content, created_at
13
+ FROM messages
14
+ WHERE session_id = ?
15
+ ORDER BY created_at DESC
16
+ LIMIT ?
17
+ `;
18
+ return this.query(sql, [sessionId, limit]);
19
+ }
20
+ async getBySessionId(sessionId) {
21
+ const sql = `
22
+ SELECT id, session_id, role, content, created_at
23
+ FROM messages
24
+ WHERE session_id = ?
25
+ ORDER BY created_at ASC
26
+ `;
27
+ return this.query(sql, [sessionId]);
28
+ }
29
+ async deleteBySessionId(sessionId) {
30
+ const sql = `DELETE FROM messages WHERE session_id = ?`;
31
+ await this.execute(sql, [sessionId]);
32
+ }
33
+ }
34
+ export const messageRepository = new MessageRepository();
35
+ //# sourceMappingURL=message.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.repository.js","sourceRoot":"","sources":["../../src/repository/message.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,OAAO,iBAAkB,SAAQ,cAAc;IAEnD,KAAK,CAAC,IAAI,CAAC,SAAiB,EAAE,IAAY,EAAE,OAAe;QACzD,MAAM,GAAG,GAAG;;;KAGX,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,KAAK,GAAG,GAAG;QAC7C,MAAM,GAAG,GAAG;;;;;;KAMX,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,MAAM,GAAG,GAAG;;;;;KAKX,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACvC,MAAM,GAAG,GAAG,2CAA2C,CAAC;QACxD,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACvC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { BaseRepository } from './base.repository.js';
2
+ export declare class SessionRepository extends BaseRepository {
3
+ save(session: {
4
+ id: string;
5
+ name: string;
6
+ projectPath?: string;
7
+ created_at?: string;
8
+ }): Promise<void>;
9
+ getById(id: string): Promise<any | null>;
10
+ getAll(): Promise<any[]>;
11
+ delete(id: string): Promise<void>;
12
+ updateUpdatedAt(id: string): Promise<void>;
13
+ }
14
+ export declare const sessionRepository: SessionRepository;
15
+ //# sourceMappingURL=session.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.repository.d.ts","sourceRoot":"","sources":["../../src/repository/session.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,qBAAa,iBAAkB,SAAQ,cAAc;IAE7C,IAAI,CAAC,OAAO,EAAE;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,IAAI,CAAC;IAaX,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAKxC,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAKxB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjC,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIjD;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { BaseRepository } from './base.repository.js';
2
+ export class SessionRepository extends BaseRepository {
3
+ async save(session) {
4
+ const sql = `
5
+ INSERT OR REPLACE INTO sessions (id, name, project_path, created_at, updated_at)
6
+ VALUES (?, ?, ?, ?, datetime('now'))
7
+ `;
8
+ await this.execute(sql, [
9
+ session.id,
10
+ session.name,
11
+ session.projectPath || null,
12
+ session.created_at || new Date().toISOString()
13
+ ]);
14
+ }
15
+ async getById(id) {
16
+ const sql = `SELECT * FROM sessions WHERE id = ?`;
17
+ return this.queryOne(sql, [id]);
18
+ }
19
+ async getAll() {
20
+ const sql = `SELECT * FROM sessions ORDER BY updated_at DESC`;
21
+ return this.query(sql);
22
+ }
23
+ async delete(id) {
24
+ const sql = `DELETE FROM sessions WHERE id = ?`;
25
+ await this.execute(sql, [id]);
26
+ }
27
+ async updateUpdatedAt(id) {
28
+ const sql = `UPDATE sessions SET updated_at = datetime('now') WHERE id = ?`;
29
+ await this.execute(sql, [id]);
30
+ }
31
+ }
32
+ export const sessionRepository = new SessionRepository();
33
+ //# sourceMappingURL=session.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.repository.js","sourceRoot":"","sources":["../../src/repository/session.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,OAAO,iBAAkB,SAAQ,cAAc;IAEnD,KAAK,CAAC,IAAI,CAAC,OAKV;QACC,MAAM,GAAG,GAAG;;;KAGX,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YACtB,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,IAAI;YACZ,OAAO,CAAC,WAAW,IAAI,IAAI;YAC3B,OAAO,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,GAAG,GAAG,qCAAqC,CAAC;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,GAAG,GAAG,iDAAiD,CAAC;QAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,GAAG,GAAG,mCAAmC,CAAC;QAChD,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU;QAC9B,MAAM,GAAG,GAAG,+DAA+D,CAAC;QAC5E,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ChatInput, ChatResult } from './codeChat.types.js';
2
+ export declare class CodeChatService {
3
+ handleChat(input: ChatInput): Promise<ChatResult>;
4
+ private getOrCreateSession;
5
+ private chatWithAI;
6
+ }
7
+ //# sourceMappingURL=codeChat.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeChat.service.d.ts","sourceRoot":"","sources":["../../../src/services/codeChat/codeChat.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAe,UAAU,EAAQ,MAAM,qBAAqB,CAAC;AAG/E,qBAAa,eAAe;IAEpB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAavD,OAAO,CAAC,kBAAkB;YASZ,UAAU;CA8BzB"}
@@ -0,0 +1,53 @@
1
+ import { aiService } from '../../modules/ai/ai.service.js';
2
+ import { sessionService } from '../../modules/session/session.service.js';
3
+ import { memoryService } from '../../modules/memory/index.js';
4
+ export class CodeChatService {
5
+ async handleChat(input) {
6
+ const session = this.getOrCreateSession(input);
7
+ return this.chatWithAI(input.message, {
8
+ sessionId: session.id,
9
+ projectPath: session.projectPath ?? undefined,
10
+ abortSignal: input.abortSignal,
11
+ modelName: input.modelName,
12
+ onStep: input.onStep,
13
+ onCompact: input.onCompact,
14
+ });
15
+ }
16
+ getOrCreateSession(input) {
17
+ let session = input.sessionId ? sessionService.get(input.sessionId) : null;
18
+ if (!session) {
19
+ session = sessionService.create('New Chat', input.projectPath || undefined);
20
+ }
21
+ sessionService.switchTo(session.id);
22
+ return session;
23
+ }
24
+ async chatWithAI(message, options) {
25
+ const reactSteps = [];
26
+ const result = await aiService.chatWithTools(message, {
27
+ sessionId: options.sessionId,
28
+ projectPath: options.projectPath,
29
+ abortSignal: options.abortSignal,
30
+ modelName: options.modelName,
31
+ memoryService,
32
+ onStep: (step, iteration, usage) => {
33
+ const reactFormatStep = {
34
+ thought: step.thought || step.reasoning || '',
35
+ toolCalls: step.toolCalls || [],
36
+ success: step.success ?? true,
37
+ };
38
+ reactSteps.push({ iteration, ...reactFormatStep });
39
+ options.onStep?.(reactFormatStep, iteration, usage);
40
+ },
41
+ onCompact: options.onCompact,
42
+ });
43
+ return {
44
+ answer: result.answer || '',
45
+ iterations: result.iterations || 0,
46
+ success: result.success,
47
+ usage: result.usage,
48
+ reactSteps,
49
+ sessionId: options.sessionId,
50
+ };
51
+ }
52
+ }
53
+ //# sourceMappingURL=codeChat.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeChat.service.js","sourceRoot":"","sources":["../../../src/services/codeChat/codeChat.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAI9D,MAAM,OAAO,eAAe;IAE1B,KAAK,CAAC,UAAU,CAAC,KAAgB;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE;YACpC,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,SAAS;YAC7C,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,KAAgB;QACzC,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC;QAC9E,CAAC;QACD,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpC,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,OAAoB;QAC5D,MAAM,UAAU,GAAU,EAAE,CAAC;QAE7B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE;YACpD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa;YACb,MAAM,EAAE,CAAC,IAAS,EAAE,SAAiB,EAAE,KAAW,EAAE,EAAE;gBACpD,MAAM,eAAe,GAAS;oBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE;oBAC7C,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;oBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;iBAC9B,CAAC;gBACF,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC;gBACnD,OAAO,CAAC,MAAM,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC;YACD,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC;YAClC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU;YACV,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,47 @@
1
+ export interface ChatInput {
2
+ message: string;
3
+ sessionId?: string;
4
+ projectPath?: string;
5
+ abortSignal?: AbortSignal;
6
+ modelName?: string;
7
+ onStep?: (step: Step, iteration: number, usage?: any) => void;
8
+ onCompact?: (info: {
9
+ beforeTokens: number;
10
+ afterTokens: number;
11
+ summary?: string;
12
+ }) => void;
13
+ }
14
+ export interface ChatOptions {
15
+ sessionId: string;
16
+ projectPath?: string;
17
+ abortSignal?: AbortSignal;
18
+ modelName?: string;
19
+ onStep?: (step: Step, iteration: number, usage?: any) => void;
20
+ onCompact?: (info: {
21
+ beforeTokens: number;
22
+ afterTokens: number;
23
+ summary?: string;
24
+ }) => void;
25
+ }
26
+ export interface ChatResult {
27
+ answer: string;
28
+ iterations: number;
29
+ success: boolean;
30
+ usage?: any;
31
+ reactSteps?: any[];
32
+ sessionId?: string;
33
+ }
34
+ export interface Step {
35
+ thought?: string;
36
+ toolCalls?: ToolCall[];
37
+ success?: boolean;
38
+ }
39
+ export interface ToolCall {
40
+ id?: string;
41
+ type?: string;
42
+ function: {
43
+ name: string;
44
+ arguments: string | Record<string, any>;
45
+ };
46
+ }
47
+ //# sourceMappingURL=codeChat.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeChat.types.d.ts","sourceRoot":"","sources":["../../../src/services/codeChat/codeChat.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9D,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC7F;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9D,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC7F;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,IAAI;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACzC,CAAC;CACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=codeChat.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeChat.types.js","sourceRoot":"","sources":["../../../src/services/codeChat/codeChat.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export type * from './codeChat.types.js';
2
+ export { CodeChatService } from './codeChat.service.js';
3
+ import { CodeChatService } from './codeChat.service.js';
4
+ export declare const codeChatService: CodeChatService;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/codeChat/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,qBAAqB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { CodeChatService } from './codeChat.service.js';
2
+ import { CodeChatService } from './codeChat.service.js';
3
+ export const codeChatService = new CodeChatService();
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/codeChat/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC"}
@@ -0,0 +1,15 @@
1
+ export interface CommandInput {
2
+ message: string;
3
+ sessionId?: string;
4
+ }
5
+ export interface CommandResult {
6
+ answer: string;
7
+ success: boolean;
8
+ sessionId?: string;
9
+ data?: any;
10
+ }
11
+ export declare class CommandChatService {
12
+ handleCommand(input: CommandInput): Promise<CommandResult>;
13
+ }
14
+ export declare const commandChatService: CommandChatService;
15
+ //# sourceMappingURL=commandChat.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandChat.service.d.ts","sourceRoot":"","sources":["../../../src/services/commandChat/commandChat.service.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,qBAAa,kBAAkB;IAEvB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;CAiBjE;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { executeCommand } from '../../cli/commands.js';
2
+ export class CommandChatService {
3
+ async handleCommand(input) {
4
+ const { message, sessionId } = input;
5
+ if (!message.trim().startsWith('/')) {
6
+ throw new Error('Not a command');
7
+ }
8
+ const cmdResult = await executeCommand(message.trim());
9
+ return {
10
+ answer: cmdResult.message || '命令已执行',
11
+ success: cmdResult.success,
12
+ sessionId,
13
+ data: cmdResult.data,
14
+ };
15
+ }
16
+ }
17
+ export const commandChatService = new CommandChatService();
18
+ //# sourceMappingURL=commandChat.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandChat.service.js","sourceRoot":"","sources":["../../../src/services/commandChat/commandChat.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAevD,MAAM,OAAO,kBAAkB;IAE7B,KAAK,CAAC,aAAa,CAAC,KAAmB;QACrC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAErC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAGvD,OAAO;YACL,MAAM,EAAE,SAAS,CAAC,OAAO,IAAI,OAAO;YACpC,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,SAAS;YACT,IAAI,EAAE,SAAS,CAAC,IAAI;SACrB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { CommandChatService, commandChatService } from './commandChat.service.js';
2
+ export type { CommandInput, CommandResult } from './commandChat.service.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/commandChat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAClF,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { CommandChatService, commandChatService } from './commandChat.service.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/commandChat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -92,6 +92,7 @@ export declare class WebService {
92
92
  private handleStop;
93
93
  private handleChat;
94
94
  broadcast(message: any): void;
95
+ private handleTerminalWs;
95
96
  getApp(): Express;
96
97
  }
97
98
  //# sourceMappingURL=web.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"web.service.d.ts","sourceRoot":"","sources":["../../src/web/web.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAgB,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAqB9D;;;;;;;;GAQG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,gBAAgB,CAA2C;IAEnE;;;;;;;;;;OAUG;gBACS,IAAI,GAAE,MAAc;IAOhC;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,eAAe;IAWvB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,WAAW;IAuInB;;;;;;;;;;;;OAYG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YA0Gd,eAAe;IAkB7B,OAAO,CAAC,UAAU;YAWJ,UAAU;IAqGjB,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IASpC,MAAM,IAAI,OAAO;CAGlB"}
1
+ {"version":3,"file":"web.service.d.ts","sourceRoot":"","sources":["../../src/web/web.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAgB,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAsB9D;;;;;;;;GAQG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,gBAAgB,CAA2C;IAEnE;;;;;;;;;;OAUG;gBACS,IAAI,GAAE,MAAc;IAOhC;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,eAAe;IAWvB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,WAAW;IAuInB;;;;;;;;;;;;OAYG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAsHd,eAAe;IAkB7B,OAAO,CAAC,UAAU;YAWJ,UAAU;IA8FjB,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IASpC,OAAO,CAAC,gBAAgB;IAuDxB,MAAM,IAAI,OAAO;CAGlB"}
@@ -28,10 +28,10 @@ const __filename = fileURLToPath(import.meta.url);
28
28
  const __dirname = path.dirname(__filename);
29
29
  const packageRoot = path.resolve(__dirname, '..', '..');
30
30
  import { dbService } from '../modules/db/db.service.js';
31
- import { aiService } from '../modules/ai/index.js';
32
31
  import { sessionService } from '../modules/session/index.js';
33
- import { memoryService } from '../modules/memory/index.js';
34
- import { configService } from '../modules/config/config.service.js';
32
+ import { terminalService } from '../modules/terminal/index.js';
33
+ import { codeChatService } from '../services/codeChat/index.js';
34
+ import { commandChatService } from '../services/commandChat/index.js';
35
35
  /**
36
36
  * WebService 类
37
37
  *
@@ -245,10 +245,18 @@ npm run dev
245
245
  */
246
246
  async start() {
247
247
  await dbService.init();
248
+ const { schedulerService } = await import('../modules/scheduler/index.js');
249
+ schedulerService.init();
248
250
  return new Promise((resolve, reject) => {
249
251
  this.server = http.createServer(this.app);
250
252
  this.wss = new WebSocketServer({ server: this.server });
251
- this.wss.on('connection', (ws) => {
253
+ this.wss.on('connection', (ws, req) => {
254
+ const url = req.url || '';
255
+ if (url.startsWith('/ws/terminal/')) {
256
+ const sessionId = url.replace('/ws/terminal/', '');
257
+ this.handleTerminalWs(ws, sessionId);
258
+ return;
259
+ }
252
260
  this.wsClients.add(ws);
253
261
  ws.send(JSON.stringify({ type: 'connected', message: 'WebSocket connected' }));
254
262
  ws.on('message', async (data) => {
@@ -306,10 +314,12 @@ npm run dev
306
314
  * - 如果 3 秒内未正常关闭,强制退出进程
307
315
  * - 防止服务挂起无法退出
308
316
  */
309
- const shutdown = () => {
317
+ const shutdown = async () => {
310
318
  console.log('\n正在关闭服务...');
311
319
  this.wss?.close();
312
- this.server?.close(() => {
320
+ this.server?.close(async () => {
321
+ const { schedulerService } = await import('../modules/scheduler/index.js');
322
+ schedulerService.shutdown();
313
323
  dbService.close();
314
324
  console.log('服务已关闭');
315
325
  process.exit(0);
@@ -381,56 +391,54 @@ npm run dev
381
391
  sessionService.switchTo(session.id);
382
392
  ws.send(JSON.stringify({ type: 'session', data: { sessionId: session.id } }));
383
393
  console.log('[WebSocket] Chat message:', message);
384
- console.log('[handleChat] calling chatWithTools, sessionId:', session.id, 'message:', message.substring(0, 20));
385
- const result = await aiService.chatWithTools(message, {
386
- sessionId: session.id,
387
- projectPath: session.projectPath || undefined,
388
- memoryService,
389
- abortSignal: abortController.signal,
390
- onStep: (step, iteration) => {
391
- const actions = (step.actions || []).map((a) => ({
392
- actionName: a.actionName,
393
- input: typeof a.actionInput === 'string'
394
- ? a.actionInput
395
- : JSON.stringify(a.actionInput),
396
- }));
397
- const stepData = {
398
- iteration,
399
- thought: step.thought,
400
- actions,
401
- success: step.observation && !step.observation.error,
402
- };
403
- ws.send(JSON.stringify({ type: 'step', data: stepData }));
404
- if (actions.some((a) => a.actionName === 'todowrite') && step.observation?.metadata?.todos) {
405
- const todos = step.observation.metadata.todos;
406
- const formattedTodos = todos.map((t) => ({
407
- name: t.content || t.name || '',
408
- status: t.status || 'pending'
409
- }));
410
- ws.send(JSON.stringify({ type: 'todos', data: { todos: formattedTodos } }));
394
+ if (message.trim().startsWith('/')) {
395
+ const result = await commandChatService.handleCommand({
396
+ message,
397
+ sessionId: session.id,
398
+ });
399
+ ws.send(JSON.stringify({ type: 'command', data: result }));
400
+ ws.send(JSON.stringify({
401
+ type: 'done',
402
+ data: {
403
+ response: result.answer,
404
+ success: result.success,
405
+ commandData: result.data,
411
406
  }
412
- },
413
- });
414
- const lastStep = result.steps[result.steps.length - 1];
415
- const lastThought = lastStep && 'thought' in lastStep ? lastStep.thought : undefined;
416
- const providerConfig = configService.getDefaultProvider();
417
- const models = providerConfig ? configService.getModels(providerConfig.id) : [];
418
- const defaultModel = models.find(m => m.enabled) || { name: 'gpt-4' };
419
- ws.send(JSON.stringify({
420
- type: 'done',
421
- data: {
407
+ }));
408
+ return;
409
+ }
410
+ else {
411
+ const result = await codeChatService.handleChat({
412
+ message,
422
413
  sessionId: session.id,
423
- response: result.answer || lastThought,
424
- iterations: result.iterations,
425
- success: result.success,
426
- modelName: defaultModel?.name || providerConfig?.name || 'unknown',
427
- usage: result.usage ? {
428
- promptTokens: result.usage.promptTokens,
429
- completionTokens: result.usage.completionTokens,
430
- totalTokens: result.usage.totalTokens,
431
- } : undefined,
432
- }
433
- }));
414
+ projectPath: session.projectPath ?? undefined,
415
+ abortSignal: abortController.signal,
416
+ onStep: (step, iteration, usage) => {
417
+ ws.send(JSON.stringify({ type: 'step', data: { ...step, iteration, usage: usage ? {
418
+ promptTokens: usage.promptTokens,
419
+ completionTokens: usage.completionTokens,
420
+ totalTokens: usage.totalTokens,
421
+ } : undefined } }));
422
+ },
423
+ onCompact: (info) => {
424
+ ws.send(JSON.stringify({ type: 'compact', data: info }));
425
+ },
426
+ });
427
+ ws.send(JSON.stringify({
428
+ type: 'done',
429
+ data: {
430
+ sessionId: session.id,
431
+ response: result.answer,
432
+ iterations: result.iterations,
433
+ success: result.success,
434
+ usage: result.usage ? {
435
+ promptTokens: result.usage.promptTokens,
436
+ completionTokens: result.usage.completionTokens,
437
+ totalTokens: result.usage.totalTokens,
438
+ } : undefined,
439
+ }
440
+ }));
441
+ }
434
442
  }
435
443
  catch (error) {
436
444
  const errorMsg = error instanceof Error ? error.message : 'Unknown error';
@@ -462,6 +470,51 @@ npm run dev
462
470
  }
463
471
  });
464
472
  }
473
+ handleTerminalWs(ws, sessionId) {
474
+ if (!terminalService.isSessionAlive(sessionId)) {
475
+ ws.send(JSON.stringify({ type: 'error', message: 'Terminal session not found' }));
476
+ ws.close();
477
+ return;
478
+ }
479
+ const platform = terminalService.getPlatform(sessionId);
480
+ ws.send(JSON.stringify({ type: 'platform', data: { platform } }));
481
+ terminalService.setCallbacks(sessionId, (data) => {
482
+ if (ws.readyState === WebSocket.OPEN) {
483
+ ws.send(JSON.stringify({ type: 'output', data }));
484
+ }
485
+ }, (code) => {
486
+ if (ws.readyState === WebSocket.OPEN) {
487
+ ws.send(JSON.stringify({ type: 'exit', code }));
488
+ }
489
+ });
490
+ ws.on('message', (data) => {
491
+ try {
492
+ const msg = JSON.parse(data.toString());
493
+ const { type, data: msgData } = msg;
494
+ switch (type) {
495
+ case 'input':
496
+ terminalService.write(sessionId, msgData);
497
+ break;
498
+ case 'resize':
499
+ terminalService.resize(sessionId, msgData.cols, msgData.rows);
500
+ break;
501
+ case 'close':
502
+ terminalService.deleteSession(sessionId);
503
+ ws.close();
504
+ break;
505
+ }
506
+ }
507
+ catch (e) {
508
+ ws.send(JSON.stringify({ type: 'error', message: 'Invalid message format' }));
509
+ }
510
+ });
511
+ ws.on('close', () => {
512
+ console.log(`Terminal WebSocket [${sessionId}] closed`);
513
+ });
514
+ ws.on('error', (err) => {
515
+ console.error(`Terminal WebSocket [${sessionId}] error:`, err);
516
+ });
517
+ }
465
518
  getApp() {
466
519
  return this.app;
467
520
  }
@@ -1 +1 @@
1
- {"version":3,"file":"web.service.js","sourceRoot":"","sources":["../../src/web/web.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web.service.js","sourceRoot":"","sources":["../../src/web/web.service.ts"],"names":[],"mappings":"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"}