tianxincode 1.0.12 → 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 (217) hide show
  1. package/dist/api/chat.routes.d.ts.map +1 -1
  2. package/dist/api/chat.routes.js +41 -190
  3. package/dist/api/chat.routes.js.map +1 -1
  4. package/dist/api/db.routes.js +8 -4
  5. package/dist/api/db.routes.js.map +1 -1
  6. package/dist/api/email.routes.d.ts +2 -0
  7. package/dist/api/email.routes.d.ts.map +1 -0
  8. package/dist/api/email.routes.js +78 -0
  9. package/dist/api/email.routes.js.map +1 -0
  10. package/dist/api/index.d.ts +1 -1
  11. package/dist/api/index.d.ts.map +1 -1
  12. package/dist/api/index.js +4 -1
  13. package/dist/api/index.js.map +1 -1
  14. package/dist/api/scheduler.routes.d.ts +2 -0
  15. package/dist/api/scheduler.routes.d.ts.map +1 -0
  16. package/dist/api/scheduler.routes.js +127 -0
  17. package/dist/api/scheduler.routes.js.map +1 -0
  18. package/dist/cli/commands.js +5 -1
  19. package/dist/cli/commands.js.map +1 -1
  20. package/dist/components/App.d.ts.map +1 -1
  21. package/dist/components/App.js +125 -100
  22. package/dist/components/App.js.map +1 -1
  23. package/dist/config/tx.config.d.ts +0 -1
  24. package/dist/config/tx.config.d.ts.map +1 -1
  25. package/dist/config/tx.config.js +1 -1
  26. package/dist/config/tx.config.js.map +1 -1
  27. package/dist/modules/ai/agents/chat/agent_tool.d.ts +2 -0
  28. package/dist/modules/ai/agents/chat/agent_tool.d.ts.map +1 -0
  29. package/dist/modules/ai/agents/chat/agent_tool.js +15 -0
  30. package/dist/modules/ai/agents/chat/agent_tool.js.map +1 -0
  31. package/dist/modules/ai/agents/chat/chat.agent.d.ts +32 -0
  32. package/dist/modules/ai/agents/chat/chat.agent.d.ts.map +1 -0
  33. package/dist/modules/ai/agents/chat/chat.agent.js +255 -0
  34. package/dist/modules/ai/agents/chat/chat.agent.js.map +1 -0
  35. package/dist/modules/ai/agents/chat/prompts/role.txt +31 -0
  36. package/dist/modules/ai/agents/code/agent_tool.d.ts +2 -0
  37. package/dist/modules/ai/agents/code/agent_tool.d.ts.map +1 -0
  38. package/dist/modules/ai/agents/code/agent_tool.js +17 -0
  39. package/dist/modules/ai/agents/code/agent_tool.js.map +1 -0
  40. package/dist/modules/ai/agents/code/code.agent.d.ts +32 -0
  41. package/dist/modules/ai/agents/code/code.agent.d.ts.map +1 -0
  42. package/dist/modules/ai/agents/code/code.agent.js +255 -0
  43. package/dist/modules/ai/agents/code/code.agent.js.map +1 -0
  44. package/dist/modules/ai/agents/code/prompts/role.txt +51 -0
  45. package/dist/modules/ai/agents/index.d.ts +7 -0
  46. package/dist/modules/ai/agents/index.d.ts.map +1 -0
  47. package/dist/modules/ai/agents/index.js +7 -0
  48. package/dist/modules/ai/agents/index.js.map +1 -0
  49. package/dist/modules/ai/agents/task/agent_tool.d.ts +2 -0
  50. package/dist/modules/ai/agents/task/agent_tool.d.ts.map +1 -0
  51. package/dist/modules/ai/agents/task/agent_tool.js +14 -0
  52. package/dist/modules/ai/agents/task/agent_tool.js.map +1 -0
  53. package/dist/modules/ai/agents/task/prompts/role.txt +51 -0
  54. package/dist/modules/ai/agents/task/task.agent.d.ts +31 -0
  55. package/dist/modules/ai/agents/task/task.agent.d.ts.map +1 -0
  56. package/dist/modules/ai/agents/task/task.agent.js +226 -0
  57. package/dist/modules/ai/agents/task/task.agent.js.map +1 -0
  58. package/dist/modules/ai/ai.service.d.ts +12 -18
  59. package/dist/modules/ai/ai.service.d.ts.map +1 -1
  60. package/dist/modules/ai/ai.service.js +29 -85
  61. package/dist/modules/ai/ai.service.js.map +1 -1
  62. package/dist/modules/ai/ai.types.d.ts +8 -5
  63. package/dist/modules/ai/ai.types.d.ts.map +1 -1
  64. package/dist/modules/ai/index.d.ts +1 -3
  65. package/dist/modules/ai/index.d.ts.map +1 -1
  66. package/dist/modules/ai/index.js +0 -2
  67. package/dist/modules/ai/index.js.map +1 -1
  68. package/dist/modules/ai/openai.provider.d.ts.map +1 -1
  69. package/dist/modules/ai/openai.provider.js +3 -0
  70. package/dist/modules/ai/openai.provider.js.map +1 -1
  71. package/dist/modules/ai/provider/base.d.ts +5 -0
  72. package/dist/modules/ai/provider/base.d.ts.map +1 -1
  73. package/dist/modules/ai/provider/openai/openai-agent.d.ts +8 -0
  74. package/dist/modules/ai/provider/openai/openai-agent.d.ts.map +1 -1
  75. package/dist/modules/ai/provider/openai/openai-agent.js +48 -4
  76. package/dist/modules/ai/provider/openai/openai-agent.js.map +1 -1
  77. package/dist/modules/ai/summarizer/summarizer.prompts.d.ts +1 -1
  78. package/dist/modules/ai/summarizer/summarizer.prompts.d.ts.map +1 -1
  79. package/dist/modules/ai/summarizer/summarizer.prompts.js +19 -19
  80. package/dist/modules/ai/summarizer/summarizer.prompts.js.map +1 -1
  81. package/dist/modules/ai/summarizer/summarizer.service.d.ts.map +1 -1
  82. package/dist/modules/ai/summarizer/summarizer.service.js +33 -7
  83. package/dist/modules/ai/summarizer/summarizer.service.js.map +1 -1
  84. package/dist/modules/ai/summarizer/summarizer.types.d.ts +1 -0
  85. package/dist/modules/ai/summarizer/summarizer.types.d.ts.map +1 -1
  86. package/dist/modules/db/db.service.d.ts +3 -0
  87. package/dist/modules/db/db.service.d.ts.map +1 -1
  88. package/dist/modules/db/db.service.js +79 -0
  89. package/dist/modules/db/db.service.js.map +1 -1
  90. package/dist/modules/email/email.config.repository.d.ts +14 -0
  91. package/dist/modules/email/email.config.repository.d.ts.map +1 -0
  92. package/dist/modules/email/email.config.repository.js +70 -0
  93. package/dist/modules/email/email.config.repository.js.map +1 -0
  94. package/dist/modules/email/email.service.d.ts +14 -0
  95. package/dist/modules/email/email.service.d.ts.map +1 -0
  96. package/dist/modules/email/email.service.js +54 -0
  97. package/dist/modules/email/email.service.js.map +1 -0
  98. package/dist/modules/email/email.types.d.ts +20 -0
  99. package/dist/modules/email/email.types.d.ts.map +1 -0
  100. package/dist/modules/email/email.types.js +2 -0
  101. package/dist/modules/email/email.types.js.map +1 -0
  102. package/dist/modules/email/index.d.ts +4 -0
  103. package/dist/modules/email/index.d.ts.map +1 -0
  104. package/dist/modules/email/index.js +3 -0
  105. package/dist/modules/email/index.js.map +1 -0
  106. package/dist/modules/gateway/adapters/dingtalk.adapter.d.ts.map +1 -1
  107. package/dist/modules/gateway/adapters/dingtalk.adapter.js +10 -2
  108. package/dist/modules/gateway/adapters/dingtalk.adapter.js.map +1 -1
  109. package/dist/modules/gateway/gateway.service.d.ts +1 -0
  110. package/dist/modules/gateway/gateway.service.d.ts.map +1 -1
  111. package/dist/modules/gateway/gateway.service.js +40 -15
  112. package/dist/modules/gateway/gateway.service.js.map +1 -1
  113. package/dist/modules/gateway/index.d.ts +1 -1
  114. package/dist/modules/gateway/index.d.ts.map +1 -1
  115. package/dist/modules/gateway/index.js +0 -1
  116. package/dist/modules/gateway/index.js.map +1 -1
  117. package/dist/modules/scheduler/index.d.ts +4 -0
  118. package/dist/modules/scheduler/index.d.ts.map +1 -0
  119. package/dist/modules/scheduler/index.js +4 -0
  120. package/dist/modules/scheduler/index.js.map +1 -0
  121. package/dist/modules/scheduler/notify.service.d.ts +12 -0
  122. package/dist/modules/scheduler/notify.service.d.ts.map +1 -0
  123. package/dist/modules/scheduler/notify.service.js +20 -0
  124. package/dist/modules/scheduler/notify.service.js.map +1 -0
  125. package/dist/modules/scheduler/scheduler.service.d.ts +35 -0
  126. package/dist/modules/scheduler/scheduler.service.d.ts.map +1 -0
  127. package/dist/modules/scheduler/scheduler.service.js +258 -0
  128. package/dist/modules/scheduler/scheduler.service.js.map +1 -0
  129. package/dist/modules/scheduler/task-log.service.d.ts +20 -0
  130. package/dist/modules/scheduler/task-log.service.d.ts.map +1 -0
  131. package/dist/modules/scheduler/task-log.service.js +44 -0
  132. package/dist/modules/scheduler/task-log.service.js.map +1 -0
  133. package/dist/modules/tools/index.d.ts +0 -1
  134. package/dist/modules/tools/index.d.ts.map +1 -1
  135. package/dist/modules/tools/index.js +0 -1
  136. package/dist/modules/tools/index.js.map +1 -1
  137. package/dist/modules/tools/provider/email.tool.d.ts +3 -0
  138. package/dist/modules/tools/provider/email.tool.d.ts.map +1 -0
  139. package/dist/modules/tools/provider/email.tool.js +50 -0
  140. package/dist/modules/tools/provider/email.tool.js.map +1 -0
  141. package/dist/modules/tools/provider/index.d.ts.map +1 -1
  142. package/dist/modules/tools/provider/index.js +2 -0
  143. package/dist/modules/tools/provider/index.js.map +1 -1
  144. package/dist/modules/tools/tool.service.d.ts +1 -1
  145. package/dist/modules/tools/tool.service.js +4 -4
  146. package/dist/modules/tools/tool.service.js.map +1 -1
  147. package/dist/repository/aiLog.repository.d.ts +17 -0
  148. package/dist/repository/aiLog.repository.d.ts.map +1 -0
  149. package/dist/repository/aiLog.repository.js +39 -0
  150. package/dist/repository/aiLog.repository.js.map +1 -0
  151. package/dist/repository/base.repository.d.ts +6 -0
  152. package/dist/repository/base.repository.d.ts.map +1 -0
  153. package/dist/repository/base.repository.js +14 -0
  154. package/dist/repository/base.repository.js.map +1 -0
  155. package/dist/repository/index.d.ts +5 -0
  156. package/dist/repository/index.d.ts.map +1 -0
  157. package/dist/repository/index.js +5 -0
  158. package/dist/repository/index.js.map +1 -0
  159. package/dist/repository/message.repository.d.ts +9 -0
  160. package/dist/repository/message.repository.d.ts.map +1 -0
  161. package/dist/repository/message.repository.js +35 -0
  162. package/dist/repository/message.repository.js.map +1 -0
  163. package/dist/repository/session.repository.d.ts +15 -0
  164. package/dist/repository/session.repository.d.ts.map +1 -0
  165. package/dist/repository/session.repository.js +33 -0
  166. package/dist/repository/session.repository.js.map +1 -0
  167. package/dist/services/codeChat/codeChat.service.d.ts +7 -0
  168. package/dist/services/codeChat/codeChat.service.d.ts.map +1 -0
  169. package/dist/services/codeChat/codeChat.service.js +53 -0
  170. package/dist/services/codeChat/codeChat.service.js.map +1 -0
  171. package/dist/services/codeChat/codeChat.types.d.ts +47 -0
  172. package/dist/services/codeChat/codeChat.types.d.ts.map +1 -0
  173. package/dist/services/codeChat/codeChat.types.js +2 -0
  174. package/dist/services/codeChat/codeChat.types.js.map +1 -0
  175. package/dist/services/codeChat/index.d.ts +5 -0
  176. package/dist/services/codeChat/index.d.ts.map +1 -0
  177. package/dist/services/codeChat/index.js +4 -0
  178. package/dist/services/codeChat/index.js.map +1 -0
  179. package/dist/services/commandChat/commandChat.service.d.ts +15 -0
  180. package/dist/services/commandChat/commandChat.service.d.ts.map +1 -0
  181. package/dist/services/commandChat/commandChat.service.js +18 -0
  182. package/dist/services/commandChat/commandChat.service.js.map +1 -0
  183. package/dist/services/commandChat/index.d.ts +3 -0
  184. package/dist/services/commandChat/index.d.ts.map +1 -0
  185. package/dist/services/commandChat/index.js +2 -0
  186. package/dist/services/commandChat/index.js.map +1 -0
  187. package/dist/web/web.service.d.ts.map +1 -1
  188. package/dist/web/web.service.js +54 -53
  189. package/dist/web/web.service.js.map +1 -1
  190. package/package.json +7 -4
  191. package/test-email.ts +95 -0
  192. package/web/dist/assets/{AiLogsView-CkR1Rf3w.js → AiLogsView-D_SQ6qo4.js} +1 -1
  193. package/web/dist/assets/DevWorkflowView-C5VnPngb.css +1 -0
  194. package/web/dist/assets/DevWorkflowView-iHAv9LC0.js +16 -0
  195. package/web/dist/assets/Layout-CQhbIJxB.js +1 -0
  196. package/web/dist/assets/TasksView-B9B2H3-S.js +1 -0
  197. package/web/dist/assets/{TerminalView-CGiX_SuM.js → TerminalView-BKhdi5UF.js} +1 -1
  198. package/web/dist/assets/{cssMode-QeHL56YK.js → cssMode-C_gwipb0.js} +1 -1
  199. package/web/dist/assets/{freemarker2-CfYjPxfi.js → freemarker2-WCA_pR0J.js} +1 -1
  200. package/web/dist/assets/{handlebars-DWU9KEQY.js → handlebars-fzVGzXHj.js} +1 -1
  201. package/web/dist/assets/{html-Dvf7uUUB.js → html-C4Rga6DD.js} +1 -1
  202. package/web/dist/assets/{htmlMode-B9G1cqFk.js → htmlMode-BvrJ57rW.js} +1 -1
  203. package/web/dist/assets/{index-CyGO9NlX.js → index-9RP8PAfk.js} +122 -122
  204. package/web/dist/assets/{index-D-tXayLD.css → index-BhjlwJCp.css} +1 -1
  205. package/web/dist/assets/{javascript-bd5Rf1PP.js → javascript-cXKyuP98.js} +1 -1
  206. package/web/dist/assets/{jsonMode-D97ptp7-.js → jsonMode-Q4CMzwiX.js} +1 -1
  207. package/web/dist/assets/{liquid-CO2YVnLj.js → liquid-CrbU0gmK.js} +1 -1
  208. package/web/dist/assets/{mdx-B0lKz4Vr.js → mdx-D72Dcs66.js} +1 -1
  209. package/web/dist/assets/{python-Ck0xkgdT.js → python-DPqkZ_Xm.js} +1 -1
  210. package/web/dist/assets/{razor-C7FA8OzO.js → razor-DknXaqXN.js} +1 -1
  211. package/web/dist/assets/{tsMode-DuE2VZjC.js → tsMode-DZAV3Wgo.js} +1 -1
  212. package/web/dist/assets/{typescript-Bq67rklz.js → typescript-DenKTmW3.js} +1 -1
  213. package/web/dist/assets/{xml-C_3yGkhL.js → xml-C_uqJta0.js} +1 -1
  214. package/web/dist/assets/{yaml-lwR2a5ur.js → yaml-vwb3U7d7.js} +1 -1
  215. package/web/dist/index.html +2 -2
  216. 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
  217. package/web/dist/assets/Layout-CB8ZNi2s.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aiLog.repository.js","sourceRoot":"","sources":["../../src/repository/aiLog.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,OAAO,eAAgB,SAAQ,cAAc;IAEjD,KAAK,CAAC,IAAI,CAAC,GASV;QACC,MAAM,GAAG,GAAG;;;;KAIX,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YACtB,GAAG,CAAC,SAAS;YACb,GAAG,CAAC,SAAS;YACb,GAAG,CAAC,WAAW;YACf,GAAG,CAAC,YAAY;YAChB,GAAG,CAAC,WAAW;YACf,GAAG,CAAC,OAAO;YACX,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnB,GAAG,CAAC,KAAK,IAAI,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,MAAM,GAAG,GAAG,qEAAqE,CAAC;QAClF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB;QAC9B,MAAM,GAAG,GAAG;;;;;;;;;KASX,CAAC;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACzC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare class BaseRepository {
2
+ protected execute(sql: string, params?: unknown[]): Promise<void>;
3
+ protected query<T>(sql: string, params?: unknown[]): Promise<T[]>;
4
+ protected queryOne<T>(sql: string, params?: unknown[]): Promise<T | null>;
5
+ }
6
+ //# sourceMappingURL=base.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.repository.d.ts","sourceRoot":"","sources":["../../src/repository/base.repository.ts"],"names":[],"mappings":"AAEA,qBAAa,cAAc;cAET,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;cAI3D,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;cAI3D,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;CAIpF"}
@@ -0,0 +1,14 @@
1
+ import { dbService } from '../modules/db/db.service.js';
2
+ export class BaseRepository {
3
+ async execute(sql, params = []) {
4
+ dbService.run(sql, params);
5
+ }
6
+ async query(sql, params = []) {
7
+ return dbService.all(sql, params);
8
+ }
9
+ async queryOne(sql, params = []) {
10
+ const results = await this.query(sql, params);
11
+ return results[0] || null;
12
+ }
13
+ }
14
+ //# sourceMappingURL=base.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.repository.js","sourceRoot":"","sources":["../../src/repository/base.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,MAAM,OAAO,cAAc;IAEf,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,SAAoB,EAAE;QACzD,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,KAAK,CAAI,GAAW,EAAE,SAAoB,EAAE;QAC1D,OAAO,SAAS,CAAC,GAAG,CAAI,GAAG,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAES,KAAK,CAAC,QAAQ,CAAI,GAAW,EAAE,SAAoB,EAAE;QAC7D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAI,GAAG,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ export { BaseRepository } from './base.repository.js';
2
+ export { MessageRepository, messageRepository } from './message.repository.js';
3
+ export { SessionRepository, sessionRepository } from './session.repository.js';
4
+ export { AiLogRepository, aiLogRepository } from './aiLog.repository.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { BaseRepository } from './base.repository.js';
2
+ export { MessageRepository, messageRepository } from './message.repository.js';
3
+ export { SessionRepository, sessionRepository } from './session.repository.js';
4
+ export { AiLogRepository, aiLogRepository } from './aiLog.repository.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { BaseRepository } from './base.repository.js';
2
+ export declare class MessageRepository extends BaseRepository {
3
+ save(sessionId: string, role: string, content: string): Promise<void>;
4
+ getHistory(sessionId: string, limit?: number): Promise<any[]>;
5
+ getBySessionId(sessionId: string): Promise<any[]>;
6
+ deleteBySessionId(sessionId: string): Promise<void>;
7
+ }
8
+ export declare const messageRepository: MessageRepository;
9
+ //# sourceMappingURL=message.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.repository.d.ts","sourceRoot":"","sources":["../../src/repository/message.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,qBAAa,iBAAkB,SAAQ,cAAc;IAE7C,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAW1D,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAUjD,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAI1D;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
@@ -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"}
@@ -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;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;YAkHd,eAAe;IAkB7B,OAAO,CAAC,UAAU;YAWJ,UAAU;IAqGjB,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IASpC,OAAO,CAAC,gBAAgB;IAuDxB,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,11 +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';
35
32
  import { terminalService } from '../modules/terminal/index.js';
33
+ import { codeChatService } from '../services/codeChat/index.js';
34
+ import { commandChatService } from '../services/commandChat/index.js';
36
35
  /**
37
36
  * WebService 类
38
37
  *
@@ -246,6 +245,8 @@ npm run dev
246
245
  */
247
246
  async start() {
248
247
  await dbService.init();
248
+ const { schedulerService } = await import('../modules/scheduler/index.js');
249
+ schedulerService.init();
249
250
  return new Promise((resolve, reject) => {
250
251
  this.server = http.createServer(this.app);
251
252
  this.wss = new WebSocketServer({ server: this.server });
@@ -313,10 +314,12 @@ npm run dev
313
314
  * - 如果 3 秒内未正常关闭,强制退出进程
314
315
  * - 防止服务挂起无法退出
315
316
  */
316
- const shutdown = () => {
317
+ const shutdown = async () => {
317
318
  console.log('\n正在关闭服务...');
318
319
  this.wss?.close();
319
- this.server?.close(() => {
320
+ this.server?.close(async () => {
321
+ const { schedulerService } = await import('../modules/scheduler/index.js');
322
+ schedulerService.shutdown();
320
323
  dbService.close();
321
324
  console.log('服务已关闭');
322
325
  process.exit(0);
@@ -388,56 +391,54 @@ npm run dev
388
391
  sessionService.switchTo(session.id);
389
392
  ws.send(JSON.stringify({ type: 'session', data: { sessionId: session.id } }));
390
393
  console.log('[WebSocket] Chat message:', message);
391
- console.log('[handleChat] calling chatWithTools, sessionId:', session.id, 'message:', message.substring(0, 20));
392
- const result = await aiService.chatWithTools(message, {
393
- sessionId: session.id,
394
- projectPath: session.projectPath || undefined,
395
- memoryService,
396
- abortSignal: abortController.signal,
397
- onStep: (step, iteration) => {
398
- const actions = (step.actions || []).map((a) => ({
399
- actionName: a.actionName,
400
- input: typeof a.actionInput === 'string'
401
- ? a.actionInput
402
- : JSON.stringify(a.actionInput),
403
- }));
404
- const stepData = {
405
- iteration,
406
- thought: step.thought,
407
- actions,
408
- success: step.observation && !step.observation.error,
409
- };
410
- ws.send(JSON.stringify({ type: 'step', data: stepData }));
411
- if (actions.some((a) => a.actionName === 'todowrite') && step.observation?.metadata?.todos) {
412
- const todos = step.observation.metadata.todos;
413
- const formattedTodos = todos.map((t) => ({
414
- name: t.content || t.name || '',
415
- status: t.status || 'pending'
416
- }));
417
- 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,
418
406
  }
419
- },
420
- });
421
- const lastStep = result.steps[result.steps.length - 1];
422
- const lastThought = lastStep && 'thought' in lastStep ? lastStep.thought : undefined;
423
- const providerConfig = configService.getDefaultProvider();
424
- const models = providerConfig ? configService.getModels(providerConfig.id) : [];
425
- const defaultModel = models.find(m => m.enabled) || { name: 'gpt-4' };
426
- ws.send(JSON.stringify({
427
- type: 'done',
428
- data: {
407
+ }));
408
+ return;
409
+ }
410
+ else {
411
+ const result = await codeChatService.handleChat({
412
+ message,
429
413
  sessionId: session.id,
430
- response: result.answer || lastThought,
431
- iterations: result.iterations,
432
- success: result.success,
433
- modelName: defaultModel?.name || providerConfig?.name || 'unknown',
434
- usage: result.usage ? {
435
- promptTokens: result.usage.promptTokens,
436
- completionTokens: result.usage.completionTokens,
437
- totalTokens: result.usage.totalTokens,
438
- } : undefined,
439
- }
440
- }));
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
+ }
441
442
  }
442
443
  catch (error) {
443
444
  const errorMsg = error instanceof Error ? error.message : 'Unknown error';
@@ -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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"}